HLS高层次综合设计技巧--数组

一、数组仿真说明

1.数组在c仿真可能出现堆栈空间不够的问题

如果指定数组过大,可能导致C仿真失败,这种情况建议使用指针,然后使用malloc进行分配;

如果指定数组过大,导致C仿真失败,可以使用增加 C/C++ 代码开发中的内存资源的标准方法是使用连接器选项增大堆栈大小

例如以下选项将堆栈大小显式设置为

-Wl,--stack,10485760。在 Vivado® HLS 中可转至"Project Settings" → "Simulation" → "Linker flags"来应

用此类选项,或者还可作为 Tcl 命令的选项来提供此类选项:

csim_design -ldflags {-Wl,--stack,10485760}

cosim_design -ldflags {-Wl,--stack,10485760}

2.数组在c仿真中可能出现数组越界问题

二、数组综合

1.进行综合。而在设计内部,大小小于 1024 的数组将作为 SRL 来综合。大小大于 1024 的数组将综合到块 RAM、

LUTRAM 或 UltraRAM 中(取决于最优化设置)。

2.数组访问通常会造成性能瓶颈。作为内存来实现时,内存端口的数量会限制对数据的访问。数组初始化如未谨慎执

行,则可能导致 RTL 中不必要的长时间复位和初始化。

相关推荐
小成202303202651 小时前
C++~07补充
开发语言·c++
小郎君6581 小时前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧1 小时前
MemT让记忆成为模型内生能力
jvm·人工智能·算法
Lxx_Zw1 小时前
机器周期与共地:时钟基准和电压参考基准
stm32·单片机·嵌入式硬件
Shimeri2 小时前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
Evand J2 小时前
【PMSM例程1】永磁同步电机(PMSM)转速与转子电角度观测算法|基于扩展卡尔曼滤波(EKF)的传感器状态估计与误差。附下载链接
算法·电机·1024程序员节·卡尔曼滤波
guo_wen_qiang2 小时前
二叉树的层序遍历-使用双端队列Deque
算法·leetcode·1024程序员节
爱读书的小胖2 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节
CCblandy2 小时前
前缀缓存命中率不靠引擎靠排列:本机仿真 3 轮,易变字段放开头 98.0%→0.0%
人工智能·python·算法·自然语言处理·性能优化