VHDL程序基本结构_第1页
VHDL程序基本结构_第2页
VHDL程序基本结构_第3页
VHDL程序基本结构_第4页
VHDL程序基本结构_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 vhdl硬件描述语言 eda技术图图2.4 vhdl程序设计基本结构程序设计基本结构 2.2 vhdl程序基本结构程序基本结构 一个相对完整的一个相对完整的vhdl程序程序实体实体(entity)、结构体结构体(architecture)、配置配置(configuration)、(package)和和库库(library)5个部分。个部分。第2章 vhdl硬件描述语言 eda技术 (1)库、程序包使用说明:库、程序包使用说明:用于打开用于打开(调用调用)本设计实体本设计实体将要用到的库、程序包;将要用到的库、程序包;程序包程序包存放各个设计模块共享的存放各个设计模块共享的数据类型、常数

2、和子程序等;数据类型、常数和子程序等;库库是专门存放预编译程序包是专门存放预编译程序包的地方。的地方。(2)实体:实体:用于描述所设计的系统的外部接口信号,是用于描述所设计的系统的外部接口信号,是可视部分;可视部分;(3)结构体:结构体:用于描述系统内部的结构和行为,建立输用于描述系统内部的结构和行为,建立输入和输出之间的关系,是不可视部分。入和输出之间的关系,是不可视部分。 (4)配置说明语句:配置说明语句:主要用于以层次化的方式对特定的主要用于以层次化的方式对特定的设计实体进行元件例化,或是为实体选定某个特定的结构体。设计实体进行元件例化,或是为实体选定某个特定的结构体。第2章 vhdl硬

3、件描述语言 eda技术 实体实体(entity)是一个设计实体的表层设计单元,其功能是一个设计实体的表层设计单元,其功能是对这个设计实体与外部电路进行接口描述。它规定了设计是对这个设计实体与外部电路进行接口描述。它规定了设计单元的输入输出接口信号或引脚,是设计实体经封装后对外单元的输入输出接口信号或引脚,是设计实体经封装后对外的一个通信界面。的一个通信界面。 1实体语句结构实体语句结构 实体说明单元的常用语句结构如下:实体说明单元的常用语句结构如下: entity 实体名实体名 is generic(类属表类属表); port(端口表端口表); end entity 实体名;实体名; 2.2.

4、1 实体实体第2章 vhdl硬件描述语言 eda技术 实体说明单元实体说明单元必须以语句必须以语句“entity 实体名实体名is”开始,以语开始,以语句句“end entity 实体名;实体名;”结束。结束。 实体名实体名是设计者自己给设计实体的命名,可作为其他设计是设计者自己给设计实体的命名,可作为其他设计实体对该设计实体进行调用时用。实体对该设计实体进行调用时用。 中间在方括号内的语句描述,在特定的情况下并非是必须中间在方括号内的语句描述,在特定的情况下并非是必须的。例如构建一个的。例如构建一个vhdl仿真测试基准等情况中可以省去方括仿真测试基准等情况中可以省去方括号中的语句。号中的语句

5、。 第2章 vhdl硬件描述语言 eda技术 2类属类属(generic)说明语句说明语句 类属类属(generic)参量是一种端口界面常数,常以一种说明参量是一种端口界面常数,常以一种说明的形式的形式放在实体或块结构体前的说明部分放在实体或块结构体前的说明部分。类属为所说明的环。类属为所说明的环境提供了一种静态信息通道,类属的值可以由设计实体外部提境提供了一种静态信息通道,类属的值可以由设计实体外部提供。供。 类属说明的一般书写格式如下:类属说明的一般书写格式如下: generic(常数名;数据类型常数名;数据类型:设定值:设定值 ;常数名:数据类型;常数名:数据类型:设定值:设定值 );

6、第2章 vhdl硬件描述语言 eda技术 library ieee; use ieee.std_logic_1164.all; entity and2 is generic(risew:time:=1 ns; fallw:time:=1 ns); port( a1:in std_logic; a0:in std_logic; z0:out std_logic); end entity and2;【例【例2.2】2输入与门的实体描述输入与门的实体描述 类属说明中定义参数类属说明中定义参数risew为上沿宽度,为上沿宽度,fallw为下沿宽为下沿宽度,它们分别为度,它们分别为 1 ns,这两个参数

