目前,下面的代码给出了第一种类型应该受到约束的错误!但我真的需要用户以后指定!我怎么能这样做呢?
package mult_pack IS
type mult_array is array (natural range <>) of integer range 0 to 9;
type mult_levels is array (natural range <>) of mult_array;
END mult_pack;
我想用mult_array类型填充mult_levels,所以非常感谢任何指针!
答案 0 :(得分:1)
在VHDL2008之前的VHDL版本中,不允许有无约束数组的无约束数组。
你实际尝试做的事情是type mult_levels is array (natural range<>) of natural (range<>) of integer range 0 to 9
。您会看到结果类型的多个维度实际上不受约束。因此,您会收到错误消息,指示将无约束数组维度的数量减少到只有一个
在VHDL2008之前的VHDL版本中,这是不允许的,只有您定义的类型的一个维度可以不受约束。在VHDL2008中,这应该可以工作,至少在仿真中并且假设您使用的仿真程序支持VHDL2008(我不知道任何支持新VHDL2008功能的综合工具)。