是否可以在VHDL中声明与另一个信号相同类型的信号?
例如,假设我们有以下信号声明:
signal address_q : integer range 0 to 31;
我需要声明一个与address_d
变量(address_q
)类型相同的变量integer range 0 to 31
。是否可以通过使用内置信号属性或以其他方式实现此目的?
答案 0 :(得分:2)
subtype
属性可能就是您要找的内容:
entity foo is
end entity foo;
architecture bar of foo is
signal address_q : integer range 0 to 31;
begin
process
variable v: address_q'subtype;
begin
report to_string(v'subtype'left);
report to_string(v'subtype'right);
wait;
end process;
end architecture bar;
使用GHDL进行模拟:
foo.vhd:10:5:@0ms:(report note): 0
foo.vhd:11:5:@0ms:(report note): 31
注意:此属性已在VHDL 2008中引入。请勿尝试将其与旧版VHDL标准一起使用。
答案 1 :(得分:1)
第一路:
您可以用逗号分隔更多信号。
-javaagent:"/C:/USERS/.m2/repository/org/springframework/spring-instrument/4.3.9.RELEASE/spring-instrument-4.3.9.RELEASE.jar"
第二路:
您可以先声明您的类型,然后将其用于所有信号声明。
signal address_q, address_d : integer range 0 to 31;