由于一个测试用例中除了FIR以外,还包含其他测试资源,因此要得到某一资源占用率,需采用aX+b=N的形式求解方程组。其中a为FIR个数,X为FIR资源类型,b为测试部分所占该类资源个数,N为该资源类型占用总个数。
DSP资源:(045共900个)
1,DSP*1+b=22
2,DSP*10+b=121
3,DSP*20+b=231
解得:DSP=11/11。(注:1个FIR所占DSP Slice为22,10个FIR并非为220而是121,其原因可能与FPGA内部的Slice划分有关,在综合实现时通过共用Slice中闲置资源以降低资源使用率。两个解,红色字体由方程12解得,绿色字体由13解得。)
LUT资源:(045共218600个)
1,LUT*1+b=1652
2,LUT*10+b=3173
3,LUT*20+b=4864
解得:LUT=169/169.05。
LUTRAM资源:(045共70400个)
1,LUTRAM*1+b=497
2,LUTRAM*10+b=1946
3,LUTRAM*20+b=3556
解得:LUTRAM=161/161。
FF资源:(045共437200个)
1,FF*1+b=3204
2,FF*10+b=7086
3,FF*20+b=11386
解得:FF=431.333/430.6。
由于045的DSP资源总量为900,128个FIR所占DSP=128*11=1408>900,因此改用v485t分别对1个FIR和128个FIR的情况进行测试。
DSP资源:(v485t共2800个)
4,DSP*1+b=22
5,DSP*128+b=1419
解得:DSP=11。
LUT资源:(v485t共303600个)
4,LUT*1+b=1653
5,LUT*128+b=23115
解得:LUT=168.99。
LUTRAM资源:(v485t共130800个)
4,LUTRAM*1+b=497
5,LUTRAM*128+b=20944
解得:LUTRAM=161。
FF资源:(v485t共607200个)
4,FF*1+b=3204
5,FF*128+b=57826
解得:FF=430.095。
(注:方程前的序号对应测试程序编号)
测试程序1:一个时钟,一个复位,一个ila核,一个数据源,1个Fir滤波器(21个系数,双通道)
045占用率:
045占用数:
测试程序2:一个时钟,一个复位,一个ila核,一个数据源,10个Fir滤波器(21个系数,双通道)
045占用率:
045占用数:
测试程序3:一个时钟,一个复位,一个ila核,一个数据源,20个Fir滤波器(21个系数,双通道)
045占用率:
045占用数:
测试程序4:一个时钟,一个复位,一个ila核,一个数据源,1个Fir滤波器(21个系数,双通道)
v485t占用率:
v485t占用数:
测试程序5:一个时钟,一个复位,一个ila核,一个数据源,128个Fir滤波器(21个系数,双通道)
v485t占用率:
v485t占用数: