Featured post

Running UVM with Questasim in Cygwin(Windows) I am using the following steps : i) First copy the win32/64 folder folder from Questasim...

Saturday 27 September 2014


Running UVM with Questasim in Cygwin(Windows)

I am using the following steps :

i) First copy the win32/64 folder folder from Questasim installation path for DPI library. Point to that path using -sv_lib switch.

ii) For running UVM with Questasim in Cygwin path for include files have to be given in relative path format.
https://verificationacademy.com/forums/uvm/problem-generating-uvmdpi.dll-uvm1.2-questasim-10.2c-64-bit-windows
This is because Questasim cannot understand $UVM_HOME=/home/uvm-1.1d POSIX like path.
So for running the ubus example in uvm-1.1d go to  ubus/examples and run following :


vlog -timescale "1ns/1ns" -mfcu -suppress 2181 +acc=rmb -writetoplevels questa.tops +incdir+../../../../src ../../../../src/uvm.sv +incdir+../sv ubus_tb_top.sv

vsim -sv_lib ../../../../win64/uvm_dpi -c -do "run -all; q" -l questa.log -f questa.tops +UVM_TESTNAME=test_2m_4s


Also would like to add qverilog command :



qverilog -timescale "1ns/1ns" +acc=rmb +incdir+../../../../src/uvm.sv +incdir+../../../../src+../sv  ubus_tb_top.sv -R -sv_lib ../../../../win64/uvm_dpi  +UVM_TESTNAME=test_2m_4s -c -do "run -all; q" -l questa.log


Found a way to run without DPI and using Makefile 


ii) Avoid DPI as  : make -f Makefile.questa UVM_NO_DPI=1 all

Useful link : http://blogs.mentor.com/verificationhorizons/blog/2011/03/08/using-the-uvm-10-release-with-questa/ 

For 1.2 

https://verificationacademy.com/forums/uvm/problem-generating-uvmdpi.dll-uvm1.2-questasim-10.2c-64-bit-windows

Sunday 1 December 2013

UVM Users Guide 

Chapter 1

Questions :

ranking technology explanation ?

does driver initiate txns from sequencer or vice versa?

difference between generator and sequencer ?

difference between declarative and procedural constraints ?

bus monitor and agent monitor ?

Chapter 2

Acronym for transaction level abstractions

CALUT

C - cycle accurate abstraction
A - approximately timed abstraction
L - loosely timed abstraction
U - untimed abstraction
T - token level abstraction

Questions:

1. run task under get_consumer.
How to generate t without creating an object using "new" of t ?