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...