UVM概述及uvm_component和uvm_object(一)

?姓名:熊子豪 ?? 學號:19011210143

?轉(zhuǎn)載自? https://blog.csdn.net/qq_31935691/article/details/60370395

【嵌牛導讀】 我前面有篇文章詳細講述了芯片驗證行業(yè)的黃金時間以及到來了桥帆,你如想要從事芯片驗證工作或了解芯片 ? ? ? ? ? ? ? ? ? ? ? 驗證猜憎,那么UVM是一定需要了解的 。

【嵌牛鼻子】 芯片驗證 同廉, UVM 。

【嵌牛提問】 UVM驗證平臺的組成 藤肢?

【嵌牛正文】

UVM:? Universal Verification Methodology(通用驗證方法學)

UVM:是建立在systemverilog平臺上的一個庫窑睁,提供了一系列的接口,讓我們能夠更方便的進行驗證震庭。

驗證平臺組成:

Driver:用來把不同的激勵施加給DUT;

Monitor:用來檢測DUT的輸出你雌;

Scoreboard:專門用來比較期望值與monitor檢測到的DUT輸出器联;

Reference model:輸入跟DUT完全一樣,它的輸出送給scoreboard婿崭。用于和DUT的輸出比較拨拓。

UVM驗證平臺的樹形結(jié)構(gòu):



? ? Driver負責給DUT發(fā)送數(shù)據(jù),sequencer用于產(chǎn)生這些數(shù)據(jù)氓栈,一個sequencer通過啟動一個sequence渣磷,從sequence獲取數(shù)據(jù),并把這些數(shù)據(jù)轉(zhuǎn)交給driver授瘦。

? ? Agent只是簡單的吧driver醋界、monitor、sequencer封裝在一起提完。Agent對應的是物理接口協(xié)議形纺,不同的接口協(xié)議對應不同的agent。在一個驗證平臺中通常會存在多個agent氯葬。

? ? Env相當于一個特大容器挡篓,把所有的uvm_component都包含在其內(nèi)部作為其成員變量婉陷。

實際驗證平臺:


類的定義與實例化:

類的定義:及編輯器寫的:class A;……………….endclass

類的實例化:及A a_inst;a_inst = new();

類的定義相當于通知systemverilog仿真器帚称,可能要用到這樣一個類官研,類的實例化在于通過new(),來通知systemverilog仿真器開辟空間闯睹。一個類戏羽,只定義而不實例化,是沒有任何意義楼吃。

Uvm_component和uvm_object::

Uvm_component特點:在new的時候始花,需要指定一個類型為uvm_component,名字是parent的變量:

Function? new(string name,uvm_component? parent);

在一般使用的時候孩锡,若在類A 中有uvm_component B酷宵,則在A中定義如下:

B=new(“B”,this);

完整UVM樹:



uvm樹根是uvm_top。

Uvm_component的另外一個特點是它具有phase自動執(zhí)行的特性躬窜。

Uvm_component的兩大特性:

1浇垦、? 通過在new的時候指定parent來形成一種樹形的組織結(jié)構(gòu)

2、? 有phase的自動執(zhí)行特點

UVM中常用類的繼承關(guān)系:


除了driver荣挨、monitor男韧、agent、model默垄、scoreboard此虑、env之外全部用uvm_object。

常用的uvm_component:

Uvm_driver:所有driver都要派生uvm_driver口锭。Driver的功能主要就是向sequencer索要sequence_item(transaction)朦前,并把sequence_item里的信息驅(qū)動到DUT的接口上。相當于完成了transaction級別到DUT能夠接受的pin級別信息的轉(zhuǎn)變鹃操。

Uvm_monior:所有monitor都要派生子uvm_monitor况既。Monitor從DUT的pin上接收數(shù)據(jù),并且把接收到的數(shù)據(jù)轉(zhuǎn)換成transaction級別的sequence_item组民,并把轉(zhuǎn)換后的數(shù)據(jù)發(fā)送給scoreboard棒仍,供scoreboard比較。

