Simulation Basics
This documentation provides information that applies to the Analog/RF simulation in ADS. It also contains general information about the various simulation controllers that are available in ADS. Before using this documentation, you should see Advanced Design System Quick Start and Schematic Capture and Layout to review the whole product.
For details about running an Analog/RF simulation, you should also see Preparing a Circuit for Simulation in ADS and An ADS Simulation Example, then continue with other areas of the Simulation documentation that provide details about the simulation controllers.
Simulation Types
ADS provides simulators that enable you to simulate circuits and RF systems designed for specific objectives. The following table provides brief descriptions of the available simulation controllers. See the documentation for the Analog/RF simulation controllers for complete information about each one.
Simulator |
Description |
---|---|
DC |
Fundamental to all simulations, it performs a topology check and an analysis of the DC operating point of a circuit. See DC Simulation. |
AC |
Obtains small-signal transfer parameters, such as voltage gain, current gain, and linear noise voltage and currents. This simulator is useful in designing passive circuits and small-signal active circuits such as low-noise amplifiers (LNAs). See AC Simulation. |
S-parameter |
Provides linear S-parameters, linear noise parameters, transimpedance (Zij), and transadmittance (Yij), by linearizing the circuit about the DC operating point and performing a linear small-signal analysis that treats the circuit as a multiport. Each port is turned on sequentially. S-parameters can be converted to Y- and Z-parameters. This simulator can be used to achieve many of the same design goals as the AC simulator. See S-Parameter Simulation. |
Harmonic Balance |
Uses nonlinear harmonic-balance techniques to find the steady-state solution in the frequency domain. This simulator is useful in designing RF amplifiers, mixers, and oscillators. A Krylov subspace technique is available to reduce memory requirements and increase the speed of solution. This option is useful in designing large RF integrated circuits or RF/IF subsystems, where a large number of devices or large numbers of harmonics and intermodulation products are involved. See Harmonic Balance Simulation. |
Large-signal S-parameter (LSSP) |
A type of harmonic balance simulation, it performs large-signal S-parameter analyses to represent the nonlinear behavior of items such as power amplifiers. The accompanying P2D simulator available in ADS can be used to speed up subsequent analyses. See Large-Signal S-Parameter Simulation. |
P2D |
Generates a .p2d file that can be used to describe the behavior of a file-based component (such as the AmplifierP2D component, available in the System-Amps & Mixers library). See P2D Simulation. |
Gain Compression (XdB) |
Seeks a user-defined gain-compression point at which an actual power curve deviates from an idealized linear power curve. This is useful in power amplifier design. See Gain Compression Simulation. |
Circuit Envelope |
Uses a combination of frequency- and time-domain analysis techniques to yield a fast and complete analysis of complex signals such as digitally modulated RF signals. It represents input waveforms as RF carriers with modulation envelopes that are described in the time domain. This is useful in designing circuits and systems involving modulators/demodulators or complex modulated signals. See Circuit Envelope Simulation. |
Transient/Convolution |
Solves a nonlinear circuit in the time domain, and linear components can be simulated by means of convolution or a simplified equivalent-circuit model. See Transient and Convolution Simulation. |
RF System Budget Analysis |
Determines the linear and nonlinear characteristics of an RF system comprising a cascade of two-port linear or nonlinear components. The RF system may also include automatic gain control (AGC) loops to control gain and set power levels at specific points in the RF system. See RF System Budget Analysis. |
About Licensing
These simulators require licenses to run a simulation. Confirm that the simulator of interest is included with your purchase. ADS allows you to create a circuit, but if you do not have the correct license you will not be able to simulate it.
Common Simulation Usage
The following table describes some common design objectives and the simulators that would be appropriate to each. The simulators are listed in the order they would generally be applied.
Simulator used for Various Design Types
Design | Simulator | Comments |
---|---|---|
Filter | DC | |
AC | |
|
S-parameter | |
|
Mixer | DC | |
AC | Test for AC frequency conversion (also known as frequency-converting AC, or FCAC). Applies to system mixer models only. |
|
Harmonic Balance | Select nonlinear noise option to obtain noise figure. | |
Transient | |
|
Envelope | |
|
XDB | |
|
Power amplifier | DC | |
AC | |
|
S-parameter | |
|
Harmonic Balance | Test for load-pull characteristics. | |
LSSP | Also use the P2D simulator to generate a .p2d file. | |
XDB | Find gain-compression point. | |
Transient | |
|
Envelope | Find ACPR (adjacent-channel power ratio). | |
Transceiver | DC | |
AC | Test for AC frequency conversion (FCAC). | |
Harmonic Balance | |
|
Envelope | |
|
Budget | RF system must be a cascade of two-port components. | |
Oscillator | DC | |
S-parameter | |
|
Harmonic Balance | Check for power spectra and phase noise. | |
Envelope | Check for startup switching. | |
Phase-locked loop | Envelope | Check for transient responses. |
Working with the Examples Directory
ADS includes example projects containing designs that you can open and run.
Most of the designs discussed in this documentation are available in the location where you installed ADS, typically $HPEESOF_DIR/examples directory. For detailed information about locating and opening ADS example projects, see Schematic Capture and Layout. For documentation on ADS examples organized by application, see the Examples Documentation.
Briefly, here is how to get started using examples. ADS examples include projects and templates. On UNIX, these projects are read-only directories. To work with an example project, you must first make a copy in a directory for which you have write permission. Windows users should also copy these examples to preserve the integrity of the examples. For convenience in keeping track of designs, you may want to create directory names that mirror those in the examples directory.
Do not copy projects by using your operating system alone. Use these methods:
- Use the Copy Project command in the Main window to copy entire projects to your local directory.
- Copy projects as part of the software installation procedure.
This ensures that all files that are part of the project are copied.
The Simulation Process
The following list shows the basic simulation process, and the sections to see for more information:
- Create your schematic, then add current probes and wire/pin labels to identify the nodes from which you want to collect data.
- Select a simulation method, specifying parameters as necessary. The parameters you specify are based on the type of simulation you choose, the simulation options you require, and whether you're sweeping parameters, using expressions, and optimizing your design.
Selecting Simulation Controllers
Using the Simulator Options Component
Sweeping Parameters
Working with Expressions - Select a name for the dataset. This is where the simulation data will be saved.
Running a Simulation and Controlling Simulation Data. - Run the simulation.
Controlling a Simulation - View DC data by annotating the schematic with DC solutions and by viewing brief or detailed device operating point data.
Viewing DC Solutions - Display additional results using the Data Display.
Displaying Simulation Results - Optimize and tune a design.
Displaying Simulation Results
For complete information, see Tuning, Optimization, and Statistical Design.
These are the basic steps. It is possible to develop very detailed, complex simulations, but the process, for the most part, remains the same. The remainder of this section gives an overview of these steps. If you are new to using ADS, or you use it infrequently, two wizards are available to help you with several steps in the process:
- Using the Schematic Wizard follows the standard ADS use-model to help you with design creation and setting up a simulation.
- Using the Smart Simulation Wizard requires an existing design, and helps you sequence several simulations on the same device.
These wizards provide different features which may determine which one you prefer to use. The Schematic Wizard helps you develop a design and prepares it for a simulation as if you are working directly in the design environment. The Smart Simulation Wizard requires that you already have a design available and adds a Smart Simulation module for sequencing simulations to the design. The following table presents additional differences:
Comparison of Schematic Wizard to Smart Simulation Wizard
Schematic Wizard |
Smart Simulation Wizard |
---|---|
Sets up the initial schematic, but does not include simulation sequencing, allowing support for more application types. |
Has two major features:
|
Uses the standard ADS use-model for schematic development. |
Simulation sequencing is a non-standard use-model in ADS. |
Allows selection of application categories and applies to more application types. |
Simulation sequencing is limited to certain types of devices under test, and is not generally extendable to all application categories. |
Provides selection by application, and includes schematics by simulation-type. |
Does not include selection of simulation-type. |
Assists with some schematic corrections when simulation errors appear. |
Does not include error correction. |
Using the Schematic Wizard
The Schematic Wizard is provided to assist new ADS users or those who use it infrequently in performing the basic steps associated with schematic creation. Two options for schematic creation are available:
- Creating a design in the schematic that can be used as a component or subnetwork in another ADS design.
- Setting up a simulation based on a desired application or simulation type. The schematic can include an existing or sample test circuit, or simply provide a simulation schematic into which a test circuit can be placed.
The Schematic Wizard guides you through a sequence of steps gathering information from you about the type of schematic you want to create. Based on your inputs, the wizard automatically creates the specified schematic components. The wizard then provides you with instructions for completing the schematic manually, and for invoking the simulator when applicable. The simulations are set up to automatically display the results after successful simulations.
Accessing the Schematic Wizard
Access to the Schematic Wizard is controlled by the Schematic Wizard and Create Initial Schematic Window preference options. You can set these options in the Main Preference dialog (in the ADS Main window: Tools > Preferences ). The Schematic Wizard automatically appears when you perform certain actions related to the Schematic window.
Note
The Schematic Wizard is not available for designs manipulated through any Layout window.
Starting a New Project
When you start a new project within ADS, the Schematic Wizard will appear if you have selected both preferences Schematic Wizard and Create Initial Schematic Window.
Opening a New Schematic Window from Main
When you open a new Schematic window from the ADS Main window (using the toolbar button or Window > New Schematic ), the Schematic Wizard will appear if you have selected the Schematic Wizard preference. The wizard will not appear if the new Schematic window is requested from an existing Schematic or Layout window.
New Design
Requesting a new design from any ADS window opens the New Design dialog. This dialog also contains a Schematic Wizard option. (This option is not accessible when a new design is opened from any Layout window.) If the wizard option is selected, the Schematic Wizard will open after you click OK in the New Design dialog. The default setting for the Schematic Wizard option is controlled by its preference setting in the Main Preference dialog. If it is selected in the Main Preference dialog, it will be checked by default in the New Design dialog.
When setting the design content options, the Schematic Wizard and Schematic Design Templates cannot be used at the same time since they both place components on the Schematic. Therefore, selecting the Schematic Wizard option automatically clears any request for a Schematic Design Template. Similarly, requesting a Schematic Design Template automatically clears the Schematic Wizard option.
Simulation Error
If you run a simulation using a simulation schematic that is not properly configured, the simulator will terminate with errors. If the Schematic Wizard option is selected, the wizard will appear automatically after the simulation attempt has completed if the error occurs due to either of these reasons:
- A schematic with an S-parameter simulation controller does not contain any valid Term components.
- The simulation schematic does not contain a valid simulation controller.
You can use the Schematic Wizard to help you correct the schematic. See Correcting an S-Parameter Simulation Schematic and Correcting a Simulation Schematic with No Simulation Controller.
Schematic Wizard Start Page
When the Schematic Wizard appears, the Start page presents you with the following choices for proceeding with the schematic creation:
- Circuit Helps you create a subnetwork that can be used as a component in another ADS design. See Creating a Circuit.
- Simulation Helps you set up a simulation and place a circuit to be simulated. See Creating a Simulation Schematic.
- No help needed Dismisses the wizard.
When the Schematic Wizard is accessed by starting a new project or opening a new Schematic window, this page also offers the option Do not show this dialog again. Selecting this option will turn off the Schematic Wizard preference. You can select the Schematic Wizard preference option again in the Main Preferences dialog.
Schematic Wizard Navigation
The Schematic Wizard provides a navigation bar in the upper left corner of the window. This navigation bar indicates your progress through the steps required to complete the schematic setup, with a green box next to the current step. The steps on the navigation bar change depending on the options you select in the wizard.
Use the Back and Next buttons to move back and forth through the steps. The Back button is active for all steps except for Start. The Next button remains inactive for each step until you make a valid selection. When you have completed all required steps, use the Finish button to initiate schematic creation. The final step also provides an option to have instructions appear that assist you in the remainder of the schematic creation process. This option is persistent, so the setting for this option is the default the next time the wizard is used.
Creating a Circuit
Choosing the Circuit option from the Start page enables you to create a subnetwork that can be placed in another ADS design. Creating a subnetwork involves placing and naming ports, and selecting a symbol that will represent the circuit. The steps associated with this choice are:
- Circuit Setup
- Name Ports
- Finish
Circuit Setup Step
Network ports represent the connections of a circuit to the outside world. In this step of the design, you must specify how many ports you anticipate for your circuit. For example, if designing an amplifier from a transistor and passive components, the circuit might have an input, output, and bias connection. In this case, you should request three network ports.
A symbol is used to represent a subnetwork when it is placed within another ADS design. Each connection point on the symbol will correspond to one of the subnetwork ports. ADS can automatically generate a symbol for you based on the number of ports specified, which is achieved using the Use default symbol option. However, if you want your symbol to be representative of the underlying subnetwork, use the Allow symbol selection option. You will be provided with a large set of possible symbols from which to choose.
Correctly specifying the number of ports at this stage of the process will ease the work in creating the subnetwork. However, if you later determine that you must add or remove a port from the circuit, this can be done manually. It is important, however, that the change is made to both the circuit design and the symbol in order for the subnetwork to function properly.
Naming Ports Step
Ports created in ADS assume default names of P1, P2, etc. However, to make the port designations more physically meaningful, it is possible to specify alternate names for these ports. In this phase of the process, you may either use the default names provided or type in the desired names for each port.
If you chose the Use default symbol option in the Circuit Setup step, you are given the opportunity to determine whether or not you would like instructions to appear after the wizard has completed the setup. However, if you chose the Allow symbol selection option, this option regarding supplemental instructions is not available. In this case, the instructions will be shown to help you create the custom symbol and return to the schematic view following symbol selection.
Finish Circuit Creation Step
Successful completion of the wizard leads to a starting design in which ports are placed. If you chose to allow ADS to create a default symbol for you, you will see the requested number of ports placed on the schematic. You can view the symbol that has been created for you using the View > Create/Edit Schematic Symbol menu selection. If you go to the symbol view, you can return to the schematic using the View > Create/Edit Schematic menu selection. If you chose to have supplemental instructions provided, a dialog will also appear, similar to the following figure, containing these instructions. You can move this dialog out of the way to interact with the schematic.
If you chose to create a custom symbol in the Circuit Setup step, the Symbol Generation dialog box appears with a selection of different symbols. You can scroll through these selections and choose a suitable symbol. Be sure, however, that the number of pins on the symbol matches the number of ports specified on the wizard. Once you have selected a symbol, you can return to the schematic view either using the Schematic button on the Schematic Wizard's instruction dialog or the View > Create/Edit Schematic menu selection. If you chose a symbol with a number of pins that does not match the specified number of ports, you will be warned of this problem when you return to the schematic view provided that the dialog containing the instructions is currently visible.
In either case, once you are in the schematic view, you can create the appropriate design and connect it to the ports at the proper nodes in the circuit. Once the design has been saved and provided a suitable name, it will be ready for placement in other designs.
Creating a Simulation Schematic
Choosing the Simulation option from the Schematic Wizard Start page enables you to create a schematic that will simulate the behavior of a sample or user-created circuit. Creating this schematic involves choosing the desired application, specifying the test circuit, indicating the desired simulation type, and when appropriate, specifying how a circuit should be placed in the simulation schematic. The steps associated with creating a simulation schematic are:
- Application
- Circuit
- Simulation Setup
- Finish
Application Selection Step
The first step in creating a simulation schematic is choosing the application type. A variety of different choices representing common applications are provided. If you find your intended application on the list, you can select it. If you do not see your application, the Schematic Wizard may still be able to provide assistance in creating your schematic. Simply choose the Other Application (not listed) option at the bottom of the tree.
Hint
The wizard will not allow you to proceed until you have made a valid selection from the list. Top-level items in the tree structure that have sub-items beneath them are not valid selections.
Circuit Selection Step
Once you have determined the application type, you are ready to specify the circuit that will be simulated within the schematic. Three options are provided relative to the test circuit:
- Use sample design A sample circuit appropriate for the application is provided. This circuit will be copied into your project directory and connected into the simulation schematic.
- Use existing design Enables you to specify an existing ADS subnetwork (created, for example, using the Circuit option of the Schematic Wizard ) for placement within the simulation schematic. All designs in the current project will be shown. However, if you select a design that has not been properly created for use as a subnetwork, a warning will be issued and the design will be deselected. If you have a design within another project that you would like to use, you can copy it into the current project using the Copy Design from Another Project button.
- I will design my own circuit No test circuit will be placed in the simulation schematic. It is assumed that you will design your own circuit and manually connect it into the schematic created by the wizard.
The availability of each option is dependent on the selection made at prior steps.
Hint
The wizard will not allow you to proceed until you have made a valid selection.
Simulation Setup Step
You are now prepared to specify the type of simulation that you would like to complete. Based on prior selections, a list of possible simulations is offered. If you could not find your desired application earlier ( Other Application ), then at this stage you are presented with a tree structure of common simulations as well as system and user-defined simulation templates. The Description area below the list of simulations helps you to choose from the different simulation options.
Hint
The wizard will not allow you to proceed until you have made a valid selection.
Port Specification Step
If you chose Use existing design in the Circuit Selection step, and you have selected a valid design to use as a test circuit within your simulation schematic, the Port Specification step is added. You must use this step to indicate what each of the pins on the component refers to within the subnetwork. Based upon application/simulation selections, you will be given a list of possible designations for each port. Using the pull-down list, specify the appropriate port type. If you do not see the port type listed, you can choose either to ground the port or leave it unconnected (open circuit termination). The circuit will be placed on the schematic at this point so that you can visually inspect it to assist in the port designation.
Hint
Using the Back button at this step will remove the placed circuit from the schematic.
Schematic Completion Step
Successful completion of the wizard leads to a schematic that is nearly ready for simulation. If you requested that instructions be provided in the Simulation Setup step, a dialog will appear with information to assist you in performing the specific tasks associated with completing your design, simulating the circuit, and viewing the simulation results.
Important
Be sure to save the design if you want to preserve it.
If you chose to use a simulation template (obtained using the Other Application path), you must manually connect the test circuit (if specified) into the simulation schematic. Some templates may already have a test circuit included, in which case you can either use the existing test circuit or delete it and put the specified test circuit placed by the wizard in its place. Furthermore, if you chose to create your own circuit, you must do so before meaningful results can be generated by the simulation.
Each simulation schematic is associated with a display template. Once you have completed the schematic and successfully simulated a design, a display window will appear showing the results of the simulation for your circuit.
Correcting an S-Parameter Simulation Schematic
If a simulation schematic contains an S-Param simulation controller but does not include Term components, the Schematic Wizard will appear (if the preference is set). In this case, the Start page will indicate the error and give you the option of using the wizard to assist in correcting the schematic. The tasks associated with correcting an S-parameter simulation schematic are:
- Term Properties
- Finish
This page also offers the option Do not show this dialog again. Selecting this option will turn off the Schematic Wizard preference option. You can select the wizard option again in the ADS Main window: Tools > Preferences.
Term Properties Specification Step
The first step in correcting an S-parameter simulation schematic is specifying the reference impedance for the ports in the network. You can later change this value by editing the parameters of the Term components placed on the schematic.
Hint
The wizard will not allow you to specify an invalid reference impedance.
Term Placement Step
You are now prepared to place your S-parameter network ports ( Term components) on the schematic. Simply click the mouse at the locations in the circuit where you would like to place a Term. The Schematic Wizard will automatically place the component for you with a ground, and the ports will be numbered in the order in which they are placed. Placing the Term components directly on a node of a circuit will result in their automatic connection to the circuit. Placing them elsewhere will require that you manually wire the Term components to the desired nodes after you have finished placing them. If the placement is not exactly what you had intended, you can manually move and rewire the Term components after completion of the placement step.
Once you have finished placing all desired terms, click Finished.
Schematic Completion Step
If you requested that instructions be provided in the Term Properties step, a dialog will appear with information to assist you in performing the specific tasks associated with completing your design and simulating the circuit. If you did not place the Term components directly on a circuit node, you will need to manually wire them to the intended nodes in the circuit.
Important
Be sure to save the design if you want to preserve the changes.
Correcting a Simulation Schematic with No Simulation Controller
If a simulation schematic does not contain a simulation controller, the Schematic Wizard will appear (if the preference is set). In this case, the Start page will indicate the error and give you the option of using the wizard to assist in correcting the schematic. The tasks associated with correcting the simulation schematic are:
- Template Setup
- Finish
This page also offers the option Do not show this dialog again. Selecting this option will turn off the Schematic Wizard preference. You can select the wizard option again in the ADS Main window: Tools > Preferences.
Template Setup Step
You can now specify the type of simulation that you would like to complete. You are presented with a tree structure of common simulations as well as system and user-defined simulation templates for the design type (Analog/RF or DSP). The Description area below the list of simulations helps you to choose from the different simulation options. If you do not wish to place an entire simulation template, you can choose to place only a simulation controller by selecting the Place simulation controller only option.
Hint
The wizard will not allow you to proceed until you have made a valid selection from the list. Top-level items in the tree structure that have sub-items beneath them are not valid selections.
Schematic Completion Step
If you requested that instructions be provided in the Template Setup step, a dialog will appear with information to assist you in performing the specific tasks associated with completing your design and simulating the circuit. For most templates, this will include placing the requested simulation template in the desired location on your schematic. If, however, you requested a full S-parameter simulation template, the main elements of the template will be placed at the top of your schematic and you will be given the opportunity to place the Term components on the schematic. The instructions will not appear until you have clicked Finished on the dialog that appears.
Important
Be sure to save the design if you want to preserve the changes.
Using the Smart Simulation Wizard
The Smart Simulation Wizard is provided to assist new ADS users, as well as those who use it infrequently, in setting up simulations for typical microwave/RF circuits. The wizard will guide you through the process of:
- Selecting an application-specific design (or your own design)
- Selecting predefined simulation setups
- Specifying simulation settings (frequency, bias, etc.)
The wizard then configures the sources and simulation controls and begins the simulation(s). When multiple simulations-requiring different configurations-are requested, the wizard automatically reconfigures the subnetwork for the appropriate sources, terminations, and simulation controls. When the simulation is finished, simply click to display the results. Note that although basic simulation setups are provided with the various simulator licenses, additional simulation setups require specific DesignGuide licenses. These differences are identified in the wizard.
To invoke the Smart Simulation Wizard :
From the Schematic window in the project of interest, choose Simulate > Smart Simulation Wizard.
Step 1 prompts you to select one of several different application types.
Device Characterization |
BJT Characterization |
Amplifier |
Amplifier |
Mixer |
Single-Ended Mixer |
Linear Circuit |
Linear 2-port |
Step 2 prompts you to select one of the following design types:
- A sample design provided by the Smart Simulation Wizard
- An existing ADS subnetwork design
- A new subnetwork design
Step 3 varies based on the choice made in Step 2. You are prompted to select an existing design, enter a name for a new design, or select one of the following application-specific designs.
Device Characterization | |||
|
BJT Characterization | ||
|
NPN BJT | NPN BJT model, biased with IBB = 60 uA, VCE = 2.7V. | |
PNP BJT | PNP BJT model, biased with IBB = -60 uA, VCE = -2.7V. | ||
FET Characterization | |||
|
GaAs MESFET Statz Model | Statz FET model for device FLC301XP. | |
EEFET Model | EEFET3 FET model for device FLC081XP. | ||
GaAs MESFET Model | Basic MESFET model. | ||
HEMT Model | Basic HEMT model. | ||
JFET Model | Basic JFET model. | ||
MOSFET Characterization | |||
|
NMOSFET Model | Basic BSIM3 model for NMOSFET. Width = 1e-5, Length = 2.5e-7. | |
PMOSFET Model | Basic BSIM3 model for PMOSFET. Width = 1e-5, Length = 2.5e-7. | ||
Amplifier | |||
|
Amplifier | ||
|
MOSFET Power Amplifier | Power Amplifier with a single MOSFET, 14 dB gain between 750 - 800 MHz. | |
BJT Power Amplifier | Power amplifier with 8 BJTs, 12 dB gain at 2 GHz. | ||
Behavioral Model Amplifier | Ideal amplifier with Behavioral model. Gain, S-parameters and noise figure can be specified directly. | ||
Mixer | |||
|
Single-Ended Mixer | ||
|
MESFET Gilbert Cell Mixer | MESFET Gilbert Cell Mixer internally matched to 50 ohm at 900 MHz. | |
FET Mixer | Single-ended MOSFET Mixer. | ||
BJT Gilbert Cell Mixer | Single-ended BJT Gilbert Cell Mixer. | ||
Behavioral Model Mixer | Ideal Mixer Behavioral model. | ||
Differential Mixer | |||
|
MOSFET Gilbert Cell Mixer | Differential MOSFET Gilbert Cell Mixer with Bias1 = 3.3V, Bias2 = 0V. | |
FET Mixer | Differential FET Mixer with Bias1 = 0V, Bias2 = 0.5V. | ||
Linear Circuit | |||
|
Linear 2-port | ||
|
Simple Lowpass Filter | Simple LC lowpass filter with cut-off frequency at 10 MHz. | |
Microstrip Bandpass Filter | Simple bandpass filter composed of two concatenated microstrip subnetworks. Center frequency: 12 GHz. 10% bandwidth. | ||
S-Parameter Data File | Two-port subcircuit defined by an S-parameter file nec71000.dat . | ||
Linear FET | Linear FET model for small-signal modeling. | ||
Linear 4-port | |||
|
Linear FET Modeling | Matching a linear FET model to measured S-parameters. Measured data file nec71000.s2p . |
Step 4/Step 5 varies based on your previous choices. For an existing ADS design, you are prompted to identify the port type for each port in your design (input, output, base, collector, etc.). For all design types, the wizard then describes how to view the network associated with the schematic symbol and how to access the simulation setup portion of the wizard.
When you click Finish, the top-level design appears, and you will see that it consists of two main parts: a schematic symbol representing the subnetwork to be simulated and a simulation setup symbol.
Note
If working with a sample design, the top-level and subnetwork designs, as well as the related data displays, are copied to the current project. If you select an existing design from a different project (via an Included project), that design is copied to the current project.
- Schematic symbol -A schematic symbol representing the subnetwork to be simulated, is visually connected to the simulation setup symbol. Push into the symbol to view, edit, or create the subnetwork.
When you push into most of the schematic symbols, you will notice that the subnetwork designs contain cautions against deleting or renumbering of ports. - Simulation setup symbol -The simulation setup symbol is similar to the one shown next. Double-click (or right-click and select the first choice from the pop-up menu) to specify the simulation setup details.
Each simulation is marked with one of two icons, as shown next.
You can highlight any selected simulation (from the list box on the right) and click Show Schematic to view the design containing the simulation setup.
From the Simulation Settings tab you can specify the desired settings for the simulation parameters such as frequency, power, bias, etc. When you have selected all the desired simulations and specified the desired settings, click Simulate to proceed. The progress window appears and is dynamically updated to indicate which simulations have completed and which remain. When all simulations are complete click Display Results to view the data displays. Note that the results for each simulation are displayed on separate pages, which can be accessed individually from the Page menu.
Hint
After simulating a given design once, you can display the results from the previous simulation via the pop-up menu. Position the pointer over the simulation setup symbol, click right, and select Display Data from Last Simulation.
Selecting Simulation Controllers
Simulation controllers are grouped in a number of simulation palettes accessed from the Component Palette List.
Each palette contains the specific simulation controller, plus:
- The Options component
- Components for defining sweep plans and parameter sweeps
- Node set components
- Measurements
- Frequently-used components, such as ports and sources
To use a controller, select it from the palette, position the pointer in the drawing areas of the Schematic window and click to place it.
Using the Simulator Options Component
This section discusses the details about the Options component in ADS. The Options component includes general simulation options such as convergence tolerances, warnings, and global noise temperature. An Options component can be used with any ADS simulation, and it is available from every simulation palette. The options cover the following areas:
Tab Name |
Description |
For details, see... |
---|---|---|
Misc |
Miscellaneous options for simulation and model temperatures, topology checking, and linear and nonlinear devices. |
|
Convergence |
Options related to voltage and current convergence tolerances. |
|
Output |
Sets warnings, and the saving of branch currents and node voltages. |
|
DC Solutions |
Saves DC solution to a file to re-use as an initial guess in further simulations. |
|
Threading |
Controls the number of physical threads used by the simulator, and enables use of the graphics processing unit (GPU) acceleration. |
|
Display |
Controls the visibility of simulation parameters on the Schematic. |
Setting Miscellaneous Simulation Options
Use the Misc options described in the following table to control simulation and model temperatures, topology checking, and set options for linear and nonlinear devices. In the table, names used in netlists and ADS schematics appear under Parameter Name.
Note
Simulator options are commonly used in nonlinear noise analyses. The IEEE standard temperature (T0) for noise figure measurement is 290 K (16.85 degrees Celsius). This can be set by editing Simulation temperature to that value (on Misc tab).
Miscellaneous Simulator Options
Setup Dialog Name | Parameter Name | Description | |
---|---|---|---|
Temperature | |||
|
Simulation temperature | Temp | Sets the ambient temperature at which a simulation will be run. The default is 25 degrees Celsius. The predefined variable temp is set to this value. |
Model temperature | Tnom | Sets the default value for the nominal temperature of models. The default is 25 degrees Celsius. The predefined variable tnom is set to this value. | |
Topology Checker |
|
Sets topology checker mode and warning message formatting. | |
|
Perform topology check and correction | TopologyCheck | Performs a topology check and corrects common topological problems before a simulation is run. Enabled by default. A summary of topological problems is reported in the Simulation/Synthesis Messages window. It is recommended that you perform topology checks for better simulation performance. † |
Format topology check warning messages | TopologyCheckMessages | Sets the mode for listing topology check messages to Summary or Verbose. By default a summary of the topological problems found is printed to the Simulation/Synthesis Messages window if TopologyCheck=yes. To see a list of all the nodes that have topological problems, set TopologyCheckMessages to Verbose. † | |
Linear Devices | |||
|
Use S-parameters when possible | ForceS_Params | Causes the simulator to attempt an S-parameter simulation on linear devices. |
Nonlinear Devices | |||
|
P-N parallel conductance | Gmin | Specifies the minimum conductance added in parallel to the p-n junctions in the nonlinear devices. The default is 1e-12 siemens. Some of the models have the Gmin parameter. If it is specified in the nonlinear model, it takes precedence over the one in the options. |
Explosion current | Imax | Specifies the p-n junction explosion current used in the nonlinear devices. When p-n junction current exceeding this value, the junction is linearized. The Imax value specified in the device model parameter takes precedence over the one in the options. If Imax is not specified in the model parameter, the Imax given in the options will be used. If Imax is not specified in the options, the default Imax value from each nonlinear model will be used. | |
Explosion current | Imelt | Specifies the p-n junction excessive explosion current used in the nonlinear devices. | |
Mosfet BSIM3, 4 diode limiting current | Ijth | Similar to Imax, except that it is called Ijth in BSIM3 and Ijthdfwd, Ijthdrev Ijthsfwd, Ijthsrev in BSIM4. |
† For more information about topology checking see DC Simulation.
Setting Convergence Options
The simulators work using an iterative method to solve the nonlinear equations. Given an initial guess x_0, it computes a new guess x_1. From that, it computes x_2. This continues until convergence is reached. When x_j is close to x_j-1, it is considered converged, and the solution stops changing. Convergence is defined as follows:
if (x_j− x_j−1 < reltol*x_j + abstol) then
converged
else
keeps iterating
If the difference between the two iterations is less than the relative tolerance times the solution plus an absolute tolerance, the convergence is effective.
Note
Advanced simulation parameters are accessible with this group. However, as a result of the improvements made to the DC simulation algorithm, it is extremely unlikely that the default values need to be modified. You are strongly encouraged to leave the advanced parameters set to their default values. If you encounter a circuit for which a DC analysis does not converge using the default values, or you find it necessary to change the value of any of these parameters, please contact Agilent EEsof Technical Support. See Setting Advanced DC Convergence Options for details about these parameters.
Caution
Simulator parameters saved in design files in previous releases are supported in later releases. The advanced simulation parameters saved prior to and opened in ADS 2005A are recognized and populated in the simulation setup dialog box. However, due to the improvement in robustness and speed of the default DC simulation algorithm the user-defined values are disabled, and factory-defined default values are used. Changing these default values is not recommended. However, if you find it necessary to restore the original user-defined values, you must manually enable Advanced Settings to restore them.
Use the Convergence options described in the following table to select voltage and current convergence criteria (tolerances) which apply to all analysis types. In the table, names used in netlists and ADS schematics appear under Parameter Name.
Simulator Convergence Options
Setup Dialog Name | Parameter Name | Description | ||
---|---|---|---|---|
Convergence Check - There are three tolerance presets to provide options for beginning users. For comparison of tolerance preset values, see the following table. | ||||
|
Relaxed |
|
Yields fast but less accurate simulations. It is intended for use in the initial stages of the circuit design process or for quick simulation estimates. | |
Intermediate |
|
Offers a middle ground between Relaxed and Strict. | ||
Strict |
|
Yields the most accurate results, but is the slowest. This is the default. | ||
Custom |
|
Use custom settings. | ||
Analysis Defaults |
|
Simulator runs in automated mode using the most appropriate values. | ||
Tolerances-these apply to all simulation types. For details about these parameters, see Current Relative Tolerance, Current Absolute Tolerance and Voltage Relative Tolerance, Voltage Absolute Tolerance. |
||||
|
Voltage relative tolerance | V_RelTol | A relative voltage convergence criterion. The default is 10-6. | |
Current relative tolerance | I_RelTol | A relative current convergence criterion. The default is 10-6. | ||
Voltage absolute tolerance | V_AbsTol | An absolute voltage convergence criterion. The default is 10-6 V. | ||
Current absolute tolerance | I_AbsTol | An absolute current convergence criterion. The default is 10-12A. | ||
Frequency relative tolerance | FreqRelTol | Relative frequency convergence criterion (used only in oscillator analysis). The default is 10-6. | ||
Frequency absolute tolerance | FreqAbsTol | Absolute frequency convergence criterion (used only in oscillator analysis). The default is 10-6 Hz. | ||
Advanced... |
|
Click Advanced to access advanced DC convergence settings described in Setting Advanced DC Convergence Options. |
Default Preset Tolerance Values
|
Relaxed |
Intermediate |
Strict (default) |
---|---|---|---|
V_RelTol |
10-3 |
3x10-5 |
10-6 |
I_RelTol |
10-3 |
3x10-5 |
10-6 |
V_AbsTol |
10-4 |
10-5 |
10-6 |
I_AbsTol |
10-8 |
10-10 |
10-12 |
Note
If simulator options are not set, transient analysis uses a default value of 10-3 for V_RelTol, and I_RelTol, while all other analysis types use the default value of 10-6. If simulator options are set, they apply to all analysis types.
Current Relative Tolerance, Current Absolute Tolerance
These tolerances are used to satisfy Kirchhoff's Current Law (KCL) in solving for the currents at each node in the circuit. The simulator attempts to find a solution that satisfies KCL, so that the sum of the currents entering (or leaving) all circuit nodes is zero. At each iteration, it uses Current relative tolerance and Current absolute tolerance as a tolerance for the node currents. For convergence to be achieved, the currents must satisfy the following at each circuit node:
where
= Current in each branch connected to the node
= Current relative tolerance
= Current absolute tolerance
The default value for Current relative tolerance is 10-6 (0.0001 percent), and the default value for Current absolute tolerance is 10-12 (1 pA). For many problems, these tolerances are much tighter than they need to be. (The default value of Current relative tolerance in Berkeley SPICE 3e1 is 10-3.) Relaxing these tolerances not only allows problem circuits to be solved, but it also allows them to be solved in less time.
Voltage Relative Tolerance, Voltage Absolute Tolerance
Once Kirchhoff's law is satisfied for all nodes, the simulator checks for unique solutions by calculating all node voltages. Sometimes, large changes in node voltages cause very little change in node currents. For instance, if two S-parameter blocks (that is, any 2-port, such as an amplifier or filter, for which there are measured S-parameters) are cascaded, and the reference node between the two components is not grounded, then the differential voltage between the two S-parameter blocks can have any value at all without changing the currents. The circuit then has multiple possible solutions. To find the correct solution for all node voltages, the simulator will use the Voltage relative tolerance and Voltage absolute tolerance parameters in a manner similar to the way it uses Current absolute tolerance and Current relative tolerance. For convergence, the following relationship must be satisfied for every node voltage in the circuit:
where
= Change in the node voltage solution from the previous iteration
= Node voltage found in this iteration of the solution
= Voltage relative tolerance
= Voltage absolute tolerance
The default value for both Voltage relative tolerance and Voltage absolute tolerance is 10-6. Like Current absolute tolerance and Current relative tolerance, these tolerances can be loosened to help with simulation convergence and speed.
Setting Advanced DC Convergence Options
The stand-alone DC simulator's sole role is to do a DC analysis. All other simulators such as AC, S-parameter, transient, harmonic balance, and circuit envelope do an initial DC analysis as their first step. The Advanced DC Convergence options are used to control the initial DC analysis done by these simulators. For information about setting up stand-alone DC simulations, see DC Simulation.
The robustness and speed of the default DC analysis algorithm has been significantly improved in ADS 2005A. All DC analyses with factory-default settings are expected to converge to the correct solution with near-optimal speed. This means that it is extremely unlikely that either of the following advanced simulation parameters must be altered:
DC_ConvMode
MaxDeltaV
Use the options in the following table to select Advanced DC convergence options. In the table, names used in netlists and ADS schematics appear under Parameter Name.
Advanced DC Convergence Options
Setup Dialog Name | Parameter Name | Description | ||
---|---|---|---|---|
Advanced DC Convergence Settings |
|
Enable this parameter to access these DC convergence settings. | ||
|
Max. Delta voltage | MaxDeltaV | Maximum change in node voltage per iteration. If no value is specified, the default value is four times the thermal voltage, or approximately 0.1 V. Applies to all analyses (except DC simulation) that require a DC solution. † | |
|
Mode | DC_ConvMode | Controls the DC convergence mode for all analyses (except DC simulation) that require a DC solution. † Select a mode from the following convergence algorithms: |
|
|
Auto sequence | 0 | Default convergence mode. Cycles through various algorithms and parameter values and has been optimized for both robustness and speed. Should converge for all circuits, and is therefore strongly recommended over all other convergence modes. | |
Newton-Raphson | 3 | Iterative process that terminates when the sum of the currents into each node equals zero at each node, and the node voltages converge. Used by other convergence modes. | ||
Forward source-level sweep | 4 | Sets all DC sources to zero and then gradually sweeps them to their full values. The source steps are determined via homotopy/continuation methods. | ||
Rshunt sweep | 5 | Inserts a small resistor from each node to ground and then sweeps this value to infinity. | ||
Reverse source-level sweep | 6 | Rarely used, but available for those few cases where it is necessary. Similar to Forward source-level sweep, except in the reverse direction. Use Reverse source-level sweep when Forward source-level sweep returns an "out of bounds" error. This error indicates that there is a negative resistance in the circuit when all the DC sources are zero. This is a rare situation but can occur with ideal models of oscillators, such as those described by the van der Pol equation. | ||
Hybrid solver | 7 | Combination of various algorithms. Starts with Forward source-level sweep with the source steps determined via heuristics. If this fails, Forward source-level sweep with the source steps determined via homotopy/ continuation methods is attempted. If this fails, Reverse source-level sweep with the source steps determined via homotopy/continuation methods is attempted. If this fails, Rshunt sweep is attempted. If this fails, Gmin relaxation, where a 1 Mohm resistor is inserted from each node to ground and then swept to infinity, is attempted. | ||
Pseudo transient | 8 | Variant of the source stepping algorithm. Performs a transient simulation on a pseudo circuit derived from the original circuit. The transition from the zero solution to the final solution is of no interest in this analysis, so the truncation error is ignored and the timestep is taken as large as possible. After this pseudo transient analysis, a Newton-Raphson analysis is performed with the pseudo transient solution as the initial guess. If this fails, a Newton-Raphson analysis with Gmins of 1e-12 siemens inserted from each node to ground is attempted. If this succeeds, the Gmins are removed and a Newton-Raphson analysis with the Gmin solution as the initial guess is attempted. |
† For more information about setting MaxDeltaV and DC_ConvMode for DC simulations, see DC Simulation.
Setting Output Options
Use the Output options described in the following table to select warnings options, as well as to determine whether branch currents and node voltages will be saved. In the table, names used in netlists and ADS schematics appear under Parameter Name.
Note
These Output options available in the Options component are not the same as the Output parameters used in other simulation setup dialog boxes, such as HB, AC, etc., which are described in the section Selectively Saving and Controlling Simulation Data.
Simulator Output Options
Setup Dialog Name | Parameter Name | Description | |
---|---|---|---|
Warnings - If threshold limits are specified, the simulator will display the warning(s), in the Simulation/Synthesis Messages window, the first time they are exceeded during a dc, harmonic balance or transient simulation. For appropriate components, you may open the component dialog box to edit the component, then specify threshold values. Most of the parameter names will begin with "w" for warning, and some (but not all) will also include "max" in the name. | |||
|
Issue warnings | GiveAllWarnings | Causes warning messages to be reported. |
Maximum number of warnings | MaxWarnings | Sets the number of warnings desired. | |
Ignore shorts | IgnoreShorts | Allows the simulation to proceed in the presence of shorts. | |
Output filters | |||
|
Save branch currents | SaveBranchCurrents | Creates a record of branch currents found by a simulation. |
Save internal node voltages | OutputInternalNodes | Creates a record of internal node voltages found by a simulation. |
Note
A resistor has threshold parameters for wPmax and wImax, for maximum power and current dissipation, respectively (all such settings begin with "w," which signifies a warning will be issued in the Simulation/Synthesis Messages window). Some components also check voltages. A BJT has eight threshold settings. All diodes, transistors, FETs, resistors, capacitors, current probes, and shorts contain threshold parameters.
Setting DC Solution Options
You can save the complete DC solution to a file and then re-use it as an initial guess in further simulations. For large circuits or those with time-consuming DC simulations, this can save a significant amount of CPU time by avoiding the needless repetition of the same or similar simulations each time. This applies to any simulation that either performs or relies on a DC solution, which includes all simulations with nonlinear elements.
For example, once a DC solution is obtained by running an AC simulation, future AC simulations at different frequencies or linear noise simulations do not have to re-simulate to get the same DC solution again. If the circuit is changed, either via a parameter change or even a topology change that will change the DC solution, this saved DC solution can still be used as an initial guess for the new DC solution. If the circuit change was not too extensive, then having a reasonable initial guess usually will still reduce the total re-simulation time. If the circuit change is so extensive that the simulation cannot converge using the supplied initial guess, then the simulator will proceed with its normal DC simulation algorithm. In this case, it would save CPU time to disable the Use Initial Guess.
If the circuit topology has changed between the time the solution file was created and when it is used as an initial guess, the simulator will still attempt to use as much of the data as possible. It will also output various messages, if desired, noting what has changed between the two versions. While this feature does not check for parameter changes, it can be a useful tool for comparing the topology of two circuits, or to identify what has changed since the solution was last saved. Items checked include the total number of equations (nodes and branches), the total number of instances and their names, and most connectivity changes.
For information on initial guess and final solution options available in the Harmonic Balance simulation controller, see Setting Up the Initial Guess.
Use the DC Solutions options in the following table to select options for saving DC solutions. In the table, names used in netlists and ADS schematics appear under Parameter Name.
Simulator DC Solutions Options
Setup Dialog Name | Parameter Name | Description | |
---|---|---|---|
Initial Guess | |||
|
Use initial guess | DC_ReadInitialGuess | Instructs the simulator to read the input file and use it as an initial guess for any DC solve. If a file name is not supplied (DC_InitialGuessFile), a file name is internally generated using the design name, followed by a .dcs suffix. If a file name is supplied, the suffix is neither appended nor required. |
File | DC_InitialGuessFile | File name for initial guess file. | |
Annotate | InitialGuessAnnotation | Enables you to select a detailed record (2), a summary (1), or none (0). | |
Final Solution | |||
|
Write final solution | DC_WriteFinalSolution | Instructs the simulator to write the final DC solution to the output file. If a file name is not supplied (DC_FinalSolutionFile), a file name is internally generated using the design name, followed by a .dcs suffix. If a file name is supplied, the suffix is neither appended nor required. If this box is checked, then the last DC solution is output to the specified file. If this is the same file as that used for the initial guess, this file is updated with the latest solution. If a swept analysis is being performed that changes the DC solution, you will either want to not write a final solution or use two different file names for the initial guess file and the final solution file. |
File | DC_FinalSolutionFile | File name for final solution file. |
Setting Threading Options
Use the Threading options to control the number of physical threads (processors or cores) used by the simulator, and to enable use of the graphics processor unit (GPU) acceleration. By default, the simulator runs in the multi-threaded mode using the maximum number of physical threads available, and the GPU is not used. You can disable threading or limit the number of physical threads, and enable GPU acceleration by setting the threading options.
Use the Threading options listed in the following table to set the number of threads, and enable the GPU acceleration. In the table, names used in netlists and ADS schematics appear under Parameter Name.
Simulator Threading Options
Setup Dialog Name |
Parameter Name |
Description |
---|---|---|
Threading |
|
|
Auto |
NumThreads=0 |
Simulator uses all available physical threads (default). |
Disable |
NumThreads=1 |
Simulator runs in the single-thread mode. |
Custom |
NumThreads=N |
User sets the number of physical threads that the simulator will use. When setting a custom value for NumThreads directly on the schematic, N≥1. If N is larger than the number of available CPUs, then the simulator uses the maximum number of available CPUs. |
GPU Acceleration |
|
|
GPU Acceleration |
GPU |
When disabled (GPU=0) the simulator does not use a GPU for acceleration (default). |
Known Limitations
- Threading
- DC, Transient, Convolution, and Harmonic Balance simulations are multi-threaded and achieve speed-up on multi-core (or multiple processor) computers. Nonlinear Noise simulation is partially threaded.
- DC and Transient Multi-threading will be disabled automatically for Ptolemy cosimulation. Harmonic Balance and Convolution will not be affected.
- If a circuit contains a combination of Transient and Harmonic Balance simulation controllers, the Transient threading will be disabled automatically. Harmonic Balance will be multi-threaded by default.
- Harmonic Balance multi-threading is beneficial for larger circuits.
- GPU Acceleration
- GPU acceleration only works in transient analysis for circuits containing BSIM4 transistors.
- GPU acceleration is supported only on 64-bit Linux platforms.
Using the Simulation Setup Dialog
This section discusses how to use the Simulation Setup dialog box to modify the following settings before running a simulation:
- Dataset name
- Data Display name and opening the Data Display when the simulation completes
- Simulation control mode: local, remote, or distributed
By default, the design name is used for the dataset and data display names, and the simulation is performed locally. If you want to change any of these settings, modify them in the Simulation Setup dialog.
To open the Simulation Setup dialog:
- In the Schematic window, select Simulate > Simulation Setup.
- When the Simulation Setup dialog appears, set the Dataset and Data Display options on the Setup tab, and choose the Simulation mode: Local, Remote, or Distributed.
- If you set Simulation mode to Remote or Distributed:
- Set the corresponding options on the Remote or Distributed tabs.
- Options set on the Setup tab are ignored for LSF or Sun Grid Engine remote simulations. For details, see #Setting the Dataset and Data Display Options.
- At any time while you make changes, click Apply, or if the simulation is ready to run, click Simulate.
For details about modifying the setup, see #Setting the Dataset and Data Display Options and #Setting Up the Simulation Mode.
Setting the Dataset and Data Display Options
When you run a simulation, the results are stored in a dataset. This dataset is then used by the Data Display for viewing results. You can select the name and location of the dataset you want to use for a simulation.
Notes
- If you set Simulation mode to Remote and set Job management on the Remote tab to LSF or Sun Grid Engine, the options set on the Setup tab are ignored:
- The dataset file name is not read from the Setup tab; instead, LSF or Sun Grid Engine job name will be used. For details, see #Setting Up Single Remote Simulations
- If Open Data Display when simulation completes is selected, the Data Display will not open automatically and the Data Display name is not read. You will need to open the Data Display manually after a simulation. See Data Display Basics.
- For Local simulations or ADS remote simulations, if you accept the default dataset name and perform multiple simulations, the dataset will be overwritten each time. To collect separate datasets for each simulation, specify a unique name (for the dataset you are about to create) prior to each simulation.
To specify the names for a dataset and data display prior to simulating:
- In the Schematic window, choose Simulate > Simulation Setup.
- In the Dataset field, enter the name of the dataset where you want simulation data to be saved. Click Browse to view existing dataset names in the current project.
- Supply a name in the Data Display field, or accept the default name.
Setup Dialog Name |
Description |
---|---|
Dataset |
This is the name for the dataset where simulation results are saved. The default value is the design name. Datasets are stored in a project's /data subdirectory. Click Browse to select from existing dataset file names. When using an existing name, new results overwrite existing contents. This means that you should provide unique names for the datasets that will be generated from different designs in the same project directory. |
Data Display |
This is the file name for the data display. The default value is the current design name. Click Browse to select from existing data display files. The name you specify here will be the title of the Data Display window that is opened. It will also be the default file name if you choose Save As from the Data Display window. |
Open Data Display when simulation completes |
When this option is selected, the data display window opens when the simulation finishes. For details see Automatically Displaying Simulation Data |
Setting Up the Simulation Mode
The simulation mode sets whether a simulation is controlled locally or remotely.
To set the simulation mode:
- Open the Simulation Setup dialog. In a Schematic window, select Simulate > Simulation Setup.
- When the Simulation Setup dialog appears, select the Simulation mode depending on the simulation requirements: Local, Remote, or Distributed.
- To simulate on the local machine, set Simulation mode to Local.
- To simulate on a remote machine, set Simulation mode to Remote, and set the Job management option on the Remote tab. Job management can be ADS, LSF (Load Sharing Facility), or Sun Grid Engine. For details, see #Setting Up Single Remote Simulations.
- To break up your sweep and simulate individual parts simultaneously on remote machines, set Simulation mode to Distributed. Distributed simulation requires the LSF utility. On the Distributed tab, set the Sweep Variable values. For details, see #Setting Up Distributed Remote Simulations.
- To break up a signal processing BER simulation over multiple hosts, set Simulation mode to Distributed. On the Distributed tab, select Parallel BER and enter a value for Number of Partitions to set the number of hosts to be used. For details, see #Setting Up Distributed Remote Simulations.
Notes
- Beginning with ADS 2008 Update 2, when using LSF and Sun Grid Engine on a cluster environment, you have the option to run simulations in batch mode or queue additional simulations. This enables you to perform other ADS tasks after sending a simulation job to your job management system. You no longer need to wait for the job to finish before you begin working on another design or add more jobs to the queue.
- The LSF utility is required for remote and distributed simulations using LSF. The Sun Grid Engine utility is required for remote simulations using the Sun Grid Engine. Please contact your system administrator for your system configuration.
- For more information about controlling remote simulation using ADS, see Using Remote Simulation on a UNIX or Linux Client or Using Remote Simulation on a Windows Client.
- Taking advantage of the LSF utility requires the installation of the software and configuration of the necessary files/machines. For details on setting up your remote and local machines to use LSF, see Using Remote Simulation on a UNIX or Linux Client or Using Remote Simulation on a Windows Client.
Additional Configuration for Sun Grid Engine
Complete the following configuration to use Sun Grid Engine with ADS:
- Add the following line to
$HOME/hpeesof/config/hpeesofsess.cfg
:AUTOMOUNT_MAPPINGS_PATH = .:$HOME/hpeesof/sess:$HPEESOF_DIR/sess:$HPEESOF_DIR/custom/sess
- Create the file
$HOME/hpeesof/sess/automount_mappings.cfg
, and put automount mapping information in the file. For example,
if/a/new/...
is an automatically-created path for/gfs/...
,
add the following information:/a/new|/gfs
Setting Up Single Remote Simulations
Options on the Remote tab are enabled only when the simulation mode is set to Remote. The following tables describe the options:
Job management
Setup Dialog Name |
Description |
---|---|
ADS |
When selected, the remote simulation is managed by ADS. Also enter a name for Hostname. For ADS remote simulation requirements, see Using Remote Simulation on a UNIX or Linux Client or Using Remote Simulation on a Windows Client. |
LSF |
When selected, the LSF (Load Sharing Facility) manages the job. If LSF - N/A appears in the list, LSF service is not available.
|
Sun Grid Engine |
When selected, the Sun Grid Engine manages the job. If Sun Grid Engine - N/A appears in the menu, Sun Grid Engine service is not available.
|
Hostname
Setup Dialog Name |
Description |
---|---|
Hostname |
This is the hostname of the computer on which the remote simulation runs. It is enabled only when you select ADS for job management. |
Specifying the Remote Job Setup
When LSF or Sun Grid Engine is selected for Job management, the Remote Job Setup dialog appears when you run the simulation (by clicking Simulate). Before the simulation starts, you must provide additional job setup information for LSF or Sun Grid Engine, depending on your selection. See the following tables.
Useful Information
For LSF or Sun Grid Engine remote simulations, the simulation result is written to <CUR_PRJ>/data/jobName.ds and the simulation log is saved as <CUR_PRJ>/remoteJobs/jobName/simulation.log.
Remote Job Setup Dialog for LSF Job Management
Setup Dialog Name |
Description |
---|---|
Job name |
This is the remote job name. The name is used as the dataset name which is saved under the directory <CUR_PRJ>/data. The name is also used to create a directory under <CUR_PRJ>/remoteJobs and the new directory will contain the simulation netlist and log files. If the job name conflicts with an existing job name, a warning message appears asking whether you want to overwrite simulation results from a previous simulation. To check the status of the job, use the LSF command bjos from the command line. |
LSF queue |
The pulldown menu lists all of the LSF queues available to you. If it is unspecified, the default queue is used. Please contact your system administrator if you are not sure which queue to use. |
Details |
This includes information about the selected queue from the LSF queue pulldown menu. |
Refresh |
Querying the LSF system can be slow. ADS saves LSF queue information which might be out of date. Use Refresh to have ADS update the LSF queue information. |
LSF email address |
If you would like e-mail notification when the simulation starts and when simulation is finished, enable this option and provide LSF with an email address. If the LSF cluster you are using does not allow an e-mail process as your local computer, you should give a fully qualified address. It is recommended to enable email notification. |
LSF requirement |
You can set requirements that constrain a set of hosts that can be used for an LSF simulation. The requirement string must be formatted according to LSF rules. |
Retry if host fails |
LSF will attempt to rerun the simulation automatically if the host on which it is running fails. |
Remote Job Setup Dialog for Sun Grid Engine Job Management
Setup Dialog Name |
Description |
---|---|
Job name |
This is the remote job name. The name is used as the dataset name which is saved under the directory <CUR_PRJ>/data. The name is also used to create a directory under <CUR_PRJ>/remoteJobs and the new directory will contain the simulation netlist and log files. If the job name conflicts with an existing job name, a warning message appears asking whether you want to overwrite simulation results from a previous simulation. To check the status of the job, use the Sun Grid Engine command qstat from the command line. |
Sun Grid Engine queue |
The pulldown menu lists all of the Sun Grid Engine queues available to you. If it is unspecified, the default queue is used. Please contact your system administrator if you are not sure which queue to use. |
Details |
This includes information about the selected queue from Sun Grid Engine queue pulldown menu. |
Refresh |
Querying the Sun Grid Engine system can be slow. ADS saves Sun Grid Engine queue information which might be out of date. Use Refresh to have ADS update the Sun Grid Engine queue information. |
Sun Grid Engine email address |
If you would like e-mail notification when the simulation starts and when the simulation is finished, enable this option and provide Sun Grid Engine with an email address. If the Sun Grid Engine cluster you are using does not allow e-mail process as your local computer, you should give a fully qualified address. It is recommended to enable email notification. |
Sun Grid Engine requirement |
You can set requirements that constrain a set of hosts that can be used for a Sun Grid Engine simulation. The requirement string must be formatted according to Sun Grid Engine rules. |
Retry if host fails |
Sun Grid Engine will attempt to rerun the simulation automatically if the host on which it is running fails. |
Setting Up Distributed Remote Simulations
Distributed remote simulation is designed for:
- A simulation with a parameter sweep where the simulation for each sweep point takes a long time to run.
- To break up a signal processing BER simulation over multiple hosts.
ADS uses LSF to locate available machines from an LSF cluster. For a distributed sweep, LSF distributes the sweep points to those machines. Simulations are run in parallel on the individual sweep points on each machine. ADS merges all simulation results into the final, single dataset on the local machine. From a user's perspective, this is similar to running a single remote simulation.
Note
LSF is required to run a distributed remote simulation.
The Distributed tab is enabled only when the Simulation mode is set to Distributed and LSF service is available. When enabled, set up the sweep plan or the parallel BER simulation. See Using Remote Simulation on a UNIX or Linux Client for the system requirements to run distributed remote simulations.
Sweep Variable and Setup
Setup Dialog Name |
Description |
---|---|
Sweep Variable |
Select the variable name to be swept. After selecting the Sweep Variable, enter values for Start, Stop, and Step. |
Start |
The start value of the sweep variable. |
Stop |
The stop value of the sweep variable. |
Step |
The step value of the sweep variable. |
Parallel BER
Setup Dialog Name |
Description |
---|---|
Parallel BER |
Select this option to enable parallel BER simulation when you need to break up a signal processing BER simulation over multiple hosts. This feature is available only when a BER simulation is using any of these Sink components: berMC, berMC4, or BER_FER. |
Number of Partitions |
This is the number of hosts used to run simulations in parallel. |
Sweeping Parameters
Most simulations are performed over a range of values instead of just a single point. You can sweep over time or frequency (depending upon the type of simulation) or you can elect to sweep over another parameter. For ADS, you can sweep one or more parameters using the following methods:
- You can set the sweep range of time, frequency, or a single other parameter (under the Sweep tab for a given simulator controller).
- You can use the ParamSweep and SweepPlan components for sweeping more than one parameter, or sweeping over more than one range of values. These components appear on all simulation palettes. For details about using on using these components, see Parameter Sweeps and Sweep Plans.
If using the Load Sharing Facility (LSF) utility, you can break up a sweep and run the simulation on multiple machines, in parallel, by selecting Parallel Hosts as the Simulation Mode ( Simulate > Simulation Setup ). Individual sweep points are run on each machine and the results are combined into a single dataset on the local machine. For details on setting up remote and local machines for remote processing, see "Using Remote Simulation" in the installation documentation for your platform:
Optimizing a Design
You can set up nominal optimizations or statistical yields as part of a simulation. These features require a separate license. For complete information, see the Tuning, Optimization, and Statistical Design documentation.
Working with Expressions
You can add variables, functions, and conditional statements to a schematic, making your designs more flexible and versatile.
You can use these items:
- In component parameter definitions. From the component parameter editing dialog box, select the parameter and, if available, click Equation Editor. You can write an expression that defines this parameter.
- In variables. Variables can be added to a schematic using the VAR (VarEqn) component, which can be found in the Data Items palette. Once a variable is defined, it can be used in expressions within the design.
You can also add measurements to a schematic. Measurements are predefined functions that process data so that it can be presented in the Data Display. There are numerous predefined measurements under the simulation palettes, but you can also create your own using the MeasEqn component.
For more information on how to use measurements, see Measurement Expressions.
Expressions Examples
Many of the projects in the Examples directory use variables and measurements. One example that includes many variable definitions plus conditional statements is NADC_PA_Test.dsn in RF_Board/NADC_PA_prj.
Running a Simulation and Controlling Simulation Data
To run a simulation, choose one of the following in the Schematic window:
- From the menu bar, choose Simulate > Simulate.
- From the tool bar, click the Simulate icon.
- After using the Simulation Setup dialog to set up a simulation, click Simulate. (For details about the simulation setup options, see #Using the Simulation Setup Dialog.)
Automatically Displaying Simulation Data
When setting up your simulation ( Simulate > Simulation Setup, in the Schematic window), you can enable an automatic display of your results.
Select the Open Data Display when simulation completes option to force a Data Display window to open automatically when the simulation is complete. The data display that appears in that window depends on the simulation setup and the status of display templates:
- If you specify the name of an existing display to open, that display is opened.
- If you specify a new name, then a blank Data Display window opens.
- If one or more data display templates are associated with the current design, then the Data Display window opens and inserts each template on its own page. A data display template can be associated with a design in one of two ways:
- By default, if your design includes a supplied schematic template, and a data display template is associated with that schematic template.
- Explicitly, if you create your own data display template ( File > Save As Template in the Data Display window) and associate that template with your design via the DisplayTemplate component. (See the next section, Using a DisplayTemplate Component)
- If none of the above criteria are met, but you select the option, then a blank Data Display window opens.
Using a DisplayTemplate Component
The DisplayTemplate component (available from most simulation libraries) enables you to associate one or more data display templates with a given design. (If you include one of the supplied schematic templates in your design, it most likely has a data display template associated with it.)
The starting point of this procedure assumes you have already created a data display file for use as a template, by setting up the Data Display window as desired and choosing File > Save As Template.
To associate a data display template with the current design:
- Place a DisplayTemplate component in the Schematic window.
- Select String and Reference as the Parameter Entry Mode.
- Enter the name of the template (the file name you supplied in the Data Display window) and click Add.
Hint
You can specify multiple templates for the same data display and subsequently access them from the Page menu).
- When you are through specifying display templates for the current design, click OK.
Manually Displaying Simulation Data
If you do not want the Data Display window to open automatically, disable the option Open Data Display when simulation completes in the Simulation Setup dialog box.
To open a new window for displaying and manipulating data:
Choose Window > New Data Display from the Main, Schematic, or Layout windows.
To save a graph for later viewing/manipulating:
Choose File > Save.
To save a graph for use as a template:
Choose File > Save As Template.
To open a previously saved data display:
- Choose Window > Open Data Display from the Main, Schematic, or Layout windows. In the dialog box that appears, the path is automatically set to the current project directory and the filter displays all saved graphs (*.dds).
- Double-click the graph you want to open or select it and click OK.
For details on working with simulation data, see Data Display.
Selectively Saving and Controlling Simulation Data
The Output tab in all A/RF analysis components can be used to create an Output Plan, which controls the data that will be saved to the dataset. You can control output generated from named nodes, buses, measurement and VAR equations, and branch and pin currents. By default, all named nodes up to two levels below the top level are saved. The data from all measurement equations and components with the parameter SaveCurrent set to yes are also saved. You can also control the saving of data using the hierarchy level for nodes, measurement equations, and branch/pin currents, by selecting specific names for which to save data, or a combination. Such control enables you to control the size of the dataset. Saving by hierarchy usually saves lots of data generating a large dataset. Saving by name enables you to limit the dataset size.
Note
The Output tab described in the section is used in the simulation dialog boxes, such as DC, HB, AC, etc. It is not the same as the Output tab used in the Options component, which is described in the section Setting Output Options.
To modify the default behavior of sending data to the dataset:
- Edit the analysis controller item, and select the Output tab.
- To output named nodes, measurement equations, branch currents, and pin currents in the top-level design only, select the Node Voltages, Measurement Equations, Branch Currents, and/or Pin Currents options and use 0 as the Maximum Depth.
- To output named nodes, measurement equations, branch currents, and pin currents in the top-level design and one or more levels in the hierarchy, select the Node Voltages, Measurement Equations, Branch Currents, and/or Pin Currents options and set the desired Maximum Depth.
- To output named nodes, measurement equations, and pin currents selectively, irrespective of the hierarchy, disable the Node Voltages, Measurement Equations, and/or Pin Currents options in the Save by hierarchy section and use the Save by name section to select only those nodes/equations you want to output. (Click Add/Remove to open the Edit Output Plan dialog box.)
Note
Branch currents cannot be saved by name.
- If using the Save by hierarchy method, select the desired level of hierarchy and click OK.
- If using the Save by name method (which can be used alone or in conjunction with a specified level of hierarchy), click Add/Remove.
The Edit Output Plan dialog box appears with a list of available nodes, equations, and pins in the Available Outputs list box as shown in the following figure.
Note
Buses appear in the list box as nodes. They do not contain any indices (as they do in the design environment). Individual components of a bus cannot be output.
- Select each individual node, equation, or pin from the Available Outputs list, then click Add to move each to the Current Selection list box. The following figure shows names that have been added.
Tip
To select and add multiple names, press Ctrl while selecting names.
- Each selected node is sent to the dataset and saved for each iteration (time, frequency) for the next simulation. Selected nodes will be stored in the parameter NodeName[i] on the schematic.
- Each selected equation is sent to the dataset and saved at the end of the next simulation. Selected equations will be stored in the parameter SavedEquationName[i] on the schematic.
- Each selected pin is sent to the dataset and saved at the end of the next simulation. Selected pin currents will be stored in the parameter DeviceCurrentName[i] on the schematic.
- Individual equations appearing in the Current Selection list box can be saved for each iteration (time, frequency) of the next simulation. Select an equation in the Current Selection list box and check the option Evaluate equation at each analysis point. The following figure shows this option enabled for VDC.
The option must be checked separately for each equation appearing in the list. The checked equation will be stored in the parameters SavedEquationName[i] and AttachedEquationName[i] on the schematic.
Notes
- A non-selected equation may still be output depending on the Maximum Depth setting, but all data will be processed at the end of all simulation iterations, requiring more memory.
- If an equation is selected for any one simulation, it will not be output for any other simulation for which it is not explicitly selected.
- Click OK to accept all changes. The selected nodes, equations, and pins are then displayed in the Save by name section on the Output tab.
- Make any other desired changes for this analysis and click OK.
Output Parameters for Simulation Controllers
This section describes additional details about the options available on the Output tab including interactions.
Use the options available on each simulator controller's Output tab described in the following table to selectively save and control simulation data. In the table, names used in netlists and schematics appear under Parameter Name.
Simulation Controller Output Parameters
Setup Dialog Name |
Parameter Name |
Description |
---|---|---|
Save by hierarchy |
|
Enables you to save the data in the active hierarchical designs. To output named nodes, measurement equations, branch currents, and pin currents in the top-level design only, select the Node Voltages, Measurement Equations, Branch Currents, and/or Pin Currents options and use 0 as the Maximum Depth. |
|
UseNodeNestLevel |
Select this option to save data for named nodes. Enter value for Maximum Depth. |
|
UseEquationNestLevel |
Select this option to save data for measurement and VAR equations. Enter value for Maximum Depth. |
|
UseCurrentNestLevel |
Select this option to save data for branch currents. Enter value for Maximum Depth.
|
|
UseDeviceCurrentNestLevel |
Select this option to save data for pin currents. Enter value for Maximum Depth. This option enables you save data for selected device types All, Linear, Nonlinear. If this option is disabled (the default setting), or if it is enabled and the Maximum Depth value is less than zero, no pin currents are output except those selected in Save by name. |
Save by name |
|
Identifies the names of individual nodes, equations, and pins that you want to save to a dataset. To output named nodes, measurement equations, and pin currents selectively, irrespective of the hierarchy, disable the selected options in Save by hierarchy and select individual names. You can use either, or both, Save by hierarchy and Save by name to control output to the dataset. To revise the list of names, click Add/Remove to open the Edit Output Plan dialog. Branch currents cannot be saved by name. |
Add/Remove |
Nodes
Equations
Pin Currents
|
Click Add/Remove to open the Edit Output Plan dialog box. The Available Outputs list corresponds to the node voltages, measurement equations, and pin currents included in the active design. You can shorten the list of names by deselecting Nodes, Equations, or Pin Currents. |
Displaying Simulation Parameters on the Schematic
You can reduce screen clutter by displaying on the schematic only the parameters you are interested in. Whether a parameter is displayed or not does not affect its functionality. However, some parameters must be displayed to be used.
DC Simulation Display Options
Display |
---|
Display parameter on schematic-Enables you to set the visibility of simulation parameters on the schematic.
|
Controlling a Simulation
You can select how to start and end a simulation:
- To start a simulation, choose Simulate from the Simulate menu. You can also start one by clicking the Simulate button on the tool bar or by pressing F7.
- To end a simulation before it is finished, choose Stop and Release Simulator from the Simulate menu. This will release your simulation license. To end the simulation but keep the license, choose Simulation/Synthesis > Stop Simulation from the Simulation Message window.
You can add more than one simulation component to a schematic, and specify which simulation to run (only one simulator can be active at a time):
To disable simulations that are not desired, choose Edit > Component > Deactivate/Activate and click the appropriate simulation component.
For more information about deactivating simulation controllers, as well deactivating/activating other components in your design, see
Activating, Deactivating, and Shorting Components.
If using the Load Sharing Facility (LSF) utility, you can break up a sweep and run the simulation on multiple machines, in parallel, by selecting Parallel Hosts as the Simulation Mode ( Simulate > Simulation Setup ). Individual sweep points are run on each machine and the results are combined into a single dataset on the local machine. You can also use this utility to select the fastest available machine.
For details on setting up remote and local machines for remote processing, see "Using Remote Simulation" in the installation documentation for your platform:
Simulating from a Layout
Simulating a layout cannot be done directly from the Layout window; it involves a few steps in the Schematic window. Essentially, you must treat the design as though it were a subnetwork and place it in a higher-level design. To do this, you must create a symbol for it (in the Schematic window).
To simulate a layout:
- From the Layout window containing the design you want to simulate (in this example, DesignB ), choose Window > Schematic.
- In the Schematic window for DesignB, create a symbol ( View > Create/Edit Schematic Symbol ). The number of pins must equal the number of ports on the design.
- Switch back to the Schematic view ( View > Create/Edit Schematic ) and choose File > Design Parameters and select the option labeled Simulate from Layout (SimLay).
- Save the design.
- From the Schematic window, create a new design (in this example, DesignA).
- In the Schematic window for DesignA, open the Component Library and select and place an instance of DesignB.
- Place the desired simulation control items, as well as any substrate or equation definitions, in DesignA and run the simulation from DesignA.
Viewing DC Solutions
After a simulation is finished, you can display DC node voltages and branch/pin currents on the schematic. Because a DC simulation is part of most other types of simulations as well, this feature is available for most simulations.
- To view DC solutions, from the Schematic window, choose Simulate > Annotate DC Solution. All node voltages and branch/pin currents of the last DC solution - which was obtained from either the last explicit or implicit DC analysis - are displayed on the schematic.
- To erase the solutions from the schematic, choose Simulate > Clear DC Annotation.
Viewing Device Operating Point Data
Any simulation that includes a DC analysis produces DC operating point information for most active and some passive devices in the circuit. This data includes currents, power, voltages, and linearized device parameters of the selected device. An explanation of the displayed parameters, if available, is under the model documentation in the Circuit Component documentation.
To view device operating point data:
- From the Schematic window, choose Simulate > Detailed Device Operating Point. Crosshairs appear. Click the component of interest. The details appear in a separate window.
- To view a condensed list of details, choose Simulate > Brief Device Operating Point instead.
- You can save device operating point data to a dataset for viewing in the Data Display. Under the Parameters tab of most simulators, set the Device operating point level as desired.
Displaying Simulation Results
Most of the simulation results are viewed in the Data Display. You can set the Data Display so that it automatically opens when a simulation is finished:
- Choose Simulate > Simulation Setup.
- Select the option Open Data Display when simulation completes.
- Specify a data display file (.dds) and it will be opened in the Data Display window when the simulation is finished.
The simulation templates include DisplayTemplate components. If your design includes a simulation template and the automatic display option is enabled, then the Data Display window will open with the corresponding display template.
If neither a data display file (. dds) is specified nor a template used, a blank Data Display window is opened.
Subsequent simulations of the same schematic will not open a new window, but rather bring the existing one to the foreground.
For information on how to work with the items in a Data Display window, see Data Display.
There are also ways to view DC data directly from the schematic. You can view:
- DC node solutions
- DC operating point data
Tuning
ADS tuning capability enables you to change one or more design parameter values and quickly see the effect on the output without resimulating the entire design. Multiple traces generated from various tuning trials can be overlaid in the Data Display window. This can help you find the best results and the most sensitive components or parameters more easily.
Basic tuning consists of the following steps:
- Build the design you want to tune.
- Set up your simulation.
- Simulate your design and verify that your simulation operates as expected.
- Set up, display, and analyze your results in the Data Display window.
- Choose Simulate > Tuning or click the Tune Parameters icon (tuning fork) on the toolbar.
When the initial analysis is complete, the Tune Parameters dialog box appears. - Select each parameter you want to tune by clicking it on the schematic. The Tune Parameters dialog box is updated with a new slider for each parameter selected.
- Change the tunable parameter(s) by moving the slider(s), or clicking the up/down arrows.
- Update your schematic with the changes.
For complete details about tuning your design, see Tuning, Optimization, and Statistical Design.
Reusing Simulation Solutions
For some types of simulations, you can save a simulation solution, reusing it as an initial guess in a later simulation. This can save time by avoiding repeating the same, or a very similar simulation, on a design. Using a simulation solution as an initial guess can help the subsequent simulation to reach a final answer faster. If you have made minor changes to the design or simulation setup, reusing solutions can reduce CPU time.
You can save and reuse these types of simulation data:
- DC solutions-You can save the complete DC solution and reuse it for any type of simulation that either performs or relies on a DC solution. For example, once a DC solution is obtained by running an AC simulation, then future AC simulations at different frequencies or linear noise simulations do not have to resimulate to get the same DC solution again. This feature is available from the DC Solutions tab of the Options component. For details, see Using the Simulator Options Component.
- Harmonic Balance solutions-You can save a harmonic balance solution and use it as an initial guess for another harmonic balance simulation, large-signal S-parameter, gain compression, or Circuit Envelope simulation. With the saved harmonic balance solution, you can later perform a nonlinear noise simulation and use the saved solution as the initial guess, removing the time required to recompute the nonlinear harmonic balance simulation. Another use would be to use the initial harmonic balance solution, then sweep a parameter to see the changes. For details, see Reusing Simulation Solutions.
- Harmonic Balance guess from a Transient simulation-Transient simulations can be set to generate a harmonic balance solution that can then be used as an initial guess for a harmonic balance simulation. For example, in circuits such as dividers, harmonic balance usually cannot directly converge on a solution since multiple mathematical, but useless, solutions exist. By first running a transient simulation and generating a harmonic balance solution file that can then be used as an initial guess, the harmonic balance simulation can converge to the desired solution. This feature is available when setting up the Harmonic Balance or Transient controller. For details, see the following documentation:
Analog/RF Simulation Computations and Convergence Criteria
Analog/RF simulation computes the response of a circuit to a particular stimulus by formulating a system of circuit equations and then solving them numerically. Each simulation technology accomplishes this analysis as follows.
DC analysis
- Solves a system of nonlinear ordinary differential equations (ODEs).
- Solves for an equilibrium point.
- All time-derivatives are constant (zero).
- System of nonlinear algebraic equations.
Transient analysis
- Solves a system of nonlinear ordinary differential equations (ODEs).
- Time-derivatives replaced with a finite-difference approximation (integration method).
- Sequence of systems of nonlinear algebraic equations (one system at each timepoint).
Harmonic Balance (HB)
- Solves a system of nonlinear ordinary differential equations (ODEs).
- Steady-state method.
- Solution approximated by truncated Fourier series.
- System of nonlinear ODEs becomes a system of nonlinear algebraic equations in the frequency domain.
Solving Nonlinear Algebraic Equations
Nonlinear algebraic equations are solved using the Newton-Raphson algorithm (Newton's method) as follows.
- Convert the problem to a sequence of systems of linear equations.
- Quadratic convergence near the solution (error squared at each iteration).
Common Circuit Simulation Methods
Backward Euler
- First order method that assumes the solution waveform is linear over one time step
- One-step method (needs one previous time point solution only)
- Adapts faster to abrupt signal changes
- Stable on all stable differential equations and some unstable ones.
- Exhibits heavy numerical damping, increases loss
- Require smaller time step to maintain accuracy
Trapezoidal Rule
- Second-order method, assumes the solution waveform is quadratic over one time step
- One-step method
- May exhibit point-to-point ringing on circuits that have very small time constant comparing to time step (stiff circuit)
- Stable only on stable differential equations
- Exhibits no artificial numerical damping
Backward Difference Formulas (Gear's methods)
- Multiple order polynomial over one time step
- Only the first six orders are available in ADS
- First order method is identical to backward Euler
- Higher-order polynomials allow a larger time step without sacrificing accuracy, are efficient for smooth waveforms
- Higher order methods (order > 2) may exhibit stability problems on lightly damped circuits
- Second-order backward difference formula (Gear 2)
- Two-step method
- Stable on all stable differential equations and some unstable ones.
- Exhibit some numerical damping
Truncation Error
The error made by replacing the time derivatives with a discrete-time approximation. This error is difficult to estimate and depends on the type of circuits and the time steps.
Local Truncation Error (LTE)
The truncation error made on a single step
Global Truncation Error (GTE)
- Maximum accumulated truncation error
- The circuit with long time constant is sensitive to these errors
- Logic and bias circuits are not sensitive to these errors
Convergence Criteria
Newton's iteration is converged if the approximate solution first satisfies the Residue criteria at the end of each Newton iteration and the Update criteria once the residue criteria are satisfied.
Residue criterion
KCL satisfied to a given tolerance. This is enforced at each node and is important when impedance at a node is small.
Update criteria
Difference between the last two iterations must be small. This is important when impedance at a node is large.
Using Continuation Methods
Use continuation methods to provide a sequence of initial guesses that are sufficiently close to the solution to assure Newton's method convergence.
- Choose a natural or contrived continuation parameter which controls a modification of the circuit
- Step the continuation parameter from 0 to 1 (the original circuit configuration), using the solution from the previous step as the starting point.
As long as the solution changes continuously as a function of the continuation parameter and the steps are small enough, Newton's method will converge. Keep in mind though that the first two methods, Source and gmin stepping, will fail if the continuation path contains a limit point.
Source Stepping
Uses a fraction of the source voltages and currents applied to the circuit as the continuation parameter.
- Turn off all sources when the continuation parameter equals 0.
- Raise source levels to their final levels slowly, generating a sequence of circuit configurations.
- Use the solution from the previous configuration as an initial guess for the current configuration.
Gmin Stepping
Uses the continuation parameter to control the value of the gmin resistors
- Start with a large gmin for an easy to compute solution because nonlinear device behavior is muted by the presence of the small resistors.
- End with very small gmins for resistors that are so large that they no longer affect the circuit.
- Remove the gmins to compute the final solution.
Arc-Length Continuation
Works best for complicated continuation paths and limit points using a continuation parameter that is a function of the arc-length parameter
- Travel same distance at each step, as specified by the arc-length.
- Increase or decrease the continuation parameter along the path in each step.
Preventing Convergence Problems
Convergence problems usually arise as a result of errors in circuit connectivity or unreasonable (out of range) model or component values. Some of the steps you can take are as follows.
- Turn on the topology checker (default is on). In ADS, set the topology checker mode on the Options component's Misc tab.
- Turn on warnings.(default is no ). In ADS, set warnings on the Option component's Output tab.
- Act upon the messages in the Status window.
- Eliminate small floating resistors (or increase I_AbsTol). Any error in computed voltages for nodes with small resistors results in large error currents.
- Avoid very large and very small resistances connected to a node. Large resistances are lost during Jacobian construction due to numerical round-offs.
Clearing Highlights from Items Causing Simulation Errors
When an error occurs during simulation, a box is drawn around each item causing an error. To clear all highlights, choose the Clear Highlighting command from the View menu in the appropriate window.
Hint
The color of this identifying box is the Highlight color defined through Options > Preferences > Display.