论文部分内容阅读
潘 松 杭州电子工业学院副教授,1985年毕业于华东师范大学,专业领域:电磁场理论、微波技术、电子设计技术及EDA技术。出版专业书籍:《VHDL实用教程》电子科技大学出版社、《EDA技术实用教程》科学出版社;《现代DSP技术》西安电子科技大学出版社,及相关专业论文若干。
EDA技术主要是指面向专用集成电路设计的计算机技术, 与传统的专用集成电路设计技术相比,其特点有:①设计全程,包括电路系统描述、硬件设计、仿真测试、综合、调试、软件设计,直至硬件系统都由计算机完成;②设计技术直接面向用户,即专用集成电路的被动使用者同时也可能是专用集成电路的主动设计者;③专用集成电路的实现有了更多的途径,即除传统的ASIC器件外,还能通过FPGA、CPLD、ispPAC、FPSC等可编程器件来实现,本文主要就后者,简要介绍EDA技术及其应用最新近的一些发展。
由于在电子系统设计领域中的明显优势,基于大规模可编程器件解决方案的EDA技术及其应用在近年中有了巨大的发展,将电子设计技术再次推向又一崭新的历史阶段。这些新的发展大致包括这样6个方面:①新器件;②新工具软件;③嵌入式系统设计;④DSP系统设计;⑤计算机处理器设计;⑥与ASIC市场的竞争技术。以下将分别予以说明。
1.新器件
由于市场产品的需求和市场竞争的促进,成熟的EDA工具所能支持的,同时标志着最新EDA技术发展成果的新器件不断涌现,其特点主要表现为:
(1)大规模。逻辑规模已达数百万门,近10万逻辑宏单元,可以将一个复杂的电路系统,包括诸如一个至多个嵌入式系统处理器、各类通信接口、控制模块和DSP模块等装入一个芯片中,即能满足所谓的SOPC设计。典型的器件有Altera的Stratix系列、Excalibue系列;Xilinx的Virtex-II Pro系列、Spartan-3系列(该系列达到了90nm工艺技术)。
(2)低功耗。尽管一般的FPGA和CPLD在功能和规模上都能很好地满足绝大多数的系统设计要求,但对于有低功耗要求的便携式产品来说,通常都难于满足要求,但由Lattice公司最新推出的ispMACH4000z系列CPLD达到了前所未有的低功耗性能,静态功耗20微安,以至于被称为0功耗器件,而其它性能,如速度、规模、接口特性等仍然保持了很好的指标。
(3)模拟可编程。各种应用EDA工具软件设计、isp方式编程下载的模拟可编程及模数混合可编程器件不断出现。最具代表性的器件是Lattice的ispPAC系列器件,其中包括常规模拟可编程器件ispPAC10;精密高阶低通滤波器设计专用器件ispPAC80;模数混合通用在系统可编程器件ispPAC20;在系统可编程电子系统电源管理器件ispPAC-POWER等等。
(4)含多种专用端口和附加功能模块的FPGA。例如Lattice的ORT、ORSO系列器件,含sysHSI SERDES技术的FPGA具有通信速度高达3.7Gbps的SERDES背板收发器,其中内嵌8b/10b编解码器,以及超过40万门的FPGA可编程逻辑资源;Altera的Stratix、Cyclone、APEX等系列器件,除内嵌大量ESB(嵌入式系统块)外,还含有嵌入的锁相环模块(用于时钟发生和管理)、差分低压串行口(用于网络通信)、嵌入式微处理器核等。此外,Stratix系列器件还嵌有丰富的DSP模块。
2.新工具软件
为了适应更大规模FPGA的开发,包括片上系统和DSP的开发,除了第三方EDA公司不断更新的通用EDA工具外,主要PLD供应商也相继推出,并适时升级其EDA开发工具。
如Lattice公司从早期的Synario,升级到后来的ispEXPERT System、ispDesignEXPERT System、ispLEVER,直到现在的ispLEVER Advanced System通用EDA工具,可用于开发Lattice所有的FPGA、FPSC、CPLD和GDX器件。
Xilinx推出的最新设计环境是ISE 6.1i,其中增加了许多新的功能,如支持嵌入式系统的Linux开发,支持混合硬件描述语言综合设计流程、强化排错功能、ChipScope Pro实时调试器等等。此外还升级了用于软核嵌入式系统调试的工具Embedded Developmen Kit和基于FPGA的DSP开发环境System Generator for DSP。
同样,Altera也推出了适用于不同设计对象的EDA开发环境。其中QuartusII 3.0是一综合设计环境,被称为SOPC(可编程单片系统)升级环境,它承接了原来MaxplusII的全部设计功能和器件对象外还增加了许多新功能和新的FPGA器件系列,包括一些适用于SOPC开发的大规模器件。
相对于上述EDA工具,QuartusII含有许多更具特色和更强的实用功能,大致有以下几点:
(1)QuartusII与MATLAB/Simulink和Altera的DSP Builder,以及第三方的综合器和仿真器相结合,用于开发DSP硬件系统;
(2) QuartusII与SOPC Builder结合用于开发Nios嵌入式系统;
(3)QuartusII含实时调试工具、嵌入式逻辑分析仪SignalTapII。
随着逻辑设计复杂性的不断增加,在计算机上以软件方式的仿真测试变得更加耗费时间,而不断需要重复进行的硬件系统的测试同样变得更为困难。为了解决这些问题,设计者可以将一种高效的硬件实时测试手段和传统的系统测试方法相结合来完成。这就是嵌入式逻辑分析仪SignalTapII的使用。它可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内部设计者感兴趣的信号节点处的信号,而又不影响原硬件系统的正常工作。可以通过两种方式来使用SignalTapII,一种是直接使用QuartusII3.0中的SignalTapII;另一种方式是通过MATLAB的Simulink和DSP Builder来使用SignalTapII。DSP Builder中包含有SignalTapII模块,设计者可以使用此模块设置用于信号探察的事件触发器,配置存储器,并能显示波形。这可以使用Node模块来选择有待监测的信号。使用SignalTapII后,当触发器运行后,通常要占用部分内部RAM,因为在实际监测中,将测得的样本信号暂存于目标器件中的嵌入式RAM(如ESB)中,然后通过器件的JTAG端口和ByteBlasterII下载线将采得的信息传出,送于PC机进行分析。PC机中送达的数据是以文本文件的方式存储的,并可在Simulink图上显示波形;
(4)QuartusII含一种十分有效的逻辑设计优化技术,即设计模块在FPGA中指定区域内的逻辑锁定功能,LogicLock技术。
有FPGA开发经验的人都会有这样的体会,原来在硬件测试上十分成功的FPGA设计,结果在源代码并没有任何改变的情况下,仅仅是增加了一点与原程序毫不相干的电路描述,或甚至只改变了某个端口信号的引脚锁定位置,结果在综合适配后,原设计的硬件性能大为下降,如速度降低了,有时甚至无法正常工作。这时,如果比较改变设计前后的Floorplan图,会发现芯片内部资源的使用情况发生了巨大的变化。这表明,即使对原设计作极小的改变(更不用说对适配约束条件的改变),都会使适配器对原设计的布线(routing)和布局(placing)策略作大幅改变和调整。同时,当设计规模比较大时,人为很难直接介入布线/布局的优化。对于由许多基本电路模块构建成的顶层系统的FPGA开发,类似的问题将更加突出。例如,原来某一基本模块的FPGA硬件测试十分成功,包括工作性能、速度以及资源利用率等,但当将这些基本模块连接到一个顶层设计后,即使在同一FPGA中进行测试,也常发现各模块以及总系统的性能有所下降,甚至无法工作的情况。事实上,如果能在设计基本模块时,就固定其布线/布局的原方案,即使在顶层文件的总体适配时,也不改变原来基本模块的布线/布局及其原来的优化方案,就能很好地解决上述棘手的问题。对此,QuartusII提供了这一优秀的设计技术,即逻辑锁定技术。使用这一技术,可以将设计好的电路系统或某一底层模块约束到FPGA中某个指定的区域上,并固定原来的布线/布局方案。这样一来,对于一项较大设计中的某一底层模块,不但在顶层的软件描述上是一个子模块,而且在FPGA芯片中总体适配中,此模块在硬件上便类似于ASIC设计中的一个标准模块,始终能保持自己原来的布线/布局方案,从而在任何大系统中都能保持原有的电路性能,就像一个被调用的独立的元件一样,不会由于顶层系统布线/布局的改变而改变基本模块的布线/布局结构了。有了逻辑锁定技术,面对大系统的设计,工程师们就可以将构成大系统的各模块进行分别设计,分别优化它们的布线/布局,及适配约束,逐个地使它们分别获得最佳的工作性能,逐个优化并锁定它们的布线/布局方案,最后把它们连在一起形成性能优良的顶层系统。显然,逻辑设计锁定技术是SOPC单片系统优化设计及IP核成功拼装应用的有力保证。
(5)QuartusII含有将FPGA设计向ASIC设计无缝转移的高效的ASIC设计技术,即HardCopy技术,对此将在后面做更多的说明。
3.在FPGA中植入嵌入式系统处理器
目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为完备、功能更为强大、对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件,方能构成一个完整的应用系统,如除配置常规的SRAM、DRAM、Flash外,还必须配置网络通信接口、串行通信接口、USB接口、VGA接口、PS/2接口等等。这样势必会增加整个系统的体积、功耗,降低了系统的可靠性。但是如果将ARM或其它知识产权核以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核来构成该嵌入式系统处理器的接口功能模块,就能很好地解决这些问题。对此,Altera和Xilinx公司都相继推出了这方面的器件。例如,Altera的Excalibur系列FPGA中就植入了ARM922T嵌入式系统处理器;Xilinx的Virtex-II Pro系列中则植入了IBM PowerPC405处理器。这样就能使得FPGA灵活的硬件设计和硬件实现更与处理器的强大的软件功能有机地相结合,高效地实现SOC系统。
但是,这种将IP硬核植入FPGA的解决方案存在5种不够完美之处:(1)由于此类硬核多来自第三方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对较高;(2)由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式,乃至指令形式,更不可能将FPGA逻辑资源构成的硬件模块以指令的形式形成内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求;(3)无法根据实际设计需求在同一FPGA中使用指定数量的处理器核;(4)无法裁减处理器硬件资源以降低FPGA成本;(5)只能在特定的FPGA中使用硬核嵌入式系统,如只能使用Excalibur系列FPGA中的ARM核,Virtex-II Pro系列中的PowerPC核。
但是如果利用软核嵌入式系统处理器就能有效地解决上述不利因素。它们分别是Altera的Nios核与Xilinx的MicroBlaze。特别是前者,使上述5方面的问题得到全面的解决。
Altera的Nios核是用户可随意配置和构建的32位/16位总线(用户可选的)指令集和数据通道的嵌入式系统微处理器IP核,采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能(C或汇编程序程序优化开发功能);含由First Silicon Solutions(FS2)开发的基于JTAG的片内设备(OCI)内核(这为开发者提供了强大的软硬件调试实时代码,OCI调试功能可根据FPGA JTAG端口上接受的指令,直接监视和控制片内处理器的工作情况)。此外,基于QuartusII平台的用户可编辑的Nios核含有许多可配置的接口模块核,包括:可配置高速缓存(包括由片内ESB或外部SRAM或SDRAM,100M以上单周期访问速度)模块,可配置RS232通信口、SDRAM控制器、标准以太网协议接口、DMA、定时器、协处理器等等。在植入(配置进)FPGA前,用户可根据设计要求,利用QuartusII和SOPC Builder,对Nios及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。Nios核在同一FPGA中被植入的数量没有限制,只要FPGA的资源允许,此外Nios可植入的Altera FPGA的系列几乎没有限制,在这方面,Nios显然优于Xilinx的MicroBlaze。另外,在开发工具的完备性方面、对常用的嵌入式操作系统支持方面,Nios都优于MicroBlaze。就成本而言,由于Nios是由Altera直接推出而非第三方产品,故用户通常无需支付知识产权费用,Nios的使用费仅仅是其占用的FPGA的逻辑资源费。因此,选用的FPGA越便宜,则Nios的使用费就越便宜。
4.基于FPGA的DSP系统设计
在过去很长一段时间,DSP处理器(如TI的TMS320系列)是DSP应用系统核心器件的唯一选择。尽管DSP处理器具有通过软件设计能适用于不同功能实现的灵活性,但面对当今迅速变化的DSP应用市场,特别是面对现代通信技术的发展,早已显得力不从心了。例如其硬件结构的不可变性导致了其总线的不可改变性,而固定的数据总线宽度,已成为DSP处理器一个难以突破的瓶颈。DSP处理器的这种固定的硬件结构特别不适合于当前许多要求能进行结构特性随时变更的应用场合,即所谓面向用户型的DSP系统,或者说是用户可定制型(如利用Nios加FPGA资源构成的DSP硬核加速模块的DSP系统),或可重配置型的DSP应用系统(Customized DSP或Reconfigurable DSP 等,即利用FPGA的可重配置特性的DSP系统),如软件无线电、医用设备、导航、工业控制等方面。至于在满足速度要求方面,由于采用了顺序执行的CPU架构,DSP处理器则更加不堪重负。
面向DSP的各类专用ASIC芯片虽然可以解决并行性和速度的问题,但是高昂的开发设计费用、耗时的设计周期及不灵活的纯硬件结构,使得DSP的ASIC解决方案日益失去其实用性。
现代大容量、高速度的FPGA的出现,克服了上述方案的诸多不足。在这些FPGA中,一般都内嵌有可配置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器等DSP模块。用FPGA来实现数字信号处理可以很好地解决并行性和速度问题,而且其灵活的可配置特性,使得FPGA构成的DSP系统非常易于修改、易于测试及硬件升级。
在利用FPGA进行DSP系统的开发应用上,已有了全新的设计工具和设计流程。DSP Builder就是Altera公司推出的一个面向DSP开发的系统级工具。它是作为Matlab的一个Simulink工具箱(ToolBox)出现的。Matlab是功能强大的数学分析工具,广泛用于科学计算和工程计算,可以进行复杂的数字信号处理系统的建模、参数估计、性能分析。Simulink是Matlab的一个组成部分,用于图形化建模仿真。DSP Builder作为Simulink中的一个工具箱,使得用FPGA设计DSP系统完全可以通过Simulink的图形化界面进行,只要简单地进行DSP Builder工具箱中的模块调用即可。值得注意的是,DSP Builder中的DSP基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解FPGA本身和硬件描述语言。
相比之下,常用的数字信号处理(DSP)的解决方案的问题有:(1)工作速度慢,如TMS320C5402/10/16的处理速度仅0.1GMACs,与其相关的“DSP实验开发系统”上的A/D、D/A的工作速度仅有40k Hz,属于语音频率范围。对于信号的采样和输出频率范围都比较低,能完成的实验项目非常少,大多数通信领域中的实验无法完成(如DDS、FSK等)。而FPGA系统的DSP处理速度可达70GMACs,相关的A/D、D/A的工作速度达数十至数百MHz,可达射频范围;(2)在数字通信领域,如软件无线电领域中将无能为力;(3)由于系统完全基于特定的DSP处理器,对于协议更新、通信格式改变、硬件工作模式切换等要求,硬件系统无法进行实时或非实时的重构,而FPGA具有重配置功能,因而十分容易实现;(4)尽管使用了JTAG调试手段,但本质上仍然沿用了传统的CPU调试方法,对于许多不同的DSP器件,将对应不同硬件结构、汇编语言和开发工具,因此开发设计技术难以标准化和规范化,开发效率极低;(5)难以纳入先进的SOC开发技术及相关的自顶向下的系统级设计及优化;(6)开发者只能被动地跟随和使用市场上已有的DSP器件,无法根据既定的设计系统的技术指标要求、结构特点、未来的硬件升级可能性、性价比估算等等必要因素设计自己的DSP硬件系统。然而基于FPGA和SOPC技术的现代DSP技术完全突破了传统DSP系统和设计技术的瓶颈,克服了传统方案的诸多劣势,在高频高速的DSP设计和应用领域拓展了自己全新的空间。现代DSP解决方案完全基于EDA特有的自顶向下的设计流程和高速的并行算法结构。设计方法可以从与硬件完全无关的系统级开始,首先利用Matlab强大的系统设计、分析能力和DSP Builder提供的模块(或IP核)完成顶层系统设计及系统仿真测试,然后通过DSP Builder中的Signal Compiler将Simulink模型文件自动转换成VHDL的RTL表述和工具命令语言(Tcl)脚本,再进行RTL级的功能仿真,并通过SOPC设计工具QuartusII进行综合、适配与时序仿真;最后形成对指定FPGA进行编程配置的POF和SOF文件,实现硬件DSP系统的仿真测试,其间可以将设定好的嵌入式逻辑分析仪SignalTapII和DSP硬件系统文件一同适配并下载到FPGA芯片中去,然后可在MATAB的Simulink窗口观测到通过JTAG口,来自SignalTapII测得的芯片中DSP硬件模块的实时工作波形,从而实现硬件仿真和调试的目的。最后,如有必要,可以将DSP硬件模块通过SOPC接口编辑成Nios嵌入式系统处理器的用户指令。显然,这一先进的设计技术终于使DSP技术在频率高端的数字信号处理走上了规范化、标准化、高效率和知识产权化的道路。
5.计算机处理器设计
EDA技术与FPGA在通信领域中的成功已是众所周知的事实了,而对于一般的处理器的实现也已司空见惯。如利用硬件描述语言设计嵌入式系统处理器、各类CPU或单片机等,并以软核的形式在FPGA中实现。但利用FPGA实现高性能的处理器,乃至超级计算机处理器的功能,不能不说是一项崭新的尝试。目前,尽管基于EDA技术的计算机处理器的FPGA实现尚未进入全面的商业化开发阶段,但其研究和应用的成果却不得不令人深感FPGA在这一领域中的巨大潜力和广阔的市场。
例如,美国Wincom Systems公司正在推出一款服务器中的处理器竟然是用Xilinx公司的FPGA设计成的。这款专为网站运行而设计的服务器尺寸仅有DVD播放机大小,工作能力却相当于甚至超过50台戴尔、IBM或SUN公司售价5000美元的服务器,其成本仅为2.5万美元。我们知道,传统的个人电脑及服务器通常都采用英特尔的奔腾处理器或SUN计算机系统公司的SPARC芯片作为中央处理单元,而Wincom Systems的这一产品却没有采用传统的微处理器,选用现场可编程门阵列(FPGA)芯片来驱动。尽管FPGA芯片的主频速度比奔腾处理器慢,但却可并行处理多项任务,即一个时钟节拍中并行完成多项工作,而微处理器一次仅能处理一项任务,即微处理器在每一时间节拍(如某一指令周期)中只能执行一条指令,完成一次操作。因此,Wincom Systems公司的服务器只需配置几个价格仅为2000多美元的FPGA芯片,便可击败SUN公司的服务器或采用英特尔处理器的电脑,达到该公司副总裁Douglas Henderson所说的,其服务器处理的速度比普通服务器快50到300倍。
此外,美国的TimeLogic公司也间接受益于FPGA芯片。戴尔和SUN公司生产的某些标准服务器也采用了Altera公司的FPGA芯片。TimeLogic公司对这些标准服务器加以改进后,生产了一种用于基因研究的高速处理设备。该公司总监Christopher Hoover说,他们的设备比原来的产品至少快1000倍!Annapolis Micro Systems公司也在其计算机电路板中集成了Xilinx的FPGA芯片,以提高产品性能。尽管这种产品的平均售价高达2.5万美元,但是其销售量却比以前翻了一番。而美国的BlueArc公司采用了FPGA开发出一种存储器产品,其存取速度比Network Appliance和EMC公司的竞争产品更快。MidStream Technologies公司则采用FPGA芯片为有线电视运营商开发视频流服务器。这款服务器采用了2片FPGA芯片,可同时提供425路视频流信号,比基于通用微处理器的服务器速度快得多。
特别是当利用那些嵌有功能强大的微处理器的FPGA(如Virtex-II Pro)构建服务器中的处理器时,该系统具备了巨大的硬件设计灵活性。例如一台网络服务器的FPGA中的可编程逻辑部分可以根据不同的标准进行订制,而不必为每个国家开发一种新的芯片。
不言而喻,在强大的EDA工具的帮助下,基于FPGA的处理器在一定程度上正在蚕食微处理器的市场。50多年前,匈牙利数学家Neumann提出了电脑的设计构想,即通过中央处理器从存储器中存取数据,并逐一处理各项任务。现在,通过采用可编程芯片取代微处理器,电脑可并行处理多项任务,改变了基于Neumann提出的电脑架构基本工作方式,从而为计算机设计领域突破已趋于速度极限的传统微处理器开辟了一条全新的道路。同时也正如Xilinx的首席执行官Willem Roelandts所说,“可编程芯片将掀起下一轮应用高潮”。
以基于EDA开发技术的FPGA实现的处理器在超级计算机的设计中也将有其一席之地。传统的超级计算机应该是科技世界中的极品,其售价奇高、速度飞快,它集成了数以千计的微处理器。但这种超级计算机也浪费了非常多的芯片资源,每个处理器只能进行单任务操作,大部分功能难以充分发挥。如果采用FPGA来武装超级电脑,在发挥FPGA原有的并行工作的基础上,利用FPGA的可重配置特性,即针对不同的处理任务和算法模型,现场配置进FPGA相应处理器结构文件,从而使得同一硬件电路结构在不同的时间段,形成不同的等效硬件结构以高效地对付不同的处理任务。例如,此超级计算机某一段瞬间可以用于预报全球天气状况,下一时间则能用于根据某一公司的主要利率对冲情况来评估债券市场的风险,然后又可进入基因组合核对的分析,等等。
因此,不难理解,如Roelandts所说的,“我们认为下一代超级电脑将基于可编程逻辑器件”,他声称,这种机器的功能将比目前最大的超级电脑还要强大许多。EDA专家William Carter认为,只要EDA开发工具的功能允许,将有无数的证据证明FPGA具有这种神奇的能力,进而实现基于FPGA的超级电脑的开发。
美国的Star Bridge Systems公司声称已解决了这一问题。该系统公司采用了FPGA芯片和该公司自己的Viva编程语言开发出了“运行速度无与伦比”的“hypercomputer”。对该超级电脑进行测试的美国国家航空航天局(NASA)科学家表示,这一产品的性能令人过目难忘,但目前尚未达到实用阶段。其它公司或机构的研究人员,如美国加州大学伯克利分校和杨百翰大学(Brigham Young University)的研究员也正在设计基于FPGA的超级计算机,这些计算机可在运行中实现动态(现场)重配置,这对定位危险目标等军事应用和面容识别一类的计算密集型安全应用等需求不同硬件加速算法的多任务功能的实现十分有用。
6.与ASIC市场的竞争技术
尽管EDA技术开发对象是ASIC和FPGA,但它们在应用领域中的优势和劣势的对比历来十分鲜明。然而在近年来,随着EDA开发工具功能的不断加强,FPGA器件性能的提高,这种对比在许多方面正在趋于模糊。
一方面,相对于ASIC应用市场,具有竞争力的FPGA器件的出现,使FPGA原来在单片成本、逻辑规模和工作速度等方面相对于ASIC的劣势越来越小,而其巨大的灵活性、现场可配置性(相当于现场硬件升级或硬件重构)、良好的设计效率和成功率,使得FPGA成为ASIC市场竞争者的地位不断强化。Altera推出的Cyclone系列FPGA和Xilinx推出的Spartan-3系列FPGA都称为此类大规模可编程器件的代表。当然这只是一种间接的竞争与替代。
另一方面,通过强化EDA工具的设计能力,在保持FPGA开发优势的前提下,引入ASIC的开发流程,从而对ASIC市场形成直接竞争。这就是Altera推出的HardCopy技术。
HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。
与HardCopy技术相比,对于系统级的大规模ASIC开发,有不少难于克服的问题,其中包括开发周期长、产品上市慢、一次性成功率低、有最少的投片量要求、设计软件工具繁多且昂贵、开发流程复杂等。例如,此类ASIC开发,首先要求可观的技术人员队伍、高达数十万美元的开发软件费用,和高昂的掩模费用,且整个设计周期可能长达一年。ASIC设计的高成本和一次性低成功率很大部分是由于需要设计和掩模的层数太多(多达十几层)。然而如果利用HardCopy技术设计ASIC,开发软件费用仅2000美元(QuartusII),SOC级规模的设计周期不超过20周,转化的ASIC与用户设计习惯的掩模层只有两层,且一次性投片的成功率近乎100%,即所谓的FPGA向ASIC的无缝转化。而且用ASIC实现后的系统性能将比以前在HardCopy FPGA上验证的模型提高近50%,而功耗则降低40%。一次性成功率的大幅度提高即意味着设计成本的大幅降低和产品上市速度的大幅提高。
HardCopy技术是一种全新的ASIC设计解决方案,即将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术,即首先利用QuartusII将系统模型成功实现于HardCopy FPGA上,然后帮助设计者把可编程解决方案无缝地迁移到低成本的ASIC上的实现方案。这样, HardCopy器件就把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有大批量要求并对成本敏感的电子系统产品上。从而避开了直接设计ASIC的困难,而从原型设计提升至产品制造,通过FPGA的设计十分容易地移植到HardCopy器件上,达到降低成本,又加快面市周期的目的。HardCopy器件(如HardCopy Stratix系列、Excalibur系列FPGA)避免了ASIC的风险,它采用FPGA的专有迁移技术。其HardCopy ASIC是直接在Altera PLD体系之上构建的,采用有效利用面积“逻辑单元海”内核。本质上,HardCopy器件是FPGA的精确复制,剔除了可编程性、专用配置和采用金属互连使用的走线。这样器件的硅片面积就更小,成本就更低,而且还改善了时序特性。
由于EDA技术是面向解决电子系统最基本最低层硬件实现问题的技术,因此就其发展趋势的横向看,势必涉及越来越广阔的电子技术及电子设计技术领域。其中包括电子工程、电子信息、通信、航天航空、工业自动化、家电、生物工程等等。而且随着大规模集成电路技术的发展和EDA工具软件功能的不断加强,所涉及的领域还将不断扩大;而从纵向看,EDA技术实现的硬件形式和涉及的理论模型必将走向一个统一的结合体,即单片系统SOC或SOPC。
EDA技术主要是指面向专用集成电路设计的计算机技术, 与传统的专用集成电路设计技术相比,其特点有:①设计全程,包括电路系统描述、硬件设计、仿真测试、综合、调试、软件设计,直至硬件系统都由计算机完成;②设计技术直接面向用户,即专用集成电路的被动使用者同时也可能是专用集成电路的主动设计者;③专用集成电路的实现有了更多的途径,即除传统的ASIC器件外,还能通过FPGA、CPLD、ispPAC、FPSC等可编程器件来实现,本文主要就后者,简要介绍EDA技术及其应用最新近的一些发展。
由于在电子系统设计领域中的明显优势,基于大规模可编程器件解决方案的EDA技术及其应用在近年中有了巨大的发展,将电子设计技术再次推向又一崭新的历史阶段。这些新的发展大致包括这样6个方面:①新器件;②新工具软件;③嵌入式系统设计;④DSP系统设计;⑤计算机处理器设计;⑥与ASIC市场的竞争技术。以下将分别予以说明。
1.新器件
由于市场产品的需求和市场竞争的促进,成熟的EDA工具所能支持的,同时标志着最新EDA技术发展成果的新器件不断涌现,其特点主要表现为:
(1)大规模。逻辑规模已达数百万门,近10万逻辑宏单元,可以将一个复杂的电路系统,包括诸如一个至多个嵌入式系统处理器、各类通信接口、控制模块和DSP模块等装入一个芯片中,即能满足所谓的SOPC设计。典型的器件有Altera的Stratix系列、Excalibue系列;Xilinx的Virtex-II Pro系列、Spartan-3系列(该系列达到了90nm工艺技术)。
(2)低功耗。尽管一般的FPGA和CPLD在功能和规模上都能很好地满足绝大多数的系统设计要求,但对于有低功耗要求的便携式产品来说,通常都难于满足要求,但由Lattice公司最新推出的ispMACH4000z系列CPLD达到了前所未有的低功耗性能,静态功耗20微安,以至于被称为0功耗器件,而其它性能,如速度、规模、接口特性等仍然保持了很好的指标。
(3)模拟可编程。各种应用EDA工具软件设计、isp方式编程下载的模拟可编程及模数混合可编程器件不断出现。最具代表性的器件是Lattice的ispPAC系列器件,其中包括常规模拟可编程器件ispPAC10;精密高阶低通滤波器设计专用器件ispPAC80;模数混合通用在系统可编程器件ispPAC20;在系统可编程电子系统电源管理器件ispPAC-POWER等等。
(4)含多种专用端口和附加功能模块的FPGA。例如Lattice的ORT、ORSO系列器件,含sysHSI SERDES技术的FPGA具有通信速度高达3.7Gbps的SERDES背板收发器,其中内嵌8b/10b编解码器,以及超过40万门的FPGA可编程逻辑资源;Altera的Stratix、Cyclone、APEX等系列器件,除内嵌大量ESB(嵌入式系统块)外,还含有嵌入的锁相环模块(用于时钟发生和管理)、差分低压串行口(用于网络通信)、嵌入式微处理器核等。此外,Stratix系列器件还嵌有丰富的DSP模块。
2.新工具软件
为了适应更大规模FPGA的开发,包括片上系统和DSP的开发,除了第三方EDA公司不断更新的通用EDA工具外,主要PLD供应商也相继推出,并适时升级其EDA开发工具。
如Lattice公司从早期的Synario,升级到后来的ispEXPERT System、ispDesignEXPERT System、ispLEVER,直到现在的ispLEVER Advanced System通用EDA工具,可用于开发Lattice所有的FPGA、FPSC、CPLD和GDX器件。
Xilinx推出的最新设计环境是ISE 6.1i,其中增加了许多新的功能,如支持嵌入式系统的Linux开发,支持混合硬件描述语言综合设计流程、强化排错功能、ChipScope Pro实时调试器等等。此外还升级了用于软核嵌入式系统调试的工具Embedded Developmen Kit和基于FPGA的DSP开发环境System Generator for DSP。
同样,Altera也推出了适用于不同设计对象的EDA开发环境。其中QuartusII 3.0是一综合设计环境,被称为SOPC(可编程单片系统)升级环境,它承接了原来MaxplusII的全部设计功能和器件对象外还增加了许多新功能和新的FPGA器件系列,包括一些适用于SOPC开发的大规模器件。
相对于上述EDA工具,QuartusII含有许多更具特色和更强的实用功能,大致有以下几点:
(1)QuartusII与MATLAB/Simulink和Altera的DSP Builder,以及第三方的综合器和仿真器相结合,用于开发DSP硬件系统;
(2) QuartusII与SOPC Builder结合用于开发Nios嵌入式系统;
(3)QuartusII含实时调试工具、嵌入式逻辑分析仪SignalTapII。
随着逻辑设计复杂性的不断增加,在计算机上以软件方式的仿真测试变得更加耗费时间,而不断需要重复进行的硬件系统的测试同样变得更为困难。为了解决这些问题,设计者可以将一种高效的硬件实时测试手段和传统的系统测试方法相结合来完成。这就是嵌入式逻辑分析仪SignalTapII的使用。它可以随设计文件一并下载于目标芯片中,用以捕捉目标芯片内部设计者感兴趣的信号节点处的信号,而又不影响原硬件系统的正常工作。可以通过两种方式来使用SignalTapII,一种是直接使用QuartusII3.0中的SignalTapII;另一种方式是通过MATLAB的Simulink和DSP Builder来使用SignalTapII。DSP Builder中包含有SignalTapII模块,设计者可以使用此模块设置用于信号探察的事件触发器,配置存储器,并能显示波形。这可以使用Node模块来选择有待监测的信号。使用SignalTapII后,当触发器运行后,通常要占用部分内部RAM,因为在实际监测中,将测得的样本信号暂存于目标器件中的嵌入式RAM(如ESB)中,然后通过器件的JTAG端口和ByteBlasterII下载线将采得的信息传出,送于PC机进行分析。PC机中送达的数据是以文本文件的方式存储的,并可在Simulink图上显示波形;
(4)QuartusII含一种十分有效的逻辑设计优化技术,即设计模块在FPGA中指定区域内的逻辑锁定功能,LogicLock技术。
有FPGA开发经验的人都会有这样的体会,原来在硬件测试上十分成功的FPGA设计,结果在源代码并没有任何改变的情况下,仅仅是增加了一点与原程序毫不相干的电路描述,或甚至只改变了某个端口信号的引脚锁定位置,结果在综合适配后,原设计的硬件性能大为下降,如速度降低了,有时甚至无法正常工作。这时,如果比较改变设计前后的Floorplan图,会发现芯片内部资源的使用情况发生了巨大的变化。这表明,即使对原设计作极小的改变(更不用说对适配约束条件的改变),都会使适配器对原设计的布线(routing)和布局(placing)策略作大幅改变和调整。同时,当设计规模比较大时,人为很难直接介入布线/布局的优化。对于由许多基本电路模块构建成的顶层系统的FPGA开发,类似的问题将更加突出。例如,原来某一基本模块的FPGA硬件测试十分成功,包括工作性能、速度以及资源利用率等,但当将这些基本模块连接到一个顶层设计后,即使在同一FPGA中进行测试,也常发现各模块以及总系统的性能有所下降,甚至无法工作的情况。事实上,如果能在设计基本模块时,就固定其布线/布局的原方案,即使在顶层文件的总体适配时,也不改变原来基本模块的布线/布局及其原来的优化方案,就能很好地解决上述棘手的问题。对此,QuartusII提供了这一优秀的设计技术,即逻辑锁定技术。使用这一技术,可以将设计好的电路系统或某一底层模块约束到FPGA中某个指定的区域上,并固定原来的布线/布局方案。这样一来,对于一项较大设计中的某一底层模块,不但在顶层的软件描述上是一个子模块,而且在FPGA芯片中总体适配中,此模块在硬件上便类似于ASIC设计中的一个标准模块,始终能保持自己原来的布线/布局方案,从而在任何大系统中都能保持原有的电路性能,就像一个被调用的独立的元件一样,不会由于顶层系统布线/布局的改变而改变基本模块的布线/布局结构了。有了逻辑锁定技术,面对大系统的设计,工程师们就可以将构成大系统的各模块进行分别设计,分别优化它们的布线/布局,及适配约束,逐个地使它们分别获得最佳的工作性能,逐个优化并锁定它们的布线/布局方案,最后把它们连在一起形成性能优良的顶层系统。显然,逻辑设计锁定技术是SOPC单片系统优化设计及IP核成功拼装应用的有力保证。
(5)QuartusII含有将FPGA设计向ASIC设计无缝转移的高效的ASIC设计技术,即HardCopy技术,对此将在后面做更多的说明。
3.在FPGA中植入嵌入式系统处理器
目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为完备、功能更为强大、对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件,方能构成一个完整的应用系统,如除配置常规的SRAM、DRAM、Flash外,还必须配置网络通信接口、串行通信接口、USB接口、VGA接口、PS/2接口等等。这样势必会增加整个系统的体积、功耗,降低了系统的可靠性。但是如果将ARM或其它知识产权核以硬核方式植入FPGA中,利用FPGA中的可编程逻辑资源和IP软核来构成该嵌入式系统处理器的接口功能模块,就能很好地解决这些问题。对此,Altera和Xilinx公司都相继推出了这方面的器件。例如,Altera的Excalibur系列FPGA中就植入了ARM922T嵌入式系统处理器;Xilinx的Virtex-II Pro系列中则植入了IBM PowerPC405处理器。这样就能使得FPGA灵活的硬件设计和硬件实现更与处理器的强大的软件功能有机地相结合,高效地实现SOC系统。
但是,这种将IP硬核植入FPGA的解决方案存在5种不够完美之处:(1)由于此类硬核多来自第三方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对较高;(2)由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式,乃至指令形式,更不可能将FPGA逻辑资源构成的硬件模块以指令的形式形成内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求;(3)无法根据实际设计需求在同一FPGA中使用指定数量的处理器核;(4)无法裁减处理器硬件资源以降低FPGA成本;(5)只能在特定的FPGA中使用硬核嵌入式系统,如只能使用Excalibur系列FPGA中的ARM核,Virtex-II Pro系列中的PowerPC核。
但是如果利用软核嵌入式系统处理器就能有效地解决上述不利因素。它们分别是Altera的Nios核与Xilinx的MicroBlaze。特别是前者,使上述5方面的问题得到全面的解决。
Altera的Nios核是用户可随意配置和构建的32位/16位总线(用户可选的)指令集和数据通道的嵌入式系统微处理器IP核,采用Avalon总线结构通信接口,带有增强的内存、调试和软件功能(C或汇编程序程序优化开发功能);含由First Silicon Solutions(FS2)开发的基于JTAG的片内设备(OCI)内核(这为开发者提供了强大的软硬件调试实时代码,OCI调试功能可根据FPGA JTAG端口上接受的指令,直接监视和控制片内处理器的工作情况)。此外,基于QuartusII平台的用户可编辑的Nios核含有许多可配置的接口模块核,包括:可配置高速缓存(包括由片内ESB或外部SRAM或SDRAM,100M以上单周期访问速度)模块,可配置RS232通信口、SDRAM控制器、标准以太网协议接口、DMA、定时器、协处理器等等。在植入(配置进)FPGA前,用户可根据设计要求,利用QuartusII和SOPC Builder,对Nios及其外围系统进行构建,使该嵌入式系统在硬件结构、功能特点、资源占用等方面全面满足用户系统设计的要求。Nios核在同一FPGA中被植入的数量没有限制,只要FPGA的资源允许,此外Nios可植入的Altera FPGA的系列几乎没有限制,在这方面,Nios显然优于Xilinx的MicroBlaze。另外,在开发工具的完备性方面、对常用的嵌入式操作系统支持方面,Nios都优于MicroBlaze。就成本而言,由于Nios是由Altera直接推出而非第三方产品,故用户通常无需支付知识产权费用,Nios的使用费仅仅是其占用的FPGA的逻辑资源费。因此,选用的FPGA越便宜,则Nios的使用费就越便宜。
4.基于FPGA的DSP系统设计
在过去很长一段时间,DSP处理器(如TI的TMS320系列)是DSP应用系统核心器件的唯一选择。尽管DSP处理器具有通过软件设计能适用于不同功能实现的灵活性,但面对当今迅速变化的DSP应用市场,特别是面对现代通信技术的发展,早已显得力不从心了。例如其硬件结构的不可变性导致了其总线的不可改变性,而固定的数据总线宽度,已成为DSP处理器一个难以突破的瓶颈。DSP处理器的这种固定的硬件结构特别不适合于当前许多要求能进行结构特性随时变更的应用场合,即所谓面向用户型的DSP系统,或者说是用户可定制型(如利用Nios加FPGA资源构成的DSP硬核加速模块的DSP系统),或可重配置型的DSP应用系统(Customized DSP或Reconfigurable DSP 等,即利用FPGA的可重配置特性的DSP系统),如软件无线电、医用设备、导航、工业控制等方面。至于在满足速度要求方面,由于采用了顺序执行的CPU架构,DSP处理器则更加不堪重负。
面向DSP的各类专用ASIC芯片虽然可以解决并行性和速度的问题,但是高昂的开发设计费用、耗时的设计周期及不灵活的纯硬件结构,使得DSP的ASIC解决方案日益失去其实用性。
现代大容量、高速度的FPGA的出现,克服了上述方案的诸多不足。在这些FPGA中,一般都内嵌有可配置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器等DSP模块。用FPGA来实现数字信号处理可以很好地解决并行性和速度问题,而且其灵活的可配置特性,使得FPGA构成的DSP系统非常易于修改、易于测试及硬件升级。
在利用FPGA进行DSP系统的开发应用上,已有了全新的设计工具和设计流程。DSP Builder就是Altera公司推出的一个面向DSP开发的系统级工具。它是作为Matlab的一个Simulink工具箱(ToolBox)出现的。Matlab是功能强大的数学分析工具,广泛用于科学计算和工程计算,可以进行复杂的数字信号处理系统的建模、参数估计、性能分析。Simulink是Matlab的一个组成部分,用于图形化建模仿真。DSP Builder作为Simulink中的一个工具箱,使得用FPGA设计DSP系统完全可以通过Simulink的图形化界面进行,只要简单地进行DSP Builder工具箱中的模块调用即可。值得注意的是,DSP Builder中的DSP基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解FPGA本身和硬件描述语言。
相比之下,常用的数字信号处理(DSP)的解决方案的问题有:(1)工作速度慢,如TMS320C5402/10/16的处理速度仅0.1GMACs,与其相关的“DSP实验开发系统”上的A/D、D/A的工作速度仅有40k Hz,属于语音频率范围。对于信号的采样和输出频率范围都比较低,能完成的实验项目非常少,大多数通信领域中的实验无法完成(如DDS、FSK等)。而FPGA系统的DSP处理速度可达70GMACs,相关的A/D、D/A的工作速度达数十至数百MHz,可达射频范围;(2)在数字通信领域,如软件无线电领域中将无能为力;(3)由于系统完全基于特定的DSP处理器,对于协议更新、通信格式改变、硬件工作模式切换等要求,硬件系统无法进行实时或非实时的重构,而FPGA具有重配置功能,因而十分容易实现;(4)尽管使用了JTAG调试手段,但本质上仍然沿用了传统的CPU调试方法,对于许多不同的DSP器件,将对应不同硬件结构、汇编语言和开发工具,因此开发设计技术难以标准化和规范化,开发效率极低;(5)难以纳入先进的SOC开发技术及相关的自顶向下的系统级设计及优化;(6)开发者只能被动地跟随和使用市场上已有的DSP器件,无法根据既定的设计系统的技术指标要求、结构特点、未来的硬件升级可能性、性价比估算等等必要因素设计自己的DSP硬件系统。然而基于FPGA和SOPC技术的现代DSP技术完全突破了传统DSP系统和设计技术的瓶颈,克服了传统方案的诸多劣势,在高频高速的DSP设计和应用领域拓展了自己全新的空间。现代DSP解决方案完全基于EDA特有的自顶向下的设计流程和高速的并行算法结构。设计方法可以从与硬件完全无关的系统级开始,首先利用Matlab强大的系统设计、分析能力和DSP Builder提供的模块(或IP核)完成顶层系统设计及系统仿真测试,然后通过DSP Builder中的Signal Compiler将Simulink模型文件自动转换成VHDL的RTL表述和工具命令语言(Tcl)脚本,再进行RTL级的功能仿真,并通过SOPC设计工具QuartusII进行综合、适配与时序仿真;最后形成对指定FPGA进行编程配置的POF和SOF文件,实现硬件DSP系统的仿真测试,其间可以将设定好的嵌入式逻辑分析仪SignalTapII和DSP硬件系统文件一同适配并下载到FPGA芯片中去,然后可在MATAB的Simulink窗口观测到通过JTAG口,来自SignalTapII测得的芯片中DSP硬件模块的实时工作波形,从而实现硬件仿真和调试的目的。最后,如有必要,可以将DSP硬件模块通过SOPC接口编辑成Nios嵌入式系统处理器的用户指令。显然,这一先进的设计技术终于使DSP技术在频率高端的数字信号处理走上了规范化、标准化、高效率和知识产权化的道路。
5.计算机处理器设计
EDA技术与FPGA在通信领域中的成功已是众所周知的事实了,而对于一般的处理器的实现也已司空见惯。如利用硬件描述语言设计嵌入式系统处理器、各类CPU或单片机等,并以软核的形式在FPGA中实现。但利用FPGA实现高性能的处理器,乃至超级计算机处理器的功能,不能不说是一项崭新的尝试。目前,尽管基于EDA技术的计算机处理器的FPGA实现尚未进入全面的商业化开发阶段,但其研究和应用的成果却不得不令人深感FPGA在这一领域中的巨大潜力和广阔的市场。
例如,美国Wincom Systems公司正在推出一款服务器中的处理器竟然是用Xilinx公司的FPGA设计成的。这款专为网站运行而设计的服务器尺寸仅有DVD播放机大小,工作能力却相当于甚至超过50台戴尔、IBM或SUN公司售价5000美元的服务器,其成本仅为2.5万美元。我们知道,传统的个人电脑及服务器通常都采用英特尔的奔腾处理器或SUN计算机系统公司的SPARC芯片作为中央处理单元,而Wincom Systems的这一产品却没有采用传统的微处理器,选用现场可编程门阵列(FPGA)芯片来驱动。尽管FPGA芯片的主频速度比奔腾处理器慢,但却可并行处理多项任务,即一个时钟节拍中并行完成多项工作,而微处理器一次仅能处理一项任务,即微处理器在每一时间节拍(如某一指令周期)中只能执行一条指令,完成一次操作。因此,Wincom Systems公司的服务器只需配置几个价格仅为2000多美元的FPGA芯片,便可击败SUN公司的服务器或采用英特尔处理器的电脑,达到该公司副总裁Douglas Henderson所说的,其服务器处理的速度比普通服务器快50到300倍。
此外,美国的TimeLogic公司也间接受益于FPGA芯片。戴尔和SUN公司生产的某些标准服务器也采用了Altera公司的FPGA芯片。TimeLogic公司对这些标准服务器加以改进后,生产了一种用于基因研究的高速处理设备。该公司总监Christopher Hoover说,他们的设备比原来的产品至少快1000倍!Annapolis Micro Systems公司也在其计算机电路板中集成了Xilinx的FPGA芯片,以提高产品性能。尽管这种产品的平均售价高达2.5万美元,但是其销售量却比以前翻了一番。而美国的BlueArc公司采用了FPGA开发出一种存储器产品,其存取速度比Network Appliance和EMC公司的竞争产品更快。MidStream Technologies公司则采用FPGA芯片为有线电视运营商开发视频流服务器。这款服务器采用了2片FPGA芯片,可同时提供425路视频流信号,比基于通用微处理器的服务器速度快得多。
特别是当利用那些嵌有功能强大的微处理器的FPGA(如Virtex-II Pro)构建服务器中的处理器时,该系统具备了巨大的硬件设计灵活性。例如一台网络服务器的FPGA中的可编程逻辑部分可以根据不同的标准进行订制,而不必为每个国家开发一种新的芯片。
不言而喻,在强大的EDA工具的帮助下,基于FPGA的处理器在一定程度上正在蚕食微处理器的市场。50多年前,匈牙利数学家Neumann提出了电脑的设计构想,即通过中央处理器从存储器中存取数据,并逐一处理各项任务。现在,通过采用可编程芯片取代微处理器,电脑可并行处理多项任务,改变了基于Neumann提出的电脑架构基本工作方式,从而为计算机设计领域突破已趋于速度极限的传统微处理器开辟了一条全新的道路。同时也正如Xilinx的首席执行官Willem Roelandts所说,“可编程芯片将掀起下一轮应用高潮”。
以基于EDA开发技术的FPGA实现的处理器在超级计算机的设计中也将有其一席之地。传统的超级计算机应该是科技世界中的极品,其售价奇高、速度飞快,它集成了数以千计的微处理器。但这种超级计算机也浪费了非常多的芯片资源,每个处理器只能进行单任务操作,大部分功能难以充分发挥。如果采用FPGA来武装超级电脑,在发挥FPGA原有的并行工作的基础上,利用FPGA的可重配置特性,即针对不同的处理任务和算法模型,现场配置进FPGA相应处理器结构文件,从而使得同一硬件电路结构在不同的时间段,形成不同的等效硬件结构以高效地对付不同的处理任务。例如,此超级计算机某一段瞬间可以用于预报全球天气状况,下一时间则能用于根据某一公司的主要利率对冲情况来评估债券市场的风险,然后又可进入基因组合核对的分析,等等。
因此,不难理解,如Roelandts所说的,“我们认为下一代超级电脑将基于可编程逻辑器件”,他声称,这种机器的功能将比目前最大的超级电脑还要强大许多。EDA专家William Carter认为,只要EDA开发工具的功能允许,将有无数的证据证明FPGA具有这种神奇的能力,进而实现基于FPGA的超级电脑的开发。
美国的Star Bridge Systems公司声称已解决了这一问题。该系统公司采用了FPGA芯片和该公司自己的Viva编程语言开发出了“运行速度无与伦比”的“hypercomputer”。对该超级电脑进行测试的美国国家航空航天局(NASA)科学家表示,这一产品的性能令人过目难忘,但目前尚未达到实用阶段。其它公司或机构的研究人员,如美国加州大学伯克利分校和杨百翰大学(Brigham Young University)的研究员也正在设计基于FPGA的超级计算机,这些计算机可在运行中实现动态(现场)重配置,这对定位危险目标等军事应用和面容识别一类的计算密集型安全应用等需求不同硬件加速算法的多任务功能的实现十分有用。
6.与ASIC市场的竞争技术
尽管EDA技术开发对象是ASIC和FPGA,但它们在应用领域中的优势和劣势的对比历来十分鲜明。然而在近年来,随着EDA开发工具功能的不断加强,FPGA器件性能的提高,这种对比在许多方面正在趋于模糊。
一方面,相对于ASIC应用市场,具有竞争力的FPGA器件的出现,使FPGA原来在单片成本、逻辑规模和工作速度等方面相对于ASIC的劣势越来越小,而其巨大的灵活性、现场可配置性(相当于现场硬件升级或硬件重构)、良好的设计效率和成功率,使得FPGA成为ASIC市场竞争者的地位不断强化。Altera推出的Cyclone系列FPGA和Xilinx推出的Spartan-3系列FPGA都称为此类大规模可编程器件的代表。当然这只是一种间接的竞争与替代。
另一方面,通过强化EDA工具的设计能力,在保持FPGA开发优势的前提下,引入ASIC的开发流程,从而对ASIC市场形成直接竞争。这就是Altera推出的HardCopy技术。
HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题。
与HardCopy技术相比,对于系统级的大规模ASIC开发,有不少难于克服的问题,其中包括开发周期长、产品上市慢、一次性成功率低、有最少的投片量要求、设计软件工具繁多且昂贵、开发流程复杂等。例如,此类ASIC开发,首先要求可观的技术人员队伍、高达数十万美元的开发软件费用,和高昂的掩模费用,且整个设计周期可能长达一年。ASIC设计的高成本和一次性低成功率很大部分是由于需要设计和掩模的层数太多(多达十几层)。然而如果利用HardCopy技术设计ASIC,开发软件费用仅2000美元(QuartusII),SOC级规模的设计周期不超过20周,转化的ASIC与用户设计习惯的掩模层只有两层,且一次性投片的成功率近乎100%,即所谓的FPGA向ASIC的无缝转化。而且用ASIC实现后的系统性能将比以前在HardCopy FPGA上验证的模型提高近50%,而功耗则降低40%。一次性成功率的大幅度提高即意味着设计成本的大幅降低和产品上市速度的大幅提高。
HardCopy技术是一种全新的ASIC设计解决方案,即将专用的硅片设计和FPGA至HardCopy自动迁移过程结合在一起的技术,即首先利用QuartusII将系统模型成功实现于HardCopy FPGA上,然后帮助设计者把可编程解决方案无缝地迁移到低成本的ASIC上的实现方案。这样, HardCopy器件就把大容量FPGA的灵活性和ASIC的市场优势结合起来,实现对于有大批量要求并对成本敏感的电子系统产品上。从而避开了直接设计ASIC的困难,而从原型设计提升至产品制造,通过FPGA的设计十分容易地移植到HardCopy器件上,达到降低成本,又加快面市周期的目的。HardCopy器件(如HardCopy Stratix系列、Excalibur系列FPGA)避免了ASIC的风险,它采用FPGA的专有迁移技术。其HardCopy ASIC是直接在Altera PLD体系之上构建的,采用有效利用面积“逻辑单元海”内核。本质上,HardCopy器件是FPGA的精确复制,剔除了可编程性、专用配置和采用金属互连使用的走线。这样器件的硅片面积就更小,成本就更低,而且还改善了时序特性。
由于EDA技术是面向解决电子系统最基本最低层硬件实现问题的技术,因此就其发展趋势的横向看,势必涉及越来越广阔的电子技术及电子设计技术领域。其中包括电子工程、电子信息、通信、航天航空、工业自动化、家电、生物工程等等。而且随着大规模集成电路技术的发展和EDA工具软件功能的不断加强,所涉及的领域还将不断扩大;而从纵向看,EDA技术实现的硬件形式和涉及的理论模型必将走向一个统一的结合体,即单片系统SOC或SOPC。