Preparing a Circuit for Simulation in ADS
This topic describes a variety of items that can be added to an ADS schematic to prepare it for circuit simulation. You should be familiar with this process and with working in projects before continuing here.
The process for creating a schematicselecting and placing components, editing component parameters, and wiringis described in the Schematic Capture and Layout documentation and in the Advanced Design System Quick Start.
Refer to the following topics for details on using simulationspecific items:
 Using Current Probes describes how to specify the points in a circuit where you can measure and save current values.
 Naming Nodes describes how to specify the circuit nodes where you can measure and save voltages.
 Using NodeSet and NodeSetByName Components describes how to apply best guess voltage and resistance values at points in a circuit to set starting DC values.
 Highlighting Nodes describes how to highlight nodes to quickly locate a point in a circuit.
 Using Constants, Variables, and Functions shows how to use variables and equations to assign values to parameters.
 Applying Measurements shows how to use predefined measurements in a schematic, which are evaluated during a simulation and whose results are saved to view in the Data Display.
 Using Simulation Templates shows how to use predefined circuit and simulation setups to simplify creating your design.
 Using Simulation Instrument Components shows how to simplify the simulation process by connecting your design to components that represent instruments and run a simulation.
Using Current Probes
Current probes are added to a schematic to collect current data at that point in the circuit. You can place as many probes as you want in a schematic. Current probes are found on the Probe Components palette.
Current probes have parameters that you may want to edit, but it is not necessary. You may want to rename the probe to something meaningful, since the name is used to name the data collected with the probe.
Note
Current probes (I_Probe components) must be placed so that the arrow on the probe points in the direction of (positive) current flow. To flip a probe horizontally, choose Edit > Rotate/Mirror > Mirror About Y .
Naming Nodes
To collect voltage data at nodes of interest, you label the nodes on the schematic.
There are two types of nodes: global nodes and named nodes .
By placing a GlobalNode component on a sublevel or toplevel schematic of a design ( Insert > Global Node ), you can select and edit the name of a node that will maintain the same identity throughout the entire hierarchy of designs. This means the nodes with the same name as the global node name in other designs are all electrically connected. This facilitates the interconnection of boards, IC chips, and connectors.
A named node can be applied to any schematic, but it is specific to that schematic only.
To specify a global node:
 Choose Insert > Global Node and place the component on the schematic. Doubleclick to display the dialog box for entering a name.
 Type a name in the Enter global node name field. Click Add . On this design and lowerlevel designs, it will be considered the same node.
 To make an existing named node a global node, select it from Node Name List and click Add.
To name a node:
 Choose Insert > Wire/Pin Label .
 In the dialog box appears, type the desired name and click the node on the schematic that you want to associate with that name.
Note
In general, voltage and current data is in phasor representation, so the voltage values at named nodes are peak voltage.
 You can repeat this for other nodes, or click Done to dismiss the dialog box.
Note
By placing an exclamation mark (!) at the end of node name, it becomes a global node for compatibility with Cadence formats. This should be used only if Cadence compatibility is required.
Using NodeSet and NodeSetByName Components
The following sections provide details on the components NodeSet and NodeSetByName, which are available in all simulation palettes.
Using NodeSet or NodeSetByName to Facilitate a Simulation
By placing a NodeSet or NodeSetByName component at strategic places in a circuit, you can instruct the DC simulator to begin its analysis at a given bestguess voltage. It is also possible to enter values for connection resistance.
These node set components can be used in any analysis, but are especially useful for:
 Circuits that are bistable, such as flipflops or ring oscillators, to force it to a known high or low state rather than letting the DC solver find the metastable state halfway between high and low.
 Circuits that are isolated from DC by blocking capacitors.
