第2章大规模可编程逻辑器件-PowerPoint演示.ppt

上传人:赵** 文档编号:78650173 上传时间:2023-03-18 格式:PPT 页数:265 大小:5.02MB
返回 下载 相关 举报
第2章大规模可编程逻辑器件-PowerPoint演示.ppt_第1页
第1页 / 共265页
第2章大规模可编程逻辑器件-PowerPoint演示.ppt_第2页
第2页 / 共265页
点击查看更多>>
资源描述

《第2章大规模可编程逻辑器件-PowerPoint演示.ppt》由会员分享,可在线阅读,更多相关《第2章大规模可编程逻辑器件-PowerPoint演示.ppt(265页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第2章 大规模可编程逻辑器件第2章 大规模可编程逻辑器件2.1 可编程逻辑器件概述可编程逻辑器件概述 2.2 复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)2.3 现场可编程门阵列现场可编程门阵列(FPGA)2.4 在系统可编程在系统可编程(ISP)逻辑器件逻辑器件 2.5 FPGA和和CPLD的开发应用选择的开发应用选择 2021/9/171第2章 大规模可编程逻辑器件2.1 可编程逻辑器件概述可编程逻辑器件概述2.1.1 PLD的发展进程的发展进程 最早的可编程逻辑器件出现在20世纪70年代初,主要是可编程只读存储器(PROM)和可编程逻辑阵列(PLA)。20世纪70年代末出现了可编程阵

2、列逻辑(PALProgrammable Array Logic)器件。20世纪80年代初期,美国Lattice公司推出了一种新型的PLD器件,称为通用阵列逻辑(GAL-Generic Array Logic),一般认为它是第二代PLD器件。随着技术的进步,生产工艺的不断改进,器件规模不断扩大,逻辑功能不断增强,各种可编程逻辑器件如雨后春笋般地涌现,如PROM、EPROM、E2PROM等。2021/9/172第2章 大规模可编程逻辑器件 在EPROM基础上出现的高密度可编程逻辑器件称为EPLD或CPLD。现在一般把超过某一集成度的PLD器件都称为CPLD。在20世纪80年代中期,美国Xilinx

3、公司首先推出了现场可编程门阵列(FPGA)器件。FPGA器件采用逻辑单元阵列结构和静态随机存取存储器工艺,设计灵活,集成度高,可无限次反复编程,并可现场模拟调试验证。在20世纪90年代初,Lattice公司又推出了在系统可编程大规模集成电路(ispLSI)。2021/9/173第2章 大规模可编程逻辑器件表表2.1 Altera系列产品主要性能系列产品主要性能2021/9/174第2章 大规模可编程逻辑器件 美国Xilinx公司在1985年推出了世界上第一块现场可编程门阵列(FPGA)器件,最初3个完整的系列产品分别命名为XC2000、XC3000和XC4000,共有19个品种,后又增加了低电

4、压(3.3 V)的“L”系列、多I/O引脚的“H”系列及更高速的“A”系列,并推出了与XC3000兼容的XC3100/A系列,在XC4000的基础上又增加了“E”和“EX”系列。在1995年,Xilinx又增加了XC5000、XC6200和XC8100 FPGA系列,并取得了突破性进展。而后又推出了Spartan和Virture系列。Xilinx还有3个EPLD系列产品:XC7200、XC7300和XC9500,如表2.2所示。2021/9/175第2章 大规模可编程逻辑器件表表2.2 Xilinx系列产品主要性能系列产品主要性能2021/9/176第2章 大规模可编程逻辑器件 Lattice

5、公司成立于1983年,是E2CMOS技术的开拓者,发明了GAL器件,是低密度PLD的最大供应商。该公司于20世纪90年代开始进入HDPLD领域,并推出了pLSI/ispLSI器件,实现了在系统可编程技术(ISP)。ISP使用户能够在无须从系统板上拔下芯片或从系统中取出电路板的情况下,改变芯片的逻辑内容乃至改变整个电子系统的功能。这种技术能大大缩短设计周期,简化生产流程,降低设计成本。Lattice公司目前的pLSI/ispLSI器件主要有6个系列:pLSI/ispLSI1000、2000、3000、5000、6000和8000系列,如表2.3所示。2021/9/177第2章 大规模可编程逻辑器

6、件表表2.3 Lattice系列产品主要性能系列产品主要性能2021/9/178第2章 大规模可编程逻辑器件2.1.2 PLD的种类及分类方法的种类及分类方法 目前生产PLD的厂家有Xilinx、Altera、Actel、Atemel、AMD、AT&T、Cypress、Intel、Motorola、Quicklogic、TI(Texas Instrument)等。常见的PLD产品有:PROM、EPROM、EEPROM、PLA、FPLA、PAL、GAL、CPLD、EPLD、EEPLD、HDPLD、FPGA、pLSI、ispLSI、ispGAL和ispGDS等。PLD的分类方法较多,也不统一,下面

