·EDA技术的发展及硬件结构 《电子设计自动化EDA》_第1页
·EDA技术的发展及硬件结构 《电子设计自动化EDA》_第2页
·EDA技术的发展及硬件结构 《电子设计自动化EDA》_第3页
·EDA技术的发展及硬件结构 《电子设计自动化EDA》_第4页
·EDA技术的发展及硬件结构 《电子设计自动化EDA》_第5页
已阅读5页,还剩95页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章(第1讲) EDA概述 与 FPGA基本概念 2008-9-1EDA技术与DE2实践21.1 EDA技术及发展 20世纪末,数字电子技术的飞速发展,有力地推动了社会生产力的发展和社会信息化的提高。在其推动下,数字电子技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用了数字电子技术。2008-9-1EDA技术与DE2实践3 微电子技术,即大规模集成电路加工技术的进步是现代数字电子技术发展的基础。目前,在硅片的单位面积上集成的晶体管数量越来越多,1978年推出的8086微处理器芯片集成的晶体管数是4万只,到

2、2000年推出的Pentium4微处理器芯片的集成度上升到4200万只晶体管,2005年生产可编程逻辑器件(PLD)的集成度达到5亿只晶体管,包含的逻辑元件(Logic Elements,LEs)有18万个,而2008年生产的PLD中的LEs达到68万个。原来需要成千上万只电子元器件组成的计算机主板或彩色电视机电路,现在仅用一片或几片超大规模集成电路就可以代替,现代集成电路已经能够实现单片电子系统SOC(System On a Chip)的功能。2008-9-1EDA技术与DE2实践4 In the future, very few electronic equipment can exist

3、 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 i

4、nitial production. 在将来,很少有电子设备不用可编程逻辑而还能够存在。可编程性是电子系统设计的前景。固定功能的片上系统SOCs开发成本高、周期长及缺乏灵活性常常使得它们刚一形成初始产品就过时了,其应用将越来越少。2008-9-1EDA技术与DE2实践5 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. Altera

5、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设计

6、高速子系统,而模块化设计是其特点。2008-9-1EDA技术与DE2实践6 现代电子设计技术的核心是EDA(Electronic Design Automation)技术。EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言HDL(Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化、仿真,直至下载到可编程逻辑器件CPLDFPGA或专用集成电路ASIC(Application Specific Integrated Circuit)芯片中,实现既定的电子电路设计功能。EDA技术使得电

7、子电路设计者的工作仅限于利用硬件描述语言和EDA软件平台来完成对系统硬件功能的实现,极大地提高了设计效率,缩短了设计周期,节省了设计成本。2008-9-1EDA技术与DE2实践7 EDA是在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM, Computer Aided Manufacture )、计算机辅助测试(CAT, Computer Aided Test)和计算机辅助工程(CAE)的概念发展而宋的。一般把EDA技术的发展分为CAD、CAE和EDA这三个阶段。2008-9-1EDA技术与DE2实践8 CAD(Computer Aided Design,计算机辅助设计)

8、是EDA技术发展的早期阶段,在这个阶段,人们开始利用计算机取代手工劳动。但当时的计算机硬件功能有限,软件功能较弱,人们主要借助计算机对所设计的电路进行一些模拟和预测,辅助进行集成电路版图编辑、印制电路板(Printed Circuit Board,PCB)布局布线等简单的版图绘制工作。20世纪70年代的CAD阶段2008-9-1EDA技术与DE2实践920世纪80年代的CAE阶段 CAE(Computer Aided Engineering,计算机辅助工程)是在CAD的工具逐步完善的基础上发展起来的,尤其是人们在设计方法学、设计工具集成化方面取得了长足的进步,可以利用计算机作为单点设计工具,并

9、建立各种设计单元库,开始用计算机将许多单点工具集成在一起使用,大大提高了工作效率。2008-9-1EDA技术与DE2实践1020世纪90年代的ESDA阶段 电子系统设计自动化(ESDA, Electronic System Design Automation)阶段。随着 微电子技术的发展,速度更快、容量更大、功能更强的PLD的不断推出,对数字电子系统 的设计提出了更高的要求。出现了以利用硬件描述语言、系统仿真和综合技术为特征的 第三代EDA技术。其特点是在功能强大的EDA工具(包括系统行为级描述与结构级综 合、系统仿真与测试验证、系统划分与指标分配、系统决策与文件生成等一整套设计工具) 软件平