7、用于仿真模块的设计。,这两个参数用于仿真模块的设计。第2章 vhdl硬件描述语言 eda技术 实体端口说明的一般书写格式如下:实体端口说明的一般书写格式如下: port(端口名:端口模式端口名:端口模式 数据类型;数据类型; 端口名:端口模式端口名:端口模式 数据类型数据类型); 端口名端口名是设计者为实体的每一个对外通道是设计者为实体的每一个对外通道(系统引脚系统引脚)所所取的名字,一般用几个英文字母组成;取的名字,一般用几个英文字母组成; 端口模式端口模式(端口方向端口方向)是指这些通道上的数据流动方式,是指这些通道上的数据流动方式,即定义引脚是输入还是输出;即定义引脚是输入还是输出; 数

8、据类型数据类型是指端口上流动的数据的表达格式。是指端口上流动的数据的表达格式。 3port端口说明端口说明第2章 vhdl硬件描述语言 eda技术图图2.5 端口模式符号图端口模式符号图inoutbufferinout ieee 1076标准包中定义了标准包中定义了4种常用的端口模式,各端口模种常用的端口模式,各端口模式的功能及符号分别见表式的功能及符号分别见表2.1和图和图2.5。 表表2.1 端口模式说明端口模式说明第2章 vhdl硬件描述语言 eda技术port(n0,n1,select:in bit; q:out bit; bus:out bit_vector(7 downto 0);

9、【例【例2.3】端口模式及数据类型定义端口模式及数据类型定义 说明:说明:n0, n1,select 是输入引脚,属于是输入引脚,属于bit型;型; q是输出引脚,是输出引脚,bit型;型; bus是一组是一组8位二进制总线,属于位二进制总线,属于bit_vector。第2章 vhdl硬件描述语言 eda技术 library ieee; use ieee.std_logic.1164.all; entity mm is port(n0,n1,select:in std_logic; q:out std_logic; bus:out std_logic_vector(7 downto 0); e

10、nd entity mm;【例2.4】端口模式及ieee库数据类型定义 例中端口数据类型取自例中端口数据类型取自ieee标准库标准库(该库中有数据类型和该库中有数据类型和函数的说明函数的说明),其中,其中std_logic 取值为取值为“0”,“1”,“x”和和“z”。因为使用了库,所以在实体说明前要增加库说明语句。因为使用了库,所以在实体说明前要增加库说明语句。 第2章 vhdl硬件描述语言 eda技术 2.2.2 结构体结构体 结构体结构体(architecture)是设计实体的一个重要部分,是设计实体的一个重要部分,结构体将具体实现一个实体。结构体将具体实现一个实体。 结构体不能单独存在

11、,它必须有一个界面说明,即一个结构体不能单独存在,它必须有一个界面说明,即一个实体。实体。 对于具有多个结构体的实体,必须用对于具有多个结构体的实体,必须用configuration 配置语句指明用于综合的结构体和用于仿真的结构体,即配置语句指明用于综合的结构体和用于仿真的结构体,即在综合后的可映射于硬件电路的设计实体中,一个实体只在综合后的可映射于硬件电路的设计实体中,一个实体只对应一个结构体。对应一个结构体。 在电路中,如果实体代表一个器件符号,则结构体描述在电路中,如果实体代表一个器件符号,则结构体描述了这个符号的内部行为。了这个符号的内部行为。 第2章 vhdl硬件描述语言 eda技术

12、architecture 结构体名结构体名 of 实体名实体名 is 说明语句说明语句 -内部信号,常数,数据类型,函数等的定义内部信号,常数,数据类型,函数等的定义 begin 功能描述语句功能描述语句end architecture 结构体名结构体名;1. 结构体语句格式结构体语句格式第2章 vhdl硬件描述语言 eda技术 entity mux is port(a0,a1:in bit; sel:in bit; sh:out bit); end mux; architecture dataflow of mux is begin sh=(a0 and sel)or(not sel and

13、 a1); end dataflow; 【例【例2.5】结构体描述结构体描述第2章 vhdl硬件描述语言 eda技术 结构体中的说明语句是对结构体的功能描述语句中将要用结构体中的说明语句是对结构体的功能描述语句中将要用到的到的信号信号(signal)、数据类型数据类型(type)、常数常数(constant)、元件元件(component)、函数函数(function)和和过程过程(procedure)等加以说明的语句。等加以说明的语句。 在一个结构体中说明和定义的数据类型、常数、元件、函在一个结构体中说明和定义的数据类型、常数、元件、函数和过程只能用于这个结构体中,若希望其能用于其他的实体数

14、和过程只能用于这个结构体中,若希望其能用于其他的实体或结构体中,则需要将其作为程序包来处理。或结构体中,则需要将其作为程序包来处理。2结构体说明语句结构体说明语句第2章 vhdl硬件描述语言 eda技术3. 功能描述语句功能描述语句 描述设计实体的具体行为,它包含两类语句:描述设计实体的具体行为,它包含两类语句: (1)并行语句:并行语句:并行语句总是在进程语句并行语句总是在进程语句(process)的外的外部,语句的执行与书写顺序无关,总是同时被执行。部,语句的执行与书写顺序无关,总是同时被执行。 (2)顺序语句:顺序语句:顺序语句总是在进程语句顺序语句总是在进程语句(process)的内的

15、内部,该语句是顺序执行的。部,该语句是顺序执行的。 一个结构体可以包含几个类型的子结构描述:一个结构体可以包含几个类型的子结构描述:block(块块)描述、描述、process(进程进程)描述、描述、sunprograms(子程序子程序)描描述。述。第2章 vhdl硬件描述语言 eda技术 块语句块语句是由一系列并行执行语句构成的组合体,它的功是由一系列并行执行语句构成的组合体,它的功能是将结构体中的并行语句组成一个或多个模块。能是将结构体中的并行语句组成一个或多个模块。 进程语句进程语句定义顺序语句模块,用于将从外部获得的信号定义顺序语句模块,用于将从外部获得的信号值,或内部的运算数据向其他

16、的信号进行赋值。值,或内部的运算数据向其他的信号进行赋值。 子程序调用语句子程序调用语句用于调用一个已设计好的子程序。用于调用一个已设计好的子程序。 信号赋值语句信号赋值语句将设计实体内的处理结果向定义的信号或界将设计实体内的处理结果向定义的信号或界面端口进行赋值。面端口进行赋值。 元件例化语句元件例化语句对其他的设计实体作元件调用说明。对其他的设计实体作元件调用说明。第2章 vhdl硬件描述语言 eda技术使用使用block语句描述的格式如下:语句描述的格式如下: 块标号块标号:block begin end block 块标号块标号;1) block块语句块语句第2章 vhdl硬件描述语言

17、 eda技术 entity mux is port (d0,d1,sel: in bit; q:out bit); end mux; architecture connect of mux is signal tmp1,tmp2,tmp3:bit; begin cale:block begin tmp1=d0 and sel; tmp2=d1 and (not sel); tmp3=tmp1 or tmp2; q=tmp3; end block cale; end connect; 【例【例2.6】 用块语句实现的二选一电路用块语句实现的二选一电路第2章 vhdl硬件描述语言 eda技术进程描

18、述的格式如下:进程描述的格式如下: 进程名进程名:process(信号信号1,信号,信号2,) begin end process 进程名进程名; 进程语句中总是带有进程语句中总是带有信号变量(敏感变量),信号变量(敏感变量),只有当信号只有当信号变量发生变化时,进程才被启动,将进程里的语句从上到下变量发生变化时,进程才被启动,将进程里的语句从上到下顺序执行一遍,执行完了就回到开始的顺序执行一遍,执行完了就回到开始的process语句。语句。2) 进程进程(process)语句语句描述描述第2章 vhdl硬件描述语言 eda技术 entity mux2 is port (d0,d1,sel:i

19、n bit; q:out bit); end mux2; architecture connect of mux2 is begin cale:process(d0,d1,sel) variable tmp1,tmp2,tmp3:bit; begin tmp1:=d0 and sel; tmp2:=d1 and (not sel); tmp3:=tmp1 or tmp2; q=tmp3 end process cale; end connect;【例【例2.7】用进程语句实现的二选一电路用进程语句实现的二选一电路第2章 vhdl硬件描述语言 eda技术子程序就是在主程序调用它以后能将处理结果返

