Compiling using DO file on EDAplayground dont find UVM packages

I downloaded the codes provided with UVM basics course.
I tried to compile them using Intels version of Questa and it doesn’t compile due to lack of licences.
Then I uploaded all codes to EDAplayground and every times I try to compile, it simply doesnt find the UVM packages(I am surprised why not!?)

Here is the link to codes at EDAplayground : Code URL
(Edit code - EDA Playground)

**For example some errors are following:

– Compiling package counter_pkg

** Error: counter_pkg.sv(2): (vlog-13006) Could not find the package (uvm_pkg). Design read will continue, but expect a cascade of errors after this failure. Furthermore if you experience a vopt-7 error immediately before this error then please check the package names or the library search paths on the command line.

** Error: counter_pkg.sv(7): Cannot open `include file “uvm_macros.svh”.

** Error: (vlog-13069) ** while parsing file included at counter_pkg.sv(11)**

I am trying to compile through DO file.

Please dont tell me to change testbench structure, as I am really starting to learn UVM :)

Can someone help me with this?

In reply to tahirsengine:

Your example has lot of weaknesses. You should clean-up your code and try it again.
/driver and monitor are not extensions of counter_agent. They should be extensions of uvm_component.

In reply to chr_sue:

The fun part is, I haven’t written these codes and Siemens provided these codes for educational purposes. And I am not good enough at UVM so that I may change these codes. Learning is my main goal at the moment.

Btw, thank you for taking time to review my code. :) Stay blessed.

So I solved the issue with a slight addition of some compilation directives. See the the do file below:

vlog “+incdir+/playground_lib/uvm-1.2/src” -L /usr/share/questa/questasim//uvm-1.2 -f compile_sv.f

Make sure to add UVM addresses on EDAplayground in the compilation line. Otherwise it will never be able to find the UVM packages.

The example above is pretty much working now.