EDA电子教案©清华大学出版社第2页©清华大学出版社赵立权15043201901EDA电子教案©清华大学出版社第3页©清华大学出版社上课机房要求:1、保持机房卫生,禁止携带食物饮料进入机房。2、禁止乱扔垃圾,本楼全楼禁烟,严禁在楼内吸烟。3、禁止破坏计算机等设备。4、下课后将桌椅归位,垃圾清理干净并送到楼内指定地点,机房内不允许存放垃圾。(1/2班轮流值日)5、下课后须将投影仪、计算机及时关闭。EDA电子教案©清华大学出版社第4页©清华大学出版社学习要求:1)平时成绩20分、实验成绩20-30分,卷面成绩50-60分2)无辜迟早、早退、旷课一次扣20分3)违反上课机房要求者一次扣20分EDA电子教案©清华大学出版社第5页©清华大学出版社EDA?ElectronicDesignAutomation电子设计自动化以计算机为工作平台,以EDA软件工具为开发环境,以硬件描述语言为设计语言,以专用集成电路(ASIC)为实现载体,实现硬件系统的设计,最终形成集成电子系统或专用集成芯片的一门多学科融合的新技术。EDA电子教案©清华大学出版社第6页©清华大学出版社ASIC设计可编程逻辑器件法全定制法半定制法门阵列法标准单元法优点:芯片获得最优的性能(利用率高、速度快、功耗低);缺点:开发周期长、费用高、只适合批量生产EDA电子教案©清华大学出版社第7页©清华大学出版社可编程逻辑器件的发展历程70年代80年代90年代PROM可编程只读存储器PAL可编程阵列逻辑GAL通用阵列逻辑FPGA现场可编程门阵列CPLD复杂可编程逻辑器件内嵌复杂功能模块的SOPCPLA可编程逻辑阵列EPLD可擦除可编写逻辑器EDA电子教案©清华大学出版社第8页©清华大学出版社2.1.4PLD的分类低密度可编程逻辑器件(LDPLD)高密度可编程逻辑器件(HDPLD)可编程逻辑器件(PLD)PROMPLAPALGALEPLDCPLDFPGA小于700门(等效门)/片大于700门(等效门)/片EDA电子教案©清华大学出版社第9页©清华大学出版社PROM表达的PLD图阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F用PROM完成半加器逻辑阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F01110100AAFAAAAFPROM固定连接没有连接编程连接EDA电子教案©清华大学出版社第10页©清华大学出版社PLA与PROM的比较0A1A1F0F2A2F0A1A1F0F2A2FPLAEDA电子教案©清华大学出版社第11页©清华大学出版社FastconnectSwitchMatrixI/OI/OFBFBFBFBFBFBFBFBCPLD的结构原理可编程逻辑功能块EDA电子教案©清华大学出版社第12页©清华大学出版社可编程模块IOB可编程内部连线PI可编程逻辑块CLBFPGA的结构原理EDA电子教案©清华大学出版社第13页©清华大学出版社CPLD和FPGA区别1)CPLD更适合完成各种算法和组合逻辑(乘积项多)FPGA更适合于完成时序逻辑(触发器多)。2)CPLD集成度比FPGA低3)CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或Fastflash技术,无需外部存储器芯片,使用简单。4)CPLD速度快5)CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,系统断电时编程信息也不丢失。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。可编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置6)CPLD保密性好,FPGA保密性差。7)CPLD的功耗要比FPGA大,且集成度越高越明显。EDA电子教案©清华大学出版社第14页©清华大学出版社DSP、ARM、单片机、PLD区别DSP:复杂计算能力强,主要用于数字信号处理(调制解调加密等)ARM:事物管理能力强,适合多任务并发和操作系统运行,主要用于控制单片机:主要面向控制PLD:硬件实现系统,能实现上至CPU,下至简单与非电路。DSP速度最快,其次是ARM,最后是单片机,DSP和ARM可以做任何单片机能做的事情,但是单片机价格便宜(智能玩具控制);手机中DSP负责调制解调语音信号处理等,ARM负责手机界面等各种运行程序的控制DSP、ARM、单片机都是是通过内部的CPU逐条执行软件指令来完成各种运算和逻辑功能(毫秒级),而PLD是硬件电路并行,速度快(纳秒级),而且不需要复位电路,抗电磁干扰能力强。EDA电子教案©清华大学出版社第15页©清华大学出版社设计方法:自顶向下EDA电子教案©清华大学出版社第16页©清华大学出版社MAX+PLUSII软件由设计输入、项目处理、项目校验和器件编程四个部分设计输入文本编辑器图形编辑器波形编辑器符号编辑器底层图编辑器项目处理MAX+PLUSⅡ编辑器项目校验MAX+PLUSⅡ仿真器器件编程MAX+PLUSⅡ定时分析器MAX+PLUSⅡ编辑器MAX+PLUSⅡ信息处理和层次显示MAX+PLUSⅡ软件组成EDA电子教案©清华大学出版社第17页©清华大学出版社设计要求设计输入编译处理验证器件编程器件测试系统产品设计修改EDA电子教案©清华大学出版社第18页©清华大学出版社步骤1:建立工作库文件夹步骤2:输入设计项目原理图/VHDL代码步骤3:存盘,注意原理图/文本取名步骤4:将设计项目设置成Project步骤5:选择目标器件步骤6:启动编译步骤7:建立仿真波形文件步骤8:仿真测试和波形分析步骤9:引锁定并编译步骤10:编程下载/配置步骤11:硬件测试EDA电子教案©清华大学出版社第19页©清华大学出版社层次显示工具图形编辑器符号编辑器文本编辑器波形编辑器底层编辑器编译器仿真器延时分析器编程器消息处理器EDA电子教案©清华大学出版社第20页©清华大学出版社1100abcosocoabsoabab半加器FABABABsoabababEDA电子教案©清华大学出版社第21页©清华大学出版社演示EDA电子教案©清华大学出版社第22页©清华大学出版社可以直接输入符号名,如input,and2,7474等符号库,第一行是用户的工作库(WorkLibrary)路径。点击任一个库的路径,都会在SymbolFiles下显示所有的符号文件名。最后点击“ok”EDA电子教案©清华大学出版社第23页©清华大学出版社库名内容用户库用户自建的元器件,即一些底层设计prim(基本库)基本的逻辑块器件,如各种门,触发器等mf(宏功能库)所有74系列逻辑元件,如74161mega_lpm(可调参数库)包括参数化模块,功能复杂的高级功能模块,如可调模值的计数器,FIFO,RAM等edif和mf库类似EDA电子教案©清华大学出版社第24页©清华大学出版社选择工具加入文本,进行文本编辑缩小到最小,即窗口大小连接点接/断打开橡皮筋连接功能当橡皮筋连接功能打开时,移动元件,则连接在元件上的连线跟着移动,不改变同其他元件的连接关系;当橡皮筋连接功能关闭时,移动元件,则元件被移走,不再维持和其他元件的连接关系。画正交线放大缩小按钮关闭橡皮筋连接功能分别画直线/对角线、圆、弧圆EDA电子教案©清华大学出版社第25页©清华大学出版社正确注意:此时菜单栏中出现了Processing选项编译器网表cnf数据库建库逻辑综合逻辑分割适配rpt时序仿真网表文件snf装配EDA电子教案©清华大学出版社第26页©清华大学出版社CompilerNetlistExtractor:编译器网表提取器,该过程完成后生成设计的网表文件(描述设计中各元件之间连接信息的文件),若图形连接中有错误(如两个输出直接短接),该过程将指出此错误。DatabaseBuilder:数据库建库器。该功能块将含有任何层次的设计网表文件转化成一个单一层次的网表文件,以便进行逻辑综合LogicSynthesizer:逻辑综合器对设计进行逻辑综合,即选择合适的逻辑化简算法,去除冗余逻辑。确保对某种特定的器件结构尽可能有效地使用器件的逻辑资源,还可去除设计中无用的逻辑。用户可通过修改逻辑综合的一些选项,来指导逻辑综合。EDA电子教案©清华大学出版社第27页©清华大学出版社Partitioner:逻辑分割器,如果选定的目标器件逻辑资源过小,而设计项目较大,该分割器则自动将设计项目进行分割,使得它们能够实现在多个选定的器件中。Fitter:适配器。它通过一定的算法(或试探法)进行布局布线,将通过逻辑综合的设计最恰当地用一个或多个器件来实现。TimingSNFExtractor:时序模拟的模拟器网表文件生成器,它可生成用于时序模拟(项目校验)的标准时延文件。Assembler:装配器,生成用于器件下载/配置的文件。EDA电子教案©清华大学出版社第28页©清华大学出版社对某段已选中的波形,赋值‘0’,低电平赋值‘1’,高电平赋值‘X’,不定值赋值‘Z’,高阻赋相反的值,如1—0;A--5选择某个对象来移动,复制,剪切等操作输入或编辑文字选中某段波形,并直接对其赋值放大/缩小波形为时钟信号赋值为有规律/周期性的单个信号或总线赋值为某段总线赋值为状态机赋值EDA电子教案©清华大学出版社第29页©清华大学出版社打开层次管理窗口,可看到当前项目的层次关系打开管脚编辑器窗口分别打开编译器和模拟器打开编程/下载窗口指定项目名,即打开一个项目将当前文件指定为项目打开项目的顶层文件打开时序分析器,可进行时序分析保存所有打开的文件,并对当前项目进行语法检查保存所有打开的文件,并对当前项目进行编译保存打开的模拟器输入文件,并对当前项目进行模拟EDA电子教案©清华大学出版社第30页©清华大学出版社编译器的输入输出文件描述图MAX+PLUSII设计文件(.gdf,.tdf,.vhd)MAX+PLUSII编译器编译器网表提取模块(包含各种网表的阅读器)功能、定时或链接SNF提取模块EDIF、VHDL和VerilogNetlist生成模块数据库生成模块划分模块设计医生逻辑综合模块装入模块装配模块第三方EDA设计文件(.edf,.sch,.xnf)功能仿真网表文件(.snf)定时仿真网表文件(.snf)编程文件(.pof,.sof,.jed)第三方EDA仿真和定时文件(.edo,vo,vho,sdo)映射文件(.lmf)指定和配置信息(.acf)EDA电子教案©清华大学出版社第32页©清华大学出版社第四章VHDL设计初步EDA电子教案©清华大学出版社第33页©清华大学出版社1985年由美国国防部组织研制开发完成第一版1995年中国其作为我国电子设计自动化硬件描述语言。VHDL?(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)超高速集成电路硬件描述语言EDA电子教案©清华大学出版社第34页©清华大学出版社1.语句结构描述中方括号“[]”内的内容为可选内容。2.程序文字的大小写不加区分。3.注释用双减号“--”引出,不参加编译和综合。4.写和输入程序时使用层次缩进格式,同层次对齐。5.VHDL源程序名与实体名一致。VHDL程序设计约定EDA电子教案©清华大学出版社第35页©清华大学出版社4.2VHDL语言的基本单元及其构成4.2.12选1多路选择器的VHDL描述mux21aabsqasbqEDA电子教案©清华大学出版社第36页©清华大学出版社4.2VHDL语言的基本单元及其构成4.2.12选1多路选择器的VHDL描述mux21aabsqasbqEDA电子教案©清华大学出版社第37页©清华大学出版社LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENT