vhdl将子类型转换为活动hdl的类型

时间:2014-07-30 16:29:22

标签: types type-conversion port vhdl subtype

我有一个pakcgae,其中我声明了一堆子类型和类型。在Active HDL中,每当我尝试从子类型中创建一个端口时似乎存在问题,所以我想知道是否有办法将它们转换为类型。以下是我要转换的子类型:

子类型word_t是std_logic_vector(15 downto 0); - 单词(定义)

这可能不仅仅创建一个记录类型或数组吗? 感谢

1 个答案:

答案 0 :(得分:1)

不要认为可以根据另一个type直接创建subtype,但如果没有subtype,就可以这样做:

type word_t is array (15 downto 0) of std_logic;

但是,由于VHDL的硬性特性,为端口创建新的type会使端口变得麻烦。

另一种解决方法可能是制作subtype word_t的范围,例如:

subtype word_range_t is natural range 15 downto 0;

然后在subtype声明中将std_logic_vectorport一起使用,例如:

... std_logic_vector(word_range_t);

该端口仍然与std_logic_vector兼容,然后该字的大小仍然可以轻松维护。