10、台上,以系统级设计为核心,使用硬件描述语言进行系统设计,自动进行逻辑编译、 仿真、优化、综合、布线、测试等工作,完成系统设计功能的硬件实现。使得设计者从繁杂 的工作中解放出来,把精力集中在系统方案的设计上,是一种高效率的现代设计方法。2008-9-1EDA技术与DE2实践11 20世纪90年代以来,微电子工艺有了惊人的发展,2006年工艺水平已经达到了60nm,2008年Altera公司的FPGA工艺水平已经达到了40nm。在一个芯片上已经可以集成上百万只乃至数十亿只晶体管,芯片速度达到了8.5Gbs量级。大容量的可编程逻辑器件陆续面世,对电子设计的工具提出了更高的要求,提供了广阔的发展空间,

11、促进了EDA技术的形成。特别重要的是,世界各EDA公司致力推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件,有效地将EDA技术推向成熟。2008-9-1EDA技术与DE2实践12 今天,EDA技术已经成为电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。EDA工具已经成为现代电路设计师的重要武器,正在发挥着越来越重要的作用。2008-9-1EDA技术与DE2实践131.2 EDA设计流程 利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的,EDA设计流程如图1.1所示。EDA设计流程包括设计准备、设计输入、设计处理和器件

12、编程4个步骤,以及相应的功能仿真、时序仿真和器件测试3个设计验证过程。2008-9-1EDA技术与DE2实践14图1.1 EDA设计流程 2008-9-1EDA技术与DE2实践151.2.1 设计准备 设计准备是设计者在进行设计之前,依据任务要求,确定系统所要完成的功能及复杂程度,器件资源的利用、成本等所要做的准备工作,如进行方案论证、系统设计和器件选择等。2008-9-1EDA技术与DE2实践161.2.2 设计输入 设计输入是将设计的电路或系统按照EDA开发软件要求的某种形式表示出来,并送入计算机的过程。设计输入有多种方式,包括采用硬件描述语言(如VHDL和Verilog HDL)进行设计

13、的文本输入方式、图形输入方式和波形输入方式,或者采用文本、图形两者混合的设计输入方式。也可以采用自顶向下(Top-Down)的层次结构设计方法,将多个输入文件合并成一个设计文件等。2008-9-1EDA技术与DE2实践17 1. 图形输入方式 图形输入也称为原理图输入,这是一种最直接的设计输入方式。它使用软件系统提供的元器件库及各种符号和连线画出设计电路的原理图,形成图形输入文件。这种方式大多用在对系统及各部分电路很熟悉的情况,或在系统对时间特性要求较高的场合。优点是容易实现仿真,便于信号的观察和电路的调整。2008-9-1EDA技术与DE2实践182. 文本输入方式 文本输入是采用硬件描述语

14、言进行电路设计的方式。硬件描述语言有普通硬件描述语言和行为描述语言,它们用文本方式描述设计和输入。普通硬件描述语言有AHDL、CUPL等,它们支持逻辑方程、真值表、状态机等逻辑表达方式。2008-9-1EDA技术与DE2实践19 行为描述语言是目前常用的高层硬件描述语言,有VHDL、Verilog HDL等,它们具有很强的逻辑描述和仿真功能,可实现与工艺无关的编程与设计,可以使设计者在系统设计、逻辑验证阶段就确立方案的可行性,而且输入效率高,在不同的设计输入库之间转换也非常方便。运用VHDL或Verilog HDL硬件描述语言进行设计已是当前的趋势。2008-9-1EDA技术与DE2实践203

15、. 波形输入方式 波形输入主要用于建立和编辑波形设计文件及输入仿真向量和功能测试向量。波形设计输入适合用于时序逻辑和有重复性的逻辑函数,系统软件可以根据用户定义的输入输出波形自动生成逻辑关系。 波形编辑功能还允许设计者对波形进行复制、剪切、粘贴、重复与伸展,从而可以用内部节点、触发器和状态机建立设计文件,并将波形进行组合,显示各种进制的状态值。还可以通过将一组波形重叠到另一组波形上,对两组仿真结果进行比较。2008-9-1EDA技术与DE2实践21 1.2.3 设计处理 设计处理是EDA设计中的核心环节。在设计处理阶段,编译软件对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自

16、动地进行适配,最后产生编程用的编程文件。设计处理主要包括设计编译和检查、设计优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。2008-9-1EDA技术与DE2实践22 1. 设计编译和检查 设计输入完成之后,立即进行编译。在编译过程中,首先进行语法检验,如检查原理图的信号线有无漏接、信号有无双重来源、文本输入文件中关键词有无错误等各种语法错误,并及时标出错误的类型及位置,供设计者修改。然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制并将编译报告列出,指明违反规则和潜在不可靠电路的情况以供设计者纠正。2008-9-1EDA技术与DE2实践23 2. 设计优化和综合 设计

