欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    电子设计自动化技术(DOC 27).docx

    • 资源ID:1673973       资源大小:1.44MB        全文页数:32页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子设计自动化技术(DOC 27).docx

    电子设计自动化技术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来说明。图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 硬件描述语言VHDLVHDL的英文全名是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的硬件结构外,不需要任何与硬件相关的器件库和工艺库参与编译。因而,编译器的工作单纯得多,编译过程基本属于一种一一对应式的“翻译”行为。综合器则不同,同样是类似的软件代码(如VHDL程序),综合器转化的目标是底层的电路结构网表文件,这种满足原设计程序功能描述的电路结构不依赖于任何特定硬件环境,因此可以独立地存在,并能轻易地被移植到任何通用硬件环境中,如ASIC、FPGA等。换言之,电路网表代表了特定的硬件结构,因此具备了随时改变硬件结构的依据。综合的结果具有相对独立性。另一方面,综合器在将硬件描述语言表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的形成。这就是说,对于相同的VHDL表述,综合器可以用不同的电路结构实现相同的功能。如图1-3所示,与编译器相比,综合器具有更复杂的工作环境,综合器在接受VHDL程序并准备对其综合前,必须获得最终实现设计电路硬件特征相关的工艺库的信息,以及获得优化综合的诸多约束条件。一般地,约束条件可以分为3种,即设计规则、时间约束、面积约束。通常,时间约束的优先级高于面积约束。设计优化要求,当综合器把VHDL源码翻译成通用原理图时,将识别状态机、加法器、乘法器、多路选择器和寄存器等。这些运算功能根据VHDL源码中的符号,如加减乘除。每种运算都可用多种方法实现,如加法可实现方案有多种,有的面积小,速度慢;有的速度快,面积大。VHDL行为描述强调的是电路的行为和功能,而不是电路如何实现。选择电路的实现方案正是综合器的任务。综合器选择一种能充分满足各项约束条件且成本最低的实现方案。现在的许多综合器还允许设计者指定在做映像优化时综合器应付出多大“努力”;“努力”一般可分为低、中、高三档。图1-2 编译器和综合功能比较 图1-3 VHDL综合器运行流程需要注意的是,VHDL(和Verilog)方面的IEEE标准主要指的是文档的表述、行为建模及其仿真,至于在电子线路的设计方面,VHDL(和Verilog)并没有得到全面的支持和标准化。这就是说,VHDL综合器并不能支持标准VHDL的全集(全部语句程序),而只能支持其子集,即部分语句,并且不同的VHDL综合器所支持的VHDL子集也不完全相同。这样一来,对于相同VHDL源代码,不同的VHDL综合器可能综合出在结构和功能上并不完全相同的电路系统。对此,设计者应给予充分的注意。因此,对于不同的综合结果,不应对综合器的特性贸然作出评价,同时在设计过程中,必须尽可能全面了解所使用的综合工具的基本特性。1.3.3 自顶向下设计方法传统的电子设计流程通常是自底向上的,即首先确定构成系统的最底层的电路模块或组件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求。以此流程,逐步向上递推,直至完成整个目标系统的设计。例如,对于一般电子系统的设计,使用自底向上的设计方法,必须首先决定使用的器件类别和规格,如74系列的器件、某种RAM和ROM、某类CPU或单片机以及某些专用功能芯片等;然后是构成多个功能模块,如数据采集控制模块、信号处理模块、数据交换和接口模块等,直至最后利用它们完成整个系统的设计。对于ASIC设计,则是根据系统的功能要求,首先从绘制硅片版图开始,逐级向上完成版图级、门级、RTL级、行为级、功能级,直至系统级的设计。在这个过程中,任何一级发生问题,通常都不得不返工重来。自底向上的设计方法的特点是必须首先关注并致力于解决系统最底层硬件的可获得性,以及它们的功能特性方面的诸多细节问题;在整个逐级设计和测试过程中,始终必须顾及具体目标器件的技术细节。在这个设计过程中的任一时刻,最底层目标器件的更换,或某些技术参数不满足总体要求,或缺货,或由于市场竞争的变化,临时提出降低系统成本,提高运行速度等不可预测的外部因素,都将可能使前面的工作前功尽弃。由此可见,在某些情况下,自底向上的设计方法是一种低效、低可靠性、费时费力,且成本高昂的设计方法。在电子设计领域,自顶向下设计方法只有在EDA技术得到快速发展和成熟应用的今天才成为可能。自顶向下设计方法的有效应用必须基于功能强大的EDA工具、具备集系统描述、行为描述和结构描述功能为一体的VHDL硬件描述语言,以及先进的ASIC制造工艺和FPGA开发技术。当今,自顶向下的设计方法已经是EDA技术的首选设计方法,是ASIC或FPGA开发的主要设计手段。在EDA技术应用中,自顶向下的设计方法就是在整个设计流程中各设计环节逐步求精的过程。一个项目的设计过程包括从自然语言说明到VHDL的系统行为描述、系统的分解、RTL模型的建立、门级模型产生,到最终的可以物理布线实现的底层电路,就是从高抽象级别到低抽象级别的整个设计周期。后端设计还必须包括涉及硬件的物理结构实现方法和测试(仍然利用计算机完成)。应用VHDL进行自顶向下的设计,就是使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。主系统及子系统最初的功能要求在VHDL里体现为可以被VHDL仿真程序验证的可执行程序。由于综合工具可以将高级别的模型转化为门级模型,所以整个设计过程基本是由计算机自动完成的。人为介入的方式主要是根据仿真的结果和优化的指标来控制逻辑综合的方式和指向。因此,在设计周期中,要根据仿真的结果进行优化和升级,以及对模型及时的修改,以改进系统或子系统的功能,更正设计错误,提高目标系统的工作速度,减小面积耗用,降低功耗和成本等。或者启用新技术器件或新的IP核。在这些过程中,由于设计的下一步是基于当前的设计,即使发现问题或作新的修改而需从头开始设计,也不妨碍整体的设计效率。此外,VHDL优秀的可移植性、EDA平台的通用性以及与具体硬件结构的无关性,使得前期的设计可以容易地应用于新的设计项目,则项目设计的周期可以显着缩短。因此,EDA设计方法里十分强调将前一个VHDL模型重用的方法。此外随着设计层次的降低,在低级别上使用高级别的测试包来测试模型也很重要并有效。自顶而下的设计方法能使系统被分解为各个模块的集合之后,可以对设计的每个独立模块指派不同的工作小组。这些小组可以工作在不同地点,甚至可以分属不同的单位,最后将不同的模块集成为最终的系统模型,并对其进行综合测试和评估。1.3.4 EDA技术设计流程图1-4给出了自顶向下设计流程的框图说明,它包括以下设计阶段:(1)提出设计说明书,即用自然语言表达系统项目的功能特点和技术参数等。(2)建立VHDL行为模型,这一步是将设计说明书转化为VHDL行为模型。在这一项目的表达中,可以使用满足IEEE标准的VHDL的所有语句而不必考虑可综合性。这一建模行为的目标是通过VHDL仿真器对整个系统进行系统行为仿真和性能评估。在行为模型的建立过程中,如果最终的系统中包括目标ASIC或FPGA以外的电路器件,如RAM、ROM、接口器件或某种单片机,也同样能建立一个完整统一的系统行为模型而进行整体仿真。这是因为可以根据这些外部器件的功能特性设计出VHDL的仿真模型,然后将它们并入主系统的VHDL模型中。事实上,现在有许多公司可提供各类流行器件的VHDL模型,如8051单片机模型、PIC16C5X模型、80386模型等。利用这些模型可以将整个电路系统组装起来。有的VHDL模型既可用来仿真,也可作为实际电路的一部分。例如,现有的PCI总线模型大多是既可仿真又可综合的。(3)VHDL行为仿真。这一阶段可以利用VHDL仿真器(如ModelSim)对顶层系统的行为模型进行仿真测试,检查模拟结果,继而进行修改和完善。这一过程与最终实现的硬件没有任何关系,也不考虑硬件实现中的技术细节,测试结果主要是对系统纯功能行为的考察,其中许多VHDL的语句表达主要为了方便了解系统在各种条件下的功能特性,而不可能用真实的硬件来实现。(4)VHDL-RTL级建模。如上所述,VHDL只有部分语句集合可用于硬件功能行为的建模,因此在这一阶段,必须将VHDL的行为模型表达为VHDL行为代码(或称VHDL-RTL级模型)。这里应该注意的是,VHDL行为代码是用VHDL中可综合子集中的语句完成的,即可以最终实现目标器件的描述。因为利用VHDL的可综合的语句同样可以对电路方便地进行行为描述,而目前许多主流的VHDL综合器都能将其综合成RTL级,乃至门级模型。从第3步到第4步,人工介入的内容比较多,设计者需要给予更多的关注。(5)前端功能仿真。在这一阶段对VHDL-RTL级模型进行仿真,称为功能仿真。尽管VHDL-RTL级模型是可综合的,但对它的功能仿真仍然与硬件无关,仿真结果表达的是可综合模型的逻辑功能。(6)逻辑综合。使用逻辑综合工具将VHDL行为级描述转化为结构化的门级电路。在ASIC设计中,门级电路可以由ASIC库中的基本单元组成。(7)测试向量生成。这一阶段主要是针对ASIC设计的。FPGA设计的时序测试文件主要产生于适配器。对ASIC的测试向量文件是综合器结合含有版图硬件特性的工艺库后产生的,用于对ASIC的功能测试。(8)功能仿真。利用获得的测试向量对ASIC的设计系统和子系统的功能进行仿真。(9)结构综合。主要将综合产生的表达逻辑连接关系的网表文件,结合具体的目标硬件环境进行标准单元调用、布局、布线和满足约束条件的结构优化配置,即结构综合。(10)门级时序仿真。在这一级中将使用门级仿真器或仍然使用VHDL仿真器(因为结构综合后能同步生成VHDL格式的时序仿真文件)进行门级时序仿真,在计算机上了解更接近硬件目标器件工作的功能时序。对于ASIC设计,被称为布局后仿真。在这一步,将带有从布局布线得到的精确时序信息映射到门级电路重新进行仿真,以检查电路时序,并对电路功能进行最后检查。这些仿真的成功完成称为ASIC sign off。接下去的工作就可以将设计提供给硅铸造生产工序了。(11)硬件测试。这是对最后完成的硬件系统(如ASIC或FPGA)进行检查和测试。与其它的硬件描述语言相比,VHDL具有较强的行为仿真级与综合级的建模功能,这种能远离具体硬件,基于行为描述方式的硬件描述语言恰好满足典型的自顶向下设计方法,因而能顺应EDA技术发展的趋势,解决现代电子设计应用中出现的各类问题。图1-4 自顶向下的设计流程1.4 EDA技术的优势在传统的数字电子系统或IC设计中,手工设计占了较大的比例。一般先按电子系统的具体功能要求进行功能划分,然后对每个子模块画出真值表,用卡诺图进行手工逻辑简化,写出布尔表达式,画出相应的逻辑线路图,再据此选择元器件,设计电路板,最后进行实测与调试。手工设计方法主要有以下缺点。 复杂电路的设计、调试十分困难。 由于无法进行硬件系统功能仿真,如果某一过程存在错误,查找和修改十分不便。 设计过程中产生大量文档,不易管理。 对于IC设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。 只有在设计出样机或生产出芯片后才能进行实测。相比之下,EDA技术有很大不同:(1)用HDL对数字电子系统进行抽象的行为与功能描述到具体的内部线路结构描述,从而可以在电子设计的各个阶段、各个层次进行计算机模拟验证,保证设计过程的正确性,可以大大降低设计成本,缩短设计周期。(2)EDA工具之所以能够完成各种自动设计过程,关键是有各类库的支持,如逻辑仿真时的模拟库、逻辑综合时的综合库、版图综合时的版图库、测试综合时的测试库等。这些库都是EDA公司与半导体生产厂商紧密合作、共同开发的。(3)某些HDL语言也是文档型的语言(如VHDL),极大地简化设计文档的管理。(4)EDA技术中最为瞩目的功能,即最具现代电子设计技术特征的功能是日益强大的逻辑设计仿真测试技术。EDA仿真测试技术只需通过计算机就能对所设计的电子系统从各种不同层次的系统性能特点完成一系列准确的测试与仿真操作,在完成实际系统的安装后,还能对系统上的目标器件进行所谓边界扫描测试,嵌入式逻辑分析仪的应用。这一切都极大地提高了大规模系统电子设计的自动化程度。(5)无论传统的应用电子系统设计得如何完美,使用了多么先进的功能器件,都掩盖不了一个无情的事实,即该系统对于设计者来说,没有任何自主知识产权可言,因为系统中的关键性的器件往往并非出自设计者之手,这将导致该系统在许多情况下的应用直接受到限制。基于EDA技术的设计则不同,由于用HDL表达的成功的专用功能设计在实现目标方面有很大的可选性,它既可以用不同来源的通用FPGA/CPLD实现,也可以直接以ASIC来实现,设计者拥有完全的自主权,再无受制于人之虞。(6)传统的电子设计方法自今没有任何标准规范加以约束,因此,设计效率低,系统性能差,开发成本高,市场竞争能力小。EDA技术的设计语言是标准化的,不会由于设计对象的不同而改变;它的开发工具是规范化的,EDA软件平台支持任何标准化的设计语言;它的设计成果是通用性的,IP核具有规范的接口协议。良好的可移植与可测试性,为系统开发提供了可靠的保证。(7)从电子设计方法学来看,EDA技术最大的优势就是能将所有设计环节纳入统一的自顶向下的设计方案中。(8)EDA不但在整个设计流程上充分利用计算机的自动设计能力,在各个设计层次上利用计算机完成不同内容的仿真模拟,而且在系统板设计结束后仍可利用计算机对硬件系统进行完整的测试。对于传统的设计方法,如单片机仿真器的使用仅仅只能在最后完成的系统上进行局部的软件仿真调试,在整个设计的中间过程是无能为力的。至于硬件系统测试,由于现在的许多系统主板不但层数多,而且许多器件都是BGA(Ball-Grid Array)封装,所有引脚都在芯片的底面,焊接后普通的仪器仪表无法接触到所需要的信号点,因此无法测试。1.5 面向FPGA的EDA开发流程完整地了解利用EDA技术进行设计开发的流程对于正确地选择和使用EDA软件,优化设计项目,提高设计效率十分有益。一个完整的、典型的EDA设计流程既是自顶向下设计方法的具体实施途径,也是EDA工具软件本身的组成结构。1.5.1 设计输入图1-5所示是基于EDA软件的FPGA开发流程框图,以下将分别介绍各设计模块的功能特点。对于目前流行的用于FPGA开发的EDA软件,图1-5所示的设计流程具有一般性。图1-5 FPGA的EDA开发流程将电路系统以一定的表达方式输入计算机,是在EDA软件平台上对FPGA/CPLD开发的最初步骤。通常,使用EDA工具的设计输入可分为两种类型。1图形输入图形输入通常包括原理图输入、状态图输入和波形图输入等方法。状态图输入方法就是根据电路的控制条件和不同的转换方式,用绘图的方法,在EDA工具的状态图编辑器上绘出状态图,然后由EDA编译器和综合器将此状态变化流程图形编译综合成电路网表。波形图输入方法则是将待设计的电路看成是一个黑盒子,只需告诉EDA工具该黑盒子电路的输入和输出时序波形图,EDA工具即能据此完成黑盒子电路的设计。原理图输入方法是一种类似于传统电子设计方法的原理图编辑输入方式,即在EDA软件的图形编辑界面上绘制能完成特定功能的电路原理图。原理图由逻辑器件(符号)和连接线构成,图中的逻辑器件可以是EDA软件库中预制的功能模块,如与门、非门、或门、触发器以及各种含74系列器件功能的宏功能块,甚至还有一些类似于IP的功能块。用原理图表达的输入方法的优点是显而易见的,如设计者进行电子线路设计不需要增加新的诸如HDL等的相关知识;设计过程形象直观,适用于初学或教学演示;对于较小的电路模型,其结构与实际电路十分接近,设计者易于把握电路全局;由于设计方式接近于底层电路布局,因此易于控制逻辑资源的耗用,节省面积。然而,使用原理图输入的设计方法的缺点同样是十分明显的,如由于图形设计方式并没有得到标准化,不同的EDA软件中的图形处理工具对图形的设计规则、存档格式和图形编译方式都不同,因此图形文件兼容性差,难以交换和管理;随着电路设计规模的扩大,原理图输入描述方式必然引起一系列难以克服的困难,如电路功能原理的易读性下降,错误排查困难,整体调整和结构升级困难。例如,将一个4位的单片机设计升级为8位单片机几乎难以在短期内准确无误地实现;由于图形文件的不兼容性,性能优秀的电路模块移植和再利用十分困难;由于在原理图中已确定了设计系统的基本电路结构和组件,留给综合器和适配器的优化选择的空间已十分有限,因此难以实现用户所希望的面积、速度以及不同风格的综合优化,显然,原理图的设计方法明显偏离了电子设计自动化最本质的涵义;在设计中,由于必须直接面对硬件模块的选用,因此行为模型的建立将无从谈起,从而无法实现真实意义上的自顶向下的设计方案。2硬件描述语言文本输入这种方式与传统的计算机软件语言编辑输入基本一致,就是将使用了某种硬件描述语言(HDL)的电路设计文本,如VHDL或Verilog的源程序,进行编辑输入。可以说,应用HDL的文本输入方法克服了上述原理图输入法存在的所有弊端,为EDA技术的应用和发展打开了一个广阔的天地。1.5.2 HDL综合一般地,综合是仅对应于HDL而言的。利用HDL综合器对设计进行综合是十分重要的一步,因为综合过程将把软件设计的HDL描述与硬件结构挂钩,是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。综合就是将电路的高级语言(如行为描述)转换成低级的,可与FPGACPLD的基本结构相映射的网表文件或程序。当输入的HDL文件在EDA工具中检测无误后,首先面临的是逻辑综合,因此要求HDL源文件中的语句都是可综合的。在综合之后,HDL综合器一般都可以生成一种或多种文件格式网表文件,如有EDIF、VHDL、Verilog等标准格式,在这种网表文件中用各自的格式描述电路的结构。如在VHDL网表文件采用VHDL的语法,用结构描述的风格重新诠释综合后的电路结构。整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应的映射关系。如果把综合理解为映射过程,那么显然这种映射不是惟一的,并且综合的优化也不是单纯的或一个方向的。为达到速度、面积、性能的要求,往往需要对综合加以约束,称为综合约束。1.5.3 布线布局(适配)适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的文件。适配所选定的目标器件(FPGA/CPLD芯片)必须属于原综合器指定的目标器件系列。通常,EDA软件中的综合器可由专业的第三方EDA公司提供,而适配器则需由FPGA/CPLD供应商提供。因为适配器的适配对象直

    注意事项

    本文(电子设计自动化技术(DOC 27).docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开