基于FPGA CPLD的EDA技术实用教程
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

三、主流厂商FPGA/CPLD器件及开发软件

(一)主流厂商FPGA/CPLD器件

1. Altera公司的FPGA和CPLD器件

Altera公司是著名的PLD生产厂商,多年来直占据着行业领先的地位。Altera公司的PLD具有高性能、高集成度和高性价比的优点,此外它还提供了功能全面的开发工具和丰富的IP核、宏功能库等,因此Altera公司的产品获得了广泛的应用。Altera公司的产品有多个系列,包括Stratix Ⅱ系列、Stratix系列、Cyclone系列、MAX Ⅱ系列、Classic系列、FLEX系列、APEX系列、ACEX系列等。下面简要介绍几种主要系列。

(1)Stratix Ⅱ系列

Stratix Ⅱ系列器件采用TSMC 90nm低绝缘工艺技术,采用了革新性的逻辑结构,基于自适应逻辑模块(ALM)构建。它将更多的逻辑器件封装到更小的面积内,具有更快的性能。Stratix Ⅱ中带有专用算法功能模块,能高效实现复杂算法。为了支持通信应用,Stratix Ⅱ系列提供了高速信号接口和动态相位调整(DPA)电路,消除外部板子和内部器件的偏移,更易获得最佳的性能。Stratix Ⅱ系列FPGA支持差分I/O信号电平,包括HyperTransport、LVDS、LVPECL及差分SSTL和HSTI。

Stratix Ⅱ系列还提供了外部存储器接口,包括DDR2 SDRAM、RLDRAMII和QDR ⅡSRAM,具有充裕的带宽和I/O引脚支持,具有多种标准168/144脚双直列存储模块(DIMM)接口。

为提高安全性,配置比特流加密技术的128位高级加密标准(AES)密钥存放在FPGA中,无需备份电池,不占用逻辑资源。Stratix Ⅱ系列器件含有TriMatrix存储器,三种存储块分别为M-RAM、M4K和M512,提供多达9MB的存储容量,包括用于检错的校验位,性能高达370MHz,混合宽度数据和混合时钟模式。

Stratix Ⅱ增强数字信号处理(DSP)特点包括:

①更大的DSP带宽,提供比Stratix器件多四倍的DSP带宽;

②专用乘法器、流水线和累加电路;

③每个DSP块支持Q1.15格式新的舍入和饱和;

④最大性能高达370MHz;

⑤时钟管理电路具有片内锁相环(PLL)支持器件和板子时钟管理动态PLL,重配置允许随时改变PLL参数,备份时钟切换用于差错恢复和多时钟系统;

⑥可以实现片内差分和串行匹配,简化了电路板设计的复杂性,降低了设计成本;

⑦支持远程系统升级,用于可靠安全地进行系统升级和差错修复。专用看门狗电路可确保升级后功能正常。

(2)Stratix系列

该系列采用1.5V内核,0.13μm全铜工艺。芯片由Quartus Ⅱ软件支持。主要特点如下。

①内嵌三级存储单元,可配置为采用移位寄存器的512B小容量RAM、4KB容量的标准RAM(M4K)或512KB的大容量RAM(MegaRAM),并自带奇偶校验。

②内嵌乘加结构的DSP块(包括硬件乘法器/累加器和流水线结构),适于高速数字信号处理和各类算法的实现。

③全新的布线结构,分为三种长度的行列布线,在保证延时可预测的同时,提高资源利用率和系统速度。

④增强时钟管理和锁相环能力,最多可有40个独立的系统时钟管理区和12组锁相环PLL实现任意倍频/分频,且参数可动态配置。

⑤增加片内终端匹配电阻,提高信号完整性,简化PCB布线。

⑥增强远程升级能力,增加配置错误纠正电路,提高系统可靠性,方便远程维护升级。

(3)ACEX系列

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

(4)FLEX系列FPGA

FLEX系列是Altera为DSP设计应用最早推出的FPGA器件系列,包括FLEX10K、FLEXIOKE、FLEX8000和FLEX6000等。器件采用连续式互连和SRAM工艺,可用门数为1~25万门。FLEX10K器件具有灵活的逻辑结构和嵌入式存储器块,能够实现各种复杂的逻辑功能,是应用最为广泛的一个系列。

(5)MAX系列

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

(6)Cyclone系列

Altera的系列FPGA在逻辑门、存储器、锁相环和高级I/O接口之间具有较好的平衡,Cyclone FPGA是价格敏感应用的最佳选择。Cyclone FPGA具有以下特性。

①采用新的可编程构架,通过设计实现低成本。

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

②专用外部存储接口电路集成了DDR FCRAM和SDRAM器件以及SDR SDRAM存储器件。

