進階驗證與 UVM
UVM 驅動器(UVM driver)
UVM 驅動器是把抽象請求——「把數值 0x55 寫到位址 0x10」——轉換成實際擺動設計接腳的元件,一個週期接一個週期,完全照協定的要求把那個請求做出來。它是測試平台的雙手。序列器像主廚喊出訂單一樣把交易(transaction)交給它;驅動器則是把每張訂單化為真實動作的爐台廚師:拉高 valid、等待 ready、保持 data 穩定、拉低。它說的是設計原生的接腳級語言,讓測試平台的其他部分永遠不必去碰。
驅動器與序列器透過一套乾淨的交握(get_next_item/item_done)溝通,序列器會被阻擋,直到驅動器真的把每筆交易推上線路為止。這種分工——高階意圖放在序列裡、低階時序放在驅動器裡——正是讓你能在不同協定速度間重用同一套激勵的關鍵:只改驅動器的時序,所有既有測試都還能跑。
新手常見的臭蟲是忘了呼叫 item_done()——序列器於是永遠卡住等待驅動器,模擬就此停滯且不會跳出任何錯誤訊息。
又称
另见