news 2026/10/15 21:19:22

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/10/14 23:50:23

AdGuard Home广告拦截终极指南:百万规则打造纯净网络环境

AdGuard Home广告拦截终极指南:百万规则打造纯净网络环境 【免费下载链接】AdGuardHomeRules 高达百万级规则!由我原创&整理的 AdGuardHomeRules ADH广告拦截过滤规则!打造全网最强最全规则集 项目地址: https://gitcode.com/gh_mirror…

作者头像 李华
网站建设 2026/10/15 19:06:31

QQ音乐解密终极指南:用qmcdump解锁加密音频完整教程

QQ音乐解密终极指南:用qmcdump解锁加密音频完整教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否曾…

作者头像 李华
网站建设 2026/10/15 12:00:28

QQ音乐格式转换终极指南:qmcdump免费解密工具完整教程

QQ音乐格式转换终极指南:qmcdump免费解密工具完整教程 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否…

作者头像 李华
网站建设 2026/10/15 12:23:27

免费解锁QQ音乐加密音频:qmcdump终极使用指南

免费解锁QQ音乐加密音频:qmcdump终极使用指南 【免费下载链接】qmcdump 一个简单的QQ音乐解码(qmcflac/qmc0/qmc3 转 flac/mp3),仅为个人学习参考用。 项目地址: https://gitcode.com/gh_mirrors/qm/qmcdump 你是否曾经遇到…

作者头像 李华
网站建设 2026/10/15 16:12:33

云服务商合作:阿里云、腾讯云镜像市场直接开通

云服务商合作:阿里云、腾讯云镜像市场直接开通 在内容创作的浪潮中,播客、有声书和虚拟访谈正以前所未有的速度崛起。然而,一个长期困扰创作者的问题始终存在:如何让机器生成的语音听起来不像“机器人朗读”,而是真正像…

作者头像 李华
网站建设 2026/10/15 19:46:32

校园广播智能化:老师用VibeVoice生成早操点名语音

校园广播智能化:老师用VibeVoice生成早操点名语音 清晨的校园,操场上学生陆续集合,广播里传来清晰而富有节奏的声音:“全体同学请注意,现在开始早操点名。”紧接着,一个略带电子感的女声念出名字&#xff1…

作者头像 李华