最新日志

发表于:2008-4-22 21:59:49
标签:FPGA,  Xilinx,  Altera,  速度,  DSP  

1

Xilinx与Altera FPGA比较系列之杂项

最近遇到一个时钟选择的问题,即有两个输入时钟和一个控制信号,根据控制信号输出一个时钟。如何使得输出的时钟没有毛刺?

在Xilinx的FPGA中,可以使用BUFGMUX来实现,即使控制信号不同步,BUFGMUX也能保证输出的时钟没有毛刺。

Altera的FPGA没有Glitch Free的Mux,用户必须自己先使用三态TRI单元,控制时钟的输出,然后再让时钟通过一般的MUX,这样子的话,次序应该是首先把原来的时钟通过三态电路Disable掉,然后打开另外一个三态电路,输出时钟,同时,Mux根据控制信号选择新的时钟。

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(1) | 阅读(383)
发表于:2008-4-22 21:59:09
标签:FPGA,  Xilinx,  Altera,  速度,  DSP  

1

Xilinx与Altera FPGA比较系列之一 逻辑资源速度(3)

上次的分析还剩下一点点尾巴,就是寻找直接形式滤波器Xilinx V5Altera S3快的原因。

在对直接形式的滤波器做比较时,发现XilinxV5AlteraS3要快一些,时序分析报告显示关键路径在乘完之后的求和运算。我单独把求和运算做了分析,下面是得到的结果。奇怪的是这种情况下XilinxV5AlteraS3要慢一些。可能是其他原因造成了上述的差别,今后再继续研究这个问题。

 
FPGA Platform FPGA Type Speed (MHz) Speed (MHz) FPGA Type FPGA Platform
Stratix III EP3SE80F780C2 304 255 xc5vlx85-ff1153-3 Virtex 5
Stratix II EP2S90F1020C3 264 208 xc4vlx100-ff1148-12 Virtex 4
 

下一个系列继续研究直接形式和转置形式滤波器采用DSP块的一些实现情况。

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(0) | 阅读(240)
发表于:2008-4-22 21:58:35
标签:FPGA,  Xilinx,  Altera,  速度,  DSP  

1

Xilinx与Altera FPGA比较系列之一 逻辑资源速度(2)

为了能够更好的理解造成这些差异的原因,下面对两个公司的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
 

从上面的表格来看,XilinxV5V4速度提高了不少,尤其是逻辑资源的加法器速度。XilinxV5位进位逻辑延迟为 83ps,寄存器输出延迟为326ps, 最低位加法延迟为318psXilinxV4位进位逻辑延迟为 66ps,寄存器输出延迟为258ps, 最低位加法延迟为433psAlteraStratix IIIStratix II只提高了一些,但是并不是太大。暂时没有找到Altera的进位逻辑的延迟参数,Stratix II寄存器输出延迟为94ps, Stratix III

下面我们来看看乘法器的情况。这里我比较了两种乘法器:两个输入可变(下面称为可变乘法器),一个输入可变(下面称为固定系数乘法器)。分别针对16bit 8 bit情况做了比较,还是采用纯逻辑资源来实现上述运算。对于一个输入可变的情况,另外个数我用的是有符号数的最大值,即8bit0x7F16bit0x7FFF

下面的一些表格给出了一些测试结果。

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优化的缘故,下面会专门分析)。XilinxV5V4速度有了较大的提高,而Stratix III的速度比Stratix II没有明显的提高。

Quartus软件可以对固定系数乘法器做优化,比如与0x7F相乘,等价于先与0x080相乘,然后减去被乘数。我使用了另外一个系数0x7D,结果发现速度明显下降,Stratix III C2的最高速度只有253MHz,而占用的资源却增加不少。因为这一点,也导致了在实现转置形式的FIR滤波器(速度主要局限在固定系数乘法器)上,Altera不仅可以少用一部分资源,速度比Xilinx快不少。

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(0) | 阅读(313)
发表于:2008-4-22 21:57:46
标签:FPGA,  Xilinx,  Altera,  速度,  DSP  

1

Xilinx与Altera FPGA比较系列之一 逻辑资源速度(1)

一开始没想到这个比较会得到大家的关注,纯粹是出于自己的兴趣。两个厂商都会宣称自己某一方面比对方好,到底是谁的更好呢?这肯定是个仁者见仁,智者见智的问题。最近这段时间比较忙,项目到了比较关键的阶段,加上其他一些杂七杂八的事情,很难有比较完整的时间坐下来完成报告,直到今天才基本把一些文档整理完。在整理的过程中,越来越觉得很难比较两者之间的速度,因为相关的因素实在太多了。软件的好坏,器件本身的延迟,设计等等对最优的速度都有着相当大的影响。做速度比较用的滤波器很难代表其他的设计,算是抛砖引玉,希望能够和大家一起讨论FPGA的速度这个问题。在整理过程中,发现了很多很有趣的事情,比如Stratix IIIStratix II的速度区别等。为此,作者做了一些简单的实验,希望能够找到合理的解释,来分析出现这些现象的原因。

