vhdl 将子类型转换为活动 hdl 的类型
-
21-12-2019 - |
题
我有一个 pakcgae,在其中声明了一堆子类型和类型。在 Active HDL 中,每当我尝试从子类型创建端口时似乎都会出现问题,所以我想知道是否有办法将它们转换为类型。以下是我想要转换的子类型:
子类型 word_t 是 std_logic_vector(15 downto 0);-- 词(定义)
这是否可以在不创建记录或数组类型的情况下实现?谢谢
解决方案
不认为可以直接创建 type
基于另一个 subtype
, ,但没有 subtype
可以这样做:
type word_t is array (15 downto 0) of std_logic;
然而,创建一个新的 type
由于VHDL的硬类型性质,对于端口的使用会使端口的使用变得麻烦。
另一种解决方法可能是制作 subtype
范围为 word_t
, , 喜欢:
subtype word_range_t is natural range 15 downto 0;
然后用它 subtype
和 std_logic_vector
在里面 port
声明,如:
... std_logic_vector(word_range_t);
该端口仍然兼容 std_logic_vector
, ,并且单词的大小仍然很容易维护。
不隶属于 StackOverflow