2.1 可编程逻辑器件基础

无论是简单的还是复杂的数字系统,都是由逻辑门电路构成的,如与或门、或非门、异或门、传输门等。由于逻辑函数可以相互转换,所以可以用基本逻辑门(与门、或门和非门)的组合代替其他逻辑门。把大量的基本逻辑门电路集成在一个芯片中,通过编程将部分基本逻辑门按照逻辑关系连接起来,就可以实现一个数字系统,改变连线关系则可以实现另一个数字系统。这种可以通过编程改变逻辑门连接关系的集成电路芯片就是可编程逻辑器件PLD(Programmable Logic Devices)。可编程逻辑器件是20世纪70年代发展起来的一种新的集成器件,是大规模集成电路技术发展的产物,是一种半定制的集成电路,结合EDA技术可以快速、方便地构建数字系统。

2.1.1 可编程逻辑器件的特点及分类

随着微电子技术的发展、单位芯片集成度的不断提高,可编程逻辑器件的应用越来越广泛,其品种也越来越多。了解可编程逻辑器件的特点和分类,对于器件的正确选择非常重要。

1.PLD 的特点

(1)集成度高、可靠性好。PLD 器件集成度高,一片PLD可代替几片、几十片乃至上百片中小规模的通用集成电路芯片。用 PLD 器件实现数字系统所使用的芯片数量少、占用印制电路板面积小,整个系统的硬件规模明显减少。同时由于减少了实现系统所需要的芯片数量,在印制电路板上的引线以及焊点数量也随之减少,所以系统的可靠性得以提高。

(2)工作速度快。PLD 器件本身的工作速度很快,用PLD实现数字系统所需要的电路级数又少,因而整个系统的工作速度会得到提高,可以比单片机的速度快许多倍。

(3)提高系统的设计灵活性。在系统的研制阶段, 由于设计错误或任务变更而修改设计的事情经常发生。使用不可编程的通用器件时,修改设计就要更换或增减器件,有时还不得不更换印制线路板。使用PLD器件后,情况就大为不同,由于PLD器件引脚数量多、传输方式灵活(多数引脚即可做输入,也可做输出),又有可擦除重新编程的能力,所以对原设计进行修改时,只需要修改原设计的文本文件,再对 PLD 芯片重新编程即可,而不需要修改电路布局,更不需要重新加工印制电路板,这就大大提高了系统设计的灵活性。

(4)缩短设计周期。由于 PLD 器件集成度高、印制电路板电路布局布线简单、性能灵活、修改设计方便、开发工具先进、自动化程度高,所以可大大缩短系统的设计周期,加快产品投放市场的速度,提高产品的竞争能力。

(5)增加系统的保密性能。多数 PLD 包含一个可编程的保密位,该保密位控制着器件内部数据的读出。当保密位被编程时,器件内的设计不能被读出;当擦除重新编程时,保密位和其他的编程数据一同被擦除。

2.PLD的分类

可编程逻辑器件的种类很多,几乎每个大的可编程逻辑器件供应商都能提供具有自身结构特点的PLD器件。

1)PLD按集成度分

PLD按集成度分,一般可分为两大类器件:

(1)低集成度芯片。早期出现的 PROM、PAL、可重复编程的 GAL 都属于这类,可用的逻辑门数大约在500门以下,称为简单PLD。

(2)高集成度芯片。例如现在大量使用的CPLD、FPGA器件,称为复杂PLD。

2)PLD按结构分

PLD从结构上分,也可分为两大类器件:

(1)乘积项结构器件。其基本结构为“与-或阵列”器件,大部分简单PLD和CPLD都属于这类。

(2)查找表结构器件。这类器件是由简单的查找表组成可编程门,再构成阵列形式。大多数FPGA均属于此类器件。

3)PLD按编程工艺分

PLD从编程工艺上划分,可分为六类:

(1)熔丝(Fuse)型器件。早期的 PROM 器件就是采用熔丝结构,编程过程是根据设计的熔丝图文件来烧断对应的熔丝,以达到编程的目的。

