tkata117’s blog

tkata117’s blog

備忘録

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 を用意。

Makefile

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 や 書籍のサンプルを実行してみようと思う。