7、简单介绍4种。2021/9/179第2章 大规模可编程逻辑器件 1从结构的复杂程度分类从结构的复杂程度分类 从结构的复杂程度上一般可将PLD分为简单PLD和复杂PLD(CPLD),或分为低密度PLD和高密度PLD(HDPLD)。通常,当PLD中的等效门数超过500门时,则认为它是高密度PLD。传统的PAL和GAL是典型的低密度PLD,其余如EPLD、FPGA和pLSI/ispLSI则称为HDPLD或CPLD。2021/9/1710第2章 大规模可编程逻辑器件 2从互连结构上分类从互连结构上分类 从互连结构上可将PLD分为确定型和统计型两类。确定型PLD提供的互连结构每次用相同的互连线实现布线,

8、所以,这类PLD的定时特性常常可以从数据手册上查阅而事先确定。这类PLD是由PROM 结构演变而来的,目前除了FPGA器件外,基本上都属于这一类结构。统计型结构是指设计系统每次执行相同的功能,却能给出不同的布线模式,一般无法确切地预知线路的延时。所以,设计系统必须允许设计者提出约束条件,如关键路径的延时和关联信号的延时差等。这类器件的典型代表是FPGA系列。2021/9/1711第2章 大规模可编程逻辑器件 3从可编程特性上分类从可编程特性上分类 从可编程特性上可将PLD分为一次可编程和重复可编程两类。一次可编程的典型产品是PROM、PAL和熔丝型FPGA,其他大多是重复可编程的。其中,用紫外

9、线擦除的产品的编程次数一般在几十次的量级,采用电擦除方式的产品的编程的次数稍多些,采用E2CMOS工艺的产品,擦写次数可达上千次,而采用SRAM(静态随机存取存储器)结构,则被认为可实现无限次的编程。2021/9/1712第2章 大规模可编程逻辑器件 4从可编程器件的编程元件上分类从可编程器件的编程元件上分类 最早的PLD器件(如PAL)大多是TTL工艺,但后来的PLD器件(如GAL、EPLD、FPGA及pLSI/ISP器件)都采用MOS工艺(如NMOS、CMOS、E2CMOS等)。目前,一般有下列5种编程元件:熔丝型开关(一次可编程,要求大电流);可编程低阻电路元件(多次可编程,要求中电压)

10、;EPROM的编程元件(需要有石英窗口,紫外线擦除);EEPROM的编程元件;基于SRAM的编程元件。2021/9/1713第2章 大规模可编程逻辑器件2.2 复杂可编程逻辑器件复杂可编程逻辑器件(CPLD)2.2.1 CPLD的基本结构的基本结构 早期的CPLD主要用来替代PAL器件,所以其结构与PAL、GAL基本相同,采用了可编程的与阵列和固定的或阵列结构。再加上一个全局共享的可编程与阵列,把多个宏单元连接起来,并增加了I/O控制模块的数量和功能。可以把CPLD的基本结构看成由逻辑阵列宏单元和I/O控制模块两部分组成。2021/9/1714第2章 大规模可编程逻辑器件 1逻辑阵列宏单元逻辑

11、阵列宏单元 在较早的CPLD中,由结构相同的逻辑阵列组成宏单元模块。一个逻辑阵列单元的基本结构如图2.1所示。输入项由专用输入端和I/O端组成,而来自I/O端口的输入项,可通过I/O结构控制模块的反馈选择,可以是I/O端信号的直接输入,也可以是本单元输出的内部反馈。所有输入项都经过缓冲器驱动,并输出其输入的原码及补码。图2.1中所有竖线为逻辑单元阵列的输入线,每个单元各有9条横向线,称为积项线(或称为乘积项)。在每条输入线和积项线的交叉处设有一个EPROM单元进行编程,以实现输入项与乘积项的连接关系,这样使得逻辑阵列中的与阵列是可编程的。其中,8条积项线用作或门的输入,构成一个具有个积项和的组

12、合逻辑输出;另一条积项线(OE线)连到本单元的三态输出缓冲器的控制端,以I/O端作输出、输入或双向输出等工作方式。2021/9/1715第2章 大规模可编程逻辑器件图2.1 逻辑阵列单元结构图2021/9/1716第2章 大规模可编程逻辑器件 可以看出,早期CPLD中的逻辑阵列结构与PAL、GAL中的结构极为类似,只是用EPROM单元取代了PAL中的熔丝和GAL中的E2PROM单元。和GAL器件一样,可实现擦除和再编程功能。在基本结构中,每个或门有固定乘积项(8个),也就是说,逻辑阵列单元中的或阵列是固定的、不可编程的,因而这种结构的灵活性差。据统计,实际工作中常用到的组合逻辑,约有70%是只

