2021/03/13

Array in system verilog

PROGRAMMING   

system Verilogで、配列を使ってみる。

入力側

パラメータの定義として、配列を用意する。8bitのデータを8個分用意する。

module array (
.....
input [7:0] data[8],

alwaysで、forループすることには何か違和感を感じるが。。。。内部で配列を処理する。

logic [7:0] i;
logic a_out_data;
logic [7:0] tmp =0;
......
for (i=0;i<8;i++) begin
    tmp += data[i];
end
a_out_data = tmp;

テストする側

テストするデータを準備する。

int i;
for (i=0;i<8;i++) begin
   DATA[i] <= i;
end

次に、モジュールを定義する部分

logic [7:0] DATA[8];
array array_inst(
.....
.data(DATA),
.....

とりあえず、動いた。

動作に使用したVivadoの環境は、ここにおいてあります。

Prev:«

Next: »