|
迎来新一代FPGA
|
Meet the New FPGAs
|
■Xilinx公司 Jay Gould
|
新一代平台FPGA器件不仅比早先代的产品规模更大、速度更快,并且已经能够在单个功能强大的可编程系统平台器件中集成大量传统上的"片外"元器件。过去,嵌入式设计是软件和硬件的组合,其中硬件平台通常以处理能力、存储器和数字逻辑来简单地描述。但到了2002年,业界已经可在单个可编程平台器件中实现处理和计算能力、存储器、逻辑单元和附加系统器件的完全集成。
回顾 FPGA器件和开发工具
现场可编程门阵列(FPGA)和可编程逻辑器件(PLD)成为主流电子设计领域所采用的器件始于1980年代早期,最初的器件通常只能提供数百个可编程的门。许多早期的PLD仅仅包括"与"和"或"的阵列,因此乘积项之和的逻辑设计可以利用可编程的互连资源实现。这些器件被用来代替不同的分立数字逻辑器件,这样单个成品可编程器件可用于任何类型的设计。每种器件都是通用的,从而简化了库存。同时,器件设计需要特殊的手工原理图输入和布尔方程编译器等设计工具。
在过去20年里,FPGA和CPLD的规模和功能以惊人的速度(摩尔定律!)发展。因此,设计方法也必须以同样的速度发展才能跟上器件的进步。当可编程器件发展为包含上万和数十万逻辑门的器件时,在门一级进行的手工设计变得效率太低了。与软件编程语言(如C/C++、Java、Ada、和
Pascal)相对于汇编语言的发展过程一样,大规模、更复杂的硬件设计很快需要一种更高层次的抽象。
硬件描述语言(HDL),如Verilog和VHDL,很快被用于硬件设计描述,因为它们不仅在描述高层设计时更为有效,而且还不会牺牲对低层硬件开发的支持。现在最新一代的可编程器件可提供数百万逻辑门供用户逻辑使用,同时在芯片内引入了集成系统部件,因此合适的设计工具必须支持"系统"设计的所有方面,包括增加IP生成和嵌入式软件工具,如编译器和调试器。
目前的 FPGA技术
当今的FPGA系列产品具有一种标准的内部技术分类;然而,每家供应商的实施都略有不同。正如许多类型的集成电路一样,高端FPGA器件也提供多种封装、引脚和配置供工程师选择使用。由于器件可提供数百万逻辑门,因此几乎可在单个芯片中集成上千个老的设计。让我们简要地考察一下一些领先的FPGA内部逻辑,然后再看一下将这些逻辑器件转变为系统级芯片或平台FPGA的附加系统功能。
工程师用来描述设计的基本逻辑单元是可编程逻辑块(CLB,图1)。通过利用可编程单元连接查找表(LUT)、触发器、复用器和反馈环,CLB可支持组合逻辑或时序逻辑。CLB之间则通过一个交换矩阵连接到一起,并且有相应的RAM或移位寄存器。
早些时代的FPGA需要手工管理连接阻抗,从而增加了元器件数量、电路板尺寸和制造工序。现在,片上控制阻抗匹配技术不必在PC板上使用数百个外部端接电阻即可保证信号完整性。采用更少的电阻(元器件)意味着更低的成本、更高的质量和更好的系统可靠性。这一阻抗控制技术还支持众多的单端I/O标准。
数字时钟管理技术提供了强大的内部和外部时间管理功能,支持精确的相移和频率合成控制,同时还提供零延迟的时钟缓冲。这允许对系统时钟进行精确的特殊控制,以及达到更高的逻辑集成度,同时还避免了复杂的时钟树分析过程。
早期的FPGA技术所产生的时序通常是不可预测的,这是由于在器件内部对设计模块进行布线时信号的长度(远、近)不一样而导致的。当设计规模较小时,手工高速布线来完成设计还是可行的。但随着设计规模变得越来越大,手工调整布线和时序的方法就变得不可接受了。
在目前的FPGA技术中,时序问题由于采用完全缓冲的分段布线架构和优秀的布线逻辑工具所产生的延迟很小且可预测而获得解决。这种布线架构将大型复杂设计的众多模块连接起来,并通过可编程的I/O模块实现与器件外部的连接。不好的器件互连架构和/或性能不行的布线软件工具会极大地影响设计的性能。FPGA供应商不得不在这方面进行大量的投资,从而才能提供可保持逻辑性能的高效率布线硬件。
目前,大多数高端FPGA都嵌入了丰富的存储器资源,快速双口存储器已被嵌入到FPGA逻辑架构中。这些FPGA在某些器件中提供了高达10M字节的片上存储器,由于这样可避免片外存储器所带来的时延问题,因此这也促进了FPGA在高性能应用中的使用。
而且,FPGA器件经常还提供安全性选择。许多器件都提供加密功能来保护企业的知识产权(设计本身)不会被别人以反向工程的方法窃取。加密密钥被存储在嵌入式不可读的电池供电的SRAM中。
新一代平台FPGA
传统逻辑器件和ASIC间的重大区别之一是"片上系统"(SOC)过去只能用于ASIC。现在,这一形势已有了重大改变,新的IP植入工艺在向完全可编程的FPGA器件中嵌入系统部件方面非常成功。例如,赛灵思公司的旗舰产品Virtex-II
Pro FPGA就可集成高达四个PowerPC处理器和24个3.125 Gbps串行收发器、软微处理器核心、可定制的IP以及高性能DSP功能(图2)。
赛灵思公司的IP植入技术可以在单个器件中实现系统部件的高性能集成并保证阻抗匹配,从而可大大减少材料清单器件数量、缩小电路板空间并提高可靠性。在Virtex-II
Pro FPGA芯片的底层植入PowerPC处理器,同时在嵌入式硬核心上面的层提供完全的逻辑布线矩阵,这样可保证完全的功能。
一些FPGA供应商还同时提供软和硬-微处理器,因此用户可以选择最合适的嵌入式解决方案。通过与微处理器领域的行业领导厂商合作还可提供在多种高性能配置的器件中提供流行和成熟的处理器硬核心。工程师可选择包括零个、一个、两个或四个硬核心的器件,并可利用片上存储器来保证确定的执行时延,从而可获得更高的时序确定性。
富有创新能力的FPGA供应商还推出了32位软微处理器核心,它们可以独立应用或做为硬核心处理器的补充。设计人员可以在平台FPGA设计中为增加软核心来完成计算应用,或者利用同样的总线标准,增加软的微引擎(micro-engine)来将硬核心处理器从耗费时间的功能中解放出来(图3)。软核心处理器性能不如硬核心处理器,但它们更小且数量只受FPGA规模的限制。通过同时提供硬和软核心类型的处理器,工程师小组可以为特定的应用创建更为理想的平台。
理想情况下,在此类可编程平台中,外设和其它系统IP也是"软"的,因此你可精确地选择所需要的IP,而不必担心IP不够用或者使用太大的IP而浪费资源。再也不必在电路板上增加额外的微处理器,因为即使不采用处理器核心本身,也可使用所需要的分立硬IP。
FPGA供应商应当提供一个标准的IP库,包括可用于FPGA器件的仲裁器、桥、和UARTS等核心。同时FPGA供应商还应该在价格表以外提供额外的高端核心。另外非常重要的一点是支持对IP进行详细定制,从而设计人员可以就特性、性能和规模对IP的每个部分进行折衷和定制。由于不必受限于有限的IP数量或配置,这一能力可极大地改善整体设计的精细调整。
此外,在此类新的平台FPGA系统中DSP功能也呈爆炸性增长。硬连线的乘法器可支持每秒TeraMAC级的DSP性能。这一性能已经远远超过了目前市场上已有的最快的通用DSP处理器。FPGA在性能在1
MSPS至300 MSPS的DSP应用中使用最有竞争力,而这也正是客户最关心高性能和高灵活性的地方。
此类新型平台FPGA的另一个关键优势之一是其对高速连接标准的支持。为了获得可编程的高性能,业界正在转向串行标准。现在,赛灵思公司的Virtex-II
Pro FPGA可提供千兆位级的串行收发器。利用这些器件,设计人员不仅现在可立即拥有3.125 Gbps收发器,而且还可支持未来的10
Gbps标准。每个器件可提供大量收发器,同时现有的核心和参考设计已提供对几种高速标准的支持。
合适的嵌入式工具
利用Virtex-II Pro,工程师即可以把设计模块设计映射为FPGA逻辑门构成的硬件模块,也可以将其做为软件应用在处理器引擎(如嵌入式IBM
PPC405硬核心)上运行。由于有众多工程师(包括硬件、软件、固件工程师,系统设计师以及其它类型的工程师)参与此类平台FPGA器件的设计,因此需要一种对所有这些不同类型的开发人员都具吸引力的具有"市场领导"地位的工具战略。顶级的供应商不仅应当提供IP生成、DSP设计和逻辑实施工具,还应当与领先的EDA和嵌入式设计企业合作提供最好的逻辑综合、仿真、协同验证和嵌入式软件开发支持。
例如,通过支持GNU嵌入式设计工具和Wind River Systems公司的嵌入式工具,赛灵思的软件战略可迅速吸引最大的嵌入式用户群。这避免了设计工程师不得不学习使用完全新的开发方法,并允许他们将现有遗留设计快速移植到平台FPGA。由于已经有成千上万的受过训练的工程师在使用这些类型的工具,因此这种互补模式要比创建一种全新的设计技术更富建设性和更为有效。
除了支持GCC编译器和GDB调试器,赛灵思和Wind River还协作提供了一组强大的针对Virtex-II Pro FPGA中所嵌入的PP405处理器的软件工具。结果就产生了Wind
River PPC405工具的专用版本,Wind River XE-Xilinx版本。
请注意, Diab XE C/C++ 编译器 针对PowerPC而高度优化,从而使其非常适合Virtex-II Pro 和嵌入的PPC405核心。
SingleStep XE 是一款多窗口和全功能的嵌入式软件调试工具。这一工具远远优于命令行工具,对于电路板/硬件设计、驱动程序/固件开发和软件应用调试都非常理想(因此,将原来可能需要两种或三种工具减少为仅用一种工具即可)。
最后,visionPROBE II XE 在SingleStep XE主机调试器和平台FPGA目标器件间提供了高速并行连接。这一产品允许通过JTAG端口对目标器件进行控制以进行系统调试,而通过硬件缓冲逻辑,visionProbe
II XE还可执行高速下载。
摩尔定律对于预测和解释平台FPGA的演化确实非常重要。通过在大规模可编程器件中嵌入高性能处理器、存储器和高速I/O,FPGA已经进化为可编程系统器件。更多灵活的采用成品器件的设计将只受到我们想象力的限制。就让我们利用这些新一代器件来迎接摩尔定律在未来30至40年内所带给我们的挑战和机会吧。
|
|