当前位置: 首页 > news >正文

vivado hls设计总结(九)

一、数据流最优化设计
1.dataflow的最优化可以对函数,或者对循环使用
2.dataflow需要遵守单一的生产者-消费者模型
也就是task产生的channel的扇出只能等于1

3.不能存在任务过绕
4.dataflow优化,任务直接不能有反馈
5.dataflow优化的代码中,不能是task任务在if-else条件判断中
6.dataflow优化的代码不能有多个退出条件


二、dataflow优化,task任务之间通信
1.vivado hls将任务间的通道作为乒乓buffer或者FIFO缓存来实现
2.对于scalar标量,指针,引用参数,vivado hls将通道作为FIFO来实现
3.如果参数为数组,vivado hls会将通道作为乒乓buufffer或者FIFO来实现
4.fifo的深度设置:
设置 FIFO 的深度时,赛灵思建议将初始深度设置为传输的数据值的最大数量(即,任务间传递的数组的大小)、确认
设计能够成功通过 C/RTL 协同仿真,然后减小 FIFO 大小并确认 C/RTL 协同仿真仍可成功完成且不会出现任何问题。
如果 RTL 协同仿真失败,那么 FIFO 大小可能太小,而无法阻止出现停滞或死锁状况。

三、对数组使用stable修饰
stable修饰数据流区域的数组,其作用是为了移除对应的同步;
void dataflow_region(int A[...], ...
#pragma HLS stable variable=A
#pragma HLS dataflow
proc1(...);
proc2(A, ...);
}
上述代码需要使用stable进行修饰,如果不用stable修饰,那么proc1启动需要等待,
需要等到proc2也准备好,才能启动proc1,这救护阻止数据流迭代重叠了,从而性能下降;
stable修饰后,就将这种同步移除了,proc1就不需要等待proc2了。

四、ap_ctrl_none在数据流中的使用
1.首先,是不建议使用ap_ctrl_none的,因为控制不好,容易出问题;
2.如果想使用,要比较小心
3.使用ap_ctrl_none这种块协议,就不需要握手同步了,但是使用了ap_ctrl_none,
就要求所在区域内所有的进程的执行次数完全相同,这样才合适。

五、ap_ctrl_none应用
1.区域内所有的hls::stream,数组,axis都通过FIFO通信
2.该区域的所有父级别需要满足一定的条件:
其父区域也要是数据流区域,但是不能是循环数据流,因为循环数据流的for循环需要ap_ctrl_hs握手,所以这个要注意
其父区域必须全部指定为ap_ctrl_none,也就是其父区域不能是流水状态机

http://www.jsqmd.com/news/206821/

相关文章:

  • 基于微信小程序的智能雨伞借取系统(源代码+文档+PPT+调试+讲解)
  • 从 paperzz 到 X 工具:7 款 AI 文献综述神器,让学术写作快 3 倍
  • 实战复盘:纷玩岛(Livelab)候补订单微信支付协议的逆向与复现
  • 微信小游戏首发新游“内购二八分成”,激励金能拿400万!
  • DeepSeek-OCR本地部署(上):CUDA 升级12.9,vLLM升级至最新稳定版
  • LLM幻觉有救了?清华大学研究一招让8B小模型避免幻觉产生
  • DMDRS数据库同步用户最小权限脚本示例
  • 学术综述不用愁:paperzz 文献综述功能,如何让硕士论文 “文献部分” 更专业?
  • 大数据领域数据清洗的全面指南
  • 基于微信小程序的中小学生个性化阅读平台的设计与实现(源代码+文档+PPT+调试+讲解)
  • 学霸同款9个AI论文写作软件,本科生轻松搞定毕业论文!
  • 达梦DMDRS数据库同步用户最小权限
  • 吐血推荐9个AI论文工具,专科生轻松搞定毕业论文!
  • 考虑储能电池参与一次调频技术经济模型的容量配置方法Matlab代码
  • 全自动云像仪:专为全天候、高精度监测天空云况设计
  • 大模型是否值得转行?从技术壁垒到就业前景全方位解析,字节跳动2025届薪资揭秘,大模型与算法岗位薪酬丰厚
  • TCS3430 XYZ三刺激真彩传感器原理图设计,已量产(光线传感器)
  • 基于微信小程序的自习室预约小程序的设计与实现(源代码+文档+PPT+调试+讲解)
  • 基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究附Python代码
  • 一站式讲清IO多路复用(轻松愉悦版)
  • 基于微信小程序的体育场馆预约平台设计与实现(源代码+文档+PPT+调试+讲解)
  • 一些常见的英文期刊库(爱思唯尔、MDPI、施普林格等)
  • 基于 MATLAB 的电力系统动态分析研究【IEEE9、IEEE68系节点】​附Matlab代码
  • Pharos STEM 台式场发射电镜在外泌体形貌与粒径分析中的应用
  • python网络流量分析与入侵检测-计算机毕业设计源码+LW文档
  • 基于 SIFT 和 RANSAC 算法对高分辨率图像进行图像伪造检测附Matlab代码
  • 2026运维监控平台选型避坑指南
  • 探秘 AgentRun|流量一大就瘫痪?如何解决AI 模型调用之痛
  • 论文降重哪个好用?真实体验对比嘎嘎降AI与比话降AI
  • 基于 VSC 的 UPFC(统一潮流控制器)研究附Simulink仿真