Product Documentation
Virtuoso ADE Assembler User Guide
Product Version IC23.1, November 2023

27


Multi-Technology Designs and Locally Scoped Models and Options

You can use multi-technology simulation (MTS) when designing high-speed interfaces between integrated circuits (ICs) to see the effects of signals traveling between two or more chips. You can also use MTS for custom IC system-in-package (SiP) designs. SiP designs are fully functional systems or subsystems in an IC package. MTS allows you to combine passive components with ICs fabricated using different process technologies while minimizing parasitic loading.

Your MTS design must consist of a top-level schematic that contains two or more blocks, each with its own associated set of process definitions, model libraries, simulation states, and other setup files. You cannot use MTS with a non-hierarchical schematic because each different technology must be self-contained. You must instantiate device instances from different technologies in different cell views so that the program can map model information appropriately.

Note the following:

You can watch a video demonstration for this feature at Multi-Technology Simulation (MTS) with Local Scoped Models. Also, read the related blog at Virtuoso Video Diary: Multi-Technology Simulation—The Good has Changed for Better.

Related Topics

Enabling Locally Scoped Models and Options

Enabling Local Scoping for a Cell

Specifying Locally Scoped Models for a Cell

Specifying Local Simulator Options for a Cell

Enabling Local Scoping for an Instance

Specifying Locally Scoped Models for an Instance

Specifying Local Simulator Options for an Instance

retainStateSettings

Enabling Locally Scoped Models and Options

You cannot enable locally scoped models and options (MTS options) for third-party simulators.

To enable MTS options in your test setup, do the following:

  1. In the Data View assistant, right-click the test or analysis name, and then choose MTS Options.
    The MTS Options form appears.
  2. Select the Enable Locally scoped models and options (MTS) check box to enable the MTS options for the selected test.
  3. Click OK to save the changes.

After enabling the MTS options in your test setup, you can enable local scoping at the following levels in your design hierarchy:

Important Points to Note

Enabling Local Scoping for a Cell

Before enabling local scoping at the cell level, ensure that you have enabled local scoping in your test setup. See the Enabling Locally Scoped Models and Options section for more information.

To enable local scoping for a cell, do the following:

  1. In the MTS Options form, click the Cell Table tab to view a list of the library and cells in your test setup.
  2. Click the check box in the MTS column for the cell that you want to enable for local scoping, as shown in the following figure.
  3. Click OK to save the changes.
    The selected cell is now enabled for local scoping.
    You can now specify the model libraries that will be locally scoped at the selected cell. See the Specifying Locally Scoped Models for a Cell section for more information.
    You can also specify various process parameters that you want to include locally in the simulation. See the Specifying Local Simulator Options for a Cell section for more information.

Specifying Locally Scoped Models for a Cell

To specify the models that will be locally scoped at the cell level, do the following:

  1. On the Cell Table tab, in the row for the cell for which you have enabled local scoping, click the ellipsis (...) button the Models column, as shown in the following figure.
    The Model Library Setup form appears, as shown in the following figure.
  2. Follow the instructions described in the “Specifying Model Libraries” section to select the model files.

Specifying Local Simulator Options for a Cell

You can specify local simulator options only for the cells that are enabled for local scoping. See the Enabling Local Scoping for a Cell section for more information.

To specify the various process parameters, such as tnom, scale, scalefactor, temp, and scaleem, that you want to include in the simulation for a cell, do the following:

  1. On the Cell Table tab, click in the column for the simulator option you want to specify, and then type a value.
    The following figure shows an example where the local simulator options, scale and temp, are specified for the inv cell.
    You can also specify a VAR expression in the scale, scalem, scalefactor, temp, and tnom columns. The variable name specified in the VAR expression is added to the Design Variables section in the test setup.
  2. Click OK to save the changes.

Important point to note:

Enabling Local Scoping for an Instance

Before enabling local scoping at the instance level, ensure that you have enabled it in your test setup. See the Enabling Locally Scoped Models and Options section for more information.

To enable local scoping for an instance, do the following:

  1. In the MTS Options form, click the Instance Tree tab to view an alphabetical list of the instances available in your design.
  2. Select the check box in the MTS column for the instance that you want to enable for local scoping.
    Instances that appear in blue indicate that local scoping has been enabled for them.
  3. Click OK to save the changes.
    You can now specify the model libraries that will be locally scoped for the selected instance. See the Specifying Locally Scoped Models for an Instance section for more information.
    You can also specify various process parameters that you want to include locally in the simulation. See the Specifying Local Simulator Options for an Instance section for more information.

Specifying Locally Scoped Models for an Instance

You can specify locally scoped models only for the instances that are enabled for local scoping. See the Enabling Local Scoping for an Instance section for more information.

To specify the models that will be locally scoped for an instance, do the following:

  1. On the Instance Tree tab, click the ellipsis (...) button in the Models column for the instance that is enabled for local scoping, as shown in the following figure. Such instances appear in blue.
    The Model Library Setup form appears, as shown in the following figure.
  2. Follow the instructions described in the Specifying Model Libraries section to select the model files.