17、优化主要包括面积优化和速度优化。面积优化的结果使得设计所占用的逻辑资源(门数或逻辑元件数)最少:时间优化的结果使得输入信号经历最短的路径到达输出,即传输延迟时间最短。综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化(即展平)。2008-9-1EDA技术与DE2实践24 3. 适配和分割 在适配和分割过程,确定优化以后的逻辑能否与下载目标器件CPLD或FPGA中的宏单元和IO单元适配,然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计不能装入一片器件时,可以将整个设计自动分割成多块并装入同一系列的多片器件中去。 分割工作可以全部自动实现,也可以

18、部分由用户控制,还可以全部由用户控制。分割时应使所需器件数目和用于器件之间通信的引脚数目尽可能少。2008-9-1EDA技术与DE2实践25 4. 布局和布线 布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件布局,并准确地实现元件间的布线互连。布局和布线完成后,软件会自动生成布线报告,提供有关设计中各部分资源的使用情况等信息。2008-9-1EDA技术与DE2实践26 5. 生成编程数据文件 设计处理的最后步是产生可供器件编程使用的数据文件。对CPLD ( Complex Programmable Logic Device,复杂可编程逻辑器件)来说,是产生熔丝图文

19、件,即JEDEC(电子器件工程联合会制定的标准格式,简称JED文件)文件:对于FPGA(Field Programmable Gates Array,现场可编程门阵列)来说,是生成位流数据文件(Bit-stream Generation,简称BG文件)。2008-9-1EDA技术与DE2实践27 1.2.4 设计校验 设计校验过程包括功能仿真和时序仿真,这两项工作是在设计处理过程中同时进行的。功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。此时的仿真没有延时信息或者只有由系统添加的微小标准延时,这对于初步的功能检测非常方便。仿真前,要先利用波形编辑器

20、或硬件描述语言等建立波形文件或测试向量(即将所关心的输入信号组合成序列),仿真结果将会生成报告文件和输出信号波形,从中便可以观察到各个节点的信号变化。若发现错误,则返回设计输入中修改逻辑设计。2008-9-1EDA技术与DE2实践28 时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为后仿真或延时仿真。由于不同器件的内部延时不一样,不同的布局、布线方案也会给延时造成不同的影响,因此在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设汁的性能及检查和消除竞争冒险等,是非常有必要的。2008-9-1EDA技术与DE2实践29 1.2.5 器件编程 器件编程是

21、指将设计处理中产生的编程数据文件通过软件放到具体的可编程逻辑器件中去。对CPLD器件来说,是将JED文件下载(Down Load)到CPLD器件中去:对FPGA来说,是将位流数据BG文件配置到FPGA中去。 器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作。基于SRAM的FPGA可以由EPROM或其他存储体进行配置。在系统可编程器件(1SP-PLD)则不需要专门的编程器,只要一根与计算机互连的下载编程电缆就可以了。2008-9-1EDA技术与DE2实践30 1.2.6 器件测试和设计验证 器件在编程完毕之后

22、,可以用编译时产生的文件对器件进行检验、加密等工作,或采用边 界扫描测试技术进行功能测试,测试成功后才完成其设计。 设计验证可以在EDA硬件开发平台上进行。EDA硬件开发平台的核心部件是一片可编程逻辑器件FPGA或CPLD,再附加一些输入输出设备,如按键、数码显示器、指示灯、喇叭等,还提供时序电路需要的脉冲源。将设计电路编程下载到FPGA或CPLD中后,根据EDA硬件开发平台的操作模式要求,进行相应的输入操作,然后检查输出结果,验证设计电路。2008-9-1EDA技术与DE2实践311.3 硬件描述语言 硬件描述语言HDL是EDA技术中的重要组成部分,常用的硬件描述语言有AHDL、VHDL和V

23、erilog HDL,而VHDL和Verilog HDL是当前最流行并己成为IEEE标准的硬件描述语言。2008-9-1EDA技术与DE2实践32 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

24、 l995版本),并于1993年升级为VHDL l993版本。VHDL经过20多年的发展、应用和完善,以其强大的系统描述能力、规范的程序设计结构、灵活的语言表达风格和多层次的仿真测试于段,在电子设计领域受到了普遍的认同和广泛的接受,成为现代EDA领域的首选硬件描述语言。目前,流行的EDA工具软件全部支持VHDL,它在EDA领域的学术交流、电子设计的存档、专用集成电路(ASIC)设计等方面,担当着不可缺少的角色。专家认为,在21世纪,VHDL与Verilog VHD语言将承担起几乎全部的数字系统设计任务。显然,VHDL是现代电子设计师必须掌握的硬件设计计算机语言。2008-9-1EDA技术与DE

