电子设计自动化EDA_第1页
电子设计自动化EDA_第2页
电子设计自动化EDA_第3页
电子设计自动化EDA_第4页
电子设计自动化EDA_第5页
已阅读5页,还剩410页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子设计自动化EDA山东农业大学 信息学院 1电子设计自动化(EDA)Electronic Design Automation主讲:王成义办公室:文理大楼411Email: CYWANGSDAU.EDU.CN电子与通信工程系电子设计自动化EDA山东农业大学 信息学院 2第0章 引论第1章 可编程逻辑器件(PLD)的原理与应用第2章 VHDL程序编程基础第5章 电路仿真工具Multisim及其应用第3章 VHDL程序设计进阶 第4章 印制电路板(PCB)设计及其工具电子设计自动化EDA山东农业大学 信息学院 3第0章 引论 0.1、电子设计自动化概述电子设计自动化概述 0.2、电子系统的仿真、综

2、合与实现、电子系统的仿真、综合与实现电子设计自动化EDA山东农业大学 信息学院 40.1、电子设计自动化概述电子设计自动化概述 电子设计的历史:电子设计的历史: 追溯至追溯至1919世纪世纪 2020世纪世纪5050年代:手工,设计效率、设计水平低年代:手工,设计效率、设计水平低 2020世纪世纪6060年代:年代:ICIC出现,计算机的应用,大规模集出现,计算机的应用,大规模集 成电路设计、复杂电子系统设计成电路设计、复杂电子系统设计2020世纪世纪7070年代:年代:CADCAD工具、逻辑综合与优化、工具、逻辑综合与优化、 SPLDSPLD( (Simple)imple) Computer

3、 Aided Design, Programable Logic Device 19581958年年9 9月月1212日日 ,杰克基尔比发明集成电路 (锗)19591959年年7 7月月 ,罗伯特诺伊斯也发明了集成电路 (硅)电子设计自动化EDA山东农业大学 信息学院 52020世纪世纪8080年代:印制电路板年代:印制电路板PCBPCB( (P Printedrinted CircuitCircuit B Board)oard)自动布局布线工具、自动布局布线工具、HDLHDL (H Hardwareardware D Descriptionescription L Languageangua

4、ge) (VHDL、 Verilog HDL)及其仿真工)及其仿真工 具、具、CPLD(CCPLD(Complexomplex PLD) PLD)2020世纪世纪9090年代:年代:PACPAC(Programable Analog Circuit) 标准标准HDLHDL的的综合工具综合工具以上设计技术统称:以上设计技术统称:电子设计自动化电子设计自动化 (Electronic Design Automation) 2121世纪:世纪:SoPCSoPC (可编程片上系统可编程片上系统) System on Programmable Chip 电子设计自动化EDA山东农业大学 信息学院 6电子设

5、计的层次电子设计的层次:(由上至下):(由上至下)集成电路技术、计算机技术集成电路技术、计算机技术与与EDAEDA的关系的关系系统级、功能级、逻辑级、电路级、物理级系统级、功能级、逻辑级、电路级、物理级 集成电路技术和计算机技术是集成电路技术和计算机技术是EDAEDA技术发展技术发展的基础。反过来,的基础。反过来,EDAEDA技术为电子设计提供了强有技术为电子设计提供了强有力的支持,不仅使电子系统的规模日益复杂,而力的支持,不仅使电子系统的规模日益复杂,而且使电子产品的周期不断缩短,从而又推到了集且使电子产品的周期不断缩短,从而又推到了集成电路和计算机技术以更快的速度发展。成电路和计算机技术以

6、更快的速度发展。电子设计自动化EDA山东农业大学 信息学院 70.2、电子系统的仿真、综合与实现电子系统的仿真、综合与实现 仿真仿真(又称(又称模拟模拟)()(Simulation): : 用计算机模仿电子系统的实际工作情况。用计算机模仿电子系统的实际工作情况。 一般来说,一般来说,仿真有问题,设计一定有问题仿真有问题,设计一定有问题;仿真没有问题,设计不一定没有问题仿真没有问题,设计不一定没有问题。综合综合(Synthesis): :将将高层次高层次的设计描述转换的设计描述转换成由成由低层次低层次便于实现的模块所装配成的统一实体。便于实现的模块所装配成的统一实体。分为:分为:自然语言自然语言

7、综合综合 、高层高层(行为行为)综合、)综合、逻辑逻辑综综 合、合、版图版图综合。综合。电子设计自动化EDA山东农业大学 信息学院 8实现实现(Implementation): :电子系统的最终载体。电子系统的最终载体。实现方式:实现方式:通用通用ICIC、PLDPLD、定制定制ICIC。PCBPCB制作制作: :电子设计自动化EDA山东农业大学 信息学院 9第1章 PLD的原理与应用1.1、SPLD的原理与组成的原理与组成1.2、CPLD的结构与工作原理的结构与工作原理1.3、FPGA的结构与工作原理的结构与工作原理1.4、CPLD/FPGA生产商生产商1.5、CPLD与与FPGA的编程与配

