UVM中Objection的作用

        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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章