第一章 EDA技术概述ppt课件.ppt
1,EDA技术 电气工程学院 联系地点:电气学院408 电话:13669418657 E-mail: ,2,本课程安排:学时数:36学时(课堂教学21学时,实验15学时)课堂教学内容: 第一章、绪论-EDA技术概况 第二章、大规模可编程逻辑器件 第三章、原理图输入设计方法 第四章、VHDL设计方法 第五章、VHDL设计进阶 第六章、数字电子系统设计应用实例,3,实验教学内容: 分5次共15学时。 掌握 EDA开发系统 MAX+PLUS II,从简单的 电路设计入手,到最后能够设计比较复杂的电 子系统。培养利用EDA技术设计电路系统的实 际动手能力。教学目的: 了解一类可编程逻辑器件,掌握一门硬件描述 语言,熟悉使用一种EDA设计工具,设计自己 的应用。,4,教材及参考资料,教材: EDA技术及应用朱正伟 编著 清华大学出版社参考资料: CPLD技术及其应用宋万杰 等编著 西安电子科大出版社出版 VHDL硬件描述语言与数字逻辑电路设计 侯伯亨 顾新 等编著 西安电子科技大学出版社 CPLD/FPGA的开发和应用徐光辉 等编著 电子工业出版社出版,5,EDA技术的相关网址: ,6,第一章 EDA技术概况,1.1 EDA技术及其发展 1.什么是EDA? Electronic Design Automation _电子设计自动化,7,EDA的基本概念,EDA技术,是一种以计算机为基本工作平台,利用计算机图形学、拓扑逻辑学、计算数学以及人工智能学等多种计算机应用学科的最新成果而开发出来的一整套软件工具,是一种帮助电子设计工程师从事电子元件产品和系统设计的综合技术。,8,EDA技术发展的三个阶段:,1)早期电子CAD阶段 20世纪80年代,属EDA技术发展初期。利用计算机、二维图形编辑与分析的CAD工具,完成布图布线等高度重复性的繁杂工作。 典型设计软件如Protel、Tango等布线软件。,9,EDA技术发展的三个阶段:,2)计算机辅助工程设计CAE阶段 20世纪80年代末,出现了低密度的可编程逻辑器件(PAL_Programmable Array Logic 和GAL_Generic Array Logic),相应的EDA开发工具主要解决电路设计没有完成之前的功能检测等问题。,10,EDA技术发展的三个阶段:,3)电子设计自动化(EDA)阶段 20世纪90年代中,可编程逻辑器件迅速发展,出现功能强大的全线EDA工具。具有较强抽象描述能力的硬件描述语言(VHDL、Verilog HDL)、高性能综合工具的使用,使过去单功能电子产品开发转向系统级电子产品开发(即SOC_ System On a Chip:单片系统、或片上系统集成)。 开始实现“概念驱动工程”(Concept Driver Engineering, CDE )的梦想。,11,EDA的广义定义范围包括:,半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印刷电路板设计自动化、仿真与测试、故障诊断自动化、形式验证自动化统称为EDA工程,12,EDA技术的狭义定义:,以大规模可编程逻辑器件(PLD)为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程器件的开发软件及实验开发系统为设计工具,自动完成硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真,直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门多学科融合的新技术。,13,1.2 传统设计方法和 EDA方法的区别:,传统设计方法:,固定功能元件,电路板设计,完整系统构成,系统测试与性能分析,自下而上(Bottom - up)的设计方法。,14,传统设计方法的缺点: 1. 设计依赖于手工和经验。 2. 设计依赖于现有的通用元器件。 3. 设计后期的仿真和调试。 4. 自下而上设计思想的局限。 5. 设计实现周期长,灵活性差,耗时 耗力,效率低下。,15,EDA设计方法: 设计思想不同: 自上而下(Top - Down)的设计方法。 自上而下是指将数字系统的整体逐步分解为各个子系统和模块,首先在顶层进行功能方框图的结构设计,然后在方框图一级进行仿真纠错,再用硬件描述语言对系统行为进行描述,接下来用综合优化工具生成具体电路的网表,最后将网表下载到具体的可编程逻辑芯片中形成专用集成电路。 自上而下设计中可逐层描述,逐层仿真,保证满足系统指标。,16,16,EDA设计流程:,17,1.2.1 设计准备 设计准备是指设计者在进行设计之前,依据任务要求,确定系统所要完成的功能,并进行方案论证、系统设计和器件选择等。,18,2022/11/23,18,1. 原理图或图形输入方式 这是一种最直接的设计输入方式,它使用软件系统提供的元器件库及各种符号和连线画出原理图,形成原理图输入文件。这种方式大多用在对系统及各部分电路很熟悉的情况,或在系统对时间特性要求较高的场合。优点是容易实现仿真,便于信号的观察和电路的调整。,19,2. 硬件描述语言输入方式 硬件描述语言HDL(Hardware Description Language)是一种用形式化的方法来描述数字电路和系统的行为和功能的语言。 目前常用的高层硬件描述语言,有VHDL和Verilog HDL等,利用这种语言可以描述自己对极为复杂的数字系统的设计思想,然后利用EDA工具把其中需要变成具体物理电路的模块组合经HDL综合器转换成门级电路网表,接下来用可编程逻辑器件(CPLD/FPGA)自动布局布线工具把网表转换成具体的电路布线结构。,20,1.2.3 设计处理 这是EDA设计中的核心环节。在设计处理阶段,EDA编译工具软件如MAX+PLUS2、Quartus2等自动地对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理主要包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。,21,1.2.4 设计校验 设计校验过程包括功能仿真和时序仿真。功能仿真是在设计输入完成之后,选择具体器件进行编译之前进行的逻辑功能验证,因此又称为前仿真。功能仿真没有延时信息或者有由系统添加的微小标准延时,这对于初步的功能检测非常方便。 时序仿真是在选择了具体器件并完成布局、布线之后进行的时序关系仿真,因此又称为后仿真或延时仿真。在设计处理以后,对系统和各模块进行时序仿真,分析其时序关系,估计设计的性能以及检查和消除竞争冒险等。,22,22,1.2.5 器件编程 编程是指将设计处理中产生的编程数据文件通过软件放到具体的可编程逻辑器件中去。对CPLD器件来说是将JED文件下载(Down Load)到CPLD器件中去,对FPGA来说是将位流数据BG文件配置到FPGA中去。 器件编程需要满足一定的条件,如编程电压、编程时序和编程算法等。普通的CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作。基于SRAM的FPGA可以由EPROM或其他存储体进行配置。在系统的可编程器件(ISP-PLD)则不需要专门的编程器,只要一根与计算机互连的下载编程电缆就可以了。,23,传统方法与EDA方法比较:,传统方法1. 自下至上(Bottom Up)2. 通用的逻辑元、器件 3. 系统硬件设计的后期 进行仿真和调试 4. 主要设计文件是电原 理图5. 手工实现,EDA方法1. 自上至下(Top Down)2. PLD(可编程逻辑器件)3. 系统设计的早期进行仿 真和修改 4. 多种设计文件,发展趋 势以 HDL描述文件为主 5. 自动实现,EDA技术极大地降低硬件电路设计难度,提高设计效率,是电子系统设计方法的质的飞跃。,24,1.3 EDA技术的主要内容,实现载体:大规模可编程逻辑器件 (PLD_Programmable Logic Device)描述方式:硬件描述语言 (HDL_Hard descripation Lauguage) VHDL、Verilog HDL等设计工具:EDA开发工具软件、开发系统硬件下载验证:实验开发系统,25,1. 大规模可编程逻辑器件,可编程逻辑器件PLD(Programmable Logic Device)是一种半定制集成电路,在其内部集成了大量的门和触发器等基本逻辑电路,用户通过编程来改变PLD内部电路的逻辑关系或连线,就可以得到需要的设计电路。可编程逻辑器件的出现,改变了传统的数字系统设计方法,其设计方法为采用EDA技术开创了广阔的发展空间,并极大地提高电路设计的效率。,26,可编程逻辑器件从集成密度上可分为低密度可编程逻辑器件LDPLD和高密度可编程逻辑器件HDPLD两类。 LDPLD集成密度一般小于700门(等效门)/片。,HDPLD主要为复杂可编程逻辑器件CPLD和FPGA,其集成密度大于700门/片。随着集成工艺的发展, HDPLD集成密度不断增加,性能不断提高。目前集成度最高的HDPLD可达数千万门/片以上。,27,FPGA_ Field Programmable Gates Array CPLD_ Complex Programmable Logic Device 主流公司:Xilinx、Altera、Lattice FPGA/CPLD 显著优点: 开发周期短、投资风险小、产品上市速度快、市场适应能力强、硬件修改升级方便。,28,What is FPGA?,FPGA (Field Programmable Gate-Array)FPGA 近十余年加入到用户可编程技术行列中的器件FPGA的结构:由逻辑功能块排列成阵列组成,并由可编程的内部连线连接这些逻辑功能块来实现不同的设计,29,FPGA的结构,30,VHDL:IEEE标准,系统级抽象描述能力较强。 Verilog: IEEE标准, 门级开关电路描述能力 较强。,2. 硬件描述语言 (HDL_Hardware Description Language),31,VHDL的特点1、VHDL主要用于描述数字系统的结构、行为、功能和接口。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的保证。,2、VHDL有良好的可读性。它可以被计算机接受,也容易被读者理解。用VHDL书写的源文件,既是程序又是文档,既是工程技术人员之间交换信息的文件,又可作为合同签约者之间的文件。,32,Verilog HDL的特点1、Verilog HDL适合算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Gate)和版图级(Layout)等各个层次的电路设计和描述。,2、 Verilog HDL也具有与VHDL类似的特点,稍有不同的是Verilog HDL早在1983年就已经推出,至今已有30年的应用历史,因而Verilog HDL拥有广泛的设计群体,其设计资源比VHDL丰富。另外Verilog HDL是在C语言的基础上演化而来的,因此只要具有C语言的编程基础,就很容易学会并掌握这种语言。,33,用硬件描述语言实现数字电路设计的过程,34,EDA开发工具分为: 集成化的开发系统: 特定功能的开发软件:综合软件 仿真软件,3. 软件开发工具,35,Altera 公司: Max+plus 、Quartus系列Xilinx 公司:ISE、Foundation、 Aillance系列Lattice 公司:ispDesignEXPERT 系列,集成化的开发系统,36,4. 实验开发系统,37,EDA实验的3个层次,1、逻辑行为的实现,2、控制与信号传输功能的实现,3、算法的实现,如:译码器、红绿交通灯控制、表决器、显示扫描器、电梯控制、乒乓球等电路的设计,时钟频率一般低于4MHz,如:各类信号发生器、A/D采样控制器、FIFO、RS232或PS/2通信、FPGA/CPLD与单片机综合控制等电路的设计,时钟频率一般在25MHz左右,如:离散FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、数字振荡器、数字锁相环、调制解调器、图象DSP等电路的设计,时钟频率一般在50MHz以上,38,1.4 常用EDA工具,用EDA技术设计电路可以分为不同的技术环节,每一个环节中必须有对应的软件包或专用的EDA工具独立处理。EDA工具大致可以分为设计输入编辑器、 HDL综合器、仿真器、适配器(或布局布线器)以及下载器等5个模块。,39,1.4.1 设计输入编辑器 通常专业的EDA工具供应商或各可编程逻辑器件厂商都提供EDA开发工具,在这些EDA开发工具中都含有设计输入编辑器,如Xilinx公司的Foundation、Altera公司的Max+plusII等。 一般的设计输入编辑器都支持图形输入和HDL文本输入。图形输入通常包括原理图输入、状态图输入和波形图输入三种常用方法。原理图输入方式沿用传统的数字系统设计方式,即根据设计电路的功能和控制条件,画出设计的原理图或状态图或波形图,然后在设计输入编辑器的支持下,将这些图形输入到计算机中,形成图形文件。,40,1.4.2 HDL综合器 综合器的功能就是将设计者对某个项目进行的功能原理图或文本描述,针对给定的硬件,进行编译、优化和综合,最终获得门级电路的电路描述文件。 HDL综合器的输出文件一般是网表文件,是一种用于电路设计数据交换和交流的工业标准化格式的文件,或是直接用硬件描述语言HDL表达的标准格式的网表文件,或是对应FPGA/CPLD器件厂商的网表文件。,41,例:一位全加器的电路网表E1,XOR,(X,Y),S1E2,XOR,(Cin,S1),SumE3,AND,(X,Y),S2E4,AND,(S1,Cin),S3E5,OR,(S2,S3),Cout,42,1.4.3 仿真器 在EDA技术中仿真的地位非常重要,仿真器的仿真速度、仿真的准确性和易用性成为衡量仿真器的重要指标。EDA仿真测试技术只需通过计算机就能对所设计的电子系统进行测试与仿真。 几乎每个EDA厂商都提供基于Verilog/VHDL的仿真器。常用的仿真器有Model Technology公司的Modelsim,Cadence公司的Verilog-XL和NC-Sim,Aldec公司的Active HDL,Synopsys公司的VCS等。,43,1.5 EDA的工程设计流程,文本编辑器、图形编辑器,VHDL综合器(逻辑综合、优化),FPGA/CPLD布线/适配器(自动优化、布局、布线、适配),VHDL仿真器(行为仿真、 功能仿真),编程器/下载电缆(编程、下载),测试电路(硬件测试),网表文件(EDIF、XNL、VHDL),门级仿真器(功能仿真、 时序仿真),各种编程文件,44,举例:七进制计数器的实现 1、传统前端设计 2、TOPDOWN前端设计 3、FPGA设计验证,45,传统Bottomup设计,46,传统Bottomup设计,47,传统Bottomup设计,48,TOP- DOWN设计步骤1:行为级描述,49,TOP- DOWN设计步骤2:行为仿真,50,TOP- DOWN设计步骤3:逻辑综合,51,FPGA/CPLD物理实现:在元件库文件支持下,由EDA工具,将网表作为输入,进行自动布局布线最终生成FPGA/CPLD的目标文件。接下来,还需对布局布线后的结果进行寄生参数提取和后仿真,以便验证布局布线后,由于寄生参数(寄生电阻、电容等)的存在是否改变了前端逻辑仿真的结果。如果未改变前仿真结果,则由FPGA/CPLD目标文件下载到FPGA/CPLD得到设计结果,TOP- DOWN设计步骤4:物理实现,52,1.6、MAX+PLUSII简述,一个全面集成的 PLD 开发系统提供与器件结构无关的开发环境支持 所有的 Altera产品(所有器件使用一个库)广泛满足设计需求设计输入(图形和硬件描述语言)综合布局和布线 (适配)仿真定时分析器件编程支持多种 EDA软件和标准,53,MAX+PLUS II 能做什么?,在一个独立的环境下运行,54,编译器的输入和输出文件,55,MAX+PLUS II 的操作环境,56,应用系统投产,设计说明书,编译设计文件,综合、适配与优化,定时验证,时序仿真,器件编程,应用系统硬件测试,设计输入,MAX+PLUSII设计流程,57,第一章思考题: 1、 EDA技术的基础是什么? 2、构成现代数字系统的基本模块是什么? 3、EDA技术的含义和内容是什么? 4、比较电子系统传统设计方法和采用EDA技术设计 方法的区别。 5、EDA技术有哪些突出的优点? 6、你认为EDA技术的核心是什么?请详细说明理由。 7、一个电子系统(例如3-8译码器)可由单片机技术实现,也可由EDA技术实现,请比较两种方案各自的特点。,