1、教材及参考资料z教材:EDA技术实用教程潘松 科学出版社EDA原理及应用原理及应用 授课教师:张艳丽 答疑地点:4B203邮箱:tjpu_ 密码 dianxinxueyuan【电信学院 拼音】本课程的安排本课程的安排z课堂教学内容:第一章:第一章:EDA技术的概述技术的概述第二章:第二章:EDA设计的流程及其工具设计的流程及其工具第三章:第三章:FPGA/CPLD的结构与应用的结构与应用第四章:第四章:VHDL设计初步设计初步第五章:第五章:QuartusII应用向导应用向导第六章:第六章:VHDL设计进阶设计进阶第七章:宏功能模块与第七章:宏功能模块与IP应用应用第八章:状态机设计第八章:状
2、态机设计第九章:第九章:VHDL结构和要素结构和要素第十章:第十章:VHDL基本语句基本语句第十一章:优化和时序分析第十一章:优化和时序分析学时数:学时数:60学时学时(课堂教学课堂教学40学时、实验学时、实验20学时学时)z实验教学内容(分10次,共20学时)内容:掌握EDA开发系统QuartusII,从简单的电路设计入手,到最后能够设计实现比较复杂的电子系统。目的:培养学生利用EDA技术设计电子系统的实际动手能力。实验教学的目的:了解一类器件 掌握一门设计语言 熟悉一种设计工具EDA技术实用教程主要特点一、注重实践与实用二、注重速成三、注重系统性、完整性与独立性相结合2、每一章都按排了有针
3、对性的习题3、每一章都按排了有针对性的实验(除第1、2章)4、不但注重设计的完成,而且注重设计的效果5、注重实例的电子设计实用性6、介绍大量典型EDA设计项目(包括实验)7、大多数实验含设计示例,绝大多数示例都通过综合与硬件验证1、对硬件描述语言使用特殊讲解方法2、使用向导式方式介绍原理图、波形、VHDL文本的EDA工具输入设计方法3、聚焦VHDL可综合语句的应用1、深入浅出,难度跨越大,适合于各层次需求2、简洁而不失完整地介绍EDA技术的基本内容和使用方法3、可根据自己的需求单独阅读某一章节1、每全书的重点部分多出自作者的实践积累 EDA技术的相关网站 EDAEDA技术技术实用教程实用教程第
4、第1章章 概概 述述 20世纪末,数字电子技术得到飞速发世纪末,数字电子技术得到飞速发展,有力地推动了社会生产力的发展和社展,有力地推动了社会生产力的发展和社会信息化的提高。在其推动下,数字电子会信息化的提高。在其推动下,数字电子技术的应用已经渗透到人类生活的各个方技术的应用已经渗透到人类生活的各个方面。从计算机到手机,从数字电话到数字面。从计算机到手机,从数字电话到数字电视,从家用电器到军用设备,从工业自电视,从家用电器到军用设备,从工业自动化到航天技术,都尽可能采用数字电子动化到航天技术,都尽可能采用数字电子技术。技术。1.1EDA技术及其发展1.什么是什么是EDA?Electronic
5、Design Automation 电子电子 设计设计 自动化自动化 利利用用EDA技技术术进进行行电电子子系系统统的的设设计计,具具有有以下几个特点:以下几个特点:用软件的方式设计硬件;用软件的方式设计硬件;用用软软件件方方式式设设计计的的系系统统到到硬硬件件系系统统的的转转换换是是由有关的开发软件自动完成的;由有关的开发软件自动完成的;设计过程中可用有关软件进行各种仿真;设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级;系统可现场编程,在线升级;整整个个系系统统可可集集成成在在一一个个芯芯片片上上,体体积积小小、功功耗低、可靠性高。耗低、可靠性高。EDA技术发展的三个阶段1.早
6、期电子CAD阶段 2020世纪世纪7070年代可编程逻辑器件已经问世,计算机作为年代可编程逻辑器件已经问世,计算机作为一种运算工具已在科研领域得到广泛应用。这个时期可以一种运算工具已在科研领域得到广泛应用。这个时期可以认为是认为是EDAEDA技术的发展初期。利用计算机、二维图形编辑技术的发展初期。利用计算机、二维图形编辑与分析的与分析的CADCAD工具,来完成集成电路版图编辑、工具,来完成集成电路版图编辑、PCBPCB布线等布线等高度重复性复杂工作。高度重复性复杂工作。典型设计软件如典型设计软件如TangoTango布线软件布线软件。2.计算机辅助工程设计CAE阶段 20世纪世纪80年代出现了
7、低密度的可编程逻辑器件年代出现了低密度的可编程逻辑器件(PAL_Programmable Array Logic和和GAL_Generic Array Logic)相应的相应的EDA开发工具主要解决电路设开发工具主要解决电路设计没有完成之前的功能检测等问题。计没有完成之前的功能检测等问题。80年代后期出现了年代后期出现了FPGA(Field Programmable Gate Array),CAE和和CAD技术的应用更为广泛。它技术的应用更为广泛。它们可以进行初级的设计描述、综合、优化和设计结们可以进行初级的设计描述、综合、优化和设计结果的验证。果的验证。20世纪世纪90年代年代,可编程逻辑器
8、件迅速发展可编程逻辑器件迅速发展,出现了功能强大的全线出现了功能强大的全线EDA工具工具,具有较强抽具有较强抽象描述能力的硬件描述语言象描述能力的硬件描述语言(VHDL、Verilog HDL)及高性能综合工具的使用,使过去单功及高性能综合工具的使用,使过去单功能电子产品开发转向系统级电子产品开发能电子产品开发转向系统级电子产品开发(即即SOC_System On a Chip:单片系统、或片上系单片系统、或片上系统集成)统集成)3.电子设计自动化电子设计自动化(EDA)阶段阶段 EDA技术在进入技术在进入21世纪后,得到了更大的发展,突出表现世纪后,得到了更大的发展,突出表现在以下几个方面:
9、在以下几个方面:u使电子设计成果以自主知识产权的方式得以明确表达使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;和确认成为可能;u在仿真和设计两方面支持标准硬件描述语言的功能强在仿真和设计两方面支持标准硬件描述语言的功能强大的大的EDAEDA软件不断推出。软件不断推出。u电子技术全方位纳入电子技术全方位纳入EDAEDA领域;领域;uEDAEDA使得电子领域各学科的界限更加模糊,更加互为包使得电子领域各学科的界限更加模糊,更加互为包容;容;1.1 EDA技术及其发展技术及其发展u更大规模的更大规模的FPGAFPGA和和CPLDCPLD器件的不断推出;器件的不断推出;u基基于于EDA
10、EDA工工具具的的ASICASIC设设计计标标准准单单元元已已涵涵盖盖大大规规模模电电子系统及子系统及IPIP核核模块;模块;u软软硬硬件件IPIP核核在在电电子子行行业业的的产产业业领领域域、技技术术领领域域和和设设计应用领域得到进一步确认;计应用领域得到进一步确认;uSoCSoC高效低成本设计技术的成熟。高效低成本设计技术的成熟。可编程逻辑器件可编程逻辑器件Intellectual PropertyEDA的广义定义范围包括:z半导体工艺设计自动化半导体工艺设计自动化z可编程器件设计自动化可编程器件设计自动化z电子系统设计自动化电子系统设计自动化z印刷电路板设计自动化印刷电路板设计自动化z仿
11、真与测试、故障诊断自动化仿真与测试、故障诊断自动化z形式验证自动化形式验证自动化EDA技术的狭义定义:以以大规模可编程逻辑器件大规模可编程逻辑器件为设计载体,以为设计载体,以硬件描述语言硬件描述语言为为系统逻辑描述的主要表达方式,以系统逻辑描述的主要表达方式,以计算机计算机、大规模可编程器件、大规模可编程器件的的开发软件开发软件及实验开发系统为设计工具,自动完成用软件方式及实验开发系统为设计工具,自动完成用软件方式描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分描述的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、布局布线、逻辑仿真直至完成对于特定割、逻辑综合及优化、布局
12、布线、逻辑仿真直至完成对于特定目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成目标芯片的适配编译、逻辑映射、编程下载等工作,最终形成集成电子系统或专用集成芯片的一门多学科融合的新技术。集成电子系统或专用集成芯片的一门多学科融合的新技术。EDAEDA技术技术ASICASIC设计设计FPGA/CPLDFPGA/CPLD可编程可编程ASICASIC 设计设计 门阵列门阵列(MPGAMPGA););标准单元标准单元(CBICCBIC););全定制;全定制;(FCICFCIC););ASICASIC设计设计SOPC/SOC混合混合ASICASIC设计设计1.2 EDA技术实现目标技术实现目标作为作
13、为EDA技术最终实现目标的技术最终实现目标的ASIC,通过三种途径来完成:,通过三种途径来完成:SOCSOC:SYSTEM ON A CHIPSYSTEM ON A CHIPSOPCSOPC:SYSTEM ON A PROGAMMABLE CHIPSYSTEM ON A PROGAMMABLE CHIP SOPC SOPCNIOSEthernetInterfaceARMUARTUARTRAM/ROM FIFOUSB PCI PCIDSP BlocksPLLSDRAM CONTROLVGAPS2Multiply Unit FIR,IIR,FFT1.超大规模可编程逻辑器件超大规模可编程逻辑器件2.
14、半定制或全定制半定制或全定制ASIC3.混合混合ASIC1.2 EDA技术实现目标技术实现目标1.3 硬件描述语言硬件描述语言VHDL 硬件描述语言是硬件描述语言是EDA技术的重要组成部分,技术的重要组成部分,VHDL是作为电子设计主流硬件的描述语言。是作为电子设计主流硬件的描述语言。VHDL语言具有很强的电路描述和建模能力,能从多语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。件设计任务,提高了设计效率和可靠性。用用VHDL进行电子系统设计的一个很大的优点是设计进行电子
15、系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。能的与工艺有关的因素花费过多的时间和精力。1.4 VHDL综合综合 设计过程中的每一步都可称为一个综合环节。设计过程中的每一步都可称为一个综合环节。(1)从自然语言转换到从自然语言转换到VHDL语言算法表示,即自然语言综合;语言算法表示,即自然语言综合;(2)从从算算法法表表示示转转换换到到寄寄存存器器传传输输级级(Register Transport Level,RTL),即从行为域到结构域的综合,即行为综合;,即从行为域到结
16、构域的综合,即行为综合;(3)RTL级级表表示示转转换换到到逻逻辑辑门门(包包括括触触发发器器)的的表表示示,即即逻逻辑辑综综合合;1.4 VHDL综合综合 设计过程中的每一步都可称为一个综合环节。设计过程中的每一步都可称为一个综合环节。(4)从从逻逻辑辑门门表表示示转转换换到到版版图图表表示示(ASIC设设计计),或或转转换换到到FPGA的的配配置置网网表表文文件件,可可称称为为版版图图综综合合或或结结构构综综合合。有有了了版版图图信信息息就就可可以以把把芯芯片片生生产产出出来来了了。有有了了对对应应的的配配置置文文件,就可以使对应的件,就可以使对应的FPGA变成具有专门功能的电路器件变成具
17、有专门功能的电路器件。编译器和综合功能比较编译器和综合功能比较(a)软件语言设计目标流程(b)硬件语言设计目标流程C、ASM程序VHDL/Verilog程序软件程序编译器Compiler硬件描述语言综合器SynthesizerCPU指令/数据代码01000101011110为ASIC设计提供的电路网表文件VHDL综合器运行流程综合器运行流程VHDL综合器运行流程网表1.5基于VHDL的自顶向下设计方法传统的电子设计技术通常是自底向上的传统的电子设计技术通常是自底向上的固定电路元件固定电路元件电路板设计电路板设计完整的系统构成完整的系统构成系统测试与性能分析系统测试与性能分析电路图设计电路图设计
18、设计依赖于手设计依赖于手工和经验工和经验设计依赖于现设计依赖于现有的通用元件有的通用元件设计后期的仿设计后期的仿真与调试真与调试自底向上设计自底向上设计设计思想局限设计思想局限设计实现周期长设计实现周期长,灵活性差灵活性差,耗时耗时耗力耗力,效率低下效率低下EDA设计方法z自上而下是指将数字系统的整体逐步分解自上而下是指将数字系统的整体逐步分解为各个子系统和模块,若子系统规模较大,为各个子系统和模块,若子系统规模较大,则还需将子系统进一步分解为更小的子系则还需将子系统进一步分解为更小的子系统和模块,层层分解,直至整个系统中各统和模块,层层分解,直至整个系统中各个子系统关系合理,并便于逻辑电路级
19、的个子系统关系合理,并便于逻辑电路级的设计和实现为止。设计和实现为止。自顶向下的设计方法自顶向下的设计方法 自上而下的设计中可逐层描述,逐层仿真,保证满足自上而下的设计中可逐层描述,逐层仿真,保证满足系统的指标。系统的指标。基于基于VHDL的自顶向下设计方法的自顶向下设计方法自顶向下的设计流程图与传统的基于电路板的设计方法不同与传统的基于电路板的设计方法不同EDA技术是基于芯片的设计方法电子系统电子系统电路板设计电路板设计芯片设计芯片设计可编程逻辑器件可编程逻辑器件描述方式不同:z传统设计方法采用电路图为主传统设计方法采用电路图为主;zEDA设计方法以硬件描述语言设计方法以硬件描述语言(HDL
20、Hard descripation lauguage)为主为主.1.6EDA与传统电子设计方法比较与传统电子设计方法比较 传统方法传统方法1)1)自下至上自下至上2)2)通用逻辑器件通用逻辑器件3)3)系系统统硬硬件件设设计计的的后后期期进进行仿真行仿真4)4)主要设计文件是原理图主要设计文件是原理图5)5)手工实现手工实现EDAEDA方法方法1)1)自上至下自上至下2)PLD2)PLD可编程逻辑器件可编程逻辑器件3)3)系系统统设设计计的的早早期期进进行行仿仿真真和修改和修改4)4)多多种种设设计计文文件件,发发展展趋趋势势以以HDLHDL描述文件为主描述文件为主5 5)自动实现)自动实现
21、 手工设计方法的缺点是:手工设计方法的缺点是:1)1)复复杂杂电电路路的的设设计计、调调试试十分困难。十分困难。2)2)如如果果某某一一过过程程存存在在错错误误,查找和修改十分不便。查找和修改十分不便。3)3)设设计计过过程程中中产产生生大大量量文文档,不易管理。档,不易管理。4)4)对对于于集集成成电电路路设设计计而而言言,设设计计实实现现过过程程与与具具体体生生产产工工艺艺直直接接相相关关,因因此此可可移移植植性性差。差。5)5)只只有有在在设设计计出出样样机机或或生生产出芯片后才能进行实测。产出芯片后才能进行实测。EDA技术有很大不同:技术有很大不同:1)1)采用硬件描述语言作为设计输入
22、采用硬件描述语言作为设计输入。2)2)库库(Library)(Library)的引入。的引入。3)3)设计文档的管理。设计文档的管理。4)4)强大的系统建模、电路仿真功能。强大的系统建模、电路仿真功能。5)5)具有自主知识产权。具有自主知识产权。6)6)开开发发技技术术的的标标准准化化、规规范范化化以以及及IPIP核核 的可利用性。的可利用性。7)7)适适用用于于高高效效率率大大规规模模系系统统设设计计的的自自顶顶向下设计方案。向下设计方案。8)8)全全方方位位地地利利用用计计算算机机自自动动设设计计、仿仿真真和测试技术。和测试技术。9)9)对对设设计计者者的的硬硬件件知知识识和和硬硬件件经
23、经验验要要求求低。低。10)10)高速性能好高速性能好。11)11)纯硬件系统的高可靠性。纯硬件系统的高可靠性。1.7 EDA的发展趋势的发展趋势 系统集成芯片成为IC设计的发展方向,这一发展趋势表现在如下几个方面:超超大大规规模模集集成成电电路路的的集集成成度度和和工工艺艺水水平平不不断断提提高高,深深亚亚微微米米(Deep-Submicron)(Deep-Submicron)工工艺艺,如如0.18m0.18m,0.13m0.13m已已经经走走向向成成熟熟,在一个芯片上完成的系统级的集成已成为可能。在一个芯片上完成的系统级的集成已成为可能。市市场场对对电电子子产产品品提提出出了了更更高高的的
24、要要求求,如如必必须须降降低低电电子子系系统统的的成成本本,减减小小系系统统的的体体积积等等,从从而而对对系系统统的的集集成成度度不不断断提提出出更更高高的要求。的要求。高高性性能能的的EDAEDA工工具具得得到到长长足足的的发发展展,其其自自动动化化和和智智能能化化程程度度不不断提高,为嵌入式系统设计提供了功能强大的开发环境。断提高,为嵌入式系统设计提供了功能强大的开发环境。计计算算机机硬硬件件平平台台性性能能大大幅幅度度提提高高,为为复复杂杂的的SoCSoC设设计计提提供供了了物物理基础。理基础。EDA技术的主要内容:z实现载体:大规模可编程逻辑器件 (PLD_Programmable L
25、ogic Device)z描述方式:硬件描述语言 (HDL_Hard descripation Lauguage)z设计工具:开发软件z硬件验证:实验开发系统 z大规模可编程逻辑器件大规模可编程逻辑器件 FPGA_Field Programmable Gates Array CPLD_Complex Programmable Logic Device 主流公司:Xilinx、Altera、LatticeFPGA/CPLD显著优点显著优点:开发周期短,投资风险小、产品上市速度快,市场开发周期短,投资风险小、产品上市速度快,市场适应能力强,硬件修改升级方便适应能力强,硬件修改升级方便。硬件描述语言
26、HDLzVHDL:IEEE标准,系统级抽象描述能力较强zVerilog HDL:IEEE标准,门级开关电路描述能力较强软件开发工具软件开发工具zEDA开发工具分为:集成化的开发系统 特定功能的开发软件:综合软件 仿真软件集成化开发系统zAltera公司:MAX+plusII QuartusIIzXilinx公司:ISE(Integrated Software Environment)zLattice公司:ispEXPERT特定功能的开发软件:特定功能的开发软件:z综合类:Synplicity公司的Synplify/Synplify Pro Synopsys公司的FPGAexpress、FPGA
27、 ComplilerIIz仿真类:Model Tech公司的Modelsim Aldec公司的Active HDL EDA软件系统的构成1.1.设计输入子模块设计输入子模块 用图形编辑器、文本编辑器作设计描述、完成语义用图形编辑器、文本编辑器作设计描述、完成语义正确性、语法规则的检查正确性、语法规则的检查2.2.设计数据库子模块设计数据库子模块 系统的库单元、用户的设计描述、中间设计结果系统的库单元、用户的设计描述、中间设计结果3.3.分析验证子模块分析验证子模块 各个层次的模拟验证、设计规则的检查、故障分析各个层次的模拟验证、设计规则的检查、故障分析4.4.综合仿真子模块综合仿真子模块 实现
28、从高层抽象描述向低层次描述的自动转换,实现从高层抽象描述向低层次描述的自动转换,及各个层次的仿真验证。及各个层次的仿真验证。5.5.布局布线子模块布局布线子模块 完成由逻辑设计到物理实现的映射。完成由逻辑设计到物理实现的映射。习习 题题 一一 习习题题1-1 简简述述EDA技技术术的的发发展展历历程程?EDA技技术术的的核核心心内内容容是是什么?什么?习题习题1-2 EDA技术与技术与ASIC设计和设计和FPGA开发有什么关系?开发有什么关系?习题习题1-3 与软件描述语言相比,与软件描述语言相比,VHDL有什么特点?有什么特点?习习题题1-4 什什么么是是综综合合?有有那那些些类类型型?综综
29、合合在在电电子子设设计计自自动动化化中的地位是什么?中的地位是什么?习习题题1-5 在在EDA技技术术中中,自自顶顶向向下下的的设设计计方方法法的的重重要要意意义义是是什么?什么?习题习题1-6 IP在在EDA技术的应用和发展中的意义是什么?技术的应用和发展中的意义是什么?EDA实验的3个层次1、逻辑行为的实现 2、控制与信号传输功能的实现 3、算法的实现 如:译码器、红绿交通灯控制、表决器、显示扫描器、电梯控制、乒乓球等电路的设计,时钟频率一般低于4MHz 如:各类信号发生器、A/D采样控制器、FIFO、RS232或PS/2通信、FPGA/CPLD与单片机综合控制等电路的设计,时钟频率一般在25MHz左右 如:离散FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、数字振荡器、数字锁相环、调制解调器、图象DSP等电路的设计,时钟频率一般在50MHz以上