25、2实践33 概括起来,VHDL有以下几个特点: (1)VHDL具有强大的功能,覆盖面广,描述能力强。VHDL支持门级电路的描述,也支持以寄存器、存储器、总线及运算单元等构成的寄存器传输级电路的描述,还支持以行为算法和结构的混合描述为对象的系统级电路的描述。2008-9-1EDA技术与DE2实践34 (2)VHDL有良好的可读性。它可以被计算机接受,也容易被读者理解。用VHDL书写的源文件,既是程序又是文档,既可作为工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件。2008-9-1EDA技术与DE2实践35 (3)VHDL具有良好的可移植性。作为一种已被IEEE承认的工业标准,VHD

26、L事实上已成为通用的硬件描述语言,可以在各种不同的设计环境和系统平台中使用。 (4)使用VHDL可以延长设计的生命周期。用VHDL描述的硬件电路与工艺无关,不会因工艺变化而使描述过时。与工艺有关的参数可以通过VHDL提供的属性加以描述,工艺改变时,只需要修改相应程序中的属性参数即可。2008-9-1EDA技术与DE2实践36 (5)VHDL支持对大规模设计的分解和已有设计的再利用。VHDL可以描述复杂的电路系统,支持对大规模设计的分解,由多人、多项目组来共同承担和完成。标准化的规则和风格,为设计的再利用提供了有力的支持。 (6)VHDL有利于保护知识产权。用VHDL设计的专用集成电路(ASIC

27、),在设计文件下载到集成电路时可以采用一定的保密措施,使其不易被破译和窃取。2008-9-1EDA技术与DE2实践37 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)等各个

28、层次的电路设计和描述。2008-9-1EDA技术与DE2实践38 采用Verilog HDL进行电路设计的最大优点是其与工艺无关性,这使得设计者在进行电路设计时可以不必过多考虑工艺实现的具体细节,只需要根据系统设计的要求施加不同的约束条件,即可设计出实际电路。实际上,利用计算机的强大功能,在EDA工具的支持下,把逻辑验证与具体工艺库相匹配,将布线及延迟计算分成不同的阶段宋实现,可减少设计者的繁重劳动。2008-9-1EDA技术与DE2实践39 Verilog HDL和VHDL都是用于电路设计的硬件描述语言,并且都已成为IEEE标准。Verilog HDL也具有与VHDL类似的特点,稍有不同的是

29、,Verilog HDL早在1983年就已经推出,应用历史较长,拥有广泛的设计群体,设计资源比VHDL丰富。另外,Verilog HDL是在C语言的基础上演化而来的,因此只要具有C语言的编程基础,设计者就很容易学会并掌握这种语占。2008-9-1EDA技术与DE2实践40 1.3.3 AHDL AHDL(Altera Hardware Description Language)是Altera公司根据自己公司生产的MAX系列器件和FLEX系列器件的特点专门设计的一套完整的硬件描述语言。 AHDL是一种模块化的硬件描述语言,它完全集成于Altera公司的MAX+PLUSII和Quartus II的

30、软件开发系统中。AHDL特别适合于描述复杂的组合电路、组(group)运算及状态机、真值表和参数化的逻辑。用户可以通过MAX+PLUSII的软件开发系统对AHDL源程序进行编辑,并通过对源文件的编译建立仿真、时域分析和器件编程的输出文件。2008-9-1EDA技术与DE2实践41 AHDL的语句和元素种类齐全、功能强大,而且易于应用。用户可以使用AHDL建立完整层次的工程设汁项目,或者在一个层次的设计中混合其他类型的设计文件,如VHDL设计文件或Verilog HDL设计文件。2008-9-1EDA技术与DE2实践421.4 可编程逻辑器件 可编程逻辑器件(Programmable Logic

31、 Device,PLD)是一种半定制集成电路,在其内部集成了大量的门和触发器等基本逻辑单元电路,用户通过编程来改变PLD内部电路的逻辑关系或连线,就可以得到所需要的设计电路。可编程逻辑器件的出现,改变了传统的数字系统设计方法,其设计方法为采用EDA技术开创了广阔的发展空间,并极大地提高了电路设计的效率。2008-9-1EDA技术与DE2实践43 在PLD没有出现之前,数字系统的传统设计往往采用“积木”式的方法进行,实质上是对电路板进行设计,通过标准集成电路器件搭建成电路板来实现系统功能,即先由器件搭成电路板,再由电路板搭成系统。数字系统的“积木块”就是具有固定功能的标准集成电路器件,如TTL的

