硬件描述语言vhdl概述硬件描述语言vhdl概述

上传人:xiao****1972 文档编号:73194552 上传时间:2019-01-25 格式:PPT 页数:160 大小:1.52MB
返回 下载 相关 举报
硬件描述语言vhdl概述硬件描述语言vhdl概述_第1页
第1页 / 共160页
硬件描述语言vhdl概述硬件描述语言vhdl概述_第2页
第2页 / 共160页
硬件描述语言vhdl概述硬件描述语言vhdl概述_第3页
第3页 / 共160页
硬件描述语言vhdl概述硬件描述语言vhdl概述_第4页
第4页 / 共160页
硬件描述语言vhdl概述硬件描述语言vhdl概述_第5页
第5页 / 共160页
点击查看更多>>
资源描述

《硬件描述语言vhdl概述硬件描述语言vhdl概述》由会员分享,可在线阅读,更多相关《硬件描述语言vhdl概述硬件描述语言vhdl概述(160页珍藏版)》请在金锄头文库上搜索。

1、硬件描述语言VHDL概述,硬件描述语言VHDL概述,VHDL基本结构,数据对象、类型及运算符,顺序语句、并行语句,子程序,程序包与设计库,硬件描述语言VHDL概述,HDL最早是Iverson公司于1962年提出,到上世纪80年代被各个ASIC芯片厂商广泛采用。1982年各ASIC芯片厂商相继开发出自己的HDL。如Silvar-lisco公司的HHDL、Zycad公司的ISP、Gateway Design Automation(现改为Cadence Design System)公司的Verilog等等。另外,还有许多一些高等院校及科研机构也开发了许多版本的HDL,有名的有美国国防部开发的VHDL

2、(VHSIC HDL)、日本电子工业振兴协会的UDL/I等。,硬件描述语言(Hardware Description Language,HDL),为了标准化HDL,1987年底,IEEE确认美国国防部开发的VHDL为标准硬件描述语言(IEEE-1076)。之后,各EDA公司研制的硬件电路设计工具逐渐向VHDL靠拢。1993年,IEEE对VHDL进行了修订,公布了新版本的VHDL(即IEEE-107-1993)。现在VHDL和Verilog作为IEEE的两个标准。,硬件描述语言VHDL概述,VHDL语言是美国国防部在20世纪80年代初为实现其高速集成电路计划(Very High Speed In

3、tegrated Circuit,VHSIC)而提出的硬件描述语言(Hardware Description Language,HDL),称为VHDL。,VHDL的主要优点是:,1.覆盖面广,描述能力强,是一个多层次的硬件描述语言。,2.VHDL有良好的可读性,即可以被计算机接受,也容易被理解。,3. 生命期长。VHDL的硬件描述与工艺技术无关,不会因工艺变化而使描述过时。与工艺技术有关的参数可通过VHDL提供的属性加以描述,工艺改变时,只需修改相应程序中的属性参数即可。,硬件描述语言VHDL概述,4.支持大规模设计的分解和已有设计的再利用,一个大规模设计不可能一个人独立完成,它将由多人,多项

4、目组来共同完成。VHDL为设计的分解和设计的再利用提供了有力的支持。,5.VHDL已成为IEEE承认的一个工业标准,事实上已成为通用硬件描述语言。目前,大多数的EDA工具几乎在不同程度上都支持VHDL,这样给VHDL的进一步推广和应用创造了良好的环境。,6.VHDL可以支持自上而下(Top Down)和基于库(Library-Based)的设计方法,而且还支持同步电路、异步电路、FPGA等的设计。其范围之广是其它HDL所不能比拟的。,硬件描述语言VHDL概述- 一、,一、 VHDL基本结构,先看一个程序例子: 设计一个3-8译码器,1.参数部分库、程序包、配置,2.接口部分实体说明,硬件描述语

