Skip to main content

vcs

vcs(IP_LIB **kwargs)​

Create a target for invoking VCS (compilation, elaboration, and simulation) on IP_LIB.

It will create a target run_<IP_LIB>_vcs that will compile, elaborate, and simulate the IP_LIB design.

Parameters​

NameTypeDescription
IP_LIBstringThe target IP library, it needs to have SOURCES property set with a list of SystemVerilog or VHDL files.

Keyword Arguments​

NameTypeDescription
NO_RUN_TARGETboolDo not create a run target.
GUIboolRun simulation in GUI mode.
32BITboolUse 32 bit compilation and simulation.
OUTDIRstringOutput directory for the VCS compilation and simulation.
EXECUTABLE_NAMEstringReplace the default name of the generated executable target.
RUN_TARGET_NAMEstringReplace the default name of the run target.
TOP_MODULEstringTop module name to be used for elaboration and simulation.
LIBRARYstringreplace the default library name (worklib) to be used for elaboration and simulation.
SV_COMPILE_ARGSstringExtra arguments to be passed to the SystemVerilog / Verilog compilation step.
VHDL_COMPILE_ARGSstringExtra arguments to be passed to the VHDL compilation step.
ELABORATE_ARGSstringExtra arguments to be passed to the elaboration step.
RUN_ARGSstringExtra arguments to be passed to the simulation step.
FILE_SETSlist[string]Specify list of File sets to retrieve the sources from

vcs_gen_sc_wrapper(IP_LIB **kwargs)​

This function create a target to generate a SystemC wrapper for the IP library, with VCS vlogan, if SystemVerilog or Verilog files are in the IP library.

Parameters​

NameTypeDescription
IP_LIBstringThe target IP library, it needs to have SOURCES property set with a list of SystemVerilog or Verilog files.

Keyword Arguments​

NameTypeDescription
32BITboolUse 32 bit compilation and simulation.
OUTDIRstringOutput directory for the VCS compilation and simulation.
LIBRARYstringreplace the default library name (worklib) to be used for elaboration and simulation.
TOP_MODULEstringTop module name to be used for elaboration and simulation.
SV_COMPILE_ARGSstringExtra arguments to be passed to the SystemVerilog / Verilog compilation step.
VHDL_COMPILE_ARGSstringExtra arguments to be passed to the VHDL compilation step.
FILE_SETSlist[string]Specify list of File sets to retrieve the sources from

vcs_gen_hdl_wrapper(SC_LIB **kwargs)​

This function create a target to generate a Verilog wrapper file from a SystemC library with with VCS syscan.

Parameters​

NameTypeDescription
SC_LIBtargetName of an existing CMake target representing the SystemC library.

Keyword Arguments​

NameTypeDescription
32BITboolUse 32 bit compilation and simulation.
OUTDIRstringOutput directory for the VCS compilation and simulation.
LIBRARYstringreplace the default library name (worklib) to be used for elaboration and simulation.
TOP_MODULEstringTop module name to be used for elaboration and simulation.

vcs_configure_cxx(**kwargs)​

.. note:: This is a macro, and so does not introduce a new scope.

This macro is used to configure the C and CXX compiler to the one used by the tool.

It can also be used to add some libraries, such as SystemC and DPI-C in this case, for example if you want to use dpi, you should use this macro like this :

vcs_configure_cxx(LIBRARIES DPI-C)

Keyword Arguments​

NameTypeDescription
LIBRARIESlist[string]Libraries that needs to be added.

vcs_add_cxx_libs(**kwargs)​

This function is called by the vcs_configure_cxx macro, you shouldn't use it directly.

It will add the needed information to IP_LIB and add some flags for the compilation and linking.

Keyword Arguments​

NameTypeDescription
32BITboolUse 32 bitness.
LIBRARIESlist[string]libraries that needs to be added, possible choice are SystemC and/or DPI-C