Simulation Model

Now reading version 23. For the latest, read: Simulation Model for version 22
 

Parent page: Workspace Content Types

From a designer's perspective, a Workspace component gathers together all information needed to represent that component across all design domains, within a single entity. It could therefore be thought of as a container in this respect – a 'bucket' into which all domain models and parametric information is stored. In terms of its representation in the various domains, a component doesn't contain the domain models themselves, but rather links to these models. These links are specified when defining the component.

Altium Designer, in conjunction with your connected Workspace, caters for the ability to create and manage simulation models (Simulation Model Items) in that Workspace. Such simulation models are created directly within the Workspace. Once a simulation model has been created (and data saved into a revision of it), it can be reused in the creation of one or more components.

Models can also be created in the Workspace as part of migration of existing existing, older generation (SchLib, PcbLib, IntLib, DbLib, SVNDbLib) libraries of components. The interface to this process – the Library Importer – presents an intuitive flow that takes initial selected libraries, and imports them to your Workspace.

Learn more about the Library Importer.

Folder Type

When creating the folder in which to store simulation models, you can specify the folder's type. This has no bearing on the content of the folder – saving a simulation model definition will always result in a corresponding Simulation Model Item. It simply provides a visual 'clue' as to what is stored in a folder and can be beneficial when browsing a Workspace for particular content. To nominate a folder's use as a container for simulation models, set its Folder Type as Simulation Models, when defining the folder properties in the Edit Folder dialog.

Specifying the folder type – its intended use – gives a visual indication of the content of that folder when browsing the Workspace.
Specifying the folder type – its intended use – gives a visual indication of the content of that folder when browsing the Workspace.

Content Type

When creating a target Simulation Model Item in which to store your simulation model definition, ensure that its Content Type is set to Simulation Model, in the Create New Item dialog. If you are creating the Item in a Simulation Models type folder, this content type will be available from the right-click context menu when creating the Item.

Creating a simulation model within a Simulation Models folder – the correct Content Type is available on the context menu.
Creating a simulation model within a Simulation Models folder – the correct Content Type is available on the context menu.

Saving a Simulation Model

Related page: Creating and Editing Content Directly through a Workspace

So far, we've discussed the support for a simulation model in the Workspace, in terms of related folder and content types. Saving an actual defined simulation model into a revision of a Simulation Model Item can be performed in a streamlined way.

A simulation model can be edited and saved into the initial revision of a newly-created Simulation Model Item, courtesy of the Workspace's support for direct editing. Direct editing frees you from the shackles of separate version-controlled source data. You can simply edit a supported content type using a temporary editor loaded with the latest source direct from the Workspace itself. And once editing is complete, the entity is saved (or re-saved) into a subsequent planned revision of its parent Item, and the temporary editor closed. There are no files on your hard drive, no questioning whether you are working with the correct or latest source, and no having to maintain separate version control software. The Workspace handles it all, with great integrity and in a manner that greatly expedites changes to your data.

When you create a Simulation Model Item, you have the option to edit and save a simulation model definition into the initial revision of that Item, after creation. To do so, enable the Open for editing after creation option, at the bottom of the Create New Item dialog (which is enabled by default). The Item will be created and the temporary SimModel Editor will open, presenting a .SimModel document as the active document in the main design window. This document will be named according to the Item-Revision, in the format: <Item><Revision>.SimModel (e.g. SIM-001-0001-1.SimModel).

Example of editing the initial revision of a simulation model, directly from the Workspace – the temporary SimModel Editor provides the document with which to define your simulation model.
Example of editing the initial revision of a simulation model, directly from the Workspace – the temporary SimModel Editor provides the document with which to define your simulation model.

Use the document to define the simulation model as required. For more information on doing this, see Defining the Simulation Model.

There are three relevant controls when direct editing, readily available from the Quick Access Bar (at the top-left of the main application window), or from the Sim Model Standard toolbar:

  • Save Active Document. Use this button to locally save any changes made to the document. This allows you to save current changes, should you wish to come back at a later stage to make further changes before ultimately saving to the Workspace.
  • /Save to Workspace. Use this button to save the defined simulation model to the Workspace, storing it within the initial (planned) revision of the target Simulation Model Item. The Edit Revision dialog will appear, in which you can change Name, Description, and add release notes as required. The document and editor will close after the save. The document containing the source simulation model definition, *.SimModel, will be stored in the revision of the Item.

    A Save to Server control is also conveniently provided to the right of the simulation model's entry, within the Projects panel itself.
  • /Discard Local Changes. Use this button if you wish to cancel editing and discard any changes made. The document and editor will close, and nothing will be saved to the target Simulation Model Item.

