电子EDA技术的基础知识讲解

EDA/IC设计

1047人已加入

描述

1 引言

二十世纪后半期,随着集成电路和计算机的不断发展,电子技术面临着严峻的挑战。由于电子技术发展周期不断缩短,专用集成电路ASIC的设计面临着难度不断提高与设计周期不断缩短的矛盾,为了解决这个问题,要求我们必须采用新的设计方法和使用高层次的设计工具,在此情况下,EDA(Electronic Design Automation)即电子设计自动化技术应运而生。

随着电子技术的发展及缩短电子系统设计周期的要求,EDA技术得到了迅猛发展。

EDA技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方法设计电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑影射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门新技术。

EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了三个发展阶段,即:20世纪70年代发展起来的CAD技术;20世纪80年代开始应用的CAE技术;20世纪90年代后期,出现的以硬件描述语言、系统级仿真和综合技术为特征的EDA技术,这时的EDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。

EDA技术涉及面广,内容丰富,从教学和实用的角度看,主要有以下四个方面内容:(1)大规模可编程逻辑器件;(2)硬件描述语言;(3)软件开发工具;(4)实验开发系统。其中,大规模可编程逻辑器件是利用EDA技术进行电子系统设计的载体;硬件描述语言是利用EDA技术进行电子系统设计的主要表达手段;软件开发工具是利用EDA技术进行电子系统设计的智能化、自动化设计工具;实验开发系统是利用EDA技术进行电子系统设计的下载工具及硬件验证工具。

随着现代半导体的精密加工技术发展到深亚微米(0.18~0.35um)阶段,基于大规模或超大规模集成电路技术的定制或半定制ASIC(Application Specific Integrated Circuit专用集成电路)器件大量涌现并获得广泛的应用,使整个电子技术与产品的面貌发生了深刻的变化极大地推动了社会信息化的发展进程。而支撑这一发展进程的主要基础之一,就是EDA技术。

EDA技术在硬件方面融合了大集成电路制造技术,ic图设计技术、ASIC测试和封装技术、CPLD/FPGA技术等;在计算机辅助工程方面融合了计算机辅助设计CAD计算机辅助制造CAM计算机辅助测试CAT技术及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如数字系统设计理论、数字信号处理技术、系统建模和优化技术等。

2 可编程逻辑器件(PLD Programmable Logic Device)

可编程逻辑器件是近几年才发展起来的一种新型集成电路,是当前数字系统设计的主要硬件基础,是硬件编程语言HLD物理实现工具,可编程逻辑器件对数字系统设计自动化起着推波助澜的作用,可以说,没有可编程逻辑器件就没有当前的数字电路自动化,目前,由于这种以可编程逻辑器件为原材料,从“制造自主芯片”开始的EDA设计模式己成为当前数字系统设计的主流,若要追赶世界最先进的数字系统设计方法,就要认识并使用可编程逻辑器件。

数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务己不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASL芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)复杂可编程逻辑器件(CPLD)。

可编程逻辑器件正处于高速发展的阶段。新型的FPGA/CPLD规模越来越大,成本越来越低。高性价比使可编程逻辑器件在硬件设计领域扮演着日益重要的角色。

低端CPLD已经逐步取代了74系列等传统的数字元件,高端的FPGA也在不断地夺取ASIC的市场份额,特别是目前大规模FPGA多数支持可编程片上系统SOPC与CPU或DSP Core的有机结合使FPGA已经不仅仅是传统的硬件电路设计手段,而逐步升华为系统级实现工具。

下一代可编程逻辑器件硬件上的四大发展趋势可总结如下:最先进的ASL生产工艺将被更广泛的应用于以FPGA为代表的可编程逻辑器件;越来越多的高端FPGA产品将包含DSP或CPU等处理器内核,从而FPGA将由传统的硬件设计手段逐步过渡为系统级设计平台:FPGA包含功能越来越丰富的硬核(HardIPCore),与传统ASIC进一步融合,并通过结构化ASIC技术加快占领部分ASIC市场;低成本FPGA的密度越来越高,价格越来起合理,将成为FPGA发展的中坚力量。这4个发展趋势可简称为先进工艺、处理器内核、硬核与结构化ASIC低成本器件。