NodeSet and NodeSetByName work in a twostage process. In the first stage, these elements attach the specified voltage source with a series resistor to the specified node(s) to force a value. A DC solution for the entire circuit is then calculated. In the second stage, the forcing source and resistor are removed and the DC solution is refined, using the previous DC solution as an initial guess.
If you choose to use a NodeSetByName component, you can specify a name to facilitate the retrieval of voltage data in the dataset.
Note that if you specify both a DC Initial Guess File and a nodeset component, the former takes precedence.
NodeSet Fields
Following are details on the fields in the dialog box for the NodeSet component.
Instance Name Displays and edits the name of the component.
Select Parameter Selects a voltage or resistance for editing. V (volts) is an estimated initial node voltage. R is connection resistance.
Add adds a voltage or resistance to the Select Parameter field.
Cut deletes a voltage or resistance from the Select Parameter field.
Paste copies a voltage or resistance that has been cut and places it in the Select Parameter field.
Parameter Entry Mode Select standard or filebased data.
Optimization/Statistics/DOE Setup Opens a dialog box providing for the entry of parameters related to optimization and statistics.
Display parameter on schematic Displays or hides a selected node on the schematic.
NodeSetByName Fields
Following are details on the fields in the dialog box for the NodeSetByName component.
Instance Name Displays and edits the name of the component.
Select Parameter Selects a node name for editing. This name is associated with an initial voltage V and a connection resistance R.
Add adds a node name from the Edit Node Name field to the Select Parameter field.
Cut deletes a node name from the Select Parameter field.
Paste copies a node name that has been cut and places it in the Select Parameter field.
Select a Node Name: Selects a node name for editing, or for adding to the Select Parameter field.
Node Name List: Type in a node name.
Volt The initial voltage guess associated with the node name. Use this field to edit the voltage.
Res The connection resistance associated with the node name. Use this field to edit the resistance.
Display parameter on schematic Displays or hides a selected node name on the schematic.
Highlighting Nodes
Highlighting nodes can help you identify specific points in a schematic or subnetwork. To do this, choose Simulate > Highlight Node . This opens a window that lists all nodes (such as named connections, wires, pins, and ports) in a circuit and in all of its subcircuits. Click a node in the list and it will be highlighted on the schematic.
Highlighting nodes can help in troubleshooting a simulation problem. If problems are encountered at a node during simulation, the error and node name will appear in the Simulation/Synthesis Messages window. By using the highlight node feature you can quickly zoom in on the problem area.
Clearing Highlights
There are two ways to clear all highlights:
 In the Highlight Node window, click Clear . This clears all highlights that have been set.
 In the Schematic window, choose View > Clear Highlighting.
Hint
The highlight color can be changed through Options > Preferences > Display > Highlight .
Using Constants, Variables, and Functions
Advanced Design System contains builtin global constants, variables, and functions that can be used in a schematic. You can use them:
 With the VarEqn component
 With components whose parameters can be defined using equations. (For a selected parameter, the Equation Editor button will appear in the component editing dialog box.)
These can simplify schematic design. For example, you can set a variable named Frequency to a specific value, then use the variable wherever the frequency needs to be specified in the schematic. If you want to change the frequency, you do so in one place.
For more information on how to use VarEqn, refer to the VarEqn component help.
Note
You can use the conditional statement if/then/else/endif in variable definitions and component equations. Be sure to include the endif .
Many of the projects in the Examples directory use variables. One example that includes many variable definitions plus conditional statements is NADC_PA.dsn_ in RF_Board/NADC_PA_prj .
Lists of constants, variables, and functions are next.
PreDefined Constants
The predefined builtin constants available for use in an equation are:
Constant 
Value 
Description 

