もっと複雑なコードで複数のregに同じ値を割り当てるにはどうすればよいですか?複数のregまたはワイヤを同じ値に割り当てるVerilog
a = 0;
b = 0;
c = 0;
d = 0;
e = 0;
もっと複雑なコードで複数のregに同じ値を割り当てるにはどうすればよいですか?複数のregまたはワイヤを同じ値に割り当てるVerilog
a = 0;
b = 0;
c = 0;
d = 0;
e = 0;
あなたは左側のconcats
次の例では、それを行う方法を示していますを使用することができます。これは私が改善したいコードです。
reg a,b,c,d,e;
initial begin
{a,b,c,d,e} = 5'b0;
end
あなたが配列を使用していない限り、他の "condenced"方法はありません。
reg [4:0] var;
...
var = 5'b0;
またはすべての変数が同じビット幅を持っているので、あなたはそれらの変数に代入したい値が持っている場合は多次元アンパック配列のためにあなたは、ループ
reg [1:0] var [4:0];
...
for (i = 0; i < 5; i++) var[i] = 0;
を使用することができます
{a,b,c,d,e} = {5{value}};
使用するループにはコストオーバーヘッドがありますか合成中にループが実行されるのですか? –
合成は、ループをアンロールし、それを他のすべての場合と同様に5線のものに変換することになっています。 – Serge
説明をありがとう! –