④支持串行总线网络接口及多种通信协议。

⑤使用PLL管理片内和片外系统时序。

⑥支持单端I/O标准和差分I/O技术,支持高达311Mb/s的LVDS信号。

⑦支持NIOS Ⅱ系列嵌入式处理器。

⑧采用新的串行配置器件低成本配置方案。

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

(7)Cyclone Ⅳ系列

Cyclone Ⅳ器件采用经过优化的60nm低功耗工艺。Cyclone Ⅳ FPGA系列只需要两路电源供电,简化了电源分配网络。其特点如下。

①多达115KB的垂直排列的LE,以M9K模块形式排列的4MB嵌入式存储器。

②多达266个18×18位乘法器。

③专用外部存储器接口电路,用以连接DDR2、DDR和SDR SDRAM以及QDPⅡSRAM存储器件。最多有4个嵌入式PLL,用于片内和片外系统时钟管理。

④支持单端I/O标准的64位、66MHz PCI和64位、100MHz PCI-X(模式1)协议。

⑤具有差分I/O信号,支持RSDS、mini-LVDS、LVPECL和LVDS,CycloneⅣ GX集成了3.125Gb/s收发器。

⑥对安全敏感应用进行自动CRC检测,支持完全定制NIOS Ⅱ嵌入式处理器。

⑦采用串行配置器件低成本配置解决方案。

(8)MAX Ⅱ系列

这是一款上电即用、非易失性的PLD器件系列,用于通用的低密度逻辑应用环境。MAX Ⅱ系列器件还将成本和功耗优势引入了高密度领域。其特点是使用LUT结构,内含Flash,可以实现自动配置。和3.3V MAX器件相比,MAX Ⅱ器件只有很小的功耗,采用1.8V内核电压,以减小功耗,可靠性高。支持内部时钟频率达300MHz,内置用户非易失性Flash存储器块,通过取代分立式非易失性存储器件减少芯片数量。

MAX Ⅱ器件在工作状态时能够下载第二个设计,可降低远程现场升级的成本,有灵活的多电压MultiVolt内核。片内电压调整器支持3.3V、2.5V或1.8V电源输入。可减少电源电压种类,简化单板设计。可以访问JTAG状态机,可提高单板上不兼容JTAG协议的Flash器件的配置效率。

随着百万门级FPGA的推出,SoPC可编程芯片系统成为可能,它可将一个完整的系统集成在一个可编程逻辑器件内。为了支持SoPC的实现,方便用户的开发与应用,Altera还提供了众多性能优良的宏模块、IP核以及系统集成解决方案,这些宏功能模块、IP核都经过了严格的测试,使用这些模块将大大减少设计的风险,缩短开发周期,可使用户将更多的精力和时间放在改善和提高设计系统的性能上,而不是重复开发已有的模块。

Altera通过以下两种途径开发IP模块。

①AMPP(Altera Megafunction Partners Program)。AMPP是Altera宏功能模块和IP核开发伙伴组织,通过该组织,提供基于Altera器件的优化宏功能模块和IP核。

②MegaCore。又称为兆功能模块,是Altera自行开发完成的。兆功能模块拥有高度的灵活性,具有一些固定功能器件达不到的性能。

Altera的Quartus平台提供对各种宏功能模块进行评估的功能,允许用户在购买某个宏功能模块之前对该模块进行编译和仿真,以测试其性能。

Altera能够提供以下宏功能模块。

①数字信号处理类。即DSP基本运算模块,包括快速加法器、快速乘法器、FIR滤波器和FFT等,这些参数化的模块均针对Altera FPGA的结构做了充分的优化。

②图像处理类。Altera为数字视频处理所提供的包括压缩和过滤等应用模块均针对Altera器件内置存储器的结构进行了优化,包括离散余弦变换和JPEG压缩等。

③通信类。包括信道编码解码、Viterbi编码解码和Turbo编码解码等模块,还能够提供无线电软件应用模块,如快速傅立叶变换和数字调制解调器等。在网络通信方面也提供了诸多选择,从交换机到路由器,从桥接器到终端适配器,均提供了一些应用模块。

④接口类。包括PCI、USB、CAN等总线接口以及SDRAM控制器、IEEEl394标准接口。其中PCI总线接口包括64位、66MHz的PCI总线和32位、33MHz的PCI总线等几种方案。

⑤处理器及外围功能模块。包括嵌入式微处理器、微控制器、CPU核、NIOS核、UART和中断控制器等。此外还有编码器、加法器、锁存器、寄存器和各类FIFO等IP。

2.Lattice公司的FPGA和CPLD器件

