第三章_VHDL硬件描述语言1_第1页
第三章_VHDL硬件描述语言1_第2页
第三章_VHDL硬件描述语言1_第3页
第三章_VHDL硬件描述语言1_第4页
第三章_VHDL硬件描述语言1_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、FPGA与硬件描述语言2014.41第三章第三章 VHDL硬件描述语言硬件描述语言3.1 VHDL概述3.2 VHDL程序结构3.3 VHDL的数据类型及运算操作符3.4 VHDL的描述语句3.5 基本电路的VHDL模型3.6 有限状态机3.7 仿真与逻辑综合2VHDL硬件描述语言硬件描述语言VHDL概述概述3.1 VHDL概述3.1.1 VHDL简介3.1.2 VHDL的基本结构及其优点3.1.3 VHDL术语3VHDL硬件描述语言硬件描述语言VHDL概述概述 VHDL(Very High Speed Integrated Circuit Hardware Description Langu

2、age) 超高速集成电路硬件描述语言 1987年底,VHDL被IEEE(Institute of Electrical and Electronic Engineers)和美国国防部确认为标准硬件描述语言4VHDL硬件描述语言硬件描述语言VHDL概述概述目前VHDL存在两个版本: VHDL87经过少许简单的源代码修改就可兼容 VHDL93增加了一些保留字并删除了某些属性目前绝大多数常用EDA工具都支持两个版本的所有语法规则,且大多数资料(包括最新的)仍然使用VHDL87版本语法规则5VHDL硬件描述语言硬件描述语言VHDL概述概述 VHDL主要用于描述数字系统的结构、行为、功能和接口 VHDL

3、的语言形式和描述风格和语法与一般的计算机高级语言非常类似 VHDL的程序结构特点是将一项工程设计,或称设计实体分成外部外部和内部内部两大部分(是VHDL设计系统的基本特点)6VHDL硬件描述语言硬件描述语言VHDL概述概述 实体:可以是一个元件、电路模块或系统 外部:称可视部分,即端口 内部:称不可视部分,即设计实体的内部功能和算法完成部分 在定义了一个设计实体的外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。7VHDL硬件描述语言硬件描述语言VHDL简介简介 VHDL与其他硬件描述语言的比较与其他硬件描述语言的比较一般的硬件描述语言可以在三个层次上进行电路描述Verilo

4、gHDL描述范围VHDL描述范围8VHDL硬件描述语言硬件描述语言VHDL简介简介 VHDL与其他硬件描述语言的比较与其他硬件描述语言的比较VHDLVerilogHDLVHDL是一种高级描述语言,适用于电路高级建模VerilogHDL是一种较低级的描述语言,适用于描述门级电路VHDL的综合对综合器的要求较高,需要经过行为级、RTL级、门电路级的转化综合过程简单一些,只需要经过RTL级、门电路级的转化VHDL可以直接描述门电路,但这方面的能力不如VerilogHDLVerilogHDL在高级描述方面不如VHDL在VHDL设计中,大量的工作是由综合器完成的,设计者所做的工作相对较少在Verilog

5、HDL设计的过程中,设计者做的工作通常比较大,因为要搞清楚具体电路结构的细节9VHDL硬件描述语言硬件描述语言VHDL简介简介 VHDL与其他硬件描述语言的比较与其他硬件描述语言的比较 目前,大多数高档EDA软件都支持VHDL和VerilogHDL混合设计,因此在工程应用中,设计者可以根据需要使用VHDL或VerilogHDL设计不同的电路模块10VHDL硬件描述语言硬件描述语言VHDL简介简介 VHDL与其他硬件描述语言的比较与其他硬件描述语言的比较 与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了它成为系统设计领域最佳的硬件描述语言 VHDL丰富的仿真语句和函数库,使得

6、在任何大系统的设计早期,就能查验设计系统的功能可行性,随时可对设计进行仿真模拟 VHDL语句的行为描述能力和程序结构,决定了它可以方便地对大规模设计进行分解和对已有的设计进行再利用11VHDL硬件描述语言硬件描述语言VHDL简介简介 VHDL与其他硬件描述语言的比较与其他硬件描述语言的比较 对于用VHDL完成的一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动地把VHDL描述设计转变成门级网表 VHDL对设计的描述具有相对独立性,设计者独立进行设计时可以不懂硬件的结构,也不必考虑实现最终设计的目标器件是什么12VHDL硬件描述语言硬件描述语言VHDL简介简介 使用使用VHDL完成自顶

