UVM系統驗證基礎知識0(Questasim搭建第一個UVM環境)
版權聲明:本文為Times_poem原創文章,轉載請告知原博主。特別聲明:本文在原文基礎上做了簡單修改以適應文中舉例在questasim下的運行,敬請原博主諒解。
需求說明:UVM系統驗證
內容 :IC設計驗證
來自 :時間的詩
原文:http://www.ibowen.net/a/toutiao/252197.html
1. 創建代碼
在QuestaSim中建立UVM環境,使用的UVM是UVM1.1b。
如果安裝的是QuestaSim 10.1c版本及以上的話,軟件自動的將UVM的庫給編譯好了,生成了.dll文件,供UVM驗證使用。
在modelsim的安裝目錄下的 UVM-1.1b/win64下,就有一個uvm_dpi.dll。同樣也可以在questasim安裝目錄下直接搜索uvm_dpi.dll以找到其確切路徑。
以hello_world.sv這個例子為例,說明驗證環境搭建。在這個文件目錄下,有3個文件。
Hello_world.sv: 驗證的代碼
Run.bat: windows運行的腳本
Sim.do: modelsim運行的腳本文件
對於hello_world.sv,該程序,就是輸出一個hello uvm。
- `include "uvm_pkg.sv"
- module hello_world_example;
- import uvm_pkg::*;
- `include "uvm_macros.svh"
- initial begin
- `uvm_info("info1","Hello UVM!",UVM_LOW)
- end
- endmodule: hello_world_example
對於rum.bat,就一句,就是調用modelsim,使用-do選項,當 modelsim啟動後,自動執行sim.do腳本。
對於sim.do文件
代碼
- #Time: 2016-07-19
- #By : times_poem
- quit -sim
- cd F:/UVM/prj00
- set UVM_DPI_HOME D:/software/modelsim10/uvm-1.1b/win64
- if [file exists work] {
- vdel -all
- }
- vlib work
- vlog -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF hello_world.sv
- vsim -c -sv_lib $UVM_DPI_HOME/uvm_dpi work.hello_world_example
- run 100
設置環境變量UVM_DPI_HOME,指定modelsim下的UVM1.1d的DPI的位置
建立work library
編譯hello_world.sv代碼,通過-L 指定編譯需要的幾個library
執行仿真,通過-sv_lib選項,執行UVM1.1d的uvm_dpi.dll,然後針對於哪一個module進行仿真
運行100ns
2.運行代碼
執行,也很簡單了,直接對run.bat雙擊。
如果run.bat運行不成功,可以選擇打開questasim,再輸入如下指令指定運行路徑
cd F:/UVM/prj00
再輸入執行命令
do sim.do
3.顯示結果
就會調用modelsim,然後開始執行sim.do腳本。
至此,驗證環境搭建成功。後面,就是增加代碼文件,然後在sim.do文件中,對增加的代碼文件進行編譯,然後針對於頂層module進行仿真即可。
UVM系統驗證基礎知識0(Questasim搭建第一個UVM環境)