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