3 硬件描述语言HDL(Hardware Description Language)

HDI是电子系统硬件行为描述、结构描述、数据流描述的语言。目前利用硬件描述语言可以进行数字电子系统的设计。随着研究的深入,利用硬件描述语言进行模拟电子系统设计或混合电子系统设计,也正在探索中。

硬件描述的语言种类很多,有的从PASCAI发展而来,也有一些从Cl吾言发展而来。有些HDL成为IEEE准,但大部分是本企业标准。HDl发展的技术源头是:在HDl形成发展之前,已有了许多程序设计语言,如汇编、C、PASCAL、FORTRAN、PROLOG等。这些语言运行在不同硬件平台、不同的操作环境中,它们适合于描述过程和算法,不适合作硬件描述。CAD的出现,使人们可以利用计算机进行建筑、服装等行业的辅助设计,而电子辅助设计也同步发展起来。在利用EDA工具进行电子设计时,逻辑图、分立电子元件作为整个越来越复杂的电子系统的设计己不适应。任何一种EDA工具,都需要一种硬件描述语言来作为EDA工具的工作语言。这些众多的EDA工具软件开发者,各自推出了自己的HDL语言。在我国比较有影响的硬件描述语言有:ABEL-HDL语言、Verilog HDL语言、AHDL语言和VHDL语言。

3.1 ABEL-HDL语言

这是一种早期的硬件描述语言。在可编程逻辑器件的设计中,可方便准确的描述所设计的电路逻辑功能。他支持逻辑电路的多种表达形式,其中包括逻辑方程,真值表和状态图。ABEL语言和Verilog语言同属一种描述级别,但ABEL语言的特性受支持的程度远远不如Verilog,Verilog是从集成电路设计中发展而来,语言较为成熟,支持的EDA工具很多。而ABEL语言从早期可编程逻辑器件(PLD)的设计中发展而来。ABEL-HDI被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语描述的独立性,因而适用于各种不同规模的可编程器的设计。如DOS版的ABEL3.0软件可对包括GAL期间进行全方位的逻辑描述和设计,而在诸如Lattice的ISPEXPERT,DATAIO的Synario ,Vantis的Design-Direct,XiLinx的FOUNDATION和WEBPACK等EDA软件中,ABEL-HDL同样可用于较大规模的FPGA/CPLD器件功能设计。ABEL-HDI还能对所设计的逻辑系统进行功能仿真。ABEL-HDL拘设计也能通过标准格式设计转换文件,转换成其他设计环境,如VHDI。Verilog-HDL等。从长远来看,VHDL口Verilog-HDL的运用会比ABEL-HDL多的多,ABEL-HDL只会在较小的范围内继续存在。

3.2 Verilog HDL

Verilog HDL就是在应用最广泛的C语言的基础上发展起来的一种件描述语言,它是由GDA(Gateway Design Autom action)公司的PhiMooorby,在1983年末首创的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby,推出它的第三个商用仿真器Verilog-XL获得了巨大的成功,从而使得Verilog HDL迅速得到推广应用。1989年CADENCE公司收购了GDA公司,使得Verilog HDL成为了该公司的独家专利。1990年CAD斟CE公司公开发表了Verilog HDL并成立LVI织以促进Verilog HDL成为IEEE标准,即IEEE Srandard1364-1995。

Verilog HDL最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握,因而可以把Verilog HDL内容安排在与ASIC设计等相关课程内部进行讲授,由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比VHDL的学习要困难一些。但Verilog HDL较自由的语法,也容易造成初学者犯一些错误,这一点要特别注意。

