UVM012 - UART_Tx, sv_class_uvc

HW 2026. 7. 19. 03:57
728x90

이전

https://hdnua.tistory.com/263

 

UVM011 - UART_Tx, mailbox_channel

이전https://hdnua.tistory.com/262 UVM010 - UART_Tx, uvc_block이전https://hdnua.tistory.com/261 UVM009 - UART_Tx, if_seqitem_sequencer이전https://hdnua.tistory.com/260 UVM008 - UART_Tx, role_split이전https://hdnua.tistory.com/259 UVM007 - UART_Tx, e

hdnua.tistory.com

.

.

이번의 목표

// =============================================================================
// m12_sv_class_uvc : plain SystemVerilog class 기반 UVC
//
// m11_mailbox_channel 대비 변화:
//   - task로 나뉘어 있던 sequence / driver / monitor / scoreboard /
//     agent / env / test를 class로 올린다.
//   - DUT pin 접근은 virtual uart_tx_if handle을 통해 수행한다.
//   - typed mailbox는 유지하고 handle을 constructor로 각 객체에 전달한다.
//   - TB_Top은 clock/reset, interface, DUT와 test 객체 생성만 담당한다.
//
// 핵심:
//   - test -> env -> agent -> driver/monitor 객체 ownership을 드러낸다.
//   - 역할별 상태와 run() 동작이 class 객체 안으로 들어간다.
//   - 아직 UVM library는 사용하지 않는다.
// =============================================================================

.

.

Testbench

.

.

Waveform

.

.

이전과의 비교

.

.

드디어 여기서부터 진짜 UVM 이라고 해볼 수가 있겠다.

.

.

.

.

.

728x90

'HW' 카테고리의 다른 글

UVM014 - UART_Tx, sv_analysis_port  (0) 2026.07.19
UVM013 - UART_Tx, sv_seq_item_port  (0) 2026.07.19
UVM011 - UART_Tx, mailbox_channel  (0) 2026.07.19
UVM010 - UART_Tx, uvc_block  (0) 2026.07.19
UVM009 - UART_Tx, if_seqitem_sequencer  (0) 2026.07.19
Posted by 누아니
,