取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

如何在Vitis中设定Kernel 的频率

yolanda
Moderator
Moderator
0 0 183

BY Hong Han

注意:本论坛博客所有内容皆来源于Xilinx工程师,如需转载,请写明出处作者及赛灵思论坛链接并发邮件至cncrc@xilinx.com,未经Xilinx及著作权人许可,禁止用作商业用途 

 

Vitis 统一软件平台中使用Alveo系列开发板设计加速Kernel时,系统会自动为Kernel的时钟设置默认频率.

xilinx_u200_qdma_201910_1平台为例,在Vitis中选择平台时可以看到默认的时钟频率是300Mhz500Mhz.

yolanda_0-1621491866707.jpeg

Vitis Application Acceleration Development Flow 中我们看到--kernel_frequency 选项可以用于覆盖默认的Kernel 频率

(https://www.xilinx.com/html_docs/xilinx2020_2/vitis_doc/buildtargets1.html#ldh1504034328524)

yolanda_1-1621491866712.png

 

那么--kernel_frequency设置在Compile阶段或者Link阶段有什么区别呢?

我们以经典Example designVector Addition”为例探索一下.

1.  打开Vitis 2020.2,创建新的 Application Project

   File -> New -> Application project

2.  选择xilinx_u200_qdma_201910_1平台

3.  选择打开Example Design "Vector Addition"

4.  对Hardware Flow Compile阶段设置“kernel_frequency”为200MHz,然后编译工程。

    注意:默认的Kernel频率只允许改小,不允许改大.

yolanda_2-1621491866731.png

log看到执行的命令是:

 v++ --target hw --compile  --kernel_frequency 200

5.  Compile Kernel 完成后可以在Compile Summary中看到“--kernel_frequency 200" 已经设置成功.

yolanda_3-1621491866738.png

Kernel Estimate报告中,可以看到,Target Clock已经按要求设置成200Mhz. 说明Vitis_HLS是按照200Mhz的要求来综合Kernel的代码的.

yolanda_4-1621491866745.png

Link Summary中可以看到,在把Kernel合入平台后的Implementation中,目标时钟还是平台默认的300Mhz,而不是在Compile 阶段设置的200Mhz.

yolanda_5-1621491866748.png

同时我们也可以翻看Implemented Design的时序报告(Timing Summary)查看Kernel实际的时钟要求:

         clk_out1_pfm_top_clkwiz_kernel_0_1   {0.000 1.667} 3.333  300.000                                                                                                                                                                                                                                                                                                                                                    

6.  在Link阶段加上“--kernel_frequency 100" 选项

yolanda_6-1621491866749.png

log看到执行的命令是

 v++ --target hw --link  -R2 --kernel_frequency 100

7.  完成Hardware Build之后,查看Summary,可以看到这时100Mhz Kernel 频率的设置在整个Vitis Platform Link生效, 覆盖默认的300Mhz

yolanda_7-1621491866756.png

 

 和之前一样翻看Implemented Design的时序报告(Timing Summary)查看Kernel实际的时钟要求,kernel的目标频率已经被正确修改了.

    clk_out1_pfm_top_clkwiz_kernel_0_1 {0.000 5.000}          10.000          100.000 

 

总结:

      选项“--kernel_frequency" 加在Compile阶段,影响的是对Kernel做高级综合的Vitis_HLS的目标频率,不影响Kernel合入平台后的Implementation的目标频率;   选项“--kernel_frequency" 加在Link阶段, 不会影响对Kernel做高级综合的Vitis_HLS的默认目标时钟频率,但是可以设置Kernel合入平台后的Implementation的目标频率。