7、向下的设计完成自顶向下的设计自底向上自底向上自顶向下自顶向下 传统的电路设计方法都是自底向上的,即首先确定可用的元器件,然后根据这些器件进行逻辑设计,完成各个模块后进行连接,最后形成系统 采用可完全独立于目标器件物理结构的硬件描述语言,在系统的功能级或行为级上对设计的产品进行描述和定义,结合多层次的仿真技术,在确保设计的可行性与正确性的前提下,完成功能确认13VHDL硬件描述语言硬件描述语言VHDL简介简介 使用使用VHDL完成自顶向下的设计完成自顶向下的设计自顶向下设计方法的优越性表现在:自顶向下设计方法的优越性表现在: 顶层的功能描述可以完全独立于目标器件,在设计初期可不受芯片结构的约束

8、设计成果的再利用可以得到保证 采用结构化开发手段,确认了基本功能和结构后,即可实现多人多任务的并行工作方式 选择实现系统的目标器件的类型、规模、硬件结构等方面具有更大的自由度14VHDL硬件描述语言硬件描述语言VHDL简介简介 关于关于VHDL的学的学习习如何学好如何学好VHDL: 了解较多的数字逻辑方面的硬件电路知识 目标芯片基本结构方面的知识 VHDL描述的对象始终是客观的电路系统 摆脱一维的思维模式,培养多维并行的思维模式15VHDL硬件描述语言硬件描述语言VHDL简介简介 关于关于VHDL的学的学习习 不是所有的VHDL描述都是可以用硬件实现的(即不是所有的语句都是可综合的)16VHD

9、L硬件描述语言硬件描述语言 VHDL的基本结构及其优点的基本结构及其优点用于描述所设计系统的外部接口信号用于描述系统内部的机构和行为存放已经编译的实体、构造体、包集合和配置用于从库中选取所需单元组成系统设计的不同版本存放各种设计模块都能共享的数据类型、常数和子程序等17VHDL硬件描述语言硬件描述语言 VHDL的基本结构及其优点的基本结构及其优点VHDL程序的基本结构各类库及程序包的使用声明实体描述,一个实体中,含有一个或一个以上的结构体,而每个结构体中可以含有一个或多个进程,还可以使其他并行语句结构配置说明主要用于以层次化的方式对特定的设计实体进行元件例化,或是为实体选定某个特定的结构体18

