可编程逻辑器件_第1页
可编程逻辑器件_第2页
可编程逻辑器件_第3页
可编程逻辑器件_第4页
可编程逻辑器件_第5页
已阅读5页,还剩168页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章FPGA/CPLD结构与应用3.1概述2.2可编程逻辑器件的根本结构2.3可编程逻辑器件的根本资源2.4可编程逻辑器件的编程元件2.5Altera公司的可编程逻辑器件习题3.1概述3.1可编程逻辑器件按集成度分类

集成度是可编程逻辑器件的一项很重要的指标,如果从集成密度上分类,可分为简单可编程逻辑器件(SPLD)和高密度可编程逻辑器件(HDPLD)。通常将PROM、PLA、PAL和GAL这四种PLD产品划归为简单可编程逻辑器件,而将CPLD和FPGA统称为高密度可编程逻辑器件,如图2-1所示。图3-1可编程逻辑器件按集成度分类3.1可编程逻辑器件的其他分类方法目前常用的可编程逻辑器件都是从“与-或阵列〞和“门阵列〞两类根本结构开展起来的,所以又可从结构上将其分为两大类:(1)PLD器件——根本结构为与或阵列的器件。(2)FPGA器件——早期的根本结构为门阵列,目前已开展到逻辑单元(包含了门、触发器等)阵列。PLD是最早的可编程逻辑器件,它的根本逻辑结构由与阵列和或阵列组成,能够有效地实现“积之和〞形式的布尔逻辑函数。FPGA是最近10年开展起来的另一种可编程逻辑器件,它的根本结构类似于门阵列,能够实现一些较大规模的复杂数字系统。PLD主要通过修改具有固定内部电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程。所有的CPLD器件和FPGA器件均采用CMOS技术,但它们在编程工艺上有很大的区别。如果按照编程工艺划分,可编程逻辑器件又可分为四个种类:(1)熔丝(Fuse)或反熔丝(Antifuse)编程器件。PROM器件、Xilinx公司的XC5000系列器件和Actel的FPGA器件等采用这种编程工艺。(2)U/EPROM编程器件,即紫外线擦除/电可编程器件。大多数的FPGA和CPLD用这种方式编程。(3)E2PROM编程器件,即电擦写编程器件。GAL器件、ispLSI器件用这种方法编程。(4)SRAM编程器件。Xilinx公司的FPGA是这一类器件的代表。3.2PLD原理PLD器件种类较多,不同厂商生产的PLD器件结构差异较大,不能够逐一介绍,本节选择PLD器件中一些具有代表性的结构来说明其实现的主要逻辑功能。图2-2所示为PLD器件的根本结构框图,它由输入缓冲电路、与阵列、或阵列、输出缓冲电路等四局部组成。其中“与阵列〞和“或阵列〞是PLD器件的主体,逻辑函数靠它们实现;输入缓冲电路主要用来对输入信号进行预处理,以适应各种输入情况;输出缓冲电路主要用来对输出信号进行处理,用户可以根据需要选择各种灵活的输出方式(组合方式、时序方式等)。我们知道,任何组合逻辑函数均可化为与或式,用“与门-或门〞二级电路实现,而任何时序电路又都是由组合电路加上存储元件(触发器)构成的,因而PLD的这种结构对实现数字电路具有普遍的意义。图2-2PLD器件的根本结构框图2.2.1PLD电路的表示方法及有关符号可编程逻辑器件有一个相同的根本结构,其核心由与阵列和或阵列构成。由于阵列规模一般远大于普通电路,用传统的器件符号已不能满足PLD原理图的需要,因此在PLD中,有关器件有其专门的表示方法。1.PLD缓冲器表示法为了使输入信号具有足够的驱动能力并产生原码和反码两个互补的信号,PLD的输入缓冲器和反响缓冲器都采用互补的输出结构,如图2-3所示。图中B=A,C=A。图2-3PLD输入缓冲器电路2.PLD与门表示法图2-4(a)、(b)所示分别为一个四输入与门的习惯表示法和PLD表示法,图中Y=A·B·C假设有逻辑表达式Y=A·A·B·B,那么显然此时D恒为电平“0〞,PLD对此有专门的简化表示法,如图2-4(c)、(d)所示。

图2-4与门表示法3.或门表示法图2-5所示为一个三输入或门的习惯表示法和PLD表示法,图中D=A+B+C。