3.3 AHDL

Altera硬件描述语言AHDL(Altera Hardware Description Language)是一种模块化的高级语言,是ALTERA公司发明的HDL,特点是非常易学易用,学过高级语言的人可以在很短的时间(如几周)内掌握AHDL。

AHDL语言完全集成于MAX+plusII/QuartusII系统之中,特别适于描述复杂的组合逻辑、组(Group)运算、状态机、真值表和参数化逻辑。设计者可以通过MAX+plusII或QuartusII的软件系统对AHDL源程序进行编辑,并通过对源程序的编译建立仿真、时域分析和器件编程的输出文件。

AHDL的语句和元素种类齐全、功能强大,而且易于使用。设计者可以使用AHDL直完整层次的工程(Project设计文件,或者在一个层次的设计中混合其他类型的设计文件,如Verilog HDLVHDL设计文件。AHDL文件作为一种文本文件,它既可以用EDA提供的文本文件编辑器来建立文本(TDF AHDL Text Design File)也可以用其它文本编辑器建立文本文件,但是,由于AHDL与MAX+PlusⅡ/QuartusⅡ间的持殊关系,建议最好使用前者,设计者可以方便地应用MAX+PlusⅡ/QuartusⅡ对AHDL进行文本编辑、编译、调试等工作,尤其是在消息处理器中对错误自动定位的功能使调试十分方便。它的缺点是移植性不好,通常只用于ALTERA公司自己的开发系统。

       3.4 VHDL语言

VHDL语言(Very-High-Speed Integrated Circuit Hardware Description Language)即超高速集成电路硬件描述语言,美国国防部在20世纪80年代后期开发了VHDL语言。1981年6月成立的VHDL工作小组,提出了一个满足电子设计各种要求的能够作为工业标准的HDL,1983年第三季度,由JBM公司、TJ公司、Internetrics公司签约,组成开发小组,工作任务是提出语言版本和开发软件环境。1986年IEEE标准化组织开始工作,讨论VHDL语言标准,历时一年有余,1987年12月通过标准审查,并宣布实施,即IEEE STD 1076-1987[IRM87]。1993年VHDL重新修订,形成新的标准即IEEE STD 1076-1993[IRM93]。

该语言设计技术齐全、方法灵活、可与制作工艺无关、编程易于共享,所以成为硬件描述语言的主流,成为标准硬件描述语言。将VHDL程序写入可编程芯片中,做成ASIC芯片,因其开发周期短,更方便,所以将在很大范围内取代单片控制电路,成为未来数字电路设计的主旋律。由于半导体编程技术的快速进步,VHDL所能提供的高阶电路描述语言方式,使复杂的电路可以通过VHDL编辑器的电路方式,轻易而且快速地达到设计的规格。VHDL电路描述语言所能涵盖的范围相当广,能适用于各种不同阶层的设计工程师的需求。从ASIC的设计到PCB系统的设计,VHDL电路描述语言都能派上用场,所以VHDL电路设计毫无疑问地成为硬件设计工程师的必备工具。目前,VHDL语言也己成为FPGA/CPLD编程最常用的工具。

VHDL作力EDA的重要组成都分,提供了借助计算机进行数字系统设计的一种很好的手段。用VHDL进行设计有许多优点,VHDL的硬件描述能力很强,可以用于从门级、电路级直至系统级的描述、仿真、综合和调试。利用VHDL丰富的仿真语句和库函数,对大系统的早期设计,可在远离门级的高层次上进行模拟,以利于设计者确定整个设计结构和功能的可行性。VHDL强大的行为描述能力和程序结构使其具有支持对大规模设计进行分解,以及对已有的设计进行再利用的功能。运用VHDL设计系统硬件具有相对独立性,设计时没有嵌入与工艺有关的信息,对硬件的描述与具体的工艺技术和硬件结构无关。当门级或门级以上的描述通过仿真检验以后,再用相应的工具将设计映射成不同的工艺,这使硬件实现的目标器件有很宽的选择范围,并且修改电路与修改工艺或选择器件相互之间不会产生不良影响。VHDL标准规范,语法较为严格,采用VHDL的设计便于重复利用交流,VHDL所具有的类属描述语句和子程序调用等功能使设计者对完成的设计,不必改变源程序,只需改变类属参数或函数,就可改变设计的规模和结构。1995年我国国家技术监督局制定的《CAD用技术规范》推荐将VHDL作为我国电子设计自动化硬件描述语言的国家标准。VHDL已经成为世界上各家EDA工具和集成电路厂商普遍认同和共同推广的标准化硬件描述语言。掌握VHDL,利用VHDL设计电子电路,是当前进行技术竞争的一项基本技能和强有力工具。

4 EDA软件

EDA软件在EDA技术应用中占据极其重要的地位,EDA的核心是利用计算机实现电路设计的自动化,因此基于计算机环境下的EDA工具软件的支持是必不可少的。

EDA软件品种繁多,目前在我国得到应用的有:PSPICE,PCAD,Protel,ViewLogic,Mentor,Graphics,Synopsys,Cadence,Edison,Tina等等。这些软件功能都很强,一般都能应用于几个方面,大部分软件都可以进行电路设计与仿真,FCB自动布局布线,可输出多种网表文件(Netlist)与其他厂商的软件共享数据等等。按它们的主要功能与应用领域,可分为电子电路设计工具、仿真工具、PCB设计软件、IC设计软件、PID设计工具及其它EDA软件,其中IC设计和PID设计代表当今电子技术的发展水平,是该行业中得到广泛应用的软件类型。

目前IC设计工具发展迅速,IC领域本身已发展到ASIC(Application Specific Integrated Circuit)芯片设计的阶段。著名的IC计软件供应商有:Cadence,Synopsysl Avanti,Agilenti。

PLD是一种由用户根据需要而自行构造逻辑功能的数字集成电路,其设计方法是借助于EDA软件,用原理图、布尔表达式、硬件描述语言等方法,生成相应的目标文件,最后用编程器或下载电缆,由目标器件实现。目前世界上具有代表性的PLD生产厂家有Altera公司、Xilinx公司和Lattice公司。一些小型化、简单的PLD设计工具主要由生产器件的厂家提供,而一些功能强大、大型化的PLD设计工具是由软件公司和生产器件的厂家合作开发。如Altera公司的Max+PlusⅡ和QuatusⅡ,Lattice公司的Synaric。由于Altera公司实施的高校合作计划,大多数工程研发人员在大学期间最早接触的使用得最多得也就是Max+PlusⅡ和QuatusⅡ同时Max+PlusⅡ和QuatusⅡ的开发工具界面是否友好,操作方便,因此更容易为研发人员接受。

5 基于EDA技术的数字系统层次化

设计方法

EDA(Electronic Design Automation)技术的出现使数字系统的分析与设计方法发生了根本的变化,采用的基本设计万法主要有三种:直接设计、自顶向下(Top-to-Down)设计、自底向上(Buttom-to-Up)设计。直接设计就是将设计看成一个整体,将其设计成为一个单电路模块,它适合小型简单的设计。而一些功能较复杂的大型数字逻辑系统设计适合自顶向下或自底向上的设计方法。自顶向下的设计方法就是从设计的总体要求入手,自顶向下地将设计划分为不同的功能子模块,每个模块完成特定的功能,这种设计方法首先确定顶层模块的设计,再进行子模块的详细设计,而在子模块的设计中可以调用库中已有的模块或设计过程中保留下来的实例。自底向上的设计方法与自顶向下的设计方法恰恰相反。

在数字系统的EDA设计中往往采用层次化的计方法,分模块、分层次地进行设计描述。描述系统总功能的设计为顶层设计,描述系统中较小单元的设计为底层设计。整个设计过程可理解为从硬件的顶层抽象描述向最底层结构描述的一系列转换过程,直到最后得到可实现的硬件单元描述为止。层次化设计方法比较自由,既可采用自顶向下的设计也可采用自底向上设计,可在任何层次使用原理图输入和硬件描述语言HDL设计。

5.1自底向上的设计方法

Buttom-to-Up设计方法的中心思想是首先根据对整个系统的测试与分析,由各个功能块连成一个完整的系统,由逻辑单元组成各个独立的功能模块,由基本门构成各个组合与时序逻辑单元。

Buttom-to-Up设计方法的特点:从底层逻辑库中直接调用逻辑门单元;符合硬件工程师传统的设计习惯;在进行底层设计时缺乏对整个电子系统总体性能的把握;在整个系统完成后,要进行修改较为困难,设计周期较长;随着设计规模与系统复杂度的提高,这种方法的缺点更突出。

传统的数字系统的设计方法一般都是自底向上的,即首先确定构成系统的最低层的电路模块或元件的结构和功能,然后根据主系统的功能要求,将它们组成更大的的功能块,使它们的结构和功能满足高层系统的要求,依此类推,直至完成整个目标系统的EDA设计。

5.2自顶向下的设计方法

Top-to-Down设计方法的中心思想是:系统层是一个包含输入输出的顶层模块,并用系统级、行为描述加以表达,同时完成整个系统的模拟和性能分析;整个系统进一步由各个功能模块组成,每个模块由更细化的行为描述加以表达;由EDA综合工具完成到工艺库的映射。

Top-to-Down设计方法的特点:结合模拟手段,可以从开始就掌握实现目标系统的性能状况;随着设计层次向下进行,系统的性能参数将进一步得到细化与确认;可以根据需要及时调整相关的参数,从而保证了设计结果的正确性,缩短了设计周期;当规模越大时,这种方法的优越性越明显;须依赖EDA设计工具的支持及昂贵的基础投入;逻辑总合及以后的设计过程的实现,均需要精确的工艺库的支持。

现代数字系统的设计方法一般都自顶向下(Top-to-Down)的层次化设计方法,即从整个系统的整体要求出发,自上而下地逐步将系统设计内容细化,即把整个系统分割为若干功能模块,最后完成整个系统的设计。

在电子设计领域,自顶向下的层次化设计方法,只有在EDA技术得到快速发展和成熟应用的今天才成为可能,自顶向下的层次化设计方法的有效应用必须基于功能强大的EDA工具,具备集系统描述、行为描述和结构描述功能为一体的硬件描述语言HDL以及先进的ASIC制造工艺和CPLD/FPGA开发技术。当今,自顶向下的层次化设计方法已经是EDA技术的首选设计方法,是CPLD/FPGA开发的主要设计手段。

6 结束语

EDA技术为现代数字系统理论和设计的表达与应用提供了可能性,它已不是某一学科的分支,而是一门综合性学科。EDA技术打破了计算机软件与硬件间的壁垒,是计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了数字电子设计技术和应用技术的发展方向。

EDA技术可广泛应用于科研、教学工作及新型电子产品的开发中。EDA技术是电子设计与计算机相结合的产物,而它的产生又极大地推动了前者的发展。目前正是EDA技术的高速发展阶段。在EDA技术开发方面,主要集中在美国等西方发达国家,新的EDA工具层出不穷。日本、韩国等亚洲国家也十分重视EDA技术的开发。我国EDA技术,无论开发还是应用都远远落后于发达国家,这也是我国信息技术集成电路产业的整体现状EDA技术也是信息产业部软件与集成电路促进中心的“国家信息技术紧缺人才培养工程”重点培训内容,为实现将中国从世界制造大国发展为世界技术强国,广大电子工程人员应加快学习和应用,提高自身的竞争能力,适应EDA技术的迅猛发展。
       责任编辑:tzh

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分