objection機制用來控制驗證平台的關閉。phase和objection與uvm驗證平台息息相關,phase恰如鐵軌,讓uvm這趟列車在鐵軌上向前執行,不會脫軌,不會跳過某一段而直接到達後一段,objection則更像是能量,給列車提供能量,控制著這趟列車的起始和終止。
在乙個實際的驗證平台中,通常會在以下兩種objection的控制策略中選擇一種:
第一種是在scoreboard中進行控制。通過config_db::set的方式設定收集到的transaction的數量pkt_num,當收集到足夠數量的transaction後跳出迴圈。採用fork…join_any語句,一方面收集預期transaction,另一方面收集實際transaction。
第二種是在sequence中提起sequencer的objection,當sequence完成後,再撤銷此objection。
以上兩種方式在驗證平台中都有應用,其中第二種用得最多,這種方式是uvm提倡的方式。uvm的設計哲學就是全部由sequence來控制激勵的生成,因此一般情況下只在sequence中控制objection。
UVM中Virtual sequence的作用
virtual sequence是用來實現sequence之間的同步。從字面上理解,即虛擬的sequence。虛擬的意思就是它根本就不傳送transaction,它只是控制其他的sequence,起統一排程的作用。如圖1所示,為了使用virtual sequence,一般需要乙個virtual se...
UVM 7 3 1 UVM 中前門訪問的實現
1.前門訪問操作只有兩種 讀操作和寫操作。2.對於參考模型來說,最大問題是如何在其中啟動乙個sequence。全域性變數和config db。3.除了這兩種方式之外,如果能在參考模型中得到sequencer 的指標,也可以啟動sequence。只要在其中設定p sqr變數,並在env 中將seque...
UVM中的driver元件
一般uvm環境中的driver元件,派生自uvm driver。uvm dirver派生自uvm component。class uvm driver type req uvm sequence item,type rsp req extends uvm component 其中定義了兩個ports...