您好,登錄后才能下訂單哦!
本篇內容介紹了“SystemVerilog Downcast是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
想象一種具有飛行能力的people,其他people都無法飛行。people肯定不想他們跳下懸崖摔個稀巴爛,才發現自己不會飛。所以在從懸崖跳下去之前,需要預警確保該people是否具有飛行能力。
在SystemVerilog中也是一樣,需要在仿真開始之前獲得編譯錯誤信息,不希望因為錯誤賦值導致仿真執行兩天后突然中斷。在將基類句柄賦值給子類句柄時,需要顯式向下轉換(downcast)。
在下面的people示例中,使用fly()方法明確該people具有飛行的能力。將基類people句柄賦值給一個子類people句柄成為稱為向下轉換(downcast)。
virtual class normal_people;
…
endclass: normal_people
class flying_people extends normal_people;
virtual function void fly();
. . .
endfunction
endclass:flying_people
module top;
task fly_if_you_can(normal_people peoples[]) ;
fly_ people this_people
for(int i=0;i<peoples.size();i++)
begin
// peoples[i].fly(); a compile-time error!
if($cast(this_people, peoples[i]))
this_ people.fly();
end
endtask
endmodule :top
UVM面試題(66-73)
66、什么是virtual sequence和virtual sequencer ?
virtual sequence是一個包含和執行多個子sequence的容器,virtual sequencer是包含其他sequencer的容器以使得virtual sequence中的每個子sequence都能在相應的sequencer上獲得執行。
67、 `uvm_do 和 `uvm_send 有什么區別?
`uvm_do自動地創建、隨機化和發送新的對象,`uvm_send用于發送已經完成創建和隨機化之后的對象
68、我們可以在UVM中自定義phase么?
可以在UVM中自定義phase,然后插入到已有的phase之間,自定義phase繼承自uvm_task_phase,需要實現其中的exec_task和exec_func方法。
69、RAL backdoor和frontdoor訪問有什么區別?
backdoor訪問:通過RTL信號路徑訪問,不消耗仿真時間
frontdoor訪問:通過數據總線協議訪問,消耗仿真時間
70、 set_config_* 和 uvm_config_db 有什么不同?
set_config_*可以映射到相應的uvm_config_db:
set_config_int(…)=>uvm_config_db#(uvm_bitstream_t) ::set(cntxt,…)set_config_string(…)=>uvm_config_db#(string) ::set(cntxt,…)set_config_object(…)=>uvm_config_db#(uvm_object) ::set(cntxt,…)
71、如何在component或者sequence中訪問DUT中的信號?
接口信號可以通過指向具體interface的virtual interface訪問,DUT內部信號可以通過信號路徑訪問
72、如何調試UVM中config_db的名稱或者路徑不匹配的問題?
使用+UVM_CONFIG_DB_TRACE獲得set/get信息
73、如何連接monitor和scoreboard、driver和sequencer ?
使用analysis port在connect phase連接monitor和scoreboard。driver具有一個seq_item_port,可以在agent的connect phase中連接到sequencer的seq_item_export
“SystemVerilog Downcast是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。