These controls are also available as commands – Save (shortcut: Ctrl+S), Save to Server (shortcut: Ctrl+Alt+S), and Discard Local Changes – from the right-click menu of the simulation model's entry in the Projects panel.

The saved data stored in the Workspace consists of the model definition in the .SimModel file, as well as any referenced .mdl or .ckt file. In the Explorer panel, switch to the Preview aspect view tab, then click on a referenced file to view a preview of its content. Model-level parameters will also be presented, where applicable.

Browse the saved revision of the simulation model, back in the Explorer panel. Switch to the Preview aspect view tab to see the saved data.
Browse the saved revision of the simulation model, back in the Explorer panel. Switch to the Preview aspect view tab to see the saved data.

Generating SimModel Files

SimModel files can also be generated from the active schematic library document, or database library document, using the Tools » Generate SimModel Files command.

This feature is only available for standard Database Libraries (DbLibs). SimModel files cannot be generated from SVN Database Libraries (SVNDbLibs).

After launching the command, the Generate SimModel Files dialog will appear. Each SimModel file (and constituent simulation model definition) is created based on the simulation model link for a schematic component in the active Schematic Library (or the simulation information for a component record in the active Database Library). Use the controls in the dialog to configure generation of one or more SimModel files as required.

After defining options as required, click OK. Generation will proceed and a confirmation dialog will appear when the process is complete, stating how many SimModel files were generated. Any referenced .mdl.ckt, or .scb files will also be stored alongside the SimModel files.

If migrating from an Integrated Library, the source schematic libraries (SchLib) can be obtained by opening the IntLib in Altium Designer, and electing to extract the source libraries. When generating SimModel files from a Database Library, only components in currently enabled tables will be considered.

SimModel file naming depends on the source library type:

  • Schematic Library - each SimModel file is named using the name of the simulation model. Where multiple schematic components include the same simulation model implementation (same named simulation model), only a single SimModel file will be generated, using that name.
  • Database Library - each SimModel file is named using the name of the simulation model, as specified in the Sim Model Name field for a component record. Where multiple component records (across enabled tables) include the same simulation model implementation (same entry in the Sim Model Name field) only a single SimModel file will be generated, using that name.

Defining the Simulation Model

The information required to define the model in a SimModel file is as follows:

  • Model Name – use this field to specify the name of the model. When saved back into the Workspace, this entry will be used as the Simulation Model Item Revision's Name.

    This must be the name, as it appears in any referenced model or subcircuit file.

    When referencing an MDL file, the name must be that appearing in the .MODEL line of the model's definition. Consider a model for a diode with the following definition:

    .MODEL 1N4002 D(IS=2.55E-9 RS=0.042 N=1.75 TT=5.76E-6 CJO=1.85E-11 + VJ=0.75 M=0.333 BV=100 IBV=1E-5 )

    The model name here is 1N4002. This is the name that must be entered into the Model Name field.

    When referencing a CKT file, the name must be that appearing in the .SUBCKT line of the model's definition. Consider a model for a fuse with the following definition:

    .SUBCKT FUSE 1 2 PARAMS: CURRENT=1 RESISTANCE=1m SW1 1 2 3 0 SMOD OFF BNLV 3 0 V=(abs(v(1,2)))
    .MODEL SMOD SW (VT=\{(CURRENT*RESISTANCE)\} RON=1g ROFF=\{RESISTANCE\})
    .ENDS FUSE

    The model name here is FUSE. This is the name that must be entered into the Model Name field.

  • Model File – for a model that has been defined using a .mdl or .ckt file, use the Browse button to nominate the required file from an available library.
  • Description – enter a description of the model, for example its purpose. When saved back into the Workspace, this entry will be used as the simulation model revision's Description.
  • Parameters – model-level parameters for the model (see Model-Level Parameters).
  • Model Preview – read-only display of the content of the referenced .mdl or .ckt file.

