第9章VHDL结构与要素.ppt

上传人:本田雅阁 文档编号:2912366 上传时间:2019-06-04 格式:PPT 页数:18 大小:643.02KB
返回 下载 相关 举报
第9章VHDL结构与要素.ppt_第1页
第1页 / 共18页
第9章VHDL结构与要素.ppt_第2页
第2页 / 共18页
第9章VHDL结构与要素.ppt_第3页
第3页 / 共18页
第9章VHDL结构与要素.ppt_第4页
第4页 / 共18页
第9章VHDL结构与要素.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《第9章VHDL结构与要素.ppt》由会员分享,可在线阅读,更多相关《第9章VHDL结构与要素.ppt(18页珍藏版)》请在三一文库上搜索。

1、第9章 VHDL结构与要素,2019/6/4,2,一个完整的VHDL程序通常包括:,实体Entity,结构体Architecture,配置Configuration,包集合Package,库Library,描述所设计的系统的外部接口信号或引脚,描述系统内部的结构和行为,从库中选取所需单元来组成系统设计的不同版本,存放各设计模块都能共享的数据类型、常数和子程序,存放已经编译的实体、结构体、包集合和配置,2019/6/4,3,9.1 实体,VHDL实体作为一个设计实体(独立的电路功能结构)的组成部分,其功能是对这个设计实体与外部电路进行接口描述。 实体是设计实体的表层设计单元,实体说明部分规定了设

2、计单元的输入输出接口或引脚,它是设计实体对外的一个通信界面。 它可以是一个简单的数字电路,也可以是复杂的数字电路,但基本构成是一致的。,例1 对于二选一器件的VHDL描述:,2019/6/4,4,ENTITY mux IS GENERIC(m:TIME:=1ns); PORT (d0,d1,sel: IN BIT); q: OUT BIT); END mux; ARCHITECTURE connect OF mux IS SIGNAL tmp:BIT; BEGIN cale:PROCESS(d0,d1,sel) VARIABLE tmp1,tmp2,tmp3:BIT; BEGIN tmp1:=

3、d0 AND sel; tmp2:=d1 AND (NOT sel); tmp3:=tmp1 OR tmp2; tmp=tmp3; q=tmp AFTER m; END PROCESS; END connect ;,实体名,端口名,方向,实体,进程语句,结构体,2019/6/4,5,一、实体说明,基本结构:ENTITY 实体名 IS 类属参数说明; 端口说明; END 实体名;,1、类属参数说明 必须放在端口说明之前,用于指定参数。 如:q=tmp AFTER m;说明tmp建立一个延时值。 GENERIC(m:TIME:=1ns);构造体内m的值为1ns。 2、端口说明 对基本设计实体与外部

4、接口的描述。 格式:PORT(端口名:端口模式 数据类型; 端口名:端口模式 数据类型名);,2019/6/4,6,端口名 赋予外部引脚的名称。如d0,sel,y 等 端口方向 定义外部引脚是输入还是输出。 IN输入 OUT输出(构造体内不能再使用) INOUT双向 BUFFER输出(构造体内可再使用) LINKAGE不指定方向(无论哪一个方向都可连接),OUT,BUFFER,2019/6/4,7,9.2 结构体,基本结构: ARCHITECTURE 结构体名 OF 实体名 IS 定义语句 内部信号、常数、数据类型、函数等; BEGIN 并行处理语句; END 结构体名;,通常命名为behav

5、ioral(行为), dataflow(数据流),structural(结构),位于ARCHITECTURE和BEGIN之间,对信号、常数、数据类型、函数进行定义,位于BEGIN和END之间,描述构造体的行为及连接关系,2019/6/4,8,在HDL设计中,设计者将自上至下分为3个层次:,行为描述,RTL方式描述,逻辑综合,即对整个系统数学模型的描述,一般应用在设计的初始阶段。,即寄存器传输描述(又称数据流描述),采用该描述,导出系统的逻辑表达式,进行逻辑综合。,将程序转换成基本的逻辑文件来描述,相当于人工设计时,生成了原理图。,2019/6/4,9,例:二选一的数据流方式描述: ENTITY

