news 2026/3/10 6:01:38

图像算法优化常用方式-vivado hls设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
图像算法优化常用方式-vivado hls设计

一、图像算法优化常用方式
1.双层for循环结构
对于灰度图像或者二值图像,一般使用双层循环
for(ap_uint<32> i=0;i<height;i++){
for(ap_uint<32> j=0;j<height;j++){
#pragma HLS pipeline II=1
}
}

然后对内存循环进行pipeline优化,
当然依据不同的场景可能使用#pragma HLS LOOP_FLATTEN off
for(ap_uint<32> i=0;i<height;i++){
for(ap_uint<32> j=0;j<height;j++){
#pragma HLS pipeline II=1
#pragma HLS LOOP_FLATTEN off
}
}

当然依据不同的场景可能使用#pragma HLS LOOP_FLATTEN
for(ap_uint<32> i=0;i<height;i++){
for(ap_uint<32> j=0;j<width;j++){
#pragma HLS pipeline II=1
#pragma HLS LOOP_FLATTEN
}
}

2.经常会用到将height高度加1的操作,比如乒乓操作
ap_uint<32> ping_buff[COLS];
#pragma HLS RESOURCE variable=ping_buff core=RAM_2P_LUTRAM

ap_uint<32> pang_buff[COLS];
#pragma HLS RESOURCE variable=pang_buff core=RAM_2P_LUTRAM

for(ap_uint<32> i=0;i<height+1;i++){
for(ap_uint<32> j=0;j<width;j++){
#pragma HLS pipeline II=1
if(i[0]){

}
else{

}
}
}
由于使用乒乓buffer,就会造成写入和读出之间晚一行数据,那么这个时候height+1作为行结束索引


3.经常会用到将height高度加2的操作,比如图像要在第一行前加入包头信息,在最后一行要加入包尾信息
for(ap_uint<32> i=0;i<height+2;i++){
for(ap_uint<32> j=0;j<width;j++){
#pragma HLS pipeline II=1
if(i==0){//包头

}
else if(i==height+1)
else{

}
}
}

4.pingpang_buffer经常使用
经常会使用两个line_buffer来组合成乒乓buffer来设计。
ap_uint<32> ping_buff[COLS];
#pragma HLS RESOURCE variable=ping_buff core=RAM_2P_LUTRAM

ap_uint<32> pang_buff[COLS];
#pragma HLS RESOURCE variable=pang_buff core=RAM_2P_LUTRAM

#pragma HLS DEPENDENCE variable=ping_buff intra RAW false
#pragma HLS DEPENDENCE variable=pang_buff intra RAW false

由于乒乓buffer既需要读,又需要写,所以工具容易形成伪依赖关系,这个时候需要使用去依赖关系来提高设计性能。

#pragma HLS DEPENDENCE variable=ping_buff intra RAW false
#pragma HLS DEPENDENCE variable=pang_buff intra RAW false
这两条优化语句是经常用到的。

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

基于JavaWeb的网上书城网站的设计与实现 开题报告(2)

目录 研究背景与意义系统功能模块技术选型数据库设计示例系统特色预期成果 项目技术支持可定制开发之功能亮点源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作 研究背景与意义 随着电子商务的快速发展&#xff0c;网上书城成为用户购书的重…

作者头像 李华
网站建设 2026/3/7 23:52:32

【读书笔记】《演讲的本质》

MIT传奇教授Patrick Winston的演讲课&#xff1a;如何在关键时刻让人真正听你说话 一个残酷的事实 90%的人不是不会说话&#xff0c;而是一开口就让人走神。他们逻辑完整,内容正确,PPT精美,但台下的人却在想&#xff1a;中午吃什么?手机有没有消息?这人什么时候讲完? Patric…

作者头像 李华
网站建设 2026/2/26 16:21:47

基于Simulink的根轨迹法控制器设计与仿真建模示例

目录 手把手教你学Simulink 一、引言:为什么工程师仍要学“根轨迹法”? 二、理论基础:根轨迹法核心思想 1. 闭环特征方程 2. 根轨迹绘制法则(简要) 三、示例系统:位置伺服系统 1. 被控对象传递函数 四、MATLAB 中绘制根轨迹 步骤1:定义系统并绘图 步骤2:分析根…

作者头像 李华
网站建设 2026/3/4 15:52:38

day73(2.1)——leetcode面试经典150

127. 单词接龙 127. 单词接龙 这个跟昨天的题还是有点不一样的&#xff0c;这个如果按照昨天的方法&#xff0c;会超时&#xff0c;因为时间已经到了50000 题目&#xff1a; 题解&#xff1a; class Solution {public int ladderLength(String beginWord, String endWord, …

作者头像 李华