1. 程式人生 > >UVM系統驗證基礎知識0(Questasim搭建第一個UVM環境)

UVM系統驗證基礎知識0(Questasim搭建第一個UVM環境)

art otto quest 運行 microsoft href lin html clas

版權聲明:本文為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。

  1. `include "uvm_pkg.sv"
  2. module hello_world_example;
  3. import uvm_pkg::*;
  4. `include "uvm_macros.svh"
  5. initial begin
  6. `uvm_info("info1","Hello UVM!",UVM_LOW)
  7. end
  8. endmodule: hello_world_example

對於rum.bat,就一句,就是調用modelsim,使用-do選項,當 modelsim啟動後,自動執行sim.do腳本。

技術分享

對於sim.do文件

代碼

  1. #Time: 2016-07-19
  2. #By : times_poem
  3. quit -sim
  4. cd F:/UVM/prj00
  5. set UVM_DPI_HOME D:/software/modelsim10/uvm-1.1b/win64
  6. if [file exists work] {
  7. vdel -all
  8. }
  9. vlib work
  10. vlog -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF hello_world.sv
  11. vsim -c -sv_lib $UVM_DPI_HOME/uvm_dpi work.hello_world_example
  12. 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環境)