5、言VHDL概述- 一、,architecture behavior of dec is begin process(sel,en) begin yy(0)y(1)y(2)y(3)y(4)y(5)y(6)y(7)NULL; end case; end if; end process; end behavior;,3.描述部分结构体,硬件描述语言VHDL概述- 一、,VHDL语言把任意复杂的一个系统看成为一个模块。,一个模块可主要分为三个组成部分: 1.参数部分库、程序包、配置 2.接口部分实体说明 3.描述部分结构体,或者说一个VHDL程序总是包含三个部分: 1.参数部分库、程序包、配置 2.接

6、口部分实体说明 3.描述部分结构体,硬件描述语言VHDL概述- 一、,一个VHDL程序的前面部分总是有语句:,有关库、程序包、配置的作用及使用方法在后面讲述。,LIBRARY ieee; 使用IEEE标准库 USE ieee.std_logic_1164.all; 打开一个程序包 (程序包名为ieee.std_logic_1164.all),有些程序还需要加以下语句: USE ieee.std_logic_arith.all; USE ieee.std_logic_unsigned.all;,硬件描述语言VHDL概述- 一、,数字系统中的基本单元,在VHDL中称做设计实体(design ent

7、ity)。一个基本设计单元,简单的可以是一个门,复杂一点的可以是一个微处理器、一块印刷电路板上所有电路或者是整个数字系统。,设计实体由两部分组成:实体说明和结构体。,实体说明规定了设计单元的输入输出接口信号或引脚。 结构体定义了设计单元的具体构造和操作(行为)。,硬件描述语言VHDL概述- 一、,基本格式:,1.1 实体说明,方括弧内可有可无,硬件描述语言VHDL概述- 一、,1.类属参数说明,类属参数说明必须放在端口说明之前,用于为设计实体和其外部环境通信的静态信息提供通道,可以定义端口的大小、实体中子元件的数目、实体的定时特性等。,例: GENERIC (m: Time:=1 ns);,该

8、语句指定了结构体内的m为Time类型,其值为ns。,若随后的结构体内有语句:,q= tmp after m;,则表示tmp送入q有一个延迟时间1ns。,硬件描述语言VHDL概述- 一、,2.端口说明,端口说明用于为设计实体和其外部环境的动态通信提供通道。也可以说是对外部引脚信号的名称、数据类型、输入输出方向的描述。,一般书写格式为:,1)端口名,端口名是赋予每个外部引脚的名称,通常用一个或几个英文字母,或者用英文字母加数字命名。,硬件描述语言VHDL概述- 一、,端口方向用来定义外部引脚的信号方向是输入还是输出。,2)端口方向,注意:“OUT”和“BUFFER”都可以定义输出端口,但它们之间是

9、有区别的。,硬件描述语言VHDL概述- 一、,在VHDL语言中有10中数据类型,但是在逻辑电路设计中只用到两种:BIT和BIT_VECTOR。,3)数据类型,BIT数据类型是位逻辑数据类型,其取值只能是两个逻辑值(“1”和“0”)中的一个。,BIT_VECTOR数据类型是位数组逻辑数据类型,其取值是一组二进制位的值。,硬件描述语言VHDL概述- 一、,基本格式:,1.2 结构体,该结构体唯一的名称,缺省为behavioral,该结构体对应的实体,方括弧内可有可无,硬件描述语言VHDL概述- 一、,1.结构体名称的命名,结构体名称是对本结构体的命名,它是该结构体的唯一名称。OF后面紧跟的实体名表

10、明了该结构体所对应的是哪一个实体。用IS来结束结构体的命名。,结构体的名称可以自由命名。但在大多数时候,通常把结构体的名称命名为behavioral(行为)、dataflow(数据流)或者structural(结构)。表示结构体的3种描述方式。,2.说明语句,定义语句位于ARCHITECTURE和BEGIN之间,用于对结构体内部所使用的信号、常数、数据类型和函数进行定义。,硬件描述语言VHDL概述- 一、,3.并行语句,并行语句处于语句BEGIN和END之间,具体描述了本结构体的行为(功能)及其连接关系(内部结构)。,并行语句的描述方式有4种:,1)算法描述。 2)数据流描述。 3)结构描述。

