电子自动化第三章VHDL的语言语法.ppt

上传人:牧羊曲112 文档编号:6593046 上传时间:2023-11-16 格式:PPT 页数:20 大小:246.16KB
返回 下载 相关 举报
电子自动化第三章VHDL的语言语法.ppt_第1页
第1页 / 共20页
电子自动化第三章VHDL的语言语法.ppt_第2页
第2页 / 共20页
电子自动化第三章VHDL的语言语法.ppt_第3页
第3页 / 共20页
电子自动化第三章VHDL的语言语法.ppt_第4页
第4页 / 共20页
电子自动化第三章VHDL的语言语法.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《电子自动化第三章VHDL的语言语法.ppt》由会员分享,可在线阅读,更多相关《电子自动化第三章VHDL的语言语法.ppt(20页珍藏版)》请在三一办公上搜索。

1、3.3 VHDL的语言要素,文字规则数据对象数据类型运算符与操作符属性,3.3.1 VHDL文字规则,识记,1、数字型文字,(1)整数文字(自然计数+科学计数法)1212E30123_456_789(2)实数文字(自然计数+科学计数法)188.9988_670.5231.00.04.9E-2(3)以数制基数表示的文字(基数#表达的文字#指数)10#142#16#E#E22#0111_1110#(4)物理量文字(VHDL综合器不能接收)60s100m177A,字符用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母。a*Z字符串用双引号引起来的一维字符数组。分为文字字符串+数位字符串“

2、abc”“a”“a b c”B“1_1101_1110”X“AD0”,识记,2、字符串型文字,3、下表名及下表段名,数组类型信号名或变量名(表达式1TO/DOWNTO 表达式2);,标识符规则:标识符规则是在书写VHDL程序时的一般文字规则。基本标识符由字母、数字以及下划线字符组成,且具有以下特征要求:第一个字符必须是字母;最后一个字符不能是下划线;不允许连续两个下划线;在标识符中大、小写字母是等效的。VHDL中的注释文字一律为2个连续的连接线“-”,可以出现在任一语句后面,也可以出现在独立行;VHDL的保留字(关键字)不能用于标识符。,4、标识符,识记,3.3.2、数据对象,常用的数据对象为

3、常量、变量 和信号,在使用前必须给予说明。,常量(CONSTANT)常量是指在设计描述中不会变化的值。,常量说明语句的一般格式为:CONSTANT 常量名,常量名:数据类型:=取值;,例如:CONSTANT width:integer:=8;,常量所赋值和定义的数据类型应一致。常量一旦赋值就不能再改变。常量的作用域通常为定义在哪里作用域为哪里。,识记,变量(VARIABLE)变量是暂存数据的量。,变量说明语句的格式是:VARIABLE 变量名,变量名:数据类型:=初始值;,变量是一个局部量,只用于进程和子程序。变量必须在进程或子程序的说明区域中加以说明。变量的赋值立即生效,不存在延时行为。变量

4、常用在实现某种运算的赋值语句中。,识记,信号(SIGNAL)信号是电子电路内部硬件实体相互连接的抽象表示。信号能够代表连线,也可内连元件,端口也是信号。,信号说明语句的格式为:SIGNAL 信号名,信号名:数据类型=初始值;,信号包括I/O引脚信号以及IC内部缓冲信号,有硬件电路与之对应,故信号之间的传递有实际的附加延时。信号通常在构造体、包集合和实体中说明;信号不能在进程中说明(但可以在进程中使用)。,识记,信号和变量的主要区别:,1)变量 是一个局部量,只能用于进程或子程序中;信号 是一个全局量,它可以用来进行进程之间的通信。,2)变量赋值 立即生效,不存在延时行为;信号赋值 具有非立即性

5、,信号之间的传递具有延时性。,4)信号赋值 可以出现在进程中,也可以直接出现在结构体中,但它们的运行含义不同:前者属顺序信号赋值,此时的赋值操作要视进程是否已被启动;后者属并行信号赋值,其赋值操作是各自独立并行发生的。,3)变量 用作进程中暂存数据的单元;信号 用作电路中的信号连线。,理解,3.3.3、数据类型,VHDL是一种类型型很强的语言,要求设计实体中每一个常数、信号、变量、函数等各种参量必须具有确定的数据类型。对象的数据类型 定义了该对象可以具有的值和对该对象可以进行的运算的限制。VHDL提供了多种标准的数据类型。在VHDL描述中,每个信号、常量、变量都要指定它的数据类型,以确定它能保

