子类型

在原有已定义数据类型基础上加上一些约束条件,可以定义该数据类型的子类型。通过定义新的数据

类型可以达到同样的目的,VHDL不允许不同类型的数据之间直接进行操作运算,而某个数据类型的子类型

则可以和原有类型数据直接进行操作运算。

例:

SUBTYPE natural is integer range 0 to integer'high;

--定义自然数(natural)为整数(integer)的子类型。

SUTYPE my_logic is std_logic range '0' to 'z';

例:子类型和原有类型数据之间的合法和非法操作:

SUBTYPE my_logic is std_logic range '0' to '1';

signal a:bit;

signal b:std_logic;

signal c:my_logic;

 

b<=a;--非法

b<=c;--合法

 

posted on 2019-11-26 16:22  李好123  阅读(429)  评论(0编辑  收藏  举报