4.PLD连接的表示法图2-6所示为PLD中阵列交叉点上三种连接方式的表示法。其中,交叉处为“·〞的表示纵、横两线固定连接,不能通过“编程〞手段使其断开;交叉处为“×〞的表示该处为可编程连接,即通过“编程〞可使该处断开;交叉处无任何符号的表示纵、横不连接。图2-5或门表示法图2-6PLD连接表示法2.2.2与-或阵列“与-或阵列〞是PLD器件中最根本的结构,通过编程改变“与阵列〞和“或阵列〞的内部连接,就可以实现不同的逻辑功能。依据可编程的部位可将SPLD器件分为可编程只读存储器PROM、可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL等4种最根本的类型,如表2-1所示。表2-14种SPLD器件的区别器件名与阵列或阵列输出电路PROM固定可编程固定PLA可编程可编程固定PAL可编程固定固定GAL可编程固定可组态PROM中包含一个固定连接的“与阵列〞和一个可编程连接的“或阵列〞,其示意图见图2-7。图中的PROM有4个输入端、16个乘积项、4个输出端。其中“·〞表示固定连接点,“×〞表示可编程连接点。PLA中包含一个可编程连接的“与阵列〞和一个可编程连接的“或阵列〞,如图2-8所示。PAL和GAL的根本门阵列局部的结构是相同的,即“与阵列〞是可编程的,“或阵列〞是固定连接的。它们之间的差异除了表现在输出结构上,还表现在PAL器件只能编程一次,而GAL器件那么可以实现再次编程,这一点使得GAL器件更受用户的欢送。图2-7PROM示意图图2-8PLA示意图2.2.3宏单元与或阵列在PLD器件中只能实现组合电路的功能,PLD器件的时序电路功能那么由包含触发器或存放器的逻辑宏单元实现,宏单元也是PLD器件中的一个重要的根本结构。PLD器件的主要生产商Altera、Xilinx、Lattice和AMD公司等在各自的PLD产品的宏单元设计上有着各自的特点,总的来说,逻辑宏单元结构具有以下几个作用:(1)提供时序电路需要的存放器或触发器。(2)提供多种形式的输入/输出方式。(3)提供内部信号反响,控制输出逻辑极性。(4)分配控制信号,如存放器的时钟和复位信号,三态门的输出使能信号。2.3可编程逻辑器件的根本资源可编程逻辑器件可以由用户编程实现特定要求的功能,主要是由于其提供了四种可编程资源,即位于芯片中央的可编程功能单元;位于芯片四周的可编程I/O引脚;分布在芯片各处的可编程布线资源和片内存储块RAM。本节以FPGA为例,对这些资源作概括介绍。2.3.1功能单元可编程逻辑器件有以下三种根本的功能单元。1.RAM查找表在RAM查找表结构中,RAM存储器中需预先存入所要实现函数的真值表数值,输入变量作为地址,用来从RAM存储器中选择相应的数值作为逻辑函数的输出值,这样就可以实现输入变量的所有可能的逻辑函数。2.基于多路开关的功能单元采用基于多路开关的功能单元是基于如下的考虑:只要在多路开关的输入端放置输入的变量、反变量、固定的0和1等相应的组合,两输入变量的所有函数就可以由单个2选1的多路开关来实现。3.固定功能单元固定功能单元提供单个固定的功能。单个固定功能有单级简单和延时短的优点,它的主要缺点是要有大量的功能单元才能实现用户设计的逻辑,而且相应功能单元的级联和布线的延时会导致整个器件性能的降低。2.3.2输入/输出引脚由于可编程ASIC器件的功耗通常由所用的I/O引脚决定,所以当芯片有较多的I/O引脚被利用时,必须考虑I/O配置的潜在功耗(瞬态和静态的)及I/O块的有效性,否那么可编程ASIC芯片有可能因功耗问题被严重损坏。随着半导体工艺的线宽不断缩小,从器件功耗的要求出发,器件的内芯必须采用低电压。由于I/O块与内芯供电电压也可能不同,这就要求I/O块的结构能够兼容多个电压标准,既能接收外部器件的高电压输入信号,又能驱动任何高电压的器件。ASIC工艺线宽与供电电压逐年改变情况如图2-9所示,一般来说,工艺线宽越小,对功耗的要求就越高,工作电压就必须降低。如工艺线宽为1.2~0.5μm时,器件一般采用5V电压供电;当工艺线宽为0.35μm时,器件的供电电压为3.3V,此时I/O块与内芯的供点电压相同;当工艺线宽为0.25μm时,I/O块与芯片内芯的供电电压不再相同,内芯的供电电压为2.5V,I/O块的供电电压为3.3V,并且能兼容5V和3.3V的器件;当工艺线宽为0.18μm时,器件应采用1.8V的供电电压,I/O块要能够兼容2.5V和3.3V的器件。图2-9ASIC工艺线宽与供电电压逐年改变示意图2.3.3布线资源布线资源是可编程逻辑器件中一种专用的内部互连结构,它主要用来提供高速可靠的内部连线,以保证信号在芯片内部的相邻功能单元之间、功能单元与I/O块之间进行有效的传输。可编程ASIC一般有以下几种根本的布线资源:1.长线和直接连线长线(LongLine)是可编程ASIC最根本的布线资源,它是垂直或水平地贯穿于整个芯片的金属线,适用于传输距离长、偏移要求小的控制信号或时钟信号。典型的水平和垂直长线如图2-10所示,在每个布线通道有三根垂直长线夹在功能单元的两列之间,有两根水平长线夹在功能单元的两行之间。此外,在I/O块的每条边上还各有一条长线。长线与功能单元输入之间连接比较简单,与功能单元输出之间的连接那么比较复杂。图2-10水平和垂直长线

直接连线(DirectInterconnect)为相邻功能单元之间及相邻的功能单元与I/O块之间提供了有效的连接手段。每个功能单元的输出能通过直接连线和与之相邻的功能单元或I/O块的输入相连。这种连线布线短,延时小,最适合相邻块之间信号的高速传输。2.通用内部连线通用内部连线(GeneralPurposeInterconnect)的结构如图2-11所示,它是逻辑功能单元行或列之间的一组垂直和水平的金属线段,其长度分别等于相邻逻辑功能单元的行距和列距。逻辑功能单元的输入和输出端可以与相邻的通用内部连线相连,相邻的通用内部连线那么通过开关矩阵相互连接而形成网线。通用内部连线上还有一种双向缓冲器,可用于对高扇出信号进行隔离和放大。图2-11通用内部连线3.开关矩阵开关矩阵(SwitchingMatrix)的结构如图2-12所示,它是可编程ASIC内部的又一种重要的布线资源。开关矩阵一般由可配置的N沟道开关晶体管组成,主要用来实现相邻的通用内部连线之间的相互连接。

