FPGA · RTL · Digital Verification

FPGA Programmable Delay Logic

Shift Register·Circular Queue·Memory 기반 SystemVerilog 지연 회로. Icarus 시뮬레이션, GTKWave 파형, RTL·테스트벤치 코드.

시뮬레이션 · 31 / 32 사이클 · 3 시나리오
Project 1 — Actual GTKWave detail

자료 바로가기

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

내가 맡은 부분

  • 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 검사는 서로 다른 실행 이력이다.

논문 첫 페이지 미리보기