VHDL数据类型
1.用户自定义数据类型使用关键字TYPE,例如:
TYPE my_integer IS RANGE -32 TO 32;
–用户自定义的整数类型的子集
TYPE student_grade IS RANGE 0 TO 100;
–用户自定义的自然数类型的子集
TYPE state IS (idle, forward, backward, stop);
–枚举数据类型,常用于有限状态机的状态定义
一般来说,枚举类型的数据自动按顺序依次编码。
2.子类型
在原有已定义数据类型上加一些约束条件,可以定义该数据类型的子类型。VHDL不允许不同类型的数据直接进行操作运算,而某个数据类型的子类型则可以和原有类型数据直接进行操作运算。
子类型定义使用SUBTYPE关键字。
3.数组(ARRAY)
ARRAY是将相同数据类型的数据集合在一起形成的一种新的数据类型。
TYPE type_name IS ARRAY (specification) OF data_type;
–定义新的数组类型语法结构
SIGNAL signal_name: type_name [:= initial_value];
–使用新的数组类型对SIGNAL,CONSTANT, VARIABLE进行声明
例如:
TYPE delay_lines IS ARRAY (L-2 DOWNTO 0) OF SIGNED (W_IN-1 DOWNTO 0);
–滤波器输入延迟链类型定义
TYPE coeffs IS ARRAY (L-1 DOWNTO 0) OF SIGNED (W_COEF-1 DOWNTO 0);
–滤波器系数类型定义
SIGNAL delay_regs: delay_lines;– 信号延迟寄存器声明
CONSTANT coef: coeffs := ( ); –常量系数声明并赋初值 VHDL数据类型 VHDL数据类型 VHDL数据类型 VHDL数据类型
页:
[1]