书签 分享 收藏 举报 版权申诉 / 175
上传文档赚钱

类型配套课件-EDA技术与VHDL程序设计基础教程.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3394414
  • 上传时间:2022-08-26
  • 格式:PPT
  • 页数:175
  • 大小:16.45MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《配套课件-EDA技术与VHDL程序设计基础教程.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    配套 课件 EDA 技术 VHDL 程序设计 基础教程
    资源描述:

    1、EDA技术与VHDL程序开发基础教程重点内容:重点内容:l EDAEDA技术发展和应用技术发展和应用l EDAEDA工程设计流程工程设计流程l EDAEDA集成开发工具集成开发工具 EDA技术与VHDL程序开发基础教程 EDA(Electronic Design Automation)工程是现代电子信息工程领域中一门发展迅速的新技术。EDA的定义有广义和狭义之分,广义定义EDA包括半导体工艺设计自动化、可编程器件设计自动化、电子系统设计自动化、印制电路板设计自动化、仿真与测试故障诊断自动化等。狭义定义的EDA就是电子设计自动化。EDA技术主要有四个方面:1、可编程逻辑器件,即应用EDA技术完成

    2、电子系统设计的载体;2、硬件描述语言(VHDL 或者 Verilog)。它用来描述系统的结构和功 能,是EDA的主要表达手段;3、配套的软件工具。它用来完成电子系统的智能化设计;4、实验开发系统。在整个EDA设计电子系统的过程中,实验开发系统是实现可编程器件下载和验证的工具,EDA技术与VHDL程序开发基础教程 现代EDA技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。它的成熟主要经历了三个阶段,即:计算机辅助设计(CAD,Computer Aided Design)计算机辅助工程设计(CAED,Computer Aided Engineering Desig

    3、n)电子设计自动化(EDA,Electronic System DesignAutomation)。随着工艺的进步和EDA技术的不断发展,软硬件协同设计将显得越来越重要。EDA技术的应用也将向广度和深度两个方向继续发展,今后还会超越电子设计的范畴,从而进入其他领域。随着SOC和SOPC的发展,IP核复用的概念越来越为业界所接受,这也正符合VHDL语言的设计理念。所以,未来电子系统的设计与规划将不再是电子工程师的专利。EDA技术与VHDL程序开发基础教程EDA技术的应用范畴很广主要有:1、PCB印制电路板的设计2、ASIC全定制数字电路 的设计3、FPGA/CPLD等可编程器 件上的电子系统设计

    4、EDA技术与VHDL程序开发基础教程PCB(Printed Circuit Board)印制电路板主要用作电子系统的载体,工程师通常将集成电路元件焊接在PCB板上完成整个电子系统的搭建、控制、通信等功能 点阵系统的原理图和版图 点阵系统的版图 EDA技术与VHDL程序开发基础教程ASIC(Application Specific Intergrated Circuits)专用集成电路是EDA技术应用在电子系统设计的高端产物。这种芯片的集成度极高,有全定制和半定制两种。ASIC设计流程和所个步骤所使用的软件工具 EDA技术与VHDL程序开发基础教程CPLD(Complex Programmabl

    5、e Logic Device)复杂可编程逻辑器件和FPGA(Field Programmable Garry Array)现场可编程门阵列随着EDA技术的发展已经成为电子设计领域的重要角色,其应用相当广泛。高集成度、高速度和高可靠性是CPLD/FPGA最明显的特点。CPLD/FPGA的一般设计流程 EDA技术与VHDL程序开发基础教程一个完整的EDA工程通常要涉及到系统建模、逻辑综合、故障测试、功能仿真、时序分析、形式验证等内容。1、设计输入 2、逻辑综合和优化 3、布局布线和适配 4、工程设计的仿真 5、目标器件的编程和下载 6、硬件电路的后仿真验证和测 试 VHDL开发FPGA/CPLD电

    6、子系统的流程图 EDA技术与VHDL程序开发基础教程目前比较流行的用于可编程器件的EDA集成开发工具主要有Altera公司的MAX+Plus II和Quartus II、Xilinx公司的Foundation和ISE以及Lattice公司的ispDesignEXPERT和ispLEVER。Quartus II的GUI界面 它支持原理图、VHDL和Verilog语言文本输入方式和波形或EDIF格式的文件作为输入,且支持这些文件的混合设计。EDA技术与VHDL程序开发基础教程EDA技术与VHDL程序开发基础教程 System Generator和Matlab联合开发DSP系统 EDA技术与VHDL

    7、程序开发基础教程1 1、EDAEDA技术的学习方法技术的学习方法从实用角度讲,EDA技术需要掌握四个方面,即:1)、可编程逻辑器件;2)、硬件描述语言(VHDL 或者 Verilog);3)、配套的软件工具;4)、实验开发系统;2 2、EDAEDA技术的学习方法技术的学习方法 读者在学习EDA技术的过程中首先接触的就是VHDL的基本编程,在这里应该熟练掌握基本门电路、多路选择器和状态机的编写。然后掌握配套的CPLD/FPGA开发软件,通过实际的案例和应用设计边学边用。EDA技术与VHDL程序开发基础教程重点内容:重点内容:l CPLDCPLD结构和工作原理结构和工作原理l FPGAFPGA结构

    8、和工作原理结构和工作原理l FPGA FPGA配置方式配置方式l CPLD/FPGA CPLD/FPGA应用选型应用选型EDA技术与VHDL程序开发基础教程 可编程逻辑器件 PROM、PLA和PAL的原理和特性 基于二极管和三极管的一次可编程PROM单元 EDA技术与VHDL程序开发基础教程 PLA是Programmable Logic Array的缩写,它的出现主要是为了解决PROM的速度和输入端受到限制的问题。右图通过这种阵列结构PLA可以实现大量的组合函数,虽然不能完全覆盖所有的输入组合,但其较多的输入端和更快的速度使得它的应用超过了PROM。EDA技术与VHDL程序开发基础教程 可编程

    9、阵列逻辑PAL是PLA的一个发展版,与PLA类似,它也有一个宽输入。可编程的“与”阵列。最大的不同是PAL的“或”阵列不再可编程,而是变成了固定的。EDA技术与VHDL程序开发基础教程可编程特性分类:从可编程特性分类可将PLD分为一次可编程和重复可编程两类。一次可编程器件主要以PROM、PAL和熔丝型FPGA为代表,其他的器件大多数是可重复编程的。熔丝型器件编程的主要原理是利用较大的编程电流将特定位置的熔丝烧断,从而完成所需的逻辑函数输出 对于多次可编程的器件而言,用紫外线擦除的器件一般只能使用几十次,而采用电擦除方式的器件编程次数会比紫外线方式的稍多一些,如果是采用E2MOS工艺的器件,擦写

    10、次数可以达到上千次。EDA技术与VHDL程序开发基础教程 可编程逻辑器件中的编程元件通常有五种:熔丝型开关可编程低阻电路EPROMEEPROMSRAM内部互联结构分类如果从内部互联结构分类,可编程逻辑器件可以分为CPLD和FPGA两类。EDA技术与VHDL程序开发基础教程 描述PLD内部电路结构的方法与普通逻辑电路的表示方法不同。它需要将芯片内部结构配置与逻辑图一一对应起来,从而使得器件制造商和电路设计这较容易掌握。PLD的表示方法在电路层、物理层以及版图的布局之间都有非常巧妙的映射,因而读起来十分方便。1.互补输入缓冲电路2.三态输出缓冲电路EDA技术与VHDL程序开发基础教程 3.与或逻辑

    11、与或逻辑是可编程器件的核心部件。如图所示,(a)中三条竖线A、B、C均为输入线,输入到与门的横线为乘积线。乘积线与输入线的交叉点为编程点,在编程点处有编程器件,如熔丝或可编程的MOS器件等。当输入线与乘积线相连通时,在编程点处以“”表示。(b)中三条竖线A、B、C也为输入线,输入到或门的横线为和线。和线与输入线的交叉点为编程点。当输入线与和线相连通时,在编程点处以“”表示。可以看出,图中电路表示的逻辑表达式分别为Y=AB和Y=A+B+C。EDA技术与VHDL程序开发基础教程 CPLD的基本结构 可编程逻辑阵列块类似于一个低密度的PAL/GAL,包括乘积项的与阵列、乘积项分配和逻辑宏单元等。基于

    12、乘积项阵列型CPLD的基本结构 EDA技术与VHDL程序开发基础教程 ispLSI2128的结构示意图,它由输入(Input)、全局布线区(GRP)、通用逻辑块(GLB)、I/O单元、宏块和控制电路等组成。每个宏块包括8个通用逻辑块(GLB)、2个输出布线区(ORP)、1个32位输入总线和33个引脚。EDA技术与VHDL程序开发基础教程 111111111111111111&1&1&1&11GLB结构:通用逻辑块GLB是Gerneric Logic Block的缩写,也是整个器件的逻辑核心。它由与阵列、乘积项共享阵列(Product Term Sharing Array)、输出逻辑宏单元(OL

    13、MC)和控制电路四部分组成,分布在GRP的四周,可实现类似GAL/PAL的功能 EDA技术与VHDL程序开发基础教程 1.输出逻辑宏单元2.控制电路3.全局布线区属于ispLSI中的一种专用内部互联结构。起作用是将GLB的输出信号或I/O单元的输入信号与GLB的输入端连接 EDA技术与VHDL程序开发基础教程 4、I/O单元结构I/O单元常称为输入/输出单元,是器件外部封装引脚与内部信号之间的接口电路 EN1EDA技术与VHDL程序开发基础教程5、宏块结构 每个宏块包含8个GLB、16位输入总线、2个输出布线区(ORP)、32个I/O单元、2个专用输入和1个公用乘积项GOE。EDA技术与VHD

    14、L程序开发基础教程 Altera公司的CPLD器件总结起来可以概括为五个部分:可编程逻辑阵列块(LAB);宏单元;扩展乘积项;输入/输出块;互联资源;MAX7128结构原理图EDA技术与VHDL程序开发基础教程2、宏单元。由3个功能块组成:逻辑阵列、乘积项选择矩阵和可编程寄存器。各部分可以被独自配置为时序逻辑和组合逻辑工作方式。1.可编程逻辑阵列块(LAB),对于每个LAB有下列输入信号。A来自作为通用逻辑输入的PIA的36个信号B全局控制信号,用于寄存器辅助功能C从I/O引脚到寄存器的直接输入通道EDA技术与VHDL程序开发基础教程 3.扩展乘积项 利用扩展项可保证在实现逻辑综合时,用尽可能

    15、少的逻辑资源实现尽可能快的工作速度。具体的扩展乘积项分为共享扩展项和并联扩展项。并联扩展项的原理图 共享扩展乘积项结构 EDA技术与VHDL程序开发基础教程 4.可编程连线阵列PIA5.输入/输出控制块(I/O)EDA技术与VHDL程序开发基础教程 1.基于SRAM编程的FPGA 基于SRAM编程的FPGA以Xilinx的逻辑单元阵列(LCA,Logic Cell Array)为例 FPGA由可配置逻辑模块(CLB,Configurable Logic Block)、可编程布线资源(PI,Progammable Interconnection)和可编程输入/输出模块(IOB,Input/Out

    16、put Block)三部分组成。EDA技术与VHDL程序开发基础教程 2.基于反熔丝编程的FPGA 采用反熔丝编程的FPGA具有集成度高、功耗低、保密性强、抗辐射和抗干扰性好等优点。EDA技术与VHDL程序开发基础教程 Altera公司的FPGA FLEX 10K系列的FPGA是工业界第一款嵌入式PLD器件,采用了可重复配置的CMOS SRAM工艺和灵活逻辑单元矩阵(FLEX,Flexble Logic Element Matrix)框架,具有高密度、低成本、低功耗等特点。内部包括四个部分:嵌入式阵列块逻辑阵列块快速通道/互联通道输入/输出单元EDA技术与VHDL程序开发基础教程 1.逻辑阵列

    17、块(LAB)2.嵌入式阵列块 EDA技术与VHDL程序开发基础教程 3.快速通道/互联通道 4、输入/输出单元 EDA技术与VHDL程序开发基础教程 XilinxXilinx公司的公司的FPGA FPGA 主要包含:1、可配置的逻辑模块(CLB)EDA技术与VHDL程序开发基础教程2、可编程布线资源(PI)。由纵横分布在CLB阵列之间的金属线网络和位于纵横线交叉点上的可编程开关矩阵组成。3、可编程的输入/输出模块(IOB)由输入触发器、输入缓冲器和输出触发/锁存器、输出缓冲器组成,每个IOB控制一个外部引出端。EDA技术与VHDL程序开发基础教程 FPGA的配置方式是指FPGA用来完成设计师的

    18、逻辑配置和外部连接方式。逻辑配置是指FPGA的下载,即开发系统将用户的设计输入进行编译产生配置数据文件,然后装入FPGA芯片内部的可配置存储器的过程。1、主动串行配置 主动串行配置模式需要附加一个外部串行存储器EPROM或PROM。在配置之前需事先将配置数据写入外部存储器,每当电源接通后,FPGA将自动地从外部串行PROM或EPROM中读取串行配置数据,EDA技术与VHDL程序开发基础教程2、主动并行配置 主动并行配置同样适用EPROM做外部存储器,事先将配置数据写入EPROM芯片内。EDA技术与VHDL程序开发基础教程3、菊花链配置 在数字系统的应用设计中,当单片FPGA不足以实现完整的功能

    19、时,可以采用多个FPGA芯片。EDA技术与VHDL程序开发基础教程1、器件逻辑资源的选择 能够影响逻辑资源占用的因素有很多,主要有:A描述语言和描述风格;BHDL综合器的选择;C综合策略的选择;D逻辑功能单元的性质额实现方法;2、芯片速度的选择。芯片速度的选择应与系统工作频率相吻合,3、器件功耗的选择。就低功耗而言,FPGA具有绝对的优势。4、器件封装的选择5、CPLD/FPGA的选择。FPGA的主要应用有三个方面:A直接使用与电路系统;B硬拷贝;C逻辑验证;EDA技术与VHDL程序开发基础教程重点内容:重点内容:l VHDLVHDL程序基本结构程序基本结构l VHDLVHDL基本词法与基本语

    20、句基本词法与基本语句l VHDL VHDL描述风格描述风格 EDA技术与VHDL程序开发基础教程 HDLHDL语言的种类语言的种类1、ABEL-HDL。是一种早期的硬件描述语言,可方便准确的描述所设计的电路逻辑功能,并被很多电子系统设计自动化(EDA)软件所支持。2、AHDL。是Altera公司开发一种HDL语言。它的特点是易学易用,3、VHDL。中文全称为超高速集成电路硬件描述语言4、Verilog。是1983年由GD(GateWay Design Automation)公司的Phil Moorby首创的。EDA技术与VHDL程序开发基础教程EDA技术与VHDL程序开发基础教程 VHDLVH

    21、DL语言的特点语言的特点 硬件描述能力强;设计技术齐全、方法灵活、支持广泛;对设计描述具有相对的独立性;具有很强的移植能力;易于共享和复用;具有丰富的仿真语句和库函数;设计结构清晰、易读易懂;容易实现系统的更新和升级;数据类型丰富、安全性好;EDA技术与VHDL程序开发基础教程 VHDLVHDL和和VerilogVerilog的比较的比较 Verilog HDL在底层建模方面要强于VHDL,但系统建模覆盖面较小。而VHDL在系统级建模方面则可以像高级语言一样更灵活的描述系统行为。EDA技术与VHDL程序开发基础教程 用VHDL进行数字电路设计时,无论电路规模的大小,均要使用一个完整的VHDL程

    22、序结构,这个完整的程序结构包括五部分,它们分别是(参见上一节给出的VHDL七段译码器代码):实体(Entity);结构体(Architecture);配置(Configuration);包集合(Package);库(Library);EDA技术与VHDL程序开发基础教程 VHDLVHDL的设计简述的设计简述 其描述结构中包括IEEE标准库说明、程序包、实体和结构体等几个部分。四选一多路数据选择器 结构体(Architecture)是占VHDL程序比重最大的部分也是VHDL的核心部分,EDA技术与VHDL程序开发基础教程 实体说明是VHDL程序设计中最基本的组成部分,主要用来描述设计实体的外部接

    23、口信号,定义设计单元的输入输出端口,属于整个VHDL所描述电路结构的通信界面,为可视部分,但它并不描述所要设计系统的具体功能。端口说明语句描述了目标系统与外界通信的接口,即指明实体的输入输出信号,以及一些端口的模式信息,包括端口的名称、数据的类型和数据的传输方向(端口模式)。EDA技术与VHDL程序开发基础教程 结构体是VHDL程序的核心,它描述了目标系统的行为、元件以及它们之间的连接关系。结构体的基本格式包括四个部分:结构体引导语句(ARCHITECTURE)结构体说明语句功能描述语句结束语句(END)VHDLVHDL的结构体的结构体EDA技术与VHDL程序开发基础教程 VHDL语言与其他高

    24、级语言一样,具有计算机编程语言的一般特性,其语言要素是组成编程语句的基本单元,主要有数据对象(Object)、数据类型(Type)、操作数(Operations)和运算操作符(Operator)。1、标识符。包括短标识符和扩展标识符2、对象。在VHDL语言中,凡是可以赋值的客体叫做对象(Object)。VHDL对象包括专门的数据类型,即常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。3、数据类型。在VHDL标准中,IEEE一共定义了10种基本的数据类型。同时,为了方便设计,VHDL还容许工程师根据自己需要自定义数据类型,这就给数字系统设计提供了很大

    25、的自由空间,从而为EDA工具的高层次综合、仿真提供可能。常用数据类型:整数、实数类型、位类型、位矢量类型、布尔类型、时间类型、枚举类型、数组类型。EDA技术与VHDL程序开发基础教程类型转换类型转换 由于VHDL对数据类型的限制比较严格,不同类型的对象不能带入,因而很多程序设计常常会遇到数据转换的问题。为了进行不同数据类型的转换,VHDL提供了三种方法来完成这一功能,即类型标记法、函数转换法和常数转换法。运算操作符运算操作符 与其他程序设计语言相似,VHDL中的表达式也是由运算符将基本元素连接起来形成。这里的基本元素包括对象名、文字、函数调用及用括号括起来的表达式。在VHDL语言中共有4类操作

    26、符,即 逻辑运算符(LOGICAL)、关系运算符(RELATIONAL)算术运算符(ARITHMETIC)、并置运算(CONCATENATION)EDA技术与VHDL程序开发基础教程 VHDL语言的的描述语句主要用来描述系统的硬件结构、行为功能以及信号之间的逻辑关系。这些语句按执行的顺序可以分为顺序语句和并行语句两类。顺序语句主要包括四种:赋值语句、流程控制语句、等待语句、空操作语句。并行语句主要有7种:进程语句;并行信号赋值语句;块语句;元件例化语句;生成语句;条件信号赋值语句;并行过程调用语句;EDA技术与VHDL程序开发基础教程1、赋值语句。赋值语句分为简单信号赋值语句、条件信号赋值语句

    27、和选择信 号赋值语句三种2 IF语句。属于流控制语句。有单选控制、二选控制和多选控制三种。3、CASE语句。CASE语句也是顺序语句的一种,且可读性非常强。4、LOOP语句。是一种循环语句有三种格式,即 aFOR_LOOP;bWHILE_LOOP;cLOOP;5、PROCESS进程语句.从电路的工作方式上可以包括组合逻辑运行方式、同步 逻辑运行方式和异步逻辑运行方式等。6、COMPONENT元件例化语句7、PORT MAP端口映射语句。在上一小节元件例化语句的示例代码中,各个元 件之间的连线关系是通过端口映射语句(PORT MAP)来实现的,EDA技术与VHDL程序开发基础教程 在VHDL语言

    28、中,不同的描述方式或建模方式又称为VHDL语言的描述风格,常用的主要有三种或它们的混合。这三种描述方式为:行为描述;数据流描述;门级描述;1 1、行为级描述。、行为级描述。是按照目标系统的功能或算法来描述结构体,不必给出实现这些行为的硬件结构,而只强调电路的行为和功能。EDA技术与VHDL程序开发基础教程2 2、数据流描述、数据流描述 利用VHDL语言中的赋值符和逻辑运算符进行描述。其中既包含逻辑单元的结构信息有隐含的表示某种行为,主要采用非结构化的并行语句描述。3 3、门级描述、门级描述 门级描述属于比较底层的描述方法,就是描述出元件之间的互连方式。其具体步骤如下:1.元件说明2.元件例化3

    29、.元件配置EDA技术与VHDL程序开发基础教程重点内容:重点内容:l QuartusQuartus II II基本基本设计设计流程流程l SignalTap IISignalTap II模模块块使用使用l LPM_ROMLPM_ROM宏模宏模块块使用使用 EDA技术与VHDL程序开发基础教程 1 1、创建工程、创建工程 (1)新建文件夹(2)输入源程序(3)保存文件 EDA技术与VHDL程序开发基础教程 (4)创建工程并添加源程序(5)选择目标芯片 EDA技术与VHDL程序开发基础教程(6)设置EDA工具(7)结束设置 EDA技术与VHDL程序开发基础教程 2 2、编译工程、编译工程 通过Ne

    30、w Project Wizard建立了目标系统的工程之后,工程师可以对所建工程进行全程编译。Quartus II编译器是由一系列处理模块构成的,这些模块负责对设计项目的检错、逻辑综合、结构综合、输出结果的编辑配置以及时序分析。EDA技术与VHDL程序开发基础教程 3 3、时序仿真、时序仿真 工程编译成功后,必须对其功能和时序特性进行仿真测试,以了解设计结果是否满足原设计要求。Quartus II提供的波形文件为Vector Waveform File,即VWF。具体的流程为:新建波形编辑文件;设置仿真时间区域;保存文件;导入欲观察的信号节点;编辑激励信号;设置数据格式;设置仿真器参数;启动仿真

    31、观察仿真结果;EDA技术与VHDL程序开发基础教程 波形编辑器波形编辑器 仿真时间长的设置仿真时间长的设置EDA技术与VHDL程序开发基础教程 导入欲观察的信号导入欲观察的信号 将端口信号导入波形文件编辑器将端口信号导入波形文件编辑器 EDA技术与VHDL程序开发基础教程 设置好激励波形的波形编辑器设置好激励波形的波形编辑器端口信号属性设置端口信号属性设置 EDA技术与VHDL程序开发基础教程 仿真器设置仿真器设置 仿真波形输出仿真波形输出 EDA技术与VHDL程序开发基础教程 4 4、ViewerViewer工具工具 (1)RTL Viewer RTL Viewer可以根据VHDL语言或网表

    32、文件直接生成RTL级电路,选择Tools-Netlist Viewers|RTL Viewer可以看到MEALY的RTL电路,EDA技术与VHDL程序开发基础教程 (2)Technology Map Viewer与RTL Viewer不同,Quartus II Technology Map Viewer提供的是设计的底级或基元极专用技术原理表征,它展示的是综合后的电路结构,EDA技术与VHDL程序开发基础教程 (3)State Machine Viewer如果目标系统是是按照状态机机理设计的(状态机的概念在第五章介绍),State Machine Viewer直观的看到各个状态转移的关系 ED

    33、A技术与VHDL程序开发基础教程 5 5、引脚锁定和下载、引脚锁定和下载 为了能对此工程进行硬件测试,应将编译成功后的程序下载到目标芯片上,并指定输入输出信号的管脚,以便添加激励信号和测试输出信号,Quartus II的引脚配置 FPGA/CPLD的编程下载EDA技术与VHDL程序开发基础教程 嵌入式逻辑分析仪SignalTap II允许对设计中所有层次的模块的信号节点进行测试,可以使用多时钟驱动,而且还能通过设置来确定前后触发捕捉信号信息的比例。本节将以一个计数器cnts为例介绍SignalTap II的使用方法,具体流程为:启动SignalTap II;调入待测信号;设置SignalTap

    34、 II的参数;保存文件;编译下载;启动SignalTap II进行采样分析;SignalTap IISignalTap II的编辑窗口的编辑窗口 EDA技术与VHDL程序开发基础教程 SignalTap II的参数设置 利用SignalTap采样分析5位计数器的工作状态EDA技术与VHDL程序开发基础教程正弦信号发生器的模块化结构,可以看出该信号发生器由4部分组成,即:计数器;正选信号数据ROM;VHDL顶层设计;D/A转换器;使用步骤:初始化数据文件定制LPM_ROM元件(1)打开MegaWizard Plug-In Manager(2)选择ROM控制线和地址、数据线EDA技术与VHDL程序

    35、开发基础教程 MegaWizard Plug-In Manager对话框 LPM宏功能设定 EDA技术与VHDL程序开发基础教程选择data_rom模块数据线和地址线宽度选择地址锁存信号inclockEDA技术与VHDL程序开发基础教程调入ROM初始化数据文件并选择在系统读写功能 EDA技术与VHDL程序开发基础教程4 4、顶层文件的仿真测试、顶层文件的仿真测试 正弦信号发生器正弦信号发生器的仿真波形的仿真波形 用用SignalTapSignalTap II II实时观察实时观察正弦信号发生器的结果正弦信号发生器的结果 EDA技术与VHDL程序开发基础教程重点内容:重点内容:l 组合逻辑电路设

    36、计组合逻辑电路设计l 时序逻辑电路设计时序逻辑电路设计l 存储器设计存储器设计l 状态机设计状态机设计EDA技术与VHDL程序开发基础教程 组合逻辑电路是一种在任何时刻的输出仅取决于当时输入信号的逻辑电路。常用的组合逻辑电路主要有编码器、译码器、数据选择器、运算电路和数值比较器等。1 1、基本门电路的设计、基本门电路的设计 基本逻辑门 基本逻辑门的逻辑结果 EDA技术与VHDL程序开发基础教程 2 2、三态门及总线缓冲器的设计、三态门及总线缓冲器的设计 三态门及三态门总线的表示方法 三态门及三态门总线的仿真结果 EDA技术与VHDL程序开发基础教程 3 3、优先编码器的设计、优先编码器的设计

    37、优先编码器和普通编码器的符号表示 普通10-4编码器和优先10-4编码器的仿真波形 EDA技术与VHDL程序开发基础教程 4 4、译码器的设计、译码器的设计 普通4-10译码器和优先4-10译码器的仿真波形普通4-10译码器和优先4-10译码器的仿真波形 EDA技术与VHDL程序开发基础教程 6 6、多路选择器的设计、多路选择器的设计 多路数据选择器的符号表示 16-1多路数据选择器的仿真波形 EDA技术与VHDL程序开发基础教程 5 5、运算器的设计、运算器的设计 8位加/减运算器逻辑符号 8位加/减运算器的仿真波形 EDA技术与VHDL程序开发基础教程 1 1、触发器的设计、触发器的设计

    38、触发器的符号表示触发器的符号表示 各触发器的仿真波形各触发器的仿真波形 EDA技术与VHDL程序开发基础教程 2 2、寄存器的设计、寄存器的设计 8位三态锁存器的仿真波形 8位串入串出移位寄存器8位串入串出移位寄存器的仿真波形EDA技术与VHDL程序开发基础教程 3 3、计数器的设计、计数器的设计 在数字系统中计数器的使用非常频繁,它不仅可以统计输入脉冲信号的个数,进行计时和计数,还可以实现信号的分频、定时、产生节拍脉冲和脉冲序列等。计数器有很多种,大致可分为同步计数、异步计数、加法计数、减法计数和可逆计数等。12进制计数器的仿真波形 EDA技术与VHDL程序开发基础教程 1 1、只读存储器、

    39、只读存储器ROMROM的设计的设计 ROM存储器曾经是最常用的存储器,例5-11描述了一个2564的只读存储器。USE STD.TEXTIO.ALL调用了程序包TEXTIO,使得可以从数据文件中读取数据。2 2、静态数据存储器、静态数据存储器SRAMSRAM的设计的设计 RAM和ROM的主要区别在于RAM可读可写,换言之RAM有一定的读写标准。SRAM读写操作 EDA技术与VHDL程序开发基础教程 3 3、先进先出堆栈、先进先出堆栈FIFOFIFO的设计的设计 84先进先出堆栈引脚 FIFO的仿真波形 FIFO是先进先出堆栈,常作为数据缓冲期,其数据存放结构与RAM相同,只是存取方式不同。ED

    40、A技术与VHDL程序开发基础教程 1 1、状态机概述、状态机概述 无论与基于VHDL的其他设计方案相比还是与完成相似功能的CPU相比,状态机都有难以超越的优越性,具体表现在以下几个方面:既保证了数字系统的顺序运行又不失灵活性;结构简单,易于优化;容易构成良好的同步模块,利于消除竞争冒险现象;VHDL描述方法多样、层次鲜明、结构清晰易读易懂;单时钟周期变化,速度快;可靠性高状态机结构示意图 EDA技术与VHDL程序开发基础教程 2 2、MooreMoore状态机的设计状态机的设计 摩尔状态机的结构示意图 摩尔状态机状态转移图摩尔状态机仿真波形 EDA技术与VHDL程序开发基础教程 3 3、Mea

    41、lyMealy状态机的设计状态机的设计 米勒型状态机结构示意图 米勒型状态机的仿真波形 EDA技术与VHDL程序开发基础教程 4 4、容错状态机的设计容错状态机的设计 在状态机设计中,不可避免地会出现大量剩余状态。若不对剩余状态进行合理的处理,状态机可能进入不可预测的状态,从而导致对外界出现短暂失控或者始终无法摆脱剩余状态而失去正常的功能。但是,剩余状态的处理要不同程度地耗用逻辑资源,因此设计者在选用状态机结构、状态编码方式、容错技术及系统的工作速度与资源利用率方面需要做权衡比较,以适应自己的设计要求。剩余状态的转移去向大致有如下几种:1、转入空闲状态,等待下一个工作任务的到来;2、转入指定的

    42、状态,去执行特定任务;3、转入预定义的专门处理错误的状态,如预警状态。对于多余状态的处理方法有2种,一种是在语句中对每一个非法状态都做出明确的状态转换指示,另一种是利用others语句对未提到的状态作统一处理。EDA技术与VHDL程序开发基础教程重点内容:重点内容:l 并行语句的使用并行语句的使用l 顺序语句的使用顺序语句的使用 EDA技术与VHDL程序开发基础教程1 1、块语句(、块语句(BLOCKBLOCK)块语句(BLOCK)的应用类似于利用PROTEL画原理图时,可将一个总的原理图分成多个子模块,而这个总的原理图则是由一个或多个子模块的原理图连接而成的定成模块图。当子模块的原理图仍然很

    43、大是,可以将其变成更底层的模块的原理图,即块语句(BLOCK)的嵌套。块语句(BLOCK)实现的是从结构体形式上的划分,并非功能上的划分,块的表达格式是:块标号:BLOCK【(块保护表达式)】、接口说明、类属说明、BEGIN、并行语句、END BLOCK 块标号;块中的并行语句可包含结构体中的任何并行语句结构。BLOCK语句本身属于并行语句,其包含的语句也是并行语句。在较大的VHDL程序中,恰当的块语句可以提高工作效率,对于技术交流、程序移植、排错和仿真都是有益的。EDA技术与VHDL程序开发基础教程2 2、生成语句(、生成语句(GENERATEGENERATE )生成语句有一种复制作用(建立

    44、0个或多个备份),在设计中,只要根据某些条件,设定好某一元件或设计单位,就可以利用生成语句复制一组完全相同的并行元件或设计单元电路结构。生成语句的格式有如下两种形式:【标号:】FOR循环变量IN取值范围GENERATE 说明部分 BEGIN 并行语句 END GENERATE【标号】;【标号:】IF 条件 GENERATE 说明部分 BEGIN 并行语句 END GENERATE【标号】EDA技术与VHDL程序开发基础教程COMPONENT语句对将要例化的器件进行了接口声明,它对应一个已经设计好的实体。综合器根据COMPONENT指定的器件名和接口信息进行装配。生成语句产生的8个相同LATCH

    45、模块 EDA技术与VHDL程序开发基础教程3 3、报告语句(、报告语句(REPORTREPORT )VHDL仿真中,REPORT语句是报告相关信息的语句,类似于C语言中的printf语句。该语句本身不可综合(综合中不能生成电路),主要用以提高人机对话的可读性,见识某些电路的状态。REPORT语句本身虽不带任何条件,但需根据描述的条件给出状态报告。REPORT语句是93版VHDL标准新增加的语句,其中只定义了一个报告信息的子句,由条件语句的布尔表达式判断是否给出信息报告,使用起来比断言语句更简单。具体书写格式如下:REPORT【字符串】;字符串需要在外部加上双引号括起来。例6-6描述了一个RS触

    46、发器,其中由IF语句的布尔条件给出信息报告,当R与S同时为高电平是,报告出错信息“BOTH”EDA技术与VHDL程序开发基础教程4 4、并行断言语句(、并行断言语句(ASSERTASSERT )VHDL中的断言语句包括并行和顺行两种,主要用于程序调试、时序仿真时的人机对话,也属于不可综合语句,综合中被忽略而不会生成逻辑电路,只用于检测某些电路模型是否正常工作等。例如RS触发器要求R与S两输入端不能同时为1,若在电路仿真时遇到R与S输入同时为1,则提示出错。因此RS触发器设计仿真中可用断言语句进行检测。并行断言语句的书写格式如下:ASSERT【条件表达式】REPORT【出错信息】SEVERITY

    47、【错误级别】EDA技术与VHDL程序开发基础教程5 5、过程调用语句(、过程调用语句(PROCEDUREPROCEDURE)过程调用语句属于VHDL子程序的一种类型。子程序是一个VHDL程序模块,利用顺序语句来定义和完成算法,应用它能更有效地完成重复性的设计工作。子程序不能从所在的结构体的其他块或进程结构中直接读取信号值或者向量信号赋值,而只能通过子程序调用及与子程序的界面端口进行通信才能实现这些功能。过程调用调用可通过其界面获得多个返回值,通常被看作一种语句结构,可以单独存在。子过程调用语句的具体用法如下:PROCEDURE 过程名【(参数声明)】参数声明指明输入输出端口的数目和类型,注意:

    48、通常,可在参量表中定义3中流向模式,即IN、OUT和INOUT。如果只定义了IN模式而未定义目标参量类型,则默认为常量;若定义了INOUT或OUT,则默认目标参量是变量。EDA技术与VHDL程序开发基础教程 顺序语句(Sequential Statements)是相对于并行语句而言的。顺序语句的特点是每一条语句的执行(指仿真执行)顺序是与它们的书写顺序基本一致,顺序语句只能出现在进程和子程序用,子程序仅包括函数和过程。1 1、WAITWAIT语句语句 对于不同结束挂起条件的设置,WAIT语句游种不同的书写格式:WAIT;WAIT ON 信号表;WAIT UNTIL 条件表达式;WAIT FOR

    49、 时间表达式;EDA技术与VHDL程序开发基础教程2 2、NEXTNEXT语句语句 NEXT语句主要用于在LOOP语句执行中进行有条件的或无条件的转向控制。他的语句有3种格式,即:NEXT;NEXT LOOP 标号;NEXT LOOP 标号WHEN 条件表达式;3 3、EXITEXIT语句语句 EXIT语句与NEXT语句具有十分相似的语句格式和跳转功能,他们均是LOOP语句的内部循环控制语句。EXIT的语句格式有3中,即:EXIT;EXIT LOOP 标号;EXIT LOOP 标号 WHEN 条件表达式;EDA技术与VHDL程序开发基础教程4 4、NULLNULL语句语句 空操作语句NULL不

    50、完成任何操作,它唯一的功能就是是逻辑运行流程跨如下一步语句的执行。NULL常用于CASE语句中,为了满足尽可能多的条件,利用NULL来表示剩余的不用条件下的操作行为。具体的语句格式如下:NULL;例【6-12】VHDL的空语句(NULL)CASE opcode ISWHEN “001”=tmp:=rega AND regb;WHEN “101”=tmp:=rega OR regb;WHEN “110”=tmp:=NOT rega;WHEN OTHERS=NULL;END CASE;EDA技术与VHDL程序开发基础教程4 4、RETURNRETURN语句语句 返回语句RETURN有两种语句格式,

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:配套课件-EDA技术与VHDL程序设计基础教程.ppt
    链接地址:https://www.163wenku.com/p-3394414.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库