取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
Yi_keil
Contributor
Contributor
81 次查看
注册日期: ‎01-08-2021

schedule viewer中数组读取出现长时间的“empty (readreq)”

平台: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];
            }
     }
}

但是综合后的结果显示如下:

1.jpg

 FFT_preloop这个函数包含且仅包含了FFT1_preloop循环,为什么循环执行时间是65周期,而函数执行时间是135周期?

并且该函数的schedule viewer界面显示如下:

2.jpg

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

 

 

0 项奖励
0 回复数