(2)反熔丝(Anti-Fuse)型器件。这类器件是对熔丝技术的改进,在编程处通过击穿漏层使得两点之间获得导通,这与熔丝烧断获得开路正好相反。

(3)EPROM 型器件。称为紫外线擦除电可编程逻辑器件,是用较高的编程电压进行编程,当需要再次编程时,用紫外线进行擦除。目前已基本淘汰。

(4)E PROM型器件。即电可擦写编程器件,现有的大部分CPLD及GAL器件均采用这类结构。它是对EPROM的工艺改进,不需要紫外线擦除,而是直接用电擦除。

(5)SRAM型器件。即SRAM 查找表结构的器件。大部分的FPGA器件都是采用这种编程工艺。例如,Xilinx 和 Altera 的 FPGA 器件都采用 SRAM 编程方式。这种编程方式在编程速度、编程要求上要优于前四种器件,不过 SRAM 型器件的编程信息存放在 RAM中,在断电后就丢失了,再次上电需要再次编程(配置),因而需要专用器件来完成这类配置操作。而前四种器件在编程后是不丢失编程信息的。

(6)Flash 型器件。Actel、Xilinx 公司为了解决上述反熔丝器件的不足,推出了采用Flash工艺的FPGA,可以实现多次可编程,同时做到掉电后不需要重新配置。

对于大规模可编程逻辑器件,在习惯上,还有另外一种分类方法,即编程后,对于单个可编程器件,在掉电后重新上电是否可以保持编程的逻辑:可以保持的称为 CPLD,反之则称为FPGA。

2.1.2 PLD中阵列的表示方法

因为PLD内部电路的连接规模很大,用传统的逻辑电路表示方法很难描述PLD的内部结构,所以对PLD进行描述时采用了一种特殊的简化方法。

缓冲器和连接点的表示方法如图2-1所示。

PLD 的输入、输出缓冲器都采用了互补结构,如图 2-1(a)、(b)所示。图 2-1(c)所示是在阵列中连接关系的表示,PLD有3种连线连接方式:固定连接、编程连接、没有连接。交叉线的交点上打黑点,表示是固定连接,即在PLD出厂时已连接;交叉线的交点上打叉,表示该点可编程,在PLD出厂后通过编程,其连接可随时改变;十字交叉线表示此二线未连接。

图2-1 PLD的连接点

PLD 的与门的输入线通常画成横线,与门的所有输入变量都称为输入项,并画成与横线垂直的列线。列线与行线相交的交叉处若有“.”,表示有一个耦合元件固定连接;若有“×”,则表示是编程连接;若交叉处无标记,则表示不连接(被擦除)。与门的输出称为乘积项F。图2-2所示是PLD中与阵列的简化图形,表示可以选择A、B、C、D四个信号中的任意一组或全部输入与门。图2-3所示是PLD中或阵列的简化图形表示。

图2-2 PLD中与阵列的表示

图2-3 PLD中或阵列的表示

2.1.3 CPLD的结构和工作原理

CPLD(Complex Programmable Logic Device)即复杂可编程逻辑器件。在流行的CPLD中,Altera 的 MAX7000S 系列器件具有一定典型性,下面就以此为例来介绍 CPLD 的结构和工作原理。

MAX7000S结构主要是由多个LAB组成的阵列以及它们之间的连线构成的。多个LAB通过可编程连线阵列PIA(Programmable Interconnect Array)和全局总线连接在一起,全局总线从所有的专用输入、I/O引脚和宏单元馈入信号,如图2-4所示。MAX7000S结构中包含五个主要部分,即逻辑宏单元、逻辑阵列块、扩展乘积项(共享和并联)、可编程连线阵列、I/O控制块。下面对部分模块进行介绍。

图2-4 MAX7000S的结构

1.逻辑宏单元