32、7454系列、CMOS的40004500系列芯片和一些固定功能的大规模集成电路等。用户只能根据需要选择合适的集成电路器件,按照此种器件推荐的电路搭成系统并调试成功。设计中,设计者没有灵活性可言,搭成的系统需要的芯片种类多且数目大。2008-9-1EDA技术与DE2实践44 PLD的出现,给数字系统的传统设计法带来了新的变革。采用PLD进行的数字系统设计,是基于芯片的设计或称为“自底向上”(Bottom-Up)的设计,与传统的积木式设计有本质上的不同。它可以直接通过设计PLD芯片来实现数字系统功能,将原来由电路板设计完成的大部分工作放在PLD芯片的设计中进行。这种新的设计方法能够由设计者根据实际

33、情况和要求定义器件的内部逻辑关系和引脚,通过芯片设计实现多种数字系统功能。同时,由于引脚定义的灵活性,不但大大减轻了系统设计的工作量和难度,提高了工作效率,而且还可以减少芯片数量,缩小系统体积,降低能源消耗,提高系统的稳定性和可靠性。2008-9-1EDA技术与DE2实践451.5 常用EDA工具 EDA工具在EDA技术中占据极其重要的位置,EDA的核心是利用计算机完成电路设汁的全程自动化,因此,基于计算机环境的EDA工具软件的支持是必不可少的。 用EDA技术设计电路可以分为不同的技术环节,每一个环节中必须由对应的软件包或专用的EDA工具独立处理。EDA工具大致可以分为设计输入编辑器、仿真器、

34、HDL综合器、适配器(或布局布线器)及下载器5个模块。2008-9-1EDA技术与DE2实践46 硬件描述语言(HDL)给PLD和数字系统的设计带来了新的设计方法和理念,产生了目前最常用且称为“自顶向下”(Top-Down)的设计法。自顶向下的设计采用功能分割的方法,从顶层设计开始,逐次向下将设计内容进行分块和细化。在设计过程中,采用层次化和模块化方式,将使系统设计变得简捷和方便。层次化设计是分层次、分模块地进行设汁描述的。描述器件总功能的模块放在最上层,称为顶层设计:描述器件某一部分功能的模块放在下层,称为底层设计;底层模块还可以再向下分层,直至最后完成硬件电子系统电路的整体设计。2008-

35、9-1EDA技术与DE2实践47 1.5.1 设计输入编辑器 通常,专业的EDA工具供应商或各可编程逻辑器件厂商都提供EDA开发工具,在这些EDA开发工具中都含有设计输入编辑器,如Xilinx公司的Foundation、Altera公司的Quartus II和MAX+PLUSII等。2008-9-1EDA技术与DE2实践48 一般的设计输入编辑器都支持图形输入和HDL文本输入。图形输入通常包括原理图输入、状态图输入和波形图输入3种常用的方式。原理图输入方式沿用传统的数字系统设计方式,即根据设计电路的功能和控制条件,画出设计的原理图或状态图或波形图,然后在设计输入编辑器的支持下,将这些图形输入到

36、计算机中,形成图形文件。2008-9-1EDA技术与DE2实践49 图形输入方式与PROTEL作图相似,设计过程形象直观,而且不需要掌握硬件描述语言,便于初学或教学演示。但图形输入方式存在没有标准化、图形文件兼容性差、不便于电路模块的移植和再利用等缺点。2008-9-1EDA技术与DE2实践50 HDL文本输入方式与传统的计算机软件语言编辑输入基本一致,就是在设计输入编辑器的支持下,使用某种硬件描述语言(HDL)对设计电路进行描述,形成HDL源程序。HDL文本输入方式克服了图形输入方式存在的所有弊端,为EDA技术的应用和发展打开了一片广阔的天地。 当然,在用EDA技术设计电路时,也可以利用图形

37、输入与HDL文本输入方式各自的优势,将它们结合起来,实现一个复杂的电路系统的设计。2008-9-1EDA技术与DE2实践51 1.5.2 仿真器 在EDA技术中,仿真的地位非常重要,行为模型的表达、电子系统的建模、逻辑电路的验证及门级系统的测试,每一步都离不开仿真器的模拟检测。在EDA发展的初期,快速地进行电路逻辑仿真是当时的核心问题。即使在现在,各个环节的仿真仍然是整个EDA设计流程中最重要、最耗时的一个步骤。因此,仿真器的仿真速度、仿真的准确性和易用性成为衡量仿真器的重要指标。 按仿真器对硬件描述语言不同的处理方式,可以分为编译型仿真器和解释型仿真器。编译型仿真器速度较快,但需要预处理,因

