Simulation Models in a Workspace Connected to Altium NEXUS

Nexus message

This documentation page references Altium NEXUS/NEXUS Client (part of the deployed NEXUS solution), which has been discontinued. All your PCB design, data management and collaboration needs can now be delivered by Altium Designer and a connected Altium 365 Workspace. Check out the FAQs page for more information.

 

Parent page: Managed Domain Models

From a designer's perspective, a managed component (Component Item) 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 managed component doesn't contain the domain models themselves, but rather links to these models. These links are specified when defining the component.

Altium NEXUS, in conjunction with your managed content server, caters for the ability to create and manage Simulation Model Items in that server. Such Items are created directly within the server. Once a Simulation Model Item has been created (and data released into a revision of it), and its lifecycle state set to a level that the organization views as ready for use at the design level, it can be reused in the creation of one or more managed components.

Folder Type

When creating the folder in which to store Simulation Model Items, you can specify the folder's type. This has no bearing on the content of the folder - releasing 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 server for particular content. To nominate a folder's use as a container for Simulation Model Items, 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 server.
Specifying the folder type - its intended use - gives a visual indication of the content of that folder when browsing the server.

Item 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 Item type will be available from the right-click context menu when creating the Item.

Creating a Simulation Model Item within a Simulation Models folder - the correct Content Type is available on the context menu.
Creating a Simulation Model Item within a Simulation Models folder - the correct Content Type is available on the context menu.

Releasing a Simulation Model

Related page: Creating and Editing Items Directly through a Server

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

A simulation model can be edited and released into the initial revision of a newly-created Simulation Model Item, courtesy of the server's support for direct editing. Direct editing frees you from the shackles of separate version-controlled source data. You can simply edit a supported Item type using a temporary editor loaded with the latest source direct from the server itself. And once editing is complete, the entity is released (or re-released) 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 managed content server 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 release a simulation model definition into the initial revision of that item, after creation. To do so, enable the option Open for editing after creation, at the bottom of the Create 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-0003-1.SimModel).

Example of editing the initial revision of a Simulation Model Item, directly from the managed content server - the temporary SimModel Editor provides the document with which to define your simulation model.
Example of editing the initial revision of a Simulation Model Item, directly from the managed content server - 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 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 releasing to the managed content server.
  •  - Release Document. Use this button to release (effectively save and release) the defined simulation model to the managed content server, 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 release. The document containing the source simulation model definition, *.SimModel, will be stored in the revision of the Item.
  •  - Cancel Editing. Use this button if you wish to cancel editing. The document and editor will close, and nothing will be released to the target Simulation Model Item.

The released data stored in the server consists of the model definition in the .SimModel file, as well as any referenced .mdl or .ckt file. For a SIMetrix or SIMPLIS model, there will be the referenced .lb 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 released revision of the Simulation Model Item, back in the Explorer panel. Switch to the Preview aspect view tab to see the released data.
Browse the released revision of the Simulation Model Item, back in the Explorer panel. Switch to the Preview aspect view tab to see the released data.

The released .lb file (associated with a released SIMetrix/SIMPLIS model) is not stripped back to contain only the referenced model.
SimModel files can also be generated from the active schematic library document, or database library document, using the Tools » Generate SimModel Files command.

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 released back into the server, 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 a 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.

  • Kind - this drop-down gives access to a number of model categories containing the range of analog device models built-in to SPICE.
  • Sub Kind - this drop-down lists all model types in a chosen category.
  • Spice Prefix - the required prefix for this type of model. Automatically selected for all model Kind/Sub-Kind selections, unless Sub-Kind is set to Generic Editor.
  • Model File - for a model that has been defined using a .mdl or .ckt file, use this field to browse to and nominate the required file. If using a SIMetrix or SIMPLIS model, browse to and nominate the required .lb file (see Support for SIMetrix/SIMPLIS Models).
  • Description - enter a description of the model, for example its purpose. When released back into the server, this entry will be used as the Simulation Model Item Revision's Description.
  • Netlist Template - displays the information that is entered into the XSpice netlist for a given component. For all of the predefined model kinds and sub-kinds, the Netlist Template is read-only. If, however, one of these predefined entries does not allow enough control over the information placed in the netlist, you can define your own template. To edit the Template, you need to select Generic Editor in the Sub-Kind field, ensuring that the Kind field is first set to General. For all other model sub-kinds, you can effectively change to General/Generic Editor and edit the predefined template, massaging it to your own requirements.
  • Netlist Preview - read-only display of the text exactly as it will be written to the XSpice netlist file when a netlist is generated or a simulation is run.
  • Model Preview - read-only display of the content of the referenced .mdl, .ckt , or .lb file.
  • Parameters - model-level parameters for the model (see Model-Level Parameters).

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 Kind/Sub Kind. Parameter values can be edited in two ways:

  • In-Place Editing - click on the Parameter Value field associated to a parameter in the list and enter the required value directly.
  • Dialog-based Editing - click the  button, located below the Parameters region, to access the SimModel Parameters dialog. Parameters applicable to the chosen model Kind/Sub Kind will be presented. Edit the values for these as required. After clicking OK, the Parameters region will be updated with this information.