MAX7000S系列器件包含32~256个逻辑宏单元,其单个逻辑宏单元结构如图2-5所示。逻辑宏单元由三个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器,它们可以被单独配置为时序逻辑和组合逻辑工作方式。其中逻辑阵列实现组合逻辑,可以给每个逻辑宏单元提供五个乘积项。“乘积项选择矩阵”分配这些乘积项作为到“或”门和“异或”门的主要逻辑输入,以实现组合逻辑函数;或者把这些乘积项作为宏单元中寄存器的辅助输入:清零(Clear)、置位(Preset)、时钟(Clock)和时钟使能控制ClockEnable)。

图2-5 MAX7000S系列的单个逻辑宏单元结构

每个逻辑宏单元中有一个“共享扩展”乘积项经非门后回馈到逻辑阵列中,逻辑宏单元中还存在“并行扩展”乘积项,从邻近逻辑宏单元借位而来。

逻辑宏单元中的可配置寄存器可以单独地被配置为带有可编程时钟控制的D、T、JK或SR触发器工作方式,也可以将寄存器旁路掉,以实现组合逻辑工作方式。

每个可编程寄存器可以按如下三种时钟输入模式工作:

(1)全局时钟信号。该模式能实现最快的时钟到输出(Clock to Output)性能,这时全局时钟输入直接连向每一个寄存器的CLK端。

(2)全局时钟信号由高电平有效的时钟信号使能。这种模式提供每个触发器的时钟使能信号,由于仍使用全局时钟,输出速度较快。

(3)用乘积项实现一个阵列时钟。在这种模式下,触发器由来自隐埋的逻辑宏单元或I/O引脚的信号进行钟控,其速度稍慢。

每个寄存器也都支持异步清零和异步置位功能。乘积项选择矩阵分配乘积项来控制这些操作。虽然乘积项驱动寄存器的置位和复位信号是高电平有效,但在逻辑阵列中将信号取反可得到低电平有效的效果。此外,每一个寄存器的复位端可以由低电平有效的全局复位专用引脚GCLRn信号来驱动。

2.逻辑阵列块

一个LAB由16个逻辑宏单元的阵列组成。对于每个LAB,输入信号来自三部分:一是来自作为通用逻辑输入的PIA的36个信号;二是来自全局控制信号,用于寄存器辅助功能;三是从I/O引脚到寄存器的直接输入通道,如图2-6所示。

图2-6 EPM7032/7064/7096结构

3.扩展乘积项

尽管大多数逻辑功能可以利用各个宏单元内部的5个乘积项来实现,但较复杂的逻辑功能仍需要利用附加乘积项来实现。为了提供所需的逻辑资源,可以利用另外一个宏单元;但是MAX7000S器件也允许使用共享的或并联的扩展乘积项(即扩展项),由其直接为同一个LAB中的任意一个宏单元提供额外的乘积项。这些扩展乘积项有助于确保在逻辑综合时用尽可能少的逻辑资源得到尽可能快的工作速度。

(1)共享扩展项。共享扩展项就是由每个宏单元提供一个未投入使用的乘积项,并将它们反相后反馈到逻辑阵列中,以便于集中使用,如图2-7所示。每个LAB有16个共享扩展项。每个共享扩展乘积项可被其所在的 LAB 内任意或全部宏单元使用和共享,以实现复杂的逻辑功能。使用共享扩展项会引入一个小的延时。

(2)并联扩展项。并联扩展项是宏单元中没有使用的乘积项,可被分配给相邻的宏单元以实现高速的、复杂的逻辑功能,如图2-8所示。并联扩展项允许多达20个乘积项直接馈送到宏单元的“或”逻辑中。其中,5个乘积项由宏单元本身提供,另外15个由与其同属一个LAB的邻近宏单元的并联扩展项提供。设计软件的编译器能够自动将最多3组且每组最多5个的并联扩展项分配给需要附加乘积项的宏单元。每组并联扩展项会增加一个小的延时。

图2-7 MAX7000S器件共享扩展项

图2-8 MAX7000S器件并联扩展项

每个LAB中的两组宏单元(每组含有8个宏单元)形成两个出借或借用并联扩展项的链。一个宏单元可从编号较小的宏单元中借用并联扩展项。在每一组中,编号最小的宏单元仅能出借并联扩展项,而编号最大的宏单元仅能借用并联扩展项。

