從2020.2開始,XRT提供了新的Native API,以區(qū)別行業(yè)標準OpenCL API的,在FPGA加速應(yīng)用上,兩者都是可以使用的。XRT Native API的優(yōu)勢是更加契合FPGA加速應(yīng)用,而OpenCL的優(yōu)勢則是平臺通用性比較好。
XRT Native API里面有兩個API比較有意思,可能會產(chǎn)生混淆,一個是xrt_kernel,另一個是xrt_ip。IP這個概念,在FPGA中還是比較常用的,典型的就是IP catalog里面的IP,當(dāng)然這次講到的IP更傾向于custom IP,即用戶自定義IP(以下略作IP)。無論使用Vitis_hls, V++,Package_xo中哪種生成方法,最后生成的kernel的端口類型都是固定的,另外控制端口AXI_LITE的寄存器配置也是保持固定的(當(dāng)然會因參數(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 )

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

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

所以我們可以看到,kernel應(yīng)該算IP中的一個子集,只是IP的話更加的靈活些。但是由于IP控制寄存器配置的不固定,導(dǎo)致xrt無法自動管理IP(不知道哪個寄存器代表的含義),所以只能提供了寄存器接口讓用戶自己訪問控制。從這方面來說,使用的便利性會降低,無論是IP的啟動停止,還是寄存器配置都需要用戶來控制。相對來說,xrt_kernel匹配的set_arg,run,wait等操作,它能夠代替用戶做一些底層操作,更加地省時省力。
原文標題:開發(fā)者分享|XRT Native API: XRT_Kernel & XRT_IP 介紹
文章出處:【微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1660文章
22408瀏覽量
636201 -
寄存器
+關(guān)注
關(guān)注
31文章
5608瀏覽量
129957 -
IP
+關(guān)注
關(guān)注
5文章
1862瀏覽量
155809 -
API
+關(guān)注
關(guān)注
2文章
2368瀏覽量
66752 -
Kernel
+關(guān)注
關(guān)注
0文章
50瀏覽量
12074
原文標題:開發(fā)者分享|XRT Native API: XRT_Kernel & XRT_IP 介紹
文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
智多晶MCU硬核IP全面升級|CM3和STAR新特性介紹
深入剖析ARM64內(nèi)核關(guān)鍵文件:kernel-6.1/arch/arm64/kernel/head.S
請問InConnect 是否可以用實際 IP 而不是用虛擬 IP 映射實際IP ?
【HZ-RK3568開發(fā)板免費體驗】3、開啟Linux Kernel RT功能
IP6802 5W方案
IP6825+IP5306充電寶:重新定義便攜電源的無線充電體驗
智多晶eSPI_Slave IP介紹
燦芯半導(dǎo)體受邀參加IP-SoC Silicon Valley 2025
智多晶FIFO_Generator IP介紹
智多晶LPC_Controller IP介紹
智多晶XSTC_8B10B IP介紹
快問快答:防護等級IP68和IP67的有什么區(qū)別?如何有效進行防水等級測試
博世GTM IP模塊架構(gòu)介紹
XRT_Kernel與XRT_IP介紹
評論