For the built-in SPICE3f5, supported PSpice, and subcircuit model kinds, the available parameters will automatically be listed in the Parameters region (and SimModel Parameters dialog). When using the Generic Editor, controls for adding and removing parameters are provided directly below the region (and in the SimModel Parameters dialog).

Define parameters for the model as part of its definition - either directly using in-place editing, or through the SimModel Parameters dialog.
Define parameters for the model as part of its definition - either directly using in-place editing, or through the SimModel Parameters dialog.

When a simulation-ready managed 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 Managed Components.

Support for SIMetrix/SIMPLIS Models

Simulation model definitions referencing SIMetrix or SIMPLIS models can also be released to a managed content server. Two aspects to bear in mind when using these types of models are:

  • The Model Name must have a prefix of either SIMetrix_ or SIMPLIS_ respectively. This helps to distinguish between models targeted to these different simulators.
  • The Model File field must point to the underlying model file (*.lb), in which the SIMetrix/SIMPLIS model is defined.
Whereas the model files (*.ckt and *.mdl) used by Altium NEXUS's built in Simulator usually contain one model each, SIMetrix/SIMPLIS model files (*.lb) contain dozens or even hundreds of models.

Example definitions for SIMetrix and SIMPLIS simulation models.
Example definitions for SIMetrix and SIMPLIS simulation models.

Reusing a Managed Simulation Model Item

Related page: Managed Components, Controlling Access to Server Content

Once a simulation model definition has been released to a managed content server, 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 managed components. When directly editing a revision of a Component Item from a managed content server, how a Simulation Model Item revision is added for use, depends on which mode of editing is being used:

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

Example of referencing a revision of a Simulation Model Item as a model link, when direct editing a revision of a Component Item (managed component) using the Component Editor in its Single Component Editing mode.Example of referencing a revision of a Simulation Model Item as a model link, when direct editing a revision of a Component Item (managed component) using the Component Editor in its Single Component Editing mode.

You can edit a Simulation Model Item revision directly from the Models region by clicking the  button, at the top-right of the model preview.
  • Batch Component Editing - the Simulation Model Item 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 Item 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 revision of a Simulation Model Item as a model link, when direct editing a revision of a Component Item (managed component) using the Component Editor in its Batch Component Editing mode.Example of referencing a revision of a Simulation Model Item as a model link, when direct editing a revision of a Component Item (managed component) using the Component Editor in its Batch Component Editing mode.

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

Re-Releasing a Simulation Model Item

At any stage, you can come back to any revision of a Simulation Model Item in the server, and edit it directly. From the Explorer panel, right-click on the revision 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 commit the release of the document into the next revision of the item.

Right-clicking on the top-level entry for an Item itself, will edit the latest revision of that Item.

Accessing the command to launch direct editing of an existing revision of a Simulation Model Item.
Accessing the command to launch direct editing of an existing revision of a Simulation Model Item.

You can also update the revision of a Simulation Model Item being used by a revision of a Component Item directly on-the-fly, as part of editing that revision of that Component Item. If the Component Editor is in Single Component Editing mode, edit a Simulation Model Item 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 Item revision directly from the Model Links region by right-clicking and choosing the Edit command from the context menu.

Updating Related Component Items

When you make a change to a managed domain model - be it a symbol, footprint model, or simulation model - the moment you release that change into a new revision of the model's Item, any Component Item revisions 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-release those components, with the respective model links updated to use the latest revisions available. To streamline this process, a managed content server, in conjunction with Altium NEXUS, facilitates the ability to update related Component Item revisions - at the point of re-releasing a model Item - after having made any modifications to that model through the direct editing feature.

The option to perform this update to the parent Component Item revisions, can be found in the Create Revision dialog, that appears when releasing the modified simulation model definition back to the target managed content server. This option - Update items related to <ModelItemRevision> - is enabled by default.

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

Accessing the option to update related Component Items, that are referencing the Simulation Model Item being re-released.
Accessing the option to update related Component Items, that are referencing the Simulation Model Item being re-released.

If you want to keep all related Component Item revisions using the current revision of the Simulation Model Item, disable this option. Only the model itself will then be released.

Once you click OK in the Create Revision dialog, the modified simulation model definition is released back to the server, and its associated temporary editor closed. What happens next depends on how many Component Item revisions are involved in the update:

  • Single Component Item Revision - the revision of the component is opened in the Component Editor for direct editing (in Single Component Editing mode), with the latest revision of the just-released Simulation Model Item loaded (referenced) ready.

