版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计EDA技术的应用与发展 学校:开封大学 学院:电子电气工程学院 班级:13应用电子二班 姓名:王焕玲 学号:2013481272 指导老师:邓娜EDA技术的应用与发展【摘要】随着科技的不断进步与发展,EDA (Electronic Design Automation)即电子设计自动化技术与我们的生活的交集越来越密切。随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域工作中,技术的含量以惊人的速度上升,从而使它成为当今电子技术发展的前沿之一。本文首先阐述了EDA的基本概念和发展过程,并以硬件描述语言(VHDL)为主要表达方式,Quartus开发软件为
2、设计工具介绍。【关键字】EDA应用与发展 VHDL Quartus Max+plus目录前言第一章EDA简介 1.1 EDA概念. 第5页 1.2 EDA特征. 第6页 1.3 EDA优势. 第7页 1.4 EDA工具. 第8页第二章QUARTUS的简介与设计流程 2.1 QUARTUS简介. 第8页 2.2 QUARTUS的设计流程. 第8页第三章MAX+Plus II应用简介 3.1 Max+plus概述. 第9页 3.2 Max+plus开发系统的特点. 第9页 3.3 Max+plus功能简介.第10页 3.4 Max+plus设计过程.第15页第四章VHDL语言 4.1 VHDL的概
3、念. 第17页 4.2 VHDL的特点. 第18页 4.3 VHDL基本结构简介. 第18页第五章 状态机 5.1什么是状态机?. 第19页 5.2状态机的优势. 第19页 5.3状态机的基本结构和功能. 第20页 5.4一般状态机的VHDL描述. 第20页 5.5 Moore和Mearly状态机的选择. 第20页第六章 EDA技术 6.1 EDA技术的发展阶段. 第21页 6.2 EDA技术设计的方法. 第22页 6.3 EDA技术的发展趋势. 第25页 6.4 EDA技术的应用. 第26页 6.5 EDA技术的发展及前景. 第27页 6.6 EDA发展的最新动向. 第27页结论. 第30页
4、参考文献. 第31页 前言随着微电子技术和计算机技术的不断发展,在涉及通信、国防、航天、工业自动化、仪器仪表等领域工作中,技术的含量以惊人的速度上升,从而使它成为当今电子技术发展的前沿之一。现代电子产品的性能提高、集成度和精密度不断的增加,电子产品更新换代的节奏越来越快。采用传统的电子设计方法设计电路越来越困难,EDA 技术提高了电路的设计效率和可靠性,减少了劳动强度,给电子系统设计带来了革命性的变化。EDA是电子设计自动化(Electronic Design Automation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机
5、辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL( Hardware Description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。典型的EDA工具中必须包含两个特殊的软件包,即综合器和适配器。综合器的功能就是将设计者在EDA平台上完成的针对某个系统项目的HDL、原理图或状态图形描述,针对给定的硬件系统组件,进行编译、优化、转换和综合,最终获得我们欲实现功能的描述文件。综合器在工作前,必须给定所要实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用一定的方
6、式联系起来。也就是说,综合器是软件描述与硬件实现的一座桥梁。综合过程就是将电路的高级语言描述转换低级的、可与目标器件FPGA/CPLD相映射的网表文件。 一、EDA简介 1.1 EDA概念EDA(Electronic Design Automation ) 即电子设计自动化,是以微电子技术为物理层面,现代电子设计为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路芯片ASIC(Application Specific Integrated Circuit)为目的的一门新兴技术。现代电子设计技术的核心是EDA技术。EDA技术就是依靠功能强大的电子计算机,在EDA工具软件平台上,对以硬
7、件描述语言(如VHDL)为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、优化和仿真,直至下载到可编程逻辑器件CPLD/FPGA或专用集成电路ASIC芯片中,实现既定的电子电路设计功能。EDA技术是以计算机为工作平台、以EDA软件工具为开发环境、以硬件描述语言为设计语言、以ASIC(专用集成电路)为实现载体的电子产品自动化设计过程。 1.2 EDA的基本特征EDA工具主要进行三项辅助设计工作:集成电路(IC)设计、电子电路设计及印刷电路板(PCB)设计。在EDA软件平台上,根据原理图或硬件描述语言HDL完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、
8、仿真、目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的基本特征:采用高级语言描述;具有系统级仿真和综合能力;具有开放式设计环境;具有丰富的元器件模型库。EDA代表了当今电子设计技术的最新发展方向,它的基本特征是:设计人员按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,系统的关键电路用一片或几片专用集成电路(ASIC)实现,然后采用硬件描述语言(HDL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件,被称为高层次的电子设计方法。1“自顶向下”的设计方法。10年前,电子设计的基本思路还是选用标准集成电路“自底向上”地构造出一个新的系统,这样的设计方法就如同一砖
9、一瓦建造金字塔,不仅效率低、成本高而且容易出错。高层次设计是一种“自顶向下”的全新设计方法,这种设计方法首先从系统设计人手,在顶层进行功能方框图的划分和结构设计。在方框图一级进行仿真、纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证。然后,用综合优化工具生成具体门电路的网络表,其对应的物理实现级可以是印刷电路板或专用集成电路。由于设计的主要仿真和调试过程是在高层次上完成的,这既有利于早期发现结构设计上的错误,避燃计工作的浪费,又减少了逻辑功能仿真的工作量,提高了设计的一次成功率。2ASIC设计。现代电子产品的复杂度日益提高,一个电子系统可能由数万个中小规模集成电路构成,这就
10、带来了体积大、功耗大、可靠性差的问题。解决这一问题的有效方法就是采用ASIC芯片进行设计。ASIC按照设计方法的不同可分为全定制ASIC、半定制ASC和可纪程ASIC(也称为可编程逻辑器件)。设计全定制ASIC芯片时,设计师要定义芯片上所有晶体管的几何图形和工艺规则,最后将设计结果交由m厂家去进行格模制造,做出产品。这种设计方法的优点是芯片可以获得最优的性能,即面积利用率高、速度快、功耗低,而缺点是开发周期长,费用高,只适合大批量产品开发。半定制ASIC芯片的版图设计方法分为门阵列设计法和标准单元设计法,这两种方法都是约束性的设计方法,其主要目的就是简化设计,以牺牲芯片性能为代价来缩短开发时间
11、。可编程逻辑芯片与上述掩模ASIC的不同之处在于:设计 人员完成版图设计后,在实验室内就可以烧制出自己的芯片, 无须IC厂家的参与,大大缩短了开发周期。可编程逻辑器件自70年代以来,经历了PAL、GALGPLD、FPGA几个发展阶段,其中CPLDFPGA高密度可编程逻辑器件,目前集成度已高达200万门片,它将格模ASC集成度高的优点和可编程逻辑器件设计生产方便的特点结合在一起,特别适合于样品研制或小批量产品开发,使产品能以最快的速度上市,而当市场扩大时,它可以很容易地转由掩模ASIC实现,因此开发风险也大为降低。上述ASIC芯片,尤其是CPLDFPGA器件,已成为现代高层次电子设计方法的实现载
12、体。 3硬件描述语言。硬件描述语言(HDL)是一种用于设计硬件电子系统的计算机语言,它用软件编程的方式来描述电子系统的逻辑功能、电路结构和连接形式,与传统的门级描述方式相比,它更适合大规模系统的设计。例如一个32位的加法器,利用图形输入软件需要输人500至1000个门,而利用VHDL语言只需要书写一行“ABC”即可。而且 VHDL语言可读性强,易于修改和发现错误。早期的硬件描述语言,如ABEL、HDL、AHDL,由不同的EDA厂商开发,互不兼容,而且不支持多层次设计,层次间翻译工作要由人工完成。为了克服以上不足,1985年美国国防部正式推出了高速集成电路硬件描述语言VHDL,1987年IEEE
13、采纳VHDL为硬件描述语言标准(IEEE STD1076)。 VHDL是一种全方位的硬件描述语言,包括系统行为级。寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为三种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件俄语言的功能,整个自顶向下或由底向上的电路设计过程都可以用VHDL来完成。4EDA系统枢架结构 EDA系统框架结构(FRAMEWORK)是一套配置和使用EDA软件包的规范。目前主要的EDA系统都建立了框架结构,如 CADENCE公司的Design Framework,Mentor公司的Falcon Framework,而且这些框架结构都遵守国际CFI组织制定的统一技术
14、标准。框架结构能将来自不同EDA厂商的工具软件进行优化组合,集成在一个易于管理的统一的环境之下,而且还支持任务之间、设计师之间以及整个产品开发过程中的信息传输与共享,是并行工程和自顶向下设计施的实现基础。 1.3 EDA的优势EDA技术的优势:(1)采用硬件描述语言,便于复杂系统设计(2)强大的系统建模和电路仿真功能(3)具有自主知识产权(4)开发技术的标准化和规范化(5)全方位地利用计算机的自动设计、仿真和测试技术(6)对设计者的硬件知识和硬件经验要求低。EDA设计的实现目标:1、印刷电路板设计;2、集成电路(IC或ASIC)设计;3、可编程逻辑器件(FPGA/CPLD)设计;4、混合电路设
15、计。EDA设计整个综合过程就是将设计者在EDA平台上编辑输入的HDL文本、原理图或状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得门级电路甚至更底层的电路描述网表文件。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相应互的映射关系。 1.4 EDA工具EDA工具在EDA技术应用中占据极其重要的位置,EDA的核心是利用计算机完成电子设计全过程自动化,因此,基于计算机环境的EDA软件的支持是必不可少的。EDA工具大致可以分为如下5个模块:设计输入编辑器;仿真器;HDL综合器;适配
16、器(或布局布线器);下载器。当然这种分类不是绝对的,现在往往把各EDA工具集成在一起,如MAX+PLUS 、Quartus 等。 二、Quartus简介及设计流程 2.1 Quartus简介Quartus是Altera公司提供的FPGA/CPLD集成开发软件,Altera是世界上最大的可编程逻辑器件供应商之一。 Quartus在21世初推出,是Altera全一代FPGA/CPLD集成开发软件MAX+plus II的更新换代产品,其界面友好,使用便捷。在Quartus上可以完成设计输入、HDL综合、布新布局(适配)、仿真和选择以及硬件测试等流程,它提供了一种与结构无关的设计环境,使设计者能方便地
17、进行设计输入、开始处理和器件编程。Quartus提供了完整的多平台设计环境,能满足各种特定设计的需求,也是单片机可编程系统(SoPC)设计的综合环境和SoPC开发的基本设计工具,并为Altera DSP开发包进行系统模型设计提供了集成综合环境。Quartus设计完全支持VHDL、Verilog的设计流程,其内部嵌有VHDL、Verilog逻辑综合器。Quartus与可用利用第三方的综合工具(如Leonardo Spectrum、Synplify Pro、FPGA Complier II),并能直接调用这些工具。同样 Quartus具备仿真功能,同时支持第三方的仿真工具(如ModelSin)。此
18、外, Quartus与MATLAB和DSP Builder结合,可用进行基于FPAG的DSP系统开发,是DSP硬件系统实现的工具EDA工具。 2.2 Quartus设计流程Quartus 软件包是Altera 公司专有知识产权的开发软件,适用于大规模逻辑电路设计。其界面友好,集成化程度高,易学、易用,深受业界人士好评。Quartus软件的设计流程概括为设计输入、设计编译、设计仿真和设计下载等过程。该软件支持多种编辑输入法,以及内存编辑输入法,与MAX+PLUS 相比,Quartus 设计软件增加了网络编辑功能,提升了调试能力,解决了潜在的设计延迟,同时其直观易用的接口,深受数字系统设计者的青睐
19、。 Quartus II进行EDA设计开发的流程1、设计输入:原理图输入、HDL文本输入、EDIF网表输入和波形输入等几种。2、编译:先根据设计要求设定编译方式和编译策略,如器件的选择、逻辑综合方式的选择等。然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合、器件适配,并产生报告文件、延时信息文件和编程文件,供分析、仿真和编程使用。3、仿真:功能仿真、时序仿真和定时分析。4、编程与验证:用编程文件通过编程电缆配置PLD,加入实际激励,进行在线测试。 三、MAX+Plus II应用简介 3.1 概 述Max+plus是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界
20、上最大可编程逻辑器件的供应商之一。Max+plus界面友好,使用便捷,被誉为业界最易用易学的EDA软件。在Max+plus上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。 3.2 Max+plus开发系统的特点1、开放的界面Max+plus支持与Cadence,Exemplarlogic,Mentor Graphics,Synplicty,Viewlogic和其它公司所提供的EDA工具接口。2、与结构无关Max+plus系统的核心Complier支持Altera公司的FLEX10K、FLEX
21、8000、FLEX6000、MAX9000、MAX7000、MAX5000和Classic等大部分可编程逻辑器件,提供了世界上唯一真正与结构无关的可编程逻辑设计环境。3、完全集成化Max+plus的设计输入、处理与较验功能全部集成在统一的开发环境下,这样可以加快动态调试、缩短开发周期。4、丰富的设计库Max+plus提供丰富的库单元供设计者调用,其中包括74系列的全部器件和多种特殊的逻辑功能(Macro-Function)以及新型的参数化的兆功能(Mage-Function)。5、模块化工具 设计人员可以从各种设计输入、处理和较验选项中进行选择从而使设计环境用户化。6、硬件描述语言(HDL)M
22、ax+plus软件支持各种HDL设计输入选项,包括VHDL、Verilog HDL和Altera自己的硬件描述语言AHDL。7、Opencore特征Max+plus软件具有开放核的特点,允许设计人员添加自己认为有价值的宏函数。3.3 Max+plus功能简介1 、原理图输入(Graphic Editor)MAX+PLUSII软件具有图形输入能力,用户可以方便的使用图形编辑器输入电路图,图中的元器件可以调用元件库中元器件,除调用库中的元件以外,还可以调用该软件中的符号功能形成的功能块.图形编辑器窗口见图(一)。图一 图形编辑器窗口 2、硬件描述语言输入(Text Editor)MAX+PLUSI
23、I软件中有一个集成的文本编辑器,该编辑器支持VHDL,AHDL和Verilog硬件描述语言的输入,同时还有一个语言模板使输入程序语言更加方便,该软件可以对这些程序语言进行编译并形成可以下载配置数据,文本编辑器窗口见图二图二 文本编辑器窗口、波形编辑器(aveform Editor) 在进行逻辑电路的行为仿真时,需要在所设计电路的输入端加入一定的波形,波形编辑器可以生成和编辑仿真用的波形(*.SCF文件),使用该编辑器的工具条可以容易方便的生成波形和编辑波形。波形编辑器窗口如图(三)所示。使用时只要将欲输入波形的时间段用鼠标涂黑,然后选择工具条中的按钮,例如,如果要某一时间段为高电平,只需选择按
24、钮 ”1”。还可以使用输入的波形(*.WDF文件)经过编译生成逻辑功能块,相当于已知一个芯片的输入输出波形,但不知是何种芯片,使用该软件功能可以解决这个问题,设计出一个输入和输出波形相同CPLD电路。、管脚(底层)编辑窗口(Floorplan Editor) 该窗口用于将已设计好逻辑电路的输入输出节点赋予实际芯片的引脚,通过鼠标的拖拉,方便的定义管脚的功能。管脚(底层)编辑窗口见图(四)。图三 波形编辑器窗口图四 管脚(底层)编辑窗口、自动错误定位 在编译源文件的过程中,若源文件有错误,Max+Plus2软件可以自动指出错误类型和错误所在的位置。、逻辑综合与适配 该软件在编译过程中,通过逻辑综
25、合 (Logic Synthesizer)和适配(Fitter) 模块,可以把最简单的逻辑表达式自动的吻合在合适的器件中。、设计规则检查 选取CompileProcessingDesign Doctor菜单,将调出规则检查医生,该医生可以按照三种规则中的一个规则检查各个设计文件,以保证设计的可靠性。一旦选择该菜单,在编译窗口将显示出医生,用鼠标点击医生,该医生可以告诉你程序文件的健康情况。见图(五)。图五 规则检测医生、多器件划分(Partitioner) 如果设计不能完全装入一个器件,编译器中的多器件划分模块,可自动的将一个设计分成几个部分并分别装入几个器件中,并保证器件之间的连线最少。、编
26、程文件的产生 编译器中的装配程序(Assembler)将编译好的程序创建一个或多个编程目标文件:EPROM配置文件(*.POF)例如,MAX7000系列SRAM文件(*.SCF)例如,FLEX8000系列的配置芯片EPROMJEDEC文件(*.JED)十六进制文件(*.HEX)文本文件(*.TTF)串行BIT流文件(*.SBF)10、仿真 当设计文件被编译好,并在波形编辑器中将输入波形编辑完毕后,就可以进行行为仿真了,通过仿真可以检验设计的逻辑关系是否准确.11、分析时间(Analyze Timing) 该功能可以分析各个信号到输出端的时间延迟,可以给出延迟矩阵和最高工作频率.见图(六)和图(
27、七)。图六 延迟矩阵图七 最高工作频率12、器件编程 当设计全部完成后,就可以将形成的目标文件下载到芯片中,实际验证设计的准确性.3.4 Max+plus设计过程一、设计流程使用Max+plus软件设计流程由以下几部分组成。如图(八)所示。图八Max+plus软件设计流程 1、设计输入:可以采用原理图输入、HDL语言描述、EDIF网表输入及波形输入等几种方式。2、编译: 先根据设计要求设定编译参数和编译策略,如器件的选择、逻辑综合方式的选择等。然后根据设定的参数和策略对设计项目进行网表提取、逻辑综合和器件适配,并产生报告文件、延时信息文件及编程文件,供分析仿真和编程使用。 3、仿真:仿真包括功
28、能仿真、时序仿真和定时分析,可以利用软件的仿真功能来验证设计项目的逻辑功能是否正确。 4、编程与验证:用经过仿真确认后的编程文件通过编程器(Programmer)将设计下载到实际芯片中,最后测试芯片在系统中的实际运行性能。 在设计过程中,如果出现错误,则需重新回到设计图八 开发流程图 输入阶段,改正错误或调整电路后重复上述过程。图(九)是Max+plus编译设计主控界面,它显示了Max+plus自动设计的各主要处理环节和设计流程,包括设计输入编辑、编译网表提取、数据库建立、逻辑综合、逻辑分割、适配、延时网表提取、编程文件汇编(装配)以及编程下载9个步骤。图九 编译主控界面二、设计步骤1)输入项
29、目文件名(File/Project/Name)2)输入源文件(图形、VHDL、AHDL、Verlog和波形输入方式)(Max+plus/graphic Editor;Max+plus/Text Editor;Max+plus/Waveform Editor)3)指定CPLD型号(Assign/Device)4)设置管脚、下载方式和逻辑综合的方式(Assign/Global Project Device Option,Assign/Global Logic Synthesis)5)保存并检查源文件(File/project/Save & Check)6)指定管脚(Max+plus/Floorpl
30、an Editor)7)保存和编译源文件(File/project/Save & Compile)8)生成波形文件(Max+plus/Waveform Editor)9)仿真(Max+plus/Simulator)10)下载配置(Max+plus/Programmer)三、常用菜单简介(1)MAX+PLUS菜单:(2)文件菜单,该文件菜单随所选功能的不同而不同。(3)模板菜单,该模板使编写VHDL和AHDL设计文件更容易和方便。 (4)指定菜单(5)选择菜单该软件的菜单繁多,要想都学会有一定的难度,主要原因是资料问题。但是常用的菜单会使用还是可能的。四、如何获得帮助最直接的帮助来自于Max+p
31、lus的Help菜单。若需要某个特定项目的帮助信息,可以同时按+键或者选用工具栏中的快速帮助按钮“”。此时,鼠标变为带问号的箭头,点击“特定的项目”就可弹出相应的帮助信息。这里的“特定项目”,可以包含某个器件的图形、文本编辑中的单词,菜单选项,甚至可以是一个弹出的窗口。 四、VHDL语言简介 4.1 VHDL概述VHDL语言是随着集成电路系统化和高度集成化的发展而逐步发展起来的,是一种用于数字系统的设计和测试的硬件描述语言。对于小规模的数字集成电路,通常可以用传统的设计输入方法(如原理图输入)来完成,并进行模拟仿真。但纯原理图输入方式对于大型复杂的系统,由于种种条件和环境的制约,其工作效率较低
32、,而且容易出错,暴露出多种弊端。在信息技术高速发展的今天,对集成电路提出了高集成度、系统化、微尺寸、微功耗的要求,因此,高密度可编程逻辑器件和VHDL便应运而生。 4.2 VHDL的特点VHDL主要用于描述数字系统的结构、行为、功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法十分类似于一般的计算机高级语言。应用VHDL进行工程设计的优点是多方面的,主要有:(1) 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的重要保证。就目前流行的EDA工具和VHDL综合器而言,将基于抽象的
33、行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。(2) VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能的可行性做出判断。(3) 用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门级网表(根据不同的实现芯片)。这种方式突破了门级设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。利用EDA工具的逻辑优化功能,可以自动地把一个综合后的设计变成一个更小、更
34、高速的电路系统。反过来,设计者还可以容易地从综合和优化的电路获得设计信息,返回去更新修改VHDL设计描述,使之更加完善。(4) VHDL对设计的描述具有相对独立性。设计者可以不懂硬件的结构,也不必顾及最终设计的目标器件是什么,而进行独立的设计。正因为VHDL的硬件描述与具体的工艺技术和硬件结构五官,所以VHDL设计程序的硬件实现目标器件有广阔的选择范围,其中包括各种系列的CPLD、FPGA及各种门阵列器件。(5) 由于VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变 源程序的条件下,只需改变类属参量或函数,就能轻易地改变设计的规模和结构。(6) VHDL本身的生命周期长。因
35、为VHDL的硬件描述与工艺无关,不会因工艺变化而使描述过时。而与工艺技术有关的参数可通过VHDL提供的属性加以描述,当 生产工艺改变时,只需要修改相应程序中的属性参数即可。 4.3 VHDL的基本结构简介一个VHDL程序必须包括实体(ENTITY)和结构体(ARCHITECTURE)。除实体和结构体外,多数程序还要包含库(LIBRARY)、程序包(PACKAGE)和配置语句说明部分。为了保证用VHDL语言设计硬件电路系统的可靠性、正确性,设计人员在编写VHDL语言程序对硬件电路系统进行设计之前,必须对硬件电路系统的设计目的和设计要求有一个非常明确的认识才行,设计人员通常遵循以下设计流程。(1)
36、 按照硬件电路系统设计的要求,抽象出硬件设计的总体模块,并根据硬件系统的宏观内外连接关系,对其定义。这部分主要是抽象出各级模块,并用实体对它们的连线接口进行描述。(2) 分析硬件系统的具体功能,按照功能要求编写能实现硬件系统功能的VHDL语言程序。这部分主要就是抽象出不同的结构体进行描述。(3) 对上述两步流程中所设计的VHDL语言程序进行功能仿真,并根据功能的实现情况,对程序做修改和优化。这就是通常所说的前仿真。(4) VHDL语言程序是对硬件电路的具体描述,当在验证了所编程能正确实现电路功能之后就应该分析VHDL程序的执行效率,这就是通常所说的VHDL程序的综合、优化和布局布线。(5) 在
37、进行综合、优化和逻辑布局布线过程中,由于开发软件的一些不可预见性,或是系统连接时序的不一致性,或是缺少必要的人为的约束,容易导致设计功能的异常性。所以再一次的系统级仿真是必要的,这就是通常所说的后仿真。(6) 在完成以上步骤以后,最后的工作就是程序的固化,也就是将设计好的VHDL程序下载到目标器件中。 五、状态机 5.1 什么是状态机?状态机是一类很重要的时序电路,是很多数字电路核心部件,是实现高效率、高可靠逻辑控制的重要途径。状态机就是事物存在状态的一种综合描述,说明任意两个状态之间的转换条件。一般分为Moore(摩尔)型和Mealy(米勒)型状态机两种。 5.2 状态机的优势1、状态机克服
38、了纯硬件数字系统顺序方式控制不灵活的缺点;2、由于状态机的结构相对简单,设计方案相对固定;3、状态机容易构成性能良好的同步时序逻辑模块,对解决大规模逻辑电路设计中的竞争冒险现象是一个较好的选择。消除电路中的毛刺现象,也有很多设计方案解决;4、与VHDL的其他描述方式相比,状态机的VHDL表述丰富多样、程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有其独到的好处;5、在高速运算和控制方面,状态机更有其巨大的优势。一般由状态机构成的硬件系统比CPU所能完成同样功能的软件系统的工作速度要高34个数量级。6、高可靠性。 5.3 状态机的基本结构和功能状态机一般包含输入信号、输出信号、一
39、组寄存器记忆状态机的内部状态。状态机寄存器的下一个状态和输出,不仅与输入信号有关,而且还与当前状态有关,状态机可以认为是组合逻辑和寄存器逻辑的特殊组合。状态机的基本操作有两种:1、状态机内部状态转换。状态机经历一系列状态,下一状态有次态逻辑根据当前状态和输入条件决定。2、产生输出信号序列。输出信号由输出逻辑根据当前状态和输入条件决定。 5.4一般状态机的VHDL描述 一般包含以下几部分:(1)至少包含一个状态信号,用来指定有限状态机的状态(2)状态转移指定和输出指定,对应于控制单元中与每一个控制步有关系的转移条件。(3)时钟信号,一般用来同步。(4)同步或异步复位信号。常用的描述方法有:(1)
40、三进程描述方式每个进程分别描述次态逻辑、状态寄存器、输出逻辑。(2)双进程描述方式一个进程描述次态逻辑、状态寄存器、输出逻辑的其中两个,另外一个进程描述剩余的功能。(3)单进程描述方式用一个进程描述状态机的次态逻辑、状态寄存器、输出逻辑全部功能。 5.5 Moore和Mearly状态机的选择Moore型有限状态机:输出信号仅与当前状态有关。Mearly型有限状态机:输出信号不仅与当前状态有关,而且还与所有的输入信号有关。Moore型和Mealy型状态机的选用:1、moore型有限状态机的输出信号将在时钟信号的触发沿来到后的几个时延后得到输出值,同时在该时钟周期的剩余时间内保持不变,即输入信号在
41、该时钟周期内发生变化,输出信号值也不会改变。也就是说输入信号改变产生的任何效果都会延迟到下一个时钟周期。可以说,moore型状态机最大的优点就是可以将输入部分和输出部分隔离开。2、Mealy型有限状态机,由于它的输出是输入信号及当前状态的函数。所以如果输入信号发生改变,输出也可以在一个时钟周期的中间发生改变。这样会将输入信号的噪声传递给输出信号。3、在实际应用中,moore型有限状态机比mealy型有限状态机需要更多的状态。 六 EDA技术 6.1EDA技术的发展阶段1CAD阶段20世纪60年代中期至20世纪80年代为CAD发展的初期。这个阶段人们分别研制了一些单独的软件工具,主要有印制电路板
42、(Printed Circuit Board,PCB)布线设计、电路模拟、逻辑模拟及版图的绘制等,从而可以利用计算机将设计人员从大量繁琐、重复的计算和绘图工作中解脱出来。例如,目前常用的PCB布线软件TANGO以及用于电路模拟的SPICE软件和后来产品化的集成电路版图编辑与设计规则检查系统等软件,都是这个时期的产品。20世纪80年代初由于集成电路规模越来越大,制作也越来越复杂,EDA技术有了较快的发展,许多软件公司,如Mentor Graphics、Daisy System及Logic System等进入市场,软件工具的产品开始增多。这个时期的软件主要还是针对产品开发,分为设计、分析、生产、测
43、试等多个独立的软件包。每个软件只能完成其中的一项工作,但如果通过顺序循环使用这些软件,完成设计的全过程,还存在两个方面的问题:首先,由于各个软件工具是由不同的公司和专家开发的,只解决一个领域的问题,若将一个软件工具的输出作为另一个软件工具的输入,就需要人工处理,这往往很繁琐,影响了设计速度;其次,对于复杂电子系统的设计,当时的EDA工具不能提供系统级的仿真与综合。由于缺乏系统级的设计考虑,常常在产品开发后期才发现设计有错误,此时再进行修改十分困难。2CAE阶段20世纪80年代初期至20世纪90年代初期为CAE(Computer Aided Engineering)阶段,在集成电路与电子系统设计
44、方法学以及设计工具集成化方面取得了许多成果。各种设计工具,如原理图输入、编译与连接、逻辑模拟、测试码生成、版图自动布局以及各种单元库均已齐全。由于采用了统一数据管理技术,因而能够将各个工具集成为一个CAE系统。运用这种系统,按照设计方法学制定的某种设计流程,可以实现由RT级(RTL?)开始,从设计输入到版图输出的全程设计自动化。这个阶段中主要采用基于单元库的半定制设计方法。采用门阵列和标准单元法设计的各种ASIC(Application Specific Integrated Circuit)得到了极大的发展。多数CAE系统中还集成了PCB自动布局布线软件以及热特性、噪声、可靠性等分析软件,进
45、而可以实现电子系统设计自动化,这个阶段典型的CAE系统有Mentor Graphics、Valid Daisy等公司的产品。 3EDA阶段 20世纪90年代以来,微电子技术以惊人的速度发展,其工艺水平已达到深亚微米(Deep Submicron)级,在一个芯片上可集成数百万乃至上千万晶体管,工作速度可达到Gb/s,这为制造出规模更大、速度和信息容量更高的芯片系统提供了基础条件,同时也对EDA系统提出了更高的要求,并大大促进了EDA技术的发展。20世纪90年代以后,出现了以高级语言描述、系统仿真和综合技术为特征的第三代EDA技术,它不仅极大地提高了系统的设计效率,而且使设计者摆脱了大量的辅助性工
46、作,将精力集中于创造性的方案与概念的构思上。 图十 EDA技术的发展阶段 6.2 EDA技术的设计方法 1.电路级设计 电路级设计工作流程如图十一所示。电子工程师接受系统设计任务后,首先确定设计方案,并选择能实现该方案的合适元器件,然后根据具体的元器件设计电路原理图。接着进行第一次仿真,其中包括数字电路的逻辑模拟、故障分析,模拟电路的交直流分析、瞬态分析。在进行系统仿真时,必须要有元件模型库的支持,计算机上模拟的检人输出波形代替了实际电路调试中的信号源和示波器。这一次仿真主要是检验设计方案在功能方面的正确性。仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线。在制作PCB板之
47、前还可以进行PCB后分析,其中包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并可将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真。后仿真主要是检验PCB板在实际工作环境中的可行性。由此可见,电路级的EDA技术使电子工程师在实际的电子系统产生前,就可以全面地了解系统的功能特性和物理特性,从而将开发风险消灭在设计阶段,缩短了开发时间,降低了开发成本。图十一 电路级设计工作流程 2.系统级设计 进人90年代以来,电子信息类产品的开发明显呈现两个特点:一是产品复杂程度提高;二是产品上市时限紧迫。然而,电路级设计本质上是基于门级描述的单层次设计,设计的所有工作(包括设计忙人、仿真和
48、分析、设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,一种高层次的电子设计方法,也即系统级设计方法,应运而生。高层次设计是一种“概念驱动式”设计,设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述。由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的方案与概念的构思上,一且这些概念构思以高层次描述的形式输人计算机,EDA系统就能以规则驱动的方式自动完成整个设计。这样新的概念就能迅速有效地成为产品,大大缩短了产品的研制周期。不仅如此,高层次设计只是定义系统的行为特性可以不涉及实现工艺,因此还可以在厂家综合库的支持下,利用综合优化工具将高层次描述
49、转换成针对某种工艺优化的网络表,使工艺转化变得轻而易举。系统级设计工作流程见图十二。图十二 系统级设计工作流程 3.首先,工程师按照“自顶向下”的设计方法进行系统划分。其次,输人VHDL代码,这是高层次设计中最为普遍的输人方式。此外,还可以采用图形输人方式(框图,状态图等)这种输人方式具有直观、容易理解的优点。第三步是,将以上的设计输人编译成标准的VHDL文件。第四步是进行代码级的功能仿真,主要是检验系统功能设计的正确性。这一步骤适用大型设计,因为对于大型设计来说,在综合前对派代码仿真,就可以大大减少设计重复的次数和时间。一般情况下,这一仿真步骤可略去。第五步是,利用综合器对VHDL源代码进行
50、综合优化处理,生成门级描述的网络表文件,这是将高层次描述转化为硬件电路的关键步骤。综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库支持下才能完成。第六步是,利用产生的网络表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,是较为粗略的。一般的设计,也可略去这一仿真步骤。第七步是利用适配器将综合后的网络表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化、布局布线。第八步是在适配完成后,产生多项设计结果:(1)适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;(2)适配后的仿真模型;(3)器件编程文件。根
51、据适配后的仿真模型,可以进行适配后的时序仿真,因为已经得到器件的实际硬件特性(如时延特性所以仿真结果能比较精确地预期未来芯片的实际性能。如果仿真结果达不到设计要求,就需要修改VHDL源代码或选择不同速度和品质的器件,直至满足设计要求;最后一步是将适配器产生的器件编程文件通过编程器或下载电缆载人到目标芯片FPGA或CPLD中。如果是大批量产品开发,则通过更换相应的厂瓣合库,轻易地转由ASIC形式实现。6.3 EDA技术的发展趋势随着市场需求的增长,集成工艺水平的可行性以及计算机自动设计技术的不断提高,促使单片系统(或称系统集成芯片)成为集成电路设计的发展方向,这一发展趋势表现在如下几个方面:一是
52、超大规模集成电路的集成度和工艺水平不断提高,深亚微米工艺,如0.18m、0.13m、90nm(2003年)已经走向成熟,在一个芯片上完成系统级集成已成为可能。二是市场对电子产品提出了更高的要求,如必须降低电子系统的成本,减小系统的体积等,从而对系统的集成度不断提出更高的要求。三是高性能的EDA工具得到迅速的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。最后是计算机硬件平台性能大幅度提高,为复杂的SOC(System on a Chip)设计提供了物理基础。但现有的HDL只是提供行为级或功能级的描述,尚无法完成对复杂的系统级的抽象描述。人们正尝试开发一种新的系统级的设计语言来完成这一工作,现在已开发出更趋于电路行为级的硬件描述语言,如SystemC、Superlog及系统级混合仿真工具,可以在同一个开发平台上完成高级语言,如C/C+等,与标准HDL(Verilog HDL,VHDL)或其他更低层次描述模块的混合仿真。虽然用户用高级语言编写的模块尚不能自动转化成HDL描述,但作为一种针对特定应用领域的开发工具,软件供应商已经为常用的功能模块提供了丰富的宏单元库支持,可以方便地构建应用系统,并通过仿真加以优化,最后自动产生HDL代码,进入下一阶段的ASIC实现。此外,随着系统开发对EDA技术目标器件各种性能要求的提高,A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年封装材料来料检验与批次一致性控制规范
- 2026年数据确权后的收益分配与税收优惠政策衔接
- 2026年辽宁省红旗校初三下学期4月考生物试题试卷.含解析
- 2026年耕播种管收作业监测终端数据采集频率定位精度要求
- 2026年从事基础研究人员长周期管理 节点奖励:科技人员激励双机制
- 2026年海底管线结构完整性管理指南
- 2025年临床医学专升本模拟卷
- 中化集团技术支持中心的管理方案
- 汽车行业市场前景及投资研究报告:轮胎替代加速、高端配套突破戴维斯双击
- 新浪微博运营岗位招聘面试经验谈
- 抑郁发作的课件
- 摩擦棘轮课件
- 2022海湾消防GSTCFG 彩色监控系统配置管理软件安装使用说明书
- 花草培育课件
- 2026届上海浦东新区高三一模英语试题答案详解(精校打印版)
- 2026年湖南三一工业职业技术学院单招职业技能考试必刷测试卷必考题
- DB53∕T1051.1-2021 金荞麦生产技术规程 第 1 部分:种子种苗质量
- 传媒行业编导岗位招聘考试试卷及答案
- 江苏护理历年单招题库及答案解析
- 模版倾覆应急预案
- 2025年易性症测试题及答案
评论
0/150
提交评论