news 2026/6/22 6:58:45

vivado hls设计总结(七)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vivado hls设计总结(七)

一、吞吐量的优化
关于吞吐量throughput的优化,需要降低II来实现。
1.函数和循环的流水化设计
流水线化允许并行执行的操作。可以对函数或者循环进行流水化设计。
在不进行流水线优化的时候,循环和函数的执行都是阻塞执行的。
RD;CMP;WR;这三个操作在函数中,是阻塞顺序执行的,RD没有完成,CMP是不会执行的。
在执行函数pipeline流水线化后,RD执行完成后,执行CMP的同时会并行执行第二次RD.

2.关于pipeline指令
流水线化仅应用于指定区域,而不应用于下层层级。
如果pipeline应用到函数,那么函数内的所有循环都会unrool展开;
如果pipeline应用到循环,那么该循环下一个层级的循环也会unrolll展开。

3.rewind优化

4.flush优化很重要
flush 的基本作用:当流水线使能了 flush 功能后,流水线会有一个“刷新”机制。当流水线的有效输入序列被中断(即没有新的数据输入)时,flush 可以立即终止当前正在处理的流水线阶段,并清空流水线中所有未完成的数据,而不是等待这些数据自然流出。

flush 通常用于以下场景:

条件性或非连续的数据流:当数据不是连续到达,且希望在没有数据时立即停止流水线,以节省功耗或为其他任务让出资源时。

动态任务切换:当同一个流水线硬件需要处理多个独立的任务,且任务之间需要快速切换时。通过 flush 可以在一个任务结束时迅速清空流水线,准备下一个任务。

错误或异常处理:当在处理过程中检测到错误,需要立即中止当前操作时,可以使用 flush 来清空流水线中的残余数据。


5.static静态变量在流水线优化中应用

案例一:
function_foo()
{
static bool change = 0
if (condition_xyz){
change = x; // store
}
y = change; // load
}
上述代码中store和load各需要一个周期,所以II=2

案例二:
function_readstream()
{
static bool change = 0
bool change_temp = 0;
if (condition_xyz)
{
change = x; // store
change_temp = x;
}
else
{
change_temp = change; // load
}
y = change_temp;
}
上述代码中store和load不会同时执行,是分时复用,所以II=1

案例三:
对于案例一,也可以通过lateny=0或者1来优化,使得II=1吧,待实验。

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

XDMA与Soft CPU在Ultrascale+中的协同处理应用

XDMA与Soft CPU在Ultrascale中的协同处理应用:从理论到实战的完整指南当FPGA遇上PCIe——我们为什么需要“XDMA Soft CPU”?你有没有遇到过这样的场景:你的图像采集系统每秒要处理几十GB的数据,但传统USB或千兆以太网根本扛不住&…

作者头像 李华
网站建设 2026/6/21 1:31:52

保险条款解读:代理人用VibeVoice把合同转成通俗对话

保险条款解读:代理人用VibeVoice把合同转成通俗对话 在保险公司培训新人的会议室里,一位资深代理人正对着新员工念保险条款:“被保险人于等待期后初次确诊符合定义的重大疾病,可获一次给付……”台下年轻面孔大多眼神涣散。这场景…

作者头像 李华
网站建设 2026/6/20 1:43:05

疫情防控通知:社区用VibeVoice生成居民关心的问题解答

社区防疫也能“听得懂”:用VibeVoice让政策通知变对话 在某个上海的老龄化社区,居委会每天要面对数十通居民来电:“现在还能不能出小区?”“孩子发烧了去医院要不要核酸?”尽管公告栏贴满了文件、微信群也发了无数次文…

作者头像 李华
网站建设 2026/6/15 20:37:03

逻辑门工艺库单元选型:标准单元映射实践案例

逻辑门选型的艺术:从标准单元映射看PPA优化实战你有没有遇到过这样的情况?明明RTL写得清清楚楚,功能仿真也全过了,可一综合,时序就是收不回来。关键路径上几个看似普通的与非门、反相器,愣是把延迟堆到了58…

作者头像 李华
网站建设 2026/6/22 0:01:53

心理健康热线:用VibeVoice生成减压冥想引导语音

心理健康热线:用VibeVoice生成减压冥想引导语音 在焦虑情绪日益普遍的今天,越来越多的人开始寻求非药物方式缓解心理压力——冥想、正念练习和心理咨询热线成为主流选择。然而,高质量的心理健康音频内容生产却面临一个现实瓶颈:专…

作者头像 李华
网站建设 2026/6/14 19:29:29

波形发生器设计中运算放大器选型核心要点

如何选对运放?波形发生器设计中的关键抉择你有没有遇到过这样的情况:明明代码写得没问题,DAC 输出也正常,可最后出来的正弦波却“发软”,方波边沿像被“磨圆了”?或者输出小信号时底噪明显,信噪…

作者头像 李华