13、含3个乘积项及3个以下的积项和。另一方面,对遇到复杂的组合逻辑所需的乘积项可能超过8个,这又要用两个或多个逻辑单元来实现。器件的资源利用率不高。为此,目前的CPLD在逻辑阵列单元结构方面作了很大改进,下面讨论几种改进的结构形式。2021/9/1717第2章 大规模可编程逻辑器件 1)乘积项数目不同的逻辑阵列单元 图2.2所示是一个具有12个专用输入端和10个I/O端的CPLD,共有10个逻辑阵列单元,分成5个逻辑单元对,各对分别由不同数量的乘积项组成。由图2.2可见,中间的逻辑单元对可实现16个积项和的组合逻辑输出,最外侧的逻辑单元对由8个乘积项组成,其余3对分别由10、12、14个乘积项组成

14、,从而可实现更为复杂的逻辑功能。各逻辑单元中另有一条积项线作输出三态缓冲器的控制。具有这种结构的代表产品为Atmel公司的AT220V10器件。2021/9/1718第2章 大规模可编程逻辑器件图2.2 积项线数不同的逻辑阵列单元2021/9/1719第2章 大规模可编程逻辑器件 2)具有两个或项输出的逻辑阵列单元 图2.3是具有两个固定积项和输出的CPLD的结构图。由图可见,每个单元中含有两个或项输出,而每个或项均有固定的4个乘积项输入。为提高内部各或项的利用率,每个或项的输出均先送到一个由EPROM单元可编程控制的1分2选择电路,即阵列单元中上面的或项输出由选择电路控制,既可输送到本单元中

15、第2级或门的输入端,也可馈送到相邻的下一个阵列单元第2级或门的输入端;2021/9/1720第2章 大规模可编程逻辑器件 同样,阵列单元中下面的或项输出由选择电路控制,可直接送到本单元第2级或门的输入端,也可馈送到相邻的前一个阵列单元中的第2级或门输入端,使本单元不用的或项放到另一单元中发挥其作用。因而每个逻辑阵列单元又可共享相邻单元中的乘积项,使每个阵列可具有4、8、12和16四种组合的积项和输出,甚至本单元中的两个或项都可用于相邻的两个单元中。这样,既提高了器件内部各单元的利用率,又可实现更为复杂的逻辑功能。以这种逻辑单元结构实现的EPLD有Actel公司的EP512器件等。2021/9/

16、1721第2章 大规模可编程逻辑器件图2.3 具有两个固定积项和输出的结构图2021/9/1722第2章 大规模可编程逻辑器件 在Atmel公司的ATV750等器件结构调整中,每个逻辑单元中也含有两个或项,但不同单元中构成或项的积项数却不同,它是分别由4、5、6、7和8个乘积项输入到两个或门所组成的对阵列单元构成的组合阵列。每个单元中的两个或项输出通过输出逻辑模块中的选择电路控制,可实现各自独立的输出,也可将两个或项再“线或”起来实现功能更为复杂的组合逻辑输出,但各个阵列单元中的或项不能为相邻的阵列单元所共享。2021/9/1723第2章 大规模可编程逻辑器件 3)功能更多、结构更复杂的逻辑阵

17、列单元 随着集成规模和工艺水平的提高,出现了大批结构复杂、功能更多的逻辑阵列单元形式。如Altera公司的EP1810器件采用了全局总线和局部总线相结合的可编程逻辑宏单元结构:采用多阵列矩阵(MAXMultiple Array Matrix)结构的大规模CPLD器件,如Altera公司的EPM系列和Atmel公司的ATV5000系列器件;采用通用互连矩阵(UIMUniversal Interconnect Matrix)及双重逻辑功能块结构的逻辑阵列单元,如Xilinx公司的XC7000和XC9500系列产品。2021/9/1724第2章 大规模可编程逻辑器件 2.I/O控制模块控制模块 CP

18、LD中的I/O控制模块,根据器件的类型和功能不同,可有各种不同的结构形式,但基本上每个模块都由输出极性转换电路、触发器和输出三态缓冲器三部分及与它们相关的选择电路所组成。下面介绍在CPLD中广泛采用的几种I/O控制模块。1)与PAL器件相兼容的I/O模块 如图2.4所示,可编程逻辑阵列中每个逻辑阵列逻辑单元的输出都通过一个独立的I/O控制模块接到I/O端,通过I/O控制模块的选择实现不同的输出方式。根据编程选择,各模块可实现组合逻辑输出和寄存器输出方式。2021/9/1725第2章 大规模可编程逻辑器件图2.4 与PAL兼容的CPLD的I/O控制模块结构2021/9/1726第2章 大规模可编

