平台:vitis hls 2020.1
我需要读取顶层函数的输入数组,因此写了一个read函数来读取xn_in数组:
void FFT_preloop(cmpxDataIn xn_in[SIZE1],
cmpxDataIn FFT1_tmpin[SSR1][SIZE1 / SSR1]
)
{
unsigned int cnt_in = 0;
FFT1_preloop:
for(int t = 0; t < SIZE1 / SSR1; ++t)
{
FFT1_preloop_in:
for (int r = 0; r < SSR1; ++r,++cnt_in)
{
FFT1_tmpin[r][t] = xn_in[cnt_in];
}
}
}
但是综合后的结果显示如下:

FFT_preloop这个函数包含且仅包含了FFT1_preloop循环,为什么循环执行时间是65周期,而函数执行时间是135周期?
并且该函数的schedule viewer界面显示如下:

可见前方大部分时间都由empty_40(readreq)所占据,请问empty_40(readreq)代表的是什么?为什么会出现这种情况呢?