UVM中相關概念區分

2021-10-11 00:12:08 字數 2040 閱讀 1735

1、uvm_analysis_fifo的peek和get區別:

peek埠和get埠類似,資料流和控制流都一樣,唯一區別是: 當get任務被呼叫時,fifo內部快取中會少乙個transaction,而peek被呼叫時,fifo會把transaction複製乙份發出去,內部transaction數量不會減少。

普通的peek和get 埠差異是什麼?

fifo有兩種型別,一種是uvm_tlm_analysis_fifo,一種是uvm_tlm_fifo,差別是:前者有乙個analysis-export的埠,並且有乙個write函式,後者沒有。

fifo 快取操作: used函式:用於查詢fifo快取有多少transaction, 

is_empty:用於判斷當前fifo是否為空;

is_full:用於判斷當前fifo快取是否已經滿了。     內部儲存大小是在new時決定的,如下:

function new(string name,uvm_component parent=null, int size =1),size 用於設定fifo快取上限,預設1.  size=0,表示fifo快取設定為無限大小。

flush 函式:用於清空fifo快取中的資料,一般用於復位操作。

2\uvm phase 執行順序

1)build_phase 執行順序為:從上而下。 對於uvm樹形結構,build_phase主要用於構建類的例項,如果下面的先執行,上面的後執行,即下面的先構建,上面的後構建,導致的結果就是空指標,例如agent 下有drv和mon,在agent例項化之前,不能進行drv和mon的例項化。

2)connect_phase執行順序: 從下而上,即先執行drv和mon的connect,再執行agent的connect_phase;

3)對於同一層次中有兄弟關係的componet,執行順序按照字典序,即按照new時name的字母排序。

4)對於兄弟關係的字典序外,uvm採用深度優先的原則,來處理叔侄關係的component,例如對於兄弟i_agt和scb,按照字典序,會先執行i_agt的build_phase,然後按照深度優先原則,再執行其中的drv,mon,sequencer的build_phase,最後再執行scb的build_phase。

那麼,對於兄弟關係的component,到底是按照字典序還是深度優先原則呢? 猜測:如果兄弟節點無兒子節點,那麼採用字典序,如果有兒子節點,需要先按照字典序決定執行那個父節點,再按照深度優先原則,將深度方向執行完。

3、phase 的跳轉

比較典型的例子是reset_phase,如下:

乙個執行緒一直開著來監測rst_n是否為低電平,一旦為低電平,立刻跳轉到reset_phase中執行。

4、sequence  uvm_do 系列巨集

1)    `uvm_do(tr)://建立乙個transaction例項, 隨機化, 然後送給sequencer;

2)uvm_do_with()  //在1)的基礎上,在隨機化時對某些字段進行約束

3)uvm_do_pri(tr, priority)--指定transaction的優先順序

4)uvm_do_pri_with(tr,priority) --指定transaction的優先順序

5)uvm_do_on(tr, this.m_sequencer):顯示指定在哪個sequencer傳送次transaction;

6)uvm_do_on_pri(tr, sequencer, 100);  //最後乙個引數是優先順序

7)uvm_do_on_with(tr, this, )  // 最後乙個是約束

8)uvm_do_on_pri_with(tr,this,100,)  //第三個是優先順序,第四個是約束

1)~7)巨集都是通過uvm_do_on_pri_with來實現的。

Qt中的概念區分

一 clicked 和clicked bool 訊號clicked bool 會將checkbox元件當前的選擇狀態作為乙個引數傳遞,在響應 裡可以直接利用這個傳遞的引數。如果用訊號clicked 則需要在 裡讀取checkbox元件中的選中狀態。qt文件中的說明 void qabstractbut...

SD MMC SDIO概念區分

sd mmc sdio概念區分 sd securedigital 與 mmc card sd 是一種 flash memory card 的標準,也就是一般常見的 sd 記憶卡,而 mmc 則是較早的一種記憶卡標準,目前已經被 sd 標準所取代。在維基百科上有相當詳細的 sd mmc 規格說明 sd...

區分幾個概念

衝突域 衝突域就是連線在同一導線上的所有工作站的集合 或者說是同一物理 網段上所有節點的集合,或 乙太網上競爭同一 頻寬的節點集合。廣播域 廣播域就是指網路中所有能接收到同樣廣播訊息的裝置的集合。交換機每乙個埠是乙個衝突域 路由器每乙個埠是乙個廣播域 衝突域是物理層的概念 廣播域是鏈路層的概念 vl...