0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

XRT_Kernel與XRT_IP介紹

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 作者:Yang Chen ? 2022-07-04 11:09 ? 次閱讀

本文作者:賽靈思工程師 Yang Chen

從2020.2開始,XRT提供了新的Native API,以區(qū)別行業(yè)標(biāo)準(zhǔn)OpenCL API的,在FPGA加速應(yīng)用上,兩者都是可以使用的。XRT Native API的優(yōu)勢(shì)是更加契合FPGA加速應(yīng)用,而OpenCL的優(yōu)勢(shì)則是平臺(tái)通用性比較好。

XRT Native API里面有兩個(gè)API比較有意思,可能會(huì)產(chǎn)生混淆,一個(gè)是xrt_kernel,另一個(gè)是xrt_ip。IP這個(gè)概念,在FPGA中還是比較常用的,典型的就是IP catalog里面的IP,當(dāng)然這次講到的IP更傾向于custom IP,即用戶自定義IP(以下略作IP)。無論使用Vitis_hls, V++,Package_xo中哪種生成方法,最后生成的kernel的端口類型都是固定的,另外控制端口AXI_LITE的寄存器配置也是保持固定的(當(dāng)然會(huì)因參數(shù)數(shù)量不同而變化)。

截取以下網(wǎng)址-page 274 S_AXILITE Control Register Map作參考:

