Simulation Analysis and Co-Simulation

Note: for advanced guidance on simulation and analysis, access the Help icon Help > Simulate Designs and Create Models pages from the Schematic Editor.

Performing a time-domain simulation

Set up the simulation by opening Simulation Settings icon Simulation Settings in the toolbar.

  • Select Time-Domain under Simulation Type
  • Under Select Waveforms, choose which waveforms you would like to be included in the results:
    • Top-Level Waveforms: show only waveforms for signals at the top level of the design hierarchy
    • All Waveforms: waveforms for all available signals
    • Selected Waveforms: click the button to the right of the Select Waveforms field and manually check which waveforms to include
  • Enter the End Time of the simulation in seconds. SI suffixes can be used (e.g. u, m, k, etc.), but do not add units – units are shown to the right of the input field.
  • Click on Run Simulation icon Run Simulation in the toolbar to begin the simulation.
  • If you must end a simulation that is in progress, click on Interrupt Simulation icon Interrupt Simulation.

Performing a frequency-domain simulation

When performing a frequency-domain simulation, PartQuest Explore analyzes the design by applying small-signal AC behavior from stimulus models in the design that provide magnitude and phase.

The AC magnitude and phase of a stimulus model (e.g. a voltage source) can be configured by editing its properties.

For "function generator" sources, there is a check box in the Property Editor that says "Use as AC <type> Source". When this box is checked, it pre-sets the AC magnitude to 1.0 and the phase to 0.0. The default unchecked box sets the AC magnitude to 0.0.

In general, for most frequency domain analyses:

  • Only one source should be the active stimulus input (nonzero magnitude)
  • The active stimulus input should almost always use an AC magnitude of 1.0 and a phase of 0.0. This is because frequency-domain simulation is a linear analysis (i.e. all results simply scale linearly with magnitude). Since it is primarily used for the extraction of transfer functions, then the transfer function from the input with magnitude = 1.0 and phase 0.0 is directly visible as the "output" magnitude and phase on any net or quantity in the system. Property Editor for a voltage function generator with the Use as AC Voltage Source checkbox checked, AC Magnitude 1.0 and AC Phase 0.0

After all stimulus models are configured, set up the simulation by opening Simulation Settings icon Simulation Settings in the toolbar.

  • Select Frequency-Domain under Simulation Type
  • Under Select Waveforms, choose which waveforms to in the results: Top-Level Waveforms, All Waveforms, or Selected Waveforms.
  • Enter the Start Frequency and End Frequency of the simulation in Hz. SI suffixes can be used, but do not add units – units are shown to the right of the input field.
  • Enter the Number of Points (per scale unit) and select the Variation Type (scale unit): Decade, Linear, or Octave.
    • Linear – points are distributed linearly across a single "scale unit" that covers the entire range between the start and end frequencies.
    • Decade – points are distributed logarithmically across decadal scale units (10x change in frequency)
    • Octave – points are distributed logarithmically across octaval scale units (2x change in frequency)
  • Click on Run Simulation icon Run Simulation in the toolbar to begin the simulation.
  • If you must end a simulation that is in progress, click on Interrupt Simulation icon Interrupt Simulation.

Performing a parameter sweep

Note: A PartQuest Explore Simulation Pack or PartQuest Explore Standard subscription is required to perform parameter sweeps.

A parameter sweep runs a complete simulation analysis using a different value of a model parameter for each analysis.

Waveform Viewer showing several overlaid time-domain traces resulting from a parameter sweep
  • To enable parameter sweep analysis, check the Parameter Sweep box in the Simulation Settings icon Simulation Settings.
  • Select the Simulation Type (Time-Domain, Frequency-Domain, or DC). Selecting the DC option enables a DC sweep analysis. If you are performing a time- or frequency-domain analysis, then set up the analysis as explained previously.
  • Double-click on a component in the schematic to open the Property Editor.
  • Click the Sweep button next to the parameter that you want to sweep. This opens the Sweep Options dialog. Here, enter the Start Value and End Value of the sweep and define the range as:
    • Increment with Step Value
    • Linear with Number of Steps
    • Logarithmic with Steps per Decade Property Editor with the Sweep button highlighted and the Sweep Options dialog showing Start Value, End Value, and Logarithmic step settings
  • When a parameter has been properly configured for a sweep, its Sweep button turns green and the component is outlined in green.
  • Review the Sweep properties in the Simulation Settings icon Simulation Settings. Click on Run Simulation icon Run Simulation in the toolbar to execute the parameter sweep analysis.

