数组指针优化
2 数组指针优化Performace Optimization -- Arrays and Pointers
HLS默认内存模型假定为2端口BRAMs,可以对阵列进行整形和分区,以消除瓶颈。
May not be the most ideal memory for performance Cannot pipeline with a throughput of 1
对于不能达到吞吐量为一的流水线,可能不是最佳方案。
Even with a dual-portRAM, we cannot perform all reads and writes in one cycle
即使使用双端口RAM,我们也不能在一个周期内执行所有读写操作
数组优化-维度 Array Optimization - Dimensions
数组优化-分区 Array Optimization - Partitioning
分区将数组拆分为在RTL中独立的内存块
Partitioning splits arrays into independent memory banks in RTL
数组可以被分区成任意维度
• Arrays can be partitioned on any dimension
数组优化-重构 Array Optimization - Reshaping
Array entries into wider bitwidth containers
将数组放到更大位宽的容器中
Different arrays into a single physical memory
将不同的数组放入单个物理内存中
Read modify write is not allowed: read the whole word or write the whole word
不允许读-改-写:读取整个单词或写入整个单词
Similar to converting a RAM into a very wide register : great access, high throughput
类似于将RAM转换成非常宽的寄存器:访问量大,吞吐量高
resource可以设置单端口
PARTITION
Map
最后一节课没学