错误:“非常量索引寻址数组的范围超出了数组的范围(MAX +PLUS®II,VHDL)。”-Altera-Intel社区-FPGA CPLD-ChipDebug

错误:“非常量索引寻址数组的范围超出了数组的范围(MAX +PLUS®II,VHDL)。”

如果使用不带范围约束的变量来指定数组索引,则会出现此错误消息。解决方法是在变量声明中指定范围约束。

例如,以下代码在MAX + PLUS II软件中生成此错误消息:

架构测试是
signal my_array:std_logic_vector(7 downto 0);
signal bitpos:std_logic_vector(2 downto 0);
开始
  
P1:进程(my_array)
变量i:整数;
开始
i:= conv_integer(bitpos);
如果my_array(i)='1'那么
...

如果代码更改如下,则不会出现错误消息:

架构测试是
signal my_array:std_logic_vector(7 downto 0);
signal bitpos:std_logic_vector(2 downto 0);
开始
  
P1:进程(my_array)
变量i:整数范围0到7;
开始
i:= conv_integer(bitpos);
如果my_array(i)='1'那么
... 
请登录后发表评论

    没有回复内容