EDA技术在电路设计中的地位和作用
扫描二维码
随时随地手机看文章
20世纪后半期,随着集成电路和计算机技术的发展,数字系统也得到了飞速发展,其实现方法经历了由分立元件、SSI、MSI到LSI、VLSI以及UVLSI的过程。同时为了提高系统的可靠性与通用性,微处理器和专用集成电路(ASIC)逐渐取代了通用集成硬件LSI电路,而在这两者之间,ASIC以其体积小、重量轻、功耗低、速度快、成本低、保密性好而脱颖而出。总的来说,ASIC的制作可粗略地分为掩膜式方法和现场可编程方法两大类。目前,业界大量可编程器件(PLD),尤其是现场可编程逻辑器件(CPLD/FPGA)被大量地应用在ASIC的制作中。在可编程集成电器开发过程中,电子设计自动化(EDA)技术应运而生。EDA技术的出现,不仅为电子系统设计带来了一场革命性的变化,从某种角度说,也成为其发展的必然。下面论述EDA技术的发展和基本特征以及在电子技术设计中的地位和作用。
1 EDA技术发展概述
EDA是以计算机为平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制的电子CAD通用软件包,主要辅助进行三方面的工作:IC设计、电子线路设计以及PCB设计。回顾近30年电子设计技术的发展历程,可将EDA技术分为三个阶段:20世纪70年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生计算机辅助设计的概念。20世纪80年代为CAE阶段,与CAD相比,除了纯粹的图形设计功能之外,又增加了电路功能设计和结构设计,并且通过电器连接网络表将二者结合在一起,实现了工程设计,这就是计算机辅助设计的概念。CAE的主要功能是:原理图输入,逻辑图仿真,电路分析,自动布局布线,PCB分析。20世纪90年代为EDA阶段,尽管CAD/CAE技术取得了很大的成功,但并没有把人们从繁重的劳动中解放出来。在整个设计过程中,自动化和智能化程度还不高,各种软件界面千差万别,学习使用困难,互不兼容,直接影响到设计环节的衔接。基于以上环节不足,人们开始追求:贯彻整个设计过程的自动化,这就是EDA即电子系统设计自动化。
2 EDA技术的基本特征及实验室配置
EDA代表了当今电子设计技术发展的方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统设计,最后通过综合器和适配器生成最终的目标器件。这样的设计方法被称为高层次的电子设计方法,下面介绍与EDA基本特征有关的几个概念。
2.1 “自顶而下”的设计方法
10年前,电子设计的基本思路还是选择标准的集成电路“自底向上”(Bottom-Up)地构造出一个新的系统。这样的设计方法如同一砖一瓦建造楼房,不仅效率低、成本高而且容易出错。高层次的设计给我们提供了一种“自顶向下”(Top-Down)的全新设计方法,这种方法首先从系统入手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层的系统进行描述,在系统一级进行验证。然后用综合优化工具生成具体的门电路网表,其对应的物理实现级可以是印刷电路板或专用集成电路。
由于设计的主要仿真和调试过程是在高层次上完成的。这既有利于早期发现结构设计上的错误,避免设计工时的浪费,同时也减少了逻辑功能仿真的工作量,提高了设计的一次成功率。
2.2 ASIC设计
现在电子产品的复杂程度日益加深,一个电子系统可能由数万个中小集成电路构成,这就带来了体积大、功耗大、可靠性差的问题,解决这一问题的有效方法就是采用ASIC(Application Specific Integrated Circuits)芯片进行设计。ASIC按照设计方法的不同可分为全定制ASIC,半定制ASIC,可编程ASIC(也成为可编程逻辑器件)。
设计全定制ASIC芯片时,设计人员要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由IC厂家掩膜制造完成。优点是:芯片可以获得最优的性能,即面积利用率高、速度快、功耗低。缺点是:开发周期长,费用高,只适合大批量产品开发。
半定制ASIC芯片的版图设计方法有所不同,分为门阵列设计方法和标准单元设计方法。这两种设计方法都是约束性设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间。可编程逻辑器件自20世纪70年代以来,经历了PAL、GAL、CPLD、FPGA几个发展阶段,其中CPLD/FPGA属于高密度逻辑器件,目前集程度已高达200万门/片,它将掩膜ASIC集程度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研究或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易的转由掩膜ASIC实现,因此开发风险也大为降低。
上述ASIC芯片,尤其是CPLD/FPGA器件,已成为现代高层次电子设计方法的实现载体。
2.3 硬件描述语言
硬件描述语言(HDL-Hardw are Description Language)是一种用于硬件电子设计的计算机语言。它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接方式,与传统的门级描述方式相比,它更适合大规模系统的设计。早期硬件描述语言,如ABEL-HDL、AHDL,由不同的EDA厂家开发,互不兼容,而且不支持多层次设计,层次间翻译工作由人工来完成。为了克服以上不足,1985年美国国防部正式推出了VHDL(Very High Speed IC Hardware Description Language)语言。VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构描述、数据流描述、行为描述三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶而下或自底向上的电路设计过程都可以用VHDL来完成。VHDL还具有以下优点:①VHDL范围描述能力使它成为高层次设计的核心,将设计人员的工作重心提高到系统功能的实现和调试,而花较少的精力用于物理的实现。②VHDL可以用简洁明确的代码描述来进行复杂的控制逻辑设计,灵活方便,而且也便于设计结果的交流、保存和重用。③VHDL的设计不依赖于特定的器件,方便了工艺转换。④VHDL是一种标准语言,为众多的EDA厂商所支持,因此移植性好。
2.4 EDA技术的建模与仿真
EDA技术必须进行元件的建模与系统仿真,基于Spice/Xspice为内核的Multisim是目前教育系统流行的电路仿真软件。MultisimV7是通过对V5、V6的功能不断扩充,特别增加了VHDL和VerilogHDL模块,使它成为真正的“数/模/VHDL/VerilogHDL”混合电路仿真软件。
Multisim的元件库分为Mult isim主数据库(Multisim Master Database)、共享数据库(Corporate Library)和用户数据库(User Database),其中主数据库的元件不能更改,共享数据库和用户数据库可以更改,用户可以将常用的元件或用户编辑的新元件放在这两个数据库中。单极版的Multisim中共享数据库不可使用。Multisim中的元件模型分为SPICE模型、Code Model模型、VHDL元件模型和Verilog HDL元件模型。SPICE模型是指SPICE预定义的元件模型或利用子电路的方法建立的模型。Code Model是在SPICE中用C语言编写的元件模型。建立VHDL模型和Verilog HDL模型前首先要编写相应的语言代码,进行仿真验证,然后汇编和连接,产生Multisim可以接受的模型文件。
与其他EDA工具相比较,Multisim主要具有以下优点:①采用直观的图形界面创建电路。②软件提供了丰富而全面的仪器设备,且同一台仪器可以多台同时调用,和真实实验相比,大大节约了费用。③Multisim软件带有丰富的电路元件库,特别是有大量与现实对应的元件模型,使电路有很强的实用性,并提供了多种电路分析方法。④作为设计工具,它可以同其他流行的电路分析、设计和制板软件交换数据。⑤Multisim还是一个优秀的电子训练工具,利用它提供的虚拟仪器可以用比实验室中更灵活的方式进行电路实验,仿真电路实际运行情况,熟悉常用电子仪器测量方法。⑥具有射频电路的仿真功能。⑦专业版支持VHDL和Verilog语言的电路仿真。
对于学生而言,学习Multisim软件进行EDA技术的基础训练更为重要。
2.5 EDA实验室系统及配置
EDA实验室系统是一套硬件配置以及EDA软件配置。最基础的硬件配置是计算机,除此之外就高校而言,EDA实验室还需要以下软硬件配置:①具有模数混合电路仿真软件Multisim。②具有PCB自动化设计功能的软件,目前高校系统更多采用Ult iboard。③PCB雕刻机或PCB板制作系统。若资金允许,可配备PCB雕刻机,否则可配备一般PCB板制作系统。具备以上资源,就可以进行On board设计但要进行On chip设计和开发,还必须配备以下资源:④具有CPLD/FPGA设计输入、软件仿真、下载功能的软件和硬件。EDA实验室可采用CPLD/FPGA下载板,然后利用MaxplusⅡ软件进行设计,完成芯片制造。Max plus Ⅱ具有设计输入、软件仿真、角位定义的功能,它和CPLD/FPGA组合就可以完成在IC上的设计。⑤完成对电路进行时序测试的软硬件。逻辑分析仪可以对硬件电路进行时序测试,但一般分析仪价格比较昂贵,鉴于此EDA实验室可选用PC-base LA1000P型逻辑分析仪,该分析仪的功能和一般分析仪的功能相当,但价格实惠,非常适合EDA实验室使用。
3 EDA技术在当今电路设计中的应用
20世纪90年代以来,电子信息类产品的开发明显出现两个特点:一是产品的复杂程度加深;二是产品的上市时限紧迫。然而电路级设计本质上是基于门级描述的单层次设计(主要以数字电路为主),设计的所有工作(包括设计输入、仿真和分析、设计修改等)都是在基本逻辑门这一层次上进行的。显然这种设计方法不能适应新的形势,为此引入一种高层次的电子设计方法,也称为系统的设计方法。
高层次设计是一种“概念驱动式”的设计,设计人员无须通过门级原理图描述电路,而是对设计目标进行功能描述,由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念构思上,一旦这些概念构思以高层次描述输入计算机后,EDA系统就能以规则驱动的方式自动完成整个设计。这样,新的概念得以迅速有效地成为产品,大大缩短了产品的研制周期。不仅如此,高层次的设计只是定义系统的行为特性,可以不涉及实现工艺,在厂家的综合库的支持下,利用综合优化工具可以将高层次的描述转化成对某种工艺优化的网表,工艺转化变得轻松容易。
高层次设计步骤如下:第一,按照“自顶而下”的设计方法进行系统划分。
第二,输入VHDL代码,这是高层次设计中最为普遍的输入方式。此外EDA实验室采用Multisim图形仿真输入,这种方法具有直观、容易理解的特点。
第三,将以上设计输入编译成标准的VHDL文件。对于大型的设计,还要进行代码级的功能仿真,主要是检验系统功能设计的正确性。因为对大型设计,综合、适配要花费数小时,在综合前对源代码仿真,就可大大减少设计重复的次数和时间,一般情况下,可略去这一仿真步骤。
第四,利用仿真器对VHDL源代码进行综合优化处理,生成门级描述的网表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品进行的,所以综合的过程要在相应的厂家综合库支持下才能完成。综合后,可利用生产的网表文件进行适配前的时序仿真,仿真过程不涉及具体器件的特性,是较为粗略的,一般设计这一仿真步骤可略去。
第五,利用适配器件将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配完成后,产生多项设计结果:适配报告,包括芯片内部资源利用情况、设计的布尔方程描述情况等;适配后的仿真模型;器件编程文件。根据适配后的仿真模型,可以进行适配后的时序仿真,因为已经得到器件的实际硬件特性(如延时特性),所以仿真结果能比较精确地预期未来芯片的实际性能。如果仿真结果达不到设计要求,就需要修改VHDL源代码或选择不同速度品质的器件,直至满足设计要求。
第六,将适配器件生产的器件编程文件通过编程器或下载电缆载入到目标芯片CPLD/FPGA中。如果是大批量产品开发,通过更换相应的厂家综合库,可以很容易转由ASIC形式实现。
EDA在教学、科研、产品设计与制造等方面都发挥着巨大的作用。在教学方面,几乎所有的理工科(特别是电子信息)类的高等院校都开设了EDA课程。主要是让学生了解EDA的基本概念和基本原理、学习Multisim软件、掌握VHDL语言的编写规范、掌握逻辑理论和算法、使用EDA工具进行电子电路课程的实验并从事简单的设计。学习电路仿真工具和PLD开发工具的使用,为今后的工作打下基础。科研方面主要利用电路仿真工具,利用虚拟仪器进行产品测试,将CPLD/FPGA器件实际应用到仪器设备中,从事PCB设计和ASIC设计等。在产品设计与制造方面,包括前期的计算机仿真,产品开发中的EDA工具应用、产品测试等各个环节,如PCB的制作、电子设备的研制与生产、电路板的焊接、ASIC的流片过程等。另外,EDA软件的功能日益增大,原来功能比较单一的软件,现在增加了很多用途。EDA技术发展迅猛,完全可以用日新月异来描述。EDA技术的广泛应用,现在已涉及各行各业。EDA水平不断提高,设计工具趋于完美的地步,EDA市场日趋成熟。