6、持那一类数据。VHDL不允许不同类型的数值相互赋值或使用类型不允许的运算符进行运算。,识记,VHDL预定义数据类型,识记,IEEE库STD_LOGIC_1164程序包中定义的STD_LOGIC类型和STD_LOGIC_VECTOR类型。STD_LOGIC类型的数据可以具有九种取值,其含义如下:U:初始值X:不定态0:强制01:强制1Z:高阻态W:弱信号不定态L:弱信号0H:弱信号1_:不可能情况(可忽略值)其中,“X”方便了系统仿真,“Z”方便了双向总线的描述。,IEEE预定义标准逻辑位与矢量,了解,用户自定义数据类型 VHDL允许用户自己定义,常用的用户自定义数据类型主要有:(1)枚举(En

7、umerated)类型。通过列举某类变量所有可能的取值来加以定义。,自定义数据类型说明语句的一般格式是:TYPE 数据类型名,数据类型名 IS 数据类型定义;,枚举类型定义的格式为:TYPE 数据类型名 IS(元素1,元素2,);,了解,(2)数组(ARRAY)类型。又称为向量,是多个相同类型的数据集合。它可以是二维的和多维的。,数组类型定义的格式为:TYPE 数据类型名 IS ARRAY(范围)OF 元素类型名;,(3)纪录(RECORD)类型。是多个不同类型的数据集合。,纪录类型定义的格式为:TYPE 数据类型名 IS RECORD元素名:数据类型名;元素名:数据类型名;END RECOR

8、D;,(4)时间(TIME)类型(物理类型)。表示时间的数据类型,在仿真时是必不可少的。,时间类型定义的一般格式为:TYPE 数据类型名 IS 范围;UNITS 基本单位;单位;END UNITS;,(5)子类型(SYBTYPE)。子类型是一个具有限制条件的类型,通常用来定义具有一定限制条件的基本类型的数据对象。,了解,数据类型的转换(类型函数法)VHDL程序包中提供了多种转换函数,使得某些类型的数据之间可以相互转换,以实现正确的赋值操作。常用的类型转换函数有:,CONV_INTEGER():将STD_LOGIC_VECTOR类型转换成 INTEGER类型。CONV_STD_LOGIC_VEC

9、TOR():将INTEGER类型、UNSIGNED 类型或 SIGNED类型转换成STD_LOGIC_VECTOR类型。TO_BIT():将STD_LOGIC类型转换成BIT类型。TO_BIT_VECTOR():将STD_LOGIC_VECTOR类型转换 BIT_VECTOR 类型。TO_STD_LOGIC():将BIT类型转换成STD_LOGIC类型。TO_STD_LOGIC_VECTOR():将BIT_VECTOR类型转换成 STD_LOGIC_VECTOR类型。,注意:引用时必须首先 打开库和相应的程序包。,该函数由STD_LOGIC_UNSIGNED程序包定义,该函数由STD_LOGI

10、C_ARITH程序包定义,以下函数由STD_LOGIC_1164程序包定义,理解,3.3.4、运算符与操作符,VHDL中共有四类运算符:(1)算术运算符:+(正号)、(负号)、ABS(求绝对值)、/、MOD(求模)、REM(求余)、(2)关系运算符:=、/=、=、=(3)逻辑运算符:NOT、AND、OR、NAND、NOR、XOR(4)并置运算符:&,识记,上述四种运算符的优先级顺序为:NOT、ABS;REM、MOD、/、*;(负)、+(正);&、(减)、+(加);=、=、/=、=;XOR、NOR、NAND、OR、AND。,VHDL中的操作符:“=”赋值符:用于将数据传给信号。“:=”赋值符:用

11、于将数据传给变量。该赋值符也用于为信号、变量、常量等指定初值。“=”符号:在WHEN语句中出现,其含义是“THEN(则)”。,识记,属性(Attributes),VHDL有多种能反映和影响硬件行为的属性。VHDL的属性分为数值类、函数类、信号类、类型类和范围类等属性。,属性的一般格式为:Object Attributes,了解,数值类属性 数值类属性用于返回数组或一般数据的有关值,如边界、数组长度等。对一般数据属性,返回函数的边界值。其格式为Object LEFT;Object RIGHT;Object HIGH;Object LOW;对于数组的数值属性,返回数组的长度值。其格式为 Objec

12、t LENGTH;,了解,信号的属性函数。利用信号属性可得到信号的行为和功能信息,其格式为 Object EVENT;-反映信号的值是否变化,是,则返回为“真”Object ACTIVE;-反映信号是否活跃,是,则返回为“真”,需要注意的是:信号的事件(Event)和活跃(Active)是两个不同的概念,必须严格区分。信号的活跃 定义为信号值的任何变化。信号值由1变为0是一个活跃,而从1变为1也是一个活跃,唯一的准则是发生了事情,这种情况被称为一个事项处理(Transaction)。然而,信号的事件 则要求信号值发生变化。信号值从1变为0是一个事件,但从1变为1虽是一个活跃却不是一个事件。所有的事件都是活跃,但并非所有的活跃都是事件。,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号