Uvm_sequencer:所以的sequencer都要派生自uvm_sequencer臭胜。其功能1就是組織管理sequence莫其,當driver要求數(shù)據(jù)時,他就把sequence生成sequence_item轉(zhuǎn)發(fā)給driver耸三。

Uvm_scoreboard:一般的scoreboard都要派生自uvm_scoreboard乱陡。其功能就是比較reference model和monitor分別發(fā)送來的數(shù)據(jù),根據(jù)比較結(jié)果判斷DUT是否正確仪壮。

Reference model:reference model直接派生自uvm_component憨颠。其作用就是模仿DUT,完成與DUT相同的功能,可以直接使用systemverilog的特性爽彤,或者可以通過DPI等接口調(diào)用其它語言來完成與DUT相同功能养盗。

Uvm_agent:所以agent都要派生自uvm_agent。只是把driver和monitor封裝在一起适篙,根據(jù)參數(shù)來決定是只實例化monitor還是要實例化driver和monitor往核。

Uvm_env:所有env都要派生自uvm_env。把驗證平臺固定不變的component封裝在一起嚷节。這樣在要跑不同case時聂儒,只要在case中實例化一個env就可以。

Uvm_test:所有的case都要派生自uvm_test硫痰。Case之間差異很大衩婚,所以從uvm_test派生出來的類各不同。任何一個派生的case都要實例化env效斑,只有這樣才能正常傳數(shù)谅猾。

常用uvm_object:

Uvm_sequence_item:所有的transaction要從uvm_sequence_item派生。

Uvm_sequence:所有的sequence要從uvm_sequenc派生一個鳍悠。Sequence就是sequence_item的組合税娜。Sequence和sequencer直接打交道。當driver向sequencer索要數(shù)據(jù)時藏研,sequencer會轉(zhuǎn)而向sequence要數(shù)據(jù)敬矩,當sequence發(fā)現(xiàn)有sequence_item時,則將數(shù)據(jù)傳輸過來蠢挡。

Config:所有config一般直接從uvm_object派生弧岳。Config的主要功能就是規(guī)范驗證平臺的行為方式。

Uvm_phase:派生自uvm_object业踏,其作用是控制uvm_component的行為方式禽炬。

————————————————

版權(quán)聲明:本文為CSDN博主「南國之邱」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議勤家,轉(zhuǎn)載請附上原文出處鏈接及本聲明腹尖。

原文鏈接:https://blog.csdn.net/qq_31935691/article/details/60370395

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市伐脖,隨后出現(xiàn)的幾起案子热幔,更是在濱河造成了極大的恐慌,老刑警劉巖讼庇,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绎巨,死亡現(xiàn)場離奇詭異,居然都是意外死亡蠕啄,警方通過查閱死者的電腦和手機场勤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人和媳,你說我怎么就攤上這事格遭。” “怎么了窗价?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叹卷。 經(jīng)常有香客問我撼港,道長,這世上最難降的妖魔是什么骤竹? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任帝牡,我火速辦了婚禮,結(jié)果婚禮上蒙揣,老公的妹妹穿的比我還像新娘靶溜。我一直安慰自己,他們只是感情好懒震,可當我...
    茶點故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布罩息。 她就那樣靜靜地躺著,像睡著了一般个扰。 火紅的嫁衣襯著肌膚如雪瓷炮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天递宅,我揣著相機與錄音娘香,去河邊找鬼。 笑死办龄,一個胖子當著我的面吹牛烘绽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俐填,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼安接,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了英融?” 一聲冷哼從身側(cè)響起赫段,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎矢赁,沒想到半個月后糯笙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡撩银,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年给涕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,768評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡够庙,死狀恐怖恭应,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情耘眨,我是刑警寧澤昼榛,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站剔难,受9級特大地震影響胆屿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜偶宫,卻給世界環(huán)境...
    茶點故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一非迹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧纯趋,春花似錦憎兽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至痹栖,卻和暖如春扎附,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背结耀。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工留夜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人图甜。 一個月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓碍粥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親黑毅。 傳聞我的和親對象是個殘疾皇子嚼摩,可洞房花燭夜當晚...
    茶點故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容