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를 연결합니다.