目前下面的代码给了我第一个类型应该被约束的错误!但我确实需要用户稍后指定!我该怎么做呢?
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,所以这上面的任何指针都是非常感谢的!
在VHDL2008之前的VHDL版本中,不允许有一个不受约束数组的不受约束数组。
实际上你要声明的是类似type mult_levels is array (natural range<>) of natural (range<>) of integer range 0 to 9
的东西。您可以看到,结果类型的不止一个维度实际上是不受约束的。因此,您将得到错误消息,该消息指示将不受约束的数组维数减少到只有一个。
在VHDL2008之前的VHDL版本中,这是不允许的,只有您定义的类型的一个维度可以不受约束。在VHDL2008中,这应该可以工作,但至少在模拟中,假设您使用的模拟程序支持VHDL2008(我不知道任何支持新VHDL2008功能的合成工具)。