4.可编程连线阵列

不同的 LAB 通过在可编程连线阵列(PIA)上布线,以相互连接构成所需的逻辑。这个全局总线是一种可编程的通道,可以把器件中任何信号连接到其目的地。所有MAX7000S器件的专用输入、I/O引脚和逻辑宏单元输出都连接到PIA,而PIA可把这些信号送到整个器件内的各个地方。只有每个 LAB 需要的信号才布置从 PIA 到该 LAB 的连线。由图2-9所示可看出PIA信号布线到LAB的方式。

图2-9 PIA信号布线到LAB的方式

图2-9中是通过E2PROM单元控制与门的一个输入端,以选择驱动LAB的PIA信号。由于MAX7000S的PIA有固定的延时,所以器件延时性能较容易地预测。

5.I/O控制块

I/O控制块允许每个I/O引脚单独被配置为输入、输出和双向工作方式。所有I/O引脚都有一个三态缓冲器,它的控制端信号来自一个多路选择器,可以选择用全局输出使能信号其中之一进行控制,或者直接连到地(GND)或电源(VCC)上。图2-10所示为EPM7128S器件的I/O控制块,它共有6个全局输出使能信号。这6个使能信号可来自两个输出使能信号(OE1、OE2)、I/O引脚的子集或I/O宏单元的子集,并且也可以是这些信号取反后的信号。

图2-10 MAX7000S器件的I/O控制块

当三态缓冲器的控制端接地(GND)时,其输出为高阻态,这时 I/O 引脚可作为专用输入引脚使用。当三态缓冲器控制端接电源 VCC 时,输出被一直使能,为普通输出引脚。MAX7000S结构提供双I/O反馈,其逻辑宏单元和I/O引脚的反馈是独立的。当I/O引脚被配置成输入引脚时,与其相连的宏单元可以作为隐埋逻辑使用。

对于 I/O 工作电压,MAX7000S(S 系列)器件有多种不同特性的系列,其中 E、S 系列为5.0V工作电压;A、AE系列为3.3V混合工作电压;B系列为2.5V混合工作电压。

2.1.4 FPGA的结构和工作原理

FLEX10K系列器件是Altera公司于1998年推出的第一个集成了嵌入式阵列块(EAB)的PLD,由于它具有高密度、低成本、低功率等特点,成为Altera公司PLD中应用前景最好的器件系列之一。下面就以此类器件为例,介绍FPGA的结构与工作原理。

FLEX 10K器件主要由嵌入式阵列(EA)、逻辑阵列(LA)、快速通道(Fast Track)和输入/输出单元(IOE)四部分构成。其中,逻辑阵列是由多个逻辑阵列块组成的,每个逻辑阵列块又包含8个逻辑单元(Logic Element)和一个局部互连通道(Local Interconnect)。8个逻辑单元由局部互连通道连接起来。逻辑阵列块按行和列的形式排列在芯片中,每行逻辑阵列块中放置一个嵌入式阵列块,行列之间的信号通过快速通道连接起来。在每条快速通道的两端都有I/O单元,这些I/O单元与芯片的引脚相连。FLEX 10K系列PLD芯片的结构图如图2-11所示。

图2-11 FLEX 10K系列PLD芯片的结构

1.嵌入式阵列

嵌入式阵列是由一系列的 EAB(嵌入式阵列块)构成的。当要实现有关存储器功能时,每个EAB可提供2048位,用于构成RAM、ROM、FIFO或双端口RAM。当EAB用于实现乘法器、微控制器、状态机及 DSP 等复杂逻辑时,每个 EAB 可以相当于 100~600个逻辑门。EAB 可以单独使用,也可以组合起来使用。嵌入式阵列块(EAB)的结构如图2-12所示。

图2-12 FLEX 10K器件嵌入式阵列块(EAB)的结构

当用做RAM时,每个EAB可被配置成256×8、512×4、1024×2或2048×1四种不同的格式。对于不同的配置形式,RAM所需的数据线和地址线的数量是不同的。例如对于256×8配置,需要8条数据输入线、8条数据输出线和8条地址线。

