2-2학기 · 전자전기공학 과제

Controller Logic — VHDL 설계와 Portable Verification

조합회로에서 FSM·범용 시프트 레지스터까지 7개 RTL 블록을 self-checking testbench로 재검증했습니다.

01

RTL 범위와 실행 도구

조합회로에서 FSM·범용 시프트 레지스터까지 7개 RTL 블록을 self-checking testbench로 재검증했습니다.

Status
GHDL 7/7 PASS
Evidence
Recovered Original · Portable Reconstruction · GHDL Rerun
Contribution
Team Project · Individual contribution unconfirmed
02

원본 소스와 portable 검증 분리

과제 원본의 핵심은 단일 회로가 아니라, 논리식 → 계층화 → 상태기계 → 레지스터 제어로 확장되는 RTL 사고 과정입니다. 회수된 소스만으로는 모든 블록을 동일 환경에서 검증할 수 없었기 때문에, 원본과 재구성을 디렉터리·표시·검증 결과에서 분리했습니다.

  • 작은 조합회로는 입력공간을 완전탐색해 예제 벡터만 맞는 착시를 제거했습니다.
  • 순차회로는 reset, hold, load, 양방향 shift, overlap 검출을 directed test로 분리했습니다.
  • 비표준 산술 패키지 의존을 피하고 공개 재구성 testbench에는 numeric_std를 사용했습니다.
  • 모든 testbench는 assertion 실패 시 CI가 실패하고, 성공 시 PASS와 VCD를 남깁니다.
03

게이트 구조와 GHDL 파형

04

회수된 Vivado/XSim 화면

학번·개인정보·로컬 경로·제3자 교재를 제외한 원본 결과 화면입니다.

05

VHDL entity와 assertion testbench

06

Regression 결과

Design units7
Recovered Vivado projects4
Original stimuli4 STIMULUS_COMPLETE
Self-checking TB7
Regression7 PASS / 0 FAIL
Local toolGHDL 6.0.0 mcode
07

합성·보드 검증 범위

원본 Vivado 2023.2 프로젝트와 XSim context 4건은 회수했지만, device constraint, synthesis/timing report, 보드 실증은 없습니다. 원본 testbench에는 assertion이 없어 STIMULUS_COMPLETE로만 표시하고, PASS는 별도 self-checking GHDL 6.0.0 suite에만 부여합니다. LUT/FF, Fmax, 전력, hardware PASS는 주장하지 않습니다.

소스·로그·VCD

공개 가능한 소스·계산·로그와 상세 provenance를 연결합니다.