SystemVerilog "std" package

From Verific Design Automation FAQ
Jump to: navigation, search

Q: Support for SystemVerilog semaphore/process/mailbox.

When I analyzed my SystemVerilog file, Verific issued error message:

test.sv(4): ERROR: process is not declared (VERI-1128)

(similarly for "mailbox" and "semaphore").

Does Verific support those SystemVerilog constructs?


According to SystemVerilog LRM, "process", "mailbox", and "semaphore" are classes defined in package "std" in library "std". Before analyzing the file using these classes, you need to load the "std" package. You can use either of the following ways:

  • Analyze the package before loading the design:
veri_file::Analyze("verilog_packages/std.sv", veri_file::SYSTEM_VERILOG, "std") ;
  • or load the library on demand using binary/restore method:
veri_file::AddLibraryPath("std", "verilog_packages/sdbs/std") ;

The binary dump file "std.sdb" should be in "verilog_packages/sdbs/std" directory.

  • tcl commands:
setveriloglibrarypath -default ../sdbs

or

setveriloglibrarypath -associate std=../sdbs/std