반응형
목차
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
반응형
'Language > Verilog & SV' 카테고리의 다른 글
[Verilog] APB의 State FSM, 간단한 Master Code (0) | 2023.07.21 |
---|---|
[Verilog] Full-adder, Ripple-carry adder (0) | 2023.07.20 |
[Verilog] Blocking(=) vs Nonblocking(<=) (0) | 2023.07.19 |
[Verilog] Parameter (0) | 2023.07.19 |
[System Verilog] 'break' and 'continue' (0) | 2023.07.19 |