6、 mux IS PORT (d0,d1,sel: IN BIT); q: OUT BIT); END mux; ARCHITECTURE dataflow OF mux IS BEGIN q=(d0 AND sel ) OR (NOT sel AND d1); END dataflow ;,并行处理语句,=表示传送或代入,即将逻辑运算结果送q输出。即,2019/6/4,10,9.4 VHDL库 库是经编译后的数据的集合,存放包集合定义、实体定义、构造体定义和配置定义。 库的说明总是放在设计单元的最前面。 格式:LIBRARY 库名; 这样,在设计单元内的语句就可以使用库中的数据。 库的好处在于

7、使设计者可以共享已经编译过的设计结果。 库的种类 VHDL语言中存在的库大致分为5种:,2019/6/4,11,IEEE库,STD库,WORK库,VITAL库,STD_LOGIC_1164 NUMERIC_BIT NUMERRIC_STD,STD_LOGIC_ARITH STD_LOGIC_SIGNED STD_LOGIC_UNSIGNED,虽没得到IEEE承认,但仍汇集在该库中,是VHDL的标准库,该库中定义了STANDARD和TEXTIO(文件输入/输出程序包)两个程序包。,现行作业库,使用时无需说明,使用VITAL库,可以提高VHDL门级时序模拟的精度,因此只在VHDL仿真器中使用。,2

8、019/6/4,12,库的使用 除WORK和STD库之外,其它库使用前先要用两条语句对库进行说明。 如: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;,库名,包集合名,项目名,表示包集合的所有项目都要用,2019/6/4,9.5 VHDL程序包,常用的预定义的程序包,STD_LOGIC_1164程序包,STD_LOGIC_ARITH程序包,STD_LOGIC_UNSIGNED和STD_LOGIC_SIGNED程序包,STANDARD和TEXTIO程序包,13,2019/6/4,14,9.8 数据类型 9.8.1 VHDL的预定义数据类型,VHDL的预定义

9、数据类型都在VHDL标准程序包STANDARD中定义的。,1、布尔量 Boolean 一个布尔量有两种状态:,逻辑“真” True,逻辑“假” False,2、位 Bit 逻辑0或1,通常将值放在单引号中。 如BIT(1)等,3、位矢量 Bit_VECTOR 用双引号括起来的一组位数据。 如“001100”、X“00BB”等。其中X表示十六进制。,2019/6/4,15,BIT,BIT_VECTOR,取值只能为“0”、“1”,取值可能是一组二进制位的值,例:PORT(d0,d1,sel: IN BIT ; q: OUT BIT ; bus: OUT BIT_VECTOR(7 DOWNTO 0)

10、;,都是BIT数据类型,bus是BIT_VECTOR类型,(7 DOWNTO 0)表示该bus端口由B7B0构成,位矢量长度为8位。,2019/6/4,16,9.8.3 其他预定义标准数据类型,1. 无符号数据类型(UNSIGNED TYPE),2. 有符号数据类型(SIGNED TYPE),十进制的8可以作如下表示: UNSIGNED (“1000“),两则无符号数据定义的示例: VARIABLE var : UNSIGNED(0 TO 10) ; SIGNAL sig : UNSIGNED(5 DOWNTO 0) ;,例如: SIGNED(“0101“) 代表 +5,5 SIGNED(“1

11、011“) 代表 5,变量var有11位数值,最高位是var(0),信号sig有6位数值,最高位是sig(5),最高位是符号位,2019/6/4,17,9.9 VHDL语言的运算操作符,逻辑运算Logical,关系运算Relational,算术运算Arithmetic,并置运算Concatenation,1、逻辑运算符,NOT(取反)、AND(与)、OR(或)、NAND(与非)、NOR(或非)、XOR(异或) 其优先级别NOT最高,见课本P257表9-3。,2、算术运算符,+、-、*、/(加减乘除)、MOD(取模)、REM(取余)、+、-(正负)、*(指数)、ABS(取绝对值),2019/6/4,18,3、关系运算符,=、/=、= 注意: 关系运算符= 和代入符= 是相同的,在读VHDL语句时,要根据上下文关系来判断。,4、并置运算符 并置运算符&用于位的连接。 如将四个位用&连接起来,就可以构成一个具有四位长度的位矢量。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1