Do not delete Questa’s Excel plugin installer

It caught me by surprise. Questa’s Testplan Tracking Excel plugin installer requires the previously used installer during its update. Unfortunately, it doesn’t even show which version of the installer was previously installed. Thus making hard to first find the correct version of the installed plugin and its installer, prior to the update. Note to self: […]

No $time with system task $fatal

On the quest to remove redundant code from my testbenches, $time was among the victims to be dropped from all SV call $fatal. Now I’m using $realtime instead of $time when writing SVAs.   Take the following statement along with its output as example: $fatal(`ASSERT_LEVEL, “[%m]: Assertion property pp_ahb_readyout_resp failed @ time %0t”, $time); # […]

UVM related command line functions

Some UVM related command line functions on questa: ‘call’ can be used to call any UVM SV function. ‘findregisters, fr’ can be used to find HDL registers for a UVM register model. ‘findsequences, fs’ can be used to find currently active sequences. ‘find insource’ searches through only compiled code to find the given matching string. […]

View assertion failures on the waveforms

To view assertion failures, ensure that the following switches are enabled with vsim: -msgmode both -assertdebug -msgmode is a switch used to control where the elaboration and runtime messages are output. It records messages in the waveform database and add a hyperlink to the source code where the message was emitted. As from v10.1, the […]

SV: fatal error dpi_get_next_arg_c

# ** Fatal: (vsim-160) /uvm-1.1b/src/dpi/uvm_svcmd_dpi.svh(27): Null foreign function pointer encountered when calling ‘dpi_get_next_arg_c’ # Time: 0 ps Iteration: 0 Process: /uvm_pkg/#INITIAL#614 File: uvm-1.1b/src/dpi/uvm_svcmd_dpi.svh To avoid such fatal errors with UVM, ensure that +define+UVM_NO_DPI is used during the testbench compilation.

SV: compiling UVM based files

To compile and to simulate an UVM based testbench: vlog -64 +define+UVM_NO_DPI -suppress 1194 -quiet -O5 -cover s -nolock -lint -source -mixedsvvh -work work -L ${UVM_LIB} +incdir+TB +incdir+${QUESTA_UVM_HOME} vsim +UVM_VERBOSITY=UVM_LOW -classdebug -msgmode both -uvmcontrol=all -voptargs=+acc work.testbench It is recommended to use ‘all’ option with ‘uvmcontrol’ switch to include all UVM-aware functionality and debug options […]

SV: warnings due to anonymous formals

When Questa complains of (vopt-2606) Anonymous formals are allowed with method prototype (pure/extern) only. Treating this as a default type variable. this is due to the most probable unwanted use of anonymous formals in SV method definitions, e.g function new (transmission_reg_t = READ); was written instead of function new (transmission_reg_t transmission_reg = READ);