[UVM] run_phase, build_phase | 시퀀스 구조와 랜덤 변수 공유 | config_db 사용법 등
UVM을 실무에서 사용하다 보면 문서에서 나오는 표준적인 구조 외에, 실제 동작에서 헷갈리거나 예상과 다른 결과를 마주할 때가 많다. 나도 그랬다. 이 글은 내가 경험한 시행착오와 그 과정에서 정리된 내용을 바탕으로, UVM 시퀀스 실행 구조, 랜덤 변수 처리, config_db를 통한 값 공유 방식에 대해 설명한다.시퀀스는 언제, 어떻게 실행되는가?UVM에서 시퀀스는 .start()를 호출해야만 실제로 실행된다. 실행되면 내부적으로는 다음과 같은 순서로 진행된다.randomize() 자동 호출pre_body() → body() → post_body() 순서로 실행이 전체 흐름은 run_phase() 안에서 이루어져야 하며, build_phase()에서는 시퀀스를 create()할 수는 있지만, rand..
2025.04.04