隨筆:uvm平台.pdf(550.07 kb)
2015-4-1 16:33
(貼出來的東西,顯示不了,pdf是對應的詳細
教程)
也許平台不是很難,但是網上沒有
uvm在
vcs中的詳細教程,但是對於初學者就是一道屏障,我探索了幾天,下文將一步一步的舉例子說明
uvm+vcs+verdi
的liunx
平台搭建過程(假設你已經安裝好
vcs和
verdi
)、和questa-sim+uvm
的window
平台搭建。
uvm+vcs+verdi
基本平台:
準備:
uvm庫,網上很多,我們只需要乙個版本的庫即可,這裡我上傳了uvm-1.1d.tar.gz(3.07 mb)
2015-4-1 16:27
,uvm-1.1a.tar.gz(2.65 mb)
2015-4-1 16:26
。這裡以1-1a
為例子說明。
第一步:把uvm-1.1a.tar.gz放在linux系統中,放入後在進行解壓。得到uvm-1.1a資料夾,該路徑是庫所在路徑。放在什麼地方無所謂,你一定要知道在**。
同時在.bashrc
檔案裡面配置環境變數。在
.bashrc
檔案中填加這句話。
第二步:
如下圖,進入
example目錄,發現
makefile.vcs檔案,該檔案對於所有驗證平台公用,裡面主要是對
uvm庫進行編譯。
第三步:進入
ubus/examples
檔案,該檔案在利用《
systemverilog+uvm
搭建soc
及asic
的rtl
驗證環境
文件》利用systemverilog+uvm搭建soc及asic的rtl驗證環境.pdf (2.93 mb)
2015-4-1 16:34
中有對該例子的講解。可以看到該資料夾下面有
makefile.vcs
檔案,該檔案是針對本設計的
makefile
檔案,會呼叫前乙個。
第三步:輸入命令:
make –f makefile.vcs
。如果出現如下圖的結果,則平台正確。。
makefile.vcs
講解通過前面的例子證明我們的uvm平台已經可以使用,在example裡面有很多例子,
其實我們在自己的實戰過程中可以把上文中提到兩個makefile.vcs檔案的內容複製到乙個makfile檔案中,hello_demo.rar(3.5 mb)
2015-4-1 17:52
該資料夾是張強uvm
原始碼指南裡面的例子,我把他在vcs
中實現,用verdi
開啟波形,下面的兩個檔案是新的makefle
檔案。。我們只需要輸入make+
紅色的關鍵字(all
、comp
、run
等)就可以執行對應的命令。
細心的可以發現,上面和平後的makefile檔案和原來的兩個makefile.vcs不同之處是在vcs,後的選項中加入了-fsdb_old選項,這裡是為了生成fsdb波形檔案。
為了和-fsdb_old選項一致,我們需要在頂層加入檔案(hello_tb_top)生成fsdb波形檔案的函式
在第4行,make all中我們可以根據自己的需要選擇執行的命令。我這裡每次all,先clean,然後編譯,然後執行,然後自動開啟verdi檔案。加入fsdb檔案,我這裡ctrl+w不行(求高手解決),不過get_all_signals後可以看到所有波形。
questa-sim+uvm
的window
平台參考《uvm
初級開發指南.pdf
》,這部分在eetop
(1.2 mb)
UVM驗證平台中的scoreboard
scoreboard 主要用於比較 reference model 與dut 輸出是否一致,並給出比較結果。乙個簡單的 scoreboard 如下 6 7行分別定義了兩個埠,乙個事 exp port 用於從 reference model的ap 獲得期望的資料 另外乙個埠是 act export 用...
UVM平台啟動和結束
uvm中通過objection機制來控制驗證平台的關閉。在每個phase中,uvm會檢查是否有objection被提起 raise objection 如果有,那麼等待這個objection被撤銷 drop objection 後停止 如果沒有,則馬上結束當前phase。raise objectio...
《UVM實戰》 2 1節驗證平台的組成
第2章 乙個簡單的uvm驗證平台 2.1 驗證平台的組成 驗證用於找出dut中的bug,這個過程通常是把dut放入乙個驗證平台中來實現的。乙個驗證平台要實現如下基本功能 驗證平台要模擬dut的各種真實使用情況,這意味著要給dut施加各種激勵,有正常的激勵,也有異常的激勵 有這種模式的激勵,也有那種模...