更大的RAM可由多个EAB组合而成,如两个256×8的RAM块可组成一个256×16的RAM。必要时,可将所有的EAB级联起来组成一个RAM块而不影响时序。

另外还有6个用于驱动寄存器控制端的专用输入引脚,以确保高速、低时滞(小于1.5ns)控制信号的有效分布。这些信号使用了专用的布线通道,以缩短延时和减小失真。4个全局信号可由4个专用输入引脚驱动,也可以由器件内部逻辑驱动。

RAM的输入/输出端都有触发器,用户可根据自己的需要选择是否使用触发器。RAM的数据输入和地址输入信号来自EAB局部互连通道,局部互连通道的信号又来自行互连通道。触发器的时钟信号和RAM的写使能信号既可由局部互连通道驱动,也可由6条专用输入及全局信号驱动。这6条信号使用专用布线通道,比行列互连通道的延迟短。RAM最后的输出分别送到行列互连通道。

2.逻辑阵列

逻辑阵列由一组逻辑阵列块(LAB)构成。每个LAB由8个逻辑单元(LE)和一些局部互连组成,结构如图2-13所示。

图2-13 FLEX 10K逻辑阵列块(LAB)的结构

每个逻辑单元(LE)包含一个4输入的查找表(LUT)、一个可编程触发器以及用于进位和级联功能的专用信号通道,其结构如图2-14所示。每个LE需要4个数据输入信号和4个控制输入信号。数据信号由LAB局部互连通道提供,控制信号既可由LAB局部互连通道提供,也可由6条专用输入及全局信号提供。每个LE有两路输出:一路输出送到行、列互连通道;另一路返回LAB局部互连通道。另外,还有两条贯穿8个LE的进位级联信号。

3.快速通道

逻辑单元和器件 I/O 引脚之间的连接是由沿纵、横方向贯穿整个器件的快速通道互连提供的。这种全局布线结构提供了可预测的性能。每一行的逻辑阵列块LAB由一个专用的行互连为其“服务”,该行互连可以驱动 I/O 引脚或馈送到器件中的其他 LAB。列互连分布于两行之间,也能驱动 I/O 引脚。每一列 LAB 由一个专用的列互连为其“服务”,该列互连可以驱动 I/O 引脚或者另一行的互连,也便于将信号馈送到器件中的其他LAB。

图2-14 FLEX 10K逻辑单元(LE)结构图

4.输入/输出单元

输入/输出单元(IOE)处于快速通道的每一行/列的末端。每个I/O单元与一个I/O引脚相配合,其中包含一个双向缓冲器和一个可作为输入或输出寄存器以馈送输入、输出或双向信号的触发器,输入/输出单元的内部结构如图2-15所示。

图2-15 FLEX 10K器件的输入/输出单元的内部结构

当I/O单元用于输入信号时,外信号经过I/O引脚进入芯片后,既可以直接进数据选通器选通后就送到行或列互连通道,也可以先经过数据选通器选通后送到触发器 D 端,经时钟同步后再送到数据选通器,然后再送入行或列互连通道。

当I/O单元用于输出信号时,来自行或列互连通道的信号经数据选通器送入另一个数据选通器的输入端,然后既可以直接经数据选通器选通后由三态门输出到I/O引脚,也可以经数据选通器后送到触发器,经时钟同步后,再经过数据选通器和三态门输出到I/O引脚。

FLEX10K器件还提供了6个专用输入引脚,这些引脚用于驱动触发器的控制端,以确定控制信号高速、低偏移(小于1.2ns)地有效分配。这些信号使用专用的布线支路,以便具有比快速通道更短的延迟和更小的偏移。专用输入中的4个输入引脚可用来驱动全局信号,这4个全局信号还可以由内部逻辑驱动,它为时钟分配或产生用于清除器件内部寄存器的异步清除信号提供了一个理想的方法。

2.1.5 CPLD/FPGA产品系列

1.Altera公司的CPLD和FPGA器件系列