38、此不能及时修改:解释型仿真器的速度一般,但可以随时修改仿真环境和条件。 2008-9-1EDA技术与DE2实践52 几乎每个EDA厂商都提供基于VHDL和Verilog DHL的仿真器。常用的仿真器有Model Technology公司的ModelSim、Cadence公司的Verilog-XL和NC-Sim、Aldec公司的ActiveHDL、Synopsys公司的VCS等。2008-9-1EDA技术与DE2实践53 1.5.3 HDL综合器 硬件描述语言诞生的初衷是用于设计逻辑电路的建模和仿真,但直到Synopsys公司推出了HDL综合器后,才使HDL直接用于电路设计。2008-9-1ED

39、A技术与DE2实践54 HDL综合器是一种将硬件描述语言转化为硬件电路的重要工具软件,在使用EDA技术实施电路设计中,HDL综合器完成电路化简、算法优化、硬件结构细化等操作。HDL综合器在把可综合的HDL(VHDL或Verilog HDL)转化为硬件电路时,一般要经过两个步骤:第1步,HDL综合器对VHDL或Verilog HDL进行处理分析,并将其转换成电路结构或模块,这时不考虑实际器件实现,即完全与硬件无关,这个过程是一个通用电路原理图形成的过程:第2步,对实际实现目标器件的结构进行优化,并使之满足各种约束条件,优化关键路径,等等。2008-9-1EDA技术与DE2实践55 HDL综合器的

40、输出文件一般是网表文件,是一种用于电路设汁数据交换和交流的工业标准化格式的文件,或是直接用HDL表达的标准格式的网表文件,或是对应FPGACPLD器件厂商的网表文件。 HDL综合器是EDA设计流程中的一个独立的设计步骤,它往往被其他EDA环节调用,以便完成整个设计流程。HDL综合器的调用具有前台模式和后台模式两种。用前台模式调用时,可以从计算机的显示器上看到调用窗口界面:用后台模式(也称为控制模式)调用时,不出现图形窗口界面,仅在后台运行。2008-9-1EDA技术与DE2实践56 1.5.4 适配器(布局布线器) 适配也称为结构综合,适配器的任务是完成在目标系统器件上的布局布线。适配通常都由

41、可编程器件厂商提供的专用软件来完成,这些软件可以单独存在,也可嵌入在集成EDA开发环境中。 适配器最后输出的是各厂商自己定义的下载文件,下载到目标器件后即可实现电路设计。2008-9-1EDA技术与DE2实践57 1.5.5 下载器(编程器) 下载器的任务是把电路设计结果下载到实际器件中,实现硬件设计。下载软件一般由可编程逻辑器件厂商提供,或嵌入到EDA开发平台中。2008-9-1EDA技术与DE2实践58 HDL综合器是一种将硬件描述语言转化为硬件电路的重要工具软件,在使用EDA技术实施电路设计中,HDL综合器完成电路化简、算法优化、硬件结构细化等操作。HDL综合器在把可综合的HDL(VHD

42、L或Verilog HDL)转化为硬件电路时,一般要经过两个步骤:第1步,HDL综合器对VHDL或 Verilog HDL进行处理分析,并将其转换成电路结构或模块,这时不考虑实际器件实现,即完全与硬件无关,这个过程是一个通用电路原理图形成的过程:第2步,对实际实现目标器件的结构进行优化,并使之满足各种约束条件,优化关键路径,等等。 2008-9-1EDA技术与DE2实践59 HDL综合器的输出文件一般是网表文件,是一种用于电路设汁数据交换和交流的工业标准化格式的文件,或是直接用HDL表达的标准格式的网表文件,或是对应FPGACPLD器件厂商的网表文件。 HDL综合器是EDA设计流程中的一个独立

43、的设计步骤,它往往被其他EDA环节调用,以便完成整个设计流程。HDL综合器的调用具有前台模式和后台模式两种。用前台模式调用时,可以从计算机的显示器上看到调用窗口界面:用后台模式(也称为控制模式)调用时,不出现图形窗口界面,仅在后台运行。 2008-9-1EDA技术与DE2实践60 1.5.4 适配器(布局布线器) 适配也称为结构综合,适配器的任务是完成在目标系统器件上的布局布线。适配通常都由可编程器件厂商提供的专用软件来完成,这些软件可以单独存在,也可嵌入在集成EDA开发环境中。 适配器最后输出的是各厂商自己定义的下载文件,下载到目标器件后即可实现电路设计。2008-9-1EDA技术与DE2实

