Product Documentation
Spectre Circuit Simulator Reference
Product Version 23.1, September 2023

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:

  1. Spectre first reads the default CMI configuration file that specifies the default shared objects provided by Cadence.
  2. The configuration file specified by the value of the CMI_CONFIG environment variable is then read.
  3. The third configuration file that Spectre reads is ~/.cmiconfig.
  4. Finally, the configuration file specified in the -cmiconfig command-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
 ⠀
X