记录(RECORD):记录属复合类型,记录类型的格式如下:
TYPE 记录名 IS RECORD
---记录中元素的类型说明;
END RECORD。一个具体的实例如下:
TYPE month_name(Jan, Feb, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec);
TYPE date IS RECORD
day : integer range 0 to 31;
month : month_name;
year : Integer range 0 to 3000;
END RECORD;
数组(ARRAY)
数组用于定义同一类型值的集合。数组可以是一维的(有一个下标),也可以是多维的(有多个下标)。具体格式如下:
TYPE 数据类型名 IS ARRAY 范围 OF 原数据类型;
举例如下:
TYPE word IS ARRAY (1 TO 8) OF STD_LOGIC;
枚举类型:用户定义的数据类型例: TYPE traffic_light IS (red, yellow,green ) TYPE int IS RANGE 0 TO 100
子类型
所谓子类型是用户对定义的数据类型作一些范围限制而形成的一种新的数据类型。一般格式为:
SUBTYPE 子类型名 IS 数据类型名 [范围]; |