Verilog における二次元配列の定義方法

Verilogでは、変数宣言時に複数の次元を使用することにより、二次元配列を定義できます。

例4×4の2次元配列を定義する方法を示すコードスニペットを記載します。

module example;
  reg [7:0] two_dimensional_array [0:3][0:3];

  initial begin
    // 设置数组元素的值
    two_dimensional_array[0][0] = 8'h11;
    two_dimensional_array[1][2] = 8'h22;
    two_dimensional_array[3][1] = 8'h33;

    // 访问并打印数组元素的值
    $display("Array Element [0][0]: %h", two_dimensional_array[0][0]);
    $display("Array Element [1][2]: %h", two_dimensional_array[1][2]);
    $display("Array Element [3][1]: %h", two_dimensional_array[3][1]);
  end
endmodule

この例では、2次元配列 two_dimensional_array を宣言し、その型はreg[7:0]です。つまり、配列の要素はすべて 8 ビットのレジスタになります。配列のサイズは 4×4 であり、つまり行が 4 つ、列が 4 つあります。

配列の要素には 2 つの添え字を使ってアクセスすることができる。初期化ブロック(initial)でいくつかの配列要素の値を設定し、その後 $display 関数を使ってこれらの配列要素の値を出力した。

注意、配列のインデックスの範囲は、最少インデックスから最大インデックスまでです。この例では、最少インデックスは0、最大インデックスは3です。

bannerAds