####### xcelium ####### .. module:: xcelium .. function:: include_guard(GLOBAL) .. warning:: This is a generic command invocation. It is not a function or macro definition. Create a target for invoking Xcelium (compilation, elaboration, and simulation) on IP_LIB. It will create a target **run__xcelium** that will compile, elaborate, and simulate the IP_LIB design. :param IP_LIB: RTL interface library, it needs to have SOURCES property set with a list of System Verilog files. :type IP_LIB: INTERFACE_LIBRARY **Keyword Arguments** :keyword NO_RUN_TARGET: Do not create a run target. :type NO_RUN_TARGET: bool :keyword GUI: Run simulation in GUI mode. :type GUI: bool :keyword 32BIT: Use 32 bit compilation and simulation. :type 32BIT: bool :keyword OUTDIR: Output directory for the Xcelium compilation and simulation. :type OUTDIR: string :keyword RUN_TARGET_NAME: Replace the default name of the run target. :type RUN_TARGET_NAME: string :keyword TOP_MODULE: Top module name to be used for elaboration and simulation. :type TOP_MODULE: string :keyword LIBRARY: replace the default library name (worklib) to be used for elaboration and simulation. :type LIBRARY: string :keyword COMPILE_ARGS: Extra arguments to be passed to the compilation step (C, C++). :type COMPILE_ARGS: string :keyword SV_COMPILE_ARGS: Extra arguments to be passed to the System Verilog / Verilog compilation step. :type SV_COMPILE_ARGS: string :keyword VHDL_COMPILE_ARGS: Extra arguments to be passed to the VHDL compilation step. :type VHDL_COMPILE_ARGS: string :keyword ELABORATE_ARGS: Extra arguments to be passed to the elaboration step. :type ELABORATE_ARGS: string :keyword RUN_ARGS: Extra arguments to be passed to the simulation step. :type RUN_ARGS: string .. function:: xcelium(IP_LIB **kwargs) .. function:: __xcelium_compile_lib(IP_LIB **kwargs) .. function:: __get_xcelium_search_lib_args(IP_LIB **kwargs) .. function:: __find_xcelium_home(OUTVAR) .. function:: xcelium_gen_sc_wrapper(IP_LIB **kwargs) .. function:: xcelium_gen_hdl_wrapper(SC_LIB **kwargs) .. function:: xcelium_configure_cxx(**kwargs) .. note:: This is a macro, and so does not introduce a new scope. .. function:: xcelium_add_cxx_libs(**kwargs)