首页 文章

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

提问于
浏览
0

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

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

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

1 回答

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

    然后在 port 声明中使用 subtypestd_logic_vector ,如:

    ... std_logic_vector(word_range_t);
    

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

相关问题