20、回给主程子程序就是在主程序调用它以后能将处理结果返回给主程序。在序。在vhdl中有中有2种类型:种类型:过程过程和和函数函数。过程语句过程语句 procedure 过程名过程名(参数参数1,参数,参数2) is 定义语句定义语句; begin 顺序处理语句顺序处理语句; end 过程名;过程名;3) 子程序语句描述子程序语句描述第2章 vhdl硬件描述语言 eda技术 函数语句函数语句function 函数名函数名(参数参数1,参数,参数2)return数据类型名数据类型名 is 定义语句定义语句; begin 顺序处理语句顺序处理语句 return 返回变量名返回变量名 end 函数名;函数

21、名;第2章 vhdl硬件描述语言 eda技术 function min(x,y:integer ) return integer is begin if xreturn 1; when 1=return 0; when z=return z; end case; end invert;end logic;例例2.11 程序包体程序包体第2章 vhdl硬件描述语言 eda技术配置用于在多结构体中为一个实体指定一个结构体。配置用于在多结构体中为一个实体指定一个结构体。 例如,在做例如,在做rs触发器的实体中使用了触发器的实体中使用了2个结构体,目的是个结构体,目的是研究各个结构体描述的研究各个结构体描述的rs触

温馨提示

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

评论

0/150

提交评论