4.可编程连接点可编程连接点PIP如图2-13所示,它也是可编程ASIC内部的一种布线资源。这些可编程连接点是由一些独立的可编程开关组成的,主要用于相交布线线段之间或布线线段与功能块、布线线段与I/O块端口之间的连接。图2-12开关矩阵图2-13可编程连接点结构2.3.4片内RAM设计数字信号处理(DSP)、数据加密或数据压缩等复杂数字系统时,经常要用到存储器。可编程ASIC芯片内如果没有相应的中小规模存储模块(RAM或FIFO),将很难实现上述电路。片内RAM不仅可以简化系统的设计,提高系统的工作速度,而且可以减少数据存储的本钱,使芯片内外数据信息的交换更可靠。由于半导体工艺已进入到亚微米和深亚微米时代,器件的密度大大提高,所以新一代的FPGA都提供片内RAM。这种片内RAM的速度是很高的,读操作的时间和组合逻辑延时一样,大约为5ns,写操作的时间大约为8ns,比任何芯片外解决方式要快很多倍。新一代FPGA的片内RAM可以分为两类,一类是Actel和Altera公司采用的专用RAM,或称为块RAM;另一类是Xilinx公司采用的分布RAM。1.块式片内RAMAltera公司的FLEX10K是工业界第一个嵌入式可编程逻辑器件,在它上面首次集成了嵌入式存储器块,可为用户提供多达24Kb的片内RAM。每个FLEX10K包含一个嵌入式阵列和一个逻辑阵列,其中嵌入式阵列主要用于实现各种复杂的逻辑功能(如DSP、微控制器、数据变换等),逻辑阵列主要用于实现通用的逻辑功能(如加法器、状态机、多路复用器等)。嵌入式阵列由假设干个嵌入式阵列块EAB(EmbededArrayBlock)组成。EAB是一种输入输出端带有存放器的RAM,当实现存储器功能时,每个EAB能提供2048位,可用来构成RAM、ROM、FIFO或双端口RAM。将一个器件上的所有EAB进行组合,可以构成一个规模较大的块式片内RAM。块RAM的具体结构在第4章将作详细介绍。2.分布式片内RAMXilinx公司的XC4000系列中的片内RAM是一种分布式的RAM,它主要由排列成分布式阵列的各个可配置逻辑块CLB(ConfigurableLogicBlock)组成。CLB中的函数发生器可以被定义为片内RAM,如图2-14所示。根据需要,可以将CLB配置成(16×2)位或是(32×1)位的读/写存储器,这时,函数发生器的F1~F4和G1~G4作为存储器的地址线,CLB的其他控制脚(C1~C4)将被重新定义。图2-14XC4000的CLB单元被配置成RAM当CLB的组合逻辑发生器被配置为读/写存储器RAM来使用时,每个CLB的函数发生器可以有以下三种配置方式:(1)两个(16×1)位RAM,有两个数据输入,两个数据输出。(2)一个(32×1)位RAM,有一个数据输入和一个数据输出。(3)一个(16×1)位RAM,加上一个5输入的组合函数发生器。分布式的片内RAM是一个全新的概念,在系统设计中可以实现很多新的功能,如累加器、状态存放器、变址存放器、DMA计数器、LIFO堆栈和FIFO缓冲器等。Xilinx公司新一代Virtex系列FPGA器件除了采用许多新技术以外,还提供了大量的片内块式RAM和分布式RAM,以满足DSP、视频处理等设计中对各种RAM配置高速存取的要求。以视频处理为例,对字节的视频行数据,可以存储在块RAM中;对按位存储的像素和系数数据那么可存储在分布RAM中,以实现快速和灵活的数据存取。2.4可编程逻辑器件的编程元件可编程逻辑器件的编程元件采用了几种不同的编程技术,这些可编程元件常用来存储逻辑配置数据或作为电子开关。常用的可编程元件有如下四种类型:(1)熔丝(Fuse)型开关;(2)反熔丝(Antifuse)型开关;(3)浮栅编程元件(EPROM和EEPROM);(4)基于SRAM的编程元件。其中前三类为非易失性元件,编程后能使逻辑配置数据保持在器件上。SRAM类为易失性元件,即每次掉电后逻辑配置数据会丧失。熔丝型和反熔丝型开关元件只能写一次,浮栅编程元件和SRAM编程元件那么可以进行屡次编程。反熔丝开关元件一般用在要求较高的军用系列(如通信卫星、航空电子仪器等)器件上,而浮栅编程元件一般用在民用系列器件上。浮栅编程元件是较为重要的一种元件,包括紫外线擦除电编程的EPROM、电擦除电编程的EEPROM及闪速存储器,这三种存储器都是用浮栅存储电荷的方法来保存编程数据的,因此在断电时,存储的数据是不会丧失的。1.EPROMEPROM的存储内容不仅可以根据需要来编制,而且当需要更新存储内容时还可以将原存储内容抹去,再写入新的内容。EPROM的根本结构是一个浮栅管,浮栅管相当于一个电子开关,当浮栅中注入电子时,浮栅管导通;当浮栅中没有电子注入时,浮栅管截止。图2-15所示是一种以浮栅雪崩注入型MOS管为存储单元的EPROM,图2-15(a)、(b)分别为它的根本结构和电路符号。它与普通的NMOS管很相似,但有G1和G2两个栅极,G1栅没有引出线,被包围在二氧化硅(SiO2)中,称之为浮栅;G2为控制栅,有引出线。假设在漏极和源极之间加上约几十伏的电压脉冲,在沟道中产生足够强的电场,那么会造成雪崩,令电子加速跃入浮栅中,从而使浮栅G1带上负电荷。由于浮栅周围都是绝缘的SiO2层,泄漏电流极小,所以一旦电子注入到G1栅后,就能长期保存。当G1栅有电子积累时,该MOS管的开启电压变得很高,即使G2栅为高电平,该管仍不能导通,相当于存储了“0〞。反之,当G1栅无电子积累时,MOS管的开启电压较低,当G2栅为高电平时,该管可以导通,相当于存储了“1〞。图2-15(d)所示为读出时的电路,它采用了二维译码方式,其中xi、yi为地址译码器的二维输出,CS为片选信号。这种EPROM出厂时为全“1〞状态,使用者可根据需要写“0〞,2-15(f)所示为写“0〞电路。在写“0〞时,xi和yi选择线为高电平,P端加20多伏的正脉冲,脉冲宽度为0.1~1ms。EPROM器件的上方有一个石英窗口,如图2-15(c)所示。当用光子能量较高的紫外光照射浮栅时,G1中电子获得了足够的能量,穿过氧化层回到衬底中,如图2-15(e)所示。这样可使浮栅上的电子消失,到达抹去存储信息的目的,相当于存储器又存入了全“1〞。图2-15EPROM存储器2.EEPROMEEPROM也可写成E2PROM,它是电可擦除电编程的元件。EEPROM有多种工艺,也是基于浮栅技术。如图2-16所示为EEPROM的存储单元,这是一个具有两个栅极的NMOS管,其中G1是控制栅,它是一个浮栅,无引出线;G2是抹去栅,它有引出线。在G1栅和漏极之间有一小面积的氧化层,其厚度极薄,可产生隧道效应。当G2栅加20V的正脉冲P1时,通过隧道效应,电子由衬底注入到G1浮栅,相当于存储了“1〞,利用此方法可将存储器抹成全“1〞状态(如图2-16(c)所示)。图2-16EEPROM的存储单元这种存储器在出厂时,存储内容也为全“1〞状态。使用时可根据需要把某些存储单元写“0〞。写“0〞电路如图2-16(d)所示,此时漏极D加20V正脉冲P2,G2栅接地,浮栅上电子通过隧道返回衬底,相当于写“0〞。EEPROM读出时的电路如图2-16(e)所示,这时G2栅加3V的电压,假设G1栅有电子积累,那么T2管不能导通,相当于存“1〞;假设G1栅无电子积累,那么T2管导通,相当于存“0〞。3.闪速存储器(FlashMemory)闪速存储器是一种新的可再编程只读存储器,它把EPROM的高密度、低本钱的优点与EEPROM的电擦除性能结合在一起,具有非常广阔的应用前景。闪速存储器又称为快速擦除存储器,“闪速〞是为电可擦除非易失存储器而创造的一个术语。闪速存储器与EPROM和EEPROM一样属于浮栅编程器件,其存储单元也是由带两个栅极的MOS管组成。其中一个栅极称为控制栅,连接到读/写电路上;另一个栅极称为浮置栅,位于控制栅与MOS管传输沟道之间,并完全处于绝缘的二氧化硅的包围之中。闪速存储器的编程和擦除分别采用了两种不同的机理。在编程方法上,它与EPROM相似,利用“热电子注入技术〞,在擦除方法上那么与EEPROM相似,利用“电子隧道效应〞。编程时,一个高压(12V)加到MOS管的控制栅,且漏极-源极偏置电压为6~7V,MOS管强烈导通,沟道中的一些热电子就具有了足够的能量到达浮置栅,将MOS管的阈值电压从大约2V提高到大约6V。存储器电路设计得可以同时对8个或16个单元(一个字节或一个字)进行编程,因此闪速存储器可以在字节级上编程。从浮栅上消去电荷的擦除过程那么利用电子的隧道效应来完成,即在浮栅与MOS管沟道间极薄的氧化层上施加一个大电场,使浮栅上的电子通过氧化层回到沟道中,从而擦除存储单元中的内容。闪速存储器可以在假设干毫秒内擦除全部或一段存储器,而不像早期的EEPROM一次擦除一个字节。闪速存储器在设计和工艺上与成熟的EPROM的产品十分相似,可以用类似于EPROM所用的工艺流程来制造。但两者之间存在以下差异:闪速存储器单元在源区利用分级双扩散;闪速存储器有更薄的隧道氧化物层(如图2-17所示)。图2-17闪速存储器单元和EPROM单元的区别最早采用浮栅技术的存储元件都要求使用两种电压,即5V逻辑电压和12~21V的编程电压,现在已趋向于单电源供电,由器件内部的升压电路提供编程和擦除电压。现在大多数单电源供电的可编程ASIC芯片为5V的产品,也有局部芯片为3.3V的产品。另外需要强调指出的是,EPROM、EEPROM和闪速存储器都是属于可重复擦写的非易失元件,在现有的工艺水平上,这几种浮栅编程元件的擦写寿命已达10万次以上。3.6Altera公司的可编程逻辑器件2.5.1Altera公司的产品简介Altera公司是20世纪90年代以来开展较快的PLD生产厂家。在剧烈的市场竞争中,Altera公司凭借其雄厚的技术实力,独特的设计构思和功能齐全的芯片系列,挤身于世界最大的可编程逻辑器件供给商之列。有资料显示,目前该公司的PLD产品与Xilinx公司的PLD产品约占了PLD市场的60%。1.Altera的PLD产品系列Altera产品的根本构造块是逻辑单元。在Classic、MAX3000A、MAX5000、MAX7000、MAX9000系列中,逻辑单元称为宏单元(Macrocell),宏单元由可编程的“与阵〞和固定的“或阵〞构成;FLEX8000、FLEX6000、FLEX10K、APEX20K、ACEX1K等系列的逻辑单元(LE)那么采用查找表(LUT,Look-UpTable)结构来构成。不同结构的器件侧重的应用场合不同,如MAX器件的宏单元分解组合逻辑的功能很强,一个宏单元可以分解数十个组合逻辑输入,因此MAX系列的产品较适合设计组合逻辑电路;而FLEX器件的制造工艺允许它拥有较多的LUT与触发器,从逻辑单元的数量来看后者远高于前者,因此采用LUT的ACEX等产品更适合用来设计需要用到大量触发器的复杂时序逻辑电路。由于PLD器件都具有可重复编程的功能,所以其内部必须采用一定的工艺来实现这种功能。FLEX8000、FLEX6000、FLEX10K、APEX、ACEX1K等系列采用SRAM(静态随机存储器)工艺,MAX3000A、MAX7000、MAX9000系列那么采用E2PROM(电可擦除可编程存储器)工艺,而早期的Classic、MAX5000系列那么大多采用EPROM(紫外线擦除的可编程存储器)工艺。2.Altera的开发工具Altera的开发工具已经历了四代,从最初的基于PCDOS的A+plus,开展到MAX+plus,又于1991年推出性能更加完善的基于Windows的开发工具MAX+plusⅡ,之后,Altera公司又推出了它的第四代开发工具Quartus。随着器件结构、性能的不断提高,器件集成度的不断扩大,Altera始终能够同步推出与之相适应的开发工具,满足了设计者的要求。当前,市场上使用最多的开发工具是MAX+plusⅡ,MAX+plusⅡ是一个功能强大、使用方便的设计工具,它提供了一种与结构无关的设计环境,设计者无需精通器件内部的复杂结构,而只需要用自己熟悉的设计输入工具(如原理图或者高级语言)把自己的设计输入到计算机中,MAX+plusⅡ会自动把这些设计转换成最终结构所需的格式。用户只要把最后的数据通过下载电缆下载到芯片中,即完成了所有的工作。2.5.2MAX7000系列的结构特点1.概述MAX7000系列是Altera公司目前销量最大的产品,属于高性能、高密度的CPLD,其制造工艺采用了先进的CMOSEEPROM技术。该系列器件的特点主要有:(1)采用第二代多阵列矩阵(MAX)结构。(2)MAX7000S系列通过标准的JTAG接口(IEEEStd.1149.1-1990),支持在系统可编程(ISP,InSystemProgrammable)。(3)集成密度为600~5000个可用门。(4)引脚到引脚之间的延时为6ns,工作频率最高可达151.5MHz。(5)3.3V或者5V电源供电:——EPM7032V和EPM7128SV全为3.3V;——所有的器件为3.3V或5.0VI/O电平(44个引脚的器件除外)。(6)在可编程功率节省模式下工作,每个宏单元的功耗可降到原来的50%或更低。(7)高性能的可编程连线阵列(PIA)提供一个高速的、延时可预测的互连网络资源。(8)每个宏单元中可编程扩展乘积项(Product-Terms)可达32个。(9)具有可编程保密位,可全面保护你的设计思想。MAX7000系列中的高密度一族称为MAX7000E系列,它们包括EPM7128E、EPM7160E、EPM7192E和EPM7256E。这些器件有几项加强的功能,比方附加全局时钟、附加输出使能控制以及增加的连线资源、快速输入存放器等等。MAX7000S系列、MAX7000A系列除了具有MAX7000E的增强特性外,还有在系统可编程(ISP)功能、JTAG边界扫描测试(BST)电路,这些器件又包括EPM7032S、EPM7064S、EPM7128S、EPM7160S、EPM7192S、EPM7256S、EPM7128A、EPM7256A等。

