01
문제 정의
출력 시점과 invalid-data 규칙이 다른 세 지연 회로의 입력·출력 비교.
02
Architecture
1·2번은 현재 edge를 포함한 N번째 샘플을 선택하고 invalid 출력은 0입니다. 3번은 N주기 뒤 레지스터 출력으로 내보내며 invalid 구간에는 이전 데이터를 유지합니다.
03
Hardware · Software
- SystemVerilog
- Icarus Verilog 14.0
- GTKWave
- VS Code
04
Data Flow
Parameter와 입력 vector → DUT와 reference model → cycle-aligned checker → deterministic PASS/FAIL log.
05
Methodology
- 원본 DUT RTL의 SHA-256 보존
- 1·2번에 독립 cycle-history checker 추가, 3번의 file-driven Driver/Checker 사용
- 실제 VCD를 GTKWave로 열고 RTL/TB를 VS Code에서 캡처
06
Results
- Project 1: 31사이클 검사 PASS, 오류 0
- Project 2: 32사이클 검사 PASS, 오류 0
- Project 3: 3개 시나리오 PASS — 검사/valid 8/5, 14/4, 17/14
구조와 결과 화면
Project 1 · Actual GTKWave detail · 2026-09-16Project 1 · Actual GTKWave full · 2026-09-16Project 1 · Actual VS Code RTL and testbench · 2026-09-16Project 1 · RTL-derived gate/register schematic · 2026-09-16Project 2 · Actual GTKWave detail · 2026-09-16Project 2 · Actual GTKWave full · 2026-09-16Project 2 · Actual VS Code RTL and testbench · 2026-09-16Project 2 · RTL-derived gate/register schematic · 2026-09-16Project 3 · Actual GTKWave scenario1 · 2026-09-16Project 3 · Actual GTKWave scenario2 · 2026-09-16Project 3 · Actual GTKWave scenario3 · 2026-09-16Project 3 · Actual VS Code RTL and testbench · 2026-09-16Project 3 · RTL-derived gate/register schematic · 2026-09-16
내가 맡은 부분
- Parameterized SystemVerilog RTL
- Independent reference model
- Self-checking testbench와 deterministic regression
코드와 결과
- Project 1: 31사이클 검사 PASS, 오류 0
- Project 2: 32사이클 검사 PASS, 오류 0
- Project 3: 3개 시나리오 PASS — 검사/valid 8/5, 14/4, 17/14
설계 조건·후속 과제
실행 환경: Icarus Verilog 14.0 · 2026-09-16. 구조도: RTL 기반 논리 회로. 합성·배치배선·PPA: 별도 단계.
2026-09-16 Icarus Verilog 실행 기록: Project 1은 31사이클, Project 2는 32사이클, Project 3은 3개 시나리오 PASS. 오류 수는 모두 0.
갤러리에는 GTKWave 파형, VS Code의 RTL·테스트벤치 화면과 코드 기반 게이트·레지스터 구조도를 수록했다.
RTL·테스트벤치·VCD·실행 로그
7월의 20/26-check 회귀 기록과 9월의 31/32-cycle 검사는 서로 다른 실행 이력이다.