typedef float data_t
#define num 8
typedef struct {
data_t arr[num];
} data_packet;
void load_pd(data_packet *Ain, data_t A[M][K]){
#pragma HLS DATA_PACK variable=Ain struct_level
#pragma HLS INTERFACE m_axi depth=999999 port=Ain offset=slave bundle=bud1
#pragma HLS ARRAY_PARTITION variable=A cyclic factor=8 dim=2
data_packet tmp;
for(int i=0;i<M;i++){
for(int j=0;j<K;j+=8){
#pragma HLS PIPELINE II=1
tmp=*(Ain+(i*K/num+j/num));
for(int ii=0;ii<num;ii++){
#pragma HLS UNROLL
A[i][j+ii]=tmp.arr[ii];
}
}
}
}
hls18.3版本的maxi手动位宽扩展---利用结构体与数据打包
于 2025-04-18 20:53:05 首次发布

被折叠的 条评论
为什么被折叠?



