第七章硬件描述语言VHDL 【教学内容】 7.1概述 72VHDL语言的基本结构 7.3VHDL的基本知识 74VHDL的主要描述语句 7.5子程序、程序包、库和配置 76VHDL程序设计举例 【教学目的】 硬件描述语言概述,VDL语言的基本结构、基知 识和主要描述语句,子程序、程序包、库和配置, 的设计举例
第七章 硬件描述语言VHDL 7.1 概述 7.2 VHDL语言的基本结构 7.3 VHDL的基本知识 7.4 VHDL的主要描述语句 7.5 子程序、程序包、库和配置 7.6 VHDL程序设计举例 【教学内容】 【教学目的】 硬件描述语言概述,VHDL语言的基本结构、基本知 识和主要描述语句,子程序、程序包、库和配置, VHDL 的设计举例
7.1概述 硬件描述语言ⅤHDL(Ⅴ HSIC Hardwarter Description Language)是美国国防部在20世纪80年代初为实现其高速 集成电路硬件 VHSIC( Very High speed integrated circuit 计划提出的描述语言。 1986年3月IEEE开始致力于ⅤHDL的标准化工作,经过 广泛征求意见,融合了其他HDL的优点,IEEE于1987年 12月公布了VHDL的基本版本( IEEE std1076),1993年 作了修改,形成了标准版本( IEEE std1164)。 VHDL已成为数字电路和系统设计、综合、仿真的标准
7.1 概述 硬件描述语言 VHDL(VHSIC Hardwarter Description Language)是美国国防部在20世纪80年代初为实现其高速 集成电路硬件VHSIC(Very High speed integrated circuit) 计划提出的描述语言。 1986年3月IEEE开始致力于VHDL的标准化工作,经过 广泛征求意见,融合了其他HDL的优点,IEEE于1987年 12月公布了VHDL的基本版本(IEEE.std_1076),1993年 作了修改,形成了标准版本(IEEE.std_1164)。 VHDL已成为数字电路和系统设计、综合、仿真的标准
7.1概述 VHDL语言的特点: (1)覆盖面广,系统硬件描述能力强,是一个多层次的 硬件描述语言。 2)VHDL语言具有良好的可读性,既可以被计算机接 受,也容易被人们所理解 (3)ⅤHDL语言可以与工艺无关编程 (4)VHDL语言标准、规范,易于共享和复用
VHDL语言的特点: (1)覆盖面广,系统硬件描述能力强,是一个多层次的 硬件描述语言。 (2)VHDL语言具有良好的可读性,既可以被计算机接 受,也容易被人们所理解。 (3)VHDL语言可以与工艺无关编程。 (4)VHDL语言标准、规范,易于共享和复用。 7.1 概述
7.2VHDL语言的基本结构 7.2.1VHDL的程序结构 VHDL的基本单元程序结构包括: 1)USE定义区(程序包说明); 2) NETITY定义区(实体说明); (3) ARCHITECTURE定义区(结构体); 个基本设计单元,简单的可以是一个与门( AND Gate ),复杂的可以是一个微处理器或一个系统。但是不管是简 单的数字电路,还是复杂的数字电路,其基本构成都是十致 的,它们都是由程序包说明、实体说明和结构体说明三部分 组成
7.2 VHDL语言的基本结构 7.2.1 VHDL的程序结构 VHDL的基本单元程序结构包括: (1)USE定义区(程序包说明); (2)NETITY定义区(实体说明); (3)ARCHITECTURE定义区(结构体); 一个基本设计单元,简单的可以是一个与门(AND Gate ),复杂的可以是一个微处理器或一个系统。但是不管是简 单的数字电路,还是复杂的数字电路,其基本构成都是一致 的,它们都是由程序包说明、实体说明和结构体说明三部分 组成
7.2VHDL语言的基本结构 722实体说明 实体是一个设计实体的表层设计单元,其功能是对这个 设计单元与外部电路进行接口描述。它描述了设计单 元的输入输出接口信号或引脚,是设计实体经封装后 对外的一个通信界面。其一般格式为 NETITY实体名IS GENERIC(类属表);] PORT(端口表); END实体名; 这里大写字母表示实体说明的关键字,是不可缺少和 省略的部分,实体名可由设计者自由命名,用来表示 被设计电路芯片的名称,但是必须与ⅤHDL程序的文 件名称相同
7.2 VHDL语言的基本结构 7.2.2 实体说明 实体是一个设计实体的表层设计单元,其功能是对这个 设计单元与外部电路进行接口描述。它描述了设计单 元的输入输出接口信号或引脚,是设计实体经封装后 对外的一个通信界面。其一般格式为 NETITY 实体名 IS [GENERIC(类属表);] PORT(端口表); END实体名; 这里大写字母表示实体说明的关键字,是不可缺少和 省略的部分,实体名可由设计者自由命名,用来表示 被设计电路芯片的名称,但是必须与VHDL程序的文 件名称相同
7.2VHDL语言的基本结构 7.2.2实体说明 1类属说明 类属为设计实体和其外部环境通信的静态信息提供通道,用来 规定端口的大小,实体中子元件的数目,实体的定时特性等。 类属说明的一般格式为 GENERIC(常数名:数据类型:设定值; 常数名:数据类型:设定值); 例如: GENERIC(wide: Integer:=32);-说明宽度为32 GENERIC(tmp: integer: =Ins) 说明延时1ns
7.2.2 实体说明 1.类属说明 类属为设计实体和其外部环境通信的静态信息提供通道,用来 规定端口的大小,实体中子元件的数目,实体的定时特性等。 类属说明的一般格式为 GENERIC(常数名:数据类型:设定值; ∶ 常数名:数据类型:设定值); 例如:GENERIC(wide:integer:=32); --说明宽度为32 GENERIC(tmp:integer:=1ns); --说明延时1 ns 7.2 VHDL语言的基本结构
7.2VHDL语言的基本结构 7.2.2实体说明 2端口说明 端口为设计实体和其外部环境的动态通信提供通道,是对基本 设计实体与外部接口的描述,也可以说是对外部引脚信号的名 称、数据类型、输入和输岀方向的描述。端口说明的一般格式 为 PORT(端口名:端口模式:数据类型; 端口名:端口模式:数据类型); 端口模式共有四种类型,分别为输入(IN)、输出(OUT) 双向( INOUT)和缓冲( BUFFER),如果端口的模式没有说 明,则该端口处于缺省模式—输入
7.2.2 实体说明 2.端口说明 端口为设计实体和其外部环境的动态通信提供通道,是对基本 设计实体与外部接口的描述,也可以说是对外部引脚信号的名 称、数据类型、输入和输出方向的描述。端口说明的一般格式 为 PORT(端口名:端口模式:数据类型; ∶ 端口名:端口模式:数据类型); 端口模式共有四种类型,分别为输入(IN)、输出(OUT)、 双向(INOUT)和缓冲(BUFFER),如果端口的模式没有说 明,则该端口处于缺省模式——输入。 7.2 VHDL语言的基本结构
7.2VHDL语言的基本结构 722实体说明 例如全加器的端口如图73所示,其端口的ⅤHDL语言描述 如下。 NETITY Full adder Is PORT Sum a, b, C: IN BIT: Full adder sun, carry: OUT BIT Carry END Full adder 图73全加器的端口图 注意:用ⅤHDL对全加器描述存盘的文件名为 Full adder. Vhd
7.2 VHDL语言的基本结构 7.2.2 实体说明 例如全加器的端口如图7.3所示,其端口的VHDL语言描述 如下。 NETITY Full_adder IS PORT( a,b,c:IN BIT; sum,carry:OUT BIT ); END Full_adder; 图7.3 全加器的端口图 注意:用VHDL对全加器描述存盘的文件名为Full_adder.VHD
7.2VHDL语言的基本结构 72.3结构体说明 结构体定义了设计单元具体的功能,描述了该基本设计单 元的行为、元件及内部的连接关系。实体说明可以看作是 “黑盒子”,只能了解其外部的输入与输出,而不能知道 内部的逻辑关系,结构体则用来描述盒子内部的详细内容 结构体的一般格式为 ARCHITECTURE结构体名OF实体名IS [定义语句;] BEGIN 功能描述语句 END结构体名; 个结构体从关键字“ ARCHITECTURE开始至“END”结束
7.2 VHDL语言的基本结构 7.2.3 结构体说明 结构体定义了设计单元具体的功能,描述了该基本设计单 元的行为、元件及内部的连接关系。实体说明可以看作是 “黑盒子”,只能了解其外部的输入与输出,而不能知道 内部的逻辑关系,结构体则用来描述盒子内部的详细内容。 结构体的一般格式为 ARCHITECTURE 结构体名 OF 实体名 IS [定义语句;] BEGIN 功能描述语句; END 结构体名; 一个结构体从关键字“ARCHITECTURE”开始至“END”结束
7.2VHDL语言的基本结构 72.3结构体说明 结构体名 可以由设计者自由命名,表示被设计电路芯片结构体的名称。 定义语句 用来对结构体内部所使用的信号、常数、数据类型和函数进行 定义 3.功能描述语句 功能描述语句具体地描述了结构体的行为及其连接的关系。以 全加器为例,其结构体为 ARChitEcture adder OF Full adder Is BEGIN Sum<=a Xor b Xor c carry<=(aand b)or (b And cor (a and c); END adder
7.2 VHDL语言的基本结构 7.2.3 结构体说明 1.结构体名 可以由设计者自由命名,表示被设计电路芯片结构体的名称。 2.定义语句 用来对结构体内部所使用的信号、常数、数据类型和函数进行 定义。 3.功能描述语句 功能描述语句具体地描述了结构体的行为及其连接的关系。以 全加器为例,其结构体为 ARCHITECTURE adder OF Full_adder IS BEGIN Sum<=a XOR b XOR c; carry<=(a AND b)OR (b AND c)OR (a AND c); END adder;