Altera是著名的PLD生产厂商,多年来一直占据着行业领先的地位。Altera的PLD具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的 IP 核、宏功能库等,因此Altera的产品获得了广泛的应用。Altera的产品有多个系列,按照推出的先后顺序依次为 Classic 系列、MAX(Multiple Array Matrix)系列、FLEX(Flexible Logic Element Matrix)系列、APEX(Advanced Logic Element Matrix)系列、ACEX系列、APEXⅡ系列、Cyclone系列、Stratix系列、MAXⅡ系列、CycloneⅡ/Ⅲ系列以及StratixⅡ/Ⅲ系列等。

1)StratixⅡ 系列FPGA

StratixⅡ器件采用TSMC 90nm低绝缘工业技术的300mm晶圆制造。它采用革新性的逻辑结构,基于自适应逻辑模块(ALM),将更多的逻辑封装到更小的面积内,并赋予更快的性能。StratixⅡ中带有专用算法功能模块,能高效地实现加法树等其他大计算量的功能。为了支持通信设计应用,StratixⅡ提供了高速I/O信号和接口。

(1)专用串行/解串(SERDES)电路:实现1Gbps源同步I/O信号。

(2)动态相位调整(DPA)电路:动态地消除外部板子和内部器件的偏移,更容易获得最佳的性能。

(3)支持差分 I/O 信号电平:包括 HyperTransport、LVDS、LVPECL 及差分 SSTL 和HSTL。

(4)提供外部存储器接口:专用电路支持最新外部存储接口,包括 DDR2 SDRAM、RLDRAMⅡ和 QDRII SRAM 器件。具有充裕的带宽和 I/O 引脚支持,以及多种标准的 64位或72位、168/144脚双直列存储模块(DIMM)接口。

2)ACEX系列FPGA

ACEX 系列是 Altera 专门为通信(如 xDSL 调制解调器、路由器等)、音频处理及其他应用而推出的芯片系列。ACEX系列器件的工作电压为2.5V,芯片的功耗较低,集成度在3万门到几十万门之间,基于查找表结构。在工艺上,该系列采用先进的1.8V/0.18μm、6层金属连线的SRAM工艺制成,封装形式则包括BGA、PQFP、TQFP等。

3)MAX系列CPLD

MAX系列包括MAX9000、MAX7000A、MAX7000B、MAX7000S、MAX3000A等器件系列。这些器件的基本结构单元是乘积项,在工艺上采用E2PROM和EPROM。器件的编程数据可以永久保存,可加密。MAX系列的集成度在数百门到2万门间。所有MAX系列的器件都具有ISP在系统编程的功能,支持JTAG边界扫描测试。

4)Cyclone系列低成本FPGA

Cyclone 系列 FPGA 是 Altera 的低成本系列 FPGA,平衡了逻辑、存储器、锁相环(PLL)和高级I/O接口,是价格敏感应用的最佳选择。Cyclone FPGA具有以下特性:

(1)新的可编程构架通过设计可实现低成本;

(2)嵌入式存储资源支持各种存储器应用和数字信号处理(DSP)实施;

(3)专用外部存储接口电路集成了DDR FCRAM、SDRAM器件以及SDR SDRAM存储器件;

(4)支持串行、总线和网络接口及各种通信协议;

(5)使用片内锁相环PLL管理片内和片外系统时序;

(6)支持单端I/O标准和差分I/O技术,支持高达311Mbps的LVDS信号;

(7)处理能力支持NiosⅡ系列嵌入式处理器;

(8)采用新的串行配置器件的低成本配置方案;

(9)通过QuartusⅡ软件OpenCore评估特性,免费评估IP功能。

5)CycloneⅡ系列FPGA

CycloneⅡ器件的制造基于300mm晶圆,采用TSMC90nm、低K值电介质工艺。CycloneⅡFPGA系列也是低成本系列FPGA,其结构功能与Cyclone类似,另包括多达150个18×18用于嵌入式处理器的低成本数字信号处理(DSP)应用,支持单端I/O标准用于64bit/66MHzPCI和64bit/100MHzPCI-X(模式1)协议,并且对安全敏感应用进行自动CRC检测。