44、践61 1.5.5 下载器(编程器) 下载器的任务是把电路设计结果下载到实际器件中,实现硬件设计。下载软件一般由可编程逻辑器件厂商提供,或嵌入到EDA开发平台中。2008-9-1EDA技术与DE2实践621.6 CPLD的结构与原理 大部分CPLD采用基于乘积项(Product- Term)的PLD结构,如 Altera公司的MAX7000 和MAX3000系列(EEPROM工艺)、Xilinx公司的XC9500系列(FLASH工艺)以及Lattice 公司和Cypress公司的大部分产品(EEPROM工艺)。 2008-9-1EDA技术与DE2实践63 这里先看一下这种PLD的总体结构(以M

45、AX7000系列为例,其他型号的结构与此都非 常相似)。图1.2是MAX7000E和MAX7000S系列CPLD的结构框图。这种PLD一般由三 部分组成:宏单元(Macrocell)、可编程连线(PIA,Programmable Interconnect Array)和I/O控制块。宏单元是PLD的基本结构, 用以实现基本的逻辑功能。在MAX7000系列CPLD中,每16个宏单元组成一个逻辑阵列 块(LAB, Logic Array Block)。可编程连线负责信号传递,连接所有的宏单元。I/O控制块负责输入/输出的电气 特性控制,比如可以设定集电极开路输出、摆率控制、三态输出等。图1.2左上

46、角的 INPUT/GCLK1、因PUT/OE2/GCLK2和的PUT/OE1是全局时钟、清零和输出使能信号, 这几个信号通过PIA(可编程互连阵列)及专用连线与PLD中的每个宏单元相连,这些信号 到每个宏单元的延时相同并且延时最短 2008-9-1EDA技术与DE2实践642008-9-1EDA技术与DE2实践65 本章小结 现代电子设计技术的核心是EDA技术。EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬件描述语言(HDL)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化、仿真,直至下载到可编程逻辑器件CPLDFPGA或专用集成电路ASIC

47、芯片中,实现既定的电子电路设计功能。EDA技术极大地提高了电子电路设计效率,缩短了设计周期,节省了设计成本。2008-9-1EDA技术与DE2实践66 EDA技术包括硬件描述语言(HDL)、EDA工具软件、可编程逻辑器件(PLD)等方面的内容。目前国际上流行的硬件描述语言主要有VHDL、Verilog一步HDL和AHDL。EDA工具在EDA技术应用中占据着极其重要的位置,利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的。EDA工具软件主要包括设计输入编辑器、仿真器、HDL综合器、适配器(或布局布线器)及下载器5个模块。2008-9-1EDA技术与DE2实践67 今天,EDA

48、技术已经成为电子设计的重要工具,无论是设计芯片还是设计系统,如果没有EDA工具的支持,都将是难以完成的。EDA工具已经成为现代电路设计师的重要武器,正在发挥着越来越重要的作用。2008-9-1EDA技术与DE2实践68思考题和习题 1.1 简述EDA技术的发展历程。EDA技术的核心内容是什么? 1.2 简述用EDA技术设计电路的设计流程。 1.3 VHDL有哪些主要特点? 1.4 Verilog HDL有哪些主要特点? 1.5 简述在PLD没有出现前,传统的数字系统设计的“积木”式过程。 1.6 简述“自顶向下”的设计流程。 1.7 EDA工具大致可以分为哪几个模块?各模块的主要功能是什么?

49、1.8 目前被IEEE采纳的硬件描述语言有哪几种? 1.9 FPGACPLD在EDA技术中有什么用处?2008-9-1EDA技术与DE2实践69图1.2 基于乘积项的PLD内部结构。2008-9-1EDA技术与DE2实践70 MAX7000E和MAX7000S系列CPLD的宏单元结构如图1.3所示。每个宏单元主要由 三部分组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。图中左侧是逻辑阵列,也就是 一个与或阵列,阵列连线的每一个交点都是一个可编程烙丝,如果导通就实现与逻辑;其后的乘积项选择矩阵是一个或阵列,两者一起完成组合逻辑。图右侧是一个可编程 寄存器,它的时钟、清零输入都可以编程选择,可以使用

