(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描述的功能要强。