19、程逻辑器件 2)与GAL器件相兼容的I/O模块输出宏单元 如图2.5所示,从逻辑阵列单元输出的积项和首先送到输出宏单元(OMCOutput Macro Cell)的输出极性选择电路,由EPROM单元构成的可编程控制位来选择该输出极性(原码或它的补码)。每个OMC中还有由EPROM单元构成的两个结构控制位,根据构形单元表,OMC可实现如图2.6所示的4种不同的工作方式。2021/9/1727第2章 大规模可编程逻辑器件图2.5 OMC结构图2021/9/1728第2章 大规模可编程逻辑器件图2.6 OMC的4种不同的工作方式2021/9/1729第2章 大规模可编程逻辑器件 3)触发器可编程的I

20、/O模块 为了进一步改善I/O控制模块的功能,对I/O模块中的触发器电路进行改进并由EPROM单元进行编程,可实现不同类型的触发器结构,即D、T、JK、RS等类型的触发器,如图2.7所示。这种改进的I/O控制模块,可组合成高达50种的电路结构。2021/9/1730第2章 大规模可编程逻辑器件图2.7 触发器可编程的I/O控制模块结构2021/9/1731第2章 大规模可编程逻辑器件 4)具有两路积项和输入与两个触发器结构的I/O控制模块 如图2.8所示,模块中两个触发器可独立地反馈回逻辑阵列。由于这种结构的灵活性,可使触发器成为“内藏(Burried)”工作方式,而且,它具有更多的触发器,很

21、容易实现更为复杂的状态机功能。2021/9/1732第2章 大规模可编程逻辑器件图2.8 具有两路积项和输入与两个触发器的I/O控制模块结构2021/9/1733第2章 大规模可编程逻辑器件 5)具有三路积项和输入与两个触发器的I/O控制模块 如图2.9所示,每个I/O模块可接受三路积项和输入,每路各有4个乘积项。利用EPROM控制单元的编程,可实现下列功能:(1)一路积项和的输出直接馈送到I/O端,而另两路积项和的输出则分别馈送到两个触发器的输入端D1和D2,它们的输出均可为“内藏”工作方式,通过编程控制可反馈到逻辑阵列总线中去。2021/9/1734第2章 大规模可编程逻辑器件图2.9 具

22、有三路积项和输入与两个触发器的I/O控制模块结构2021/9/1735第2章 大规模可编程逻辑器件 (2)在实现组合逻辑输出或寄存器方式输出之前,三路和项还可以通过编程组合在一起,以实现高达12个积项和的组合逻辑输出或寄存器输出。(3)在组合逻辑输出方式中,通过编程控制可实现4、8或12个积项和的组合逻辑输出,而模块中的中、下两路和项仍可分别馈送到两个触发器的D1和D2端,它们的输出Q1和Q2为“内藏”工作方式,可通过编程反馈到逻辑阵列总线中去。(4)在寄存器输出方式中,上、中两路组合成8个积项和自动馈送到触发器D1输入端,而下路的和项除馈送到触发器D2输入端为“内藏”工作方式外,还可与D1共

23、享。2021/9/1736第2章 大规模可编程逻辑器件 (5)两个触发器均可有各自的异步复位和时钟信号:AR1、CLK1和AR2、CLK2,它们由编程逻辑阵列中的4条积项线提供。(6)输出三态缓冲器的控制信号由来自编程逻辑阵列的一条积项线提供。(7)当I/O端作输入端使用,或I/O模块的输出反馈到逻辑阵列总线中去时,均通过同一个反馈缓冲器输出它们的同相和反相两路信号,馈送到逻辑阵列总线中去,而两个触发器的输出Q1和Q2则通过各自的反馈缓冲器,将它们的信号(同相及反相信号)馈送到逻辑阵列总线中去。2021/9/1737第2章 大规模可编程逻辑器件2.2.2 Altera 公司的器件产品公司的器件

24、产品 Altera公司的产品在我国有较多的用户,如EP220、EP224、EP6010、EP1810等经典产品应用颇广。后来推出的EPM系列和EPF系列的集成度更是大大提高,品种多样,性能优越。Altera公司提供了7种通用PLD系列产品:FLEX10K、FLEX8000、MAX9000、MAX7000、FLASHlogic、MAX5000和Classic。FLEX(Flexible Logic Element MatriX)结构使用查找表(LUTLook Up Table)来实现逻辑功能,而多阵列矩阵(MAXMutiple Array MatriX)、FLASHlogic和经典系列,采用可编

25、程“与”/固定“或”乘积项结构。所有Altera器件系列都使用CMOS处理工艺,它比双极性工艺具有更低的功耗和更高的可靠性。2021/9/1738第2章 大规模可编程逻辑器件 1FLEX10K系列器件系列器件 FLEX10K系列器件是高密度阵列嵌入式可编程逻辑器件系列。这类器件最大可达10万个典型门,5392个寄存器;采用0.5 m CMOS SRAM工艺制造;具有在系统可配置特性;在所有I/O端口中有输入/输出寄存器;3.3 V或5.0 V工作模式;由Altera公司的MAX+plus开发系统提供软件支持,可在PC机或工作站上运行。为了增加逻辑系统要求的集成度,可编程逻辑不仅要增加密度,而且