2.Lattice公司CPLD器件系列

著名的PLD生产厂商除了Altera以外,还有Lattice公司和Xilinx等公司。Lattice公司是最早推出PLD的公司,该公司的CPLD产品主要有ispLSI、ispMACH等系列。20世纪90年代以来,Lattice公司率先发明了ISP(In-SystemProgrammability)下载方式,并将E2CMOS与ISP相结合,使CPLD的应用领域有了巨大的扩展。

ispLSI系列器件是Lattice公司于20世纪90年代推出的大规模可编程逻辑器件,集成度在1000~60000门之间,Pin-to-Pin(引脚到引脚)延时最小可达3ns。ispLSI器件支持在系统编程和JTAG边界扫描测试功能。ispMACH4000系列CPLD器件有3.3V、2.5V和1.8V三种供电电压,分别属于ispMACH4000V、ispMACH4000B和ispMACH4000C系列器件。

ispMACH4000Z、ispMACH4000V和ispMACH4000Z均支持军用温度范围。ispMACH4000系列支持1.8~3.3V的I/O标准,既有业界领先的速度性能,又能提供最低的动态功耗。

3.Xilinx公司的FPGA和CPLD器件系列

Xilinx公司在1985年首次推出了FPGA,随后不断推出新的集成度更高、速度更快、价格更低、功耗更低的FPGA器件系列。Xilinx公司拥有以CoolRunner、XC9500系列为代表的CPLD,以及以XC4000、Spartan、Virtex系列为代表的FPGA器件,如XC2000、XC4000、Spartan、Virtex、VirtexⅡpro、Virtex4等系列,其性能不断提高。

1)Virtex-4系列FPGA

Virtex-4系列FPGA采用已验证的90nm工艺制造,可提供密度达20万逻辑单元和高达500MHz的性能。整个系列分为三个面向特定应用领域而优化的FPGA平台架构。

(1)面向逻辑密集的设计:Virtex-4 LX。

(2)面向高性能信号处理应用:Virtex-4 SX。

(3)面向高速串行连接和嵌入式处理应用:Virtex-4 FX。

这三种平台FPGA都内含DCM数字时钟管理器、PMCD相位匹配时钟分频器、片上差分时钟网络、带有集成FIFO控制逻辑的500MHzSmartRAM技术,以及XtremeDSP逻辑模块。每个I/O都有集成ChipSync源同步技术的1GbpsI/O。Vitex-4LX提供了所有共同特性,密度高达20万逻辑单元。Virtex-4SX/LX器件都包括了基本的特性集,而SX还集成了更多的SmartRAM存储器块和多达512个XtremeDSP逻辑模块。在最高500MHz时钟速率下,这些硬件算术资源可提供高达256GigaMACs/s的DSP总带宽,功耗却仅为57μW/MHz。

2)SpartanⅡ& Spartan-3 & Spartan 3E系列器件

SpartanⅡ器件是以Virtex器件的结构为基础发展起来的第二代高容量FPGA。SpartanⅡ器件的集成度可以达到15万门,系统速度可达到200MHz,能达到ASIC的性价比。SpartanⅡ器件的工作电压为2.5V,采用0.22μm/0.18μmCMOS工艺,6层金属连线制造。Spartan-3采用90nm工艺制造,是SpartanⅡ的后一个低成本FPGA版本。

3)XC9500 & XC9500XL系列CPLD

XC9500系列被广泛地应用于通信、网络和计算机等产品中。该系列器件采用快闪存储技术(FastFlash),比E2CMOS工艺的速度更快,功耗更低。目前,Xilinx公司XC9500系列CPLD的tPD可达到4ns,宏单元数达到288个,系统时钟可达到200MHz。XC9500器件支持PCI总线规范和JTAG边界扫描测试功能,具有在系统可编程(ISP)能力。该系列有X9500、XC9500XV和XC9500XL三种类型,内核电压分别为5V、2.5V和3.3V。