0
爲什麼下面的代碼不是自觸發的?帶自觸發的clk發生器中的Verilog阻塞/非阻塞賦值
module osc1 (clk);
output clk;
reg clk;
initial #10 clk = 0;
always @(clk) #10 clk = ~clk;
always
begin
$monitor("%0d clk=%0d\n",$time,clk);
#100 $finish;
end
endmodule
輸出:
# 0 clk=x
# 10 clk=0
# 20 clk=1
時使用非阻塞分配它正常工作
即always @(clk) #10 clk <= ~clk;
輸出:
# 0 clk=x
# 10 clk=0
# 20 clk=1
# 30 clk=0
# 40 clk=1
# 50 clk=0
# 60 clk=1
# 70 clk=0
# 80 clk=1
# 90 clk=0
預先感謝。