FPGA与CPLD 总结.docx

上传人:b****7 文档编号:10214783 上传时间:2023-02-09 格式:DOCX 页数:29 大小:38.08KB
下载 相关 举报
FPGA与CPLD 总结.docx_第1页
第1页 / 共29页
FPGA与CPLD 总结.docx_第2页
第2页 / 共29页
FPGA与CPLD 总结.docx_第3页
第3页 / 共29页
FPGA与CPLD 总结.docx_第4页
第4页 / 共29页
FPGA与CPLD 总结.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

FPGA与CPLD 总结.docx

《FPGA与CPLD 总结.docx》由会员分享,可在线阅读,更多相关《FPGA与CPLD 总结.docx(29页珍藏版)》请在冰豆网上搜索。

FPGA与CPLD 总结.docx

FPGA与CPLD总结

CPLD(complexprogramablelogicdevice)复杂可编程逻辑器件

FPGA(fieldprogramablegatearray)现场可编程门阵列

FPGA和CPLD的逻辑单元本身的结构与SPLD相似,即与阵列和可配置的输出宏单元组成。

FPGA逻辑单元是小单元,每个单元只有1-2个触发器,其输入变量通常只有几个因而采用查找表结构(PROM形式)

这样的工艺结构占用的芯片面积小,速度高(通常只有1-2纳秒),每个芯片上能集成的单元数多,但逻辑单元功能弱。

如果想实现一个较复杂的功能,需要几个这样的单元组合才能完成(总延时是各个单元延时和互连延时的和),互连关系复杂。

CPLD中的逻辑单元是单元,通常其变量数约20-28个。

因为变量多,所以只能采用PAL结构。

由于这样的单元功能强大,一般的

逻辑在单元内均可实现,因而其互连关系简单,一般通过集总总线既可实现。

电路的延时通常就是单元本身和集总总线的

延时(通常在数纳秒至十几纳秒),但是同样集成规模的芯片中的触发器的数量少得多。

从上面分析可知道:

小单元的FPGA较适合数据型系统,这种系统所需要的触发器数多,但是逻辑相对简单;大单元的CPLD较适合

逻辑型系统,如控制器等,这种系统逻辑复杂,输入变量多,但触发器需求量相对较少。

反熔丝工艺只能一次性编程,EPROMEEPROM和FLASH工艺可以反复的编程,但是他们一经编程片内逻辑就被固定。

他们都是

只读型(ROM)编程,这类编程不仅可靠性较高还可以加密。

XILINX公司的FPGA芯片采用RAM型编程,相同集成规模的芯片中的触发器数目较多,功耗低,但是掉电后信息不能保存,必须

与存储器联用。

每次上电时必须先对芯片配置,然后才能使用,这似乎是RAM型PLD的缺点,但是ROM型PLD中的编程信息在使用时

是不能变化的,RAM型PLD却可以在工作时更换内容,实现不同的逻辑。

CPLD和FPGA的结构,性能对照:

CPLDFPGAPROM

集成规模:

小(最大数万门)大(最高达百万门)

单元粒度:

大(PAL结构)小(PROM结构)

互连方式:

集总总线分段总线长线专用互连

编程工艺:

EPROMEEPROMFLASHSRAM

编程类型:

ROMRAM型须与存储器联用

信息:

固定可实时重构

触发器数:

少多

单元功能:

强弱

速度:

高低222222222222222222222222222222222222

延迟:

确定,可以预测不能确定不能预测

功耗:

高低

加密性能:

可加密不能加密

适用场合:

逻辑型系统数据型系统

LCA(LOGICCELLARRAY)逻辑单元阵列

CLB(CONFIGURABLELOGICBLOCK)可配置逻辑模块

IOB(INPUTOUTOUTBLOCK)输入输出块

Spartan-xl系列FPGA的主要特性

SPARTAN-XL系列的FPGA具有低压,低功耗的特点。

随着外界提供的电压降低到3.3v,该系列FPGA比在5v电压工作下的功耗降低

了一半。

此外该系列FPGA为计数器和算术应用提供了更高的速度,工作频率超过120MHz。

SPARTAN-XL系列FPGA是唯一提供片上RAM代替ASCI设计FPGA产品。

