EDA技术及发展EDA设计流程硬件描述语言可编程课件.ppt
,第一章(第1讲) EDA概述,2010-2-1,EDA技术与DE2实践,1,第一章(第1讲) 2010-2-1EDA技术与DE2实践1,1.1 EDA技术及发展,20世纪末,数字电子技术的飞速发展,有力地推动了社会生产力的发展和社会信息化的提高。在其推动下,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用了数字电子技术。,2010-2-1,EDA技术与DE2实践,2,1.1 EDA技术及发展 20世纪末,,微电子技术,即大规模集成电路加工技术的进步是现代数字电子技术发展的基础。目前,在硅片的单位面积上集成的晶体管数量越来越多,1978年推出的8086微处理器芯片集成的晶体管数是4万只,到2000年推出的Pentium4微处理器芯片的集成度上升到4200万只晶体管,2005年生产可编程逻辑器件(PLD)的集成度达到5亿只晶体管,包含的逻辑元件(Logic Elements,LEs)有18万个,2008年生产的PLD中的LEs达到68万个, 2009年生产的PLD中的LEs达到180万个。原来需要成千上万只电子元器件组成的计算机主板或彩色电视机电路,现在仅用一片或几片超大规模集成电路就可以代替,现代集成电路已经能够实现单片电子系统SOC(System On a Chip)的功能。,2010-2-1,EDA技术与DE2实践,3,微电子技术,即大规模集成电路加工技术,In the future, very few electronic equipment can exist without programmable logic. Programmability is the future of electronic system design. Fixed function SOCs (System-on-a-Chips) will become less and less practical. The high development cost, long development time and lack of flexibility often render SOCs to be obsolete soon after they come out of initial production.,在将来,几乎没有电子设备不用可编程逻辑而还能够存在。可编程性是电子系统设计的前景。固定功能的片上系统SOCs开发成本高、周期长及缺乏灵活性常常使得它们刚一形成初始产品就过时了,其应用将越来越少。,2010-2-1,EDA技术与DE2实践,4,In the future, very,Altera pioneered SOPC by putting the “P” in “SOC”. P=Programmability=Flexibility. Nios , Alteras popular soft core RISC CPU, is at the heart of SOPC design. Alteras DSP Builder can design the high speed subsystem for Nios. Its characteristic is module feature design.,Altera将“P” 植入于“SOC”之中而首创了SOPC,这里P=可编程性=灵活性。Altera公司廉价而通俗的RISC( Reduced Instruction Set Computer,精简指令集计算机)CPU软核Nios 是SOPC(System-on-a -Programmable Chip,单芯片片上可编程系统)设计的核心。Altera DSP Builder 可以为Nios设计高速子系统,而模块化设计是其特点。,2010-2-1,EDA技术与DE2实践,5,Altera pioneered SOP,现代电子设计技术的核心是EDA(Electronic Design Automation)技术。EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化、仿真,直至下载到可编程逻辑器件CPLDFPGA或专用集成电路ASIC(Application Specific Integrated Circuit)芯片中,实现既定的电子电路设计功能。EDA技术使得电子电路设计者的工作仅限于利用硬件描述语言和EDA软件平台来完成对系统硬件功能的实现,极大地提高了设计效率,缩短了设计周期,节省了设计成本。,2010-2-1,EDA技术与DE2实践,6,现代电子设计技术的核心是EDA(Ele,EDA是在20世纪90年代初从计算机辅助设计(CAD :Computer Aided Design)、计算机辅助制造(CAM: Computer Aided Manufacture )、计算机辅助测试(CAT: Computer Aided Test)和计算机辅助工程(CAE: Computer Aided Engineering )的概念发展而来的。一般把EDA技术的发展分为CAD、CAE和ESDA (Electronic System Design Automation)这三个阶段。,2010-2-1,EDA技术与DE2实践,7,EDA是在20世纪90年代初从计算机辅,20世纪70年代的CAD阶段,CAD(Computer Aided Design,计算机辅助设计)是EDA技术发展的早期阶段,在这个阶段,人们开始利用计算机取代手工劳动。但当时的计算机硬件功能有限,软件功能较弱,人们主要借助计算机对所设计的电路进行一些模拟和预测,辅助进行集成电路版图编辑、印制电路板(Printed Circuit Board,PCB)布局布线等简单的版图绘制工作。,2010-2-1,EDA技术与DE2实践,8,20世纪70年代的CAD阶段 CAD(C,20世纪80年代的CAE阶段,CAE(Computer Aided Engineering,计算机辅助工程)是在CAD的工具逐步完善的基础上发展起来的,尤其是人们在设计方法学、设计工具集成化方面取得了长足的进步,可以利用计算机作为单点设计工具,并建立各种设计单元库,开始用计算机将许多单点工具集成在一起使用,大大提高了工作效率。,2010-2-1,EDA技术与DE2实践,9,20世纪80年代的CAE阶段 CAE(C,20世纪90年代的ESDA阶段,电子系统设计自动化(ESDA, Electronic System Design Automation)阶段。随着 微电子技术的发展,速度更快、容量更大、功能更强的PLD的不断推出,对数字电子系统 的设计提出了更高的要求。出现了以利用硬件描述语言、系统仿真和综合技术为特征的 第三代EDA技术。其特点是在功能强大的EDA工具(包括系统行为级描述与结构级综 合、系统仿真与测试验证、系统划分与指标分配、系统决策与文件生成等一整套设计工具) 软件平台上,以系统级设计为核心,使用硬件描述语言进行系统设计,自动进行逻辑编译、 仿真、优化、综合、布线、测试等工作,完成系统设计功能的硬件实现。使得设计者从繁杂 的工作中解放出来,把精力集中在系统方案的设计上,是一种高效率的现代设计方法。,2010-2-1,EDA技术与DE2实践,10,20世纪90年代的ESDA阶段 电子系,20世纪90年代以来,微电子工艺有了惊人的发展,2006年工艺水平已经达到了60nm,2008年Altera公司的FPGA工艺水平已经达到了40nm。在一个芯片上已经可以集成上百万只乃至数十亿只晶体管,芯片速度达到了8.5Gbs量级。大容量的可编程逻辑器件陆续面世,对电子设计的工具提出了更高的要求,提供了广阔的发展空间,促进了EDA技术的形成。特别重要的是,世界各EDA公司致力推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件,有效地将EDA技术推向成熟。,2010-2-1,EDA技术与DE2实践,11,20世纪90年代以来,微电子工艺有了惊,今天,EDA技术已经成为电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。EDA工具已经成为现代电路设计师的重要武器,正在发挥着越来越重要的作用。,2010-2-1,EDA技术与DE2实践,12,今天,EDA技术已经成为电子设计的重要,1.2 EDA设计流程,利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的,EDA设计流程如图1.1所示。EDA设计流程包括设计准备、设计输入、设计处理和器件编程4个步骤,以及相应的功能仿真、时序仿真和器件测试3个设计验证过程。,2010-2-1,EDA技术与DE2实践,13,1.2 EDA设计流程 利用EDA技术,图1.1 EDA设计流程,2010-2-1,EDA技术与DE2实践,14,设计准备,图1.1 EDA设计流程 2010-2-1EDA技术与DE,1.2.1 设计准备,设计准备是设计者在进行设计之前,依据任务要求,确定系统所要完成的功能及复杂程度,器件资源的利用、成本等所要做的准备工作,如进行方案论证、系统设计和器件选择等。,2010-2-1,EDA技术与DE2实践,15,1.2.1 设计准备 设计准备是设,图1.1 EDA设计流程,2010-2-1,EDA技术与DE2实践,16,设计准备,设计输入,图1.1 EDA设计流程 2010-2-1EDA技术与DE,1.2.2 设计输入,设计输入是将设计的电路或系统按照EDA开发软件要求的某种形式表示出来,并送入计算机的过程。设计输入有多种方式,包括采用硬件描述语言(如VHDL (Very High Speed Integrated Circuit Hardware Description Language)和Verilog HDL)进行设计的文本输入方式、图形输入方式和波形输入方式,或者采用文本、图形两者混合的设计输入方式。也可以采用自顶向下(Top-Down)的层次结构设计方法,将多个输入文件合并成一个设计文件等。,2010-2-1,EDA技术与DE2实践,17,1.2.2 设计输入 设计输入是将设,1. 图形输入方式 图形输入也称为原理图输入,这是一种最直接的设计输入方式。它使用软件系统提供的元器件库及各种符号和连线画出设计电路的原理图,形成图形输入文件。这种方式大多用在对系统及各部分电路很熟悉的情况,或在系统对时间特性要求较高的场合。优点是容易实现仿真,便于信号的观察和电路的调整。,2010-2-1,EDA技术与DE2实践,18,1. 图形输入方式 2010-2-1EDA技术与DE2实践,2. 文本输入方式 文本输入是采用硬件描述语言进行电路设计的方式。硬件描述语言有普通硬件描述语言和行为描述语言,它们用文本方式描述设计和输入。普通硬件描述语言有AHDL、CUPL等,它们支持逻辑方程、真值表、状态机等逻辑表达方式。,2010-2-1,EDA技术与DE2实践,19,2. 文本输入方式2010-2-1EDA技术与DE2实践19,行为描述语言是目前常用的高层硬件描述语言,有VHDL、Verilog HDL等,它们具有很强的逻辑描述和仿真功能,可实现与工艺无关的编程与设计,可以使设计者在系统设计、逻辑验证阶段就确立方案的可行性,而且输入效率高,在不同的设计输入库之间转换也非常方便。运用VHDL或Verilog HDL硬件描述语言进行设计已是当前的趋势。,2010-2-1,EDA技术与DE2实践,20,行为描述语言是目前常用的高层硬件描述语,3. 波形输入方式 波形输入主要用于建立和编辑波形设计文件及输入仿真向量和功能测试向量。波形设计输入适合用于时序逻辑和有重复性的逻辑函数,系统软件可以根据用户定义的输入输出波形自动生成逻辑关系。 波形编辑功能还允许设计者对波形进行复制、剪切、粘贴、重复与伸展,从而可以用内部节点、触发器和状态机建立设计文件,并将波形进行组合,显示各种进制的状态值。还可以通过将一组波形重叠到另一组波形上,对两组仿真结果进行比较。,2010-2-1,EDA技术与DE2实践,21,3. 波形输入方式2010-2-1EDA技术与DE2实践21,图1.1 EDA设计流程,2010-2-1,EDA技术与DE2实践,22,设计准备,设计输入,设计处理,图1.1 EDA设计流程 2010-2-1EDA技术与DE,1.2.3 设计处理,设计处理是EDA设计中的核心环节。在设计处理阶段,编译软件对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理主要包括设计编译和检查、设计优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。,2010-2-1,EDA技术与DE2实践,23,1.2.3 设计处理 设计处理是ED,1. 设计编译和检查 设计输入完成之后,立即进行编译。在编译过程中,首先进行语法检验,如检查原理图的信号线有无漏接、信号有无双重来源、文本输入文件中关键词有无错误等各种语法错误,并及时标出错误的类型及位置,供设计者修改。然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制并将编译报告列出,指明违反规则和潜在不可靠电路的情况以供设计者纠正。,2010-2-1,EDA技术与DE2实践,24,1. 设计编译和检查2010-2-1EDA技术与DE2实践,2. 设计优化和综合 设计优化主要包括面积优化和速度优化。面积优化的结果使得设计所占用的逻辑资源(门数或逻辑元件数)最少:时间优化的结果使得输入信号经历最短的路径到达输出,即传输延迟时间最短。综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化(即展平)。,2010-2-1,EDA技术与DE2实践,25,2. 设计优化和综合2010-2-1EDA技术与DE2,3. 适配和分割 在适配和分割过程,确定优化以后的逻辑能否与下载目标器件CPLD或FPGA中的宏单元和IO单元适配,然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计不能装入一片器件时,可以将整个设计自动分割成多块并装入同一系列的多片器件中去。 分割工作可以全部自动实现,也可以部分由用户控制,还可以全部由用户控制。分割时应使所需器件数目和用于器件之间通信的引脚数目尽可能少。,2010-2-1,EDA技术与DE2实践,26,3. 适配和分割2010-2-1EDA技术与DE2实践,4. 布局和布线 布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件布局,并准确地实现元件间的布线互连。布局和布线完成后,软件会自动生成布线报告,提供有关设计中各部分资源的使用情况等信息。,2010-2-1,EDA技术与DE2实践,27,4. 布局和布线2010-2-1EDA技术与DE2实践,5. 生成编程数据文件 设计处理的最后步是产生可供器件编程使用的数据文件。对CPLD ( Complex Programmable Logic Device,复杂可编程逻辑器件)来说,是产生熔丝图文件,即JEDEC(电子器件工程联合会制定的标准格式,简称JED文件)文件:对于FPGA(Field Programmable Gates Array,现场可编程门阵列)来说,是生成位流数据文件(Bit-stream Generation,简称BG文件)。,2010-2-1,EDA技术与DE2实践,28,5. 生成编程数据文件2010-2-1EDA技术与DE,图1.1 EDA设计流程,2010-2-1,EDA技术与DE2实践,29,设计准备,设计输入,设计处理,设计校验(前仿真),设计校验后仿真或延时仿真,图1.1 EDA设计流程 2010-2-1EDA技术与DE,1.2.4 设计校验,设计校验过程包括功能仿真和时序仿真,这两项工作是在设计处理过程中同时进行的。功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。此时的仿真没有延时信息或者只有由系统添加的微小标准延时,这对于初步的功能检测非常方便。仿真前,要先利用波形编辑器或硬件描述语言等建立波形文件或测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。若发现错误,则返回设计输入中修改逻辑设计。,2010-2-1,EDA技术与DE2实践,30,1.2.4 设计校验 设计校验过程,时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局、布线方案也会给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设汁的性能及检查和消除竞争冒险等,是非常有必要的。,2010-2-1,EDA技术与DE2实践,31,时序仿真是在选择了具体器件并完成布局、布,图1.1 EDA设计流程,2010-2-1,EDA技术与DE2实践,32,设计准备,设计输入,设计处理,器件编程,图1.1 EDA设计流程 2010-2-1EDA技术与DE,1.2.5 器件编程,器件编程是指将设计处理中产生的编程数据文件通过软件放到具体的可编程逻辑器件中去。对CPLD器件来说,是将JED文件下载(Down Load)到CPLD器件中去:对FPGA来说,是将位流数据BG文件配置到FPGA中去。 器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作。基于SRAM的FPGA可以由EPROM或其他存储体进行配置。在系统可编程器件(1SP-PLD)则不需要专门的编程器,只要一根与计算机互连的下载编程电缆就可以了。,2010-2-1,EDA技术与DE2实践,33,1.2.5 器件编程 器件编程是指,图1.1 EDA设计流程,2010-2-1,EDA技术与DE2实践,34,设计准备,设计输入,设计处理,器件编程,器件测试,图1.1 EDA设计流程 2010-2-1EDA技术与DE,1.2.6 器件测试和设计验证,器件在编程完毕之后,可以用编译时产生的文件对器件进行检验、加密等工作,或采用边界扫描测试技术进行功能测试,测试成功后才完成其设计。 设计验证可以在EDA硬件开发平台上进行。EDA硬件开发平台的核心部件是一片可编程逻辑器件FPGA或CPLD,再附加一些输入输出设备,如按键、数码显示器、指示灯、喇叭等,还提供时序电路需要的脉冲源。将设计电路编程下载到FPGA或CPLD中后,根据EDA硬件开发平台的操作模式要求,进行相应的输入操作,然后检查输出结果,验证设计电路。,2010-2-1,EDA技术与DE2实践,35,1.2.6 器件测试和设计验证 器件,1.3 硬件描述语言,硬件描述语言HDL是EDA技术中的重要组成部分,常用的硬件描述语言有AHDL、VHDL和Verilog HDL,而VHDL和Verilog HDL是当前最流行并己成为IEEE标准的硬件描述语言。,2010-2-1,EDA技术与DE2实践,36,1.3 硬件描述语言 硬件描述语言HDL是EDA技术中的,1.3.1 VHDL,VHDL是超高速集成电路硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language)的缩写,在美国国防部的支持下于1985年正式推出,是目前标准化程度最高的硬件描述语言。IEEE(The Institute Of Electrical and Electronics Engineers)于1987年将VHDL采纳为IEEEl076标准(VHDL l987版本),并于1993年升级为VHDL l993版本。 VHDL经过20多年的发展、应用和完善,以其强大的系统描述能力、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试于段,在电子设计领域受到了普遍的认同和广泛的接受,成为现代EDA领域的首选硬件描述语言。目前,流行的EDA工具软件全部支持VHDL,它在EDA领域的学术交流、电子设计的存档、专用集成电路(ASIC)设计等方面,担当着不可缺少的角色。专家认为,在21世纪,VHDL与Verilog HDL语言将承担起几乎全部的数字系统设计任务。显然,VHDL是现代电子设计师必须掌握的硬件设计计算机语言。,2010-2-1,EDA技术与DE2实践,37,1.3.1 VHDL VHDL是超高,概括起来,VHDL有以下几个特点:,(1)VHDL具有强大的功能,覆盖面广,描述能力强。VHDL支持门级电路的描述,也支持以寄存器、存储器、总线及运算单元等构成的寄存器传输级电路的描述,还支持以行为算法和结构的混合描述为对象的系统级电路的描述。,2010-2-1,EDA技术与DE2实践,38,概括起来,VHDL有以下几个特点: (1)V,(2)VHDL有良好的可读性。它可以被计算机接受,也容易被读者理解。用VHDL书写的源文件,既是程序又是文档,既可作为工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件。,2010-2-1,EDA技术与DE2实践,39,(2)VHDL有良好的可读性。它可以被计算机,(3)VHDL具有良好的可移植性。作为一种已被IEEE承认的工业标准,VHDL事实上已成为通用的硬件描述语言,可以在各种不同的设计环境和系统平台中使用。 (4)使用VHDL可以延长设计的生命周期。用VHDL描述的硬件电路与工艺无关,不会因工艺变化而使描述过时。与工艺有关的参数可以通过VHDL提供的属性加以描述,工艺改变时,只需要修改相应程序中的属性参数即可。,2010-2-1,EDA技术与DE2实践,40,(3)VHDL具有良好的可移植性。作为一种已,(5)VHDL支持对大规模设计的分解和已有设计的再利用。VHDL可以描述复杂的电路系统,支持对大规模设计的分解,由多人、多项目组来共同承担和完成。标准化的规则和风格,为设计的再利用提供了有力的支持。 (6)VHDL有利于保护知识产权。用VHDL设计的专用集成电路(ASIC),在设计文件下载到集成电路时可以采用一定的保密措施,使其不易被破译和窃取。,2010-2-1,EDA技术与DE2实践,41,(5)VHDL支持对大规模设计的分解和已有,1.3.2 Verilog HDL,Verilog HDL也是目前应用最为广泛的硬件描述语言,并被IEEE采纳为IEEE#1364-1995标准(Verilog-1995版本),并于2001年升级为Verilog-2001版本。Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真验证和时序分析。Verilog HDL适合算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)和版图级(Layout)等各个层次的电路设计和描述。,2010-2-1,EDA技术与DE2实践,42,1.3.2 Verilog HDL,采用Verilog HDL进行电路设计的最大优点是其与工艺无关性,这使得设计者在进行电路设计时可以不必过多考虑工艺实现的具体细节,只需要根据系统设计的要求施加不同的约束条件,即可设计出实际电路。实际上,利用计算机的强大功能,在EDA工具的支持下,把逻辑验证与具体工艺库相匹配,将布线及延迟计算分成不同的阶段来实现,可减少设计者的繁重劳动。,2010-2-1,EDA技术与DE2实践,43,采用Verilog HDL进行电路设计,Verilog HDL和VHDL都是用于电路设计的硬件描述语言,并且都已成为IEEE标准。Verilog HDL也具有与VHDL类似的特点,稍有不同的是,Verilog HDL早在1983年就已经推出,应用历史较长,拥有广泛的设计群体,设计资源比VHDL丰富。另外,Verilog HDL是在C语言的基础上演化而来的,因此只要具有C语言的编程基础,设计者就很容易学会并掌握这种语言。,2010-2-1,EDA技术与DE2实践,44,Verilog HDL和VHDL都是用,1.3.3 AHDL,AHDL(Altera Hardware Description Language)是Altera公司根据自己公司生产的MAX系列器件和FLEX系列器件的特点专门设计的一套完整的硬件描述语言。 AHDL是一种模块化的硬件描述语言,它完全集成于Altera公司的MAX+PLUSII和Quartus II的软件开发系统中。AHDL特别适合于描述复杂的组合电路、组(group)运算及状态机、真值表和参数化的逻辑。用户可以通过MAX+PLUSII的软件开发系统对AHDL源程序进行编辑,并通过对源文件的编译建立仿真、时域分析和器件编程的输出文件。,2010-2-1,EDA技术与DE2实践,45,1.3.3 AHDL AHDL(Alter,AHDL的语句和元素种类齐全、功能强大,而且易于应用。用户可以使用AHDL建立完整层次的工程设汁项目,或者在一个层次的设计中混合其他类型的设计文件,如VHDL设计文件或Verilog HDL设计文件。,2010-2-1,EDA技术与DE2实践,46,AHDL的语句和元素种类齐全、功能强大,1.4 可编程逻辑器件,可编程逻辑器件(Programmable Logic Device,PLD)是一种半定制集成电路,在其内部集成了大量的门和触发器等基本逻辑单元电路,用户通过编程来改变PLD内部电路的逻辑关系或连线,就可以得到所需要的设计电路。可编程逻辑器件的出现,改变了传统的数字系统设计方法,其设计方法为采用EDA技术开创了广阔的发展空间,并极大地提高了电路设计的效率。,2010-2-1,EDA技术与DE2实践,47,1.4 可编程逻辑器件 可编程逻辑器件,在PLD没有出现之前,数字系统的传统设计往往采用“积木”式的方法进行,实质上是对电路板进行设计,通过标准集成电路器件搭建成电路板来实现系统功能,即先由器件搭成电路板,再由电路板搭成系统。数字系统的“积木块”就是具有固定功能的标准集成电路器件,如TTL的7454系列、CMOS的40004500系列芯片和一些固定功能的大规模集成电路等。用户只能根据需要选择合适的集成电路器件,按照此种器件推荐的电路搭成系统并调试成功。设计中,设计者没有灵活性可言,搭成的系统需要的芯片种类多且数目大。,2010-2-1,EDA技术与DE2实践,48,在PLD没有出现之前,数字系统的传统设,PLD的出现,给数字系统的传统设计法带来了新的变革。采用PLD进行的数字系统设计,是基于芯片的设计或称为“自底向上”(Bottom-Up)的设计,与传统的积木式设计有本质上的不同。它可以直接通过设计PLD芯片来实现数字系统功能,将原来由电路板设计完成的大部分工作放在PLD芯片的设计中进行。这种新的设计方法能够由设计者根据实际情况和要求定义器件的内部逻辑关系和引脚,通过芯片设计实现多种数字系统功能。同时,由于引脚定义的灵活性,不但大大减轻了系统设计的工作量和难度,提高了工作效率,而且还可以减少芯片数量,缩小系统体积,降低能源消耗,提高系统的稳定性和可靠性。,2010-2-1,EDA技术与DE2实践,49,PLD的出现,给数字系统的传统设计法,1.5 常用EDA工具,EDA工具在EDA技术中占据极其重要的位置,EDA的核心是利用计算机完成电路设汁的全程自动化,因此,基于计算机环境的EDA工具软件的支持是必不可少的。 用EDA技术设计电路可以分为不同的技术环节,每一个环节中必须由对应的软件包或专用的EDA工具独立处理。EDA工具大致可以分为设计输入编辑器、仿真器、HDL综合器、适配器(或布局布线器)及下载器5个模块。,2010-2-1,EDA技术与DE2实践,50,1.5 常用EDA工具 EDA工具在,硬件描述语言(HDL)给PLD和数字系统的设计带来了新的设计方法和理念,产生了目前最常用且称为“自顶向下”(Top-Down)的设计法。自顶向下的设计采用功能分割的方法,从顶层设计开始,逐次向下将设计内容进行分块和细化。在设计过程中,采用层次化和模块化方式,将使系统设计变得简捷和方便。层次化设计是分层次、分模块地进行设计描述的。描述器件总功能的模块放在最上层,称为顶层设计:描述器件某一部分功能的模块放在下层,称为底层设计;底层模块还可以再向下分层,直至最后完成硬件电子系统电路的整体设计。,2010-2-1,EDA技术与DE2实践,51,硬件描述语言(HDL)给PLD和数字,1.5.1 设计输入编辑器,通常,专业的EDA工具供应商或各可编程逻辑器件厂商都提供EDA开发工具,在这些EDA开发工具中都含有设计输入编辑器,如Xilinx公司的Foundation、Altera公司的Quartus II和MAX+PLUSII等。,2010-2-1,EDA技术与DE2实践,52,1.5.1 设计输入编辑器 通常,,一般的设计输入编辑器都支持图形输入和HDL文本输入。图形输入通常包括原理图输入、状态图输入和波形图输入3种常用的方式。原理图输入方式沿用传统的数字系统设计方式,即根据设计电路的功能和控制条件,画出设计的原理图或状态图或波形图,然后在设计输入编辑器的支持下,将这些图形输入到计算机中,形成图形文件。,2010-2-1,EDA技术与DE2实践,53,一般的设计输入编辑器都支持图形输入和H,图形输入方式与PROTEL作图相似,设计过程形象直观,而且不需要掌握硬件描述语言,便于初学或教学演示。但图形输入方式存在没有标准化、图形文件兼容性差、不便于电路模块的移植和再利用等缺点。,2010-2-1,EDA技术与DE2实践,54,图形输入方式与PROTEL作图相似,,HDL文本输入方式与传统的计算机软件语言编辑输入基本一致,就是在设计输入编辑器的支持下,使用某种硬件描述语言(HDL)对设计电路进行描述,形成HDL源程序。HDL文本输入方式克服了图形输入方式存在的所有弊端,为EDA技术的应用和发展打开了一片广阔的天地。 当然,在用EDA技术设计电路时,也可以利用图形输入与HDL文本输入方式各自的优势,将它们结合起来,实现一个复杂的电路系统的设计。,2010-2-1,EDA技术与DE2实践,55,HDL文本输入方式与传统的计算机软件语,1.5.2 仿真器,在EDA技术中,仿真的地位非常重要,行为模型的表达、电子系统的建模、逻辑电路的验证及门级系统的测试,每一步都离不开仿真器的模拟检测。在EDA发展的初期,快速地进行电路逻辑仿真是当时的核心问题。即使在现在,各个环节的仿真仍然是整个EDA设计流程中最重要、最耗时的一个步骤。因此,仿真器的仿真速度、仿真的准确性和易用性成为衡量仿真器的重要指标。 按仿真器对硬件描述语言不同的处理方式,可以分为编译型仿真器和解释型仿真器。编译型仿真器速度较快,但需要预处理,因此不能及时修改:解释型仿真器的速度一般,但可以随时修改仿真环境和条件。,2010-2-1,EDA技术与DE2实践,56,1.5.2 仿真器 在EDA技术中,,几乎每个EDA厂商都提供基于VHDL和Verilog DHL的仿真器。常用的仿真器有Model Technology公司的ModelSim、Cadence公司的Verilog-XL和NC-Sim、Aldec公司的ActiveHDL、Synopsys公司的VCS等。,2010-2-1,EDA技术与DE2实践,57,几乎每个EDA厂商都提供基于VHDL和V,1.5.3 HDL综合器,硬件描述语言诞生的初衷是用于设计逻辑电路的建模和仿真,但直到Synopsys公司推出了HDL综合器后,才使HDL直接用于电路设计。,2010-2-1,EDA技术与DE2实践,58,1.5.3 HDL综合器 硬件描述,HDL综合器是一种将硬件描述语言转化为硬件电路的重要工具软件,在使用EDA技术实施电路设计中,HDL综合器完成电路化简、算法优化、硬件结构细化等操作。HDL综合器在把可综合的HDL(VHDL或Verilog HDL)转化为硬件电路时,一般要经过两个步骤:第1步,HDL综合器对VHDL或Verilog HDL进行处理分析,并将其转换成电路结构或模块,这时不考虑实际器件实现,即完全与硬件无关,这个过程是一个通用电路原理图形成的过程:第2步,对实际实现目标器件的结构进行优化,并使之满足各种约束条件,优化关键路径,等等。,2010-2-1,EDA技术与DE2实践,59,HDL综合器是一种将硬件描述语言转化,HDL综合器的输出文件一般是网表文件,是一种用于电路设汁数据交换和交流的工业标准化格式的文件,或是直接用HDL表达的标准格式的网表文件,或是对应FPGACPLD器件厂商的网表文件。 HDL综合器是EDA设计流程中的一个独立的设计步骤,它往往被其他EDA环节调用,以便完成整个设计流程。HDL综合器的调用具有前台模式和后台模式两种。用前台模式调用时,可以从计算机的显示器上看到调用窗口界面:用后台模式(也称为控制模式)调用时,不出现图形窗口界面,仅在后台运行。,2010-2-1,EDA技术与DE2实践,60,HDL综合器的输出文件一般是网表文件,1.5.4 适配器(布局布线器),适配也称为结构综合,适配器的任务是完成在目标系统器件上的布局布线。适配通常都由可编程器件厂商提供的专用软件来完成,这些软件可以单独存在,也可嵌入在集成EDA开发环境中。 适配器最后输出的是各厂商自己定义的下载文件,下载到目标器件后即可实现电路设计。,2010-2-1,EDA技术与DE2实践,61,1.5.4 适配器(布局布线器) 适,1.5.5 下载器(编程器),下载器的任务是把电路设计结果下载到实际器件中,实现硬件设计。下载软件一般由可编程逻辑器件厂商提供,或嵌入到EDA开发平台中。,2010-2-1,EDA技术与DE2实践,62,1.5.5 下载器(编程器) 下载器的,HDL综合器是一种将硬件描述语言转化为硬件电路的重要工具软件,在使用EDA技术实施电路设计中,HDL综合器完成电路化简、算法优化、硬件结构细化等操作。HDL综合器在把可综合的HDL(VHDL或Verilog HDL)转化为硬件电路时,一般要经过两个步骤:第1步,HDL综合器对VHDL或 Verilog HDL进行处理分析,并将其转换成电路结构或模块,这时不考虑实际器件实现,即完全与硬件无关,这个过程是一个通用电路原理图形成的过程:第2步,对实际实现目标器件的结构进行优化,并使之满足各种约束条件,优化关键路径,等等。,2010-2-1,EDA技术与DE2实践,63,HDL综合器是一种将硬件描述语言转化为硬件电路的重要工具软件,HDL综合器的输出文件一般是网表文件,是一种用于电路设汁数据交换和交流的工业标准化格式的文件,或是直接用HDL表达的标准格式的网表文件,或是对应FPGACPLD器件厂商的网表文件。 HDL综合器是EDA设计流程中的一个独立的设计步骤,它往往被其他EDA环节调用,以便完成整个设计流程。HDL综合器的调用具有前台模式和后台模式两种。用前台模式调用时,可以从计算机的显示器上看到调用窗口界面:用后台模式(也称为控制模式)调用时,不出现图形窗口界面,仅在后台运行。,2010-2-1,EDA技术与DE2实践,64,HDL综合器的输出文件一般是网表文件,是一种用于电路设汁数,1.5.4 适配器(布局布线器),适配也称为结构综合,适配器的任务是完成在目标系统器件上的布局布线。适配通常都由可编程器件厂商提供的专用软件来完成,这些软件可以单独存在,也可嵌入在集成EDA开发环境中。 适配器最后输出的是各厂商自己定义的下载文件,下载到目标器件后即可实现电路设计。,2010-2-1,EDA技术