Example of pushing a change made to a Simulation Model Item, through to a single Component Item Revision that references it.Example of pushing a change made to a Simulation Model Item, through to a single Component Item Revision that references it.

  • Multiple Component Item Revisions - the revisions of the components are opened in the Component Editor for direct editing (in Batch Component Editing mode), presenting the following:
    • Definitions for all components that are associated to (reference) the Simulation Model Item.
    • The Model Links region shows the latest (just released) revision for that Simulation Model Item.
    • The entry for the linked model - in the applicable Models field of each component definition - is set to use that latest revision of the just-released Simulation Model Item.
When multiple Component Items use the Simulation Model Item, rather than separate instances of a Component Editor being opened, a single Editor presents a merged view of the world, with all parameters and model links - used by the source component definitions - presented.

Example of pushing a change made to a Simulation Model Item, through to multiple Component Item Revisions that reference it.Example of pushing a change made to a Simulation Model Item, through to multiple Component Item Revisions that reference it.

Unless you need to make any further adjustments, click the  button (on the Quick Access Bar, or from the Component Library Standard toolbar), to release the modified component(s) into new revision(s) of the corresponding Component Item(s), back in the target server:

  • If only a single Component Item Revision is affected, the Edit Revision dialog will appear. Change Name, Description, and add release notes as required. After clicking OK, the release will proceed, and the temporary Component Editor then closed.
  • If multiple Component Item Revisions are affected, the Release Manager dialog will appear. This lists all component Items that are scheduled to be released - by default all enabled for inclusion in the release. Make any changes - to Name, Description, and inclusion (Enable option) - as required, then click the Release Items button. View the impending release changes in the subsequent Confirm Release dialog, then click OK. Once the release process completes - indicated by Release Succeeded in the applicable Action-Status field(s) - close the dialog. The temporary Component Editor will also then be closed.

Downloading Released Data

Download the data stored in a revision of a Simulation Model Item 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 Item itself, to download the file(s) stored in the latest revision of that Item.
Click the Explore button in the Download from Server dialog, to quickly explore to the download folder.

Migrating Existing Model Libraries

Main page: Streamlined Migration of Existing Libraries to Your Managed Content Server

Models can also be created in the managed content server as part of migration of existing libraries of components. Altium NEXUS, in conjunction with your managed content server, provides a streamlined, simple process to quickly migrate your existing libraries to that server. The GUI to this process - the Library Migrator - presents an intuitive flow that takes initial selected libraries, and migrates them to your server. Catering for all types of libraries relating to older component management methodologies - SCHLIB, PCBLIB, INTLIB, DBLIB, SVNDBLIB - the Library Migrator is the perfect solution to quickly building your company's set of managed components, and the many benefits that such components enjoy (high-integrity, lifecycle management, centralized storage and management, where-used functionality, ease of design resuse).

The Library Migrator offers a minimalist Simple interface mode where the selected file-based component libraries are migrated to managed server components through a single step, while the migrator automatically takes care of type classification, the target source folder, parameter inclusion and value type, and the transfer of all relevant data. The interface is also available in an Advanced mode that provides a full preview of the proposed library migration, and access to its related data and settings. And while the migration is a single-click process by default, the migrator also offers advanced configuration options through the Properties panel for enhanced control over exactly how that migration is performed.

Access the Library Migrator from any editor by choosing the File » Library Migrator command from the main menus.
While access to the Library Migrator is available in Altium NEXUS, should you wish to access an unmanaged library to make pre-migration tweaks, or access the Available Libraries list, you will need to enable the use of legacy, unmanaged component management methodologies. Use of unmanaged content is disabled by default in Altium NEXUS, as it is not recommended. You can restore this functionality by enabling the Legacy.UnManagedLibraries option in the Advanced Settings dialog - accessed by clicking the  button, on the System - General page of the Preferences dialog. You will need to restart Altium NEXUS for the change to this setting to take effect.

All information that is present in an original source library is migrated to the server-based managed components, including all referenced domain models (schematic symbols, PCB footprints, Simulation Models), parametric information, assigned part choices, datasheet files, etc . Component Templates are also created where necessary, and may then be refined and used for subsequent library migrations. If your original components have multiple PCB footprints defined, the Library Migrator will bring those models across and keep the current default footprint. And if you only work with PCB libraries – your only concern is PCB layout – then the Library Migrator supports migration of just those libraries, or it can be switched to a models only migration mode where specified models types are migrated from Integrated or Database libraries. Libraries that include multiple component types (monolithic libraries) are automatically detected and processed as well.

The Library Migrator in its Advanced mode - the full user interface to the component migration process.
The Library Migrator in its Advanced mode - the full user interface to the component migration process.

While migration may seem daunting, the defaults have been defined to enable you to get your collection of managed components without having to change a thing - start the process and design with the fruits of the Migrator's labor. The system conducts and handles a number of validations, for example to ensure no duplicate IDs for the resulting managed components, or to ensure no duplicate models or component templates are created, and that such entities are reused across (linked to) components where needed. And if issues do arise, the system flags them, with suggestions on how to resolve those issues, aiming to get the migration back on track as quickly, and as smoothly as possible.

 

If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Content