编译之前的考虑

根据作者自己的一些经验,作者把常用的一些开关打开了,以便更好的优化速度。另外,有一些选项作者拿不准是否两个软件都有相似的开关,就没有打开。

为了使得比较更加合理,作者尽可能选择门数和IO速度都比较接近的FPGA

Xilinx采用ISE9.1 Service Pack1版本,Altera采用Quartus7.1 Service Pack1版本,

Xilinx:   

Type Option Value

Synthesis Option

Optimization Goal

Speed

Optimization Effort

High

Use DSP48

No

Map Option

Perform timing driven packing and placement

yes

Map effort level

high

Optimization strategy

speed

Place & Route

Place and route effort level

high

 

Altera

 
Type Option Value

Synthesis Option

stratixii_optimization_technique

Speed

Fit Option

Fitter_Effort

Standard (Highest)

optimize_fast_corner_timing

on

physical_synthesis_combo_logic

on

 

编译结果

作者采用了两种形式的滤波器来比较两者的速度。第一种实现形式是57FIR滤波器, 8比特输入数据, 8比特输出数据, 13比特系数, 滤波器采用转置形式的结构(上一篇文章写错了)。

下面是得到的测试结果。

1 转置形式滤波器

逻辑资源运行速度
FPGA Platform FPGA Type Speed (MHz) Speed (MHz) FPGA Type FPGA Platform
Stratix III EP3SE80F780C2 330 269 xc5vlx85-ff1153-3 Virtex 5
EP3SE80F780C3 276 238 xc5vlx85-ff1153-2
EP3SE80F780C4 245 203 xc5vlx85-ff1153-1
Stratix II EP2S90F1020C3 318 207 xc4vlx100-ff1148-12 Virtex 4
EP2S90F1020C4 279 182 xc4vlx100-ff1148-11
EP2S90F1020C5 234 156 xc4vlx100-ff1148-10
 

第二种实现方式是相同的滤波器,采用直接形式的结构,乘完之后的数据按照四输入加法的方式求和。

下面是得到的测试结果。

2 直接形式滤波器

逻辑资源运行速度
FPGA Platform FPGA Type Speed (MHz) Speed (MHz) FPGA Type FPGA Platform
Stratix III EP3SE80F780C2 239 275 xc5vlx85-ff1153-3 Virtex 5
EP3SE80F780C3 212 243 xc5vlx85-ff1153-2
EP3SE80F780C4 180 211 xc5vlx85-ff1153-1
Stratix II EP2S90F1020C3 223 189 xc4vlx100-ff1148-12 Virtex 4
EP2S90F1020C4 200 167 xc4vlx100-ff1148-11
EP2S90F1020C5 171 150 xc4vlx100-ff1148-10
 

一些简单的结论

1.         从表1可以看出,AlteraFPGA运行速度快不少。Stratix II V4的速度高出尤其多。

2.         1,2的结果表明Stratix III 的速度比 Stratix II的没有显著的增加。XilinxV5V4速度提升了不少。

3.         对于直接形式的FIR滤波器,一个有趣的现象是Stratix IIV4快,但是V5Stratix III快。

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(0) | 阅读(325)
发表于:2008-4-22 21:55:28
标签:FPGA,  Xilinx,  Altera,  速度,  DSP  

1

Xilinx与Altera FPGA比较系列之二 DSP速度(1)

点击下载

大家知道,高端的FPGA中都有为数不少的DSP块,里边主要包括一些18X18的乘法器,以及加法器等单元,相邻的DSP往往可以通过专用的连线互连,从而实现滤波器的级联设计,提高滤波器的运行速度。XilinxAlteraDSP块有所差别,XilinxDSP模块可以做18X18乘法,18X18乘累加运算,18X18乘加运算等,其中累加器可以到48位宽,厂家标称的最高速度位500MHzAlteraDSP块可以分解成为8X8, 16X16, 32X32块,可以完成乘法,乘累加,乘加等运算,厂家标称的最高速度为450MHz

 

下面的表格给出了一些综合结果。

 

1  转置形式的FIR滤波器综合结果

FPGA Platform FPGA Type Speed (MHz) Speed (MHz) FPGA Type FPGA Platform