Viewing simulation results

After a simulation is complete, the results appear in the Waveform Viewer below the schematic canvas. If the Viewer is not visible, expand it using the Gray arrow expand/collapse button gray arrow button. You can also use the Pop-out window icon button at the top right of the Viewer to pop it out as a separate window.

  • The results of all previous simulations can be found in the navigator on the left of the waveform viewer. Each simulation is contained in a folder. Expand the folder to view the available waveforms for that simulation.
  • Double-click on a waveform in the navigator to open it.
  • Double-clicking on other waveforms in the navigator will display them separately (multi trace).
  • Alternatively, you can drag-and-drop waveforms from the navigator onto an already-open waveform to display them as overlaid. Waveform Viewer with a simulation navigator tree on the left and overlaid multi-trace waveforms on the right
  • You can also click and drag a waveform name/legend on the right side of the viewer to move the position of the waveform or overlay it on another waveform.
  • To zoom in over one dimension, click-and-drag along the X or Y axis. To zoom in over two dimensions, click-and-drag a rectangle over the area of interest.
  • Right-click on the waveform window to View All or Zoom Undo. You can also use this menu to change the waveform colors, add cursors, edit the axes, download open waveforms as a .csv file, or Clear Window.
  • To edit, download, or delete a single waveform, right-click on its name on the right side of the waveform viewer.

Using the Waveform Analyzer

Open the Waveform Analyzer using the Waveform Analyzer icon button near the top right of the Viewer. Using the Waveform Analyzer, you can apply a large variety of measurements and operations to the open waveforms in the Viewer.

Waveform Analyzer Level Operations panel with LevelCross selected and its options shown

The operations in the Waveform Analyzer are divided into the following tabs:

  • Level Operations (e.g. average, maximum, RMS, etc.)
  • Time-Domain Operations (e.g. fall time, rise time, overshoot, etc.)
  • Calculator Operations involving one or two waveforms (e.g. multiplying a voltage waveform and a current waveform to create a power waveform)
  • Transformations (e.g. derivative, integral, FFT, etc.)
  • Trigonometric Operations (e.g. sin, acos, tanh, etc.)

Operations may involve options that should be configured before application. When an operation is applied, the result either appears as a measurement on the selected waveform or as an entirely new waveform.

Waveform with LevelCross and PeakToPeak measurement annotations applied

If you perform a measurement on a multi-member waveform from a parameter sweep, then the measurement result can be plotted against the parameter value being varied. For example, if you sweep the resistance parameter of R1 and then measure the rise time on a multi-member waveform result, then rise time vs. R1 resistance will be plotted.

Plot of rise time versus the R1 resistance parameter value from a parameter sweep measurement

This type of parametric analysis is useful for making design decisions and weighing trade-offs.

Using waveform probes

Waveform probes can be used to directly probe results on nets and components in the schematic.

Click the Add Waveform Probe icon Add Waveform Probe button in the toolbar and then click on a net or component in the schematic. If you are probing a component, you may be prompted to choose from a list of available waveforms. The probed waveform then appears in the probe window.

Schematic with a waveform probe window open and its right-click menu showing Display Mode, Math Operation, and other options
  • From the bottom left of a probe window, you can add multiple probes to display multiple waveforms at the same time.

Right-click in the probe window to access the menu for additional options such as overlaying waveforms, editing the axes, or changing colors.

You can perform simple math operations on the first two waveforms displayed in a probe window by right-clicking on the probe window and clicking on Math Operation. The first two waveforms can then be added, subtracted, multiplied, divided, or plotted against each other.

Advanced topics

For information on configuring advanced simulation options such as the Simulation Resolution, Time Resolution Enhancement, Convergence Assist, and other commands, access Help icon Help from the toolbar and navigate to Design & Simulation > Simulate Designs > Click here for advanced simulation commands.

