本帖最后由 AutoESL 于 2011-9-30 15:37 编辑
http://blog.**/wilzhang/108553/message.aspx
为了能够更好的理解造成这些差异的原因,下面对两个公司的FPGA做进一步的分析。首先,作者对32 bit的加法在两个FPGA进行编译,比较两者的速度。
表1 32-bit加法器速度
FPGA Platform | FPGA Type | Speed (MHz) | Speed (MHz) | FPGA Type | FPGA Platform | Stratix III
| EP3SE80F780C2
| 457
| 534
| xc5vlx85-ff1153-3
| Virtex 5
| Stratix II
| EP2S90F1020C3
| 405
| 361
| xc4vlx100-ff1148-12
| Virtex 4
|
从上面的表格来看,Xilinx的V5比V4速度提高了不少,尤其是逻辑资源的加法器速度。Xilinx的V5一位进位逻辑延迟为 83ps,寄存器输出延迟为326ps, 最低位加法延迟为318ps。Xilinx的V4一位进位逻辑延迟为 66ps,寄存器输出延迟为258ps, 最低位加法延迟为433ps。Altera的Stratix III比Stratix II只提高了一些,但是并不是太大。暂时没有找到Altera的进位逻辑的延迟参数,Stratix II寄存器输出延迟为94ps, Stratix III为
下面我们来看看乘法器的情况。这里我比较了两种乘法器:两个输入可变(下面称为可变乘法器),一个输入可变(下面称为固定系数乘法器)。分别针对16bit 和8 bit情况做了比较,还是采用纯逻辑资源来实现上述运算。对于一个输入可变的情况,另外一个数我用的是有符号数的最大值,即8bit的0x7F和16bit的0x7FFF。
下面的一些表格给出了一些测试结果。
表2 两个输入可变16bit乘法器
FPGA Platform | FPGA Type | Speed (MHz) | Speed (MHz) | FPGA Type | FPGA Platform | Stratix III
| EP3SE80F780C2
| 193
| 140
| xc5vlx85-ff1153-3
| Virtex 5
| Stratix II
| EP2S90F1020C3
| 182
| 115
| xc4vlx100-ff1148-12
| Virtex 4
|
表3 一个输入可变16bit乘法器
FPGA Platform | FPGA Type | Speed (MHz) | Speed (MHz) | FPGA Type | FPGA Platform | Stratix III
| EP3SE80F780C2
| 349
| 191
| xc5vlx85-ff1153-3
| Virtex 5
| Stratix II
| EP2S90F1020C3
| 312
| 151
| xc4vlx100-ff1148-12
| Virtex 4
|
表4 两个输入可变8bit乘法器
FPGA Platform | FPGA Type | Speed (MHz) | Speed (MHz) | FPGA Type | FPGA Platform | Stratix III
| EP3SE80F780C2
| 265
| 203
| xc5vlx85-ff1153-3
| Virtex 5
| Stratix II
| EP2S90F1020C3
| 255
| 166
| xc4vlx100-ff1148-12
| Virtex 4
|
表5 一个输入可变8bit乘法器
FPGA Platform | FPGA Type | Speed (MHz) | Speed (MHz) | FPGA Type | FPGA Platform | Stratix III
| EP3SE80F780C2
| 431
| 303
| xc5vlx85-ff1153-3
| Virtex 5
| Stratix II
| EP2S90F1020C3
| 440
| 251
| xc4vlx100-ff1148-12
| Virtex 4
|
从以上的表格可以看出Altera的可变输入乘法器比Xilinx稍微快一些。固定系数乘法器比Xilinx速度高出不少(由于Quartus优化的缘故,下面会专门分析)。Xilinx的V5比V4速度有了较大的提高,而Stratix III的速度比Stratix II没有明显的提高。
Quartus软件可以对固定系数乘法器做优化,比如与0x7F相乘,等价于先与0x080相乘,然后减去被乘数。我使用了另外一个系数0x7D,结果发现速度明显下降,Stratix III C2的最高速度只有253MHz,而占用的资源却增加不少。因为这一点,也导致了在实现转置形式的FIR滤波器(速度主要局限在固定系数乘法器)上,Altera不仅可以少用一部分资源,速度比Xilinx快不少。 |