Specifying Local Simulator Options for an Instance

You can specify local simulator options only for the instances that are enabled for local scoping. See the Enabling Local Scoping for an Instance section for more information.

To specify the various process parameters, such as tnom, scale, scalefactor, temp, and scaleem, that you want to include in the simulation for an instance locally, do the following:

  1. On the Instance Tree tab, click in the column for the simulator option you want to specify, and then type a value.
    If the local simulator options are specified at the cell level, they are copied to the instances from their cells, provided that the local scoping is enabled at both the cell and the instance levels.
    The following figure shows an example where the local simulator option, tnom, is specified at the I0 instance and scale and temp are copied from the inv cell that contains the I0 instance in the design hierarchy.
    You can also specify a VAR expression in the scale, scalem, scalefactor, temp, and tnom columns. The variable name specified in the VAR expression is added to the Design Variables section in the test setup.
  2. Click OK to save the changes.

Disabling Local Scoping

Perform the following steps to disable local scoping for a cell or an instance:

Important Point to Note

You cannot disable the local scoping for a cell if the local scoping is enabled for any of its instances. For such library cells the MTS check box appears dimmed and cannot be deselected.

In the following example, a side-by-side view of the Cell Table and Instance Tree views is shown.

Limiting the View by Library or Instance

You can limit what appears on the MTS Options form by library name, cell name, or both.

You can reset the filter to view all cells in all libraries by clicking Reset.

To limit the view of design components on the MTS Options form to only those in a particular library or set of libraries, do the following:

  1. In the Library field, type a filtering string.
  2. Click Limit.
    Only those design libraries that match the filtering string are displayed in the MTS Options form.

To limit the view of design components on the MTS Options form to a particular cell or set of cells, do the following:

  1. In the Cell field, type a filtering string.
  2. Click Limit.
    Only those cells that match the filtering string are displayed in the MTS Options form.

To limit the view by library name and by cell name, do the following:

  1. In the Library field, type a filtering string.
  2. In the Cell field, type a filtering string.
  3. Click Limit.
    Only those cells that match the filtering string in the Cell field contained in those libraries that match the filtering string in the Library field are displayed in the MTS Options form.
  4. Select the Show MTS blocks only check box to display only MTS blocks in the Cell Table and Instance Tree tabs. The MTS blocks are indicated with a check mark in the MTS column of the Cell Table and Instance Tree.
  5. Click the Reset button to clear the filtering and show all libraries and cellviews.
  6. Click the Update button view only the blocks that are selected as MTS blocks.

Specifying Test and Block Information when Adding Model Files to Corners

To specify a particular test to which you want to apply a model file or a particular section of a model file when adding model files for corners analysis, do the following:

  1. Follow the instructions for adding model files to corners but do not click OK.
    The model file you added appears on the Add/Edit Model Files form.
  2. In the Test column, double-click and, from the drop-down menu, select a particular test for which you want to use the model file.
    By default, the program uses the model file for all tests.
  3. In the Block column, double-click and, from the drop-down menu, select a particular cell or instance which you want to apply the model file.
    By default, the program uses the model library for the entire design: Global.
  4. Click OK.
Alternatively, you can click Import from Tests in the Add/Edit Model Files form to import the models files from your test setup.

Detecting Context Symbol/Name Collisions

As a context developer, you need to check for conflicts that arise when you define a function or variable in more than one context (name collisions).

To check for name collisions in loaded contexts, do the following:

  1. In the CIW, choose Tools – Conversion Tool Box.
    The Conversion Tool Box appears.
  2. Click Check SKILL Name Conflicts.
    The SKILL Name Checker form appears.
  3. Click Browse.
    A browser window appears.
  4. For each context file you want to add to the check, do the following:
    1. Navigate to and select a valid context file and click Apply.
      The file name appears in the field on the SKILL Name Checker form.
    2. On the SKILL Name Checker form, click Add.
      The file name moves from the field to the list area.
  5. On the SKILL Name Checker form, click OK.
    Duplicate definitions appear in the SKILL Name Checker Results window as follows:
    symbol 'functionName already defined by context "contextName"
    where functionName is the name of the function and contextName is the first context in which the program found functionName.

Multi-Technology Simulations Using DSPF File

Consider that your design has two blocks, A and B designed with different process technologies. The block B further contains blocks, C, D, and E inside it. You have enabled local scoping at the cell level for the block B.

Now, if you want to run a multi-technology simulation only for the sub-block C of the block B, along with the block A, you first need to create a .scs file for the block C with the following contents:

//DSPF File
include "<path to model file>" section=tttt
dspf_include "<path to the spf file of the block C>" extra_port=true bus_delim="<> []"

You then have to include this .scs file instead of the model file in the MTS Options form before running the multi-technology simulation.


Return to top
 ⠀
X