Model-Level Parameters

Where applicable, model-level parameters can be defined directly within the SimModel file, since they are naturally part of a model's definition. The Parameters region of the document will automatically populate with parameters applicable to the chosen model. Parameter values can be edited through the in-place editing - click on the Parameter Value field associated with a parameter in the list and enter the required value directly.

For the built-in SPICE3f5, supported PSpice, and subcircuit model kinds, the available parameters will automatically be listed in the Parameters region.

Define parameters for the model as part of its definition – directly using in-place editing.
Define parameters for the model as part of its definition – directly using in-place editing.

When a simulation-ready component is placed in a design, a simulation parameter can have a different value at the component-level, to that for the same parameter at the model-level. When the netlist is generated, the component-level parameter will have priority. Component-level parameters are naturally defined as part of that component. For more detail, see Component.

Reusing a Simulation Model

Related pages: Component, Controlling Access to Workspace Content

Once a simulation model definition has been saved to a Workspace, and its lifecycle state set to a level that the organization views as ready for use at the design level, that model can be reused in the creation of one or more components. When directly editing a revision of a component from a Workspace, how a simulation model revision is added for use, depends on which mode of editing is being used:

  • Single Component Editing – the simulation model revision is added to the component's Models region. Use the drop-down associated with the Add Simulation entry to choose the Existing command. An explorer-like dialog will open, with which to browse and choose the required simulation model revision.

    Example of referencing a simulation model revision as a model link, when direct editing a revision of a component using the Component Editor in its Single Component Editing mode.
    Example of referencing a simulation model revision as a model link, when direct editing a revision of a component using the Component Editor in its Single Component Editing mode.

    You can edit a simulation model revision directly from the Models region by clicking the button, at the top-right of the model preview. The Sim Model dialog will open where you can change the referenced simulation model as needed.
  • Batch Component Editing – the simulation model revision is added to the component's Model Links region. This region can be thought of in terms of a 'bucket' of domain models that can be accessed by any component definition. Assignment is a case of specifying which links are required for each definition. Click the Add control beneath the region and choose the SIM entry. The Choose Models dialog will open (essentially an incarnation of the Explorer panel), with which to browse to, and choose, the required simulation model revision.

    Ensure you have added the SIM model type to the Required Models/Parameters region of the editor, to be able to add a model of this type to the Model Links region.

    Example of referencing a simulation model revision as a model link, when direct editing a revision of a component using the Component Editor in its Batch Component Editing mode.
    Example of referencing a simulation model revision as a model link, when direct editing a revision of a component using the Component Editor in its Batch Component Editing mode.

    You can edit a simulation model revision directly from the Model Links region by right-clicking and choosing the Edit command from the context menu.

Re-Saving a Simulation Model

