VHDL数据类型与表达式

(1)标志符

基本标志符是包括以下字符的字符序列:大写字母“A”到“Z”;小写字母“a”到 “z”;数字“0”到“9”以及下划线“_”。VHDL不区分大小写。标志符必须以字 母开头,不能以下划线结尾,且不能出现连续的两个或多个下划线的情况。

(2) 常量声明

常量声明的关键字是constant,它可以是特定类型的固定值。常量的值可读但不可写。

例如:constant  WIDTH : INTEGER := 8; 

constant  X : BIT := ‘X’;

(3)变量声明

变量声明定义了给定类型的变量名称,其关键字是variable。可以在表达式中使用变 量,也可以利用变量赋值语句给变量赋值。

例如:variable  A, B : BIT;

(4)信号声明

信号声明的关键字是signal,它可以将结构体中分离的并行语句连接起来,并且还能 通过端口与该设计内的其他模块连接起来。信号声明定义了特定类型的新命名信号(导线), 可以给信号赋以缺省值(初始值)。

例如:signal  A, B : BIT;

signal  INIT : INTEGER := -1;

(5)BOOLEAN数据类型

数据类型BOOLEAN是具有两个值的枚举类型:FALSE和TRUE。

(6) BIT数据类型

数据类型BIT用2个字符“0”或“1”中的一个来代表二进制值。

(7) CHARACTER数据类型

数据类型CHARACTER枚举了ASCII字符集。不可打印字符用3个字母名称表示, 如NUL代表null字符。可打印字符用其本身表示,用单引号括起来。

数据类型STRING是数据类型CHARACTER的一个非限定数组。数据类型STRING要用双引号括起来,如下所示:

variable  STRING_VAR : STRING(1 to 4);     

 ……   

STRING_VAR := “VHDL”;

(8) INTEGER数据类型

数据类型INTEGER表示所有正的和负的整数。整数只是引用了软件设计语言中的概 念,在具体硬件实现时,整数是用32位的位向量来实现的,因此VHDL整数类型的最大 范围是-(231-1)到231-1(-2_147_483_647到2_147_483_647)。

INTEGER还有两个子类型:NATURAL和POSITIVE。NATURAL用来表示自然数;POSITIVE用来表示非负数(0和正数)。

(9)BIT_VECTOR数据类型

数据类型BIT_VECTOR代表BIT值的一个数组。

10) IEEE标准数据类型“STD_LOGIC”和“STD_LOGIC_VECTOR”

VHDL’93标准STD_LOGIC数据类型有9种不同的值:

‘U’   –初始值     ‘X’   –不定,未知   ‘0’   –0     ‘1’   –1     ‘Z’   –高阻

 ‘W’ –弱信号不定   ‘L’   –弱信号0     ‘H’   –弱信号l     ‘-‘   –不可能情况

不定状态方便了系统仿真,高阻状态方便了双向总线的描述。STD_LOGIC是VHDL中最常用的数据类型,比常见物理类型信号BIT描述的功能要强。

,

(1)标志符

基本标志符是包括以下字符的字符序列:大写字母“A”到“Z”;小写字母“a”到 “z”;数字“0”到“9”以及下划线“_”。VHDL不区分大小写。标志符必须以字 母开头,不能以下划线结尾,且不能出现连续的两个或多个下划线的情况。

(2) 常量声明

常量声明的关键字是constant,它可以是特定类型的固定值。常量的值可读但不可写。

例如:constant  WIDTH : INTEGER := 8; 

constant  X : BIT := ‘X’;

(3)变量声明

变量声明定义了给定类型的变量名称,其关键字是variable。可以在表达式中使用变 量,也可以利用变量赋值语句给变量赋值。

例如:variable  A, B : BIT;

(4)信号声明

信号声明的关键字是signal,它可以将结构体中分离的并行语句连接起来,并且还能 通过端口与该设计内的其他模块连接起来。信号声明定义了特定类型的新命名信号(导线), 可以给信号赋以缺省值(初始值)。

例如:signal  A, B : BIT;

signal  INIT : INTEGER := -1;

(5)BOOLEAN数据类型

数据类型BOOLEAN是具有两个值的枚举类型:FALSE和TRUE。

(6) BIT数据类型

数据类型BIT用2个字符“0”或“1”中的一个来代表二进制值。

(7) CHARACTER数据类型

数据类型CHARACTER枚举了ASCII字符集。不可打印字符用3个字母名称表示, 如NUL代表null字符。可打印字符用其本身表示,用单引号括起来。

数据类型STRING是数据类型CHARACTER的一个非限定数组。数据类型STRING要用双引号括起来,如下所示:

variable  STRING_VAR : STRING(1 to 4);     

 ……   

STRING_VAR := “VHDL”;

(8) INTEGER数据类型

数据类型INTEGER表示所有正的和负的整数。整数只是引用了软件设计语言中的概 念,在具体硬件实现时,整数是用32位的位向量来实现的,因此VHDL整数类型的最大 范围是-(231-1)到231-1(-2_147_483_647到2_147_483_647)。

INTEGER还有两个子类型:NATURAL和POSITIVE。NATURAL用来表示自然数;POSITIVE用来表示非负数(0和正数)。

(9)BIT_VECTOR数据类型

数据类型BIT_VECTOR代表BIT值的一个数组。

10) IEEE标准数据类型“STD_LOGIC”和“STD_LOGIC_VECTOR”

VHDL’93标准STD_LOGIC数据类型有9种不同的值:

‘U’   –初始值     ‘X’   –不定,未知   ‘0’   –0     ‘1’   –1     ‘Z’   –高阻

 ‘W’ –弱信号不定   ‘L’   –弱信号0     ‘H’   –弱信号l     ‘-‘   –不可能情况

不定状态方便了系统仿真,高阻状态方便了双向总线的描述。STD_LOGIC是VHDL中最常用的数据类型,比常见物理类型信号BIT描述的功能要强。

VHDL数据类型与表达式

相关文章:

你感兴趣的文章:

标签云: