EDA第五章复习总结Word格式文档下载.docx

上传人:b****2 文档编号:14732967 上传时间:2022-10-24 格式:DOCX 页数:16 大小:23.66KB
下载 相关 举报
EDA第五章复习总结Word格式文档下载.docx_第1页
第1页 / 共16页
EDA第五章复习总结Word格式文档下载.docx_第2页
第2页 / 共16页
EDA第五章复习总结Word格式文档下载.docx_第3页
第3页 / 共16页
EDA第五章复习总结Word格式文档下载.docx_第4页
第4页 / 共16页
EDA第五章复习总结Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

EDA第五章复习总结Word格式文档下载.docx

《EDA第五章复习总结Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA第五章复习总结Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

EDA第五章复习总结Word格式文档下载.docx

类别信号类型);

END实体名;

同样类别和类型的信号可以用逗号分隔,在一个语句行中说明。

信号的类别主要有以下4种:

IN:

此信号是输入信号;

OUT:

此信号是输出信号,提供给其他的实体;

BUFFER:

缓冲信号,也是实体的输出信号,但是可以被实体本身的结构体读入;

INOUT:

双向信号,既可以输入,也可以输出。

系统预定义的信号类型有:

BIT:

二进位型,信号的值只能是‘0’或‘1’。

BIT_VECTOR:

二进位向量,实际对应的是二进位数组;

BOOLEAN:

布尔型,取值只能是true或者false;

INTEGER:

整型,一般都用32位二进制数表示整型数;

CHARACTER:

字符型,使用8位编码的ASCII字符。

三、结构体描述

ARCHITECTURE结构体名OF实体名IS

<

声明部分>

BEGIN

描述部分>

END结构体名;

对于一个实体来说,可以有几种不同的结构体描述。

5.3VHDL程序的元素

一、关键字85页

二、标识符的命名85页

三、数据类型91页

预定义:

◆整数Integer:

-(2的31次方-1)—2的31次方-1

◆实数Real:

-1.0E+38--+1.0E+38

◆位Bit:

’0’或’1’

◆位矢量Bit_Vector:

”001100”

◆布尔量Boolean:

真或假

◆字符Character:

’A’,’C’

◆物理Time:

预定义为时间,其他如电压、电流等也为物理型

◆错误等级:

NOTE、WARNING、ERROR、FAILURE

◆自然数(Natural)、正整数(Positive)

◆字符串(String),如”morning”

用户自定义类型:

96页

◆枚举型可以通过枚举类型来定义信号的取值。

除了最常用的二值逻辑(已经预定义为BIT型),还可以有三值逻辑(信号有三种取值:

‘0’、‘1’和‘z’),九值逻辑等

TYPE枚举类型名IS(枚举型值表);

