Thomas Moorby の「The Verilog HDL」という本から、Verilog プログラミングを独学で学ぼうとしていました。演習の 1 つで、彼らは構造的な Verilog のみを使用してクロックを生成するように要求しました (もちろん $monitor 部分を除く)。
私は次のことを試しました:
module clock();
wor clk;
assign clk=0;
initial begin
$monitor($time,,"clk=%b", clk);
#100 $finish;
end
assign #5 clk = ~clk;
endmodule
問題は、iVerilog 0.9.7 では動作しますが、バージョン 10.0 以降では動作しないことです.clk の未定義の値を取得するだけです!
iVerilog のバグではないようです。それ以外の場合は、10.x リリースのいずれかで修正されている可能性があります。これを機能させる他の方法はありますか?また、現在のコード (もしあれば) の何が問題なのですか?