26、要有效地实现大量的逻辑电路。FLEX10K系列以工业上最大的PLD为特征(达到10万门),包括嵌入式阵列、多组低时延时钟和内部三态总线等结构特性,提供了复杂逻辑设计所需的性能和利用主系统级集成的要求。FLEX10K器件可理想地用于复杂门阵列的各种场合,其特性如表2.4所示。2021/9/1739第2章 大规模可编程逻辑器件表2.4 FLEX10K(EPF10K1010K100)器件特性2021/9/1740第2章 大规模可编程逻辑器件 FLEX10K器件的结构类似于嵌入式门阵列。由于有标准的门阵列,嵌入式门阵列在通用的门海结构中实现一般逻辑。除此之外,嵌入式门阵列有专门的芯片面积以实现大的专用

27、功能。嵌入式门阵列在减少芯片面积的同时具有比标准门阵列更快的速度,这是通过嵌入在硅里的函数完成的。然而嵌入的宏函数不能被用户化,限制了设计者的选项。相比之下,FLEX10K器件是可编程的,在调试时,给设计者提供了实现重复设计改变过程中对嵌入宏函数和一般逻辑的完全控制。2021/9/1741第2章 大规模可编程逻辑器件 每个FLEX10K器件包含一个实现存储和专用逻辑功能的嵌入阵列和一个实现一般逻辑的逻辑阵列。嵌入阵列和逻辑阵列的结合提供了嵌入式门阵列的高性能和高密度,可以使设计者在某个器件上实现一个完整的系统。嵌入阵列由一系列嵌入阵列块(EAB)构成。实现存储功能时,每个EAB提供2048比特

28、,可以用来完成RAM、ROM、双口RAM或者FIFO功能。实现逻辑功能时,每个EAB可以提供100600门以实现复杂的逻辑功能,如实现乘法器、微控制器、状态机和DSP(数字信号处理)功能。EAB可以单独使用或多个EAB联合使用以实现更强的功能。2021/9/1742第2章 大规模可编程逻辑器件 逻辑阵列由逻辑块LAB构成。每个LAB包含8个逻辑单元和一个局部连接。一个逻辑单元有一个4输入查找表、一个可编程触发器和一个实现进位和级联功能的专用信号路径。LAB中的8个逻辑单元可用来产生中规模逻辑块,比如8比特计数器、地址译码器或状态机,或者通过逻辑阵列块结合产生更大的逻辑块。每个逻辑阵列块代表大约

29、96个可用逻辑门。2021/9/1743第2章 大规模可编程逻辑器件 FLEX10K内部的信号连接以及与器件管脚的信号连接由快速互连通道完成。快速互连通道是快速的且连续的运行于整个器件行和列的通道。每个I/O管脚由位于快速通道互连的每个行、列两端的I/O单元(IOE)输入。每个IOE包含一个双向I/O缓冲器和一个触发器。这个触发器可用作数据输入、输出或双向信号的输出或输入寄存器。和专用时钟引脚连用时,这些寄存器提供附加的性能。输入时,提供4.2 ns的建立时间和0 ns的保持时间;输出时,这些寄存器提供6.7 ns的保持时间。IOE提供各种功能,比如JTAG BST支持、电压摆率控制、三态缓冲

30、器及开漏输出等。2021/9/1744第2章 大规模可编程逻辑器件 FLEX10K器件在上电时通过保存在Altera串行配置EPROM中的数据或系统控制器提供的数据进行配置。Altera提供EPC1和ECP1441配置EPROM,它们通过串行数据流对FLEX10K器件进行配置。配置数据也可以从系统RAM或Altera的BitBlaster串行下载电缆以及ByteBlaster并行端口下载电缆获得。FLEX10K器件经过配置后,可以装入新的配置数据实现在线重新配置。由于重新配置的时间小于320 ms,在系统运行时可以完成重新配置的实时操作。2021/9/1745第2章 大规模可编程逻辑器件 FL

31、EX10K器件包含一个优化接口,允许微处理器对FLEX10K器件进行串行或并行、同步或异步配置。该优化接口使微处理器把FLEX10K器件当作存储器来处理,并且通过写入虚拟存储地址进行配置,这样设计者就很容易重新配置器件。图2.10给出了FLEX10K的结构框图。每组LE连接到LAB,LAB被分成行和列,每行包含一个EAB。LAB和EAB由快速通道互相连接。IOE位于行通道和列通道的两端。2021/9/1746第2章 大规模可编程逻辑器件图2.10 FLEX10K的结构框图2021/9/1747第2章 大规模可编程逻辑器件 FLEX10K器件提供6个专用输入引脚,驱动触发器的控制输入,以保证高速

