3.3 VHDL语言要素
4 用户自定义类型 用户自定义类型是VHDL语言的一大特色。 格式: type 数据类型名{,数据类型名} 数据类型定义; 例: type byte is array(7 downto 0) of bit; variable addend : byte; 可由用户定义的数据类型有: 枚举类型、整数类型、数组类型、记录类型、记录集合、预先定义的VHDL数据类型、子类型 (1)枚举类型 枚举该类型的所有可能的值。格式: type 类型名称 is (枚举文字{,枚举文字}); 如: type std_logic is (‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’, ‘H’,‘-’)
如: type color is (blue, green, yellow, red); type my_logic is (‘0’, ‘1’, ‘U’, ‘Z’); variable hue : color; signal sig : my_logic; hue := blue; sig <= ‘Z’; (2)整数类型 用户定义的整数类型是标准包中整数类型的子范围。 格式:type 类型名称 is range 整数范围; 例: type digit is integer range 0 to 9; (3)数组类型 数组:同类型元素的集合。VHDL支持多维数组。 多维数组的声明: type byte is array(7 downto 0) of bit; type vector is array(3 downto 0) of byte; 限定数组、非限定数组、属性: 限定数组:其索引范围有一定的限制。 格式:type array_类型名称 is array(integer_range) of 类型名称;
非限定数组:数组索引范围被定义成一个类型。 格式:type array_类型名称 is array(range_类型名称 range <>) of element_类型名称; 例: type bit_vector is array(integer range <>) of bit; variable my_vector : bit_vector (5 downto -5);
|
|||