HLS设计优化(二)
2026/5/17 3:23:22 网站建设 项目流程

一、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架构


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询