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

时间:2025-06-14  作者:Diven  阅读:0

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

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

由于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实现四输入与门电路的真值表。

表 输入与门的真值表

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

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

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

图 四输入与门电路图

A,B,C,D由FPGA芯片的管脚输入后进入可编程连线,然后作为地址线连到到LUT,LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,这样组合逻辑就实现了。该电路中D触发器是直接利用LUT后面D触发器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出与I/O脚相连,把结果输出到芯片管脚。这样PLD就完成了图所示电路的功能。(以上这些步骤都是由软件自动完成的,不需要人为干预)

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

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

比较Xilinx和Altera

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

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

Altera Cyclone IV 系列资源比较

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

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

Xilinx Spartan-6 系列资源比较

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

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

A家的LE如下图:

Cyclone LE 结构

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

而X家的CLB如下:

xilinx CLB 结构

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

Xilinx CLB 包含的 Slices LUT FF

这样的话,可以较比一下。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系列下放的技术。

猜您喜欢

 今天给大侠带来的是一周掌握FPGA Verilog HDL 语法,今天开启第一天,下面咱们废话就不多说了,一起来看看吧。 在学习中,学习任何东西都有一...
2022-07-18 09:47:00

保护电路安全的需求日益增加。自恢复保险丝作为重要的电子保护元件,因其能够在过载或短路后自动恢复而广受欢迎。赛尔特(SELT)旗下的SETSafe自恢复保险丝因其...
2021-10-02 11:21:30

MT6501在线编程角度编码器IC是麦歌恩微电子推出的新一代基于先进的各向异性磁阻(AMR)技术的角度位置传感器芯片。该芯片内部集成了互成45°摆放的两对AMR...
2024-11-01 11:01:00

二极管是应用于电子电路中的半导体器件,其主要功能是允许电流在一个方向流动,而阻止电流在相反方向流动。由于其独特的特性,二极管在整流、信号调制、开关电路等方面发挥...
2025-04-03 00:00:34

贴片电阻,这种小小的电子元件,在电路板中扮演着重要的角色。学会读取它们表面的标识,对于电子爱好者和工程师来说至关重要。 别担心,看似复杂的编码其实很简单。大多数...
2025-04-14 15:02:40

选择合适的贴片电阻品牌对于电子产品的质量和可靠性至关重要。市场上贴片电阻品牌众多,如何选择合适的品牌常常让消费者感到困惑。一般来说,评估贴片电阻品牌需要考虑其产...
2024-11-26 11:29:27

贴片电阻上的「01D」并不是直接表示阻值,而是采用EIA-96标准的阻值代码。其中,「01」代表有效数字,而「D」代表乘数。具体来说,「01」表示有效数字为10...
2024-11-26 11:29:37

工业过程控制系统应用多种多样,范围覆盖从简单的流量控制到复杂的电网,从环境控制系统到炼油厂过程控制。可编程逻辑控制器和分布式控制系统是用于控制机器和过程、处理各...
2023-07-14 10:57:00

贴片电阻,作为电子电路中不可或缺的元件,其性能很大程度上取决于所使用的材料。不同的材质赋予了电阻不同的特性,使其适用于各种应用场景。一般来说,贴片电阻常用的材质...
2024-11-26 11:29:25

贴片电阻5010指的是其尺寸为5.0mm x 1.0mm的长方形封装。 5010中的50表示长度为5.0mm,10表示宽度为1.0mm。 这是一种比较常见的贴片...
2024-11-29 10:26:21