Language/Verilog & SV
[Verilog] Clock generator
VIR&US
2023. 7. 20. 17:22
반응형
목차
Clock generator
- Blocking assignment(BA)을 사용해야 합니다. NonBlocking assignment(NBA)는 사용하지 말아야 합니다.
- 시작신호(time-0)는 Low로 권장합니다.
- negedge로 초기화해야 합니다.
- start_delay 사용을 권장합니다.
Clock을 BA로 설계해야 하는 이유
BA로 표현한 문장은 처리되는 중 다른 이벤트들이 처리되지 않습니다. Clock은 모델의 작동에 기준이 되기 때문에 BA로 작성하여 확실한 이벤트 처리 기준이 되어야 합니다.
// Clock generator model `timescale 1ns/1ns `define CYCLE 10 `define START_DLY 5 module clkgen; reg clk ; initial begin clk <= 0; #`START_DLY forever #(`CYCLE/2) clk = ~clk; end endmodule
728x90
반응형