2

以下に例を示します

module a_mod ( u );
input bit [2:0] u [1:0];
...
endmodule

module b_mod ();

bit [2:0] c1, c2;
a_mod a_mod_inst ( 
  .u ( {c1,c2} ) // won't work
);

endmodule

u[0] == c2 と u[1] == c1 のような接続を行う最も簡単な方法は何ですか?

ところで、以下に示すことができることはわかっていますが、よりエレガントな代替手段を探しています

bit [2:0] tmp_u [1:0];
assign tmp_u[0] = c2;
assign tmp_u[1] = c1;

a_mod a_mod_inst (
.u ( tmp_u )  // works for sure
);
4

1 に答える 1

3

試す:

bit [2:0] c1, c2;
a_mod a_mod_inst ( 
  .u ( '{c1,c2} ) // note the single quote before the open curly bracket
);

IEEE1800-2012 セクション 10.9 を参照してください。'{パックされていない配列の割り当てまたは受け渡しに使用されます。

于 2013-04-22T22:18:20.113 に答える