这种片上RAM就是可选RAM存储器,可有效的用于FIFO,位移存储等设计。

SPARTAN-XL系列FPGA采用了标准的FPGA结构,主要包括3个部分:

1:

可配置逻辑块(CLBs):

CLBs用于实现用户设计的逻辑功能;(包括3个查找表LUT,他们用做逻辑函数发生器,还有两个触发器以及

两组信号多路选择器)

2:

输入输出块(IOBs):

IOBs提供芯片的封装引脚与内部信号连线之间的接口;

3:

布线资源:

其用于CLBs和IOBs的输入和输出之间的连接;

SPARTAN-XL系列的FPGA存储器的配置模式主要有两种:

单端RAM和双端RAM。

对于这两种模式,写操作是同步的(边沿触发),而读操作是异步

的。

在单端模式中,一个CLB可配置一个16*1,或(16*1)*2,或是32*1的RAM阵列。

在双端模式下,一个CLB仅能配置成一个16*1的RAM阵列。

SPARTAN-Ⅱ系列FPGA是XILINX公司生产的代替ASIC的第二代FPGA产品。

该系列FPGA密度高达5292个逻辑元胞,即20*10000个系统门,采用基于

VIRTEXTM结构的流水线新结构,片内含有嵌入式RAM,并采用先进的0.22/0.18цm半导体工艺,6层板结构。

具有无限可编程性。

SPARTAN-Ⅱ系列FPGA的主要特性:

SPARTAN-Ⅱ系列FPGA芯片采用低压布线结构。

片内含有丰富的寄存器/锁存器,时钟使能信号,同步,异步置位/复位信号。

为了增强时钟

控制提供了4个精确的延时锁项环(DLLs);含有4个主要全局低偏移时钟分配网络,以及24个次全局网络;有两种类型的片上随机存取内存

(SELECTRAMTM):

块状分布式RAM。

为满足高速预算设计的进位逻辑提供精确的乘法器,以适应各种PCI应用。

SPARTAN-Ⅱ系列FPGA的基本结构原理:

SPARTAN-Ⅱ系列FPGA主要包括5个可配置部分:

1:

