FPGA的基本工作原理 Xilinx和Altera对比

FPGA的基本工作原理 Xilinx和Altera对比,第1张

FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。

由于FPGA需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA都采用了基于SRAM工艺的查找表结构,也有一些军品和宇航级FPGA采用Flash或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA的重复配置。

根据数字电路的基本知识可以知道,对于一个n输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。

查找表的原理与结构

查找表(Look-Up-Table)简称为LUT,LUT本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后,

PLD/FPGA开发软件会自动计算逻辑电路的所有可能结果,并把真值表(即结果)事先写入RAM,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

下面给出一个四输入与非门电路的例子来说明LUT实现逻辑功能的原理。

表给出一个使用LUT实现四输入与门电路的真值表。

FPGA的基本工作原理 Xilinx和Altera对比,FPGA的基本工作原理 Xilinx和Altera对比,第2张

表 输入与门的真值表

从中可以看到,LUT具有和逻辑电路相同的功能。实际上,LUT具有更快的执行速度和更大的规模。

3.1.2查找表结构的FPGA逻辑实现原理

我们还是以这个电路的为例:

FPGA的基本工作原理 Xilinx和Altera对比,FPGA的基本工作原理 Xilinx和Altera对比,第3张

图 四输入与门电路图

这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LUT无法完成的的电路,就需要通过进位逻辑将多个单元相连,这样FPGA就可以实现复杂的逻辑。

因为基于LUT的FPGA具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合逻辑电路功能,所以适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编程输入/输出单元、基本可编程逻辑单元、内嵌SRAM、丰富的布线资源、底层嵌入功能单元、内嵌专用单元等,主要设计和生产厂家有Xilinx、AlteraLatTIceActelAtmel和QuickLogic等公司,其中最大的是Xilinx、Altera、LatTIce三家。

比较Xilinx和Altera

要比较Xilinx和Altera的FPGA,就要清楚两个大厂FPGA的结构,由于各自设计的不同,两家的FPGA结构各不相同,参数也各不相同,但可以统一到LUT(Look-Up-Table)查找表上。

下图就是A家的Cyclone IV系列片子的参数:

FPGA的基本工作原理 Xilinx和Altera对比,FPGA的基本工作原理 Xilinx和Altera对比,第4张

Altera Cyclone IV 系列资源比较

可以看到,A家的片子,用的是LE这个术语。

而下图是X家的Spartan-6 片子资料

FPGA的基本工作原理 Xilinx和Altera对比,FPGA的基本工作原理 Xilinx和Altera对比,第5张

Xilinx Spartan-6 系列资源比较

X家用的是CLB这个术语作为基本单元。

再看看两家的基本单元有何不同:

A家的LE如下图:

FPGA的基本工作原理 Xilinx和Altera对比,FPGA的基本工作原理 Xilinx和Altera对比,第6张

Cyclone LE 结构

就是一个4输入LUT+FF构成

而X家的CLB如下:

xilinx CLB 结构

FPGA的基本工作原理 Xilinx和Altera对比,FPGA的基本工作原理 Xilinx和Altera对比,第7张

一个CLB由2个SLICE构成,一个SLICE含有4个6输入LUT,所以LUT=8*CLB。

Xilinx CLB 包含的 Slices LUT FF

FPGA的基本工作原理 Xilinx和Altera对比,FPGA的基本工作原理 Xilinx和Altera对比,第8张

这样的话,可以较比一下。EP4CE6基本就和XC6SLX9一个级别。。。。当然A家的片子是4输入LUT远比不上X家的6输入LUT。而X家的S-6片子,一个Slice内部有4个lut,8个FF。简而言之,一个Slice=四个LE。要注意的是A家C5以下的片子是4输入LUT而X家的是6输入LUT,差别也较大。如果不考虑FF,那么一个X家的slice=4个A家的LE。例如XC6SLX16含有2278个slices=EP4CE10(9000LE)的样子。当然,S-6的FF多一倍,达到了18224个。

在Virtex-5中(我们的设计大部分是Virtex,V5V6V7),一个Slice包含了4个LUT和4个FF。所以单纯从逻辑资源来看,S-6一个Slice比V-5的Slice强。当然V5的GTPGTX等等还有IO数量是S-6赶不上的。当然,A家的Cyclone V系列的片子,内部和前几代完全不同,采用了从高端的StraTIx系列下放的技术。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2634386.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-11
下一篇 2022-08-11

发表评论

登录后才能评论

评论列表(0条)

保存