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);

 

 

上一页  下一页  返回