e 
2.718 282 ... 
e 
ln10 
2.302 585 ... 
ln(10) 
c0 
2.997 924 58 e+08 m/s 
speed of light 
e0 
8.854 188 ... e12 F/m 
vacuum permittivity (1/(u0*c0*c0) 
u0 
1.256 637 ... e06 H/m 
vacuum permeability (4*pi*1e7) 
boltzmann 
1.380 658 e23 J/K 
Boltzmann's constant 
qelectron 
1.602 177 33 e19 C 
charge of an electron 
planck 
6.626 075 5 e34 J*s 
Planck's constant 
pi 
3.141 593 ... 
pi 
PreDefined Variables
The predefined, builtin variables for use in an equation are:
Variable 
Default Value 
Description 

time 
0 s 
analysis time 
timestep 
1 s 
analysis time step 
freq 
1 e+006 Hz 
analysis frequency for linear and multitone simulations such as Harmonic Balance and Circuit Envelope 
temp 
25 C 
analysis temperature; set by Options Temp 
tnom 
25 C 
default nominal temperature for models; set by Options Tnom 
_freq1 through _freq12 
1 e+0006 Hz 
fundamental frequencies defined for multitone simulations such as Harmonic Balance and Circuit Envelope 
PreDefined Functions
Function arguments have the following designations.
Complex 
Real 
Strings 

x, y 
r, r0, r1, rx, ry, lower_bound, upper_bound 
s, s1, s2 
In general, the functions return a complex number, unless it is a string operator as noted. A function that returns a real value effectively has a zero value imaginary term.
Function  Description 

cos(x)  cosine function, x is in radians 
cot(x)  cotangent function, x is in radians 
conj(x)  complexconjugate function 
cosh(x)  hyperbolic cosine function 
coth(x)  hyperbolic cotangent function 
exp(x)  exponential function 
imag(x)  imaginarypart function 
log(x)  log base 10 function 
ln(x)  natural log function 
mag(x)  magnitude function 
phase(x)  phase (in degrees) function 
phasedeg(x)  phase (in degrees) function 
phaserad(x)  phase (in radians) function 
real(x)  realpart function 
sin(x)  sine function, x is in radians 
sinh(x)  hyperbolic sine function 
sqrt(x)  square root function 
tan(x)  tangent function, x is in radians 
tanh(x)  hyperbolic tangent function 
abs(rx)  absolute value function 
arcsinh(rx)  arcsinh function 
arctan(rx)  arctan function, returns radians 
atan2(rx, ry)  arctangent function (two real arguments), returns radians 
complex(rx, ry)  realtocomplex conversion function 
db(rx)  decibel function, 20 log10(x) 
dbpolar(rx, ry)  (dB,angle)torectangular conversion function, rx=mag in dB, ry=angle, degrees 
dbmtow(rx)  convert dBm to watts 
deg(rx)  radiantodegree conversion function 
int(rx)  converttointeger function 
jn(r0, r1)  bessel function 
max(rx, ry)  maximum function 
min(rx, ry)  minimum function 
polar(rx, ry)  polartorectangular conversion function, rx=magnitude, ry=angle, degrees 
rad(rx)  degreetoradian conversion function 
sgn(rx)  signum function 
sinc(rx)  sin(x)/x function 
sprintf(...)  formatted print utility; returns a string 
example:
x = 2 y = 14 z = sprintf( "%i.%i", x, y) results in the string "2.14" sprintf follows standard C programming syntax 

strcat(...)  string concatenation utility; returns a string 
example:
s1 = "my cat" s2 = " is frisky" s3 = strcat( s1, s2) results in the string "my cat is frisky" 
The Effect of Expressions on Units
Due to the way that the simulator processes expressions, the following expression is considered valid by the ADS simulator: F = 1.0 M M. This value is interpreted by the simulator as: F = 1.0 * 1.0e6 * 1.0e6. This situation can occur when a variable is defined with units and the variable is then used as a component parameter that also has a units field. Although valid, such an expression usually does not specify the intended value.
The behavior of the Edit Component Parameters dialog is designed so that a parameter value, initially specified as a number followed by a scale factor, is changed to a nonnumeric value, and the scale factor setting is automatically set to None . This scale factor setting can be changed manually, if desired.
Applying Measurements
Measurements are predefined expressions that make it easy to make common calculations such as VSWR or signaltonoise ratio. Measurements are available from the simulation palettes and have two purposes:
 They can be used on the schematic, in conjunction with simulations, to process the results of a simulation.
 They can be used in Data Display equations to process the results of a simulation and display various relationships graphically.
To create your own measurement, use the MeasEqn component. For details about measurements, refer to Simulator Expressions and Measurement Expressions documentation.
To add a measurement to a schematic:
 Select a measurement from the simulation palette and place it on the schematic.
 You can modify the measurement to customize it or change the name. Click the Help button in the dialog box for details about the measurement.
 You can select the measurement for output for a specific analysis. This has the effect of restricting evaluation to that analysis only (if more exist), as well as saving the result after each analysis iteration (e.g. each time point, or frequency point), instead of after all iterations, thus using less memory for intermediary data.
To view the results after running the simulation:
 Open a Data Display window and select a plot and place it in the window.
 The name of the measurement will appear in the list of variables. Select it to add it to the plot and click OK.
Measurements can also be used in Data Display equations to perform additional processing after a simulation. For information on how to use measurements in Data Display equations, see Data Display.
Quantities Measurements Can Reference
Measurements can reference:
 Any simulation outputs (voltages, currents, Sparameters) from the current circuit level and levels below using full hierarchical names (refer to Simulation Output Names).
 Other measurements and variable equations. Measurement equations and variable equations follow the same nested scoping rules: measurement equations can reference other measurement and variable equations at the current or higher levels. Note that measurement and variable equations cannot share the same name (see Naming Conventions).
 Existing data in datasets produced by previous simulations or imported via the Data File Tool. The full circuit path of the saved simulation output is always required. Using the same syntax used for data displays to reference an existing dataset entry, preface the measurement name with the dataset name.
Example
MeasEqn1 = Vout 
accesses node Vout in the current circuit 

MeasEqn2 = saved_dataset.DC1.DC.Vout 
accesses node Vout , generated by analysis DC1 in the dataset saved_dataset.ds 
Simulation Output Names
To successfully use measurement equations, you must understand the full names associated with simulation outputs. Each simulation output has a unique name. A measurement may refer to such an output by using its unique name, or a condensed version of it. The full unique name of a simulation output is described in the following illustration.
where:
 analysis_path is a concatenated string of the full circuit names of all the simulations driving the analysis. For example, a single toplevel DC analysis called DC1 on the design results in the analysis path DC1.DC . If a toplevel sweep analysis called Sweep1 drives that DC analysis, then the circuit path is Sweep1.DC1.DC. The .DC suffix is specific to the DC analysis. Major suffixes are as follows:
DC
.DC
AC
.AC
AC noise
.NC
Harmonic Balance, P2D, XDB, Envelope, LSSP
.HB
Harmonic Balance noise
.HB_NOISE
Transient
.TRAN
 circuit_path is the path of the simulation output (node voltage, current, etc.) with respect to the circuit level of the measurement that references it. For example:
MeasEqn1 = Vout
may reference a node voltage Vout at the current level (hence no path), while
MeasEqn2 = X1.Vout
may reference a node voltage Vout in the subcircuit X1 of the current level (hence the circuit path is X1.)
Unlike node voltages and currents, S, Y, Zparameters and the corresponding delays require no circuit path.  name is the name of the simulation output (e.g. Vout for a node voltage, _I_Probe1.i_ for the current through current probe _I_Probe1_ , S for scattering parameters).
The circuit path and the name are required for proper reference. The analysis path is optional, and may be used in the case where a design contains multiple analyses to differentiate between samename outputs. The analysis path need not be complete. For example, the node voltage Vout generated through the DC analysis DC1 may be referenced by a samelevel measurement as follows:
MeasEqn1 = Vout
MeasEqn2 = DC.Vout
MeasEqn3 = DC1.DC.Vout
but not MeasEqn4 = DC1.Vout
The same resolution rules used for a data display apply here to analysis outputs.
Using Simulation Templates
A number of templates are available to facilitate setting up common simulations. Copy these to a directory where you have write permission.
To use a simulation template:
 Choose Insert > Template .
 From the dialog box that appears, select the desired simulation type and click OK . Place the template in the Schematic window and modify it as required.
Simulation Template Descriptions
Template 
Description 

BJT_curve_tracer 
This simulation uses a swept current source for the base current and a swept voltage source for the collector voltage, to simulate the DC collector current versus collectoremitter voltage curves of a BJT. 
ConvPulseRespT 
This simulation uses nonlinear, timedomain analysis to simulate the pulse response of a network. The pulse response can be the reflection from a network or transmission line or the transmission of the signal through the network or transmission line. Also, coupling of the pulse signal from one line to another can be simulated. If the circuit contains distributed elements, then convolution will be used during the simulation. The reflected and transmitted signals may be shown. 
ConvStepRespT 
This simulation uses nonlinear, timedomain analysis to simulate the step response of a network. The step response can be the reflection from a network or transmission line or the transmission of the signal through the network or transmission line. Also, coupling of the step signal from one line to another can be simulated. If the circuit contains distributed elements, then convolution will be used during the simulation. The reflected and transmitted signals may be shown. 
DC_BJT_T 
This generates the same IV curves as the BJT_curve_tracer, except that the sources and simulation controllers are packaged up into a subcircuit. 
DC_FET_T 
This generates the same IV curves as the FET_curve_tracer, except that the sources and simulation controllers are packaged up into a subcircuit. 
FET_curve_tracer 
This uses swept voltage sources for the gate and drain voltages, to simulate the DC drain current versus drainsource voltage curves of a FET. 
HB1Tone 
This simulation generates the output power, power gain, harmonic distortion, and the output spectrum, when the test signal is a sinusoid at one power and frequency. 
HB1ToneSwptFreq 
This simulation generates the frequencydependent output power, power gain, harmonic distortion, and the output spectrum, when the test signal is a sinusoid at one power and is swept over frequency. 
HB1ToneSwptPwr 
This simulation generates the output power, power gain, harmonic distortion, output spectrum, and gain compression, when the test signal is a sweptpower sinusoid at one frequency. 
HB2Tone 
This simulation generates the output power, power gain, output spectrum, and third and fifthorder intermodulation distortion points (input and outputreferred) when the test signals are two sinusoids of the same power. 
HB2ToneSwptPwr 
This simulation generates the output power, power gain, output spectrum, and third and fifthorder intermodulation distortion points (input and outputreferred), as well as the intermodulation distortion levels when the test signals are two sinusoids and their power is swept. 
LinearPulseRespT 
This simulation uses linear, sweptfrequency AC analysis to simulate the timedomain pulse response of a network. The pulse response can be the reflection from a network or transmission line or the transmission of the signal through the network or transmission line. Also, coupling of the pulse signal from one line to another can be simulated. The reflected and transmitted signals may be shown. 
LinearStepRespT 
This simulation uses linear, sweptfrequency AC analysis to simulate the timedomain step response of a network. The step response can be the reflection from a network or transmission line or the transmission of the signal through the network or transmission line. Also, coupling of the step signal from one line to another can be simulated. The reflected and transmitted signals may be shown. 
MixConvGainNF 
This simulates the conversion gain and noise figure of a mixer. 
MixTOI 
This simulates the output spectrum, output power, conversion gain, and thirdorder intercept points of a mixer. 
S_Params 
This simulates the Sparameters of any twoport network, and generates Smith chart plots for S11 and S22, and polar plots for S21 and S12. The Smith charts include a circle of constant VSWR, whose value you may set. 
S_Params_DC 
This simulates the Sparameters of any twoport network, and generates Smith chart plots for S11 and S22, and polar plots for S21 and S12. The Smith charts include a circle of constant VSWR, whose value you may set. In addition, it generates zoomed plots of S11 and S21, over a reduced frequency range. A DC simulation is also run. 
SP_BJT_T 
This is a twoport vector network analyzer equivalent with biasing for a BJT. It sweeps the base current and collectoremitter voltage, and simulates the Sparameters of the device at each bias point, at one analysis frequency. 
SP_DiffT 
This simulates the Sparameters of any twoport network, but the test ports are ungrounded. This allows the simulation of differentialmode Sparameters. 
SP_FET_T 
This is a twoport vector network analyzer equivalent with biasing for a FET. It sweeps the gatesource and drainsource voltages, and simulates the Sparameters of the device at each bias point, at one analysis frequency. 
SP_NWA_4PortBiasLogT 
This simulates the Sparameters of any fourport network, but plots the data assuming you want to compare two sets of twoport Sparameters. It generates Smith chart plots for S11 and S33, and S22 and S44, and polar plots for S21 and S43, and S34 and S12. The Smith chart plots show circles of constant VSWR. 
SP_NWA_4PortBiasT 
This simulates the Sparameters of any fourport network, but plots the data assuming you want to compare two sets of twoport Sparameters. It generates Smith chart plots for S11 and S33, and S22 and S44, and polar plots for S21 and S43, and S34 and S12. The Smith chart plots show circles of constant VSWR. 
SP_NWA_4PortLogT 
This simulates the Sparameters of any fourport network, but plots the data assuming you want to compare two sets of twoport Sparameters. It generates Smith chart plots for S11 and S33, and S22 and S44, and polar plots for S21 and S43, and S34 and S12. The Smith chart plots show circles of constant VSWR. 
SP_NWA_4PortT 
This simulates the Sparameters of any fourport network, but plots the data assuming you want to compare two sets of twoport Sparameters. It generates Smith chart plots for S11 and S33, and S22 and S44, and polar plots for S21 and S43, and S34 and S12. The Smith chart plots show circles of constant VSWR. 
SP_NWA_LogT 
This simulates the Sparameters of any twoport network, and generates Smith chart plots for S11 and S22, and rectangular plots for dB(S21) and dB(S12). It is identical to the SP_NWA_T template, except that a log frequency sweep is used. 
SP_NWA_T 
This simulates the Sparameters of any twoport network, and generates Smith chart plots for S11 and S22, and rectangular plots for dB(S21) and dB(S12). A twoport vector network analyzer equivalent instrument is used. In addition, it generates zoomed plots of S11 and S21, over a reduced frequency range. Also, plots showing available gain and stability circles may be created. 
Sparams_wNoise 
This simulates the Sparameters and noise figure of any twoport network, and generates Smith chart plots for S11 and S22, and rectangular plots for dB(S21) and dB(S12). The Smith charts include a circle of constant VSWR, whose value you may set. In addition, it generates zoomed plots of S11 and S21, over a reduced frequency range. Also, plots showing available gain, noise figure, and stability circles are created. 
S_ParamsLargeSignal 
This simulates the Sparameters of any twoport network, as a function of frequency, and input signal power. The Sparameters are computed as the ratios of the incident and reflected waves at the fundamental frequency. The Rollett stability factor, K and the group delay are also computed from the Sparameters. This template is particularly useful for computing the output reflection coefficient of a device when it is being driven by a large input signal. Note that this template does not use a LSSP simulation controller. Instead it uses harmonic balance combined with smallsignal mixer mode. 
Using Simulation Instrument Components
Simulation instrument components provide a method for symbolically connecting your circuit to an instrument. You connect your design to components that represent various instruments and run the simulation.
The instruments are set up as curve tracers, TDRs, and network analyzers. There are two or more of each type of instrumenteach one is designed for a particular simulation or measurement. They are located on the Component Palette, under SimulationInstrument. For details on each component, see Simulation Instruments.
To use a simulation instrument:
 Create your design.
 From the Component Palette, choose SimulationInstrument . Select the appropriate instrument and place it on your schematic.
 Connect the ports of your design to the instrument connectors.
 Set the instrument parameters.
 Run the simulation.