Verilogコードに問題があります。私は2つのクロックを持っています - 100kHz、2番目の10kHz。私は、10kHzがHIGHの時に100kHzの周波数でLEDをトグルしたいと思います。しかし、私のアウトプットはまだ低いです。これは私のコードです:Verilog待機関数の説明
module LED_toggle(
input clock_100kHz,
input clock_10kHz,
output reg LED_PIN,
);
initial begin
LED_PIN <= 1'b0;
end
always begin
if(clock_10kHz) begin
LED_PIN = 1'b1;
@(posedge clock_100kHz);
LED_PIN = 1'b0;
@(posedge clock_100kHz);
end
else begin
LED_PIN = 1'b0;
end
end
endmodule
私は(100kHzのエッジでトリガのようにして状態OT 10kHzのを確認してください)他の方法でこれを行うことができることを知って、私は、なぜ、@(posedgeのclock_100kHz)を理解しよう。私が期待するように行動しないでください。私も試してみてください(clock_100kHz)が、これも動作しません。
私は期待のように、このコードが動作するので、私は、私の時計が正しく設定されていることを確信している:
module LED_toggle (
input clock_100kHz,
input clock_10kHz,
output reg LED_PIN,
);
initial begin
LED_PIN <= 1'b0;
end
always begin
if(clock_10kHz) begin
LED_PIN = ~LED_PIN;
end
else begin
LED_PIN = 1'b0;
end
end
endmodule
が、私は私の待ち条件と間違っているかを理解してみてください。