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です。