UVM (Universal Verification Methodology)¶
🧪
UVM (Universal Verification Methodology)
UVM 방법론 — phase, agent, sequence, factory, TLM
🎯 학습 목표¶
코스를 마치면 다음을 할 수 있습니다:
- Diagram (분석) UVM 클래스 계층 전체와 Phase 실행 순서를 화이트보드로 그리며 설계 의사결정을 설명
- Design (생성) Agent/Driver/Monitor 구조를 Active/Passive 모드를 구분해 설계
- Apply (적용) Sequence + Virtual Sequence + Factory Override로 다양한 시나리오를 재사용 가능하게 구성
- Analyze (분석) config_db 계층 전달, TLM 포트 연결, Scoreboard 비교 로직을 트레이스
- Evaluate (평가) UVM 실무 패턴/안티패턴을 식별하고 코드 리뷰에서 근거 있는 피드백 제공
📋 사전 지식¶
다음 항목을 알고 있어야 본문이 매끄럽게 읽힙니다:
- SystemVerilog 객체지향: class, virtual function/task, polymorphism, parameterized class
- 랜덤화:
randomize(), constraint,rand/randc차이 - Interface & modport: virtual interface 개념
- 시뮬레이터 사용 경험: VCS / Questa / Xcelium 중 하나로 +runtest, +UVM_TESTNAME 등의 경험
부족한 부분이 있다면 SystemVerilog IEEE 1800 사양서나 SystemVerilog for Verification (Spear) 1-7장을 먼저 보세요.
🗺️ 개념 맵¶
개념 의존성 — 순서대로 학습 권장
M01
Architecture & Phase
→
M02
Agent / Driver / Monitor
→
M03
Sequence & Item
→
M04
config_db & Factory
각 노드 = 모듈 (클릭하여 이동) · 화살표(→) = 선수 지식 흐름
📚 학습 모듈¶
순차 학습을 권장합니다 (특히 1→4까지). 5~7은 토픽 단위로도 가능합니다.
01
UVM 아키텍처 & Phase
02
Agent / Driver / Monitor
03
Sequence & Sequence Item
04
config_db & Factory
05
TLM, Scoreboard, Coverage
06
실무 패턴 & 안티패턴
★
Quick Reference Card
📊 모듈 흐름¶
코어(Module 01-04) → 심화(05-06) → 참조(07) 순서로 의존성이 있습니다.
M01
아키텍처 & Phase
▶
M02
Agent/Drv/Mon
▶
M03
Sequence
▶
M04
config_db & Factory
▶
M05
TLM/SB/Coverage
▶
M06
실무 패턴
▶
M07
Quick Ref
Tier 색상: ■ 코어 (M01-M04, 강한 의존) ・ ■ 심화 (M05-M06) ・ ■ 참조 (M07, 치트시트)
🎓 코스 운영 방식¶
각 모듈은 다음 순서로 구성됩니다:
- 학습 목표 — 모듈 완료 후 할 수 있는 것 (Bloom's Taxonomy 동사)
- 사전 지식 — 본 모듈에 필요한 선행 학습 항목
- 본문 — 핵심 개념 + 예제 코드 + 다이어그램
- 워크스루 (Walkthrough) — 단계별 실습 시나리오
- 연습문제 — 직접 풀어보는 문항 + 모범 답안
- 핵심 정리 — 5~7개의 압축된 takeaway
- 퀴즈 — 이해도 점검 (별도 페이지)
📖 관련 자료¶
- 📚 용어집 (Glossary) — UVM 핵심 용어 ISO 11179 형식 정의
- 📝 퀴즈 (Quizzes) — 챕터별 5-8문항 (Bloom mix)
- 📋 코스 개요 & 컨셉 맵 — 학습 단위 개요와 이력서 매핑
💡 학습 팁¶
효율적 학습
- 순서 고수: Module 01-04는 강한 의존이 있으므로 순차 학습
- 퀴즈 즉시: 각 모듈 끝나면 바로 퀴즈 풀고 본문 재방문
- 코드 직접 작성: 본문 코드는 읽기만 말고 실제 시뮬레이터에서 컴파일/실행
- 다이어그램 화이트보드: 클래스 계층/Phase 흐름은 자기 손으로 그릴 수 있어야 함
안티패턴 경계
UVM 실무에서 가장 자주 발생하는 문제는 Phase 오해, config_db 경로 불일치, Factory Override 누락입니다. Module 06에서 별도 다룹니다.