在Vitis 統(tǒng)一軟件平臺(tái)中使用Alveo系列開發(fā)板設(shè)計(jì)加速Kernel時(shí),系統(tǒng)會(huì)自動(dòng)為Kernel的時(shí)鐘設(shè)置默認(rèn)頻率。
以 xilinx_u200_qdma_201910_1 平臺(tái)為例,在Vitis中選擇平臺(tái)時(shí)可以看到默認(rèn)的時(shí)鐘頻率是300Mhz和500Mhz.
在Vitis Application Acceleration Development Flow 中我們看到 --kernel_frequency 選項(xiàng)可以用于覆蓋默認(rèn)的 Kernel 頻率
(https://www.xilinx.com/html_docs/xilinx2020_2/vitis_doc/buildtargets1.html#ldh1504034328524)
那么 --kernel_frequency設(shè)置在Compile階段或者Link階段有什么區(qū)別呢?
我們以經(jīng)典 Example design“Vector Addition” 為例探索一下:
1. 打開Vitis 2020.2,創(chuàng)建新的 Application Project
File -》 New -》 Application project
2. 選擇 xilinx_u200_qdma_201910_1 平臺(tái)
3. 選擇打開 Example Design “Vector Addition”
4.對 Hardware Flow 在Compile階段設(shè)置“kernel_frequency” 為200MHz,然后編譯工程
注意:默認(rèn)的Kernel頻率只允許改小,不允許改大。
在log看到執(zhí)行的命令是:
v++ --target hw --compile --kernel_frequency 200 …
5. Compile Kernel 完成后可以在Compile Summary中看到“--kernel_frequency 200“ 已經(jīng)設(shè)置成功。
在Kernel Estimate報(bào)告中,可以看到,Target Clock已經(jīng)按要求設(shè)置成200Mhz. 說明 Vitis_HLS是按照200Mhz的要求來綜合Kernel的代碼的。
在Link Summary中可以看到,在把Kernel合入平臺(tái)后的Implementation中,目標(biāo)時(shí)鐘還是平臺(tái)默認(rèn)的300Mhz,而不是在Compile 階段設(shè)置的200Mhz.
同時(shí)我們也可以翻看Implemented Design的時(shí)序報(bào)告(Timing Summary)查看Kernel實(shí)際的時(shí)鐘要求:
clk_out1_pfm_top_clkwiz_kernel_0_1 {0.000 1.667} 3.333 300.000
6. 在Link階段加上“--kernel_frequency 100” 選項(xiàng)
在log看到執(zhí)行的命令是:
v++ --target hw --link -R2 --kernel_frequency 100 …
7. 完成Hardware Build之后,查看Summary,可以看到這時(shí)100Mhz Kernel 頻率的設(shè)置在整個(gè)Vitis Platform Link生效, 覆蓋默認(rèn)的300Mhz
和之前一樣翻看Implemented Design的時(shí)序報(bào)告(Timing Summary)查看Kernel實(shí)際的時(shí)鐘要求,kernel的目標(biāo)頻率已經(jīng)被正確修改了。
clk_out1_pfm_top_clkwiz_kernel_0_1 {0.000 5.000} 10.000 100.000
總結(jié):
選項(xiàng)“--kernel_frequency“ 加在Compile階段,影響的是對Kernel做高級綜合的Vitis_HLS的目標(biāo)頻率,不影響Kernel合入平臺(tái)后的Implementation的目標(biāo)頻率;
選項(xiàng)“--kernel_frequency” 加在Link階段, 不會(huì)影響對Kernel做高級綜合的Vitis_HLS的默認(rèn)目標(biāo)時(shí)鐘頻率,但是可以設(shè)置Kernel合入平臺(tái)后的Implementation的目標(biāo)頻率
編輯:jq
-
Xilinx
+關(guān)注
關(guān)注
73文章
2184瀏覽量
125210 -
Link
+關(guān)注
關(guān)注
0文章
103瀏覽量
27556 -
代碼
+關(guān)注
關(guān)注
30文章
4899瀏覽量
70634
原文標(biāo)題:開發(fā)者分享 | 如何在Vitis中設(shè)定Kernel 的頻率
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何在Unified IDE中創(chuàng)建視覺庫HLS組件

在低功耗藍(lán)牙產(chǎn)品開發(fā)的過程中,會(huì)涉及到一些參數(shù)的選擇和設(shè)定,這些參數(shù)是什么意思,該如何設(shè)定呢?(藍(lán)牙廣播)
STM32IDE如何設(shè)定代碼到ITCM中運(yùn)行?
使用AMD Vitis Unified IDE創(chuàng)建HLS組件

如何使用AMD Vitis HLS創(chuàng)建HLS IP

在DLP Composer(TM) 工具中,如何修改Actuator的信源頻率?
DLP660TE在生成4k畫面時(shí),抖動(dòng)頻率是否可以自行設(shè)定?
為什么要設(shè)定電機(jī)的服務(wù)系數(shù)?
使用AMD Vitis進(jìn)行嵌入式設(shè)計(jì)開發(fā)用戶指南

評論