MAX7000芯片在结构上包含32到256个宏单元。每16个宏单元组成一个逻辑阵列块(LAB)。每个宏单元有一个可编程的“与阵〞和一个固定的“或〞阵,以及一个存放器,这个存放器具有独立可编程的时钟、时钟使能、去除和置位等功能。为了能构成复杂的逻辑函数,每个宏单元可使用共享扩展乘积项和高速并行扩展乘积项,它们可向每个宏单元提供多达32个乘积项。2.结构与功能MAX7000在结构上包括逻辑阵列块LAB(LogicArrayBlocks)、宏单元(Macrocells)、扩展乘积项(共享和并联)(ExpenderProductTerms)、可编程连线阵列PIA(ProgrammableInterconnectArray)和I/O控制块(I/OControlBlocks)。图2-18MAX7000E和MAX7000S的结构图1)逻辑阵列块(LAB)MAX7000主要是由逻辑阵列块(LAB)以及它们之间的连线构成的,如图2-18所示。每个LAB由16个宏单元组成,多个LAB通过可编程连线阵列PIA和全局总线连接在一起,全局总线由所有的专用输入、I/O引脚和宏单元馈入信号。每个LAB的输入信号包括:来自PIA的36个信号、全局控制信号(用于宏单元内的存放器实现辅助功能)和从I/O引脚到存放器的直接输入信号。2)宏单元(MacroCell)每个宏单元由3个功能块组成:逻辑阵列、乘积项选择矩阵和可编程触发器。宏单元的结构框图如图2-19所示。

