Compact Model Libraries (CMLs) are generally used in two circumstances: The CML designers create and manage the compact models under the "Custom" folder in INTERCONNECT while the end-users install and use the compact models in the "Design Kits" folder; and in either case, a testbench built with the compact models are commonly used for quality assurance checking. With a pre-built testbench, there are a variety of circumstances that it might be updated, e.g., when the CML got updated or when the CML version is switched. For more information on how to create, package/publish, and install CMLs, please visit the Custom Library & Design Kit page.
Library loading behavior
New INTERCONNECT session
When a new INTERCONNECT session is started, the configuration saved in the user's INTERCONNECT configuration file will be loaded, and the model loading process will be shown with a progress bar in the start-up splash window. When the INTERCONNECT session is closed, its configuration will also be saved into the configuration file. When multiple sessions are open, the saved configuration is overwritten anytime a session is closed.
Install
When users install a CML in a session, the CML will be loaded with its version enabled. The library won't be added into the INTERCONNECT configuration file until the session is closed. It is recommended to use a single INTERCONNECT session when installing CMLs to ensure the CML is saved to the configuration file. For more information on install CML, please visit the Install Compact Model Library page.
Change library version in session
Users can enable/disable the CML version in the session and the enabled version will be loaded in the project file. When the session is closed, the enabled version will be saved into the INTERCONNECT configuration file. For more information on CML versions, please visit the Compact Model Library versioning page.
Update compact model in session
When one or more library element files (.ice/.icex files) have been updated during a session, the next time INTERCONNECT simulation is run, the full CML that contains the elements will be reloaded. Users can turn this off by going to the INTERCONNECT options window (File/Options) and checking the "Disable automatic reload of Design Kits" box.
Element loading behavior
The end users can use CMLs that are successfully installed into the "Design Kits" folder in INTERCONNECT. Models added from the Design Kits folder are references, and please visit the Reference vs Copy section on the Custom Element with user-defined properties page for more information on this.
CML properties and internals that reference the CML are not saved to the project file and are updated when a new CML is loaded. This includes:
- Protected CML properties (visit the properties session on this page for more information)
- Internal CML properties (set-up scripts)
- Internal CML elements (compound element children)
On the other hand, CML properties that are user-editable are saved to the project file and are not updated when a new CML is loaded. This includes:
- Unprotected and hidden properties (visit the properties session on this page for more information)
- User editable properties of Compound and Scripted Elements
- Also includes non-editable properties: “description”, ”model”, ...
The "version" property of the model/element is not editable in the project file, and it is saved to the file. It will be updated when a CML is loaded, and a warning message will be provided if it does not match the value saved to the file. For more information on versioning, please visit the Compact Model Library versioning page.
Project management recommendations
Based on the above behaviors of the CML library and elements, it is recommended to note the following:
- INTERCONNECT project files are not saved upon run. The file Save must be done manually to ensure the latest changes are saved, including the element versions used in the file.
- It is recommended to share both a project file and the CML file together to ensure the receiver obtains the same simulation results. The receiver should install the CML before running the simulation.
- Refresh and Reload the project file when there are updates in the CML.