11、 4)混合描述。,属行为描述(功能描述),也属行为描述(功能描述),描述内部结构,兼有功能描述和内部结构描述,硬件描述语言VHDL概述- 一、,1)算法描述(也有称为“行为描述”方式),算法描述属行为描述。是描述方式中较容易接受的。完全把硬件的设计软件化了。 行为描述表示输入与输出间转换的行为。无需包含任何结构信息。,硬件描述语言VHDL概述- 一、,算法描述如下:,ARCHITECTURE behavior OF reg IS BEGIN process (ck, reset, preset) begin if reset=0 then q=0; elsif preset=0 then q=

12、1; elsif ckevent and ck=1 then q=d; end if; end process; END behavior;,process为进程语句,括号内信号是进程的激活条件。,进程常用来描述实体或其内部部分硬件的行为。,硬件描述语言VHDL概述- 一、,2)数据流描述(也有称为“寄存器传输描述”方式),数据流描述表示行为,也隐含表示结构。它反映从输入数据到输出数据之间所发生的逻辑变换。,ENTITY mux IS PORT (d0,d1: IN BIT; sel: IN BIT; q: OUT BIT); END mux; ARCHITECTURE dataflow OF

13、 mux IS BEGIN q=(d0 AND sel) OR (NOT sel AND d1); END dataflow;,硬件描述语言VHDL概述- 一、,3)结构描述,结构描述给出实体内部结构,即所包含的模块或元件及其互连关系以及与实体外部引线的对应关系。,和: s=a xor b,进位:c=a and b,硬件描述语言VHDL概述- 一、,半加器的描述如下:,ARCHITECTURE struct_ha OF half_adder IS COMPONENT and_gate PORT(a1,a2: IN Bit;a3: OUT Bit); END COMPONENT; COMPONE

14、NT xor_gate PORT(x1,x2: IN Bit;x3: OUT Bit); END COMPONENT; BEGIN g1: and_gate PORT MAP(a,b,c); g2: xor_gate PORT MAP(a,b,s); END struct_ha;,程序中COMPONENT 为元件说明语句,说明元件的名称及端口特性。该结构体中由两条并行的元件例化(引用)语句组成。 PORT MAP为端口映射,指明所含元件之间以及元件与实体端口之间的连接关系。被例化的元件称为例元(and_gate和xor_gate)。,硬件描述语言VHDL概述- 一、,4)混合描述,在一个结构体

15、中,行为描述与结构描述可以混合使用。即元件例化语句可与其他并行语句共处于同一个结构体内。,ARCHITECTURE struct_ha OF half_adder IS COMPONENT and_gate PORT(a1,a2: IN Bit;a3: OUT Bit); END COMPONENT; BEGIN s= a XOR b; g1: and_gate PORT MAP(a,b,c); END struct_ha;,硬件描述语言VHDL概述- 二、,二、 数据对象、类型及运算符,2.1 对象类别与定义,在VHDL语言中,有四类对象: 1)CONSTANT(常量),可用于定义延迟、功耗

16、、电源(即5V)、地(0V)等参数。只能进行一次赋值。 2)VARIABLE(变量),常用于高层次抽象的算法描述中。可多次赋值。 3)SIGNAL(信号),对应某一条硬件连线,可多次赋值。 4)FILE(文件),相当于文件指针,用于对文件的读写操作。(很少用到),硬件描述语言VHDL概述- 二、,1.常量(CONSTANT),常量是一个固定值。所谓常量说明就是对某一常量名赋予一个固定值。通常赋值在程序开始前进行,该值的数据类型则在说明语句中指明。一般格式如下:,CONSTANT 常量名: 数据类型: =表达式;,硬件描述语言VHDL概述- 二、,2.变量(VARIABLE),变量只能在进程语句、函数语句和过程语句结构中使用,它是一个局部量。在仿真过程中,变量的赋值是立即生效。一般格式如下:,VARIABLE 变量名: 数据类型: 约束条件:=初始值;,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号