Types vhdl将活动hdl的子类型转换为类型
我有一个pakcgae,其中声明了一系列子类型和类型。在活动HDL中,每当我尝试将子类型转换为端口时,似乎都会出现问题,因此我想知道是否有办法将它们转换为类型。以下是我要转换的子类型: 子类型字是标准逻辑向量(15到0);--单词(定义) 在不创建记录或数组类型的情况下,这是可能的吗?Types vhdl将活动hdl的子类型转换为类型,types,type-conversion,port,vhdl,subtype,Types,Type Conversion,Port,Vhdl,Subtype,我有一个pakcgae,其中声明了一系列子类型和类型。在活动HDL中,每当我尝试将子类型转换为端口时,似乎都会出现问题,因此我想知道是否有办法将它们转换为类型。以下是我要转换的子类型: 子类型字是标准逻辑向量(15到0);--单词(定义) 在不创建记录或数组类型的情况下,这是可能的吗? 谢谢不要认为可以基于另一个子类型直接创建类型,但是如果没有子类型,则可以像这样执行: type word_t is array (15 downto 0) of std_logic; 但是,由于VHDL的硬类型
谢谢不要认为可以基于另一个
子类型直接创建类型
,但是如果没有子类型
,则可以像这样执行:
type word_t is array (15 downto 0) of std_logic;
但是,由于VHDL的硬类型特性,为端口创建一个新的类型
,将使端口的使用变得繁琐
另一种解决方法是创建一个子类型
,其范围为word\u t
,如:
subtype word_range_t is natural range 15 downto 0;
然后在端口
声明中将该子类型
与标准逻辑向量
一起使用,如:
... std_logic_vector(word_range_t);
然后,端口仍然与std\u logic\u vector
兼容,并且字的大小仍然易于维护。嘿,非常感谢,这似乎可行(第二种方法)。现在,这到底是为什么?向Aldec报告活动HDL问题可能是一个好主意,这样他们就可以在将来的版本中解决这个问题。无论如何,按子类型划分的范围通常非常有用。我已经报告过了,他们说这是一个他们将修复的bug。谢天谢地,Aldec通常对反馈非常敏感,这是制作好软件的方法。