32、、低摆率控制信号的有效分配。这些信号使用专用布线通道。这些专用布线通道比快速通道延时小、摆率低。4个全局信号可由4个专用输入引脚驱动,也可由内部逻辑驱动,后者可以提供分频信号或内部异步清零信号。2021/9/1748第2章 大规模可编程逻辑器件 1)嵌入阵列块(EAB)嵌入阵列块是一种在输入、输出端口上带有寄存器的灵活RAM电路,用来实现一般门阵列的宏功能,适合实现乘法器、矢量标量、纠错电路等功能。因为它很大也很灵活,还可应用于数字滤波和微控制器等领域。逻辑功能通过配置过程中对EAB的编程来实现,并产生一个LUT(查找表)。有了LUT,组合功能就可以根据查找表结果来实现,而不是通过计算,比用一

33、般逻辑实现的算法快。这一特点使EAB的快速存取时间得到进一步增强。EAB的大容量允许设计者在一个逻辑级上实现复杂的功能,减少了增加逻辑单元或FPGA的RAM块连接带来的路径延时。例如,一个EAB可以通过8个输入引脚和8个输出引脚来实现44乘法器。参数化的函数,比如LPM函数,可自然而然地利用EAB实现。2021/9/1749第2章 大规模可编程逻辑器件 EAB比后面将要讲到的FPGA更有优势。FPGA是通过小的、分布式的小RAM块阵列实现片上RAM。当RAM的尺寸增大时,这些FPGA RAM块包含不可预测的延时。除此之外,FPGA RAM存在布线问题,因为小的RAM块要被连接在一起组成大的部件

34、。相比之下,EAB可用来实现大的专用RAM部件,免去了不可预测的延时和布线问题。EAB可用来实现同步RAM,它比异步RAM更容易使用。使用异步RAM的电路必须产生RAM的写使能(WE)信号,并确保数据和地址信号符合与写使能信号相关的建立和保持时间要求。与此相反,EAB的同步RAM产生自己的独立写使能信号,并且根据全局时钟的关系进行自定时。使用EAB自定时的RAM只需要符合全局时钟建立和保持时间要求。2021/9/1750第2章 大规模可编程逻辑器件 每个EAB被用作RAM时可以按下列规格进行配置:2568,5124,10242或20481。较大的RAM块可以由多个EAB连接产生。例如,两个25

35、68连接可组成25616的RAM;两个5124的RAM块连接可组成5128的RAM。如果必要,一个器件里的所有EAB可级联形成一个RAM块。EAB可级联成20488的RAM块而不影响定时。Altera的MAX+plus软件自动连接EAB以满足设计者的RAM规格要求。2021/9/1751第2章 大规模可编程逻辑器件 EAB为驱动和控制时钟信号提供灵活的选择,如图2.11所示。EAB的输入和输出可以用不同的时钟。寄存器可以独立地运用在数据输入、EAB输出或地址写使能信号上。全局信号和EAB的局部互连都可以驱动写使能信号。全局信号、专用时钟引脚和EAB的局部互连能够驱动EAB时钟信号。由于逻辑单元

36、可驱动EAB局部互连,所以可以用来控制写信号或EAB时钟信号。每个EAB由行互连馈入信号,其输出可以驱动行和列互连。每个EAB输出最多驱动两个行通道和两个列通道。没有用到的行通道可以由其他逻辑单元驱动。这一特性为EAB输出增加了可用的布线资源。2021/9/1752第2章 大规模可编程逻辑器件图2.11 FLEX10K的EAB2021/9/1753第2章 大规模可编程逻辑器件 2)逻辑阵列块(LAB)FLEX10K的逻辑阵列块包括8个逻辑单元、相关的进位链和级联链、LAB控制信号以及LAB局部互连线,如图2.12所示。LAB构成了FLEX10K结构的“粗粒度”构造,可以有效的布线,并使器件的利

37、用率和性能提高。2021/9/1754第2章 大规模可编程逻辑器件 每个LAB提供4个可供所有8个LE使用的可编程反相控制信号,其中2个可用作时钟信号,另外2个用作清除/置位控制。LAB的时钟可由专用时钟输入引脚、全局信号、I/O引脚或借助LAB局部互连的任何内部信号直接驱动。LAB的置位/清除控制信号由全局信号、I/O信号或借助LAB局部互连的内部信号驱动。全局控制信号一般用作公共时钟、清除或置位信号,因为它们通过该器件时引起的偏移很小,所以可以提供同步控制。如果控制信号需要某种逻辑,则可用任何LAB中的一个或多个LE形成,并经驱动后送到目的LAB的局部互连线上。另外,全局控制信号可由LE输