Lattice也是最早推出PLD的公司之一。Lattice公司的CPLD产品主要有ispLSI、ispMACH等系列。20世纪90年代,Lattice发明了ISP(In-System Programmability)下载方式,并将EECMOS与ISP相结合,使CPLD的应用领域有了巨大的扩展。

(1)ispLSI系列

ispLSI系列器件是Lattice公司于20世纪90年代推出的大规模可编程逻辑器件,集成度在1000~60000门之间,Pin-to-Pin(引脚到引脚)延时最小可达3ns。ispLSI器件支持在系统编程和JTAG边界扫描测试功能。

ispLSI器件主要分四个系列:ispLSI 1000E系列、ispLSI 2000E/2000VL/200VE系列、ispLSI 5000V系列、ispLSI 8000/8000V系列。它们的基本结构和功能相似,但在用途上有一定的侧重点,因而在结构和性能上有细微的差异,有的速度快,有的密度高,有的成本低,有的I/O口多,适合在不同的场合应用。

(2)ispMACH 4000系列

ispMACH 4000系列CPLD器件有3.3V、2.5V和1.8V三种供电电压,分别属于ispMACH 4000V、ispMACH 4000B和ispMACH 4000C器件系列。

ispMACH 4000Z、ispMACH 4000V和ispMACH 4000Z均支持军用温度范围。MAcH4000系列支持介于3.3V和1.8V之间的I/O标准,既有业界领先的速度性能,又能提供最低的动态功耗。ispMACH 4000系列具有SuperFAST性能,引脚至引脚之间的传输延迟tpd为2.5ns,频率可达400MHz。

(3)EC和ECP系列

EC和ECP系列属于Lattice的FPGA系列,使用0.13μm工艺制造,提供低成本的FPGA解决方案。在ECP系列器件中还嵌入了DSP模块。

3. Xilinx公司的FPGA和CPLD器件

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

(1)Virtex-4系列FPGA

采用已验证的90nm工艺制造,密度达20万逻辑单元,速度可达500MHz。整个系列分为三个面向特定应用领域而优化的FPGA平台架构,分别是:

①面向逻辑密集的设计:Virtex-4LX;

②面向高性能信号处理应用:Virtex-4SX;

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

(2)Spartan Ⅱ/Spartan-3/Spartan-3E器件系列

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

Spartan-3也采用90nm工艺制造,是继Spartan Ⅱ之后的一个低成本FPGA版本。

(3)XC9500/XC9500XL系列CPLD

XC9500系列被广泛地应用于通信、网络和计算机等产品中。该系列器件采用快闪存储技术(Fast Flash),比EECMOS工艺的速度更快,功耗更低。目前,Xilinx公司XC9500系列CPLD的tpd可达到4ns,宏单元数达到288个,系统时钟可达到200MHz。

XC9500器件支持PCI总线规范和JTAG边界扫描测试功能;具有在系统可编程能力。该系列有XC9500、XC9500XV和XCS1500XL三种类型,内核电压分别为5V、2.5V和3.3V。器件重要特点如下。

①采用快闪存储技术,器件速度快,功能强,引脚到引脚的延时最低为4ns,系统速度可达200MHz,器件功耗低。

②引脚作为输入可以接受3.3V、2.5V、1.8V和1.5V等几种电压,作为输出可以配置为3.3V、2.5V、1.8V等电压。

③支持在系统编程和JTAG边界扫描测试功能,器件可以反复编程达10000次,编程数据可以保持20年。

④集成度为36~288个宏单元,800~6400个可用门,器件有不同的封装形式。

XC9500XL系列是XC9500系列器件的低电压版本,采用3.3V供电,成本低于XC9500系列器件。

4. FPGA的器件选择和使用注意事项

(1)供应商的选择

目前,主要的FPGA供应商有Xilinx公司、Altera公司、Lattice公司和Actel公司,其中Xilinx公司和Altera公司的规模最大,能提供器件的种类非常丰富。

(2)FPGA器件的基本参数和指标选择

基本参数是器件选型的重要标准。基本参数主要包括逻辑单元的数量、等效逻辑门数量、可用的I/O数量、片内的存储资源的多少等,其他参数有时钟管理、锁相环和延时锁定环、PLL和DLL、高速I/O接口、嵌入式的硬件乘法器或者DSP单元、处理器的硬IP核、其他硬IP核、各种软IP核。

(3)型号选择

选择具体型号的FPGA需要考虑的因素的比较多,包括管脚数量、逻辑资源、片内存储器、DSP资源、功耗、封装的形式等等,一般都要参考各个厂家给出的器件的Datasheet,了解各项的参数和性能指标。为了保证具有较好的可扩展性和可升级性,应留出一定的资源余量,因此,要进行系统硬件资源需求的估计。

(4)外围器件的选择

