In reply to leela:
Hi Leela,
I would like to point out that, in fact, if you using an up-to-date simulator (as dave_59 suggested), you should have access to the UVM library immediately.
I haven’t, personally, used Cadence Incisive but the documentation for the irun command suggests 2 interesting options:
- uvm which uses the default UVM library
- uvmhome $PATH which uses the uvm library location specified by $PATH
It’s also worth noting that, even though I suggested looking in makefile.questa, there is also a makefile.ius which is for the Cadence simulator.
Thus, this should run the specified top file with the default UVM library:
irun -uvm my_top.sv
And this should run the specified top file with the UVM library of your choice:
irun -uvmhome $UVM_HOME my_top.sv
Note: $UVM_HOME is, of course, the path to the UVM lib you wish to use.
If you are using an older version of the simulator, there are 2 things that I can think of right now that need taking into account:
- you have to compile the shared lib and include the uvm packages manually (obviously)
- there is always the possibility that the simulator’s compiler does not implement enough of the current SystemVerilog LRM in order to successfully compile UVM (which is a game breaker)
I hope this helps.
Regards,
Florin