array_reshape array_map array_partition
void foo (...) {int my_array[10][6][4];...}上述中my_array表示0维;my_array[10]表示1维有10个bank;my_array[10][6]表示2维有6个bank;my_array[10][6][4]表示3维有4个bank;一、关于一维数组使用array_reshape array_map array_partition二、关于多维数组使用array_reshape array_map array_partition三、使用array_partition实现乒乓bufferstatic ap_uintI_DW*TAP line_buff[2][COLS/TAP];// 1. 将两个 Bank 完全分开成为独立的 RAM#pragma HLS ARRAY_PARTITION variableline_buff dim1 complete// 2. 对每个 Bank 在列方向进行分区以匹配并行访问需要// 例如若要每个周期同时读/写 2 个 ap_uintI_DW*TAP 字即 2*TAP 像素// 可将 dim2 按 cycle factorN 分区N 为并行字数量。#pragma HLS ARRAY_PARTITION variableline_buff dim2 cyclic factor2