news 2026/6/10 13:53:39

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/10 3:48:35

Sambert-HifiGan语音合成:如何实现语音风格定制

Sambert-HifiGan语音合成&#xff1a;如何实现语音风格定制 引言&#xff1a;中文多情感语音合成的现实需求 随着智能客服、虚拟主播、有声读物等应用场景的普及&#xff0c;传统“机械式”语音合成已无法满足用户对自然度与情感表达的需求。尤其在中文语境下&#xff0c;语气、…

作者头像 李华
网站建设 2026/6/9 17:03:56

Python调用Image-to-Video API避坑全记录

Python调用Image-to-Video API避坑全记录 引言&#xff1a;从WebUI到API调用的工程化跃迁 在完成科哥开发的 Image-to-Video图像转视频生成器 的本地部署与WebUI验证后&#xff0c;我们自然会面临一个更进一步的问题&#xff1a;如何将这一强大的视觉生成能力集成到自己的项目中…

作者头像 李华
网站建设 2026/6/8 12:25:43

Sambert-HifiGan语音合成质量提升的5个关键技巧

Sambert-HifiGan语音合成质量提升的5个关键技巧 在中文多情感语音合成&#xff08;TTS&#xff09;领域&#xff0c;Sambert-HifiGan 模型凭借其端到端架构和高质量声码器组合&#xff0c;已成为工业界与研究界的热门选择。该模型由 ModelScope 平台提供支持&#xff0c;结合了…

作者头像 李华
网站建设 2026/6/9 22:47:20

Node.js fs.stat快速获取文件信息

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 Node.js中fs.stat的极速优化&#xff1a;从基础到前沿实践目录Node.js中fs.stat的极速优化&#xff1a;从基础到前沿实践 引言&a…

作者头像 李华
网站建设 2026/6/9 14:07:26

零基础学PCB Layout:从原理图到布线的完整指南

从零开始设计一块PCB&#xff1a;原理图到布线的实战全解析 你有没有过这样的经历&#xff1f;看着别人画出整洁漂亮的电路板&#xff0c;自己却连“网络标签”和“封装”都分不清&#xff1b;明明照着教程一步步来&#xff0c;结果一运行DRC&#xff08;设计规则检查&#xff…

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

【(多重改进PSO)GA-HIDMSPSO-SVM分类预测】基于遗传算法辅助异构改进的动态多群粒子群优化算法(GA-HIDMSPSO)优化支持向量机网络(SVM)的数据分类预测附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华