1

現在、以下のこのコードでは、最初のタイプを制約する必要があるというエラーが表示されます! しかし、ユーザーが後でそれを指定する必要があります! どうすればこれを行うことができますか?

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_levels を mult_array 型で埋めたいので、これに関するポインタは本当にありがたいです!

4

1 に答える 1

1

VHDL2008 より前の VHDL バージョンでは、制約のない配列の制約のない配列を持つことはできません。
実際に宣言しようとしているのは、 のようなものですtype mult_levels is array (natural range<>) of natural (range<>) of integer range 0 to 9。結果の型の複数の次元が実際には制約されていないことがわかります。したがって、制約のない配列次元の数を 1 つだけに減らすように指示するエラー メッセージが表示されます。
VHDL2008 より前のバージョンの VHDL では、これは許可されていません。定義したタイプの 1 つの次元だけが制約を解除できます。ただし、VHDL2008 では、これは動作するはずですが、少なくともシミュレーションでは、使用するシミュレーション プログラムが VHDL2008 をサポートしていると仮定します (新しい VHDL2008 機能をサポートする合成ツールはまだ知りません)。

于 2014-05-25T10:52:27.070 に答える