3

VHDLのmatrix2Dの信号タイプに初期値をゼロにするのに問題があります。私はそれを次のように定義しました:

type matrix2D is array (integer range <> , integer range <> ) of signed(2 downto 0);

そして、初期値のVHDLコードで次のように記述しました。

process(matrix1, matrix2, s_out_adder)
  variable v_flipflop_adder: matrix2D(0 to 4, 0 to 4) :=((0 to 4),(others =>(others=>'0')));
begin   
....

しかし、残念ながらそれは機能しません。

matrix2Dの初期値ゼロを定義する方法を知っている人はいますか?

4

1 に答える 1

5

私のアシェンデン州のコピーの 86 ページ

集計を使用して、多次元配列値を書き込むこともできます。この場合、配列を配列の配列であるかのように扱い、最初に左端のインデックス値ごとに配列集約を書き込みます。

これはあなたの例に必要なものです:

variable v_flipflop_adder_simple_init: matrix2D(0 to 4, 0 to 4) :=
       (others => (others => (others => '0')));

より複雑なものを次に示します。

variable v_flipflop_adder: matrix2D(0 to 4, 0 to 5) :=
       (      4 => (1 => "001", others => "101"),
         others => (5 => "110", others => "010"));
于 2012-07-13T10:35:34.967 に答える