取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Adventurer
Adventurer
310 次查看
注册日期: ‎09-10-2018

vivado hls设计时并行处理

设计中需要反复调用一个卷积模块,在实际设计中需要将这些卷积模块严格的并行处理,该如何添加指令。例如调用卷积模块的代码如下:

for(int i=0;i<10;i++)

{

conv(a[i],b[i],c[i]);
}

如何在for循环中实现严格的并行。目前已经测的conv()卷积模块的时间大概是7ms,如果10个卷积模块严格并行处理完所需的时间也差不多7ms。HLS里面该如何设计实现呢

0 项奖励
5 回复数
Xilinx Employee
Xilinx Employee
235 次查看
注册日期: ‎02-28-2019

回复: vivado hls设计时并行处理

参考https://www.xilinx.com/support/documentation/sw_manuals/xilinx2020_1/ug902-vivado-high-level-synthesis.pdf page302 Loop Parallelism的内容

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Adventurer
Adventurer
217 次查看
注册日期: ‎09-10-2018

回复: vivado hls设计时并行处理

我想咨询一下,HLS里面能否实现两个函数完全并行处理,我使用UNROLL指令后,从报告上面看两个函数是串行运行的

标记 (1)
0 项奖励
Highlighted
Xilinx Employee
Xilinx Employee
213 次查看
注册日期: ‎02-28-2019

回复: vivado hls设计时并行处理

试一下dataflow来优化一下延时。

-------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 项奖励
Highlighted
Adventurer
Adventurer
114 次查看
注册日期: ‎09-10-2018

回复: vivado hls设计时并行处理

你的意思是说for循环里面使用dataflow吗,for循环里面反复调用的卷积函数,函数之间没有联系,都是各自求各自的

0 项奖励
Highlighted
Moderator
Moderator
94 次查看
注册日期: ‎05-27-2018

回复: vivado hls设计时并行处理

Hi @zm19911223 ,

把卷积计算的整个功能封装成函数,然后在另一个函数里面(可以是顶层函数)调用他们, 在这个函数里面添加dataflow指令. 

Wen

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------------------------------------
0 项奖励