news 2026/9/3 3:32:08

图像算法优化常用方式-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/9/2 22:37:28

当15岁成为“红线”,法国社交平台新规落地

欧洲互联网监管的网口正在进一步收紧。当地时间2026年1月27日&#xff0c;法国国民议会正式批准了一项针对未成年人使用社交平台的严格禁令。根据《世界报》及相关媒体报道&#xff0c;该法规明确将“数字成年年龄”划定为15岁&#xff0c;旨在通过立法手段限制青少年对社交平台…

作者头像 李华
网站建设 2026/9/1 6:24:48

IDEA 提示“未配置SpringBoot配置注解处理器“的解决方案

在Spring Boot项目中引入Redis配置类时&#xff0c;出现以下警告提示&#xff1a; 原因分析 坦白说&#xff0c;这个警告 不是代码错误&#xff0c;并不会影响程序的运行。 Spring Boot 提供了一个名为 spring-boot-configuration-processor 的工具。 它的作用是在编译时扫…

作者头像 李华
网站建设 2026/9/2 22:36:08

三星研究院:让机器人大脑瘦身70%却变得更聪明

这项由三星研究院主导的突破性研究发表于2025年1月的arXiv预印本库&#xff0c;论文编号为arXiv:2601.20262v1。对于想要深入了解技术细节的读者&#xff0c;可以通过该编号查询完整论文。 想象一下这样一个场景&#xff1a;你有一台非常聪明的机器人&#xff0c;它能够理解你的…

作者头像 李华