EDA技术培训 百分网手机站

电子设计自动化技术及其发展

时间:2018-04-02 16:15:28 EDA技术培训 我要投稿

2017年电子设计自动化技术及其发展

  电子设计自动化已经被广泛应用于电子电路的设计和仿真,集成电路的版图设计、印刷电路板(PCB)的设计和可编程器件的编程等各项工作中。下面是小编整理的关于电子设计自动化技术及其发展,欢迎大家参考!

2017年电子设计自动化技术及其发展

  20世纪末,电子设计技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透到社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也变得越来越快。

  微电子技术的进步表现在大规模集成电路加工技术即半导体工艺技术的发展上,使得表征半导体工艺水平的线宽已经达到了90nm,并还在不断地缩小,在硅片单位面积上,集成了更多的晶体管。集成电路设计正在不断地向超大规模、极低功耗和超高速的方向发展;专用集成电路ASIC(Application Specific Integrated Circuit)的设计成本不断降低,在功能上,现代的集成电路已能够实现单片电子系统SOC(System On a Chip)。

  现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA(Electronic Design Automation)技术。EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线),以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。EDA技术使得设计者的工作仅限于利用软件的方式,即利用硬件描述语言和EDA软件来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。

  另一方面,在现代高新电子产品的设计和生产中,微电子技术和现代电子设计技术是相互促进、相互推动又相互制约的两个环节;前者代表了物理层在广度和深度上硬件电路实现的发展,后者则反映了现代先进的电子理论、电子技术、仿真技术、设计工艺和设计技术与最新的计算机软件技术有机的融合和升华。因此,严格地说,EDA技术应该是这二者的结合,是这两个技术领域共同孕育的奇葩。

  EDA技术在硬件实现方面融合了大规模集成电路制造技术,IC版图设计技术、ASIC测试和封装技术、FPGA/CPLD编程下载技术、自动测试技术等;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术及长线技术理论等。因此EDA技术为现代电子理论和设计的表达与实现提供了可能性。

  在现代技术的所有领域中,纵观许多得以飞速发展的科学技术,多为计算机辅助设计,而非自动化设计。显然,最早进入设计自动化的技术领域之一是电子技术,这就是为什么电子技术始终处于所有科学技术发展最前列的原因之一。不难理解,EDA技术已不是某一学科的分支,或某种新的技能技术,而应该是一门综合性学科。它融合多学科于一体,又渗透于各学科之中,打破了软件和硬件间的壁垒,使计算机的软件技术与硬件实现、设计效率和产品性能合二为一,它代表了电子设计技术和应用技术的发展方向。

  正因为EDA技术丰富的内容以及与电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺的发展是同步的。就过去近30年的电子技术的发展历程,可大致将EDA技术的发展分为三个阶段。

  20世纪70年代,在集成电路制作方面,MOS工艺已得到广泛的应用。可编程逻辑技术及其器件已经问世,计算机作为一种运算工具已在科研领域得到广泛应用。而在后期,CAD的概念已见雏形,这一阶段人们开始利用计算机取代手工劳动,辅助进行集成电路版图编辑、PCB布局布线等工作。

  20世纪80年代,集成电路设计进入了CMOS(互补场效应管)时代。复杂可编程逻辑器件已进入商业应用,相应的辅助设计软件也已投入使用;而在80年代末,出现了FPGA(Field Programmable Gate Array),CAE和CAD技术的应用更为广泛,它们在PCB设计方面的原理图输入、自动布局布线及PCB分析,以及逻辑设计、逻辑仿真、布尔方程综合和化简等方面担任了重要的角色。特别是各种硬件描述语言的出现、应用和标准化方面的重大进步,为电子设计自动化必须解决的电路建模、标准文档及仿真测试奠定了基础。

  进入20世纪90年代,随着硬件描述语言的标准化得到进一步的确立,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用,与此同时,电子技术在通信、计算机及家电产品生产中的市场需求和技术需求,也极大地推动了全新的电子设计自动化技术的应用和发展。特别是集成电路设计工艺步入了超深亚微米阶段,百万门以上的大规模可编程逻辑器件的陆续面世,以及基于计算机技术的面向用户的低成本大规模ASIC设计技术的应用,促进了EDA技术的形成。更为重要的是各EDA公司致力于推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件的研究,都有效地将EDA技术推向成熟和实用。

  EDA技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面。

  ● 在FPGA上实现DSP(数字信号处理)应用成为可能,用纯数字逻辑进行DSP模块的设计,使得高速DSP实现成为现实,并有力地推动了软件无线电技术的实用化和发展。基于FPGA的DSP技术,为高速数字信号处理算法提供了实现途径。

  ● 嵌入式处理器软核的成熟,使得SOPC(System On a Programmable Chip)步入大规模应用阶段,在一片FPGA中实现一个完备的数字处理系统成为可能。

  ● 使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能。

  ● 在仿真和设计两方面支持标准硬件描述语言且功能强大的EDA软件不断推出。

  ● 电子技术领域全方位融入EDA技术,除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化:软件无线电技术的崛起,模拟电路系统硬件描述语言的表达和设计的标准化,系统可编程模拟器件的出现,数字信号处理和图像处理的全硬件实现方案的普遍接受,软硬件技术的进一步融合等。

  ● EDA使得电子领域各学科的界限更加模糊,更加互为包容:模拟与数字、软件与硬件、系统与器件、ASIC与FPGA、行为与结构等。

  ● 更大规模的FPGA和CPLD器件的不断推出。

  ● 基于EDA的用于ASIC设计的标准单元已涵盖大规模电子系统及复杂IP核模块。

  ● 软硬IP(Intellectual Property)核在电子行业的产业领域广泛应用。

  ● SOC高效低成本设计技术的成熟。

  ● 系统级、行为验证级硬件描述语言出现(如System C),使复杂电子系统的设计和验证趋于简单。

  1.2 电子设计自动化应用对象

  一般地说,利用EDA技术进行电子系统设计,最后实现的目标是以下3种。

  ● 全定制或半定制ASIC。

  ● FPGA/CPLD(或称可编程ASIC)开发应用。

  ● PCB(印制电路板)。

  实现目标的前面两项可以归结为专用集成电路ASIC的设计和实现(如图1-1所示),ASIC是最终的物理平台,集中容纳了用户通过EDA技术将电子应用系统的既定功能和技术指标具体实现的硬件实体。一般而言,专用集成电路就是具有专门用途和特定功能的独立集成电路器件,根据这个定义,作为EDA技术最终实现目标的ASIC,可以通过3种途径来完成,这可以通过图1-1来说明。

  电子设计自动化技术及其发展 - Ryan - liyongfeng1111的博客 电子设计自动化技术及其发展 - Ryan - liyongfeng1111的博客

  图1-1 EDA技术实现目标

  图1-1中所标的另外一个EDA技术实现目标PCB,指的是印制电路板的布局布线设计及验证分析,由于不涉及芯片层面上的设计,故不拟展开。

  下面主要介绍FPGA/CPLD与ASIC。

  1.超大规模可编程逻辑器件

  FPGA(Field Programmable Gate Array)和CPLD(Complex Programmable Logic Device)是实现这一途径的主流器件,它们的特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市时间短,技术维护简单,工作可靠性好等。FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术以及对自动化设计与自动化实现最典型的诠释。由于FPGA和CPLD的开发工具、开发流程和使用方法与ASIC有类似之处,因此这类器件通常也被称为可编程专用IC,或可编程ASIC。

  2.半定制或全定制ASIC

  根据实现的工艺,基于EDA设计技术的半定制或全定制ASIC可统称为掩膜(MASK)ASIC,或直接称ASIC。

  ASIC大致分为门阵列ASIC、标准单元ASIC和全定制ASIC。

  门阵列ASIC

  门阵列芯片包括预定制相连的PMOS和NMOS晶体管行。设计中,用户可以借助EDA工具将原理图或硬件描述语言模型映射为相应门阵列晶体管配置,创建一个指定金属互连路径文件,从而完成门阵列ASIC开发。由于有掩膜的创建过程,门阵列有时也称掩膜可编程门阵列(MPGA)。但是 MPGA与FPGA完全不同,它不是用户可编程的,也不属于可编程逻辑范畴,而是实际的ASIC。MPGA出现在FPGA之前,FPGA技术则源自MPGA。现在,Altera的HardCopy、HardCopy II技术可以提供一种把FPGA的设计转化为结构化ASIC的途径。

  标准单元ASIC

  目前大部分ASIC是使用库中的不同大小的标准单元设计的,这类芯片一般称作基于单元的集成电路(Cell-based Integrated Circuits,CBIC)。在设计者一级,库包括不同复杂性的逻辑元件:SSI逻辑块、MSI逻辑块、数据通道模块、存储器、IP,以及系统级模块。库包含每个逻辑单元在硅片级的完整布局,使用者只需利用EDA软件工具与逻辑块描述打交道即可,完全不必关心电路布局的细节。标准单元布局中,所有扩散、接触点、过孔、多晶通道及金属通道都已完全确定。当该单元用于设计时,通过EDA软件产生的网表文件将单元布局块“粘贴”到芯片布局之上的单元行上。标准单元ASIC设计与FPGA设计开发的流程相近。

  全定制芯片

  全定制芯片中,在针对特定工艺建立的设计规则下,设计者对于电路的设计有完全的控制权,如线的间隔和晶体管大小的确定。该领域的一个例外是混合信号设计,使用通信电路的ASIC可以定制设计其模拟部分。

  3.混合ASIC

  混合ASIC(不是指数模混合ASIC)主要指既具有面向用户的FPGA可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元模块,如CPU、RAM、ROM、硬件加法器、乘法器、锁相环等。Xilinx、Atmel和Altera公司已经推出了这方面的器件,如Virtex-4系列、Excalibur(含ARM核)和Stratix II系列等。混合ASIC为SOC和SOPC(System On a Programmable Chip)的设计实现成为便捷的途径。

  1.3 硬件描述语言

  硬件描述语言HDL是EDA技术的重要组成部分,常见的HDL主要有VHDL、Verilog HDL、ABEL、AHDL、SystemVerilog和SystemC。

  其中VHDL、Verilog在现在EDA设计中使用最多,也拥有几乎所有的主流EDA工具的支持。而SystemVerilog和SystemC这两种HDL语言还处于完善过程中。VHDL是作为电子设计主流硬件的描述语言之一,本书将重点介绍它的编程方法和使用技术。

  1.3.1 硬件描述语言VHDL

  VHDL的英文全名是VHSIC(Very High Speed Integrated CircuitHardware Description Language),于1983年由美国国防部(DOD)发起创建,由IEEE(The Institute of Electrical and Electronics Engineers)进一步发展,并在1987年作为“IEEE标准1076”发布。从此,VHDL成为硬件描述语言的业界标准之一。自IEEE公布了VHDL的标准版本(IEEE Std 1076)之后,各EDA公司相继推出了自己的VHDL设计环境,或宣布自己的设计工具支持VHDL。此后VHDL在电子设计领域得到了广泛应用,并逐步取代了原有的非标准硬件描述语言。

  VHDL作为一个规范语言和建模语言,随着它的标准化,出现了一些支持该语言的行为仿真器。由于创建VHDL的最初目标是用于标准文档的建立和电路功能模拟,其基本想法是在高层次上描述系统和元件的行为。但到了20世纪90年代初,人们发现,VHDL不仅可以作为系统模拟的建模工具,而且可以作为电路系统的设计工具;可以利用软件工具将VHDL源码自动地转化为文本方式表达的基本逻辑元件连接图,即网表文件。这种方法显然对于电路自动设计是一个极大的推进。很快,电子设计领域出现了第一个软件设计工具,即VHDL逻辑综合器,它可以标准地将VHDL的部分语句描述转化为具体电路实现的网表文件。

  1993年,IEEE对VHDL进行了修订,从更高的抽象层次和系统描述能力上扩展了VHDL的内容,公布了新版本的VHDL,即IEEE标准的1076-1993版本。现在,VHDL和Verilog作为IEEE的工业标准硬件描述语言,得到众多EDA公司的支持,在电子工程领域,已成为事实上的通用硬件描述语言。现在公布的最新VHDL标准版本是IEEE 1076-2002。

  VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。

  VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。因此,VHDL在支持各种模式的设计方法、自顶向下与自底向上或混合方法方面,在面对当今许多电子产品生命周期的缩短,需要多次重新设计以融入最新技术,改变工艺等方面都表现了良好的适应性。用VHDL进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。

  1.3.2 硬件描述语言的综合

  综合(Synthesis),就其字面含义应该为:把抽象的实体结合成单个或统一的实体。因此,综合就是把某些东西结合到一起,把设计抽象层次中的一种表述转化成另一种表述的过程。对于电子设计领域的综合概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。

  事实上,设计过程中的每一步都可称为一个综合环节。设计过程通常从高层次的行为描述开始,以最低层的结构描述结束,每个综合步骤都是上一层次的转换。

  ● 从自然语言表述转换到VHDL语言算法表述,是自然语言综合。

  ● 从算法表述转换到寄存器传输级(Register Transfer Level,RTL)表述,即从行为域到结构域的综合,是行为综合。

  ● 从RTL级表述转换到逻辑门(包括触发器)的表述,即逻辑综合。

  ● 从逻辑门表述转换到版图表述(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。

  有了版图信息就可以把芯片生产出来了。有了对应的配置文件,就可以使对应的FPGA变成具有专门功能的电路器件。显然,综合器就是能够自动将一种设计表示形式向另一种设计表示形式转换的计算机程序,或协助进行手工转换的程序。它可以将高层次的表述转化为低层次的表述,可以从行为域转化为结构域,可以将高一级抽象的电路表述(如算法级)转化为低一级的表述(如门级),并可以用某种特定的硬件技术实现(如CMOS)。

  对设计者而言,在高抽象层次进行系统设计,再利用综合工具将设计转化为低层次的表示,与直接在低抽象层次来设计系统的情况相比,类似于一个程序员用高级语言编程并用编译器将程序编译成机器代码和直接用机器代码进行编程时的情况。前一种情况在于设计者可以将精力主要集中于系统级问题上,而由于不必关心低级层次的设计所面临的细节问题,在高抽象层次上进行设计和编程将花费较少的时间和精力,并且减少错误的发生。

  另一方面,尽管(如图1-2所示)从表面上看,VHDL等硬件描述语言综合器和软件程序编译器都不过是一种“翻译器”,它们都能将高层次的设计表达转化为低层次的表达,但它们却具有许多本质的区别。

  编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。如果脱离了已有的硬件环境(CPU),机器代码将失去意义。此外,编译器作为一种软件的运行,除了某种单一目标器件,即CPU的硬件结构外,不需要任何与硬件相关的器件库和工艺库参与编译。因而,编译器的工作单纯得多,编译过程基本属于一种一一对应式的“翻译”行为。