위 그림은 DV Practice 예제 testbench 의 architecture 를 모델링한 것이다. 녹색 실선과 점선 테두리는 Module 을 의미하고 검은 실선과 점선 테두리는 UVM component class(UVC) 를 의미한다. 괄호 안의 하늘색 이름은 해당 Module 이름과 UVM class 의 이름을 나타내고 있다.
가장 먼저 UVC 최 상단의 Test class 내 tb class 를 object 로 선언/생성을 하였고, 차례대로 virtual sequencer, env, agent, .. 등 세부 component class 들을 구체화 하였다. pkt class 는 low level 의 transaction class 로, input stimulus 용과 output stimulus 용을 따로 구분하였다. Pipe interface 를 UVC 내에서 사용하기 위해 uvm_config_db 내 set 하였고, Driver class와 Monitor class 에서 virtual interface 를 get 하여 사용하였다. env 내 scoreboard class 를 object 로 선언/생성하여 입력 값에 대한 이상적인 값과 DUT 출력 값을 비교하여 checker 로써 역할을 한다. 입력을 randomize 하여 넣기 위해 Test sequence class 를 생성하였다. 마지막으로 tb_top 에서 run_test("..") 를 실행하게 되면 Test class 를 call 함으로써 UVM phase mechanism 에 의해 테스트가 시작된다.