《[信息与通信]第5讲可编程逻辑器件.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]第5讲可编程逻辑器件.ppt(83页珍藏版)》请在三一办公上搜索。
1、第三章 新型系统级现场可编程逻辑器件,重点介绍Altera公司的FPGA,Altera的新型FPGA器件,Altera的新型FPGA器件是指2002年之后推出的。它采用先进的90nm或130nmSRAM工艺制造,器件密度高、功能强,并且嵌入许多专用硬核,具有高性能、模块化的结构。它能灵活嵌入各种IP软核,尤其是Altera可编程NIOS处理器,可以很容易实现各种可编程片上系统(SOPC)。这些新型FPGA器件包括Stratix器件系列、Stratix II器件系列、Stratix GX器件系列、Cyclone器件系列和Cyclone II器件系列。,3.1 Stratix系列的FPGA器件,2
2、002年2月12日,Altera公司宣布推出新一代可编程逻辑器件Stratix,此系列采用0.13 m全铜工艺和1.5 V内核。新的Stratix体系嵌入了为大数据吞吐量的应用而优化设计的DSP模块,使芯片运算功能得到加强。Stratix还采用了DirectDrive技术的MultiTrack布线体系,把复杂的功能集成到单个可编程逻辑器件(PLD)中,使器件性能比以前的器件体系改善了40%。,3.1 Stratix系列的FPGA器件,Stratix系列器件是Altera第二款采用TSMC先进0.13 m全铜工艺的FPGA。它在存储器设计、处理能力和I/O灵活性等方面均有优势,其芯片内部结构与A
3、ltera以前的产品相比有很大变化,如表所示。,3.1 Stratix系列的FPGA器件,表 Stratix器件的内部资源,3.1 Stratix系列的FPGA器件,该系列的主要特点包括以下五个方面:(1)采用全新的布线结构(分为三种长度的行列布线),在保证延时可预测的同时,提高了资源利用率和系统速度。(2)内嵌有三级存储单元:可配置为移位寄存器的512 b的小容量RAM(M512);4 Kb容量的标准RAM(M4K)和512 Kb的大容量RAM(MegaRAM)。并自带奇偶校验。,3.1 Stratix系列的FPGA器件,(3)增强了时钟管理和锁相环能力,最多可有40个独立的系统时钟管理区和
4、12组锁相环PLL,实现kM/N的任意倍频/分频,且参数可动态配置。(4)增加了片内终端匹配电阻,提高了信号的完整性,简化了PCB布线。(5)内嵌乘加结构的DSP块(包括硬件乘法器、硬件累加器和流水线结构),提高了数字信号处理和系统的速度。,3.1 Stratix系列的FPGA器件,1.Stratix芯片总体结构 Stratix系列器件的结构和标准FPGA的结构有较大差别。该系列FPGA在结构上主要由逻辑阵列块(LAB)、DSP模块、锁相环(PLL)、TriMatrix存储模块、I/O单元(IOE)和布线资源6部分组成。,Stratix芯片结构图,3.1 Stratix系列的FPGA器件,St
5、ratix系列器件FPGA在结构上主要由纵向分布逻辑阵列块(LAB)、DSP模块、锁相环(PLL)、TriMatrix存储模块、I/O单元等组成。这些单元之间的连接采用DirectDrive技术和MultiTrack互连结构提供。MultiTrack互连由连续的、具有不同长度和速度的性能优化布线组成;DirectDrive技术能够保证无论在器件中的什么位置都有一致的布线资源,避免了设计改变引起的系统重新优化过程,简化模块设计的系统集成过程。使设计者在修改设计时,不用担心设计能够下降。,3.1 Stratix系列的FPGA器件,Stratix器件还具有TriMatrix存储器结构,有3个不同容量
6、的嵌入式RAM:512 b的M512模块、4 Kb的M4K模块和1 Mb的Mega RAM模块。,3.1 Stratix系列的FPGA器件,2.内嵌乘加结构的DSP模块结构 在DSP中需要乘法、加法、累加等一些基本数学运算。Stratix 器件的DSP模块就迎合了这样的需求。Stratix系列器件的DSP模块包括硬件乘法器、加法器、减法器、累加器和流水线寄存器,可提供优化的DSP性能。每个Stratix 系列器件都内嵌有两列DSP模块。不同的器件每列所拥有的DSP模块的数量是不相同的。,3.1 Stratix系列的FPGA器件,表32 各Stratix 系列器件的DSP模块资源,3.1 Str
7、atix系列的FPGA器件,Stratix 器件中的每一个DSP模块都可针对不同的应用实现8个 99 位乘法、4个 1818 位乘法或1个 3636 位乘法。当配置为36 36位乘法器模式时,DSP模块还可完成浮点运算。但由于符号类型的原因,其运算位数不一定能达到36位。下面列出了各种情况下DSP模块所能提供的最大功能。,3.1 Stratix系列的FPGA器件,3636 位 无符号无符号 3636 位 有符号有符号 3536 位 无符号有符号 3536 位 无符号浮点 3635 位 有符号浮点 3535 位 浮点浮点(符号不同)3636 位 浮点浮点(符号相同)以上说明的仅仅是一个DSP模块
8、的情况。多个DSP模块时,能提供更强大的功能。,3.1 Stratix系列的FPGA器件,整个DSP模块在结构上可分为以下两个部分:乘法器子模块:由1个乘法器、输入寄存器和流水线寄存器组成。DSP模块中的乘法器支持99、1818或3636位三种乘法。加法器/输出子模块:在结构上,加法器/输出模块由一个加法/减法/累积器单元、总和单元、输出选择多路复用器和输出寄存器组成。,3.1 Stratix系列的FPGA器件,3.乘法器模块的结构原理 DSP模块中的乘法器模块由1个乘法器、输入寄存器和流水线寄存器组成。图3-3所示为典型的乘法器模块结构。,3.1 Stratix系列的FPGA器件,图3-3
9、乘法器模块结构图,3.1 Stratix系列的FPGA器件,1)输入寄存器:用来寄存乘法器的输入数据,位于乘法器的前端。它可以由用户来配置成并行数据输入寄存器或移位寄存器。当配置成并行寄存器时,设计人员可以通过使用时钟信号、异步清除信号和时钟使能信号去控制A、B数据信号的输入。这些寄存器的控制信号用户可以从上图的clock30、aclr30和ena30信号中去选择。,3.1 Stratix系列的FPGA器件,当输入寄存器配置成移位寄存器时,设计者可以把一个乘法器模块的移位输出信号送给下一个邻近的乘法器模块,形成一个转移寄存器链。这个链能在任何一个模块中终止。这样,设计者就可以设计出一个总长度小
10、于224个寄存器的任意长度的寄存器链。这样的结构在构建FIR滤波器时是很有用的。而且这时所有的滤波器电路和布线都能在DSP块内实现,不需要再利用外面LAB的资源。表3-3所示为输入寄存器模式说明。,3.1 Stratix系列的FPGA器件,2)乘法器 DSP模块中的乘法器支持99、1818或3636位三种乘法。每个DSP模块可以支持8个99或更小的乘法器,或4个大于99小于等于1818的乘法器,或1个大于1818小于等于3636的乘法器。用户可以根据自己的需要来把它配置成合适位数的乘法器。比如,在视频信号处理应用中,小位乘法器可能很有用处;但如果在处理一个单精度浮点数的尾数乘法时,可能配置成1
11、818位乘法器更好一些。,3.1 Stratix系列的FPGA器件,乘数可以是有符号和无符号数。如果两个乘数中有一个乘数是有符号数,则结果为有符号数;只有两个数都为无符号数,结果才为无符号数。图3-3中的sign_a 和sign_b信号给乘数类型提供了动态控制:逻辑1表示乘数为有符号数,0表示无符号数。如果忽略sign_a 和sign_b信号所表示的意思,则乘法器可以达到满精度。,3.1 Stratix系列的FPGA器件,3)流水线寄存器 流水线寄存器使得乘法器模块和后面的模块可以构成流水线结构,提高系统性能。,3.1 Stratix系列的FPGA器件,4.加法器/输出子模块 加法器/输出模块
12、在乘法器模块的后面。乘法器模块的输出直接送给加法器/输出模块。在结构上,加法器/输出模块由一个加法/减法/累积器单元、总和单元、输出选择多路复用器和输出寄存器组成。根据需要,它可以配置成累加器、2个或4个乘法器和的加法器或构成36位乘法器的最后部分。它也可以什么都不做,直接输出前面乘法器模块的结果。在系统中,设计者不能离开乘法器模块单独使用它。,3.1 Stratix系列的FPGA器件,5.操作模式 由于用户配置的不同,一个DSP模块中的加法器、减法器和累积器组合在一起使用时,可能会产生四种操作模式:单一乘法器模式;乘法累加器模式;双乘法器和模式;四乘法器和模式。但要注意的是,在每个DSP模块
13、内只能支持一个模式,不支持使用混合模式。,3.1 Stratix系列的FPGA器件,1)单一乘法器模式 在这种模式里,乘法器子模块的值直接或通过输出寄存器输出,不使用后面的加法/减法/累积器单元。在一个DSP模块中有4个1818位乘法器,或者是8个99位乘法器的值可以直接输出。在这种模式下,有一种特殊情况就是用DSP模块来构建一个3636位的乘法器,这时要利用后面的单元组成一个加法器,把前面4个1818位乘法器的结果加起来。,3.1 Stratix系列的FPGA器件,图3-5 单一乘法器模式结构图,3.1 Stratix系列的FPGA器件,2)乘法累加器模式 图3-6所示的是乘法累加器模式的结
14、构原理。在这种模式时,加法/减法/累积器单元被配置成一个累积器。1个乘法器的输出作为1个累加器的输入。在1818位乘法器的情况下,由于DSP 模块内只有两个累加器,因此第一和第三个乘法器子模块在设计时不被使用。设计者在一个DSP模块内可以构建一个或两个1818位乘法累积器。乘法器36位的最大乘法结果和16位的累积,可以产生最大52位的累加器输出。,3.1 Stratix系列的FPGA器件,图 3-6 乘法累加器模式结构图,3.1 Stratix系列的FPGA器件,3)双乘法器和模式 如果把两个乘法器的输出值送入加法/减法/累积器单元进行加减操作,就是双乘法器和模式。这样的模式在一些场合是很有用
15、的,比如做FFT和复杂FIR滤波器设计时。设计者在双乘法器和模式下可以做复数乘法,例如:(a+jb)(c+jd)=(ac)-(bd)+j(ad)+(bc)这个公式的整个计算可以在一个DSP模块内实现。,3.1 Stratix系列的FPGA器件,实数部分(ac)-(bd)的计算可以通过配置一个减法器;虚数部分(ad)+(bc)配置一个加法器;数据宽度可以达到18位。图3-7 为这个计算过程的框图。如果要在一个DSP模块内实现2个复数乘法,可以使用4个加法/减法/累积器单元,即在99位的模式下,数据宽度为9位。,3.1 Stratix系列的FPGA器件,图3-7 18位双乘法器和模式结构图,3.1
16、 Stratix系列的FPGA器件,4)四乘法器和模式 把图3-7 所示的两个加法/减法模块的输出加在一起就构成了四乘法器和模式,其电路结构如图3-8所示。在四乘法器和模式下,一个DSP块内可以实现四个1818位乘法器的和,或同时计算两组不同的4个99位乘法器的和,但每个乘法器数据宽度要求相同。四乘法器和模式加上移位输入寄存器,可以用来设计FIR滤波器。例如,用奇数位移位输入寄存器载入数据,用偶数位移位输入寄存器保存系数,就可以实现FIR滤波器。一个DSP模块可以完全实现一个四阶18位FIR滤波器。高于四阶的滤波器可以通过层叠其他的DSP模块,再附加利用LE中配置的加法器来实现。,3.1 St
17、ratix系列的FPGA器件,表3-4展示了DSP模块各种模式下可能的不同的乘法器的数量。根据这四种模式的特点产生了多方面的DSP应用,如快速傅立叶变换(FFT)、有限冲击响应(FIR)滤波器、2D FIR滤波器、平衡器、无限冲击响应(IIR)滤波器、相关器、矩阵乘法等。,3.1 Stratix系列的FPGA器件,3.Stratix器件在设计中的应用 Stratix系列FPGA的每种器件都内嵌有专门针对DSP应用而优化的DSP模块,这使得Stratix器件非常适合用于数字信号处理系统中。Stratix DSP模块的运行速度可达250 MHz。每个DSP模块的数据吞吐量为每秒2 G个乘法累加操作
18、(GMAC)。此外,Stratix器件中规模最大的EP1S120器件中包含了28个DSP模块,总起来可提供高达56 GMAC的数据吞吐能力,还可完成高达224个并行乘法操作。,3.1 Stratix系列的FPGA器件,在这以前,传统的DSP处理器最多仅可同时进行8个并行乘法操作,数据吞吐量也只有8.8 GMAC。在数据吞吐能力上,Stratix是传统DSP处理器的6倍还多。在设计中,结合Altera公司的软件工具,利用DSPBuilder(Quartus软件和MATLAB/Simulink间的一个接口),就可以利用Stratix器件实现完整的DSP系统,如RAKE接收器和宽带码分多址(WCDM
19、A)发射器等。,3.1 Stratix系列的FPGA器件,DSP Builder可以将MathWorks MATLAB 和Simulink系统级设计工具的算法开发、模拟和验证功能与Quartus软件的HDL综合、模拟和验证功能结合起来,是一个优秀的专业DSP开发工具。除了DSP模块中的专用乘法器以外,还可利用逻辑单元(LE)来实现乘法器和DSP功能。,3.1 Stratix系列的FPGA器件,例如,可在Stratix器件中利用大约9600个逻辑单元实现一个256阶 FIR滤波器。最大的Stratix器件EP1S120包括大约114 140个逻辑单元,可以容纳11个这样的滤波器。每个滤波器都可运
20、行在200 MHz,这意味着通过利用LE可提供 563 GMAC的器件总吞吐能力。结合DSP模块提供的56 GMAC的数据吞吐能力,Stratix器件可提供高达 620 GMAC的数据吞吐能力。,3.1 Stratix系列的FPGA器件,Stratix器件还具有TriMatrix存储器结构,有3个不同容量的嵌入式RAM:512 b的M512模块、4 Kb的M4K模块和1 Mb的Mega RAM模块。设计者可把小一点的M512用在存储器受限制的地方,如FIFO和时钟域缓存。高性能的Mega RAM主要满足大型缓存应用,比如IP包缓存和系统缓存。M4K适用于中等容量的存储器应用,比如ATM单元处理
21、。TriMatrix存储器结构提供10 Mb的RAM和高达12 Tb/s的存储带宽,这使得Stratix器件成为存储器集中的无线系统应用的理想器件。,3.1 Stratix系列的FPGA器件,与DSP处理器相比,Stratix 器件提供了更高的性能,并且其效率更高、更为灵活,成本上也更经济。Stratix系列器件为满足系统设计需求并实现3G无线基站、多媒体、VoIP以及图像处理等应用中的DSP系统提供了替代解决方案。,3.2 Stratix II系列的FPGA器件,Stratix II FPGA采用前沿的90nm技术构建,能够提供很高的密度和逻辑效率。Stratix II FPGA是创新逻辑体
22、系结构的产物,与前一代产品系列相比,其性能平均快出50,而逻辑占用降低25。Stratix II器件具有152个接收机和156个发送机通道,支持高达1Gbps数据传送速率的源同步信号。Stratix II器件具有嵌入 DPA 电路,消除了使用源同步信号技术长距离传送信号时由偏移引发的相位对齐问题从而简化了印刷电路板(PCB)布局。,3.2 Stratix II系列的FPGA器件,Stratix II FPGA中的TriMatrix存储器具有多达9Mbit的RAM。这种先进的存储结构包括三种大小的嵌入存储器块M512、M4K和M-RAM块,可配置支持多种特性。Stratix II器件包括高性能的
23、嵌入DSP块,它能够运行在370MHz,并为DSP应用进行优化。DSP块消除了大计算量应用中的性能瓶颈,提供可预测和可靠的性能,这样既节省资源又不会损失性能。Stratix II器件具有比DSP处理器更大的数据处理能力,实现最大的系统性能。,3.2 Stratix II系列的FPGA器件,每个Stratix II器件具有多达16个高性能的低偏移全局时钟,它可以用于高性能功能或全局控制信号。另外,每个区域八个本地(区域)时钟将任何区域的时钟总数增加至24个。这种高速时钟网和充裕的PLL紧密配合,确保最复杂的设计能够运行在优化性能和最小偏移的时钟下。Stratix II器件具有串行和差分片内匹配,
24、使得印刷电路板(PCB)所需的外部电阻数量最少,从而简化电路板布局。,3.2 Stratix II系列的FPGA器件,Stratix II器件具有远程系统升级功能,允许无差错地从远程安全和可靠地升级系统。Stratix II器件高级架构特性结合Nios II嵌入处理器具有很强的处理能力,满足网络、电信、DSP应用、大容量存储和其它高带宽系统的需求。Stratix II器件改善了最新Nios II处理器的整体系统性能。,3.3 Stratix GX系列的FPGA器件,Stratix GX 是Altera最新一代带有嵌入式收发器的FPGA。该系列为不断增长的高速串行I/O应用和协议提供功能强大的解
25、决方案。Stratix GX与Stratix 体系结构相同,集成了多达20个的基于串化器/解串器(SERDES)的收发器。收发器在622 Mbps至3.125 Gbps的整个工作范围内,设计提供最佳抖动性能。收发器的物理编码子层(PCS)模块具有独特的数字特性,可支持多种广泛使用的协议,如PCI Express等,可大量节省资源,简化协议支持。,3.3 Stratix GX系列的FPGA器件,收发器模块:Stratix GX器件内置高级协议支持功能。每个收发器模块的专用电路可支持PCI Express、6 Gbps长距离和短距离通用电气接口(CEI-6G-LR/SR)、串行数字接口(SDI)、
26、XAUI、SONET、千兆以太网和SerialLite。Stratix GX系列具有内置字探测和对齐电路,内置8b/10b编码器/解码器(在不使用时可以旁路掉),使该器件非常适用于多种面向协议或专用的串行应用场合。,3.3 Stratix GX系列的FPGA器件,FPGA体系结构:Stratix GX 器件构建在新的、创新性Stratix 逻辑结构之上,针对最佳性能和泄漏功率控制进行了优化。该器件比前代FPGA性能平均快出50。Stratix GX采用1.5V、90nm SRAM工艺,可提供多达6.7 Mbit的片内TriMatrix存储器,能够满足要求大量存储器资源的应用。该器件还含有14个
27、DSP模块,每个模块包括112(18位18位)个乘法器,可高效实现高性能滤波器和其他DSP功能。,3.3 Stratix GX系列的FPGA器件,同时支持各种高速外部存储器接口,如DDR SDRAM和DDR2 SDRAM、RLDRAM II、QDR II SRAM以及SDR SDRAM等。Stratix GX器件支持多种源同步差分I/O信令标准,采用动态相位调整(DPA)电路,最大工作速率可达1.2-Gbps。Stratix II器件提供完整的时钟管理解决方案,最大内部时钟频率500 MHz,最多含有8个锁相环(PLL)。此外,Stratix GX器件还具有设计安全性、片内匹配和远端系统升级功
28、能。,3.3 Cyclone系列的FPGA器件,Altera Cyclone 系列FPGA从根本上针对低成本进行设计。这些低成本器件具有专业应用特性,例如嵌入式存储器、外部存储器接口和时钟管理电路等。Cyclone系列FPGA是成本敏感大批量应用的最佳方案。Cyclone FPGA具有多达20060个逻辑单元。Cyclone器件的逻辑资源可用来实现复杂的应用。Cyclone器件中M4K存储块提供288kbit存储容量,能够被配置来支持多种操作模式,包括RAM、ROM、FIFO及单口和双口模式。,3.3 Cyclone系列的FPGA器件,Cyclone器件具有高级外部存储器接口,允许设计者将外部
29、单数据率(SDR)SDRAM,双数据率(DDR)、SDRAM和 DDR FCRAM 器件集成到复杂系统设计中,而不会降低数据访问的性能。Cyclone器件具有多达129个兼容LVDS的通道,每个通道数据率高达640Mbps。Cyclone器件具有两个可编程锁相环(PLL)和八个全局时钟线,提供健全的时钟管理和频率合成功能,实现最大的系统性能。Cyclone PLL具有多种高级功能,如频率合成、可编程相移、可编程延迟和外部时钟输出。这些功能允许设计者管理内部和外部系统时序。,3.3 Cyclone系列的FPGA器件,Cyclone器件为在FPGA上实现低成本数字信号处理(DSP)系统提供了理想的
30、平台。Cyclone器件能用Altera新的串行配置器件进行配置。Cyclone器件的Nios II系列嵌入式处理器能够降低成本,增加灵活性,非常适合于替代低成本的分立微处理器。,3.4 Cyclone II系列的FPGA器件,在Altera大获成功的第一代Cyclone 器件系列基础之上,Cyclone IIFPGA从根本上针对低成本进行设计,为成本敏感的大批量应用提供用户定制特性。Cyclone II FPGA以低于ASIC的成本实现了高性能和低功耗。,3.4 Cyclone II系列的FPGA器件,Altera Cyclone II采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被
31、尽可能最小的优化。采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,Cyclone II器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18x18乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。,3.4 Cyclone II系列的FPGA器件,Cyclone II与Cyclone FPGA的差别:Cyclone II FPGA提供比Cyclone FPGA更新更先进的特性。这些特性包括嵌入式乘法器、支持DDR2和QDR II存储器件的外部存储器接口、片内串行匹配,以及支持更多的差分和单端I/O 标
32、准。,3.5 可编程器件的选择方案,在实际的数字系统设计中,可编程器件的选择方案对系统实现的性能具有重要的影响。因为不同厂商的可编程器件结构不尽相同、延时特性不同、开发软件不同。同时,这些可编程器件也没有像通用逻辑器件那样采用相同的引脚标准,所以,不同厂商的可编程器件不能完全兼容,不能相互替换。因此,设计者在可编程器件的选择上需要谨慎。归纳起来,基本的选择原则有如下几种。,3.5 可编程器件的选择方案,1、从系统设计角度的目标器件选择原则(1)电磁兼容设计的原则,即对于中低速电路的系统设计,尽量不要采用高速器件。因为高速器件不仅价格高,而且由于其速度高,反会引发或增加电磁干扰,使系统工作难以稳
33、定。每一种可编程器件都有一系列速度等级。比如CycloneII系列FPGA器件有三个速度等级:6、7和8。其中6的速度最快。比如:做16位计数器,6级可以达到401.6MHz,而8级只能达到310.65MHz.,3.5 可编程器件的选择方案,关于器件速度等级的选型,一个基本的原则是:在满足应用需求的情况下,尽量选用速度等级低的器件。该选型原则有如下好处:(1)由于传输线效应,速度等级高的器件更容易产生信号反射,设计要在信号的完整性上花更多的精力;(2)速度等级高的器件一般用得比较少,价格经常是成倍增加,而且高速器件的供货渠道一般比较少,器件的订货周期一般都比较长,经常会延误产品的研发周期,降低
34、产品的上市率。,3.5 可编程器件的选择方案,(2)主流芯片原则。公开推出各种型号的芯片,但由于生产或推广策略的原因,器件的价格往往并不是完全和器件的容量、速度成比例关系,而是和该器件是否是目前的主流推广器件有关。,3.5 可编程器件的选择方案,目前,主要的FPGA供应商有Xllinx公司、Altera公司、Lattic公司和Actel公司,其中Xllinx公司和Altera公司的规模最大,能提供器件的种类非常丰富。FPGA的发展速度非常快,很多型号的FPGA器件已不是主流产品,为了提高产品的生命周期,最好在货源比较足的主流器件中选型。目前,Altera公司的主流器件有Cyclone,Cycl
35、one,Statix,StatixGX,Statix和StatixGX等系列,其中Cyclone和Cyclone系列主要应用于逻辑设计和简单的数字信号处理,Statix和Statix系列主要应用于高速复杂数字信号处理和高速逻辑设计,StatixGX和StatixGX系列主要应用于通讯领域;,3.5 可编程器件的选择方案,Xllinx公司的主流器件有Spartan-3E,Spartan-3A,Virtex-4LX,Virtex-4 SX,Virtex-4 FX,Virtex-5 LX,Virtex-5SX和Virtex-5 FX等系列,其中Spartan-3E和Spartan-3A系列主要应用于
36、逻辑设计和简单数字信号处理,Vir-tex-4 LX和Virtex-5 LX系列主要应用于高速逻辑设计,Virtex-4 SX和Virtex-5 SX系列主要应用于高速复杂数字信号处理,Virtex-4 FX和Virtex-5 FX系列主要应用于嵌入式系统。,3.5 可编程器件的选择方案,两家公司都提供了优秀的开发工具。Xllinx公司有集成开发环境ISE,Altera公司有集成开发环境Quartus,两个集成开发环境支持本公司所有器件的设计和开发。该集成开发环境不仅功能强大、界面友好,而且有很多第三方合作伙伴提供相应的技术支持,能使器件获得更高的性能。因此,如果没有特殊应用要求,建议最好在这
37、两家公司进行器件选型。,3.5 可编程器件的选择方案,(3)多片系统原则。对于有的应用设计,不要一味追求单片化。如果系统的局部适用于CPLD,另一局部适用于FPGA,则完全可采用多器件的复合系统结构,既有利于降低成本,又能加快设计进程,提供系统的稳定性。器件的选择标准可以分如下几条:第一,尽可能选择同一家厂商的可编程器件,以便对同一个研发团队的设计者进行开发软件操作的培训,在开发过程中吸取教训,交流经验,提高设计水平。,3.5 可编程器件的选择方案,第二,对于经验不足的设计者,先尽可能减小大规模可编程器件的选择,采用多片中小规模的FPGA和CPLD结合使用的方案,即多片FPGA(或CPLD)方
38、案,实现各个子系统的功能验证。待功能验证完成后,再提高集成度,采用大规模的FPGA芯片,即单片FPGA方案。第三,利用FPGA芯片资源丰富的特点,完成各种算法、运算、控制、时序逻辑等功能,提高集成度;利用CPLD芯片速度快、保密性好的特点,完成快速译码、控制、加密等逻辑功能。,3.5 可编程器件的选择方案,在一个复杂系统确定总体方案时,总体设计者就应该根据系统复杂度、参研人员的研发能力、对系统电路要求理解的准确程度、对FPGA(或CPLD)开发工具掌握程度、FPGA(或CPLD)器件的性能价格比、产品研制进度以及经费等诸多因素,确定采用单片FPGA(或CPLD)方案,还是多片FPGA(或CPL
39、D)方案。,3.5 可编程器件的选择方案,2、从器件资源角度的目标器件选择原则(1)器件的逻辑资源和目标系统的逻辑需求相匹配:硬件资源是器件选型的重要标准。硬件资源包括逻辑资源、I/O资源、布线资源、DSP资源、存储器资源、锁相环资源、串行收发器资源和硬核微处理器资源等。逻辑资源和I/O资源的需求是每位设计人员最关心的问题,一般都会考虑到,可是,过度消耗I/O资源和布线资源可能产生的问题却很容易被忽视。主流FPGA器件中,逻辑资源都比较丰富,一般可以满足应用需求。,3.5 可编程器件的选择方案,可是,在比较复杂的数字系统中,过度IO资源的消耗可能会导致2个问题:FPGA负荷过重,器件发热严重,
40、严重影响器件的速度性能、工作稳定性和寿命,设计中要考虑器件的散热问题;局部布线资源不足,电路的运行速度明显降低,有时甚至使设计不能适配器件,设计失败。比如:在做复杂数字信号处理时,位数比较高的乘法器和除法器对全局布线资源的消耗量比较大;在做逻辑设计时,双向I/O口对局部布线资源的消耗量比较大;,3.5 可编程器件的选择方案,在利用存储器资源设计滤波器的应用场合,局部布线资源的消耗量比较大;在电气接口标准比较多,而逻辑比较复杂的应用场合,局部布线资源的消耗量比较大。据Altera公司推荐,设计中最好能预留30以上的逻辑资源、20以上的I/O资源和30以上的布线资源。,3.5 可编程器件的选择方案
41、,而且,从两家公司器件的结构看,Xllinx公司器件的可编程逻辑块相对于Altera公司要复杂一些,使用起来要灵活一些。在一些复杂的、控制信号比较多的设计中,适合选用Xllinx公司的产品。不过Xllinx公司器件布线资源是分段的,器件延时的可预测性要差一些。在这些应用场合,最好首先做设计仿真,对设计消耗的布线资源,尤其是很容易被忽视的局部布线资源,要有一个比较充分的了解,然后在考虑器件选型,是比较理想的。在做乘法运算比较多而且对速度性能要求比较高的应用场合,最好能选用带DSP资源比较多的器件,例如,Altera公司的Statix和Statix系列,Xllinx公司的Virtex-4 SX和V
42、irtex-5 SX系列等。,3.5 可编程器件的选择方案,器件中的存储器资源主要有2种用途:作高性能滤波器;实现小容量高速数据缓存。这是一种比较宝贵的硬件资源,一般器件中的存储器资源都不太多,存储器资源较多的器件逻辑容量也非常大,用得也比较少,供货渠道也不多,器件价格也非常高。因此,在器件选型时,最好不要片面追求设计的集成度而选用这种器件,可以考虑选用低端器件+外扩存储器的设计方案。,3.5 可编程器件的选择方案,目前,主流FPGA中都集成了锁相环,利用锁相环对时钟进行相位锁定,可以使电路获得更稳定的性能。Xllinx公司提供的是数字锁相环,其优点是能获得更精确的相位控制,其缺点是下限工作频
43、率较高,一般在24 MHz以上;Altera公司提供的是模拟锁相环,其优点是下限工作频率较低,一般在16 MHz以上,其主流器件Statix和Statix系列中的增强型锁相环工作频率只要求在4 MHz以上,其缺点是对时钟相位的控制精度相对较差。,3.5 可编程器件的选择方案,利用集成硬核微处理器的FPGA器件进行嵌入式开发,代表嵌入式应用的一个方向。Altera公司提供集成ARM的APEX系列器件,Xllinx公司提供集成PowerPC的Virtex-4 FX和virtex-5 FX系列器件。随着器件价格不断下降,在很多应用场合,在不增加成本的情况下,选用该器件和传统FPGA+MCU的应用方案
44、相比,能大幅度提高系统性能和降低硬件设计复杂程度。此时,选用该器件是比较理想的。,3.5 可编程器件的选择方案,(2)器件的I/O脚的数目需满足目标系统的要求:所选择的目标器件,仅在逻辑单元的资源上符合系统要求还是不够的。器件的I/O脚的数目能否满足系统的输入/输出器的数目要求,是器件选择上的另一个基本要求。对于一个FPGA器件,其管脚的组成主要分为三类。其一是专用功能脚,主要用于电源(VCC)、接地(VSS)、编程模式定义(M0、M1、M2)等非用户功能。这些管脚是提供器件正常工作的基本配置,不能用于器件的用户功能的定义。,3.5 可编程器件的选择方案,其二是用户功能脚,专门用于目标数字系统
45、的输入/输出接口定义。对于不同的器件,其接脚特征的参数可编程定义的范围也不一样。一般可提供CMOS电平或TTL电平接口;有的可定义为直接输入/输出或寄存输入/输出;有的有上拉电阻、下拉电阻定义等。,3.5 可编程器件的选择方案,其三是用户功能/专用功能双功能脚。这类接脚可定义为用户接口。主要注意两点:第一,在器件加电时的短时间内,器件处于内部功能的下载定义、重构状态时,该脚属专用功能脚,处于专用功能所需的逻辑状态;第二,用户系统数据下载完成后,该脚才转为用户功能。因此,为了使两种不同的逻辑功能状态需求互不干扰,需要加一上接电阻或下拉电阻于该接脚。,3.5 可编程器件的选择方案,(3)系统的时钟
46、频率要满足器件元胞、布线的时延限制要求:当系统的时钟频率决定以后,考虑到采用FPGA来实现系统逻辑时,如果其内部逻辑单元级联深度和布线时延接近或等于或大于系统时钟的周期,则采用该FPGA来实现的系统就很难保证有效地实现原系统规定的逻辑功能。,3.5 可编程器件的选择方案,所以解决的方法有:(1)选择具有更高速度的器件替代原器件,以满足器件内部逻辑单元级联深度和布线所产生的时延小于系统的时钟周期时间的要求。(2)采用流水线等技术措施,以满足系统的时序和时延要求。,3.5 可编程器件的选择方案,(4)器件的温度等级选择:某些应用场合,对器件的环境温度适应能力提出了很高的要求,此时,就应该在有工业级
47、甚至是军品级或宇航级的器件中进行选型。据调研,Altera公司每种型号的FPGA都有工业级产品;Xllinx公司每种型号的FPGA都有工业级产品,部分型号的FPGA提供军品级和宇航级产品。如果设计主要面向军用或航天应用,最好选用Actel公司的器件,该公司的器件主要面向这些用户。,3.5 可编程器件的选择方案,(5)器件的封装选择:目前,主流器件的封装形式有:QFP,BGA和FBGA,BGA和FBGA封装器件的管脚密度非常高,设计中必须使用多层板,PCB布线相当复杂,设计成本比较高,器件焊接成本比较高,因此,设计中能不用尽量不用。不过,在密度非常高,集成度非常高和对PCB板体积要求比较高的应用
48、场合,尽量选用BGA和FBGA封装器件。还有一种情况,在电路速度非常高的应用场合,最好选用BGA和FBGA封装器件,这2种封装器件由于器件管脚引线电感和分布电容比较小,有利于高速电路的设计。,3.5 可编程器件的选择方案,图PQFP封装:Plastic Quad Flat Pack,3.5 可编程器件的选择方案,Figure.484-Pin FineLine BGA Package Outline,Ball-Grid Array,3.5 可编程器件的选择方案,(6)电气接口标准目前,数字电路的电气接口标准非常多。在复杂数字系统中,经常会出现多种电气接口标准。目前,主流FPGA器件支持的电气接口标准有如下图等各种标准,可以满足绝大部分应用设计需求。,3.5 可编程器件的选择方案,3.5 可编程器件的选择方案,可是,FPGA器件的每一个IO并不支持所有的电气接口标准,以Altera公司的FPGA为例,只有部分I/O支持SSTL-2 Class电气接口标准,在对DDR进行设计时,会导致PCB布线相当复杂,器件的IO管脚利用率相当低。而Xllinx公司的FPGA几乎所有的管脚都支持SSTL-2 Class电气接口标准,此时选用Xllinx公司的FPGA是比较理想的。,