EDA是电子设计自动化(Electronics Design Automation)的缩写,在20世纪60年代中期从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VerilogHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
简介EDA技术是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。
利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程的计算机上自动处理完成。
EDA的概念范畴很宽。包括在机械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领域,都有EDA的应用。目前EDA技术已在各大公司、企事业单位和科研教学部门广泛使用。例如在飞机制造过程中,从设计、性能测试及特性分析直到飞行模拟,都可能涉及到EDA技术。
EDA设计可分为系统级、电路级和物理实现级。
历史发展在电子设计自动化(英语:Electronic design automation,缩写:EDA)出现之前,设计人员必须手工完成集成电路的设计、布线等工作,这是因为当时集成电路的复杂程度远不及现在,工业界使用几何学方法来制造用于电路光绘(photoplotter)的胶带。到了1970年代中期,开发人员尝试将整个设计过程自动化,而不仅仅满足于自动完成掩膜草图。第一个电路布线、布局工具研发成功。设计自动化会议(Design Automation Conference)在这一时期被创立,旨在促进电子设计自动化的发展。
电子设计自动化发展的下一个重要阶段以卡弗尔·米德(Carver Mead)和琳·康维于1980年发表的论文《超大规模集成电路系统导论》(Introduction to VLSI Systems)为标志。这一篇具有重大意义的论文提出了通过编程语言来进行芯片设计的新思想。如果这一想法得到实现,芯片设计的复杂程度可以得到显著提升。这主要得益于用来进行集成电路逻辑仿真、功能验证的工具的性能得到相当的改善。随着计算机仿真技术的发展,设计项目可以在构建实际硬件电路之前进行仿真,芯片布线布局对人工设计的要求降低,而且软件错误率不断降低。直至今日,尽管所用的语言和工具仍然不断在发展,但是通过编程语言来设计、验证电路预期行为,利用工具软件综合得到低抽象级物理设计的这种途径,仍然是数字集成电路设计的基础。
从1981年开始,电子设计自动化逐渐开始商业化。1984年的设计自动化会议(Design Automation Conference)上还举办了第一个以电子设计自动化为主题的销售展览。Gateway设计自动化在1986年推出了一种硬件描述语言Verilog,这种语言在现在是最流行的高级抽象设计语言。1987年,在美国国防部的资助下,另一种硬件描述语言VHDL被创造出来。现代的电子设计自动化工具可以识别、读取不同类型的硬件描述。根据这些语言规范产生的各种仿真系统迅速被推出,使得设计人员可对设计的芯片进行直接仿真。后来,技术的发展更侧重于逻辑综合。
目前的数字集成电路的设计都比较模块化(参见集成电路设计、设计收敛(Design closure)和设计流(Design flow (EDA)))。半导体器件制造工艺需要标准化的设计描述,高抽象级的描述将被编译为信息单元(cell)的形式。设计人员在进行逻辑设计时无需考虑信息单元的具体硬件工艺。利用特定的集成电路制造工艺来实现硬件电路,信息单元就会实施预定义的逻辑或其他电子功能。半导体硬件厂商大多会为它们制造的元件提供“元件库”,并提供相应的标准化仿真模型。相比数字的电子设计自动化工具,模拟系统的电子设计自动化工具大多并非模块化的,这是因为模拟电路的功能更加复杂,而且不同部分的相互影响较强,而且作用规律复杂,电子元件大多没有那么理想。Verilog AMS就是一种用于模拟电子设计的硬件描述语言。此外,设计人员可以使用硬件验证语言来完成项目的验证工作目前最新的发展趋势是将集描述语言、验证语言集成为一体,典型的例子有SystemVerilog。
随着集成电路规模的扩大、半导体技术的发展,电子设计自动化的重要性急剧增加。这些工具的使用者包括半导体器件制造中心的硬件技术人员,他们的工作是操作半导体器件制造设备并管理整个工作车间。一些以设计为主要业务的公司,也会使用电子设计自动化软件来评估制造部门是否能够适应新的设计任务。电子设计自动化工具还被用来将设计的功能导入到类似现场可编程逻辑门阵列的半定制可编程逻辑器件,或者生产全定制的专用集成电路。1
设计流程(1) 前端设计(系统建模RTL 级描述)后端设计(FPGAASIC)系统建模。
(2)IP复用。
(3) 后端设计。
(4) 系统描述:建立系统的数学模型。
(5) 功能描述:描述系统的行为或各子模块之间的数据流图。
(6)逻辑设计:将系统功能结构化,通常以文本、原理图、逻辑图、布尔表达式来表示设计结果。
(7) 仿真:包括功能仿真和时序仿真,主要验证系统功能的正确性及时序特性。
工具软件EDA工具软件可大致可分为芯片设计辅助软件、可编程芯片辅助设计软件、系统设计辅助软件等三类。
目前进入我国并具有广泛影响的EDA软件是系统设计辅助类软件和可编程芯片辅助设计软件:Protel、Altium Designer、PSPICE、multisim12(原EWB的最新版本)、OrCAD、PCAD、LSIIogic、MicroSim、ISE、modelsim、Matlab等等。这些工具都有较强的功能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同时还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。
下面按主要功能或主要应用场合,分为电路设计与仿真工具、PCB设计软件、IC设计软件、PLD设计工具及其它EDA软件,进行简单介绍。
电子电路设计与仿真工具电子电路设计与仿真工具包括SPICE/PSPICE;multiSIM7;Matlab;SystemView;MMICAD LiveWire、Edison、Tina Pro Bright Spark等。下面简单介绍前三个软件。
①SPICE(Simulation Program with Integrated Circuit Emphasis)
这是由美国加州大学推出的电路分析仿真软件,是20世纪80年代世界上应用最广的电路设计软件,1998年被定为美国国家标准。1984年,美国MicroSim公司推出了基于SPICE的微机版PSPICE(Personal-SPICE)。现在用得较多的是PSPICE6.2,可以说在同类产品中,它是功能最为强大的模拟和数字电路混合仿真EDA软件,在国内普遍使用。最新推出了PSPICE9.1版本。它可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模拟控制、波形输出、数据输出、并在同一窗口内同时显示模拟与数字的仿真结果。无论对哪种器件哪些电路进行仿真,都可以得到精确的仿真结果,并可以自行建立元器件及元器件库。
②Multisim(EWB的最新版本)软件
这是Interactive Image Technologies Ltd在20世纪末推出的电路仿真软件。其最新版本为multiSIM13,目前普遍使用的是multiSIM2001,相对于其它EDA软件,它具有更加形象直观的人机交互界面,特别是其仪器仪表库中的各仪器仪表与操作真实实验中的实际仪器仪表完全没有两样,但它对模数电路的混合仿真功能却毫不逊色,几乎能够100%地仿真出真实电路的结果,并且它在仪器仪表库中还提供了万用表、信号发生器、瓦特表、双踪示波器(对于multiSIM7还具有四踪示波器)、波特仪(相当实际中的扫频仪)、字信号发生器、逻辑分析仪、逻辑转换仪、失真度分析仪、频谱分析仪、网络分析仪和电压表及电流表等仪器仪表。还提供了我们日常常见的各种建模精确的元器件,比如电阻、电容、电感、三极管、二极管、继电器、可控硅、数码管等等。模拟集成电路方面有各种运算放大器、其他常用集成电路。数字电路方面有74系列集成电路、4000系列集成电路、等等还支持自制元器件。MultiSIM7还具有I-V分析仪(相当于真实环境中的晶体管特性图示仪)和Agilent信号发生器、Agilent万用表、Agilent示波器和动态逻辑平笔等。同时它还能进行VHDL仿真和Verilog HDL仿真。
③MATLAB产品族
它们的一大特性是有众多的面向具体应用的工具箱和仿真块,包含了完整的函数集用来对图像信号处理、控制系统设计、神经网络等特殊应用进行分析和设计。它具有数据采集、报告生成和MATLAB语言编程产生独立C/C++代码等功能。MATLAB产品族具有下列功能:数据分析;数值和符号计算、工程与科学绘图;控制系统设计;数字图像信号处理;财务工程;建模、仿真、原型开发;应用开发;图形用户界面设计等。MATLAB产品族被广泛应用于信号与图像处理、控制系统设计、通讯系统仿真等诸多领域。开放式的结构使MATLAB产品族很容易针对特定的需求进行扩充,从而在不断深化对问题的认识同时,提高自身的竞争力。
PCB设计软件PCB(Printed-Circuit Board)设计软件种类很多,如Protel、Altium Designer、OrCAD、Viewlogic、PowerPCB、Cadence PSD、MentorGraphices的Expedition PCB、Zuken CadStart、Winboard/Windraft/Ivex-SPICE、PCB Studio、TANGO、PCBWizard(与LiveWire配套的PCB制作软件包)、ultiBOARD7(与multiSIM2001配套的PCB制作软件包)等等。
目前在我国用得最多当属Protel,下面仅对此软件作一介绍。
Protel是PROTEL(现为Altium)公司在20世纪80年代末推出的CAD工具,是PCB设计者的首选软件。它较早在国内使用,普及率最高,在很多的大、中专院校的电路专业还专门开设Protel课程,几乎所在的电路公司都要用到它。早期的Protel主要作为印刷板自动布线工具使用,其最新版本为Altium Designer 10,现在普遍使用的是Protel99SE,它是个完整的全方位电路设计系统,包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印刷电路板设计(包含印刷电路板自动布局布线),可编程逻辑器件设计、图表生成、电路表格生成、支持宏操作等功能,并具有Client/Server(客户/服务体系结构), 同时还兼容一些其它设计软件的文件格式,如ORCAD、PSPICE、EXCEL等。使用多层印制线路板的自动布线,可实现高密度PCB的100%布通率。Protel软件功能强大(同时具有电路仿真功能和PLD开发功能)、界面友好、使用方便,但它最具代表性的是电路设计和PCB设计。1
IC设计软件IC设计工具很多,其中按市场所占份额排行为Cadence、Mentor Graphics和Synopsys。这三家都是ASIC设计领域相当有名的软件供应商。其它公司的软件相对来说使用者较少。中国华大公司也提供ASIC设计软件(熊猫2000);另外近来出名的Avanti公司,是原来在Cadence的几个华人工程师创立的,他们的设计工具可以全面和Cadence公司的工具相抗衡,非常适用于深亚微米的IC设计。下面按用途对IC设计软件作一些介绍。
①设计输入工具
这是任何一种EDA软件必须具备的基本功能。像Cadence的composer,viewlogic的viewdraw,硬件描述语言VHDL、Verilog HDL是主要设计语言,许多设计输入工具都支持HDL(比如说multiSIM等)。另外像Active-HDL和其它的设计输入方法,包括原理和状态机输入方法,设计FPGA/CPLD的工具大都可作为IC设计的输入手段,如Xilinx、Altera等公司提供的开发工具Modelsim FPGA等。
②设计仿真工作
我们使用EDA工具的一个最大好处是可以验证设计是否正确,几乎每个公司的EDA产品都有仿真工具。Verilog-XL、NC-verilog用于Verilog仿真,Leapfrog用于VHDL仿真,Analog Artist用于模拟电路仿真。Viewlogic的仿真器有:viewsim门级电路仿真器,speedwaveVHDL仿真器,VCS-verilog仿真器。Mentor Graphics有其子公司Model Tech出品的VHDL和Verilog双仿真器:Model Sim。Cadence、Synopsys用的是VSS(VHDL仿真器)。现在的趋势是各大EDA公司都逐渐用HDL仿真器作为电路验证的工具。
③综合工具
综合工具可以把HDL变成门级网表。这方面Synopsys工具占有较大的优势,它的Design Compile是作为一个综合的工业标准,它还有另外一个产品叫Behavior Compiler,可以提供更高级的综合。
另外最近美国又出了一个软件叫Ambit,据说比Synopsys的软件更有效,可以综合50万门的电路,速度更快。今年初Ambit被Cadence公司收购,为此Cadence放弃了它原来的综合软件Synergy。随着FPGA设计的规模越来越大,各EDA公司又开发了用于FPGA设计的综合软件,比较有名的有:Synopsys的FPGA Express, Cadence的Synplity, Mentor的Leonardo,这三家的FPGA综合软件占了市场的绝大部分。
④布局和布线
在IC设计的布局布线工具中,Cadence软件是比较强的,它有很多产品,用于标准单元、门阵列已可实现交互布线。最有名的是Cadence spectra,它原来是用于PCB布线的,后来Cadence把它用来作IC的布线。其主要工具有:Cell3,Silicon Ensemble-标准单元布线器;Gate Ensemble-门阵列布线器;Design Planner-布局工具。其它各EDA软件开发公司也提供各自的布局布线工具。
⑤物理验证工具
物理验证工具包括版图设计工具、版图验证工具、版图提取工具等等。这方面Cadence也是很强的,其Dracula、Virtuso、Vampire等物理工具有很多的使用者。
⑥模拟电路仿真器
前面讲的仿真器主要是针对数字电路的,对于模拟电路的仿真工具,普遍使用SPICE,这是唯一的选择。只不过是选择不同公司的SPICE,像MiceoSim的PSPICE、Meta Soft的HSPICE等等。HSPICE现在被Avanti公司收购了。在众多的SPICE中,HSPICE作为IC设计,其模型多,仿真的精度也高。1
PLD设计工具PLD(Programmable Logic Device)是一种由用户根据需要而自行构造逻辑功能的数字集成电路。目前主要有两大类型:CPLD(Complex PLD)和FPGA(Field Programmable Gate Array)。它们的基本设计方法是借助于EDA软件,用原理图、状态机、布尔表达式、硬件描述语言等方法,生成相应的目标文件,最后用编程器或下载电缆,由目标器件实现。生产PLD的厂家很多,但最有代表性的PLD厂家为Altera、Xilinx和Lattice公司。
PLD的开发工具一般由器件生产厂家提供,但随着器件规模的不断增加,软件的复杂性也随之提高,目前由专门的软件公司与器件生产厂家使用,推出功能强大的设计软件。下面介绍主要器件生产厂家和开发工具。
①ALTERA
20世纪90年代以后发展很快。主要产品有:MAX3000/7000、FELX6K/10K、APEX20K、ACEX1K、Stratix等。其开发工具-MAX+PLUS II是较成功的PLD开发平台,最新又推出了Quartus II开发软件。Altera公司提供较多形式的设计输入手段,绑定第三方VHDL综合工具,如:综合软件FPGA Express、Leonard Spectrum,仿真软件ModelSim。
②XILINX
FPGA的发明者。产品种类较全,主要有:XC9500/4000、Coolrunner(XPLA3)、Spartan、Vertex等系列,其最大的Vertex-II Pro器件已达到800万门。开发软件为Foundation和ISE。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用ALTERA的人多,在美国则是平分秋色。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD技术的发展方向。
③Lattice-Vantis
Lattice是ISP(In-System Programmability)技术的发明者。ISP技术极大地促进了PLD产品的发展,与ALTERA和XILINX相比,其开发工具比Altera和Xilinx略逊一筹。中小规模PLD比较有特色,大规模PLD的竞争力还不够强(Lattice没有基于查找表技术的大规模FPGA),1999年推出可编程模拟器件,1999年收购Vantis(原AMD子公司),成为第三大可编程逻辑器件供应商。2001年12月收购Agere公司(原Lucent微电子部)的FPGA部门。主要产品有ispLSI2000/5000/8000,MACH4/5。
④ACTEL
反熔丝(一次性烧写)PLD的领导者。由于反熔丝PLD抗辐射、耐高低温、功耗低、速度快,所以在军品和宇航级上有较大优势。ALTERA和XILINX则一般不涉足军品和宇航级市场。
⑤Quicklogic
专业PLD/FPGA公司,以一次性反熔丝工艺为主,在中国地区销售量不大。
⑥Lucent
主要特点是有不少用于通讯领域的专用IP核,但PLD/FPGA不是Lucent的主要业务,在中国地区使用的人很少。
⑦ATMEL
中小规模PLD做得不错。ATMEL也做了一些与Altera和Xilinx兼容的片子,但在品质上与原厂家还是有一些差距,在高可靠性产品中使用较少,多用在低端产品上。
⑧Clear Logic
生产与一些著名PLD/FPGA大公司兼容的芯片,这种芯片可将用户的设计一次性固化,不可编程,批量生产时的成本较低。
⑨WSI
生产PSD(单片机可编程外围芯片)产品。这是一种特殊的PLD,如最新的PSD8xx、PSD9xx集成了PLD、EPROM、Flash,并支持ISP(在线编程),集成度高,主要用于配合单片机工作。
**⑦Altium:**提供Actel、Altera、Lattice和Xilinx四家PLD/FPGA器件的通用跨厂商开发平台,最新推出了Altium Designer 10软件中集成了Aldec HDL仿真功能。
顺便提一下:PLD(可编程逻辑器件)是一种可以完全替代74系列及GAL、PLA的新型电路,只要有数字电路基础,会使用计算机,就可以进行PLD的开发。PLD的在线编程能力和强大的开发软件,使工程师可以几天,甚至几分钟内就可完成以往几周才能完成的工作,并可将数百万门的复杂设计集成在一颗芯片内。PLD技术在发达国家已成为电子工程师必备的技术。
其它EDA软件**①VHDL语言:**超高速集成电路硬件描述语言(VHSIC Hardware Description Language,简称VHDL),是IEEE的一项标准设计语言。它源于美国国防部提出的超高速集成电路(Very High Speed Integrated Circuit,简称VHSIC)计划,是ASIC设计和PLD设计的一种主要输入工具。
**②Verilog HDL:**是Verilog公司推出的硬件描述语言,在ASIC设计方面与VHDL语言平分秋色。
③其它EDA软件如专门用于微波电路设计和电力载波工具、PCB制作和工艺流程控制等领域的工具,在此就不作介绍了。1
EDA的应用EDA在教学、科研、产品设计与制造等各方面都发挥着巨大的作用。在教学方面,几乎所有理工科(特别是电子信息)类的高校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、掌握用HDL语言编写规范、掌握逻辑综合的理论和算法、使用EDA工具进行电子电路课程的实验验证并从事简单系统的设计。一般学习电路仿真工具(如multiSIM、PSPICE)和PLD开发工具(如Altera/Xilinx的器件结构及开发系统),为今后工作打下基础。
科研方面主要利用电路仿真工具(multiSIM或PSPICE)进行电路设计与仿真;利用虚拟仪器进行产品测试;将CPLD/FPGA器件实际应用到仪器设备中;从事PCB设计和ASIC设计等。
在产品设计与制造方面,包括计算机仿真,产品开发中的EDA工具应用、系统级模拟及测试环境的仿真,生产流水线的EDA技术应用、产品测试等各个环节。如PCB的制作、电子设备的研制与生产、电路板的焊接、ASIC的制作过程等。
从应用领域来看,EDA技术已经渗透到各行各业,如上文所说,包括在机械、电子、通信、航空航航天、化工、矿产、生物、医学、军事等各个领域,都有EDA应用。另外,EDA软件的功能日益强大,原来功能比较单一的软件,现在增加了很多新用途。如AutoCAD软件可用于机械及建筑设计,也扩展到建筑装璜及各类效果图、汽车和飞机的模型、电影特技等领域。1
发展趋势从目前的EDA技术来看,其发展趋势是政府重视、使用普及、应用广泛、工具多样、软件功能强大。
中国EDA市场已渐趋成熟,不过大部分设计工程师面向的是PCB制板和小型ASIC领域,仅有小部分(约11%)的设计人员开发复杂的片上系统器件。为了与台湾和美国的设计工程师形成更有力的竞争,中国的设计队伍有必要引进和学习一些最新的EDA技术。
在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设计(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方面发展。
外设技术与EDA工程相结合的市场前景看好,如组合超大屏幕的相关连接,多屏幕技术也有所发展。
中国自1995年以来加速开发半导体产业,先后建立了几所设计中心,推动系列设计活动以应对亚太地区其它EDA市场的竞争。
在EDA软件开发方面,目前主要集中在美国。但各国也正在努力开发相应的工具。日本、韩国都有ASIC设计工具,但不对外开放。中国华大集成电路设计中心,也提供IC设计软件,但性能不是很强。相信在不久的将来会有更多更好的设计工具在各地开花并结果。据最新统计显示,中国和印度正在成为电子设计自动化领域发展最快的两个市场,年复合增长率分别达到了50%和30%。
与ASIC设计和FPGA开发关系利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
本词条内容贡献者为:
刘宝成 - 副教授 - 内蒙古民族大学