Current UVM release I’ve defaulted my projects to: UVM-1.2.

Features I hope to see in the next UVM release:

uvm_reg_hw_reset_seq: Expecting new reset phase in the next release. Till now, reg sequence requires one to reset the DUT prior to its usage.

It is quite a mess currently in terms on how companies interprete UVM-1.2 phases. @Cadence recommends run_phase(). @mentor_graphics’s guideline 5.2 recommends to stay away from reset_phase().

uvm_monitor: Expecting a built-in uvm_analysis_port, like the uvm_driver and uvm_sequencer.
uvm_agent: Expecting a built-in uvm_analysis_port, like the uvm_driver and uvm_sequencer.

New features and improvements

Migration to UVM 1.2 from earlier versions

– Use uvm11-to-uvm12.pl to port UVM-1.1 based projects to version 1.2
– Manually edit the generated files if needed.
– Perform other manual changes which the scripts uvm11-to-uvm12.pl does not support.

Migration traps to avoid:

– deprecated features
– backward compatibility and
– compromising simulation speed.

To compile UVM-1.2 with Questa


UVM_HOME=$(shell dirname `which vsim`)/../verilog_src/uvm-1.2/src
VLOG_OPTIONS=-quiet -L mtiUvm -work work
vlib mtiUvm
vmap mtiUvm mtiUvm
vlog +incdir+$(UVM_HOME) $(VLOG_OPTIONS) $(UVM_HOME)/dpi/uvm_dpi.cc +define+QUESTA
vlog +incdir+$(UVM_HOME) $(VLOG_OPTIONS) -work mtiUvm $(UVM_HOME)/uvm.sv
vlog +incdir+$(UVM_HOME) $(VLOG_OPTIONS) -work mtiUvm $(UVM_HOME)/uvm_pkg.sv

Useful items for task-based tests


uvm_top.finish_on_completion = 1;
uvm_top.set_timeout(10ms);

What can we expect from IEEE P1800.2 ?


– Line up of UVM-1.2’s TLM with IEEE1666-2011 (SystemC) ‘s TLM definition.

– Perhaps new features from the 2 sub working groups: Register and TLM

Leave a comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.