|
枚举类型的值是枚举文字量,枚举文字量可以是标识符,也可以是字符文字量。在实体声明部分中,我们已经对标识符作过介绍。字符文字量则是用单引号括起来的单个可打印ASCII字符。
虽然标识符不区分大小写字母,但字符文字量却必须识别大小写。因此,字符文字'a'不同于'A'。枚举类型声明部分所列出的标识符或字符文字量(在括号之内)就是该类型的合法取值。例:
type Three_Level_Logic is ('0','1', 'x');
VHDL有少量预定义类型,即无需定义就可使用的类型。预定义类型有:整数类型Integer,实数类型Real,以及枚举类型Bolean,Bit,Severity_level和Character。举例说明如下:
type Boolean is (False,True);
type Bit is ('0','1');
--Bolean和Bit都是二值枚举类型,但它们的取值是不同的。
下面是自定义枚举类型的例子:
type Four-value is ('0','1','X','Z');
type WeekDay is (SUN, MON, TUE, WEN, THU, FRI, SAT);
每一个枚举值对应一个表示位置的整数。第1个元素(SUN)的位置为0。枚举类型的值可以与表示位置差的整数进行加减运算,得到另一位置的枚举值。例:表达式SUN
+ 1 的结果为 MON。
|