在VHDL中声明维数组的类型

时间:2014-05-25 08:04:13

标签: arrays types vhdl dimensional

目前,下面的代码给出了第一种类型应该受到约束的错误!但我真的需要用户以后指定!我怎么能这样做呢?

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,所以非常感谢任何指针!

1 个答案:

答案 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功能的综合工具)。

相关问题