1EDA技术电气工程学院联系地点:电气学院408电话:13669418657E-mail:weishange@126.com2本课程安排:学时数:36学时(课堂教学21学时,实验15学时)课堂教学内容:第一章、绪论-EDA技术概况第二章、大规模可编程逻辑器件第三章、原理图输入设计方法第四章、VHDL设计方法第五章、VHDL设计进阶第六章、数字电子系统设计应用实例3实验教学内容:分5次共15学时。掌握EDA开发系统MAX+PLUSII,从简单的电路设计入手,到最后能够设计比较复杂的电子系统。培养利用EDA技术设计电路系统的实际动手能力。教学目的:了解一类可编程逻辑器件,掌握一门硬件描述语言,熟悉使用一种EDA设计工具,设计自己的应用。4教材及参考资料教材:《EDA技术及应用》朱正伟编著清华大学出版社参考资料:《CPLD技术及其应用》宋万杰等编著西安电子科大出版社出版《VHDL硬件描述语言与数字逻辑电路设计》侯伯亨顾新等编著西安电子科技大学出版社《CPLD/FPGA的开发和应用》徐光辉等编著电子工业出版社出版5EDA技术的相关网址:?ElectronicDesignAutomation__电子设计自动化7EDA的基本概念EDA技术,是一种以计算机为基本工作平台,利用计算机图形学、拓扑逻辑学、计算数学以及人工智能学等多种计算机应用学科的最新成果而开发出来的一整套软件工具,是一种帮助电子设计工程师从事电子元件产品和系统设计的综合技术。8EDA技术发展的三个阶段:1)早期电子CAD阶段20世纪80年代,属EDA技术发展初期。利用计算机、二维图形编辑与分析的CAD工具,完成布图布线等高度重复性的繁杂工作。典型设计软件如Protel、Tango等布线软件。9EDA技术发展的三个阶段:2)计算机辅助工程设计CAE阶段20世纪80年代末,出现了低密度的可编程逻辑器件(PAL_ProgrammableArrayLogic和GAL_GenericArrayLogic),相应的EDA开发工具主要解决电路设计没有完成之前的功能检测等问题。10EDA技术发展的三个阶段:3)电子设计自动化(EDA)阶段20世纪90年代中,可编程逻辑器件迅速发展,出现功能强大的全线EDA工具。具有较强抽象描述能力的硬件描述语言(VHDL、VerilogHDL)、高性能综合工具的使用,使过去单功能电子产品开发转向系统级电子产品开发(即SOC_SystemOnaChip:单片系统、或片上系统集成)。开始实现“概念驱动工程”(ConceptDriverEngineering,CDE)的梦想。11EDA的广义定义范围包括:半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印刷电路板设计自动化、仿真与测试、故障诊断自动化、形式验证自动化统称为EDA工程12EDA技术的狭义定义:以大规模可编程逻辑器件(PLD)为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程器件的开发软件及实验开发系统为设计工具,自动完成硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门多学科融合的新技术。131.2传统设计方法和EDA方法的区别:传统设计方法:固定功能元件电路板设计完整系统构成系统测试与性能分析自下而上(Bottom-up)的设计方法。14传统设计方法的缺点:1.设计依赖于手工和经验。2.设计依赖于现有的通用元器件。3.设计后期的仿真和调试。4.自下而上设计思想的局限。5.设计实现周期长,灵活性差,耗时耗力,效率低下。15EDA设计方法:设计思想不同:自上而下(Top-Down)的设计方法。自上而下是指将数字系统的整体逐步分解为各个子系统和模块,首先在顶层进行功能方框图的结构设计,然后在方框图一级进行仿真纠错,再用硬件描述语言对系统行为进行描述,接下来用综合优化工具生成具体电路的网表,最后将网表下载到具体的可编程逻辑芯片中形成专用集成电路。自上而下设计中可逐层描述,逐层仿真,保证满足系统指标。1616设计准备设计输入·原理图·硬件描述语言功能仿真设计处理·优化、综合·适配、分割·布局、布线时序仿真器件编程器件测试设计完成EDA设计流程:171.2.1设计准备设计准备是指设计者在进行设计之前,依据任务要求,确定系统所要完成的功能,并进行方案论证、系统设计和器件选择等。1.2.2设计输入设计输入----将设计的系统或电路的功能以开发软件要求的某种形式表示出来,并送入计算机的过程。设计输入形式:图形设计输入方式文本方式设计输入方式182020/4/26181.原理图或图形输入方式这是一种最直接的设计输入方式,它使用软件系统提供的元器件库及各种符号和连线画出原理图,形成原理图输入文件。这种方式大多用在对系统及各部分电路很熟悉的情况,或在系统对时间特性要求较高的场合。优点是容易实现仿真,便于信号的观察和电路的调整。192.硬件描述语言输入方式硬件描述语言HDL(HardwareDescriptionLanguage)是一种用形式化的方法来描述数字电路和系统的行为和功能的语言。目前常用的高层硬件描述语言,有VHDL和VerilogHDL等,利用这种语言可以描述自己对极为复杂的数字系统的设计思想,然后利用EDA工具把其中需要变成具体物理电路的模块组合经HDL综合器转换成门级电路网表,接下来用可编程逻辑器件(CPLD/FPGA)自动布局布线工具把网表转换成具体的电路布线结构。201.2.3设计处理这是EDA设计中的核心环节。在设计处理阶段,EDA编译工具软件如MAX+PLUS2、Quartus2等自动地对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理主要包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。211.2.4设计校验设计校验过程包括功能仿真和时序仿真。功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。功能仿真没有延时信息或者有由系统添加的微小标准延时,这对于初步的功能检测非常方便。时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为后仿真或延时仿真。在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能以及检查和消除竞争冒险等。22221.2.5器件编程编程是指将设计处理中产生的编程数据文件通过软件放到具体的可编程逻辑器件中去。对CPLD器件来说是将JED文件下载(DownLoad)到CPLD器件中去,对FPGA来说是将位流数据BG文件配置到FPGA中去。器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作。基于SRAM的FPGA可以由EPROM或其他存储体进行配置。在系统的可编程器件(ISP-PLD)则不需要专门的编程器,只要一根与计算机互连的下载编程电缆就可以了。23传统方法与EDA方法比较:传统方法1.自下至上(BottomUp)2.通用的逻辑元、器件3.系统硬件设计的后期进行仿真和调试4.主要设计文件是电原理图5.手工实现EDA方法1.自上至下(TopDown)2.PLD(可编程逻辑器件)3.系统设计的早期进行仿真和修改4.多种设计文件,发展趋势以HDL描述文件为主5.自动实现EDA技术极大地降低硬件电路设计难度,提高设计效率,是电子系统设计方法的质的飞跃。241.3EDA技术的主要内容实现载体:大规模可编程逻辑器件(PLD__ProgrammableLogicDevice)描述方式:硬件描述语言(HDL__HarddescripationLauguage)VHDL、VerilogHDL等设计工具:EDA开发工具软件、开发系统硬件下载验证:实验开发系统251.大规模可编程逻辑器件可编程逻辑器件PLD(ProgrammableLogicDevice)是一种半定制集成电路,在其内部集成了大量的门和触发器等基本逻辑电路,用户通过编程来改变PLD内部电路的逻辑关系或连线,就可以得到需要的设计电路。可编程逻辑器件的出现,改变了传统的数字系统设计方法,其设计方法为采用EDA技术开创了广阔的发展空间,并极大地提高电路设计的效率。26可编程逻辑器件从集成密度上可分为低密度可编程逻辑器件LDPLD和高密度可编程逻辑器件HDPLD两类。LDPLD集成密度一般小于700门(等效门)/片。HDPLD主要为复杂可编程逻辑器件CPLD和FPGA,其集成密度大于700门/片。随着集成工艺的发展,HDPLD集成密度不断增加,性能不断提高。目前集成度最高的HDPLD可达数千万门/片以上。27FPGA__FieldProgrammableGatesArrayCPLD__ComplexProgrammableLogicDevice主流公司:Xilinx、Altera、LatticeFPGA/CPLD显著优点:开发周期短、投资风险小、产品上市速度快、市场适应能力强、硬件修改升级方便。28WhatisFPGA?FPGA(FieldProgrammableGate-Array)FPGA近十余年加入到用户可编程技术行列中的器件FPGA的结构:由逻辑功能块排列成阵列组成,并由可编程的内部连线连接这些逻辑功能块来实现不同的设计可编程的电子开关29FPGA的结构I/OBlockLogicBlockProgrammableInterconnect30VHDL:IEEE标准,系统级抽象描述能力较强。Verilog:IEEE标准,门级开关电路描述能力较强。2.硬件描述语言(HDL__HardwareDescriptionLanguage)31VHDL的特点1、VHDL主要用于描述数字系统的结构、行为、功能和接口。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的保证。2、VHDL有良好的可读性。它可以被计算机接受,也容易被读者理解。用VHDL书写的源文件,既是程序又是文档,既是工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件。32VerilogHDL的特点1、VerilogHDL适合算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)和版图级(Layout)等各个层次的电路设计和描述。2、VerilogHDL也具有与VHDL类似的特点,稍有不同的是VerilogHDL早在1983年就已经推出,至今已有30年的应用历史,因而VerilogHDL拥有广泛的设计群体,其设计资源比VHDL丰富。另外VerilogHDL是在C语言的基础上演化而来的,因此只要具有C语言的编程基础,就很容易学会并掌握这种语言。33用硬件描述语言实现数字电路设计的过程编辑源程序编译设计文件功能仿真逻辑综合时序仿真编程下载器件调试目标芯片34EDA开发工具分为:集成化的开发系统:特定功能的开发软件:综合软件仿真软件3.软件开发工具35Altera公司:Max+plusⅡ、QuartusⅡ系列Xilinx公司:ISE、Foundation、Aillance系列Lattice公司:ispDesignEXPERT系列集成化的开发系统364.实验开发系统37EDA实验的3个层次1、逻辑行为的实现2、控制与信号传输功能的实现3、算法的实现如:译码器、红绿交通灯控制、表决器、显示扫描器、电梯控制、乒乓球等电路的设计,时钟频率一般低于4MHz如:各类信号发生器、A/D采样控制器、FIFO、RS232或PS/2通信、FPGA/CPLD与单片机综合控制等电路的设计,时钟频率一般在25MHz左右如:离散FFT变换、数字滤波器