728x90
이전
UVM004 - UART_Tx, scoreboard
이전https://hdnua.tistory.com/255 UVM003 - UART_Tx, fork이전https://hdnua.tistory.com/254 UVM002 - UART_Tx, task이 곳에서는 pure TB 를 task 로 전환하는 단계적 방법에 대해 다뤄본다.UVM 이란 것이 범용적인 검증 방법론
hdnua.tistory.com
.
.
이번의 목표.
// =============================================================================
// m05_queue : monitor와 scoreboard 사이에 queue 도입
//
// m04_scoreboard 대비 변화:
// - actual 전달용 단일 공유 변수를 queue로 교체한다.
// - monitor는 수신 바이트를 queue에 넣고 scoreboard를 event로 깨운다.
// - scoreboard는 queue에서 순서대로 꺼내 expected와 비교한다.
//
// 한계(이 단계는 이해를 위한 코드이며 최종 구현 방식이 아님):
// - driver가 여전히 payload를 직접 참조한다.
// - scoreboard도 payload를 직접 참조해 expected queue를 만든다.
// → sequence가 데이터를 만들고 driver와 expected 경로에 분배해야 한다.
// =============================================================================
.
.
Testbench
https://github.com/HDNua/hw001_uvm_study/blob/main/260329_uart/m1_uart_tx/m05_queue/tb/tb_top_v5.sv
.
.
Waveform

.
.
기존과 비교

.
.
.
.
.
728x90
'HW' 카테고리의 다른 글
| UVM007 - UART_Tx, expected_path (0) | 2026.07.19 |
|---|---|
| UVM006 - UART_Tx, sequence (0) | 2026.07.19 |
| UVM004 - UART_Tx, scoreboard (0) | 2026.07.19 |
| UVM003 - UART_Tx, fork (0) | 2026.07.19 |
| UVM002 - UART_Tx, task (0) | 2026.07.19 |