逻辑阵列实现组合逻辑功能,它可给每个宏单元提供5个乘积项。“乘积项选择矩阵〞分配这些乘积项作为到“或〞门和“异或〞门的主要逻辑输入,以实现组合逻辑函数;每个宏单元的一个乘积项可以反相后回送到逻辑阵列。图2-19宏单元结构框图这个“可共享〞的乘积项能够连到同一个LAB中任何其他乘积项上。根据设计的逻辑需要,开发工具MAX+plusⅡ将自动优化乘积项的分配。每个宏单元的存放器可以单独地编程为具有可编程时钟控制的D、JK或SR触发器工作方式。如果需要的话,也可将存放器旁路,以实现纯组合逻辑的输出。在设计输入时,用户可以规定所希望的存放器类型,然后MAX+plusⅡ对每一个存放器功能选择最有效的触发器工作方式,以使设计所需要的器件资源最少。宏单元的存放器支持异步去除、异步置位功能。乘积项选择矩阵分配乘积项来控制这些操作。当然,每个存放器的复位功能可以由低电平有效的、专用的全局复位信号来驱动。3)扩展乘积项(ExpenderProductTerms)尽管大多逻辑函数能够用每个宏单元中的5个乘积项实现,但某些逻辑函数比较复杂,要实现它们的话,需要附加乘积项。为提供所需要的逻辑资源,利用了MAX7000结构中具有的共享和并联扩展乘积项,而不是利用另一个宏单元。这两种扩展项作为附加的乘积项直接送到本LAB的任意宏单元中。利用扩展项可保证在实现逻辑综合时,用尽可能少的逻辑资源,得到尽可能快的工作速度。4)可编程连线阵列可编程连线阵列(PIA)是将各LAB相互连接,构成所需的逻辑布线通道。它能够把器件中任何信号源连到其目的地。所有MAX7000的专用输入、I/O引脚和宏单元输出均馈送到PIA,PIA可把这些信号送到整个器件内的各个地方。图2-20表示的是PIA如何布线到LAB。图2-20PIA布线在掩膜或现场可编程门阵列(FPGA)中,基于通道布线方案的布线延时是累加的、可变的和与路径有关的;而MAX7000的PIA有固定的延时。因此,PIA消除了信号之间的时间偏移,使得时间性能容易预测。5)I/O控制块I/O控制块允许每个I/O引脚单独地配置为输入、输出和双向工作方式。所有I/O引脚都有一个三态缓冲器,它能由全局输出使能信号中的一个控制,或者把使能端直接连到地(GND)或电源(VCC)上。I/O控制块有两个全局输出使能信号,它们由两个专用的、低电平有效的输出使能引脚OE1和OE2来驱动。图2-21所示为I/O控制块的结构图。当三态缓冲器的控制端连到地(GND)时,其输出为高阻态,并且I/O引脚可作为专用输入引脚使用。当三态缓冲器的控制端连到电源(VCC)时,输出被使能。图2-21MAX7000的I/O控制块6)可编程速度/功率控制MAX7000器件提供节省功率的工作模式,可使用户定义的信号路径或整个器件工作在低功耗状态。由于许多逻辑应用的所有门中只有小局部工作在高频率,所以在这种模式下工作,可使整个器件总功耗下降到原来的50%或更低。设计者可以对器件中的每个独立的宏单元编程为高速(接通)或者低速(关闭),这样可使设计中影响速度的关键路径工作在高速、高功耗状态,而器件的其他局部仍工作于低速、低功耗状态,从而降低整个器件的功耗。7)设计加密所有MAX7000CPLD都包含一个可编程的保密位,该保密位控制能否读出器件内的配置数据。当保密位被编程时,器件内的设计不能被复制和读出。由于在EEPROM内的编程数据是看不见的,故利用保密位可实现高级的设计保密。当CPLD被擦除时,保密位那么和所有其他的编程数据一起被擦除。8)在系统编程(ISP)MAX7000A、MAX7000S系列芯片支持在系统编程的功能,支持JTAG边界扫描测试的功能。我们只要通过一根下载电缆连接到目标板上,就可以非常方便地实现屡次重复编程,大大方便了我们调试电路的工作2.5.3FLEX10K系列的结构特点1.概述FLEX(FlexibleLogicElementMatrix,灵活逻辑单元矩阵)系列是Altera公司推出的主流产品,具有高密度、在线配置、高速度与连续式布线结构等特点。FLEX10K系列是Altera于1998年推出的。它的集成度到达了10万门级,而且,它还是业界首次集成了嵌入式阵列块EAB的芯片。所谓EAB,实际是一种大规模的SRAM资源,它可以被方便地设置为RAM、ROM、FIFO以及双口RAM等存储器。EAB的出现极大地拓展了PLD芯片的应用领域。FLEX10K系列的特点包括:(1)高密度,典型门数达10000~250000,逻辑单元数为576~12160。(2)功能更强大的I/O引脚,每一个引脚都是独立的三态门结构,具有可编程的速率控制。(3)嵌入式阵列块(EAB),每个EAB提供2K比特位,可用来作存储器使用或者用来实现逻辑功能。(4)逻辑单元采用查找表(LUT)结构。(5)采用连续式的快速通道(FastTrack)互连,可精确预测信号在器件内部的延时。(6)实现快速加法器和计数器的专用进位链。(7)实现高速、多输入逻辑函数的专用级联链。2.结构与功能FLEX10K在结构上包括嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速通道(FastTrack)互连和I/O单元(IOE)。FLEX10K结构如图2-22所示,由一组LE组成一个LAB,LAB按行和列排成一个矩阵,并且在每一行中放置了一个嵌入式阵列块(EAB)。在器件内部,信号的互连及信号与器件引脚的连接由快速通道(FastTrack)提供,在每行(或每列)FastTrack互连线的两端连接着假设干个I/O单元(IOE)。图2-22FLEX10K内部结构1)嵌入式阵列块(EAB)嵌入式阵列块(EAB)是一种输入输出端带有存放器的非常灵活的RAM,它既可以作为存储器使用,也可以用来实现逻辑功能。当作为存储器使用时,每个EAB可提供2048比特位,可用来构成RAM、ROM、FIFORAM或双端口RAM。每个EAB单独使用时,可配置成以下几种尺寸:256×8,512×4,1024×2或2048×1,如图2-23所示。多个EAB可组合成一个规模更大的RAM或ROM使用,比方,两个256×8的RAM可组合成一个256×16的RAM;两个512×4的RAM可组合成一个512×16的RAM,如图2-24所示。图2-23EAB作为存储器使用时可配置的尺寸256

