如何利用子类型定义约束VHDL数组元素并放入包中?
VHDL 基于已有子类型创建数组子类型的规范方法
现有类型定义
现有如下VHDL类型定义:
type my_type is record a : std_logic_vector; end record; type my_type_a is array (integer range <>) of my_type; subtype my_subtype is my_type(a(7 downto 0));
需求与当前实现
我需要创建my_type_a的子类型,让其元素满足my_subtype的约束。目前我能通过声明信号的方式实现约束:
signal sig : my_subtype; subtype my_subtype_a is my_type_a(open)(a(sig.a'range));
但我希望直接借助my_subtype的定义来创建这个子类型(方便放入包中),尝试过以下写法但无效:
subtype my_subtype_a is my_type_a(open)(my_subtype); -- 此写法无效
我知道可以在包中声明信号来达成目标,但这种方式不够简洁,想了解是否有规范的实现方法。
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

