SystemVerilog "std" package

From Verific Design Automation FAQ
Revision as of 16:05, 28 February 2024 by Hoa (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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