Vivado シミュレータ (XSIM) が UVM をサポート
Vivado のダウンロードページ を見ると、Vivado Design Suite 2019.2 から シミュレータ (XSIM) が UVM をサポートとのことなので、UVM を使ってHello Worldを表示できるか試してみた。
ug900 Appendix C を読むと、
xvlog と xelab 実行時に -L uvm オプションをつければ UVM 1.2 が使えるとのこと。
(UVM 1.1 を使いたい場合は、 -uvm_version 1.1 のようにバージョンを指定可能)
準備
Makefile と tb_top.sv を用意。
all: comp sim comp: xvlog \ -sv tb_top.sv \ -L uvm xelab tb_top \ -timescale 1ns/100ps \ -override_timeunit \ -override_timeprecision \ -L uvm sim: xsim tb_top -R
tb_top.sv
module tb_top; `include "uvm_macros.svh" import uvm_pkg::*; initial begin `uvm_info("info", "Hello World!", UVM_LOW) end endmodule // tb_top
Sim実行
$ make
でコンパイル・Simを実行したところ、以下のように無事に Hello World が表示された。
UVM_INFO /home/tkata117/work/uvm/uvm_study/hello_world/tb_top.sv(6) @ 0: reporter [info] Hello World! exit INFO: [Common 17-206] Exiting xsim at Sun Nov 3 16:29:33 2019...
無料のEDAツールでUVMがお手軽に使えるようになったのはうれしい。
次は、下記のTutorial や 書籍のサンプルを実行してみようと思う。
- ChipVerify の Tutorial
- Testbench.in の Tutorial
- Cadence 本