8图2-24EAB并联使用EAB的另一个应用是用来实现复杂的逻辑功能。每个EAB可相当于大约100~300个等效门,能方便地构成乘法器、加法器、纠错电路等模块,并由这些功能模块进一步构成诸如数字滤波器、微控制器等系统。逻辑功能通过配置时编程EAB为只读模型,生成一个大的LUT(查找表)来实现。在这个LUT中,组合功能通过查找表而不是通过计算来完成,其速度较用常规逻辑运算实现时更快,且这一优势因EAB的快速访问而得到进一步加强。EAB的大容量使设计者能够在一个逻辑级上完成复杂的功能,防止了多个LE连接带来的连线延时。与用LE实现有关组合逻辑功能相比,EAB不但大大提高了器件的效率与性能,也极大地减小了器件的占用面积。利用嵌入式阵列来实现用户存储器与用分布式阵列实现片内RAM的FPGA相比,前者在设计和延时上有独特的优势。当RAM的尺寸增大时,分布式RAM所包含的延时是难以估计的,此外,因为小块RAM必须连在一起构成大的RAM,容易引起走线问题。与此相反,EAB能被用于实现大的专用的RAM块,不必担忧延时或连线方面的问题。专用的EAB易于使用,并能提供很快的速度和可预测的延时。EAB也可用来实现同步RAM。EAB的同步RAM产生它自己的写信号,是根据全局时钟自定时的。图2-25给出了FLEX10K系列的EAB结构。EAB为驱动和控制信号提供灵活的选择,全局信号、专用时钟和EAB局部互连均可驱动时钟。EAB的输入和输出存放器可使用不同的时钟信号,存放器能被独立地嵌入数据输入、EAB输出、地址和WE信号上。全局信号、EAB局部互连均可驱动写允许信号。由于LE可驱动EAB局部互连,因此LE能够控制写信号或EAB时钟信号。每个EAB由行互连馈入信号,其输出可传输至行和列互连。每位EAB输出可驱动两个行通道中的任一个和两个列通道中的任一个。未利用的行通道可被另一个列通道驱动。这个特性为EAB输出增加了可用的连线资源。图2-25FLEX10K的EAB结构2)逻辑单元(LE)逻辑单元LE由组合电路和时序电路两局部组成,每个LE包含一个4输入查找表,一个具有使能、预置和清零输入端的可编程存放器,一个进位链和一个级联链。每个LE有两个输出,可驱动局部互连和快速通道互连。如图2-26所示。图2-26FLEX10K的逻辑单元在LE中,LUT和存放器能分别被用于实现不相关的功能。存放器的数据输入端能被LUT的输出驱动,也可由DATA4信号直接驱动。LUT和存放器的输出可分别由LE的两个输出端同时输出。这一特性被称为存放器打包,它能够有效地提高LE的利用率。LUT是一种函数发生器,能快速计算4输入变量的任意函数。LE中的可编程触发器可设置成D、T、JK或RS触发器。该触发器的时钟、去除和置位控制信号可由专用输入引脚、通用I/O引脚或任何内部逻辑驱动。也可旁路LE中的触发器,将LUT的输出直接连到LE的输出端,以实现纯组合逻辑的函数。FLEX10K在结构上还提供两条专用快速通路,即进位链和级联链。它们连接相邻的LE,但不占用通用互连通路。用进位链可实现高速计数器和加法器,级联链可在最小延时的情况下实现多输入逻辑函数。Altera的MAX+plusⅡ编译器在设计处理期间能够自动建立进位链和级联链,设计者在设计输入过程中也可以手工插入进位链和级联链。(1)进位链。进位链提供LE之间非常快(小于1ns)的向前进位功能。来自低位的进位信号经进位链向前送到高位,同时送到LUT和进位链的下一段。能够实现高速计数器和任意位数的加法器。图2-27表示如何借助进位链用n+1个LE来实现n位全加器。LUT的一局部产生两个输入信号和进位信号的“和〞,并将“和〞送到LE的输出端。对于简单加法器,一般将存放器旁路,但要实现累加器的功能,那么要用到存放器。LUT的另一局部产生进位输出(Carry-Out)信号,它直接送到高一位的进位输入(Carry-In)端。最后的进位输出信号送到一个LE,可以作为一个通用信号使用。图2-27进位链操作(2)级联链。利用级联链,FLEX10K可以实现输入变量很多的逻辑函数。相邻的LUT用来并行地计算函数的各个局部,级联链把中间结果串联起来。级联链可以使用逻辑“与〞或者逻辑“或〞来连接相邻LE的输出。每增加一个LE,函数的有效输入个数会增加4个,其延时大约会增加1ns。图2-28表示级联链是怎样把相邻的LE连接起来形成具有多个输入变量的函数的,它表示的是n个LE如何用“与〞级联链和“或〞级联链实现具有4n个输入变量的函数的。图2-28级联链操作(3)逻辑单元的工作模式。FLEX10K逻辑单元有4种工作模式,每种模式对LE资源的使用情况各不相同。在每种模式里,输入到LE的10个可用信号中有7个送到不同的位置,以实现所需求的逻辑功能。这7个输入信号是:来自LAB局部互连的4个数据输入、来自可编程存放器的反响信号以及来自前级LE的进位输入和级联输入。加到LE的其余3个输入为存放器提供时钟、消除和置位信号。MAX+plusⅡ软件自动为每种应用选择适当的模式。3)逻辑阵列块(LAB)FLEX10K的逻辑阵列块由8个LE、与LE相连的进位链和级联链、LAB控制信号和LAB局部互连线组成。LAB构成FLEX10K的主体局部。每个LAB提供4个可供8个LE使用的控制信号,其中两个可用作时钟,另外两个用作去除/置位逻辑控制。LAB的控制信号可由专用输入引脚、I/O引脚或借助LAB局部互连的任何内部信号直接驱动,专用输入端一般用作公共的时钟、去除或置位信号。FLEX10K的逻辑阵列块如图2-29所示。4)快速通道(FastTrack)在FLEX10K中,不同LAB中的LE之间及LE与器件I/O引脚之间的互连是通过FastTrack实现的。FastTrack是贯穿整个器件长和宽的一系列水平和垂直的连续式布线通道,由假设干组行连线和列连线组成。每一组行连线视器件大小不同可以有144根、216根或312根,每一组列连线均是24根。图2-29FLEX10K的LABFastTrack由“行连线带〞和“列连线带〞组成。采用这种布线结构,即使对于复杂的设计也可预测其性能。相反,其他FPGA中的分段式连线结构需要用一些开关矩阵把数目不同的假设干条线段连接起来,这就增加了逻辑资源间的延时,从而使性能下降。FLEX10K器件内部的LAB排列成很多行与列,组成一个矩阵。每行LAB有一个专用的“行连线带〞,“行连线带〞由上百条“行通道〞组成,这些通道水平地贯穿整个器件,它们承载进、出这一行中LAB的信号。行连线带可以驱动I/O引脚或馈送到器件中的其他LAB。“列连线带〞由24条“列通道〞组成。LAB中的每个LE最多可驱动两条独立的列通道,一个LAB可驱动16条列通道。列通道垂直地贯穿整个器件,不同行中的LAB借助局部的多路选择器共享这些资源。图2-30表示LAB与行、列连线的关系。5)输入/输出单元(IOE)FLEX10K的输入/输出单元如图2-31所示。每个IOE包含一个双向I/O缓冲器和一个输入/输出存放器,可被用作输入/输出或双向引脚。IOE中的输出缓冲器有可调的输出摆率,可根据需要配置成低噪声或高速度模式。此外每个引脚还可被设置为集电极开路输出方式。IOE中的时钟、去除、时钟使能和输出使能由被称作周边控制总线的I/O控制信号网络提供。周边控制总线提供多达12个周边控制信号,并用高速驱动器使穿越器件的信号偏移最小。这些信号是可配置的,能提供最多8个输出使能信号、6个时钟使能信号、2个时钟信号和2个清零信号。每个周边控制信号可被一专用输入引脚驱动,或被特定行中每个LAB的第一个LE驱动。图2-30LAB连接到行、列连线带图2-31FLEX10K的输入/输出单元如果要求多于6个时钟使能或多于8个输出使能信号,那么可由一个特定的LE驱动时钟使能和输出使能信号来实现对器件中每个IOE的控制。IOE中的整片输出使能(Device-WideOutputDisable)引脚是一个低电平有效脚,可被用来使器件上所有引脚变成三态,这一选项可在设计文件中设置。3.数据配置Altera提供了专门的配置器件来存储基于SRAM工艺的APEX、FLEX和ACEX系列器件的配置数据,提供的配置器件支持ISP和多重端口电压标准。配置器件基于EEPROM工艺或者是FLASH工艺,多数配置器件支持ISP,使得设计流程得以简化,并且可以现场升级,其密度为500Kb~9Mb。此外,配置器件支持1.8~5V电压,非常适用于混合设计。所有的APEX、FLEX和ACEX系列器件均可控制整个配置过程,在不需要外部集成控制器的条件下,可以自动地从配置器件中读取数据,完成配置过程。FLEX10K系列器件作为典型的使用SRAM工艺的器件,其内部逻辑功能和连线由芯片内SRAM所存储的数据决定。系统加电时,通过存储在芯片外部的串行EPROM或由系统控制器提供的数据对FLEX10K器件进行编程。Altera的EPC1441和EPC1是专门供FLEX10K器件配置用的EEPROM,它们借助串行数据流配置FLEX10K。配置数据也可以配置在其他的EEPROM中,或者通过Altera的BitBlaster串行下载电缆下载到FLEX10K器件中,配置完成以后,还可通过复位进行在线重配置,装入新数据,实现新功能。由于重新配置所需时间少于100ms,所以在系统工作过程中可以实时地改变配置。表2-2给出了Altera公司用于配置SRAM工艺器件的局部型号的EEPROM的局部性能指标。表2-2用于配置SRAM工艺的EEPROMEEPROM型号容量适用器件型号电压常用封装EPC1441(不可擦写)441Kb所有FLEX系列器件3.3/5 V自动选择8脚DIPEPC1(不可擦写)1Mb所有APEX、FLEX系列器件3.3/5 V自动选择8脚DIPEPC2(可重复擦写)2Mb所有APEX、FLEX系列器件3.3/5 V管脚控制20脚PLCCEPC8(可重复擦写)8Mb