8、置的编程与配置1.6、CPLD/FPGA的开发工具的开发工具1.7、FPGACPLD设计流程设计流程1.8、ALTERA开发工具开发工具QUARTUS II电子设计自动化EDA山东农业大学 信息学院 10数字集成电路:通用集成电路、专用集成电路数字集成电路:通用集成电路、专用集成电路( (ASICASIC) )A Application-S Specific I Integrated C Circuit通用集成电路通用集成电路:74/54:74/54、C4000C4000专用集成电路:为特定用途而设计和制造的器件,专用集成电路:为特定用途而设计和制造的器件, 是用户定制的是用户定制的ICIC。

9、分为:。分为:全定制全定制、 半定制半定制电子设计自动化EDA山东农业大学 信息学院 11半定制电路半定制电路门阵列(门阵列(GAGA)可编程逻辑器件(可编程逻辑器件(PLDPLD)门海(门海(SoGSoG)SPLDHDPLDPROMPLAPALGALCPLDFPGAPLDPLD特点特点:高密度高密度、高速度高速度、高开发效率高开发效率电子设计自动化EDA山东农业大学 信息学院 121.1、SPLDSPLD的原理与组成的原理与组成 PLDPLD的核心结构的核心结构 1.1.1 PLD的基本结构的基本结构数据输入输入电路与门阵列或门阵列输出电路数据输出互补输入与项与或式缓冲互补缓冲提供不同输出结

10、构(课本P27)电子设计自动化EDA山东农业大学 信息学院 131.1.2 PLD内部电路的表示方法内部电路的表示方法常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照电子设计自动化EDA山东农业大学 信息学院 14PLD的互补缓冲器的互补缓冲器 PLD的互补输入的互补输入 PLD中与阵列表示中与阵列表示PLD中或阵列的表示中或阵列的表示 阵列线连接表示阵列线连接表示 PLD中的逻辑符号表示方法中的逻辑符号表示方法电子设计自动化EDA山东农业大学 信息学院 15PLD中的逻辑符号表示方法中的逻辑符号表示方法电子设计自动化EDA山东农业大学 信息学院 16地 址译 码 器存 储

11、 单 元阵 列0A1A1nA0W1W1pW0F1F1mFnp2PROM基本结构基本结构:1100111011021.nnnnWAAAWAAAWAA A地址译码器输出地址译码器输出逻辑函数是:逻辑函数是:1.1.3 PROM电子设计自动化EDA山东农业大学 信息学院 170,10,10,02,12,12,01,11,11,0 mmpmppMMMMMMMMM011 pWWW110 mFFF01,011,010,0011,111,110,1011,111,110,10ppppmpmpmmFMWMWMWFMWM WMWFMWMWMW存储单元存储单元逻辑函数表示:逻辑函数表示:电子设计自动化EDA山东农

12、业大学 信息学院 18PROM的逻辑阵列结构的逻辑阵列结构:与阵列(不可编程)或阵列(可编程)0A1A1nA0W1W1pW0F1F1mFnp2电子设计自动化EDA山东农业大学 信息学院 19PROM表达的表达的PLD阵列图阵列图与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F用用PROM完成半加器逻辑阵列完成半加器逻辑阵列与 阵 列 ( 固 定 )或 阵 列( 可 编 程 )0A1A1A1A0A0A1F0F01010110FA AA AFA A1010SAACA A电子设计自动化EDA山东农业大学 信息学院 20PLA逻辑阵列示意图逻辑阵列示意图与 阵 列 ( 可 编 程 )或

13、阵 列( 可 编 程 )0A1A1A1A0A0A1F0F1.1.4 PLA电子设计自动化EDA山东农业大学 信息学院 210A1A1F0F2A2F0A1A1F0F2A2FPLA与与 PROM的比较的比较63 PLA83 PROM电子设计自动化EDA山东农业大学 信息学院 220A1A1F0F0A1A1F0FPAL结构:结构:PAL的常用表示形式:的常用表示形式:1.1.5 PAL电子设计自动化EDA山东农业大学 信息学院 2311100100R11100100RQQD11100100R11100100RVccSG1SL07SL17SG0SL0619I/O711100100R11100100RQ

14、QD11100100R11100100RVccSG1SL06SL16SG1SL0618I/O61CLK/I02I13I2078150 3 4 78121115 1619 2023 2427 2831一种一种PAL16V8的部分结构图的部分结构图电子设计自动化EDA山东农业大学 信息学院 241.1.6 GAL24GAL16V8的结构图的结构图207190 34 7812111516192023242728311381518OLMCOLMC41623175243116OLMCOLMC63239157404714OLMCOLMC84855139566312OLMCOLMC11I/CLKIIIIII

15、III/OEI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QI/O/QCLKOE输入口可编程与阵列24时钟信号输入输入/输出口输出逻辑宏单元三态控制固定或阵列电子设计自动化EDA山东农业大学 信息学院 25OLMC的内部结构图的内部结构图电子设计自动化EDA山东农业大学 信息学院 26电子设计自动化EDA山东农业大学 信息学院 27电子设计自动化EDA山东农业大学 信息学院 28电子设计自动化EDA山东农业大学 信息学院 29电子设计自动化EDA山东农业大学 信息学院 30电子设计自动化EDA山东农业大学 信息学院 31电子设计自动化EDA山东农业大学 信息学院 321.

16、2、CPLDCPLD的结构与工作原理的结构与工作原理SPLDSPLD器件基本上已被淘汰,只有器件基本上已被淘汰,只有GALGAL还在应用。原因:还在应用。原因: 1.阵列规模小,资源不够用于设计数字系统。阵列规模小,资源不够用于设计数字系统。2. 片内寄存器资源不足,难以构成丰富的时序电路。片内寄存器资源不足,难以构成丰富的时序电路。3. I/O不够灵活,限制了片内资源的利用率。不够灵活,限制了片内资源的利用率。4. 编程不便,需用专用的编程工具。编程不便,需用专用的编程工具。所以:所以:GALCPLD典型典型CPLDCPLD:ALTERA MAX7000ALTERA MAX7000系列系列电

17、子设计自动化EDA山东农业大学 信息学院 33 MAX7000 MAX7000包含包含3232到到256256个宏单元,每个宏单元,每1616个宏单元组个宏单元组成一个逻辑阵列块(成一个逻辑阵列块(Logic Array Block,LAB)。)。 MAX7000 MAX7000结构中包含结构中包含5 5部分:部分:1.逻辑阵列块逻辑阵列块2. 宏单元宏单元3. 扩展乘积项(共享和并联)扩展乘积项(共享和并联)4. 可编程连线阵列可编程连线阵列5. I/O控制块控制块电子设计自动化EDA山东农业大学 信息学院 34(1) (1) 逻辑阵列块逻辑阵列块(LAB)(LAB)EPM7256S的的LA

18、B结构结构电子设计自动化EDA山东农业大学 信息学院 35MAX7000MAX7000系列的单个宏单元结构系列的单个宏单元结构PRNCLRNENA逻辑阵列全局清零共享逻辑扩展项清零时钟清零选择寄 存 器旁路并行扩展项通往 I/O模块通往 PIA乘积项选择矩阵来自 I/O引脚全局时钟QDEN来自来自 PIA的的 36个信号个信号快速输入选择快速输入选择2(2) (2) 宏单元宏单元VCC电子设计自动化EDA山东农业大学 信息学院 36电子设计自动化EDA山东农业大学 信息学院 37(3) (3) 扩展乘积项扩展乘积项共享扩展乘积项结构共享扩展乘积项结构电子设计自动化EDA山东农业大学 信息学院

19、38电子设计自动化EDA山东农业大学 信息学院 39并联扩展项馈送方式并联扩展项馈送方式电子设计自动化EDA山东农业大学 信息学院 40电子设计自动化EDA山东农业大学 信息学院 41(4) (4) 可编程连线阵列可编程连线阵列 不同的不同的LAB通过在通过在可编程连线阵列可编程连线阵列(PIA)上布线,以相互连上布线,以相互连接构成所需的逻辑。接构成所需的逻辑。PIA信号布线到信号布线到LAB的方式的方式电子设计自动化EDA山东农业大学 信息学院 42(4) (4) 可编程连线阵列可编程连线阵列 不同的不同的LAB通过在通过在可编程连线阵列可编程连线阵列(PIA)上布线,以相互连上布线,以相

20、互连接构成所需的逻辑。接构成所需的逻辑。PIA信号布线到信号布线到LAB的方式的方式电子设计自动化EDA山东农业大学 信息学院 43(5)I/O(5)I/O控制块控制块EPM7128S器件的器件的I/O控制块控制块电子设计自动化EDA山东农业大学 信息学院 44(5)I/O(5)I/O控制块控制块EPM7128S器件的器件的I/O控制块控制块电子设计自动化EDA山东农业大学 信息学院 451.3.1 查找表查找表1.3、FPGAFPGA的结构与工作原理的结构与工作原理FPGA:现场可编程门阵列:现场可编程门阵列(Field Programmable Gate Array) 查找表(Look-U

21、p-Table)简称为LUT,LUT本质上就是一个RAM。 目前FPGA中多使用4输入的LUT,所以每一个LUT可以看成一个有4位地址线的16x1的RAM。查找表LUT输入1输入2输入3输入4输出电子设计自动化EDA山东农业大学 信息学院 46FPGA查找表单元内部结构查找表单元内部结构MUX电子设计自动化EDA山东农业大学 信息学院 471.3.2 Cyclone/CycloneII系列器件的结构与原理系列器件的结构与原理 Cyclone/Cyclone系列器件是Altera公司的一款低成本的、高性价比的FPGA,它的结构和工作原理在FPGA中具有典型性。 Cyclone与Cyclone系列

22、器件的基本结构、原理类似。 Cyclone系列器件主要有以下部分组成: 逻辑阵列块LAB、嵌入式存储器块、I/O单元、嵌入式硬件乘法器、锁相环PLL等。电子设计自动化EDA山东农业大学 信息学院 48Cyclone LE结构图结构图电子设计自动化EDA山东农业大学 信息学院 49电子设计自动化EDA山东农业大学 信息学院 50Cyclone LE普通模式普通模式 电子设计自动化EDA山东农业大学 信息学院 51电子设计自动化EDA山东农业大学 信息学院 52Cyclone LE动态算术模式动态算术模式 电子设计自动化EDA山东农业大学 信息学院 53电子设计自动化EDA山东农业大学 信息学院

23、54Cyclone LAB结构结构 电子设计自动化EDA山东农业大学 信息学院 55电子设计自动化EDA山东农业大学 信息学院 56LAB阵列阵列 电子设计自动化EDA山东农业大学 信息学院 57电子设计自动化EDA山东农业大学 信息学院 58LAB控制信号生成控制信号生成 电子设计自动化EDA山东农业大学 信息学院 59电子设计自动化EDA山东农业大学 信息学院 60快速进位选择链快速进位选择链 电子设计自动化EDA山东农业大学 信息学院 61电子设计自动化EDA山东农业大学 信息学院 62LUT链和寄存器链的使用链和寄存器链的使用 电子设计自动化EDA山东农业大学 信息学院 63LVDS连

24、接连接 Low-Voltage Differential Signaling 低压差分信号 电子设计自动化EDA山东农业大学 信息学院 641.4、CPLD/FPGACPLD/FPGA生产商生产商ALTERACPLD:MAX7000/S/A/B系列:EPM7128SMAX9000/A系列MAX3000系列:MAXII系列:EPM240(570,1270,2210)/GMAXIII系列:EPM240(570,1270,2210)/GFPGA:FLEX系列:10K、10A、10KE,EPF10K30EAPEX系列:20K、20KE EP20K200EACEX系列:1K系列 EP1K30、EP1K1

25、00STRATIX系列:EP1S10(20,25,30,40,50,60,80,120)CYCLONE系列:EP1C3(4,6,12,20)StratixGX系列CYCLONEII系列:EP2C5(8,20,35,50,70)STRATIXII系列: EP2S15(30,60,90,130,180)CYCLONEIII系列:EP3C5(10,16,25,40,55,80,120)STRATIXIII系列: EP3SL15(50,70,110,150,200,340)电子设计自动化EDA山东农业大学 信息学院 65XILINXCPLD:FPGA:XC9500系列:XC95108、XC95256X

26、C3000系列, XC4000系列, XC5000系列Virtex系列,VirtexII系列SPARTAN系列:XCS10、XCS20、XCS30SPARTANII系列LATTICECPLD:FPGA:ispMACH4000V/B/C/Z系列MachX0系列ispLSI系列LatticeEC/ECP系列LatticeXP系列电子设计自动化EDA山东农业大学 信息学院 66其他其他PLD公司:公司:ACTEL公司:公司: ACT1/2/3、40MXATMEL公司:公司:ATF1500AS系列、系列、40MXCYPRESS公司公司QUIKLOGIC公司公司 SO MUCH IC!FPGA CPLD

27、电子设计自动化EDA山东农业大学 信息学院 671.5、CPLDCPLD与与FPGAFPGA的编程与配置的编程与配置ALTERA ByteBlaster(MV)下载接口此接口既可作编此接口既可作编程下载口,也可作程下载口,也可作JTAG接口接口JTAG:Joint Test Action Group电子设计自动化EDA山东农业大学 信息学院 68此接口既可作编此接口既可作编程下载口,也可作程下载口,也可作JTAG接口接口ALTERA USB Blaster下载接口电子设计自动化EDA山东农业大学 信息学院 691.6、CPLD/FPGACPLD/FPGA的开发工具的开发工具集成的FPGACPL

28、D开发环境:MAXPLUS II II 10.23QUARTUS II II 10.0ALTERA:XILINX:FOUNDATION 3.1ISE 10.1iISE Design Suite 12.1 LATTICE:ispEXPERT 7.01 ispLEVER 7.2 PAC Designer ispLEVER Classic 1.4 由PLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL),仿真,综合,布线,下载等工作。电子设计自动化EDA山东农业大学 信息学院 70HDL逻辑综合软件: 这类软件将把HDL语言翻译成最基本的与或非门的连接关系(网表),输出edif

29、(Electronic Design Interchange Format )文件,导给PLD/FPGA厂家的软件进行适配和布线。 为了优化结果,在进行复杂HDL设计时,基本上都会使用这些专业的逻辑综合软件,而不使用PLD/FPGA厂家的集成开发软件中自带的逻辑综合功能。Synplify / Synplify ProLeonardoSpectrumSynplicity:Mentor :FPGA Complier IISynopsys :电子设计自动化EDA山东农业大学 信息学院 71Model Tech: ModelsimAldec :ActiveHDLCadence :NC-Verlog/N

30、C-VHDL/NC-SIMHDL仿真软件 对设计进行校验仿真,包括布线以前的功能仿真(前仿真)和布线以后包含延时的时序仿真(后仿真),对于一些复杂的HDL设计可能需要这些软件专业的仿真功能。电子设计自动化EDA山东农业大学 信息学院 721.7、FPGAFPGACPLDCPLD设计流程设计流程应用应用FPGA/CPLD的的EDA开发流程开发流程:原理图/VHDL文本编辑综合FPGA/CPLD适配FPGA/CPLD编程下载编程下载FPGA/CPLD器件和电路系统时序与功能门级仿真1、功能仿真、功能仿真2、时序仿真、时序仿真逻辑综合器逻辑综合器结构综合器结构综合器1、isp方式下载方式下载 2、J

31、TAG方式下载方式下载 3、针对、针对SRAM结构的配置结构的配置4、OTP器件编程器件编程 功能仿真功能仿真(课本P13)电子设计自动化EDA山东农业大学 信息学院 731.7.1 设计输入设计输入(原理图原理图HDL文本编辑文本编辑)1. 1. 图形输入图形输入 图形输入图形输入 原理图输入原理图输入 状态图输入状态图输入 波形图输入波形图输入电子设计自动化EDA山东农业大学 信息学院 742. HDL2. HDL文本输入文本输入 这种方式与传统的计算机软件语言编辑输入基这种方式与传统的计算机软件语言编辑输入基本一致。就是将使用了某种硬件描述语言本一致。就是将使用了某种硬件描述语言(HDL

32、)(HDL)的的电路设计文本,如电路设计文本,如VHDLVHDL或或Verilog HDLVerilog HDL的源程序,的源程序,进行编辑输入。进行编辑输入。 可以说,应用可以说,应用HDLHDL的文本输入方法克服了上述的文本输入方法克服了上述原理图输入法存在的所有弊端,为原理图输入法存在的所有弊端,为EDAEDA技术的应用技术的应用和发展打开了一个广阔的天地。和发展打开了一个广阔的天地。电子设计自动化EDA山东农业大学 信息学院 75 整个整个综合综合过程就是将设计者在过程就是将设计者在EDAEDA平台上编辑平台上编辑输入的输入的HDLHDL文本、原理图或状态图形描述,依据给文本、原理图或

33、状态图形描述,依据给定的硬件结构组件和约束控制条件进行编译、优化定的硬件结构组件和约束控制条件进行编译、优化、转换和综合,最终获得、转换和综合,最终获得门级电路门级电路甚至更底层的电甚至更底层的电路描述路描述网表文件网表文件。由此可见,综合器工作前,必须。由此可见,综合器工作前,必须给定最后实现的硬件结构参数,它的功能就是将软给定最后实现的硬件结构参数,它的功能就是将软件描述与给定的硬件结构用某种网表文件的方式对件描述与给定的硬件结构用某种网表文件的方式对应起来,成为相互的映射关系。应起来,成为相互的映射关系。1.7.2 综合综合电子设计自动化EDA山东农业大学 信息学院 76 适配器适配器也

34、称结构综合器,它的功能是将由综合器产生的也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文网表文件配置于指定的目标器件中,使之产生最终的下载文件,如件,如JEDECJEDEC、JamJam格式的文件。适配所选定的目标器件格式的文件。适配所选定的目标器件(FPGA/CPLD(FPGA/CPLD芯片芯片) )必须属于原综合器指定的目标器件系列。必须属于原综合器指定的目标器件系列。 逻辑综合通过后必须利用适配器将综合后网表文件针对逻辑综合通过后必须利用适配器将综合后网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件某一具体的目标器件进行逻辑映

35、射操作,其中包括底层器件配置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成配置、逻辑分割、逻辑优化、逻辑布局布线操作。适配完成后可以利用适配所产生的仿真文件作精确的时序仿真,同时后可以利用适配所产生的仿真文件作精确的时序仿真,同时产生可用于编程的文件。产生可用于编程的文件。1.7.3 适配适配电子设计自动化EDA山东农业大学 信息学院 77时序仿真功能仿真 是直接对是直接对VHDL、原理图描述或其他、原理图描述或其他描述形式的逻辑功能进行测试模拟,以了解描述形式的逻辑功能进行测试模拟,以了解其实现的功能是否满足原设计的要求的过程,其实现的功能是否满足原设计的要求的过程,仿真过程不涉及任何具体

36、器件的硬件特性。仿真过程不涉及任何具体器件的硬件特性。1.7.4 时序仿真与功能仿真时序仿真与功能仿真 就是接近真实器件运行特性的仿就是接近真实器件运行特性的仿真,仿真文件中己包含了器件硬件特真,仿真文件中己包含了器件硬件特性参数,因而,仿真精度高。性参数,因而,仿真精度高。电子设计自动化EDA山东农业大学 信息学院 78 通常,将对通常,将对CPLDCPLD的下载称为的下载称为编程编程(Program)(Program),对,对FPGAFPGA中的中的SRAMSRAM进行直接下载的方式称为进行直接下载的方式称为配置配置(Configure)(Configure),但对于,但对于OTP OTP

37、 FPGAFPGA的下载和对的下载和对FPGAFPGA的专用配置的专用配置ROMROM的下载仍称为编程。的下载仍称为编程。 FPGAFPGA与与CPLDCPLD的辨别和分类主要是根据其结构特点和工作原的辨别和分类主要是根据其结构特点和工作原理。通常的分类方法是:理。通常的分类方法是:C 将以将以乘积项乘积项结构方式构成逻辑行为的器件称为结构方式构成逻辑行为的器件称为CPLDCPLD,如,如LatticeLattice的的ispLSIispLSI系列、系列、XilinxXilinx的的XC9500XC9500系列、系列、AlteraAltera的的MAX7000SMAX7000S系列和系列和La

38、ttice(Lattice(原原Vantis)Vantis)的的MachMach系列等。系列等。C 将以将以查表法查表法结构方式构成逻辑行为的器件称为结构方式构成逻辑行为的器件称为FPGAFPGA,如,如XilinxXilinx的的SPARTANSPARTAN系列、系列、AlteraAltera的的FLEX10KFLEX10K或或ACEX1KACEX1K系列等。系列等。1.7.5 编程下载编程下载电子设计自动化EDA山东农业大学 信息学院 79 最后是将含有载入了设计的最后是将含有载入了设计的FPGAFPGA或或CPLDCPLD的硬件系统进行统一的硬件系统进行统一测试,以便最终验证设计项目在测

39、试,以便最终验证设计项目在目标系统上的实际工作情况,以目标系统上的实际工作情况,以排除错误,改进设计。排除错误,改进设计。1.7.6 硬件测试硬件测试电子设计自动化EDA山东农业大学 信息学院 801.8、ALTERAALTERA开发工具开发工具QuartusIIQuartusII1 1位全加器设计向导位全加器设计向导基本设计流程基本设计流程为本项工程设计建立文件夹为本项工程设计建立文件夹(必须有必须有)注意:注意:文件夹名不能用中文,且不可带空格。文件夹名不能用中文,且不可带空格。(课本P95 5.1,5.2)(课本P116 5.4)电子设计自动化EDA山东农业大学 信息学院 81CLICK

40、CLICK电子设计自动化EDA山东农业大学 信息学院 82CLICKCLICK电子设计自动化EDA山东农业大学 信息学院 83CLICKCLICK电子设计自动化EDA山东农业大学 信息学院 84CLICK电子设计自动化EDA山东农业大学 信息学院 85电子设计自动化EDA山东农业大学 信息学院 86CLICK电子设计自动化EDA山东农业大学 信息学院 87电子设计自动化EDA山东农业大学 信息学院 88CLICKLibraries primitives logic电子设计自动化EDA山东农业大学 信息学院 89DOUBLE CLICK电子设计自动化EDA山东农业大学 信息学院 90CLICKC

41、LICK电子设计自动化EDA山东农业大学 信息学院 CLICK91电子设计自动化EDA山东农业大学 信息学院 92CLICK电子设计自动化EDA山东农业大学 信息学院 93电子设计自动化EDA山东农业大学 信息学院 94CLICKCLICK电子设计自动化EDA山东农业大学 信息学院 95CLICKCLICK电子设计自动化EDA山东农业大学 信息学院 96电子设计自动化EDA山东农业大学 信息学院 97CLICK电子设计自动化EDA山东农业大学 信息学院 98Mouse Right Click电子设计自动化EDA山东农业大学 信息学院 99CLICK电子设计自动化EDA山东农业大学 信息学院 1

42、00CLICKCLICKCLICK电子设计自动化EDA山东农业大学 信息学院 101CLICK电子设计自动化EDA山东农业大学 信息学院 102CLICK电子设计自动化EDA山东农业大学 信息学院 103CLICK在此区域连续单击鼠标右键电子设计自动化EDA山东农业大学 信息学院 104CLICK电子设计自动化EDA山东农业大学 信息学院 105CLICKCLICK电子设计自动化EDA山东农业大学 信息学院 106保存电子设计自动化EDA山东农业大学 信息学院 107电子设计自动化EDA山东农业大学 信息学院 108第2章 VHDL程序编程基础2.1、简介背景2.2、 VHDL语言程序的基本结

43、构 2.3、 VHDL语言的数据类型及运算操作符 2.4、 VHDL语法基础 2.5、属性的描述与定义 电子设计自动化EDA山东农业大学 信息学院 109u传统数字电路设计方法不适合设计大规模的系统。工程师不容易理解原理图设计的功能。u众多软件公司开发研制了具有自己特色的电路硬件描述语言HDL (Hardware Description Language),这些语言之间存在着很大的差异,工程师一旦选用某种硬件描述语言作为输入工具,就被束缚在这个硬件设计环境之中。因此,硬件设计工程师需要一种强大的、标准化的硬件描述语言,作为可相互交流的设计环境。2.1、简介背景简介背景电子设计自动化EDA山东农

44、业大学 信息学院 110 描述复杂的数字电路系统 成为国际的硬件描述语言标准u美国国防部在80年代初提出了VHSIC(Very High Speed Integrated Circuit)计划,其目标之一是为下一代集成电路的生产,实现阶段性的工艺极限以及完成10万门级以上的设计,建立一项新的描述方法。1981年提出了一种新的HDL,称之为VHSIC Hardware Description Language,简称为VHDL,这种语言的成就有两个方面:Institute of Electrical and Electronics Engineers1987,“IEEE 标准1076” ,最新,I

45、EEE1076-2008电子设计自动化EDA山东农业大学 信息学院 111VHDL的优点:v用于设计复杂的、多层次的设计。支持设计库和设计的重复使用v与硬件独立,一个设计可用于不同的硬件结构,而且设计时不必了解过多的硬件细节。v有丰富的软件支持VHDL的综合和仿真,从而能在设计阶段就能发现设计中的Bug,缩短设计时间,降低成本。v更方便地向ASIC过渡。vVHDL有良好的可读性,容易理解。电子设计自动化EDA山东农业大学 信息学院 112VHDL与计算机语言的区别运行的基础 计算机语言是在CPURAM构建的平台上运行 VHDL设计的结果是由具体的逻辑、触发器组成的数字电路执行方式 计算机语言基

46、本上以串行的方式执行 VHDL在总体上是以并行方式工作验证方式 计算机语言主要关注于变量值的变化 VHDL要实现严格的时序逻辑关系电子设计自动化EDA山东农业大学 信息学院 113-eqcomp4 is a four bit equality comparatorLibrary IEEE;use IEEE.std_logic_1164.all;entity eqcomp4 isport(a, b:in std_logic_vector(3 downto 0); equal:out std_logic);end eqcomp4;architecture dataflow of eqcomp4 i

47、sbegin equal = 1 when a=b else 0;End dataflow;VHDL 大小写大小写不敏感不敏感eqcomp4.vhd包实体结构体文件名和实体名一致每行;结尾关键字begin关键字end后跟实体名关键字end后跟结构体名库类型类型设计实体设计实体电子设计自动化EDA山东农业大学 信息学院 1142.2、VHDLVHDL语言程序的基本结构语言程序的基本结构 一个完整的VHDL语言程序通常包含五个部分: 实体(Entity)结构体(Architecture)配置(Configuration)包集合(Package)库(Library) (课本P225)电子设计自动化E

48、DA山东农业大学 信息学院 115前面的例子 设计实体是VHDL语言设计的基本单元,是最重要的系统抽象。 设计实体由实体说明和结构体两部分组成定义了设计单元的具体构造和操作 规定了设计单元的输入输出接口信号或引脚Entity DeclarationArchitecture Body2.2.1 设计实体设计实体(design entity) 电子设计自动化EDA山东农业大学 信息学院 116实体说明的一般格式如下:文件名和实体名一致!ENTITY 实体名 IS GENERIC(类属参数说明); PORT(端口说明); 实体说明部分;BEGIN 实体语句部分;END ENTITY 实体名;2.2.

49、2 实体说明实体说明 电子设计自动化EDA山东农业大学 信息学院 117ENTITY 实体名 IS GENERIC(类属参数说明); PORT(端口说明);END 实体名;实体说明的常用格式如下: := ENTITY Identifier IS BEGIN END ENTITY ; 电子设计自动化EDA山东农业大学 信息学院 1181 1类属参数说明类属参数说明 类属参数说明用于说明设计实体和其外部环境通信的对象、通信的格式约定和通信通道的大小。 GENERIC(CONSTANT 名字表: IN 子类型标识 := 静态表达式 ,); GENERIC(名字表:子类型标识 := 静态表达式 ,);

50、 例如:GENERIC (m:TIME:= 3ns) 一般书写格式为:常用书写格式为:GENERIC ( m:TIME:= 5ns ,n:INTEGER:= 75)GENERIC (n:INTEGER:= 15)电子设计自动化EDA山东农业大学 信息学院 1192 2端口说明端口说明 端口为设计实体和其外部环境的动态通信提供通道,是对基本设计实体与外部接口的描述。 PORT( SIGNAL 端口名:模式子类型标识 BUS :=静态表达式 ,);PORT(端口名:模式 子类型标识 BUS ,);(1)端口名 端口名是赋予每个外部引脚的名称 一般书写格式为:常用书写格式为:电子设计自动化EDA山东

51、农业大学 信息学院 120(2)端口模式 端口模式用来说明数据、信号通过该端口的方向。 LINKAGE(不指定方向,无论哪个方向都可连接)。 VHDL语言提供了下述端口模式:IN (流入实体),OUT (流出实体),INOUT (双向端口:既可流入,又可流出),BUFFER (信号输出到外部,但同时也可在实体内部反馈),电子设计自动化EDA山东农业大学 信息学院 121(3)数据类型 VHDL语言中有10种数据类型,IEEE1076/93标准规定,EDA综合工具提供的数据类型为布尔型(Boolean)、位型(Bit)、位矢量型(Bit_vector)和整数型(Integer)。 但在实际中,常

52、用的数据类型为: STD_LOGIC STD_LOGIC_VECTOR 要使用这2种类型,须在程序开始加入以下两语句: LIBRARY IEEE; USE IEEE. STD_LOGIC_1164.ALL;例如:U UninitializedX Forcing Unknown0 Forcing 01 Forcing 1Z High ImpedanceW Weak UnknownL Weak 0H Weak 1- Dont careTRI_STATE电子设计自动化EDA山东农业大学 信息学院 122LIBRARY IEEE;USE IEEE. STD_LOGIC_1164.ALL;ENTITY

53、deco ISPORT(clock: IN STD_LOGIC; q: OUTSTD_LOGIC_VECTOR(7 DOWNTO 0);END deco;前面的例子无;电子设计自动化EDA山东农业大学 信息学院 123结构体描述一个设计的结构或行为 用VHDL语言描述结构体功能有3种方法: (1)行为描述法(behavioral):(2)数据流描述法(RTL or dataflow):(3)结构描述法(structural):2.2.3 结构体结构体 电子设计自动化EDA山东农业大学 信息学院 124例如:architecture one of mux21 isbegin y=a when s

54、=0 else b;end architecture one;结构体的常用书写格式为:ARCHITECTURE 结构体名 OF 实体名 IS -定义语句BEGIN -并行处理语句END ARCHITECTURE 结构体名;电子设计自动化EDA山东农业大学 信息学院 125ARCHITECTURE one OF deco ISBEGIN WITH num SELECTq=00111111 WHEN 0000, 00000110 WHEN 0001, 01011011 WHEN 0010, 01001111 WHEN 0011, 01100110 WHEN 0100, 01101101 WHEN

55、0101, 01111101 WHEN 0110, 00100111 WHEN 0111, 01111111 WHEN 1000, 01101111 WHEN 1001, 00000000 WHEN OTHERS;END one;电子设计自动化EDA山东农业大学 信息学院 1261结构体名称的命名结构体名称的命名 结构体的名称可自由命名,但通常命名为 behavioral dataflow structural ARCHITECTURE behavioral OF mux IS 用结构体行为命名ARCHITECTURE dataflow OF mux IS 用结构体的数据流命名ARCHITEC

56、TURE structural OF mux IS 用结构体的组织结构命名 2定义语句定义语句 用于对结构体内部所使用的信号、常数、数据类型和函数进行定义。 电子设计自动化EDA山东农业大学 信息学院 127例:计数器的VHDL描述。 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY cnt10 IS PORT (clock: IN STD_LOGIC; q: OUT STD_LOGIC_VECTOR(3 DOWNTO 0); ca: OUT STD_LOGIC);END cnt10; 电子

57、设计自动化EDA山东农业大学 信息学院 128ARCHITECTURE rtl OF cnt10 ISSIGNAL qs:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(clock) VARIABLE q10:INTEGER range 0 to 15:=0; BEGIN IF (clockEVENT AND clock=1) THEN IF(q10 =9) THEN q10:=0; ca=1; ELSE q10:=q10+1; ca=0; END IF; END IF; qs=CONV_STD_LOGIC_VECTOR(q10,4); q=qs; END

58、 PROCESS;END rtl;返回类型转换返回整数电子设计自动化EDA山东农业大学 信息学院 1295LEs SKIP电子设计自动化EDA山东农业大学 信息学院 13073LEs 电子设计自动化EDA山东农业大学 信息学院 1312.3、VHDLVHDL语言的数据类型及运算操作符语言的数据类型及运算操作符 VHDL语言的标识符是遵守以下规则的字符序列: (1)有效字符:)有效字符: (AZ,az)、()、(09)和()和(_)。)。(2)必须以英文字母打头。)必须以英文字母打头。(3)下划线前后必须都有英文字母或数字。)下划线前后必须都有英文字母或数字。(4)标识符不区分大小写。)标识符不

59、区分大小写。下面是合法的标识符: pulse_100ms Pulse_100ms PULSE_100MS 下面是不合法的标识符: pulse-100ms 2pulse_100ms _pulse_100ms pulse_100ms_ 2.3.1 标识符标识符 (课本P127)电子设计自动化EDA山东农业大学 信息学院 132 在VHDL语言中对象包括以下3种:信号(Signal)、变量(Variable)和常数(Constant)。 (课本P127)1. 常数(常数(Constant)CONSTANT 常数名:数据类型:=表达式; 例如:CONSTANT DELAY:time:=100ns; 常

60、数说明的一般格式如下:常数是一个全局量。2.3.2 VHDL语言的对象及其分类语言的对象及其分类 SYNconstant writeDDRAM : std_logic_vector(4 downto 0):=10001;电子设计自动化EDA山东农业大学 信息学院 1332. 变量(变量(Variable) VARIABLE 变量名:数据类型 约束条件:=表达式; 例如:VARIABLE x,y,z:INTEGER; 变量说明语句的一般格式为: 变量只能在进程语句、函数语句和过程语句结构中使用,是一个局部量。变量在赋值时不能产生附加延时。通常暂存一些信号。variable count:integ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论