50、专用的全局清零和全局时钟,也 可以使用由内部逻辑(逻辑阵列)产生的时钟和清零。如果不需要该寄存器,也可以将它旁路,使信号直接输给PIA或输出到I/O脚。 2008-9-1EDA技术与DE2实践71图1.3宏单元结构2008-9-1EDA技术与DE2实践72 图1.4是一个简单的电路,参照该电路具体说明PLD是如何利用以上结构来实现特定逻辑的。假设图1.4中组合逻辑的输出(AND 3的输出)为f,则 :DBCDACDCBAf)(2008-9-1EDA技术与DE2实践73图1.4 一个简单的组合逻辑电路2008-9-1EDA技术与DE2实践74 CPLD将以图1.5所示的方式实现图1.4中的简单组

51、合逻辑电路。图1.5 电路在CPLD中的实现2008-9-1EDA技术与DE2实践75ABCDA、B、C、D由CPLD芯片的管脚输入后进入可编程连线阵列(PIA),在内部会产生A、 B、 、C、 、D、叉号表示相连(可编程熔丝导通),可以得到:等8个输出。图中每一个DBCDACfff212008-9-1EDA技术与DE2实践76 从而实现了图1.4中的组合逻辑。图1.4电路中D触发器的实现比较简单,直接利用宏单元中的可编程D触发器就可实现。时钟信号CLK由I/O脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器的时钟端。可编程触发器的输出与I/O脚相连,把结果 输出到芯片管脚,这样

52、CPLD就完成了如图1.4所示电路的功能。以上这些步骤都是由软件自动完成的,不需要人为干预。 2008-9-1EDA技术与DE2实践77 图1.4所示的电路是一个很简单的例子,只需要一个宏单元就可以完成。对于一个复杂 的电路,一个宏单元是不能实现的,这时就需要通过并联扩展项和共享扩展项将多个宏单 元相连,宏单元的输出也可以连接到可编程连线阵列,再作为另一个宏单元的输入。这样, CPLD就可以实现更复杂的逻辑。这种基于乘积项的PLD基本上都是由EEPROM和FLASH 工艺制造的,上电即可自动工作,无需其它芯片配合。 2008-9-1EDA技术与DE2实践781.7 FPGA的结构与原理 FPG

53、A最常用的结构是查找表(Look-Up-Table, LUT)结构,如Altera的ACEX、APEX、 Cyclone、Cyclone II系列和Xilinx的Spartan、Virtex系列等。 这里以Cyclone II系列FPGA为例来说明。图1.6是 Cyclone II系列FPGA的一个LE的普通工作模式原理图。FPGA的基本单元一般为一个4 输入查找表后接一个寄存器。 2008-9-1EDA技术与DE2实践79图1.6 Cyclone 系列FPGA中LE的普通工作模式2008-9-1EDA技术与DE2实践80图1.6 Cyclone 系列FPGA中LE的普通工作模式2008-9-

54、1EDA技术与DE2实践81 逻辑单元(Logic Element, LE)是构成FPGA 的基本单位之一,一个LE主要由一个4输入LUT、一个寄存器及进位和互连逻辑组成。 LUT本质上是一个RAM。目前FPGA中多使用4输入的LUT,即一个LUT可以看成有4位地址线的16xl的RAM。当用户通过原理图或HDL语言描述了一个逻辑电路以后, FPGA 开发软件会自动计算逻辑电路所有可能的结果,并把结果事先写入RAM,这样每输入一个 信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。 也可以把它当作一个4输入的函数发生器,能够实现4变量输入的所有逻辑。2008-9-1E

55、DA技术与DE2实践82 表1.1为一个4输入与门的例子。A、B、C、D由FPGA芯片的管脚与可编程连线相连,然后作为地址线连到LUT, LUT中已经事先写入了所有可能的逻辑结果,通过地址查找到相应的数据然后输出,从而实现了组合逻辑。2008-9-1EDA技术与DE2实践83实际逻辑电路LUT的实现方式ABCD输入逻辑输出地址RAM中存储的内容00000000000001000010001111111111表1.1 输入查找表2008-9-1EDA技术与DE2实践84 如果要用Cyclone II FPGA实现图1.4所示的电路,用查找表来实现 DBCDACDCBAf)(则电路中的D触发器可直接利用LUT后的寄存器来实现。时钟信号CLK由I/O脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。触发器的输出可以与I/O脚相连,把结果输出到芯片管脚,这样FPGA就完成了图1.4所示电路的功能。与CPLD一样, 这些步骤都是由软件自动完成的,不需要人为干预。 2008-9-1EDA技术与DE2实践85 这个电路是一个很简单的例子,只需要一个LUT加上一个触发器就可以完成。对于一个LU

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论