EDA (Electronic Design Automation)即“电子设计自动化”,是指以计算机为工作平台,以EDA软件为开发环境,以硬件描述语言为设计语言,以可编程器件PLD为实验载体(包括CPLD、FPGA、EPLD等),以集成电路芯片为目标器件的电子产品自动化设计过程。“工欲善其事,必先利其器”,因此,EDA工具在电子系统设计中所占的份量越来越高。下面就介绍一些目前较为流行的EDA工具软件。 PLD 及IC设计开发领域的EDA工具,一般至少要包含仿真器(Simulator)、综合器(Synthesizer)和配置器(Place and Routing, P&R)等几个特殊的软件包中的一个或多个,因此这一领域的EDA工具就不包括Protel、PSpice、Ewb等原理图和PCB板设计及电路仿真软件。目前流行的EDA工具软件有两种分类方法:一种是按公司类别进行分类,另一种是按功能进行划分。 若按公司类别分,大体可分两类:一类是EDA 专业软件公司,业内最著名的三家公司是Cadence、Synopsys和Mentor Graphics;另一类是PLD器件厂商为了销售其产品而开发的EDA工具,较著名的公司有Altera、Xilinx、lattice等。前者独立于半导体器件厂商,具有良好的标准化和兼容性,适合于学术研究单位使用,但系统复杂、难于掌握且价格昂贵;后者能针对自己器件的工艺特点作出优化设计,提高资源利用率,降低功耗,改善性能,比较适合产品开发单位使用。 若按功能分,大体可以分为以下三类。 (1) 集成的PLD/FPGA开发环境 由半导体公司提供,基本上可以完成从设计输入(原理图或HDL)→仿真→综合→布线→下载到器件等囊括所有PLD开发流程的所有工作。如Altera公司的MaxplusⅡ、QuartusⅡ,Xilinx公司的ISE,Lattice公司的 ispDesignExpert等。其优势是功能全集成化,可以加快动态调试,缩短开发周期;缺点是在综合和仿真环节与专业的软件相比,都不是非常优秀的。 (2) 综合类 这类软件的功能是对设计输入进行逻辑分析、综合和优化,将硬件描述语句(通常是系统级的行为描述语句)翻译成最基本的与或非门的连接关系(网表),导出给PLD/FPGA厂家的软件进行布局和布线。为了优化结果,在进行较复杂的设计时,基本上都使用这些专业的逻辑综合软件,而不采用厂家提供的集成PLD/FPGA开发工具。如Synplicity公司的Synplify、Synopsys公司的FPGAexpress、FPGA Compiler Ⅱ等。 (3) 仿真类 这类软件的功能是对设计进行模拟仿真,包括布局布线(P&R)前的“功能仿真”(也叫“前仿真”)和P&R后的包含了门延时、线延时等的“时序仿真”(也叫“后仿真”)。复杂一些的设计,一般需要使用这些专业的仿真软件。因为同样的设计输入,专业软件的仿真速度比集成环境的速度快得多。此类软件最著名的要算Model Technology公司的Modelsim,Cadence公司的NC-Verilog/NC-VHDL/NC-SIM等。 以上介绍了一些具代表性的EDA 工具软件。它们在性能上各有所长,有的综合优化能力突出,有的仿真模拟功能强,好在多数工具能相互兼容,具有互操作性。比如Altera公司的 QuartusII集成开发工具,就支持多种第三方的EDA软件,用户可以在QuartusII软件中通过设置直接调用Modelsim和 Synplify进行仿真和综合。 如果设计的硬件系统不是很大,对综合和仿真的要求不是很高,那么可以在一个集成的开发环境中完成整个设计流程。如果要进行复杂系统的设计,则常规的方法是多种EDA工具协调工作,集各家之所长来完成设计流程。