在Vitis 統(tǒng)一軟件平臺(tái)中使用Alveo系列開(kāi)發(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. 打開(kāi)Vitis 2020.2,創(chuàng)建新的 Application Project
File -》 New -》 Application project
2. 選擇 xilinx_u200_qdma_201910_1 平臺(tái)
3. 選擇打開(kāi) Example Design “Vector Addition”
4.對(duì) 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. 說(shuō)明 Vitis_HLS是按照200Mhz的要求來(lái)綜合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階段,影響的是對(duì)Kernel做高級(jí)綜合的Vitis_HLS的目標(biāo)頻率,不影響Kernel合入平臺(tái)后的Implementation的目標(biāo)頻率;
選項(xiàng)“--kernel_frequency” 加在Link階段, 不會(huì)影響對(duì)Kernel做高級(jí)綜合的Vitis_HLS的默認(rèn)目標(biāo)時(shí)鐘頻率,但是可以設(shè)置Kernel合入平臺(tái)后的Implementation的目標(biāo)頻率
編輯:jq
-
Xilinx
+關(guān)注
關(guān)注
71文章
2155瀏覽量
120853 -
Link
+關(guān)注
關(guān)注
0文章
101瀏覽量
26898 -
代碼
+關(guān)注
關(guān)注
30文章
4723瀏覽量
68236
原文標(biāo)題:開(kāi)發(fā)者分享 | 如何在Vitis中設(shè)定Kernel 的頻率
文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論