We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 

UVM (Universal Verification Methodology) Support in Vivado Simulator

2 0 396

The Vivado Integrated Design Environment supports Universal Verification Methodology (UVM) when using Vivado Simulator.

The UVM version 1.2 library is precompiled and is available with Vivado.

To use UVM in project mode please follow the below steps to create an example design test case.

(Attached is a simple example which you can download and unzip).

  1. Create a new RTL project in Vivado 2019.2.
  2. Add the directories “src” and “verif” to the project by clicking on Add Directories.
    Specify that the UVM verification files are for simulation only.2.JPG3.JPG
  3. Select the part/board required for the project and then click on next.
  4. Check the project summary and click on Finish.5.JPG
  5. Once the project is created with the added sources from the “src” and “verif” directories, go to Settings -> Simulation.
    Add the “-L UVM” switch to xsim.compile.xvlog.more_options which can be found under the compilation tab and to xsim.elaborate.xelab_more_options  under the Elaboration tab (See the screen captures below).
    This is needed to use the pre-compiled UVM library.



    We can also set the following properties through the Tcl console:

    set_property -name {xsim.compile.xvlog.more_options} -value {-L uvm} -objects [get_filesets sim_1]
    set_property -name {xsim.elaborate.xelab.more_options} -value {-L uvm} -objects [get_filesets sim_1]

    These steps are documented in Appendix C of (UG900).

  6. After adding the above switch make sure that the “adder_4_bit_tb_top.sv” file is selected as the top module and then run simulation.

    Simulation should run without any issues although the Vivado hierarchy sources window will show syntax errors on the files.

    You can ignore the syntax errors regarding UVM in Hierarchy window and Vivado Text Editor as UVM support is added for simulator alone in Vivado 2019.2.

    UVM support for HSV will be coming in a future release.


Below are the steps to use UVM in Non-Project/Batch Mode:

  1. Invoke Vivado 2019.2.

    source <Vivado_install_path>/Xilinx/Vivado/2019.2/settings64.sh
  2. To run the Simulation in non-project mode, change the current working directory to the “run” folder.

    cd ./Adder_4_bit/run
  3. For standalone simulation in Vivado you can source run_xsim.csh on Linux and run_xsim.bat on windows or source run.tcl using the below command in Linux/Windows.

    Vivado –mode batch –source run.tcl
  4. Once the simulation is finished we can observe the UVM test results in the Shell or command prompt as shown below:


Directory Structure of both project and non project mode:

The "src" and "verif" folders contain Design and verification environment related files.

Run is the location to run simulation in Non project mode.

UVM_test is for Project Mode simulation in XSIM.