硬件描述语言VHDL概述硬件描述语言VHDL概述ppt课件.ppt
《硬件描述语言VHDL概述硬件描述语言VHDL概述ppt课件.ppt》由会员分享,可在线阅读,更多相关《硬件描述语言VHDL概述硬件描述语言VHDL概述ppt课件.ppt(160页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、硬件描述语言VHDL概述硬件描述语言VHDL概述ppt课件 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望硬件描述语言VHDL概述HDL最早是最早是Iverson公司于公司于1962年提出,到上世纪年提出,到上世纪80年代年代被各个被各个ASIC芯片厂商广泛采用。芯片厂商广泛采用。1982年各年各ASIC芯片厂商相芯片厂商相继开发出自己的继开发出自己的HDL。如如Silvar-lisco公司的公司的HHDL、Zycad公司的公司的ISP、GatewayDesign
2、Automation(现改为(现改为CadenceDesignSystem)公司的公司的Verilog等等。另外,还有许多一些高等等。另外,还有许多一些高等院校及科研机构也开发了许多版本的等院校及科研机构也开发了许多版本的HDL,有名的有美有名的有美国国防部开发的国国防部开发的VHDL(VHSICHDL)、日本电子工业振兴日本电子工业振兴协会的协会的UDL/I等。等。硬件描述语言(硬件描述语言(HardwareDescriptionLanguage,HDL)为了标准化为了标准化HDL,1987年底,年底,IEEE确认美国国防部开发确认美国国防部开发的的VHDL为标准硬件描述语言为标准硬件描述语
3、言(IEEE-1076)。之后,各之后,各EDA公公司研制的硬件电路设计工具逐渐向司研制的硬件电路设计工具逐渐向VHDL靠拢。靠拢。1993年,年,IEEE对对VHDL进行了修订,公布了新版本的进行了修订,公布了新版本的VHDL(即即IEEE-107-1993)。现在。现在VHDL和和Verilog作为作为IEEE的两个标准。的两个标准。硬件描述语言VHDL概述VHDL语言是美国国防部在语言是美国国防部在20世纪世纪80年代初为实现其高速年代初为实现其高速集成电路计划集成电路计划(VeryHighSpeedIntegratedCircuit,VHSIC)而而提出的硬件描述语言(提出的硬件描述语
4、言(HardwareDescriptionLanguage,HDL),),称为称为VHDL。VHDL的主要优点是:的主要优点是:1.覆盖面广,描述能力强,是一个多层次的硬件描述语言。覆盖面广,描述能力强,是一个多层次的硬件描述语言。2.VHDL有有良良好好的的可可读读性性,即即可可以以被被计计算算机机接接受受,也也容容易易被被理解。理解。3.生命期长。生命期长。VHDL的硬件描述与工艺技术无关,不会因的硬件描述与工艺技术无关,不会因工艺变化而使描述过时。与工艺技术有关的参数可通过工艺变化而使描述过时。与工艺技术有关的参数可通过VHDL提供的属性加以描述,工艺改变时,只需修改相应提供的属性加以描
5、述,工艺改变时,只需修改相应程序中的属性参数即可。程序中的属性参数即可。硬件描述语言VHDL概述4.支持大规模设计的分解和已有设计的再利用,一个大规模支持大规模设计的分解和已有设计的再利用,一个大规模设计不可能一个人独立完成,它将由多人,多项目组来共设计不可能一个人独立完成,它将由多人,多项目组来共同完成。同完成。VHDL为设计的分解和设计的再利用提供了有力的为设计的分解和设计的再利用提供了有力的支持。支持。5.VHDL已成为已成为IEEE承认的一个工业标准,事实上已成为承认的一个工业标准,事实上已成为通用硬件描述语言。目前,大多数的通用硬件描述语言。目前,大多数的EDA工具几乎在不同工具几乎
6、在不同程度上都支持程度上都支持VHDL,这样给,这样给VHDL的进一步推广和应用的进一步推广和应用创造了良好的环境。创造了良好的环境。6.VHDL可以支持自上而下可以支持自上而下(TopDown)和基于库和基于库(Library-Based)的设计方法,而且还支持同步电路、异步电路、的设计方法,而且还支持同步电路、异步电路、FPGA等的设计。其范围之广是其它等的设计。其范围之广是其它HDL所不能比拟的。所不能比拟的。硬件描述语言VHDL概述-一、先看一个程序例子:先看一个程序例子:设计一个设计一个3-8译码器译码器library ieee;use ieee.std_logic_1164.all
7、;entity dec isport(signal sel:in std_logic_vector(2 downto 0);signal en:in std_logic;signal y:out std_logic_vector(7 downto 0);end dec;1.参数部分参数部分库、程序包、配置库、程序包、配置2.接口部分接口部分实体说明实体说明硬件描述语言VHDL概述-一、architecture behavior of dec isbeginprocess(sel,en)beginyy(0)y(1)y(2)y(3)y(4)y(5)y(6)y(7)NULL;end case;end
8、 if;end process;end behavior;3.描述部分描述部分结构体结构体3-8译码器译码器ensel0sel1sel2y0y1y2y3y4y5y6y7电路示意图:电路示意图:硬件描述语言VHDL概述-一、VHDL语言把任意复杂的一个系统看成为一个模块。语言把任意复杂的一个系统看成为一个模块。一个模块可主要分为三个组成部分:一个模块可主要分为三个组成部分:1.参数部分参数部分库、程序包、配置库、程序包、配置2.接口部分接口部分实体说明实体说明3.描述部分描述部分结构体结构体或者说一个或者说一个VHDL程序总是包含三个部分:程序总是包含三个部分:1.参数部分参数部分库、程序包、配
9、置库、程序包、配置2.接口部分接口部分实体说明实体说明3.描述部分描述部分结构体结构体硬件描述语言VHDL概述-一、一个一个VHDL程序的前面部分总是有语句:程序的前面部分总是有语句:有关库、程序包、配置的作用及使用方法在后面讲述。有关库、程序包、配置的作用及使用方法在后面讲述。LIBRARYieee;使用使用IEEE标准库标准库USEieee.std_logic_1164.all;打开一个程序包打开一个程序包 (程序包名为程序包名为ieee.std_logic_1164.all)有些程序还需要加以下语句:有些程序还需要加以下语句:USEieee.std_logic_arith.all;USE
10、ieee.std_logic_unsigned.all;硬件描述语言VHDL概述-一、数字系统中的基本单元,在数字系统中的基本单元,在VHDL中称做设计实中称做设计实体体(designentity)。一个基本设计单元,简单的可。一个基本设计单元,简单的可以是一个门,复杂一点的可以是一个微处理器、一以是一个门,复杂一点的可以是一个微处理器、一块印刷电路板上所有电路或者是整个数字系统。块印刷电路板上所有电路或者是整个数字系统。设计实体由两部分组成:实体说明和结构体。设计实体由两部分组成:实体说明和结构体。实体说明规定了设计单元的输入输出接口信号或实体说明规定了设计单元的输入输出接口信号或引脚。引脚
11、。结构体定义了设计单元的具体构造和操作结构体定义了设计单元的具体构造和操作(行为行为)。硬件描述语言VHDL概述-一、基本格式:基本格式:ENTITY实体名实体名ISGENERIC(类属表类属表);PORT(端口表端口表);ENDENTITY实体名实体名;以以ENTITY开始开始以以END开始开始方括弧内可有可无方括弧内可有可无硬件描述语言VHDL概述-一、1.类属参数说明类属参数说明 类属参数说明必须放在端口说明之前,用于为设计实类属参数说明必须放在端口说明之前,用于为设计实体和其外部环境通信的体和其外部环境通信的静态静态信息提供通道,可以定义端信息提供通道,可以定义端口的大小、实体中子元件
12、的数目、实体的定时特性等。口的大小、实体中子元件的数目、实体的定时特性等。例:例:GENERIC(m:Time:=1 ns);该语句指定了结构体内的该语句指定了结构体内的m为为Time类型,其值为类型,其值为ns。若随后的结构体内有语句:若随后的结构体内有语句:q=tmp after m;则表示则表示tmp送入送入q有一个延迟时间有一个延迟时间1ns。硬件描述语言VHDL概述-一、2.端口说明端口说明 端口说明用于为设计实体和其外部环境的端口说明用于为设计实体和其外部环境的动态动态通信提供通通信提供通道。也可以说是对外部引脚信号的名称、数据类型、输入输道。也可以说是对外部引脚信号的名称、数据类
13、型、输入输出方向的描述。出方向的描述。一般书写格式为:一般书写格式为:1)端口名端口名PORT(端口名端口名,端口名,端口名:方向方向 数据类型名数据类型名);端口名端口名,端口名,端口名:方向方向 数据类型名数据类型名);端口名是赋予每个外部引脚的名称,通常用一个或几个端口名是赋予每个外部引脚的名称,通常用一个或几个英文字母,或者用英文字母加数字命名。英文字母,或者用英文字母加数字命名。硬件描述语言VHDL概述-一、端口方向用来定义外部引脚的信号方向是输入还是输出。端口方向用来定义外部引脚的信号方向是输入还是输出。2)端口方向端口方向不指定方向,无论哪一个方向都可连接不指定方向,无论哪一个方
14、向都可连接LINKAGE输出输出(结构体内部能使用结构体内部能使用)BUFFER双向双向INOUT输出输出(结构体内部不能再使用结构体内部不能再使用)OUT输入输入IN含义含义方向定义方向定义 注意:注意:“OUT”和和“BUFFER”都可以定义输出端口,但它都可以定义输出端口,但它们之间是有区别的。们之间是有区别的。OUTDclkQ&clkD QBUFFER硬件描述语言VHDL概述-一、在在VHDL语言中有语言中有10中数据类型,但是在逻辑电路设计中中数据类型,但是在逻辑电路设计中只用到两种:只用到两种:BIT和和BIT_VECTOR。3)数据类型数据类型 BIT数据类型是位逻辑数据类型数据
15、类型是位逻辑数据类型,其取值只能是两个逻辑其取值只能是两个逻辑值值(“1”和和“0”)中的一个。中的一个。BIT_VECTOR数据类型是数据类型是位数组位数组逻辑数据类型逻辑数据类型,其取值是其取值是一组二进制位的值。一组二进制位的值。例:例:PORT(d0,d1,sel:IN BIT;q:OUT BIT;bus:OUT BIT_VECTOR(0 TO 7);其中的其中的bus就是一个输出型的就是一个输出型的8位端口(总线)。位端口(总线)。硬件描述语言VHDL概述-一、基本格式:基本格式:该结构体唯一的名称,该结构体唯一的名称,缺省为缺省为behavioral该结构体对应的实体该结构体对应的
16、实体方括弧内可有可无方括弧内可有可无ARCHITECTURE结构体名结构体名OF实体名实体名IS说明语句说明语句BEGIN并行语句并行语句;ENDARCHITECTURE结构体名结构体名硬件描述语言VHDL概述-一、1.结构体名称的命名结构体名称的命名 结构体名称是对本结构体的命名,它是该结构体的唯一结构体名称是对本结构体的命名,它是该结构体的唯一名称。名称。OF后面紧跟的实体名表明了该结构体所对应的是哪后面紧跟的实体名表明了该结构体所对应的是哪一个实体。用一个实体。用IS来结束结构体的命名。来结束结构体的命名。结构体的名称可以自由命名。但在大多数时候,通常把结结构体的名称可以自由命名。但在大
17、多数时候,通常把结构体的名称命名为构体的名称命名为behavioral(行为行为)、dataflow(数据流数据流)或者或者structural(结构结构)。表示结构体的。表示结构体的3种描述方式。种描述方式。2.说明语句说明语句 定义语句位于定义语句位于ARCHITECTURE和和BEGIN之间,用于对之间,用于对结构体内部所使用的信号、常数、数据类型和函数进行定结构体内部所使用的信号、常数、数据类型和函数进行定义。义。硬件描述语言VHDL概述-一、3.并行语句并行语句 并行语句处于语句并行语句处于语句BEGIN和和END之间,具体描述了本之间,具体描述了本结构体的行为结构体的行为(功能功能
18、)及其连接关系及其连接关系(内部结构内部结构)。并行语句的描述方式有并行语句的描述方式有4种:种:1)算法描述。算法描述。2)数据流描述。数据流描述。3)结构描述。结构描述。4)混合描述。混合描述。属行为描述(功能描述)属行为描述(功能描述)也属行为描述(功能描述)也属行为描述(功能描述)描述内部结构描述内部结构兼有功能描述和兼有功能描述和内部结构描述内部结构描述硬件描述语言VHDL概述-一、1)算法描述)算法描述(也有称为也有称为“行为描述行为描述”方方式式)算法描述属行为描述。是描述方式中较容易接受的。完算法描述属行为描述。是描述方式中较容易接受的。完全把硬件的设计软件化了。全把硬件的设计
19、软件化了。行为描述表示输入与输出间转换的行为。无需包含任何行为描述表示输入与输出间转换的行为。无需包含任何结构信息。结构信息。D寄存器寄存器DQRESETPRESETCP例:例:定义一个有异步复位定义一个有异步复位/置位置位功能的功能的D触发器触发器功能功能:RESET=0,则则Q=0PRESET=0,则则Q=1当当RESET=1且且PRESET=1时时脉冲脉冲CP有正跳变时,有正跳变时,D送送Q硬件描述语言VHDL概述-一、算法描述如下:算法描述如下:ARCHITECTURE behavior OF reg ISBEGIN process(ck,reset,preset)begin if r
20、eset=0 then q=0;elsif preset=0 then q=1;elsif ckevent and ck=1 then qQPreset=0?CP正跳变?1=QD=Q开始结束NNNYYY硬件描述语言VHDL概述-一、2)数据流描述)数据流描述(也有称为也有称为“寄存器传输描述寄存器传输描述”方式方式)数据流描述表示行为,也隐含表示结构。它反映从输入数据流描述表示行为,也隐含表示结构。它反映从输入数据到输出数据之间所发生的逻辑变换。数据到输出数据之间所发生的逻辑变换。例:例:一个二选一的多路选择开关一个二选一的多路选择开关MUXENTITY mux IS PORT(d0,d1:I
21、N BIT;sel:IN BIT;q:OUT BIT);END mux;ARCHITECTURE dataflow OF mux ISBEGIN q=(d0 AND sel)OR(NOT sel AND d1);END dataflow;二选一二选一MUXd0d1selq硬件描述语言VHDL概述-一、3)结构描述)结构描述 结构描述给出实体内部结构,即所包含的模块或元件及结构描述给出实体内部结构,即所包含的模块或元件及其互连关系以及与实体外部引线的对应关系。其互连关系以及与实体外部引线的对应关系。例:例:半加器的描述半加器的描述半半加加器器abcs&abcs和:和:s=a xor b进位:进位
22、: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;COMPONENT 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
23、 为元件说明语句,说明元件的名称为元件说明语句,说明元件的名称及端口特性。该结构体中由两条并行的元件例化(引用)语及端口特性。该结构体中由两条并行的元件例化(引用)语句组成。句组成。PORT MAP为端口映射,指明所含元件之间以及元件与实为端口映射,指明所含元件之间以及元件与实体端口之间的连接关系。被例化的元件称为例元体端口之间的连接关系。被例化的元件称为例元(and_gate和和xor_gate)。硬件描述语言VHDL概述-一、4)混合描述)混合描述 在一个结构体中,行为描述与结构描述可以混合使用。在一个结构体中,行为描述与结构描述可以混合使用。即即元件例化语句可与其他并行语句共处于同一个结
24、构体内。元件例化语句可与其他并行语句共处于同一个结构体内。例:例:半加器的描述改动为:半加器的描述改动为: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概述-二、在在VHDL语言中,有四类对象:语言中,有四类对象:1)CONSTANT(常量),可用于定义延迟、功耗、电源常量),可用于定义延迟、功耗、电源
25、(即(即5V)、地地(0V)等参数。只能进行一次赋值。等参数。只能进行一次赋值。2)VARIABLE(变量),常用于高层次抽象的算法描述中。变量),常用于高层次抽象的算法描述中。可多次赋值。可多次赋值。3)SIGNAL(信号),对应某一条硬件连线,可多次赋值。信号),对应某一条硬件连线,可多次赋值。4)FILE(文件),相当于文件指针,用于对文件的读写操文件),相当于文件指针,用于对文件的读写操作。(很少用到)作。(很少用到)硬件描述语言VHDL概述-二、例:例:CONSTANT Vcc:Real:=5.0;CONSTANT fbus:Bit_vector:=“0101”;CONSTANT d
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 硬件 描述 语言 VHDL 概述 ppt 课件
限制150内