(https://www.xilinx.com/support/documentation/sw_manuals/xilinx2021_2/ug1399-vitis-hls.pdf )

97321a98-f21b-11ec-ba43-dac502259ad0.png

這些寄存器設(shè)置都是工具自動(dòng)生成的,用戶不需要進(jìn)行修改。具體這些信號(hào)是如何讓控制這些模塊的,以后有機(jī)會(huì)可以再講。那么如果有些需求是,我是一名RTL設(shè)計(jì)者,設(shè)計(jì)里面有Xilinx IP需要配置功能,我想用更多一點(diǎn)的寄存器空間作額外配置,現(xiàn)有的寄存器空間不夠,不能滿足我的要求:假設(shè),一個(gè)IP中內(nèi)嵌了一個(gè)axi_timer IP(截圖取自:https://www.xilinx.com/support/documentation/ip_documentation/axi_timer/v2_0/pg079-axi-timer.pdf page 12)

那么我該如何配置它呢?

97624f06-f21b-11ec-ba43-dac502259ad0.png

這時(shí),之前提到xrt_ip就可以派上用場(chǎng)了,用戶可以自己定制控制寄存器而不用受限于規(guī)定的control register map,當(dāng)然端口類型還是需要按照kernel的要求來設(shè)計(jì)。沿用上述的寄存器配置,我們可以額外地添加寄存器:

97785fe4-f21b-11ec-ba43-dac502259ad0.png

所以我們可以看到,kernel應(yīng)該算IP中的一個(gè)子集,只是IP的話更加的靈活些。但是由于IP控制寄存器配置的不固定,導(dǎo)致xrt無法自動(dòng)管理IP(不知道哪個(gè)寄存器代表的含義),所以只能提供了寄存器接口讓用戶自己訪問控制。從這方面來說,使用的便利性會(huì)降低,無論是IP的啟動(dòng)停止,還是寄存器配置都需要用戶來控制。相對(duì)來說,xrt_kernel匹配的set_arg,run,wait等操作,它能夠代替用戶做一些底層操作,更加地省時(shí)省力。

原文標(biāo)題:開發(fā)者分享|XRT Native API: XRT_Kernel & XRT_IP 介紹

文章出處:【微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21538

    瀏覽量

    600454
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5268

    瀏覽量

    119640
  • IP
    IP
    +關(guān)注

    關(guān)注

    5

    文章

    1579

    瀏覽量

    149138
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1464

    瀏覽量

    61670
  • Kernel
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    11108

原文標(biāo)題:開發(fā)者分享|XRT Native API: XRT_Kernel & XRT_IP 介紹

文章出處:【微信號(hào):gh_2d1c7e2d540e,微信公眾號(hào):XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    理解彈性IP與浮動(dòng)IP

    在云環(huán)境中,彈性IP和浮動(dòng)IP是兩個(gè)經(jīng)常出現(xiàn)的名詞。它們能夠幫助企業(yè)優(yōu)化資源配置,提高管理效率。接下來本文將詳細(xì)介紹彈性IP與浮動(dòng)IP的概念
    的頭像 發(fā)表于 08-29 16:16 ?201次閱讀

    動(dòng)態(tài)住宅IP的奧秘與科技魅力# IP代理

    IP
    jf_62215197
    發(fā)布于 :2024年08月14日 07:22:06

    如何使用代理IP轉(zhuǎn)換國(guó)外IP

    IP
    jf_62215197
    發(fā)布于 :2024年07月17日 07:33:17

    探索IP領(lǐng)域,玩轉(zhuǎn)IP代理,暢游海外

    IP
    jf_62215197
    發(fā)布于 :2024年06月18日 07:43:21

    介紹如何切換動(dòng)靜態(tài)IP方法 # 全球ip代理#靜態(tài)IP

    IP
    jf_62215197
    發(fā)布于 :2024年06月06日 08:45:01

    選擇合適的海外IP代理?#全球ip代理 #海外代理ip排行榜

    IP
    jf_62215197
    發(fā)布于 :2024年04月25日 06:44:36

    OpenVINO?協(xié)同Semantic Kernel:優(yōu)化大模型應(yīng)用性能新路徑

    作為主要面向 RAG 任務(wù)方向的框架,Semantic Kernel 可以簡(jiǎn)化大模型應(yīng)用開發(fā)過程,而在 RAG 任務(wù)中最常用的深度學(xué)習(xí)模型就是 Embedding 和 Text completion,分別實(shí)現(xiàn)文本的語義向量化和文本生成
    的頭像 發(fā)表于 03-08 10:41 ?561次閱讀
    OpenVINO?協(xié)同Semantic <b class='flag-5'>Kernel</b>:優(yōu)化大模型應(yīng)用性能新路徑

    OpenCL多Kernel并行計(jì)算結(jié)果討論分析

    : 第二次實(shí)驗(yàn)修改了Kernel的例化方式,main函數(shù)端使用計(jì)算單元名稱將連接相同的CU(對(duì)稱計(jì)算單元)整合到一組中,讓xrt自動(dòng)調(diào)度: `// std::vector<cl
    發(fā)表于 12-31 21:31

    kernel到android核心啟動(dòng)過程

    總結(jié)一個(gè)圖:kernel 到android核心啟動(dòng)過程 kernel鏡像執(zhí)行跳轉(zhuǎn)到start_kernel開始執(zhí)行,在rest_init會(huì)創(chuàng)建兩個(gè)kernel 進(jìn)程(線程),其分別是為
    的頭像 發(fā)表于 12-04 16:59 ?766次閱讀
    <b class='flag-5'>kernel</b>到android核心啟動(dòng)過程

    kernel的啟動(dòng)分為哪兩個(gè)階段

    kernel的啟動(dòng)主要分為兩個(gè)階段。 1、階段一 從入口跳轉(zhuǎn)到start_kernel之前的階段。 對(duì)應(yīng)代碼arch/arm/kernel/head.S中stext的實(shí)現(xiàn): ENTRY (stext
    的頭像 發(fā)表于 12-04 16:45 ?531次閱讀

    kernel日志寫入logd介紹

    kernel日志寫入logd介紹 通過logcat命令獲取kernel日志比較特殊,故作為一個(gè)例子進(jìn)行梳理。 2.3.1 整體流程 2.3.2 命令打印kernel日志 通過logca
    的頭像 發(fā)表于 11-23 17:11 ?554次閱讀
    <b class='flag-5'>kernel</b>日志寫入logd<b class='flag-5'>介紹</b>