可配置逻辑块(CLBs),用于实现大部分逻辑功能;(构成CLB的基本结构是逻辑元胞LC,一个LC包括一个4输入的函数发生器,进位逻辑和一个存储部分。

每个LC中,函数发生器的输出既是CLB的输出又是D触发器的输入。

每个SPARTAN-Ⅱ系列FPGA包括4个LCs。

每个CLB由相似的两个单元构成。

除了4个基本的LCs之外,SPARTAN-Ⅱ系列FPGACLB还包括可以提供5输入或是6输入的函数发生器。

因此在估计所给器件系统门数时,应以每个CLB包含4.5个LCs计算。

2:

在CLBs的周围分布着可编程的输入输出(IOBs),提供引脚与内部逻辑之间的连接接口;

3:

丰富的多层互连结构;

4:

片上随机存去内存(SELECTRAMTM);

5:

DLL时钟控制块;

SPARTAN-Ⅱ系列FPGA的先进结构

1:

块状RAM

在SPARTAN-Ⅱ系列FPGA中有几个大的块状RAM。

这些块状RAM是按列排列的。

所有SPARTAN-Ⅱ系列FPGA器件都有两个这样的列,他们沿着芯片垂直边排列。

每个块状RAM有4个CLBs高,因此一个有8个CLBs高的SPARTAN-Ⅱ系列FPGA芯片每列有两个块状RAM,整个芯片共有4块RAM。

每个块状RAM是一个完全同步的有4096bit的双端RAM,其中每一端都有独立的控制信号。

可独立配置两个端口的数据宽度。

2:

延迟锁项环(DLL)

在SPARTAN-Ⅱ系列FPGA中,没个全局时钟输入缓冲器相连有一个全数字式的延迟锁项环,DLL可使时钟输入信号与整个芯片内部的时钟输入引脚之间偏差减少到最小。

每个DLL可以驱动两个全局时钟网络。

DLL控制输入时钟,分布的时钟并可以自动调整时钟的延迟。

XILINX高密度系统级FPGA的结构与工作原理

VIRTEXTM-E1.8v系列FPGA:

VIRTEXTM-E系列FPGA是高性能,高密度的可编程逻辑器件。

采用了先进的6层金属0.18цm的CMOS工艺,优化的新型结构,使硅片得到了有效的利用。

VIRTEXTM-E1.8v系列FPGA的主要特性

高速,高密度的VIRTEXTM-E1.8v系列FPGA专为低压操作设计。

其系统门数从58k到4M;可提供高达130MHz的内部性能;PCI适用于3.3v,32/64位,33/66MHz。

该系列FPGA还具有高灵活的SELECTI/OTM技术,可支持20种高性能的I/O接口标准并具有高达804个单端I/O口或344对差分I/O口。

支持差分信号LVDS(622Mb/s),BLVDS(总线LVDS),LVPECL;差分的I/O信号口可做输入,输出或是I/O口;并兼容标准差分设备;其中LVPECL和LVDS的输入为300MHz。

并且该系列FPGA还拥有独有的高性能SELECTLINKTM技术。

芯片内部包括1Mb的内部可配置分布式RAM以及高达832k的内部块状RAM;存储器的带宽达到1.66Tb/s;为外部存储器提供高性能的接口;并提供200MHzZBTSRAMs(ZBT是一种集成技术的商标)及200Mb/s的DDRSDRAMs。

该系列FPGA还具有高性能的时钟控制环。

片内有八个全数字化的延迟锁项环(DLLs)可对时钟倍频和分频,该系列FPGA还提供多种先进的封装形式:

0.88mm的芯片封装,1.0mm的BGA,1.27mm的BGA,HQ/PQ等封装形式。

VIRTEXTM-E1.8v系列FPGA的基本结构原理

VIRTEXTM-E系列FPGA器件基本结构主要包括:

1:

可配置逻辑单元(CLBs)。

CLBs用于实现用户设计的逻辑功能;(可编程逻辑块CLB的基本单元是逻辑元胞(LC)。

一个LC包括一个4输入的函数发生器,进位逻辑和一个存储部分。

在每个LC中,函数发生器的输出即可以作为CLB的输出信号,也可以作为D触发器的输入信号。

每个CLB包括4个LCs,他们位于相同的两个单元中。

)每个CLB中有4条直接回读路径,每一个单元有两条。

这些路径提供了附加的数据输入线,减少了逻辑资源消耗。

此外,每个CLB中还有两个三态缓冲器(BUFTs),他们可以驱动片上总线。

每个BUFT有一个独立的三态控制引脚和一个独立的输入引脚。

2:

输入输出块(IOBs)。

IOBs提供封装引脚与内部信号之间的接口;

3:

丰富的布线资源。

它提供CLBs和IOBs的输入输出之间的连接,使VIRTEXTM-E系列器件能适用更大,更复杂的设计。

VIRTEXTM-E1.8v中的1.8v是核心电压,他还有与之配置的I/O引脚的外部电压(其值取决与配置工作电压可以是1.82.53.3)。

VIRTEXTM-E系列FPGA先进的结构特征:

VIRTEXTM-E系列FPGA提供了大量的片上和片外RAM资源。

除了片上分布式SELECTRAM和块状SELECTRAM,一个VIRTEXTM器件也可以直接与片外兆字节的高速SRAMs和DRAMs相接。

高速SELECTI/OTM和片上时钟延迟锁项环(DLL)使系统以最大的RAM速度操作。

VIRTEXTM2.5v系列FPGA的结构和功能原理

VIRTEXTM2.5v系列FPGA的主要特性:

VIRTEXTM系列FPGA是快速,高密度的可编程门阵列。

其系统门数从50K到1M。

系统性能高达200MHz,并能兼容66MHz的PCI。

可支持多种SELECTI/OTM接口及16种高性能的接口标准,可直接与ZBTRAM器件相连。

该系列FPGA还拥有片内时钟控制电路。

片内有4个精细的延迟锁项环(DLLs),4个低偏移的主全局时钟分配网络,以及24个次级全局时钟网络。

拥有分等级的存储器系统。

查找表(LUTs)可配置16bitRAM,32bitRAM,16bit双端RAM,以及16bit的移位寄存器。

可配置的同步双端4KbitRAM。

并可以提供与外部高性能的RAMs的快速接口。

为运算提供精细的进位逻辑及精细的乘法器。

丰富的寄存器/锁存器,他们带有时钟使能信号和同步/异步置位/复位信号。

VIRTEXTM2.5v系列FPGA的基本结构原理

VIRTEXTM2.5v系列FPGA的器件主要包括两个可配置部分:

1:

可配置逻辑单元(CLBs):

用于实现用户设计的逻辑功能;

2:

输入输出模块(IOBs):

IOBs提供封装引脚与CLBs之间的接口。

CLBs利用一个通用的布线矩阵(GRM)实现互连。

GRM由位于水平和垂直布线通道交叉点上的一组布线开关构成。

每个CLB嵌入一个VersaBlockTM中,他提供CLB与GRM的局部互连。

VersaRingTMI/O接口为器件周围的外设部分提供了布线资源。

此外VIRTEXTMFPGA系列器件结构还包括以下与GRM相连的一些电路:

1:

精细的块状存储器(每个有4096bit);

2:

时钟延迟锁项环(DLLs),用于缩小时钟分配延时及对时钟主频控制

3:

与每个CLB相连的三态缓冲器(BUFT)

VIRTEXTM系列FPGA器件的各个部分结构与VIRTEX-ETM系列的FPGA器件结构相类似

VIRTEXTM2.5v系列的FPGA采用了CSTQPQ/HQBGFG等多种新型的封装形式XILINXCPLD的基本结构和工作原理

XILINX公司的CPLD以其操作灵活,使用方便,开发迅速,投资风险低,编程/擦除达10000次以上等特点,成为一种用于硬件电路优化设计的具有竞争力的产品。

XILINX的CPLD主要有5v的XC9500系列和3.3v的XC9500XL系列,以及低工耗的CoolRunnerCPLD系列。

各种系列的CPLD为设计师们从实现简单的PAL综合设计到先进的实时硬件现场升级的全套方案。

经验证的引脚锁定功能,最先进的JTAG测试功能,使设计者的编程,测试和设计实验更为方便,快捷。

低功耗的CoolRunnerCPLD的结构原理

CoolRunnerTMXPLA3系列CPLD的主要特性:

CoolRunnerTMXPLA3系列CPLD采用先进的0.53μm,5个金属层的EECOMS工艺制造。

其整个COMS结构采用FZP(FastZeroPower)设计技术,既可以保证超低功耗又可以保证教高的速度。

该系列CPLD的静态功耗极小且输入寄存器的信号建立时间仅为2.0ns,引脚至引脚延时仅为5.0ns。

其工作电压为3.3v,并具有5v的容差。

片内可提供多种时钟选择,增强了设计的灵活性。

CoolRunnerTMXPLA3系列CPLD的基本结构原理:

XPLA3主要由用一个零功耗的互连阵列(ZIA)互连在一起的逻辑块构成。

ZIA是一个虚拟的交叉开关。

每个逻辑块有36条输入来自ZIA,并包含16个宏单元。

该结构与其他的CPLD结构类似。

但是XPLA3系列CPLD的独特之处在于每个逻辑块内部逻辑的布局以及用于实现这些逻辑块的设计技术不同的。

XC9500系列CPLD结构和工作原理:

XC9500系列CPLD采用了ISP技术。

采用ISP技术之后,器件编程不需要硬件编程器,只需要一根下载电缆通过下载软件和器件的编程接口相连即可实现。

并且,可以在产品设计和制造的任何一个环节,甚至在产品卖给最终用户之后,仍可以方便地改写ISP器件的逻辑功能,即可通过软件进行硬件升级。

XC9500系列CPLD器件的主要特性

XC9500系列CPLD是一种采用先进的FastFlashISP技术的CPLD。

其采用基于Flash的0.35μm技术,可以提供10000次以上的编程/擦除周期。

该系列CPLD的宏单元数从36个到288个。

器件封装的引脚数从44个到352个;有PLCCVQFPCSPTQFPPQFPHQFPBGACSP(ChipScalePackage)等芯片封装形式。

XC9500系列CPLD共分为5.0v,3.3v和2.5v三种CPLD系列:

1:

XC9500XV系列CPLD:

2.5vISP;引脚至引脚延时3.5ns,f=200MHz;多种电压的I/O接口;可支持的电压3.3/2.5/1.8v;

2:

XC9500XL系列CPLD:

3.3vISP;引脚至引脚延时4ns,f=196MHz;多种电压的I/O接口;可支持的电压5.0/3.3/2.5v;

3:

XC9500系列CPLD:

5.0vISP;引脚至引脚延时5ns,f=125MHz;多种电压的I/O接口;可支持的电压5.0/3.3v;

XC9500XL3.3V系列CPLD的结构:

每一个XC9500XL系列CPLD由多个功能块(FB)和I/O块(IOB)组成,可用开关距阵FastCONNECTⅡ完全互连的子系统,IOB提供器件输入和输出缓冲,每个FB提供具有54个输入和18个输出的可编程逻辑的内容量,可用开关距阵FastCONNECTⅡ连接所有的FB的输出,输入信号。

每个FB,有高达18个输出(根据封装的引脚数)和相对应的输出使能信号直接驱动IOBs。

各种CPLD与FPGA的区别:

1:

XC9500Flash工艺PLD,常见型号有XC9536,XC9572,XC95144。

95是型号。

型号后两位表示宏单元数量

2:

CoolRunner(XPLA3)原是PHILIPS的PLD产品,99年被Xilinx收购,特点是功耗很低,可以用于电池供电系统,已经被CoolRunnerII取代。

3:

CoolRunner-II最新一代1.8v低功耗PLD产品,适合用于电池供电系统

4:

XC4000主要有XC4000E(5v),XC400XL/XLA(3.3v),XC4000XV(2.5v)容量从64到8464个CLB,属较早期的产品,基本不推广。

5:

SPARTAN:

中等规模SRAM工艺FPGA,已经被SpartanIIE等新产品取代。

6:

SPARTAN-II:

2.5vSRAM工艺FPGA,SPARTAN的升级产品

7:

Spartan-IIE:

1.8v中等规模FPGA,与Virtex-E的结构基本一样,是VirtexE的低价格版本,主流器件。

8:

Virtex/Virtex-E:

大规模SRAM工艺FPGA,逐渐被VirtexII取代

9:

Virtex-II:

新一代大规模SRAM工艺FPGA产品,主流器件

10:

Virtex-IIpro:

基于VirtexII的结构,内部集成CPU和高速接口的FPGA产品

11:

SpartanIII:

最新一代FPGA产品,结构与VirtexII类似,90nm工艺。

12:

SpartanIII:

最新一代FPGA产品,结构与VirtexII类似,90nm工艺,将于2004年逐步开始量产

13:

Virtex-4SX:

侧重数字信号处理,DSP模块比较多,预计2006年年初开始量产

14:

Virtex-4FX:

集成PowerPC和高速接口收发模块,预计2006年年初开始量产

门”一般用于ASIC的规模衡量,对于FPGA来讲,基本逻辑单元(LE:

ALTERA概念)才是最准确的。

一个基本逻辑单元包含一个触发器、一个四输入LUT和级连链、进位链等。

XILINX的器件通常用CLB或者SLICE来衡量,不同的器件,一个CLB含2个、4个SLICE不等,但是一个SLICE含两个基本逻辑单元。

LC是XILINX自造的一个概念,是因为如果用基本逻辑单元来算,虽然ALTERA和XILINX的某款器件一样,但是实际上XILINX的器件因为多了MUXF5、MUXF6、MUXF7这些咚咚,所以实际上可以实现更多的功能。

XILINX于是把多出来的这些ALTERA没有的咚咚折算成四分之一个基本逻辑单元。

一般来说,一个FPGA的基本逻辑单元相当于ASIC的7到15个门,为什么不是一个确切值?

因为每一个基本逻辑单元的用法不一样。

比如有的LUT只用了一个输入,有的却是4个全用了。

FPGA厂家宣传的FPGA的门数通常是SystemGates,包含了RAM、JTAG等等,其实对于衡量逻辑容量的意义不是很大。

FPGA等效门数的计算方法有两种,一是把FPGA基本单元(如LUT+FF,ESB/BRAM)和实现相同功能的标准门阵列比较,门阵列中包含的门数即为该FPGA基本单元的等效门数,然后乘以基本单元的数目就可以得到FPGA门数估计值;二是分别用FPGA和标准门阵列实现相同的功能,从中统计出FPGA的等效门数,这种方法比较多的依赖于经验数据。

对于第一种方法,FPGA包括LUT/FF/RAM等资源,分析各种资源等效门数时,总原则是等效原则,就是实现相同的功能,在标准门阵列中需要的门数就是FPGA该资源等效门数,例如实现一个带寄存器输出的4输入XOR,在FPGA中需要用一个LUT和1个FF实现,在标准门阵列中一般要用21个与非门实现,于是1个LUT+1个FF等效于21个门。

对ESB(BRAM),由于用标准门阵列实现1bit的RAM时一般需要4个门,因此ESB/BARM做RAM使用时,1bit等效4个门,对AlteraFPGA中一个2048bit的ESB,等效门数为8K。

光靠这些数据还不能比较准确地计算出FPGA的等效门数。

因为这只是一种简单情况,实际情况要复杂很多。

例如,如果实现的是带寄存器输出地2输入XOR,FPGA也要用1个LUT+FF,而标准门阵列只需要8个NAND,于是1个LUT+1个FF只等效于8个门。

同时特定功能的实现,在不同的标准门阵列系列中需要的门数也不一样,因此等效门的计算只能是个大概的数值。

也就是说对于某一具体型号FPGA的门数估计,与FPGA资源的用途有密切关系。

LUT用于实现2输入XOR和4输入XOR等效门数不一样(分别为1和13);FF不带异步清零、复位、时钟使能和带这些端口的等效门数不同(分别为8和13);ESB(BRAM)做RAM使用时,1bit等效4个门,1个2048bit的BRAM等效8K门,但是做查找表使用时可能只相当于不到200门。

因此估计FPGA的等效门数需要做更细致的分析。

图1显示了EP20K系列的等效门数等参数,下面以EP20K1000E为例详细说明FPGA等效门数的估计方法。

(1)计算逻辑阵列的等效门数:

估算EP20K1000E的门数时,把FPGA特定资源和LCA300K标准逻辑阵列的门数(LSILCA300KDataBook)比较,可以对FPGA等效门做出估计。

FPGA一个LUT+FF等效门数计算如图2所示即LUT+FF等效于8~21个门,上限和下限分别由实现简单函数、复杂函数分别界定。

APEX20K的等效门数也可以根据经验数据获得,把超过100个针对4输入LUT的设计用FPGA实现,同时用LCA300Kgatearrays和DesignCompiler实现,比较相同的设计FPGA所用的LE数目和LCA300K所用的门数可知,每个LE相当于12个门。

EP20K1000E有38400个LE,于是相当于46万门。

(2)计算ESB的等效门数RAM中一个bit所需要的门数与RAM的体系结构、工艺、厂商等有关,一般而言,1bit相当于4个门,Altera也采用这个标准,这样可以方便地估计ESB等效门数。

计算ESB等效门数也可以采用和LSILCA300K比较的方法,即通过与实现相同容量RAM在LCA300K所用的门数相比较,从而得到ESB的每一bit相当于多少门,从而计算出ESB的等效门数,参考图3。

从上表可见,4gates/bit是一个比较合适的估计,于是EP20K1000E的ESB等效门数为160ESBsX2,048bitsperESBX4gatesperbit=1,310,720gates,即约为130万门。

总而言之,对EP20K1000E,LUT+FF等效门数约为46万(经验数值),ESB全用作RAM时等效门数约为130万,所以最大系统门数为170万。

结论:

FPGA等效门数估计方法可以是把FPGA资源基本单元(如LUT+FF,ESB)和实现相同功能的标准门阵列相比得到FPGA基本单元等效的门数,然后乘以单元的个数得到整个FPGA等效门数。

也可以是实现很多设计,和用标准门阵列相比,从中统计出等效门数。

FPGA的等效门数估计一般分为LUT+FF和ESB(BRAM)两部分,LUT+FF等效于8~21个门,典型值为12;ESB做RAM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1