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

宏观颗粒度数据流设计总结

一、Dataflow区域说明:
1.应用dataflow指令的区域,各个子模块之间的通信全部综合为通道;
2.对应scalar标量变量,这个再dataflow区域会被综合为depth比较小的FIFO;
3.对于废标量变量,例如,数组,这个在dataflow区域,可以被指定为FIFO,前提是数组的访问是顺序的
4.对于数组,在dataflow区域优化,如果是随机访问的,被指定乒乓PIPO缓存

二、Dataflow设计模型


三、关于hls::stream,array在datflow区域的应用
1.hls::stream定义类型不可以进行索引访问
hls::stream<ap_uint<xxx> > line_buff;
#pragma HLS STREAM variable=line_buff off depth=COLS dim=1
虽然这个被指定为RAM,关闭FIFO,但是综合还是FIFO
不要使用索引访问

2.static ap_uint<xxx> line_buff[COLS];
上述数组可以指定为FIFO或者RAM,但是这里要注意,你指定为FIFO,会存在一个问题,
如果你的生产者-消费者模型设计在两个函数中,那么C仿真是不可能正确的;
所以如果你要使用RAM来进行多个task之间并行处理,必须把两块逻辑写在一起才行,
不要写到两个函数,或者写到两个分离的循环。

3.双模块通信

如果要free-run设计的双模块通信,也就是生产者-消费者设计,只能使用hls::stream和普通标量,

是不能使用array来通信的,因为C仿真无法完成这个建模设计。

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

相关文章:

  • Awesome Bootstrap Checkbox与Font Awesome完美集成方案
  • WeDLM-7B-Base实操手册:并行掩码恢复技术在文本生成中的落地应用
  • 如何在5分钟内掌握Illustrator批量对象替换神器ReplaceItems.jsx
  • CVPR2023开源项目实测:这个解耦的VIO初始化方法,让我的机器人启动快了好几倍
  • PARROT基准:跨数据库SQL翻译的质量评估与实践
  • 如何实现Switch与WiiU存档无缝转换:BotW-Save-Manager完整指南
  • 告别MATLAB完整版!用LabVIEW调用Matlab脚本的COM组件方案(保姆级图文教程)
  • Postw90 参数详解大全
  • Project Sandcastle系统配置工具深度解析:syscfg模块的工作原理与使用技巧
  • MuseTalk终极指南:30秒实现高质量唇语同步的完整教程
  • 为 Claude Code 编程助手配置 Taotoken 作为模型服务后端
  • Kubernetes上部署高可用StackStorm集群:架构解析与生产实践
  • 如何快速访问AO3镜像站:新手的完整实战指南
  • 【2026实战】Python与国产大模型深度集成:DeepSeek、Qwen实战指南
  • 网络运维与网络安全 阶段一 基础篇十三
  • Lauterbach TRACE32实战:RunTime.ACCURACY()指令详解与测量精度提升技巧
  • 使用Taotoken CLI工具快速为团队统一配置开发环境
  • 洛谷P2866 [USACO06NOV] Bad Hair Day S
  • 告别手动破解!用 Docker 在 Kali 里秒开一个随时可用的 Burp Suite 专业版环境
  • 通过TaotokenCLI工具一键配置团队统一的开发环境
  • InfluxData Helm Charts 实战:在 Kubernetes 部署生产级监控栈
  • MASA模组全家桶中文汉化包:终极指南让Minecraft体验更完整
  • 如何在Obsidian中快速安装Draw.io图表插件:完整配置指南
  • ARM调试寄存器与性能监控计数器深度解析
  • ComfyUI ControlNet Aux完全指南:30+预处理器的终极解决方案
  • 放假期间,给自己带的研究生发微信不回复,怎么处理
  • python dependency injection
  • 22-2 需求结构(AGI基础理论)
  • 辣子鸡
  • SAP学习笔记 - BTP CAP开发03 - GithubGit git init,git add . ,git commit,git remote add,git push,git clone