Performing FMI Co-simulation

Note: A PartQuest Explore Standard subscription is required to perform FMI co-simulation.

The Functional Mockup Interface (FMI) Standard is an industry open standard that allows for different simulation tools to couple for unified, system-wide co-simulation. PartQuest Explore is compatible with the FMI 2.0 standard for co-simulation.

Under the FMI Standard, a Functional Mock-up Unit (FMU) is a containerized model that allows for deployment to a different tool or platform. PartQuest Explore can either import or export FMUs for co-simulation.

Note: PartQuest Explore does not support Model Exchange (ME) FMUs.

To import an FMU exported from another simulation tool:

Note: An FMU imported by PartQuest Explore must be standalone to work, meaning that it is self-contained and does not require the exporting tool to run simultaneously during co-simulation. The imported FMU also must not require any software licenses to run.

  • Click on Create New Component > From an FMU (Import)
  • Locate and open the .fmu file that you wish to import and give a name to the FMU component. Click Create.
  • The VHDL-AMS model for the FMU component is generated and the Symbol Editor appears. Design the symbol by arranging the input and output pins and adding graphics (shapes, text, or images).
  • Click Save symbol icon Save symbol when finished.
  • The new component appears in the Component Browser under Personal > My Components as a draft component.
  • Click on Publish Component Version icon Publish Component Version in the Component Editor to publish the component and introduce version control.

To perform co-simulation using an imported FMU:

  • Place and wire the new FMU component into the PartQuest Explore schematic.
  • Before performing co-simulation, ensure that the FMU properties are set appropriately. During co-simulation, the FMU exchanges data at regular, discrete points determined by the communication time-step (set by the property DT). It is important to define an appropriate communication time-step to achieve sufficient simulation accuracy while balancing the trade-off in simulation runtime.
  • Since the FMU is standalone, PartQuest Explore can perform the co-simulation on its own and does not require the other simulation tool to be running. Set up the Simulation Settings icon Simulation Settings and click on Run Simulation icon Run Simulation.

To export an FMU from PartQuest Explore:

Note: FMUs exported by PartQuest Explore are tool-coupling, meaning that both simulation tools must be running simultaneously to perform co-simulation.

  • Click on Create New Component > To an FMU (Export). Name the new FMU component.
  • Create the ports of the FMU by clicking Add Port and then give them names.
  • The port Type defines the nature of the transmitted data (real, Boolean, or integer). Create New FMU Component dialog showing the Name field and a Ports table with Name, Type, and Dir columns
  • The port Dir defines whether the port is an input or an output from the perspective of the FMI interface component that is placed in the PartQuest Explore design. An input port sends data from PartQuest Explore into the other simulation tool, while an output port receives data from the other tool.
  • Click OK to create the FMU component. The FMU is automatically downloaded to your machine as a .fmu file.
  • The VHDL-AMS code for the FMI interface component generates in the Component Editor, and the Symbol Editor appears. Design the symbol by arranging the input and output pins and adding graphics (shapes, text, or images).
  • Click Save symbol icon Save symbol when finished.
  • The new component appears in the Component Browser under Personal > My Components as a draft component.
  • Click on Publish Component Version icon Publish Component Version in the Component Editor to publish the component and introduce version control.

To perform co-simulation using an exported FMU:

  • Place and wire the new FMU component into the PartQuest Explore schematic.
  • Import the .fmu file into the FMI-compatible partner simulation tool and interface the FMU with the other model or design. Each tool will have different steps for doing this, so consult the documentation for the partner tool you are using.
  • Ensure that the FMU properties are configured properly, such as the co-simulation time step. This may need to be done in the partner tool environment.
  • In PartQuest Explore, set up the Simulation Settings icon Simulation Settings and click on Run Simulation icon Run Simulation.
  • Wait until you see the message: "Searching for DC solution . . ." PartQuest Explore toolbar with the Run Simulation button highlighted and a Searching for DC solution status message
  • After the above message appears, initiate the simulation in the partner tool to begin the co-simulation.
  • When the co-simulation completes, you can view and probe for results in PartQuest Explore.