38、出产生。2021/9/1755第2章 大规模可编程逻辑器件 3)逻辑单元(LE)LE是FLEX10K结构里的最小逻辑单位,它很紧凑,能有效地实现逻辑功能。每个LE含有一个4输入的LUT、一个可编程的具有同步使能的触发器、进位链和级联链,如图2.13所示。LUT是一种函数发生器,它能快速计算4个变量的任意函数。每个LE可驱动局部的以及快速通道的互连。LE中的可编程触发器可设置成D、T、JK或RS触发器。触发器的时钟、清除和置位控制信号可由专用的输入引脚、通用I/O引脚或任何内部逻辑驱动。对于纯组合逻辑,可将触发器旁路,LUT的输出直接驱动LE的输出。2021/9/1756第2章 大规模可编程逻辑

39、器件图2.12 FLEX10K的LAB2021/9/1757第2章 大规模可编程逻辑器件图2.13 FLEX10K的LE2021/9/1758第2章 大规模可编程逻辑器件 LE有两个驱动互连通道的输出引脚:一个驱动局部互连通道,另外一个驱动行或列快速互连通道。这两个输出可被独立控制。例如,LUT可以驱动一个输出,寄存器驱动另一输出。这一特征被称为寄存器填充,因为寄存器和LUT可被用于不同的逻辑功能,所以能提高LE的利用率。2021/9/1759第2章 大规模可编程逻辑器件 FLEX10K的结构提供两条专用高速通路,即进位链和级联链,它们连接相邻的LE但不占用通用互连通路。进位链支持高速计数器和

40、加法器,级联链可在最小延时的情况下实现多输入逻辑函数。级联链和进位链可以连接同一LAB中的所有LE和同一行中的所有LAB。因为大量使用进位链和级联链会限制其他逻辑的布局与布线,所以建议只在对速度有较高要求的情况时使用。2021/9/1760第2章 大规模可编程逻辑器件 进位链提供LE之间非常快(0.2 ns)的进位功能。来自低位的进位信号经进位链送到高位,同时送到LUT和进位链的下一级。这一特点使FLEX10K能够实现高速计数器和任意位数的加法器和比较器。利用级联链,FLEX10K可以实现扇入很多的逻辑函数。相邻的LUT用来并行地计算函数的各个部分,级联链把中间结果串联起来。级联链可以使用逻辑

41、“与”或者逻辑“或”(借助狄摩根的反演定律)来连接相邻LE的输出。每增加一个LE,函数的有效输入个数增加4个,其延时大约增加0.7 ns。MAX+plus编译器在设计处理期间会自动建立级联链,设计者在设计输入过程中也可以手工插入级联链。2021/9/1761第2章 大规模可编程逻辑器件 4)快速通道互连 在FLEX10K的结构中,快速通道互连提供LE和I/O引脚的连接,它是一系列贯穿整个器件的水平或垂直布线通道。这个全局布线结构即使在复杂的设计中也可预知性能。而在FPGA中的分段布线却需要开关矩阵连接一系列变化的布线路径,这就增加了逻辑资源之间的延时并降低了性能。快速互连通道由跨越整个器件的行

42、、列互连通道构成。LAB的每一行由一个专用行连线带传递。行互连能够驱动I/O引脚,馈给器件中的其他LAB。列连线带连接行与行之间的信号,并驱动I/O引脚。2021/9/1762第2章 大规模可编程逻辑器件 一个行通道可由一个LE或三个列通道之一来驱动。这4个信号馈入到连接两个专用行通道的双口4选1多路选择器。这些多路选择器连接到每个LE,即使LAB里的8个LE全都驱动行连接带,仍然允许列通道驱动行通道。LAB的每列由专用列连接带服务。行连接带可驱动I/O引脚或其他行的互连,向器件中其他的LAB传递信号。一个来自列互连的信号可以是LE的输出信号或者I/O引脚的输入,它必须在进入EAB或LAB之前

43、传递给行连接带。每个由IOE或EAB驱动的行通道可以驱动一个专用列通道。2021/9/1763第2章 大规模可编程逻辑器件 行、列通道的进入可以由相邻的LAB对其中的LE来转换。例如,一个LAB中,一个LE可以驱动由行中的相邻的LAB的某个特别的LE正常驱动的行、列通道。这种灵活的布线使得布线资源得到更有效的利用,如图2.14所示。为了提高布通率,行互连有全长通道和半长通道。全长通道连接一行中的所有LAB,半长通道连接半行中的LAB。EAB可由左半行中的半长通道驱动,也可由全长通道驱动。EAB驱动全长通道的输出。除了提供可预知的行范围互连,这种结构还增加了布线资源。两个相邻的LAB可通过行通道

44、来连接,因此为另一个半行保留了另一半的通道。2021/9/1764第2章 大规模可编程逻辑器件图2.14 LAB到行或列互连2021/9/1765第2章 大规模可编程逻辑器件 除了通用功能的I/O引脚外,FLEX10K器件有6个专用输入引脚,提供器件中的低摆率信号。这6个输入可用于全局时钟信号、清除信号、置位信号和周边输出使能信号以及时钟使能控制信号。这些信号与器件中所有LAB和IOE的控制信号一样可被利用。专用输入信号可被用于通用数据输入,因为它们可以输入到器件的每个LAB的局部互连。然而,把专用输入信号作为输入则为控制信号网络引入了额外的延时。图2.15表示了FLEX10K的互连资源。其中

