私はVerilogプログラミングに全く新しいので、reg
変数を初期化する場所はわかりません。 編集:Verilog regの割り当てですか?
のは、以下のスニペットを見てみましょう Warning at synthesize
module test (
output LED0
);
reg led = 1'b1;
assign LED0 = led;
endmodule
または
module test (
output LED0
);
reg led;
initial begin
reg led <= 1'b1;
end
assign LED0 = led;
endmodule
私を与える:それはラインに割り当てられることはありませんので、LEDの初期値を使用します:
reg led = 1'b1;
reg
は常に@ブロックでのみ割り当てられますか?
もう一つの例:ここでは
module fourBitCounter
(input clk,
output [3:0]counter
);
wire clk;
initial begin
reg[3:0] counter = 4'b1;
end
[email protected] (posedge clk) begin
if(counter > 15)
counter <= 0;
else
counter <= counter + 1;
end endmodule
REGが0の初期値を持っていますが、私は1にする前にそれを設定している...何が間違っていますか?ありがとうございました!
おそらく、内部と 'initial'ブロック' reg'キーワードを使用する必要はありません。 – toolic
あなたは正しいです。でも、同じ結果... –