FPGA型号选定以后,根据FPGA的特性,为其选择合适的电源芯片、片外存储器芯片,配置信息存储器。

在设计FPGA的最小系统时,一般需要注意以下几个方面。

①必需的功能 最小系统之中,除了EP1C3芯片之外,应该还包括3.3V的I/O口用稳压电源、内核用1.5V稳压电源、测试用发光二极管指示灯、JTAG口、I/O口引出排针、有源晶振电路等。

②I/O口的引出与排列 最小系统板除了用于做一些简单的编程实验之外,最主要还是用于与其他扩展板配合使用,即可以嵌入到一些复杂的系统中。因此,尽量把所有的I/O都引出,同时应该分类引出,并且排列应比较连贯。

③器件的选择 对于低成本小系统,一般选择EP1C3或EP1C6,稳压芯片一般选择1117系列。许多厂家都用1117系列,并且各种不同的输出电压值都有,方便设计时灵活选择。

④可选功能 可选功能包括1~3路RS232接口、I2C总线存储器(例如24C02、24C64)。如果考虑到以NIOS Ⅱ的应用为主,FPGA可以改用EP1C6。144引脚封装的EP1C6与EP1C3除了几个特殊I/O外完全兼容。可按照Altera公司或相关开发板公司提供的开发板加上外部Flash和SDRAM。

(二)FPGA/CPLD常用开发软件

1. Quartus Ⅱ软件

Quartus Ⅱ是Altera公司推出的FPGA/CPLD开发工具,Quartus Ⅱ提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性。利用Quartus Ⅱ软件的开发流程可概括为以下几步:设计输入、设计编译、设计时序分析、设计仿真和器件编程。其中包括原理图、结构框图的Verilog HDL、AHDL和VHDL电路描述,可将其保存为设计实体文件;可进行芯片(电路)平面布局连线编辑,通过LogicLock增量设计方法,用户可优化系统,添加对原始系统性能影响较小或无影响的后续模块。

该软件还提供以下功能:

①功能强大的逻辑综合工具;

②完备的电路功能仿真与时序逻辑仿真工具;

③定时/时序分析与关键路径延时分析;

④可使用SignalTap Ⅱ逻辑分析工具进行嵌入式逻辑分析;

⑤支持软件源文件的添加和创建,并将它们链接起来生成编程文件;

⑥使用组合编译方式可一次完成整体设计流程;

⑦自动定位编译错误;

⑧高效的期间编程与验证工具;

⑨可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件;

⑩能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。

Quartus Ⅱ编译器支持的硬件描述语言有VHDL、Verilog HDL及AHDL(Altera HDL),AHDL是Altera公司自己设计、制定的硬件描述语言,是以结构描述方式为主的硬件描述语言。Quartus Ⅱ设计流程如图1.11所示。

图1.11 Quartus Ⅱ设计流程

2. ISE软件

ISE是Xilinx推出的FPGA/CPLD开发设计工具集合,由早期的Foundation系列逐步发展到目前的ISE 9.1系列,集成了FPGA开发需要的所有功能,Foundation Series ISE具有界面友好、操作简单的特点,已经成为非常通用的FPGA工具软件。

ISE的主要功能包括设计输入、综合、仿真、实现和下载,涵盖了FPGA开发的全过程,从功能上讲,其工作流程无需借助任何第三方EDA软件。

①设计输入 ISE提供的设计输入工具包括用于HDL代码输入和查看报告的ISE文本编辑器(The ISE Text Editor),用于原理图编辑的工具ECS(The Engineering Capture System),用于生成IP Core的Core Generator,用于状态机设计的StateCAD以及用于约束文件编辑的Constraint Editor等。

②综合 ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌Mentor Graphics公司的Leonardo Spectrum和Synplicity公司的Synplify,实现无缝链接。

③仿真 ISE本身自带了一个具有图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用Model Tech公司的Modelsim进行仿真的接口。

④实现 此功能包括了翻译、映射、布局布线等,还具备时序分析、管脚指定以及增量设计等高级功能。

⑤下载 下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还包括了ImPACT,其功能是进行设备配置和通信,将程序烧写到FPGA芯片中去。

3. Diamond软件

Diamond是Lattice公司推出的PLD开发设计软件。Diamond集成工具环境为低密度和超低密度FPGA的应用设计提供了一个友好、全面、快速的用户界面。Diamond使用扩展的基于项目的设计流程和集成的工具视图,可为用户提供包括进程流、层次结构、模块和文件列表等系统级信息,提供集成的HDL代码检查和合并报告生成功能。其特点如下。

①基于GUI的完整FPGA设计和验证环境。

②可通过多个工程以及设置策略,对单个设计项目进行设计探索。

③提供时序和功耗管理的图形化操作环境。