news 2026/6/19 13:49:26

vivado hls设计优化总结(十八)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vivado hls设计优化总结(十八)

一、使用vivado hls实现ROM
1.xilinx建议把数组作为内存使用的时候使用static进行修饰
2.如果数组是只读的,建议使用const限定符进行修饰,因为
如果你不用const修饰,vivado hls工具可能将数组分析为ROM,
当然,也可能不会被优化为ROM


二、ROM推断规则
• 在使用数组的函数中尽早初始化该数组。
• 将写操作组合在一起。
• 勿将 array(ROM) 初始化写操作与非初始化代码交织在一起。
• 勿将不同值存储到相同数组元素中(将所有写操作一起组合到代码中)。
• 元素值计算不得依赖于除初始化循环计数器变量以外的任何非常量(在编译时)设计变量

三、将 sin_table[256] 数组推断为内存,并作为 ROM 来实现
#include "array_ROM_math_init.h"
#include <math.h>
void init_sin_table(din1_t sin_table[256])
{
int i;
for (i = 0; i < 256; i++) {
dint_t real_val = sin(M_PI * (dint_t)(i - 128) / 256.0);
sin_table[i] = (din1_t)(32768.0 * real_val);
}
}
dout_t array_ROM_math_init(din1_t inval, din2_t idx)
{
short sin_table[256];
init_sin_table(sin_table);
return (int)inval * (int)sin_table[idx];
}


四、复合的数据类型
1.结构体数据类型
2.枚举数据类型
3.union联合体数据类型

五、结构体struct数据类型
1.结构体上的元素可通过数据打包最优化来打包到单一矢量中


六、enum枚举类型
如果在顶层函数的实参中使用 enum,则会将枚举综合为 32 位值
以符合标准 C 语言编译行为。如果枚举类型在设计内部,则 Vivado HLS 会将其最优化到必需的最小位数。

七、union联合体类型
1.不同于 C 编译,综合不保证针对 union 中的所
有字段使用相同内存(对于综合,则不保证使用相同寄存器)。Vivado HLS 通过执行最优化来提供最优硬件

注意:这条内容是非常要注意的!!!!

2.vivado hls不支持在顶层函数的接口上使用union类型


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

CRNN OCR在政务文件处理中的效率革命

CRNN OCR在政务文件处理中的效率革命 &#x1f4c4; 从传统OCR到智能识别&#xff1a;政务场景的迫切需求 在政府机关、税务部门、档案管理等政务场景中&#xff0c;每天都有海量纸质文件需要数字化归档与信息提取。传统的OCR&#xff08;Optical Character Recognition&#x…

作者头像 李华
网站建设 2026/6/17 17:02:11

救命神器2026自考AI论文写作软件TOP8:开题报告文献综述必备

救命神器2026自考AI论文写作软件TOP8&#xff1a;开题报告文献综述必备 2026年自考AI论文写作软件测评&#xff1a;精准选工具&#xff0c;提升写作效率 随着自考人数逐年增长&#xff0c;论文写作成为众多考生必须面对的挑战。传统写作方式耗时费力&#xff0c;而AI写作工具的…

作者头像 李华
网站建设 2026/6/16 4:46:22

跨平台兼容性评测:Image-to-Video在Linux/Windows表现差异

跨平台兼容性评测&#xff1a;Image-to-Video在Linux/Windows表现差异 引言&#xff1a;为何跨平台兼容性成为关键挑战&#xff1f; 随着AI生成模型的广泛应用&#xff0c;图像转视频&#xff08;Image-to-Video, I2V&#xff09;技术正从研究原型走向实际部署。然而&#xf…

作者头像 李华
网站建设 2026/6/13 7:57:33

从零开始学SSD1306中文手册:入门级操作指南

手把手教你玩转SSD1306 OLED屏&#xff1a;从看懂手册到点亮第一行字你有没有遇到过这种情况&#xff1f;买了一块小小的OLED屏幕&#xff0c;接上STM32或ESP32&#xff0c;代码一烧&#xff0c;结果——黑屏。不是模块坏了&#xff0c;也不是MCU出问题&#xff0c;而是你还没真…

作者头像 李华
网站建设 2026/6/18 1:02:42

无需编码!开源镜像实现图像转视频一键生成(附安装包)

无需编码&#xff01;开源镜像实现图像转视频一键生成&#xff08;附安装包&#xff09; Image-to-Video图像转视频生成器 二次构建开发by科哥零代码门槛&#xff0c;本地部署&#xff0c;开箱即用 —— 基于 I2VGen-XL 模型深度优化的 Image-to-Video 开源镜像现已发布。本文将…

作者头像 李华
网站建设 2026/6/15 15:25:10

《PyPy超越CPython的核心技术架构解析》

PyPy的元跟踪技术能够在程序运行过程中,深度捕捉代码执行的隐性规律,尤其是高频触发的逻辑片段的指令序列特征、变量类型的稳定性轨迹,以及分支跳转的概率分布,这种运行时的智能感知能力,让其得以突破静态编译与解释执行之间的性能鸿沟。在动态语言的性能困境中,CPython的…

作者头像 李华