news 2026/6/8 11:10:33

HLS设计优化(二)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HLS设计优化(二)

一、LOOP
Loop pipeline可以看成是task parallism
Loop Unroll可以看出是data parallelism
Loop Merged
Loop flatten
Dataflow可以看出为function parallism

二、II是设计重要的指标
throuput = 1/II,这个衡量你模块设计的性能

三、dataflow优化的两个模块的FIFO的depth为多少
void top_levle(){
#pragram dataflow
sub_func1();
sub_func2();
}

sub_func1----->FIFO----->sub_func2
这个FIFO要设置多大,这个取决于sub_func1和sub_func2的II;
如果sub_func1的II=1;sub_func2=2,那么FIFO的depth至少为2才行。

四、先datapath然后再control logic代码框图设计
1.先设计datapath路径,也就是数据路径
先把数据路径框图按照层次画好
2.然后添加controlpath,每一级的datapth添加控制逻辑

上图可以看出分为idle和4个stage。

上图是生成的datapath路径图+controlpath控制信号。

关于controlpath,本质上就是truth_table,也就是真值表。

sel1~sel8控制着datapath,sel1~sel8的取值,本质上就是一个真值表。这个好理解哈。

依据上述的sel1~sel8控制的真值表,就可以利用状态机和控制信号了,如下图:

以上,control logic设计就完成了。

最后,整个module的设计架构如下图:

FSM control logic + datapath完整整个module设计!这个架构是不是很好!

注意:先设计datapath,再设计controlpath。切记再verilog或者hls设计中画设计图,遵循这种原则,设计很难出错!!!推荐这种!!

五、先control logic再datapth

上述给出状态控制流图,下图给出operator操作

然后再把datapth画出来,最后把true-table真值表画出来,最后就把设计框图画出了!

generate controler(state machine)for datapth controller

六、FPGA+CPU架构


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!