如TYPEqit_logicIS('

0'

'

1'

Z'

X'

◆STD_ULOGIC

在IEEE1164标准逻辑包中所定义的std_ulogic类型是一种九值逻辑,也是一种枚举型的数据类型:

TYPEstd_ulogicIS('

U'

--Uninitialized

'

--ForcingUnknown

--Forcing0

--Forcing1

--HighImpedance

W'

--WeakUnknown

L'

--Weak0

H'

--Weak1

-'

--Don'

tCare);

◆数组类型

TYPE数组名ISARRAY(范围)OF基类型

1,其中的“基类型”是已经定义过的类型,甚至可以是已经定义过的数组类型。

2,定义中的“范围”,既表示数组的大小,也说明用什么方式表示数组元素的下标。

通常,“范围”是用整数表示,也可以用枚举值表示

3,“范围”用整数表示时,整数范围可以是递增表示,也可以是递减表示:

TYPEregisterISARRAY(0TO7)OFBIT;

TYPEregist_1ISARRAY(7DOWNTO1)OFBIT;

TYPEromISARRAY(0TO7)OFregister;

rom类型实际上是用register基类型定义的二维数组,即

TYPEromISARRAY(0TO7,0TO7)OFBIT;

数组的范围还可以用已经定义过的枚举型来表示,如:

TYPElight_delayISARRAY(traffic_light)OFINTEGER;

这里的traffic-light是已经定义的枚举类型,有三个取值(“red、yellow、green”)。

将来定义的类型为light-delay的数组,也只会有三个元素。

在VHDL中,可以对数组的整体赋值:

如定义了regist_1类型的数组信号:

TYPEregist_1ISARRAY(7DOWNTO0)OFBIT;

SIGNALarr_1,arr_2:

regist_1;

以下的赋值操作在VHDL中都是允许的:

arr_1<

="

10110110"

;

arr_2<

=arr_1;

◆子类型97页

希望对某种类型数据的范围加以限制

四、对象

VHDL把信号、变量、常量和文件统称为对象。

89页

1.常量的定义

CONSTANT常量名:

类型名:

=常量值;

例如:

CONSTANTarray_size:

INTEGER:

=16;

CONSTANTgate_delay:

TIME:

=50ns;

2.变量的定义

变量的定义采用如下的方式:

VARIABLE变量名:

类型名[:

=初值];

变量的赋值用“:

=”来表示。

变量的赋值没有延迟。

3.信号的定义

信号定义的方式:

SIGNAL信号名:

信号的赋值用“<

=”表示,有延迟,初始化不同于赋值

信号的传送可以规定延迟,也可以不规定延迟。

但是VHDL规定,如果没有指定信号传送的延迟,信号的传送也会有一个最小延迟Δ。

信号可以是全局定义的,PORT中定义的信号就是对所有的结构体都有效。

但是,信号也可以是局部定义的,在结构体内部定义的信号只对这个结构体有效。

五、词法单元87页

1.注释

◆以双连符(--)开始直到行末

2.VHDL中的数字

◆八进制:

以O开头,如O”340”

◆二进制:

以B开头,如B”11100000”

◆十六进制:

以X开头,如X”E0”

3.字符

◆文字字符表示形式为:

单引号括起来的ASCII字符,如’A’,’*’

4.字符串

文字字符串表示形式为:

双引号括起来的图形字符序列。

如”howareyou”,””等

5.位串

◆位串表示形式为:

双引号括起来的扩展的数字序列,数字序列前冠以基数说明符。

如:

B”11110101”--长度为八的二进制数,等效245

6.VHDL语句中使用的标点符号

分号(;

)是一条语句结束的标志

逗号(,)是对象的分隔符

冒号(:

)和原点(.)的用法在每条语句中给出

六、表达式与运算符102页具体的运算符

和其他程序设计语言中的表达式很相似,一个表达式是由运算符把对象名、文字、函数调用及括起来的表达式连接起来的式子。

在一个VHDL表达式中,数据的类型应该相同。

如果不同的数据类型出现在同一个表达式,VHDL不会进行自动类型的转换,而只会给出错误信息。

VHDL支持运算符的重载。

例如可以对不同类型的信号各自进行AND运算。

七、VHDL的库和包

1.VHDL库的种类和使用

VHDL的库可以分为三种类型:

系统库,IEEE库、用户库。

系统库是VHDL语言本身预定义的库,包括STD库和WORK库。

STD库是系统的标准库,所有系统本身预定义的类型和有关的操作都包含在这个库中。

WORK库是用户的工作库。

对用户都是透明的,也就是随时都可以使用的,不需要在描述中专门说明。

IEEE库是IEEE认可的标准库,其中包括对于STD_LOGIC类型以及有关函数的定义。

用户库就是VHDL软件提供厂商开发的库,应该查询相应软件的说明。

2.程序包

一个VHDL库可以包含许多内容,并且往往以程序包(Package)的形式组织在一起。

一个程序包由两个部分构成:

包的说明部分(PackageDeclaration)和包的主体部分(PackageBody)。

基本的结构如下:

PACKAGE程序包名IS

程序包说明部分

END程序包名;

PACKAGEBODY程序包名IS

程序包主体描述

说明部分可以包括:

常量说明;

信号说明,这里说明的信号可以被所有的结构体使用;

类型说明;

函数或过程说明;

部件(Component)说明,

程序包的主体部分则是对所包含的函数、过程、结构体进行具体的描述。

程序包示例

PACKAGEqit_utilitiesIS

TYPEqitIS('

0’,‘1’,‘Z’,‘X’);

FUNCTION"

AND"

(a,b:

qit)RETURNqit;

只是声明,有这个函数

OR"

ENDqit_utilities;

PACKAGEBODYqit_utilitiesIS

qit)RETURNqitIS对函数的具体过程描述

CONSTANTqit_and_table:

qit_2d:

=(

('

'

),

));

BEGIN

RETURNqit_and_table(a,b);

END"

qit)RETURNqitIS函数的定义方法71页例3-3比较

CONSTANTqit_or_table:

RETURNqit_or_table(a,b);

以上的程序包中定义了一种4值逻辑及其操作。

在说明部分定义了一种新的信号类型qit,也就是一种4值逻辑,还说明了两个函数AND和OR,用来对4值逻辑进行“与”“或”运算。

在BODY部分实现了这两个函数。

3.库和程序包的引用77页

在所有的VHDL源程序都要首先声明使用什么VHDL库。

声明要使用关键字LIBRARY,例如,要使用IEEE库,使用这个库中的哪个程序包就应该作以下的声明:

LIB

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

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1