Understanding CMI

Star-Hspice uses a dynamically linked shared library to integrate models with CMI. Add the global option cmiflag. It loads the dynamically linked CMI library, libCMImodel. Star-Hspice first searches for the shared library libCMImodel in the path $hspice_lib_models. If it does not find the library, it then searches the path in $installdir/$ARCH/lib/models.

Dynamic loading results in better resource sharing than static binding. While several Star-Hspice jobs are running concurrently, only one copy of the dynamically linked CMI model is needed in memory, which will speed up the process. Theoretically, the static linking version will always be slightly faster when only one Star-Hspice job is running at a time. However, the performance difference between dynamic loading and static binding is small, usually less than 5 percent.

CMI is released with several source code examples for integration of MOS models in Star-Hspice. They are standard Berkeley SPICE MOSFET models (LEVEL 1, 2, 3, BSIM1, 2, 3). To minimize the effort required for adding models, Avant! provides installation scripts to automate the shared library generation process.

If your proprietary models are derived from SPICE models, the integration process is similar to the examples with minimal modifications.


NOTE: The actual Star-Hspice program contains device equations and programs for bias calculation, numerical integration, convergence checking, and matrix loading. These programs are not needed to complete a new model integration and are excluded from the source code examples.
Star-Hspice Manual - Release 2001.2 - June 2001