At any stage, you can come back to any revision of a simulation model in the Workspace, and edit it directly:

  • From the Explorer panel – right-click on the revision and choose the Edit command from the context menu.
  • From the Components panel – select the Simulations category (the Models option must be enabled in the panel's menu for accessing this category), right-click on the entry for a simulation model and choose the Edit command from the context menu.

Once again, the temporary editor will open, with the file (containing the source simulation model definition) contained in the revision, opened for editing. Make changes as required, then save the document into the next revision of the simulation model.

Right-clicking on the top-level entry for a simulation model itself, in the Explorer panel, or right-clicking on the simulation model entry in the Components panel will edit the latest revision of that simulation model.

Accessing the command to launch direct editing of an existing simulation model revision from within the Explorer panel.
Accessing the command to launch direct editing of an existing simulation model revision from within the Explorer panel.

You can also update the revision of a simulation model being used by a revision of a component directly on-the-fly, as part of editing that revision of that component. If the Component Editor is in Single Component Editing mode, edit a simulation model revision directly from the Models region of the editor by clicking the button, at the top-right of the model preview. If the Component Editor is in Batch Component Editing mode, edit a simulation model revision directly from the Model Links region by right-clicking and choosing the Edit command from the context menu.

Updating Related Components

When you make a change to a domain model – be it a symbol, footprint model, or simulation model – the moment you save that change into a new revision of the model, any components that use that model will become effectively out of date, still using the previous revision. In most cases, you will no doubt want to re-save those components, with the respective model links updated to use the latest revisions available. To streamline this process, a Workspace, in conjunction with Altium Designer, facilitates the ability to update related components – at the point of re-saving a model – after having made any modifications to that model through the direct editing feature.

The option to perform this update to the parent components can be found in the Create Revision dialog, that appears when saving the modified simulation model back to the target Workspace. This option – Update items related to <ModelItemRevision> – is enabled by default.

<ModelItemRevision> is the current revision of the model, that is, the revision currently being used by any related components. Once the model itself is saved, this would naturally be the previous (earlier) revision, and no longer the latest.

Accessing the option to update related components that are referencing the simulation model being re-saved.
Accessing the option to update related components that are referencing the simulation model being re-saved.

If you want to keep all related components using the current revision of the simulation model, disable this option. Only the model itself will then be saved.

Once you click OK in the Create Revision dialog, the modified simulation model definition is saved back to the Workspace, and its associated temporary editor closed. All components referencing that simulation model will be re-saved to use its new revision automatically (the next revision of each component is automatically created and the save performed).

Example of automatic update in action. Here, the parameters for a simulation model have been changed. The component that references the symbol is automatically updated – re-saved into its next revision, to use the new revision of the model.
Example of automatic update in action. Here, the parameters for a simulation model have been changed. The component that references the symbol is automatically updated – re-saved into its next revision, to use the new revision of the model.

Downloading Saved Data

Download the data stored in a revision of a simulation model by right-clicking on that revision (in the Explorer panel) and choosing the Operations » Download command from the context menu. The applicable file(s) will be downloaded into a sub-folder under the chosen directory, named using the Item Revision ID. The file(s) can be found in the Released folder therein.

Access the Download command from the top-level entry for a simulation model itself, to download the file(s) stored in the latest revision of that model.
Click the Explore button in the Download from Server dialog, to quickly explore to the download folder.

Soft Deletion

When connected to a Workspace, flexible functionality is available for removing a simulation model directly from within Altium Designer:

  • From the Explorer panel – right-click on the simulation model's entry in the panel and choose the Delete Item command from the context menu.
  • From the Components panel – select the Simulations category (the Models option must be enabled in the panel's menu for accessing this category), right-click on the entry for a simulation model and choose the Operations » Delete command from the context menu.

The Delete Items dialog will appear, in which to confirm the deletion. The action is actually a 'soft delete', whereby the simulation model will be moved into the Trash area of the Workspace. The Trash is essentially a recycle bin into which any content within your Workspace can be moved (through a soft delete action). It is isolated from the rest of the Workspace.

With the soft-delete facility, you are able to delete a simulation model that is currently being used.
Multiple simulation models can be deleted in a single action. Select all required models using standard multi-select controls (Shift+Click, Ctrl+Click), then right-click and choose the deletion command from the context menu.

Soft deletion of a simulation model from within the Explorer panel. The model will be moved to the Workspace's Trash area.
Soft deletion of a simulation model from within the Explorer panel. The model will be moved to the Workspace's Trash area.

To proceed with the deletion, click the button. The simulation model will be removed and a Deletion Summary dialog will confirm successful deletion. If there was an issue with deletion, this will be flagged to you.

The content deleted in this manner can be found on the Trash page of the Workspace's browser interface. Note that you can only view the content that you have personally soft deleted. Administrators will be able to see the full content of the Trash page – so all content that has been soft deleted.

Things to consider in relation to a soft deleted simulation model:

  • The model will not be available from your design software, or from within the Web interface.
  • Anywhere the model was being used will reflect that the model has been deleted.
  • A model can be restored, or permanently deleted from the Trash page, provided you have editing rights. Permanent deletion is only possible provided it is not being used by a parent Item.
Note that if you have soft deleted a simulation model – moving it to the Trash – you can create a new simulation model with that same name again. If you were to subsequently restore the original model, and the original name is taken, an integer suffix will be used, to keep its name unique within the Workspace.
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Note

The features available depend on your Altium product access level. Compare features included in the various levels of Altium Designer Software Subscription and functionality delivered through applications provided by the Altium 365 platform.

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Content