45、每个LAB根据其位置标号表示其所在位置,位置标号由表示行的字母和表示列的数字组成。例如,LAB B3位于B行3列。2021/9/1766第2章 大规模可编程逻辑器件图2.15 FLEX10K的互连资源2021/9/1767第2章 大规模可编程逻辑器件 5)I/O单元(IOE)一个I/O单元(IOE)包含一个双向的I/O缓冲器和一个寄存器。寄存器可作输入寄存器使用,这是一种需要快速建立时间的外部数据的输入寄存器。IOE的寄存器也可当作需要快速“时钟到输出”性能的数据输出寄存器使用。在有些场合,用LE寄存器作为输入寄存器会比用IOE寄存器产生更快的建立时间。IOE可用作输入、输出或双向引脚。MAX

46、+plus编译器利用可编程的反相选项,在需要时可以自动将来自行、列连线带的信号反相。图2.16表示了FLEX10K的I/O单元(IOE)。2021/9/1768第2章 大规模可编程逻辑器件图2.16 FLEX10K的I/O单元(IOE)2021/9/1769第2章 大规模可编程逻辑器件 I/O控制信号网络,也称外围控制总线,从每个IOE中选择时钟、清除、输出使能控制信号。外围控制总线利用高速驱动器使器件中电压摆率达到最小。它可以提供多达12个外围控制信号,划分如下:8个输出使能信号;6个时钟使能信号;2个时钟信号;2个清除信号。如果需要大于6个的时钟信号或大于8个的输出使能信号,每个IOE可由

47、专用LE驱动的时钟使能和输出使能信号控制。除了外围控制总线上的两个时钟信号外,每个IOE可使用两个专用时钟引脚之一。每个外围信号可由任意专用输入引脚或特定行中每个LAB的第一个LE驱动。另外,不同的行里的LE可驱动一个列连线带,可产生一个行连线带以驱动周边控制信号。芯片级的置位信号可以置位所有IOE寄存器,且优先于其他控制信号。2021/9/1770第2章 大规模可编程逻辑器件 控制总线的信号也可以驱动4个全局信号,内部生成的信号可以驱动全局信号,提供与输入信号驱动相同的低摆率、低延时特性。这个特性对内部生成清除信号或多扇入的时钟信号是理想的。芯片级输出使能引脚低电平有效,可用于器件的所有三态

48、引脚。这个选项可由设计文件设定。另外,IOE的寄存器也可被置位为引脚置位。行到IOE的连接。当IOE用作输入信号时,它可以驱动两个独立的行通道。该行中的所有LE都可访问这个信号。IOE作为输出信号时,其输出信号由一个从行通道实现信号选择的多路选择器驱动。连接每一行通道的每个边IOE可达8个,如图2.17所示。2021/9/1771第2章 大规模可编程逻辑器件图2.17 FLEX10K行到IOE的连接2021/9/1772第2章 大规模可编程逻辑器件 列到IOE的连接。当IOE作为输入时,可驱动两个独立的列通道。IOE作为输出时,其输出信号由一个对列通道进行选择的多路选择器驱动。两个IOE连接列

49、通道的每个边。每个IOE可由通过多路选择器的列通道驱动,每个IOE可访问的列通道的设置是不同的,如图2.18所示。FLEX10K器件为每个I/O引脚提供一个可选的开漏输出(等效于集电极开路)。开漏输出使得器件能够提供系统级的控制信号(例如,中断和写信号)。2021/9/1773第2章 大规模可编程逻辑器件图2.18 FLEX10K列到IOE的连接2021/9/1774第2章 大规模可编程逻辑器件 2FLEX8000系列器件系列器件 FLEX8000系列器件是高密度阵列嵌入式可编程逻辑器件系列,采用0.5 m CMOS SRAM工艺制造;具有在系统可配置特性;在所有I/O端口中有输入/输出寄存器

50、;3.3 V或5.0 V工作模式;由Altera公司的MAX+plus开发系统提供软件支持,可在PC机或工作站上运行。2021/9/1775第2章 大规模可编程逻辑器件 FLEX8000系列的结构包含一个大规模的紧凑型逻辑单元积木块矩阵。每个逻辑单元(LELogic Element)含有一个4输入查找表(LUTLook Up Table)和一个可编程寄存器。前者提供实现组合逻辑功能,后者具有时序逻辑能力。LE的这种细区组结构可高效地实现逻辑功能。8个LE组合成一个逻辑阵列块(LABLogic Array Block)。每个LAB是一种独立结构,带有公用输入、互连和控制信号。LAB的这种大区组结

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