21 / 36 · 실습
카운터 시뮬레이션 실습
리셋 이후 증가와 순환을 파형으로 확인합니다.
내용은 무료로 볼 수 있습니다. 수강 신청하면 학습 기록을 저장할 수 있어요.
배울 내용
초기값을 3으로 두고 첫 상승 에지에서 리셋합니다. 이후 0, 1, 2, 3, 0으로 진행합니다. 리셋 신호가 켜져 있어도 클록 에지 전에는 값이 그대로입니다.
시작하기 전에
Digital Design Studio의 Desktop 프로젝트와 정상 실행 권한을 준비하세요. 각 예제는 별도 폴더의 rtl/top.sv로 저장합니다.
SystemVerilog 소스
module top (
input logic clk,
input logic rst,
output logic [1:0] count
);
// Active-high synchronous reset: sampled only at the rising clock edge.
always_ff @(posedge clk)
if (rst) count <= 2'b00;
else count <= count + 2'b01;
endmodule실행 방법
New analysis에서 Two-state single-clock v1을 선택하세요. Clock port는 clk, 주기는 1000ps입니다. 아래 값으로 Preflight 후 Run RTL simulation을 실행하고 결과를 비교하세요.
| 설정 | 값 |
|---|---|
| 초기 레지스터 값 (LSB부터) | [true,true] |
| Reset port | rst · Active high · 1 cycle |
| Maximum cycles / time | 5 / 5000ps |
입력 자극
[
{
"inputs": {}
},
{
"inputs": {}
},
{
"inputs": {}
},
{
"inputs": {}
},
{
"inputs": {}
}
]결과 비교
5 cycles · count=00. 500, 1500, 2500, 3500, 4500ps에서 00 → 01 → 10 → 11 → 00을 확인하세요.
이 실습은 0/1 단일 클록 RTL을 사용합니다. #delay·initial·X/Z 테스트벤치는 포함하지 않습니다. 학습 완료 표시는 학습 기록이며 실제 시뮬레이션 결과를 뜻하지 않습니다.
✓ 학습 완료