학부 UVM 기반 검증 수업, agent·scoreboard 설계 프로젝트
학부 UVM 검증 수업에서 agent·sequence·scoreboard 구조를 처음 설계하면서, 왜 이 계층 구조가 필요한지를 이해했습니다. agent는 DUT에 자극을 주는 역할을 담당하고, scoreboard는 DUT 출력과 기대값을 자동으로 비교하는 역할을 맡는다는 것을 배웠습니다. sequence를 분리하면 동일 agent에 다른 시나리오를 조합해서 쓸 수 있어 재사용성이 높아졌습니다. 커버리지 수집 모듈을 별도로 두니 어떤 기능이 실행됐는지를 독립적으로 추적할 수 있었습니다. 테스트벤치 유지 관리에서는 DUT 인터페이스가 바뀌어도 agent 내부만 수정하면 나머지가 유지되는 구조가 실제로 유용했습니다. 이후 저는 검증 환경을 설계할 때 각 컴포넌트의 역할을 먼저 명확히 하는 습관이 생겼습니다. 구조가 명확한 테스트벤치가 장기적으로 유지 비용을 줄인다는 걸 배웠습니다.