电子设计自动化(Electronic Design Automation,EDA)技术是20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、专用集成电路(Application Specific Integrated Circuit,ASIC)测试和封装、现场可编程门阵列(Field Programmable Gate Array,FPGA)/复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)编程下载和自动测试等技术。而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等;以计算机为工具,在EDA软件平台上,根据硬件描述语言HDL完成的设计文件,能自动地完成用软件方式描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。设计者的工作仅限于利用软件的方式来完成对系统硬件功能的描述,在EDA工具的帮助下,应用相应的CPLD/FPGA器件,就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。因此,EDA技术为现代电子理论和设计的表达与实现提供了可能性。
微电子技术的进步主要表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体工艺水平的线宽已经达到了60nm,并还在不断地缩小,而在硅片单位面积上集成了更多的晶体管。集成电路设计正在不断地向超大规模、极低功耗和超高速的方向发展,ASIC的设计成本不断降低。
现代电子设计技术的核心已日趋转向基于计算机的技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言(Hardware Description Language,HDL)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。
正因为EDA技术丰富的内容以及与电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的。就过去30多年电子技术的发展历程,可将EDA技术的发展大致分为以下4个阶段。
1)第一阶段 20世纪70年代的计算机辅助设计CAD阶段。早期的电子系统硬件设计采用的是分立元器件,后来随着集成电路的出现和应用,硬件设计进入到发展的初级阶段。此时的硬件设计大量选用中小规模标准集成电路,人们将这些元器件焊接到电路板上,制作成初级的电子系统,对电子系统的调试是在组装好的印制电路板(Printed Circuit Board,PCB)上进行的。由于传统的手工布图方法无法满足产品复杂性的要求,工作效率也不高。此时,可编程逻辑技术及其器件问世,计算机作为一种运算工具在科研领域得到广泛应用。CAD的概念已见雏形,这一阶段人们开始利用计算机取代手工劳动,辅助进行集成电路版图编辑、PCB布局布线等工作。
2)第二阶段 20世纪80年代的计算机辅助工程设计CAE阶段。这段时期,随着电子工艺的发展,集成上万只的微处理器、集成几十万直至上百万单元的随机存储器和只读存储器相继出现。同时,支持定制单元电路设计的硅编程、掩膜编程的门阵列,如标准单元的半定制设计方法以及可编程逻辑器件等一系列微结构和微电子学研究成果都为电子系统的设计提供了新思路。
与此同时,集成电路设计进入了互补场效应管(CMOS)时代,复杂可编程逻辑器件进入商业应用,相应的辅助设计软件投入使用。伴随计算机和集成电路的发展,EDA技术进入到计算机辅助工程设计阶段。EDA工具以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计未完成前的功能检测等问题。有了这些工具的支持,设计师能在产品制作之前预知产品的功能和性能,能生成产品制造文件,在设计阶段对产品性能的分析前进了一大步。
在20世纪80年代末,出现了FPGA,使得CAE和CAD技术的应用更为广泛,它们在PCB设计方面的原理图输入、自动布局布线及PCB分析,以及逻辑设计、逻辑仿真等方面担任了重要的角色。特别是各种硬件描述语言的出现、应用和标准化方面的重大进步,为电子设计自动化必须解决的电路建模、标准文档及仿真测试奠定了基础。
20世纪80年代出现的具有自动综合能力的CAE工具替代了设计师的部分工作,对保证电子系统的设计,制造出最佳的电子产品起着关键的作用。尤其到20世纪80年代后期,EDA工具已经可以进行设计描述、综合与优化和设计结果验证等;CAE阶段的EDA工具不仅为开发电子产品创造了有利条件,而且为高级设计人员的创造性劳动提供了便利。但具体化的元器件图形制约了优化设计,大部分从原理图出发的EDA工具仍然不能适应复杂的电子系统设计要求。
3)第三阶段 即20世纪90年代电子系统设计自动化EDA阶段。在此阶段,随着硬件描述语言的标准化进一步确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用。与此同时,电子技术在通信、计算机及家电产品生产中的市场需求和技术需求,极大地推动了全新的电子设计自动化技术的应用和发展,特别是集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模ASIC设计技术的应用,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,更有效地将EDA技术推向成熟和实用。
设计师逐步从使用硬件转向了设计硬件,从单个电子产品开发转向系统级电子产品开发,即片上系统设计(System On a Chip,SOC)。EDA工具以系统级设计为核心,包括系统行为级描述与结构综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子系统设计自动化工具。此时的EDA工具不仅具有电子系统设计的能力,同时还能够提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。例如,提供框图、状态图和流程图的编辑能力,具有适合层次描述和混合信号描述的硬件描述语言,如VHDL、AHDL以及Verilog-HDL等;同时还具有各种工艺的元件库。
微电子技术的发展,特别是可编程逻辑器件的发展,使得微电子厂家可以为用户提供各种规模的可编程逻辑器件,设计者通过设计芯片实现电子系统功能。该阶段的EDA工具,目的是在设计前期将设计师从事的许多高层次设计由工具来完成,如将用户要求转换为设计技术规范,有效地处理可用的设计资源与理想的设计目标之间的矛盾,按具体的硬件、软件和算法分解设计等。由于电子技术和EDA工具的发展,设计师可以在较短的时间内掌握EDA工具,通过简单标准化的设计过程,利用微电子厂家提供的设计库来完成数百万门ASIC和集成系统的设计与验证。
4)第四阶段 即进入21世纪EDA进一步发展阶段。进入21世纪后,EDA技术得到了更大的发展,突出表现在以下几个方面。
☺ 在FPGA上实现数字信号处理(DSP)应用成为可能,用纯数字逻辑进行DSP模块的设计,使得高速DSP实现成为现实,并有力地推动了软件无线电技术的实用化和发展。基于FPGA的DSP技术,为高速数字信号处理算法提供了实现途径。
☺ 嵌入式处理器软核的成熟,使得SOPC(System On a Programmable Chip)步入大规模应用阶段,在一片FPGA上实现一个完备的数字处理系统成为可能。
☺ 在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。
☺ 电子技术领域全方位融入EDA技术,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化,如软件无线电技术的崛起、模拟电路系统硬件描述语言的表达和设计的标准化、系统可编程模拟器件的出现、数字信号处理和图像处理的全硬件实现方案的普遍接受以及软硬件技术的进一步融合等。
☺ EDA使得电子领域各学科的界限更加模糊,更加互为包容,如模拟与数字、软件与硬件、系统与元器件、ASIC与FPGA、行为与结构等。
☺ 基于EDA并用于ASIC设计的标准单元已涵盖了大规模电子系统及复杂IP核模块。
☺ 软硬知识产权(Intellectual Property,IP)核在电子行业的产业领域广泛应用。
☺ SOC高效低成本设计技术的成熟。
☺ 系统级、行为验证级硬件描述语言(如System C)的出现,使复杂电子系统的设计和验证趋于简单。
EDA技术涉及面很广,内容丰富,从教学和实用的角度看,主要应掌握如下四个方面的内容:
大规模可编程逻辑器件;
硬件描述语言;
软件开发工具;
实验开发系统。
其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体;硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段;软件开发工具是利用EDA技术进行电子系统设计的智能化的自动设计工具;实验开发系统则是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。
可编程逻辑器件(Programmable Logic Device,PLD)是一种由用户编程以实现某种逻辑功能的新型逻辑器件。FPGA和CPLD的功能基本相同,只是实现原理略有不同,所以有时可以忽略这两者的区别,统称为可编程逻辑器件或CPLD/FPGA。PLD是电子设计领域中最具活力和发展前途的一项技术,PLD能完成任何数字器件的功能。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由地设计一个数字系统,通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。PLD的这些优点使得PLD技术在20世纪90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。
目前FPGA和CPLD器件的应用已经十分广泛,随着EDA技术的发展将成为电子设计领域的重要角色。国内市场份额较大的CPLD/FPGA公司,主要有Xilinx、Altera、Lattice等。
美国Xilinx公司1984年首先推出了世界上第一片现场可编程门阵列FPGA(Field Programmable Gate Array)。之后,从XC3000、XC4000到Spartan-Ⅱ、Spartan-ⅡE和Virtex-Ⅱ、Virtex-ⅡPro,Xilinx公司不断推陈出新,一直保持着FPGA领域的全球领先地位。
Xilinx公司的主流PLD产品包括:XC9500 Flash工艺PLD,常见型号有XC9536、XC9572、XC95144等,型号后两位表示宏单元数量;CoolRunner-Ⅱ系列1.8V低功耗PLD产品。
2015年12月英特尔公司斥资167亿美元收购了Altera公司。Altera公司成为其可编程解决方案事业部。Altera公司的CPLD器件为MAXⅡ系列。MAXⅡ是新一代PLD器件,0.18μm flash工艺,2004年底推出,采用FPGA结构,配置芯片集成在内部,和普通PLD一样上电即可工作。其容量比上一代大大增加,内部集成一片8kbit串行EEPROM,增加很多功能。MAXⅡ采用2.5V或者3.3V内核电压,MAXⅡG系列采用1.8V内核电压。
Altera公司的FPGA器件大致分三个系列,一是低端的CYCLONE,二是高端的STRATIX,三是介于二者之间可以方便ASIC化的ARRIVA系列。
Altera公司的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone至Cyclone吁;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Stratix至Stratix吁等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。
☺ Cyclone(飓风):Altera公司的中等规模FPGA,2003年推出,0.13μm工艺,1.5V内核供电,与Stratix结构类似,是一种低成本FPGA系列,其配置芯片也改用全新的产品。
☺ CycloneⅡ:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2V内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元。
☺ Cyclone芋FPGA系列:2007年推出,采用台积电(TSMC)65nm低功耗(LP)工艺技术制造,以相当于ASIC的价格实现了低功耗。
☺ Cyclone郁FPGA系列:2009年推出,60nm工艺,面向对成本敏感的大批量应用,帮助用户满足越来越高的带宽需求,同时降低了成本。
☺ Cyclone吁FPGA系列:2011年推出,28nm工艺,实现了业界最低的系统成本和功耗,其性能水平使得该器件系列成为突出大批量应用优势的理想选择。与前几代产品相比,它具有高效的逻辑集成功能,提供集成收发器型号,总功耗降低了40%,静态功耗降低了30%。
☺ Stratix:Altera公司的大规模高端FPGA,2002年中期推出,0.13μm工艺,1.5V内核供电。集成硬件乘加器,芯片内部结构比Altera公司以前的产品有很大变化。
☺ StratixⅡ:Stratix的下一代产品,2004年中期推出,90nm工艺,1.2V内核供电,大容量高性能FPGA。
☺ Stratix吁:Altera公司的高端产品,采用28nm工艺,提供了28GB的收发器件,适合高端的FPGA产品开发。
Lattice公司的ISP-PLD器件有ispLSI1000、ispLSI2000、ispLSI3000、ispLSI6000系列等,集成了多达25 000个PLD等效门。近几年,随着集成电路制造技术的飞速发展,这些公司不断地推出集成度更高、性能更好的产品系列。
CPLD在结构上主要包括可编程逻辑宏单元、可编程输入/输出单元和可编程内部连线三个部分。FPGA在结构上主要分为三个部分,即可编程逻辑单元、可编程输入/输出单元和可编程连线。
与ASIC设计相比,CPLD/FPGA最明显的优势是大大降低了设计成本,缩短了设计周期,投资风险小,市场适应能力强且硬件升级的余地大。一个产品开发项目,是使用FPGA还是CPLD,主要看开发项目本身的需要。如果是规模普通,并且产量不是很大的产品项目,通常使用CPLD比较好;如果是大规模的逻辑设计、ASIC设计,或者单片系统设计,则多采用FPGA。另外,FPGA掉电后将丢失原有的逻辑信息,所以在使用中需要为FPGA芯片配置一个专用的ROM。
EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持,如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等。这些库都是EDA公司与半导体生产厂商紧密合作、共同开发的。
高集成度、高速度和高可靠性是CPLD/FPGA最显著的特点。芯片的时钟延迟可小至纳秒(ns)级。这样的特性结合其并行的工作方式,在超高速应用领域和实时测控方面有着非常广阔的应用前景。CPLD/FPGA的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现片上系统,大大缩小体积,易于设计的屏蔽和管理。
基于CPLD/FPGA的高集成度特点,可以利用先进的EDA工具进行电子系统设计和产品开发。由于开发工具的通用性、设计语言的标准化,同时设计过程又几乎与所有元器件的硬件结构无关,因此开发设计成功的各类逻辑功能软件有很好的兼容性和可移植性。几乎可以用于任何型号和规模的CPLD/FPGA器件中,从而使得产品设计效率大幅度提高,可以在很短的时间内完成较复杂的系统设计。美国的IT公司认为,一个ASIC设计80%的功能可以用IP核(Core)等现成逻辑合成。未来大系统的CPLD/FPGA设计仅仅是各类再应用逻辑与IP核的拼装,设计周期将进一步缩短。
硬件描述语言(HDL)是相对于一般的计算机软件语言,如C、Pascal而言的。HDL是用于设计硬件电子系统的计算机语言,它描述电子系统的逻辑功能、电路结构和连接方式。HDL具有与具体硬件电路和设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现出强大的生命力和应用潜力。用HDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。
就CPLD/FPGA开发来说,比较常用和流行的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、System Verilog和System C等。其中VHDL、Verilog在现在EDA设计中使用最多,也拥有几乎所有的主流EDA工具的支持。而System Verilog和System C这两种HDL语言还处于完善过程中。目前,VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。有专家认为,在21世纪,VHDL与Verilog HDL语言将承担起大部分的数字系统设计任务。VHDL起源于美国国防部的VHSIC,Verilog起源于集成电路的设计。
一般的硬件描述语言可以在三个层次上进行电路描述,其层次由高到低依次可分为行为级、RTL级和门电路级。VHDL语言是一种高级描述语言,适用于行为级和RTL级的描述,最适于描述电路的行为;Verilog语言和ABEL语言是一种较低级的描述语言,适用于RTL级和门电路级的描述,最适于描述门级电路。
任何一种语言源程序,最终都要转换成门电路级才能被布线器或者适配器所接受。因此,VHDL语言的源程序的综合通常要从行为级到RTL级再到门电路级的转化,VHDL几乎不能直接控制门电路的生成,对综合器的性能要求较高;而Verilog语言源程序的综合过程要稍简单,即经过RTL级到门电路级的转化,易于控制电路的资源。
随着系统级FPGA以及系统芯片的出现,软硬件协调设计和系统设计变得越来越重要。传统意义上的硬件设计越来越倾向于与系统设计和软件设计结合。硬件描述语言为适应新的情况,迅速发展,出现了很多新的硬件描述语言,像Superlog、SystemC、Cynlib C++等。
1)主流厂家的 EDA 软件开发工具 这类软件一般由CPLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL)、仿真、综合、布线和下载等工作。目前主流厂家提供的比较常用的一些EDA软件工具有Altera公司的QuartusⅡ、Lattice的ispLEVER、Xilinx的ISE/ISE-Web PACK Series等。这些软件的基本功能相同,主要的差别在于面向的目标器件不同,同时性能也各有优劣。
Altera公司提供的系列软件包括以下几种。
☺ MAX+PlusⅡ:普遍认为MaxplusⅡ曾经是最优秀的PLD开发平台之一,适合开发早期的中小规模PLD/FPGA由QuartusⅡ替代,不再推荐使用。
☺ QuartusⅡ:Altera新一代FPGA/PLD开发软件,适合新器件和大规模FPGA的开发,已经取代MaxplusⅡ。
☺ SOPC Builder:配合QuartusⅡ,可以完成集成CPU的FPGA芯片的开发工作。
☺ DSP Builder:QuartusⅡ与Matlab的接口,利用IP核在Matlab中快速完成数字信号处理的仿真和最终FPGA实现。
QuartusⅡ是Altera公司的综合性PLD/FPGA开发软件,原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware支持Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
QuartusⅡ工具软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于Internet的协作设计。QuartusⅡ平台与Cadence、Exemplar Logic、Mentor Graphics、Synopsys和Synplicity等EDA供应商的开发工具相兼容。改进了软件的Logic Lock模块设计功能,增添了Fast Fit编译选项,推进了网络编辑性能,而且提升了调试能力。该软件完全支持VHDL、Verilog的设计流程,内部嵌有VHDL、Verilog逻辑综合器。支持第三方的综合工具,如Leonardo Spectrum、Synplify Pro、FPGA CompilerⅡ等。这些综合工具具有更好的综合效果,所以通常建议使用这些工具进行VHDL/Verilog源程序的综合。QuartusⅡ可以直接调用这些第三方工具。同样,它还具备仿真功能,同时支持第三方的仿真工具,如Modelsim。此外,它还为Altera DSP开发包进行系统模型设计提供了集成综合环境,与MATLAB和DSP Builder结合可以进行基于FPGA的DSP系统开发,是DSP硬件系统实现的关键EDA工具。QuartusⅡ还可以与SOPC Builder结合,实现SOPC系统开发。QuartusⅡ(3.0和更高版本)设计软件是业界唯一提供FPGA和固定功能HardCopy器件统一设计流程的设计工具。工程师使用同样的低价位工具对Stratix FPGA进行功能验证和原型设计,又可以设计Hard Copy Stratix器件用于批量成品。系统设计者现在能够用QuartusⅡ软件评估HardCopy Stratix器件的性能和功耗,相应地进行最大吞吐量设计。
QuartusⅡ5.0以上版本支持双核CPU的嵌入。公司每出一个新版本都会缩短其编译速度。CPU内核可以用Altera提供的32位处理器软核NIOSⅡ实现。
QuartusⅡ8.0版本采用高级布局布线算法,支持多处理器,使编译时间平均缩短20%;渐进式编译支持,编译时间进一步减少了70%。利用QuartusⅡ软件特性能够迅速地达到时序逼近,满足功耗预算要求。
QuartusⅡ设计套装的最新版本已发展到15.1,软件的其他特性包括以下内容。
☺ DSP Builder 12.0新的数字信号处理(DSP)支持:通过系统控制台,与MATLAB的DDR存储器进行通信,并具有新的浮点功能,提高了设计效能以及DSP效率。
☺ 经过改进的视频和图像处理(VIP)套装以及视频接口IP:通过具有边缘自适应算法的ScalerⅡMegaCore功能以及新的Avalon-Streaming(Avalon-ST)视频监视和跟踪系统IP内核,简化了视频处理应用的开发。
增强收发器设计和验证:更新了Arria吁FPGA的收发器工具包支持,进一步提高了收发器数据速率(对于Stratix吁FPGA,高达14.1 Gbit/s)。
♢Isp Design EXPERT:它是Lattice Semiconductor的主要集成环境。通过该软件可以进行VHDL、Verilog以及ABEL语言的设计输入、综合、适配、仿真和在线系统下载。isp Design EXPERT是当前流行的EDA工具软件中最容易掌握的设计工具之一,界面友好,操作方便、功能强大,并且与第三方EDA工具兼容良好。
♢Foundation Series:该软件由Xilinx公司开发,采用了自动化的、完整的集成设计环境。Foundation项目管理器集成了Xilinx实现工具,同时还包含了强大的Synopsys FPGA Express综合系统,是业界最强大的EDA设计工具之一。
♢ISE/ISE-Web PACK Series:由Xilinx公司推出,是全球性能最高的EDA集成软件开发环境(ISE是Integrated Software Environment的简称)。ISE具有界面良好、操作简单的特点,再加上Xilinx公司的FPGA芯片占有很大的市场,使得ISE成为了非常通用的FPGA工具软件。ISE提供了包括代码编写、库管理以及HDL综合、仿真、下载等几乎所有FPGA开发所需的功能。Xilinx公司被业界公认在半导体元器件与软件范畴上拥有领导优势,加速了业界从ASIC转移到FPGA技术。Xilinx公司新近推出的ISE Design Suite 10.1版设计套件,从正面解决FPGA设计师所面临的严峻挑战,并且第一次提供了一个统一了逻辑、DSP以及嵌入式应用设计人员需要的解决方案,为设计的每一步提供了直观的生产力增强工具,覆盖了从系统设计探索、软件开发和基于HDL硬件语言设计、直到验证、调试和PCB设计继承的全部设计流程。
ISE Design Suite 10.1为用户提供了在设计过程中尽早分析功率要求的功能,同时还可以在设计过程中优化动态功率。第二代XPower功率分析工具提供了改善的用户接口,按照模块、结构层次、电源轨和使用的资源分析功率更为容易,因此进一步增强了功率估算功能。信息可用文本和HTML报告格式给出。与其他逻辑供应商提供的静态估算网页相比,这是一项巨大进步,同时在提供准确的功耗信息方面是一个飞跃。
ISE Design Suite 10.1提供了便捷全面的功率优化功能。利用集成的“功率优化设计目标”功能,用户可以简单地一步完成功率优化流程。通过映射和布局布线算法的改进,对于采用65nm的Virtex-5和采用Spartan-3的Generation FPGA的设计动态功率分别平均可降低10%和12%。
为帮助用户更快速地实现优化嵌入式和DSP设计,ISE Design Suite 10.1还对Xilinx公司的嵌入式和DSP工具进行了进一步的易用性改进。例如,统一的互操作性保证了用户可以在ISE Design Suite 10.1容易地增添System Generator模块。EDK和System Generator for DSP技术之间不同工具的集成得到进一步增强,从而能够为同时涉及嵌入式和信号处理的更复杂FPGA SOC设计提供支持。
ISE Design Suite 10.1为设计流程的每一步都提供了直观的生产力增强工具,覆盖了从系统级设计探索、软件开发和基于HDL硬件设计,直到验证、调试和PCB设计集成的全部设计流程。因此,通过新推出的ISE Design Suite 10.1,Xilinx公司正面解决了采用高级FPGA进行设计的设计师所面对的最严峻挑战,并且第一次提供了一个统一了逻辑、嵌入式和DSP应用设计人员需要的解决方案,并大大提高了设计效率。
2)第三方 EDA 工具 在EDA技术的实际开发设计过程中,由于选用的厂方EDA工具软件的某些性能受局限或不够完善,为了让自己的设计整体性能最佳,往往需要用到第三方工具。业界最流行的第三方EDA工具主要是逻辑综合性能最好的Synplify和仿真功能最强大的ModelSim。
☺ Synplify:该软件是Synplicity公司的著名产品,是逻辑综合性能最好的FPGA和CPLD的逻辑综合工具。它支持工业标准的Verilog和VHDL硬件描述语言,能以很高的效率将其文本文件转换为高性能的面向流行器件的设计网表。综合后还可以生成VHDL和Verilog仿真网表,并对原设计进行仿真;具有符号化的FSM编译器,可实现高级的状态机转化,并有一个内置的语言敏感的编辑器;其编辑窗口可以在HDL源文件中高亮显示综合后的错误,以便设计者迅速定位并纠正出现的问题。它还具有将VHDL文件转化成RTL图形的功能,这对VHDL的速成学习很有帮助。能够生成针对以下公司器件的网表:Actel、Altera、Lattice、Lucent、Philips、Quicklogic、Vantis(Amd)和Xilinx;支持VHDL 1076—1993标准和verilog 1364—1995标准。
最近,Synplify Premier&Synplify Premier with DP软件的推出,进一步巩固了Synplicity公司在FPGA综合领域的地位。Premier不仅继承了Synplify Pro的全部功能,更加入了众多强大的FPGA综合选项,可以轻松应对复杂的高端FPGA设计和单芯片ASIC原型验证。
Synplicity公司创新的Graph-based物理综合方法可以为FPGA布线使用的走线、开关和布局创建详细的布线资源图形。有了这样的图形,优化和布局就能围绕延时和实际可用的资源而不仅仅是距离来展开。布局、布线和优化将在一个步骤中同时完成,如此一来,反复的综合过程都能在工具内部自行完成,从而达到真正的时序收敛。
另外,Synplify Premier整合了一些特有的功能,以方便用户使用单颗FPGA进行ASIC原型验证设计。这些特有的功能包括全面兼容ASIC代码、支持Gated Clock的转换、支持Design Ware的转换。同时,因为Premier整合了在线调试工具Identify,极大地方便了用户进行软硬件协同仿真,确保设计一次成功,从而大大缩短了整个软硬件开发和调试的周期,并能提供更快的timing-closure和提升整体时序表现。
☺ ModelSim:ModelSim是Model Technology公司的著名产品,是业界最流行最优秀的HDL仿真器,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。它采用众多的核心仿真技术,提供丰富的调试环境,在VHDL和Verilog混合仿真市场上一直保持领先地位,适合RTL和门级电路仿真,为FPGA/ASIC设计的首选。它采用直接优化的编译技术、Tcl/Tk技术、和单内核仿真技术,编译仿真速度快,编译的代码与平台无关,还能保护IP核、个性化的图形界面和用户接口,为用户加快调试提供强有力的手段;全面支持VHDL和Verilog语言的IEEE标准,支持SystemC、System Verilog、PSL,支持C/C++功能调用和调试;具有快速的仿真性能和最先进的调试能力,全面支持UNIX(包括64位)、Linux和Windows平台。
提供芯片下载电路及EDA实验/开发的外围资源(类似于用于单片机开发的仿真器),供硬件验证用。一般包括:
实验或开发所需的各类基本信号发生模块,包括时钟、脉冲、高低电平等;
CPLD/FPGA输出信息显示模块,包括数据显示、发光管显示、声响指示等;
监控程序模块,提供“电路重构软配置”;
目标芯片适配座以及上面的CPLD/FPGA目标芯片和编程下载电路。
随着市场需求的增长,集成工艺水平及计算机自动设计技术的不断提高,促使单片系统,或称系统集成芯片成为IC设计的发展方向,这一发展趋势表现在如下几个方面。
☺ 超大规模集成电路的集成度和工艺水平不断提高,深亚微米(Deep-Submicron)工艺,如0.13μm、90nm已经走向成熟,在一个芯片上完成的系统级的集成已成为可能。
☺ 由于工艺线宽的不断减小,在半导体材料上的许多寄生效应已经不能简单地被忽略,这就对EDA工具提出了更高的要求。同时,也使得IC生产线的投资更为巨大。可编程逻辑器件开始进入传统的ASIC市场。
☺ 市场对电子产品提出了更高的要求,如必须降低电子系统的成本、减小系统的体积等,从而对系统的集成度不断提出更高的要求。同时,设计的效率也成为一个产品能否成功的关键因素,促使EDA工具和IP核应用更为广泛。
☺ 高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。
☺ 计算机硬件平台性能大幅度提高,为复杂的SOC设计提供了物理基础。
但现有的HDL语言只是提供行为级或功能级的描述,尚无法完成对复杂的系统级的抽象描述。人们正尝试开发一种新的系统级设计语言来完成这一工作,现在已开发出更趋于电路行为级的硬件描述语言(如SystemC、SystemVerilog)及系统级混合仿真工具,可以在同一个开发平台上完成高级语言,如C/C++等,与标准HDL语言(Verilog HDL、VHDL)或其他更低层次描述模块的混合仿真。虽然用户用高级语言编写的模块尚不能自动转化成HDL描述,但作为一种针对特定应用领域的开发工具,软件供应商已经为常用的功能模块提供了丰富的宏单元库支持,可以方便地构建应用系统,并通过仿真加以优化,最后自动产生HDL代码,进入下一阶段的ASIC实现。
此外,随着系统开发对EDA技术的目标器件各种性能要求的提高,ASIC和FPGA将更大程度地相互融合。这是因为虽然标准逻辑ASIC芯片尺寸小、功能强大、耗电小,但设计复杂,并且有批量生产要求;可编程逻辑器件开发费用低廉,能在现场进行编程,但却体积大、功能有限,而且功耗较大。因此,FPGA和ASIC正在汇合到一起,互相融合,取长补短。由于一些ASIC制造商提供具有可编程逻辑的标准单元,可编程器件制造商重新对标准逻辑单元发生兴趣,而有些公司采取两头并进的方法,从而使市场开始发生变化,在FPGA和ASIC之间正在诞生一种“杂交”产品,以满足成本和上市速度的要求,如将可编程逻辑器件嵌入标准单元。
尽管将标准单元核与可编程器件集成在一起并不意味着使ASIC更加便宜,或使FPGA更加省电,但可使设计人员将二者的优点结合在一起,通过去掉FPGA的一些功能,可减少成本和开发时间并增加灵活性。当然,现今也在进行将ASIC嵌入可编程逻辑单元的工作。目前,许多PLD公司开始为ASIC提供FPGA内核。PLD厂商与ASIC制造商结盟,为SOC设计提供嵌入式FPGA模块,使未来的ASIC供应商有机会更快地进入市场,利用嵌入式内核获得更长的市场生命期。
例如,在实际应用中使用所谓可编程系统级集成电路(FPSLIC),即将嵌入式FPGA内核与RISC微控制器组合在一起形成新的IC,广泛用于电信、网络、仪器仪表和汽车中的低功耗应用系统中。当然,也有PLD厂商,不把CPU的硬核直接嵌入在FPGA中,使用了软IP核,并称之为SOPC(可编程片上系统),也可以完成复杂电子系统的设计,只是代价将相应提高。
在新一代的ASIC器件中留有FPGA的空间。如果希望改变设计,或者由于开始的工作中没有条件做足够的验证测试,稍后也可以根据要求对它编程,有了一定再修改的自由度。ASIC设计人员将这种小的可编程逻辑内核用于修改设计问题,降低了设计风险。增加可编程逻辑的另一个原因是,考虑到设计产品的许多性能指标变化太快,特别是通信协议,因此为已经完成设计并投入应用的IC留有多次可自由更改的功能是十分有价值,这在通信领域中的芯片设计方面尤为重要。
现在,传统ASIC和FPGA之间的界限正变得模糊,系统级芯片不仅集成RAM和微处理器,也集成FPGA。整个EDA和IC设计工业都朝这个方向发展,这并非是FPGA与ASIC制造商竞争的产物,而对于用户来说,则意味着有了更多的选择。