Configuring CMI Shared Objects (cmiconfig)
Description
Spectre supports the ability to install devices dynamically from shared objects at run time. CMI Configuration files are used to determine and locate the set of shared objects to be installed as follows:
- Spectre first reads the default CMI configuration file that specifies the default shared objects provided by Cadence.
-
The configuration file specified by the value of the
CMI_CONFIGenvironment variable is then read. -
The third configuration file that Spectre reads is
~/.cmiconfig. -
Finally, the configuration file specified in the
-cmiconfigcommand-line argument is read.
Each CMI configuration file modifies the existing configuration established by the configuration files read before.
The following commands can be used in a CMI configuration file.
setpath: Specifies and resets the search path
setpath <path> or setpath ( <path1> <path2> ... <pathN> )
prepend: Adds a path before the current search path
prepend <path> or prepend ( <path1> <path2> ... <pathN> )
append: Adds a path after the current search path
append <path> or append ( <path1> <path2> ... <pathN> )
load: Adds a shared object to the list of shared objects to load
loads [path/]<shared_object_name>
unload: Removes a shared object from the list of shared objects to load
unload <shared_object_name>
For example, given the following CMI configuration file:
append /hm/MMSIM_INSTALL/tools.lnx86/cmi/lib/cmi/5.0
load libbjtx+tfet.so
load libmosx.so
The shared objects libbjtx+tfet.so and libmosx.so are loaded from /hm/MMSIM_INSTALL/tools.lnx86/cmi/lib/cmi/5.0, in addition to the default shared objects provided by Cadence.
For more information, refer to the Using Compiled-Model Interface chapter in the Spectre Classic Simulator, Spectre APS, Spectre X, and Spectre XPS User Guide.
Return to top