10、VHDL硬件描述语言硬件描述语言 VHDL的基本结构及其优点的基本结构及其优点VHDL设计硬件电路的优点:设计硬件电路的优点: 设计技术齐全、方法灵活、支持广泛 系统硬件描述能力强 VHDL可以与工艺无关进行编程 VHDL语言标准、规范,易于共享和复用19VHDL硬件描述语言硬件描述语言 VHDL的基本结构及其优点的基本结构及其优点absy0X001X01X010X11120VHDL硬件描述语言硬件描述语言 VHDL的基本结构及其优点的基本结构及其优点LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux21 ISPORT(a,b:IN STD_

11、LOGIC; s:IN STD_LOGIC; y:OUT STD_LOGIC);END mux21;ARCHITECTURE behavior OF mux21 ISBEGINy = a WHEN s = 0 ELSE b WHEN s = 1;END ARCHITECTURE behavior;IEEE库使用说明器件mux21的外部接口信号说明,PORT相当于器件的引脚,这一部分成为实体器件mux21的内部工作逻辑描述,即为实体描述的器件功能结构,称为结构体21VHDL硬件描述语言硬件描述语言VHDL术语术语 实体(实体(ENTITY)表达所有涉及均与实体有关,实体是设计中的最基本的模块,设

12、计的最顶层是顶级实体,如果设计分层次那么有一个较低级别的描述含在顶级描述中,这类较低级别描述是含在顶层实体中的较低级实体22VHDL硬件描述语言硬件描述语言VHDL术语术语 结构体(结构体(ARCHITECTURE)所有能被仿真的实体都有一个结构体描述,结构体描述实体的行为功能,一个实体可以有多个结构体,一种结构体可能为行为描述,而另一种结构体可能为设计的结构描述23VHDL硬件描述语言硬件描述语言VHDL术语术语 配置(配置(CONFIGRATION)用配置语句连接安装元件到一个实体结构体,配置被看作是设计的零件清单,它描述对每个实体用哪一种行为,所以非常像一个描述设计每部分用哪一种零件清单

13、24VHDL硬件描述语言硬件描述语言VHDL术语术语 程序包(程序包(PACKAGE)设计中用的子程序和公用数据类型的集合,可以认为程序包是构造设计工具的工具箱 属相(属相(ATTRIBUTE)附到VHDL对象上的数据或者是有关VHDL对象的预定义数据25VHDL硬件描述语言硬件描述语言VHDL术语术语 类属(类属(GENERIC)它是传递信息参数到实体的术语,例如:实体是带有上升和下降延时的门级模块,上升与下降延时值可以由类属传给实体 进程(进程(PROCESS)进程是基本的执行单元,在VHDL描述仿真时,将把所有的运算划分为单个或多个进程26VHDL硬件描述语言硬件描述语言VHDL程序结构

14、程序结构3.2 VHDL程序结构3.2.1 实体3.2.2 结构体3.2.3 程序包、库和配置27VHDL硬件描述语言硬件描述语言VHDL程序结构程序结构 不管是简单的数字电路,还是复杂的数字电路,其基本构成是一致的它们都是由实体说明部分和结构体两部分组成,它们可以构成最简单的VHDL程序 通常,最简单的VHDL程序结构中还应该包括另一重要部分,即库和程序包28VHDL硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体 一个实用的VHDL程序可以由一个或多个设计实体构成,可以将一个设计实体作为一个完整的系统直接利用,也可以将其作为其他设计实体的一个低层次的结构(即元件)来例化,就

15、是用实体来说明一个具体的器件 设计实体可以代表整个系统、一块电路板、一个芯片、一个单元或者一个门电路29VHDL硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体实体说明的一般格式:ENTITY 实体名 ISGENERIC(类属表);PORT(端口表);END ENTITY 实体名;30VHDL硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体GRNERIC类属参数说明语句 类属参量是一种端口界面常数,常以一种说明的形式放在实体或块结构体前的说明部分 类属为说说明的环境提供了一种静态信息通道,特别是用来规定端口的大小、实体中子元件的数目、实体的时间属性等31VHDL

16、硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体类属说明的一般书写格式如下:GRNERIC(常数名:数据类型:=设定值,);ENTITY body ISGENERIC (datawidth:INTEGER:=8);END ENTITY body;32VHDL硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体PORT端口说明 端口说明是对基本设计实体与外部接口的描述,也可以说是对外部引脚信号的名称,数据类型和输入、输出方向的描述 端口为设计实体和外部环境的动态通信提供通道,每个端口必须有一个名字、一个端口模式和一个数据类型 名字是该端口的标识符,模式说明数据通过该端

17、口的流动方向33VHDL硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体端口说明的一般书写格式如下:PORT(端口名,端口名:端口模式 数据类型; 端口名,端口名:端口模式 数据类型);34VHDL硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体 端口名端口名是赋予每个外部引脚的名称,通常用一个或几个英文字母,或者英文字加数字命名(不可以数字开头) 端口模式端口模式用来定义外部管脚的信号方向是输入还是输出35VHDL硬件描述语言硬件描述语言实体实体端口模式端口模式含义含义IN输入OUT输出(结构体内部不可再用)INOUT双向BUFFER输出(结构体内部可再用)L

18、INKAGE不指定方向,任何方向均可连接一个实体通常有一个或多个端口,端口类似于原理图部件符号上的管脚实体与外界交流的信息必须通过端口通道流入或流出36VHDL硬件描述语言硬件描述语言实体实体LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY nand2 ISPORT (a:IN STD_LOGIC; b:IN STD_LOGIC; c:IN STD_LOGIC);END ENTITY nand2;PORT(端口名,端口名:端口模式 数据类型; 端口名,端口名:端口模式 数据类型);37VHDL硬件描述语言硬件描述语言实体实体VHDL程序结构程序结构实体实体 数据类型VHDL提供10种数据类型,但在实际使用时,端口描述中的数据类型只有两类,即位(BIT)和位矢量(BIT_VECTOR)BITBIT_VECTOR若端口的数据类型定义为BIT,则其信号值是一个1位的二进制数,取值只能是0或1;BIT数据类型是位逻辑数据类型若端口的数据类型定义为BIT_VECTOR,则其信号值是一组二进制数38VHDL硬件描述语言硬件描述语言实体实体ENTITY mu ISPOR

温馨提示

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

评论

0/150

提交评论