第三個UVM代碼——把testcase與driver分開
《我的第二個UVM代碼——連接interface》中直接在testcase里驅動interface,當代碼越來越多,需要考慮把環(huán)境拆分成多個小的環(huán)境,便于修改和維護。
如下圖,定義一個driver,并例化在testcase里。把interface連接到driver里的virtual interface,在driver里toggle interface,實現協(xié)議功能。
第一步,在build_phase里連接virtual interface。分兩次,tb到testcase,再從testcase里取出interface轉存到driver。如下圖。注意,get和set的路徑是由幾個參數共同組成的。例如,null、uvm_test_top、u_intf組成了uvm_test_top.u_intf。又如,this(uvm_test_top)、my_driver、u_intf組成了uvm_test_top.my_driver.u_intf。
在編譯時可以加入+UVM_CONFIG_DB_TRACE來打印config_db的set和get的詳細信息。
第二步,在driver的main_phase里驅動virtual interface。這一步與
《我的第二個UVM代碼——連接interface》沒什么區(qū)別,只是把代碼從testcase里移到driver里而已。
第三步,編譯仿真。仿真命令(以irun為例)、波形、環(huán)境層次關系(verdi)如下。
總結:在本示例中沒有env、agent、sequencer、sequence等組件,屬于一個簡化的驗證環(huán)境,主要是由于分步演示的需要。側面也說明UVM是一個靈活的驗證架構,可以根據自己的需要進行裁剪。

請輸入評論內容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數智主辦酒仙橋論壇,探索AI產業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?