100脚PQFPEPC16(可重复擦写)16Mb

88脚BGA2.5.4ACEX系列器件1.概述ACEX系列是Altera公司于2000年提供的一种高性能、低功耗的高密度器件,它综合了查找表结构与EABs。其中,基于LUT的逻辑功能优化了数据通道和存放器的性能与效率,而EAB那么能实现RAM、ROM、双口RAM、FIFO等各种存储器功能。ACEX1K较适合于需要复杂的逻辑功能和存储器功能的应用场合,如DSP(数字信号处理)、宽带数据通道控制以及数据传输、微处理器与通信领域等。ACEX系列包含ACEX1K和ACEX2K系列。ACEX1K系列基于创新的0.22/0.18μm混合工艺,密度为10000~100000门。ACEX2K系列基于0.18μm工艺,密度为20000~150000门。所有的ACEX系列器件兼容PCI局部总线标准,支持锁相环电路。ACEX具有较高性价比,它的高密度非常适用于对价格敏感的高密度解决方案,而其高性能那么可以满足各种性能的需求。ACEX1K可用MAX+plusⅡ作为开发工具。2.结构与功能这里主要介绍ACEX1K的嵌入式阵列块(EAB)、逻辑阵列块(LAB)、逻辑单元(LE)、快速通道互连布线结构(FastTrackInterconnectRoutingStructure)和I/O单元(IOE)。每一个ACEX1K系列器件包含一个嵌入式的阵列(如图2-32所示),用来实现存储器和专用的逻辑功能:包含一个逻辑阵列用来实现通用的逻辑。ACEX1K系列器件的嵌入式阵列和逻辑阵列的功能类似于FLEX10K系列,但需要说明的是,当实现存储器的功能的时候,每一个EAB提供4Kb的存储空间,而FLEX10K系列EAB提供2Kb的存储空间。图2-32ACEX1K系列器件结构ACEX1K系列和FLEX10K系列的根本结构非常类似。在ACEX1K内部,信号的互连也是通过快速通道互连布线结构完成的,每一个I/O端口由一个分布在FastTrack互连的行和列的末端的IOE馈送信号。此外,ACEX1K器件系列也提供了6个专用的输入端口。1)嵌入式阵列块ACEX1K系列的逻辑功能是通过EAB来实现的,其原理和FLEX10K系列相同。ACEX1K的增强型的EAB支持双口RAM,双端口结构对于实现FIFO来讲非常适宜。ACEX1K的EAB可以支持最多16b宽的RAM块。ACEX1K的EAB可以工作在双端口方式和单端口方式下。在双端口方式下,EAB的读/写局部使用别离的读/写时钟,使得读/写操作可以在不同的速率下进行。EAB的读/写局部还有别离的同步时钟使能信号,使得读/写操作可以单独地进行。EAB也可以作为双向和双端口存储器来使用,这样两个端口可以同时进行读/写操作。实现这种类型的双端口存储器需要使用两个EAB来支持同时进行的读/写操作。图2-33所示为ACEX1K系列器件的双端口RAM模式。在这种模式下,RAM同时存在读使能信号ReadEnable和写使能信号WriteEnable,读操作地址ReadAddress和写操作地址WriteAddress。图2-33ACEX1K系列器件的双端口RAM模式示意图图2-34所示为ACEX1K系列器件的单端口RAM模式。使用ACEX1K系列的EAB同样可以实现同步RAM,原理和使用FLEX10K系列的EAB实现相同。当使用ACEX1K系列的EAB实现RAM的时候,可以配制成如下结构:256×16,512×8,1024×4或2048×2。可以使用多个EAB产生更大容量的RAM。2)逻辑阵列块ACEX1K系列的LAB结构如图2-35所示,每一个LAB包含8个LE、相关的进位链和级联链、LAB控制信号和LAB局部互连线。ACEX1K系列的LAB的控制信号和FLEX10K系列的LAB的控制信号相同。图2-34ACEX1K系列器件的单端口RAM模式图2-35ACEX10K的LAB3)逻辑单元与FLEX10K系列类似,LE是ACEX1K架构中最小的逻辑单位。每一个LE包含一个4输入LUT、一个可编程的触发器、进位链和一个级联链。LE的结构如图2-36所示。ACEX1K系列的LE驱动互连资源的方式同FLEX10K系列。ACEX1K架构提供一种专用的高速数据通道连接相邻的LE,即进位链和级联链,其控制方式和功能与FLEX10K系列相同。图2-36ACEX1K的逻辑单元结构4)快速通道(FastTrack)互连快速通道互连结构的功能和控制与FLEX10K系列相同。每一列的EAB有专用的列互连资源,列互连可以驱动FO管脚或者是其他行互连,用来传递信号到器件中其他的EAB。与FLEX10K一样,ACEX1K有6个专用输入引脚,可被用作全局时钟、去除、置位与一系列的使能信号,这些信号可用作器件内所有的LAB与IOE的控制信号。5)I/O单元一个I/O单元(IOE)包含一个双向的I/O缓冲器和一个存放器。其中的存放器可以作为需要快速建立时间的外部数据的输入存放器,也可作为具有快速从时钟到输出(FastClocktoOutput)性能的输出存放器。有些情况下,用作输入存放器时,用LE的存放器比用IOE的存放器能得到更快的建立时间。IOE可以配置为输入、输出或双向管脚。2.5.5APEX系列器件简介1.概述APEX20K是具有多核结构的PLD器件,所谓“多核〞,是指该器件不但有查找表(LUT),还有乘积项(ProductTerm)与嵌入式存储器(Memory)。APEX20K系列芯片多核结构使其同时具备了前述几种芯片(MAX、FLEX等)的高速与高密度的优点,而这正是进行系统级设计所需的性能。APEX20K系列芯片的主要特点有:(1)高密度。该系列芯片的典型门数到达30000~1500000门(最大系统门数达113000~2392000门);逻辑单元数最低1200个,最高可达51840个。另外,其内部集成的RAM位数最高可达442368位,最低也有24576位。(2)可低功耗运行。该系列芯片支持1.8~2.5V供电电压,其I/O接口支持多电压的连接:1.8V、2.5V、3.3V、5V(仅APEX20KE芯片外接电阻时可承受),其ESB能提供可编程的节能模式选择。(3)灵活的时钟管理。提供了最多8个全局时钟信号,且通过4个时钟锁相(PLL),减少了时钟的延迟与偏移,速度高达822MHz。(4)先进的互连结构。有4级快速互连结构,提供了快速且可预测的互连延迟。(5)APEX的多核架构将逻辑资源和存储器集成在一个体系内部,从而有可能不需使用多个器件即可实现系统级设计,节省了PCB板的空间,简化了复杂设计的实现。(6)APEX的ESB可以用来实现逻辑功能或者是各种存储器功能,如双口RAM、ROM、FIFO、嵌入式的CAM(ContentAccessMemory,内容可寻址存储器);此外,多个ESB联合使用时可以产生数据位数更大的存储器,从而确保为系统提供所需要的各种宽度和容量的存储器。(7)每个I/O引脚都由一个I/O单元(IOE)馈送,这些IOE分布于快速通道(FastTrack)互连线各行、列的末端。每个IOE具备一个存放器,可用作输入或输出存放器。(8)APEX使用Altera公司的新一代开发工具QuartusⅡ进行开发,该软件特别适合于新器件和大规模FPGA的开发。2.结构与功能这里主要介绍APEX20K的以下几局部结构:MegaLAB结构、逻辑阵列块(LAB)、逻辑单元(LE)、进位链与级联链、快速通道(FastTrack)互连、嵌入式系统块(ESB)和I/O单元(IOE)。图2-37以框图形式给出了APEX20K的内部组成局部,其中4输入的LUT用来作为数据通道,并可以实现数据信号处理(DSP)功能。乘积项(ProductTerm)可用来实现高速的控制逻辑与状态机(StateMachine)。图2-37APEX20K的器件框图1)MegaLAB结构APEX20K由一系列的MegaLAB组成,每个MegaLAB包含一定数量的LAB(LogicArrayBlock)、一个ESB以及负责在MegaLAB内部传输信号的MegaLAB内部互连通道(如图2-38所示)。2)逻辑阵列块每个LAB包含了10个LE以及与LE有关的进位链和级联链、LAB控制信号、局部互连通道(如图2-39所示)。局部互连在同一LAB、IOE或ESB之间或相邻的LAB、IOE或ESB之间传送信号。图2-38MegaLAB的结构图图2-39APEX20K系列的LAB结构APEX20K器件使用互连LAB结构,此结构允许LE驱动两个局部互连局部,这个特征使得MegaLAB与FastTrack之间的互连减少到最低程度,从而提供了高性能和灵活性。每个LE通过快速局部互连可驱动另外29个逻辑单元。每个LAB可使用两个时钟信号与两个时钟使能信号,具有相同的时钟但时钟使能不同的逻辑单元或者使用同一个时钟信号,或者被置于不同的LAB中。3)逻辑单元LE是APEX20K器件内部最小的逻辑单元。每个LE包含一个4输入的LUT,每个LUT都是一个函数发生器,可以实现任何4变量的逻辑功能。此外,每个LE包含一个可编程的存放器与进位链、级联链。每个LE可驱动一个局部互连、MegaLAB互连以及FastTrack互连布线结构。APEX20K的LE结构如图2-40所示。图2-40APEX20K的LE结构示意图每个LE的可编程存放器均可配置为D、T、JK或SR触发器来操作,存放器的时钟和去除控制信号可由全局信号、通用I/O引脚或任何内部逻辑驱动。实现组合逻辑功能时,存放器被旁路,且由LUT的输出驱动LE的输出。每个LE有两个输出,用来驱动局部互连、MegaLAB互连或FastTrack互连,每个输出均可被LUT输出或存放器输出独立驱动。例如,当存放器驱动其他输出时,LUT可以驱动另一个输出,这种特性称为存放器打包(RegisterPacking)。这种特性使存放器和LUT可被用于实现互不相关的逻辑功能,因而改善了器件的使用状况。APEX20K结构提供两种专用高速数据通道,通过这两种数据通道,相邻的LE之间的相连可不用局部互连。这两种专用高速数据通道即进位链和级联链。进位链支持诸如计数器和累加器等的高速算术运算,而级联链那么用来实现位数较宽的逻辑功能,如实现最小延迟的高宽度比较器。进位链和级联链与同一LAB的10个LE以及同一个MegaLAB的所有LAB相连。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论