03 - Preparing A Design For Simulation
Checklist for simulation setup
This section describes what you need to do to set up your circuit for simulation.
- Find the topic that is of interest in the first column of any of these tables.
- Go to the referenced section. For those sections that provide overviews, you will find references to more detailed discussions.
Typical simulation setup steps
For more information on this step... | See this... | To find out this... |
---|---|---|
An overview of vendor, passive, breakout, and behavioral parts. |
||
Things to consider when specifying values for part properties |
||
How to define values using variable parameters, functional calls, and mathematical expressions. |
||
An overview of DC power for analog circuits and digital power for mixed-signal circuits. |
||
Procedures, general to all analysis types, to set up and start the simulation. |
||
Detailed information about DC, AC, transient, parametric, temperature, Monte Carlo, sensitivity/worst-case, and digital analyses. |
||
How to display results in PSpice A/D1 by picking design nets. |
||
Advanced design entry and simulation setup steps
When netlisting fails or the simulation does not start
If you have problems starting the simulation, there may be problems with the design or with system resources. If there are problems with the design, PSpice A/D2 displays errors and warnings in the Simulation Output window. You can use the Simulation Output window to get more information quickly about the specific problem.
To get online information about an error or warning shown in the Simulation Output window
- Select the error or warning message.
- Press F1.
The following tables list the most commonly encountered problems and where to find out more about what to do.
Things to check in your design
Make sure that... | To find out more, see this... |
---|---|
The model libraries, stimulus files, and include files are configured. |
|
The parts you are using have models. |
Unmodeled parts and Defining part properties needed for simulation |
You are not using unmodeled pins. |
|
You have defined the grounds. |
|
Every analog net has a DC path to ground. |
|
The part template is correct. |
|
Hierarchical parts, if used, are properly defined. |
OrCAD Capture User Guide |
Ports that connect to the same net have the same name. |
OrCAD Capture User Guide |
Things to check in your system configuration
Make sure that... | To find out more, see this... |
---|---|
Path to the PSpice A/D programs is correct. |
|
Directory containing your design has write permission. |
Your operating system manual |
Your system has sufficient free memory and disk space. |
Your operating system manual |
Using parts that you can simulate
The PSpice part libraries3 supply numerous parts designed for simulation. These include:
- vendor-supplied parts
- passive parts
- breakout parts
- behavioral parts
The PSpice part libraries also include special parts that you can use for simulation only. These include:
- stimulus parts to generate input signals to the circuit (see Defining stimuli)
- ground parts required by all analog and mixed-signal circuits, which need reference to ground
- simulation control parts to do things like set bias values (see Appendix A, “Setting initial state”)
- output control parts to do things like generate tables and line-printer plots to the PSpice output file (see Chapter 19, “Other Output Options”)
At minimum, a part that you can simulate has these properties:
- A simulation model to describe the part’s electrical behavior; the model can be:
- explicitly defined in a model library
- built into PSpice A/D
- built into the part (for some kinds of analog behavioral parts)
- A part with modeled pins to form electrical connections in your design.
- A translation from design part to netlist statement so that PSpice A/D can read it in.
Vendor-supplied parts
The PSpice libraries provide an extensive selection of manufacturers’ analog and digital parts. Typically, the library name reflects the kind of parts contained in the library and the vendor that provided the models.
Example: MOTOR_RF.OLB
and MOTOR_RF.LIB
contain parts and models, respectively, for Motorola-made RF bipolar transistors.
Libraries provided with PSpice A/D:
- Standard PSpice A/D libraries
- PSpice Advanced Analysis libraries
Standard PSpice A/D libraries
The standard PSpice A/D libraries feature over 16,000 analog and 1,600 digital and mixed-signal models of devices manufactured in North America, Japan, and Europe.
Use parts from standard PSpice A/D libraries or PSpice Advanced Analysis libraries if you want to analyze the part with PSpice A/D.
The standard PSpice A/D libraries are installed at following locations:
- Capture symbols for standard PSpice A/D libraries at
<install_dir>\tools\Capture\Library\PSpice\
Design Entry HDL symbols for standard PSpice libraries at
<install_dir>\share\library\ - Standard PSpice model libraries at
<install_dir>\tools\PSpice\Library\
PSpice Advanced Analysis libraries
The PSpice Advanced Analysis libraries contain over 4,300 analog parts. The Advanced Analysis libraries contain parameterized and standard parts. The majority of the parts are parameterized. The parametrized parts have tolerance, distribution, optimizable and smoke parameters that are required by the PSpice Advanced Analysis tools. Standard parts in the Advanced Analysis libraries are similar to parts in the standard PSpice libraries.
The parametrized parts are associated with template-based PSpice models. An important advantage of using the template-based PSpice models is that you can pass model parameters as properties from the design entry tool4. For example, if a template-based model is associated with a part, the model parameters that you specify on an instance of the part in your design will be passed to the model. There is no need to edit the model itself to change a parameter value. This is unlike the standard PSpice parts that are associated with device characteristic curve-based PSpice models, where you need to edit the model to change a simulation parameter.
Use parametrized parts from Advanced Analysis libraries if you want to analyze the part with an Advanced Analysis tool. Most of the analog parts in the standard PSpice libraries contain smoke parameters. You can use these parts to perform smoke analysis using the Smoke tool in PSpice Advanced Analysis.
This Advanced Analysis tool... | Uses these part parameters... |
---|---|
Sensitivity |
Tolerance parameters |
Optimizer |
Optimizable parameters |
Smoke |
Smoke parameters |
Monte Carlo |
Tolerance parameters, Distribution parameters |
The Advanced Analysis libraries are installed at following locations in the installation directory:
- Capture symbols for Advanced Analysis libraries at
\tools\Capture\Library\PSpice\AdvAnls\
Design Entry HDL symbols for Advanced Analysis libraries at
<install_dir>\share\library\ - PSpice Advanced Analysis model libraries at
\tools\PSpice\Library
Part naming conventions
The part names in the PSpice libraries usually reflect the manufacturers’ part names. If multiple vendors supply the same part, each part name includes a suffix that indicates the vendor that supplied the model.
Example: The PSpice libraries include several models for the OP-27 opamp as shown in the PSpice Part Search window (launched from Capture). Notice that there is a generic OP-27 part provided by PSpice, the OP-27/AD from Analog Devices, Inc., and the OP-27/LT from Linear Technology Corporation.

Finding the part that you want
If you are having trouble finding a part, you can search the libraries for parts with similar names by using either:
- the design entry tool:
- the parts browser in Capture and restricting the parts list to those names that match a specified wildcard text string
- the Component Browser window in Design Entry HDL and restricting the parts list to those names that match a specified wildcard text string,
- searching from the PSpice Part Search window.
To find parts in Capture using the parts browser
- In Capture, from the Place menu, choose Part.
- In the Part Name text box, type a text string with wildcards that approximates the part name that you want to find. Use this syntax:
<wildcard><part_name_fragment><wildcard>
where <wildcard> is one of the following:
*
to match zero or more characters
?
to match exactly one character
The parts browser displays only the matching part names.
To find parts in Design Entry HDL using the Component Browser
- In Design Entry HDL, from the Component menu, choose Add.
The Component Browser appears.
- Select the Library View tab.
- From the Library list select the library in which you want to search for the part.
The library files supplied with Design Entry HDL are located at the directory <install_dir>To add a library:\share\library\
. To have access to specific parts of a library, you must first add the library to list of Project Libraries.- Click on the Setup icon in Project Manager. The Project Setup window appears.
- Select the Global tab.
- Select the library you want to add from the Available Libraries list.
- Click Add. The library gets added to the Project Libraries list.
- Click OK.
- In the Cells text box, type a text string with wildcards that approximates the part name that you want to find. Use this syntax:
<wildcard><part_name_fragment><wildcard>
where < wildcard > is one of the following:
*
to match zero or more characters
?
to match exactly one character
The Component Browser displays only the matching part names.
You can also use the Classifications list in the Component Browser to search for a part. The Classifications list lets you display categories of parts arranged hierarchically.

You can select a category and view all the physical parts in the selected category. This allows you to select the exact physical part and place it in the logical design.
To find parts in the standard libraries and Advanced Analysis libraries supplied with PSpice A/D
You can search for parts in the standard PSpice libraries and in the Advanced Analysis (AA) libraries using the PSpice Part Search pane.
The Advanced Analysis libraries contain parameterized and standard parts. The majority of the parts are parameterized. The parametrized parts have tolerance, distribution, optimizable and smoke parameters that are required by the PSpice Advanced Analysis tools. Standard parts in the Advanced Analysis libraries are similar to parts in the standard PSpice libraries. The parametrized parts are associated with template-based PSpice models.
To search for parts in any of the PSpice libraries, do the following:
- Launch Capture.
- Select Place – PSpice Component – Search.
The PSpice Part Search window opens. - Either select a category in Categories tab to search PSpice part in a particular category or select a library in Library tab to search PSpice part in a particular library.
- Enter the part details in the search text box.
- Either select the Selected Category option to search in the selected category or select the All Categories option to search in all the categories, from the filter that is located before the search text box.
- Press Enter or click the search icon.
- Select the required part from the search results.
Note that a parametrized part name ends with(AA enabled)
.
If you want to include user-defined parts in the search, use the parts browser in Capture.
Passive parts
The PSpice libraries supply several basic parts based on the passive device models built into PSpice A/D. These are summarized in the following table.
These parts are available... | For this device type... | Which is this PSpice device letter... |
---|---|---|
C C_VAR |
capacitor |
C |
L |
inductor |
L |
R R_VAR |
resistor |
R |
XFRM_LINEAR K_LINEAR |
transformer |
K and L |
T |
ideal transmission line |
T |
TLOSSY |
Lossy transmission line |
T |
TnCOUPLED5TnCOUPLEDX2 |
coupled transmission line |
T and K |
To find out more about how to use these parts and define their properties, look up the corresponding PSpice device letter in the Analog Devices chapter in the PSpice A/D Reference Guide, and then see the Capture Parts sections.
Breakout parts
The PSpice libraries supply passive and semiconductor parts with default model definitions that define a basic set of model parameters. This way, you can easily:
- assign device and lot tolerances to model parameters for Monte Carlo and sensitivity/worst-case analyses.
To find out more about models, see What are models?. To find out more about Monte Carlo and sensitivity/worst-case analyses, see Chapter 13, “Monte Carlo and sensitivity (worst-case) analyses.” - define temperature coefficients, and
- define device-specific operating temperatures.
To find out more about setting temperature parameters, see the Analog Devices chapter of the PSpice A/D Reference Guide and find the device type that you are interested in.
These are called breakout parts and are summarized in the following table.
Use this breakout part... | For this device type... | Which is this PSpice device letter... |
---|---|---|
BBREAK |
GaAsFET |
B |
CBREAK |
capacitor |
C |
DBREAKx |
diode |
D |
JBREAKx1 |
JFET |
J |
KBREAK |
inductor coupling |
K |
LBREAK |
inductor |
L |
MBREAKx1 |
MOSFET |
M |
QBREAKx1 |
bipolar transistor |
Q |
RBREAK |
resistor |
R |
SBREAK |
voltage-controlled switch |
S |
WBREAK |
current-controlled switch |
W |
XFRM_NONLINEAR |
transformer |
K and L |
ZBREAKN |
IGBT |
Z |
To find out more about how to use these parts and define their properties, look up the corresponding PSpice device letter in the Analog Devices chapter of the PSpice A/D Reference Guide, and then look in the Capture Parts section.
Behavioral parts
Behavioral parts allow you to define how a block of circuitry should work without having to define each discrete component.
Analog behavioral parts
These parts use analog behavioral modeling (ABM) to define each part’s behavior as a mathematical expression or lookup table. The PSpice libraries provide ABM parts that operate as math functions, limiters, Chebyshev filters, integrators, differentiators, and others that you can customize for specific expressions and lookup tables.
Digital behavioral parts
These parts use special behavioral primitives to define each part’s functional and timing behavior. These primitives are:
LOGICEXP |
to define logic expressions |
PINDLY |
to define pin-to-pin delays |
CONSTRAINT |
to define constraint checks |
Many of the digital parts provided in the PSpice libraries are modeled using these primitives. You can also create your own digital behavioral parts using these primitives.
Simulating asymmetric parts in PSpice A/D
You can simulate packaged asymmetric parts in PSpice A/D. Asymmetric parts consist of a set of symbols with one power symbol that is shared by the other symbols. The symbols can be placed across pages and blocks but the symbols must have the same reference designator (LOCATION). The asymmetric symbols cannot have SPLIT_INST or SPLIT_INST_NAME properties. In addition, the shared symbol should not have any PSPICETEMPLATE property. The other symbols should have PSPICETEMPLATE property for all pins.
For example, in the figure the asymmetric part consists of three OpAmp symbols and a power symbol that is shared. In this case, the resulting symbol has five pins, namely A
, B
, C
, and the two power and ground pins D
and E
. The resultant netlist will read as follows:
X_X1 |
netA1 |
netB1 |
netC1 |
netD |
netE |
X_X2 |
netA2 |
netB2 |
netC2 |
netD |
netE |
X_X1 |
netA3 |
netB3 |
netC3 |
netD |
netE |

Simulating homogeneous parts in PSpice A/D
Homogeneous parts that can be simulated in PSpice A/D consist of a set of symbols with the same reference designator (LOCATION) and the property sec defined on each symbol. The sec property has a unique numerical value, which is used to define the different pins. The symbols must have PSPICE_SPLIT_INST property set to TRUE.
For example, in the figure the symbols have sec defined for different values. The resultant symbol has 11 pins and the PSPICETEMPLATE property on the pins is:
%A_1 |
%B_1 |
%C_1 |
%A_2 |
%B_2 |
%C_2 |
%A_3 |
%B_3 |
%C_3 |
%D_4 |
%E_4 |
The resultant netlist will read as follows:
X_X1 netA1 netB1 netC1 netA2 netB2 netC2 netA3 netB3 netC3 netD netE

Specifying values for part properties
Note the following when specifying values for part properties:
- Do not leave a space between the value and its unit, if the unit is a scale symbol. For example, specify 5K instead of 5 K.
For a listing of the scale symbols, see Numeric value conventions in the Before you begin chapter of the PSpice A/D Reference Guide. - Specify tolerance values as percentages. If you specify an absolute value, the tolerance value will be read as an absolute number. For example, if you specify the value of the POSTOL property as a percentage, say
10%
, on a 10K resistor, the distribution values will be taken in the range of. If you specify the tolerance value as an absolute number, say
10
, the distribution values will be taken in the range of.
Using Global Parameters and Expressions for Values
In addition to literal values, you can use global parameters and expressions to represent numeric values in your circuit design.
Global parameters
A global parameter is like a programming variable that represents a numeric value by name.
Once you have defined a parameter (declared its name and given it a value), you can use it to represent circuit values anywhere in the design; this applies to any hierarchical level.
When multiple parts are set to the same value, global parameters provide a convenient way to change all of their values for “what-if” analyses. For example, if two independent sources have a value defined by the parameter VSUPPLY, then you can change both sources to 10 volts by assigning the value once to VSUPPLY.
Some ways that you can use parameters are as follows:
- Apply the same value to multiple part instances.
- Set up an analysis that sweeps a variable through a range of values (for example, DC sweep or parametric analysis).
Declaring and using a global parameter
To use a global parameter in your design, you need to:
- define the parameter using a PARAM part from the SPECIAL part library, and
- use the parameter in place of a literal value somewhere in your design.
To declare a global parameter in Capture
- Place a PARAM part in your design.
- Double-click the PARAM part to display the Parts spreadsheet, then click the New Column or New Row button.
For more information about using the Parts spreadsheet, see the OrCAD Capture User Guide. - To avoid adding the new parameter to the selected filter for all parts, change the Filter by field to Current properties.
- Declare up to three global parameters by doing the following for each global parameter:
- Click New.
- In the Property Name text box, enter NAMEn, then click OK.
This creates a new property for the PARAM part, NAMEn in the spreadsheet. - Click in the cell below (to the right of) the NAMEn column (or row) and enter a default value for the parameter.
- While this cell is still selected, click Display.
- In the Display Format frame, select Name and Value, then click OK.
- Close the Parts spreadsheet.
Example
To declare the global parameter VSUPPLY that will set the value of an independent voltage source to 14 volts, place the PARAM part, and then create a new property named VSUPPLY with a value of 14v.
To declare a global parameter in Design Entry HDL
- Place a PARAM part in your design.
- From the Text menu in Design Entry HDL, choose Attributes.
- Click on the PARAM part to display the Attributes dialog box.
For more information about using the Attributes dialog box, see the Design Entry HDL User Guide. - Declare up to three global parameters by doing the following for each global parameter:
- Click Add.
- In the Name text box, enter NAMEn.
This creates a new property for the PARAM part, as shown by the new row labeled NAMEn in the Attributes dialog box. - In the Value text box, enter a default value for the parameter.
- In the Visible drop-down, select Both.
The system variables in Table 3-5 have reserved parameter names. Do not use these parameter names when defining your own parameters.
- Click OK to update all the changes to the PARAM part and close the Attributes dialog box.
Example
To declare the global parameter VSUPPLY that will set the value of an independent voltage source to 14 volts, place the PARAM part, and then create a new property named VSUPPLY
with a value of 14v
.
To use the global parameter in your circuit in Capture
- Find the numeric value that you want to replace: a component value, model parameter value, or other property value.
- Replace the value with the name of the global parameter using the following syntax:
{ global_parameter_name }
The curly braces tell PSpice A/D to evaluate the parameter and use its value.
Example
To set the independent voltage source, VCC, to the value of the VSUPPLY parameter, set its DC property to {VSUPPLY
}.

To use the global parameter in your circuit in Design Entry HDL
- Find the numeric value that you want to replace: a component value, model parameter value, or other property value.
- Replace the value with the name of the global parameter using the following syntax:
{ global_parameter_name }
The curly braces tell PSpice A/D to evaluate the parameter and use its value.
Example
To set the independent voltage source, VCC, to the value of the VSUPPLY parameter, set its DC property to {VSUPPLY}
.

Expressions
An expression is a mathematical relationship that you can use to define a numeric or boolean (TRUE/FALSE) value.
PSpice A/D evaluates the expression to a single value every time:
- it reads in a new circuit, and
- a parameter value used within an expression changes during an analysis.
Example: A parameter that changes with each step of a DC sweep or parametric analysis.
Specifying expressions
To use an expression in your circuit
- Find the numeric or boolean value you want to replace: a component value, model parameter value, other property value, or logic in an IF function test (see Table 3-4 for a description of the IF function).
- Replace the value with an expression using the following syntax:
{ expression }
where expression can contain any of the following:- standard operators listed in Table 3-3
- built-in functions listed in Table 3-4
- user-defined functions
For more information on user-defined functions, see the .FUNC command in the Commands chapter in the PSpice A/D Reference Guide. - system variables listed in Table 3-5
- user-defined global parameters
For more information on user-defined parameters, see Using Global Parameters and Expressions for Values. - literal operands
Example
Suppose you have declared a parameter named FACTOR (with a value of 1.2) and want to scale a -10 V independent voltage source, VEE, by the value of FACTOR. To do this, set the DC property of VEE to:
{-10*FACTOR}
PSpice A/D evaluates this expression to:
(-10 * 1.2) or -12 volts
This operator class... | Includes this operator... | Which means... |
---|---|---|
arithmetic
|
+ |
addition or string concatenation |
- |
subtraction | |
* |
multiplication | |
division | ||
** |
exponentiation | |
logical |
~ |
unary NOT |
| |
boolean OR |
|
^ |
boolean XOR |
|
& |
boolean AND |
|
relational1 |
== |
equality test |
!= |
non-equality test |
|
> |
greater than test |
|
>= |
greater than or equal to test |
|
< |
less than test |
|
<= |
less than or equal to test |
This function... | Means this... | |
---|---|---|
ABS(x) |
|x| |
|
SQRT(x) |
x1/2 |
|
EXP(x) |
ex |
|
LOG(x) |
ln (x) |
which is log base e |
LOG10(x) |
log (x) |
which is log base 10 |
PWR(x,y) |
|x|y |
|
PWRS(x,y) |
+|x|y (if x > 0) |
|
SIN(x) |
sin(x) |
where x is in radians |
ASIN(x) |
sin-1 (x) |
where the result is in radians |
SINH(x) |
sinh (x) |
where x is in radians |
ASINH(x) |
sinh-1 (x) |
where x is in radians |
COS(x) |
cos (x) |
where x is in radians |
ACOS(x) |
cos-1 (x) |
where the result is in radians |
COSH(x) |
cosh (x) |
where x is in radians |
ACOSH(x) |
cosh-1 (x) |
where x is in radians |
TAN(x) |
tan (x) |
where x is in radians |
ATAN(x) |
tan-1 (x) |
where the result is in radians |
ATAN2(y,x) |
tan-1 (y/x) |
where the result is in radians |
TANH(x) |
tanh (x) |
where x is in radians |
ATANH(x) |
tanh-1 (x) |
where x is in radians |
M(x) |
magnitude of x |
which is the same as ABS(x) |
P(x) |
phase of x1 |
in degrees; returns 0.0 for real numbers |
R(x) |
real part of x1 |
|
IMG(x) |
imaginary part of x1 |
which is applicable to AC analysis only |
DDT(x) |
time derivative of x |
which is applicable to transient analysis only In waveform analysis, this function is D(x).
|
SDT(x) |
time integral of x |
which is applicable to transient analysis only In waveform analysis, this function is S(x).
|
TABLE(x,x1,y1,...) |
y value as a function of x |
where xn,yn point pairs are plotted and connected by straight lines |
MIN(x,y) |
minimum of x and y |
|
MAX(x,y) |
maximum of x and y |
|
LIMIT(x,min,max) |
min if x < min |
|
SGN(x) |
+1 if x > 0 |
|
STP(x) |
1 if x >= 0 |
which is used to suppress a value until a given amount of time has passed Example: {v(1)*STP(TIME-10ns)} gives a value of 0.0 until 10 nsec has elapsed, then gives v(1). |
IF(t,x,y) |
x if t is true |
where t is a relational expression using the relational operators shown in Table 3-3 |
Zero(expression) |
Expression is evaluated, and the function returns the value as 0 |
|
one(expression) |
||
ceil(arg) |
value returned is an integer which is either equal to, or greater than the argument value. |
argument should be a numeric value or an expression that evaluates to a numeric value Example:
|
floor(arg) |
value returned is an integer which is either equal to the argument value, or is the nearest integer, smaller than the argument value. |
the argument should be a numeric value or an expression that evaluates to a numeric value Example:
|
intq(arg) |
returns 1, if arg in an integer else returns 0 |
The argument passed to this function can be a numeric value or an expression that evaluates to a numeric value. |
The system variables listed in Table 3-5, cannot be used in the trace expressions in the Probe window. These variables are supported only by the PSpice engine.
This variable... | Evaluates to this... |
---|---|
TEMP |
Temperature values resulting from a temperature, parametric temperature, or DC temperature sweep analysis. The default temperature, TNOM, is set in the Options dialog box (from the Simulation Settings dialog box, choose the Options tab). TNOM defaults to 27°C. TEMP can only be used in expressions pertaining to analog behavioral modeling and the propagation delay of digital models.
If a passive or semiconductor device has an independent temperature assignment, then TEMP does not represent that device’s temperature.
To find out more about customizing temperatures for passive or semiconductor devices, refer to the .MODEL command in the Commands chapter in the PSpice A/D Reference Guide. |
TIME |
Time values resulting from a transient analysis. If no transient analysis is run, this variable is undefined. TIME can only be used in analog behavioral modeling expressions.
|
RELTOL |
Relative tolerance of Voltage and current The value of this variable is as specified in the Options tab of the Simulation Settings dialog box. |
ABSTOL |
Current tolerance Describes the best accuracy of currents in a simulation run. The value of this variable is specified in the Options tab of the Simulation Settings dialog box. |
VNTOL |
Voltage tolerance Describes the best accuracy of voltages in a simulation run.The value of this variable is specified in the Options tab of the Simulation Settings dialog box. |
CHGTOL |
Charge tolerance Describes the best accuracy of charges. The value of this variable is specified in the Options tab of the Simulation Settings dialog box. |
GMIN |
Indicates the minimum conductance used for any branch. The value of this variable is specified in the Options tab of the Simulation Settings dialog box. |
Constant.. | Value |
---|---|
PI |
3.14159265 |
Defining power supplies
For the analog portion of your circuit
If the analog portion of your circuit requires DC power, then you need to include a DC source in your design. To specify a DC source, use one of the following parts.
For this source type... | Use this part... |
---|---|
voltage |
VDC or VSRC |
current |
IDC or ISRC |
To find out how to use these parts and specify their properties, see the following:
For A/D interfaces in mixed-signal circuits
Default digital power supplies
Every digital part supplied in the PSpice libraries has a default digital power supply defined for its A-to-D or D-to-A interface subcircuit. This means that if you are designing a mixed-signal circuit, then you have a default 5 volt digital power supply built-in to the circuit at every interface.
Custom digital power supplies
If needed, you can customize the power supply for different logic families.
For this logic family... | Use this part... |
---|---|
CD4000 |
CD4000_PWR |
TTL |
DIGIFPWR |
ECL 10K |
ECL_10K_PWR |
ECL 100K |
ECL_100K_PWR |
Defining stimuli
To simulate your circuit, you need to connect one or more source parts that describe the input signal that the circuit must respond to.
The PSpice libraries supply several source parts that are described in the tables that follow. These parts depend on:
- the kind of analysis you are running,
- whether you are connecting to the analog or digital portion of your circuit, and
- how you want to define the stimulus: using the Stimulus Editor, using a file specification, or by defining part property values.
Analog stimuli
Analog stimuli include both voltage and current sources. The following table shows the part names for voltage sources.
If you want this kind of input... | Use this part for voltage... |
---|---|
For DC analyses See Setting up a DC stimulus for more details. |
|
DC bias |
VDC or VSRC |
For AC analyses See Setting up an AC stimulus for more details. |
|
AC magnitude and phase |
VAC or VSRC |
For transient analyses See Defining a time-based stimulus for more details. |
|
exponential |
VEXP or VSTIM |
periodic pulse |
VPULSE or VSTIM |
piecewise-linear |
VPWL or VSTIM |
piecewise-linear with expressions and warning or error messages |
VPWL_abm9 |
piecewise-linear that repeats forever |
VPWL_RE_FOREVER or |
piecewise-linear that repeats n times |
VPWL_N_TIMES or |
frequency-modulated sine wave |
VSFFM or VSTIM |
sine wave |
VSIN or VSTIM |
To determine the part name for an equivalent current source
- In the table of voltage source parts, replace the first V in the part name with I.
For example, the current source equivalent to VDC is IDC, to VAC is IAC, to VEXP is IEXP, and so on.
Using VSTIM and ISTIM
You can use VSTIM and ISTIM parts to define any kind of time-based input signal.
If you want to specify multiple stimulus types
If you want to run more than one analysis type, including a transient analysis, then you need to use either of the following:
- time-based stimulus parts with AC and DC properties
- VSRC or ISRC parts
Using time-based stimulus parts with AC and DC properties
The time-based stimulus parts that you can use to define a transient, DC, and/or AC input signal are listed below.

In addition to the transient properties, each of these parts also has a DC and AC property. When you use one of these parts, you must define all of the transient properties. However, it is common to leave DC and/or AC undefined (blank). When you give them a value, the syntax you need to use is as follows.
This property... | Has this syntax... |
---|---|
DC |
DC_value[units] |
AC |
magnitude_value[units] [phase_value] |
For the meaning of transient source properties, refer to the I/V (independent current and voltage source) device type syntax in the Analog Devices chapter in the PSpice A/D Reference Guide.
Using VSRC or ISRC parts
The VSRC and ISRC parts have one property for each analysis type: DC, AC, and TRAN. You can set any or all of them using PSpice netlist syntax. When you give them a value, the syntax you need to use is as follows.
This property... | Has this syntax... |
---|---|
DC |
DC_value[units] |
AC |
magnitude_value[units] [phase_value] |
TRAN |
time-based_type (parameters) where time-based_type is EXP, PULSE, PWL, SFFM, or SIN, and the parameters depend on the time-based_type. For the syntax and meaning of transient source specifications, refer to the I/V (independent current and voltage source) device type in the Analog Devices chapter in the PSpice A/D Reference Guide. |
Digital stimuli
If you want this kind of input... | Use this part.... |
---|---|
For transient analyses |
|
signal or bus (n width) |
DIGSTIMn |
clock signal |
DIGCLOCK |
1-bit signal |
STIM1 |
4-bit bus |
STIM4 |
8-bit bus |
STIM8 |
16-bit bus |
STIM16 |
file-based signal or bus (n width) |
FILESTIMn |
You can use the DIGSTIM part to define both 1-bit signal or bus (n width) input signals using the Stimulus Editor.
Things to watch for
This section includes troubleshooting tips for some of the most common reasons your circuit design may not netlist or simulate.
Unmodeled parts
If you see messages like this in the PSpice Simulation Output window,
Warning: Part part_name has no simulation model.
then you may have done one of the following things:
- Placed a part from the PSpice libraries that is not available for simulation (used only for board layout).
- Placed a custom part that has been incompletely defined for simulation.
Do this if the part in question is from the PSpice libraries
- Replace the part with an equivalent part from one of the libraries listed in the tables below.
- Make sure that you can simulate the part by checking the following:
- That it has a PSPICETEMPLATE property and that its value is non-blank.
The libraries listed in the tables that follow all contain parts that you can simulate. Some files also contain parts that you can only use for board layout. That’s why you need to check the PSPICETEMPLATE property if you are unsure or still getting warnings when you try to simulate your circuit. - That it has an Implementation Type = PSpice MODEL property and that its Implementation property is non-blank.
- That it has a PSPICETEMPLATE property and that its value is non-blank.
Analog libraries with modeled parts (installed in \tools\Capture\Library\PSpice or <install_dir>/share/library/) | ||
---|---|---|
1_SHOT |
EPWRBJT |
ON_AMP |
ABM |
FAIRCHILD |
ON_BJT |
ADV_LIN |
FILTSUB |
ON_DIODE |
AMP |
FWBELL |
ON_MOS |
ANALOG |
HARRIS |
ON_PWM |
ANA_SWIT |
IBGT |
OPAMP |
ANLG_DEV |
INFINEON |
OPTO |
ANL_MISC |
IXYS |
PHIL_BJT |
APEX |
JBIPOLAR |
PHIL_DIODE |
APEX_PWM |
JDIODE |
PHIL_FET |
BIPOLAR |
JFET |
PHIL_RF |
BREAKOUT |
JJFET |
POLYFET |
BUFFER |
JOPAMP |
PWRBJT |
BURR_BRN |
JPWRBJT |
PWRMOS |
CD4000 |
JPWRMOS |
SWIT_RAV |
COMLINR |
LINEDRIV |
SWIT_REG |
DATACONV |
LIN_TECH |
TEX_INST |
DARLNGTN |
MAGNETIC |
THYRISTR |
DIODE |
MAXIM |
TLINE |
EBIPOLAR |
MIX_MISC |
XTAL |
EDIODE |
MOTORSEN |
ZETEX |
ELANTEC |
MOTOR_RF |
|
EPCOS |
NAT_SEMI |
Digital libraries with modeled parts | ||
---|---|---|
7400 |
74H |
DIG_ECL |
74AC |
74HC |
DIG_GAL |
74ACT |
74HCT |
DIG_MISC |
74ALS |
74L |
DIG_PAL |
74AS |
74LS |
DIG_PRIM |
74F |
74S |
Check for this if the part in question is custom-built
Are there blank (or inappropriate) values for the part’s Implementation and PSPICETEMPLATE properties?
If so, load this part into the part editor and set these properties appropriately. One way to approach this is to edit the part that appears in your design.
To edit the properties for the part in question
- In the schematic page editor, select the part.
- From the Edit menu, choose Part.
The part editor window appears with the part already loaded. - From the Edit menu, choose Properties and proceed to change the property values.
To edit the symbol properties in Design Entry HDL, do the following:
- From the File menu in Design Entry HDL, choose Open to display the View Open dialog box.
- Select the library in which the part exists from the Library drop-down.
The parts in the library are displayed in the Cells list. - Select the part whose properties you want to set.
The part name is displayed in the Cell text box. - Select Symbol from the View drop-down
- Click Open to view the symbol for the part in Design Entry HDL.
- From the Text menu, choose Attributes.
- Click on the origin of the symbol to display the Attributes dialog box.
- Verify that the properties are specified correctly and make the required changes.
- Click OK to close the Attributes dialog box.
- From the File menu, choose Save.
Unconfigured model, stimulus, or include files
If you see messages like these in the PSpice Simulation Output window,
(design_name) Floating pin: refdes pin pin_name
Floating pin: pin_id
File not found
Can’t open stimulus file
or messages like these in the PSpice output file,
Model model_name used by device_name is undefined.
Subcircuit subckt_name used by device_name is undefined.
Can’t find .STIMULUS “refdes” definition
then you may be missing a model library, stimulus file, or include file from the configuration list, or the configured file is not on the library path.
Check for this
- Does the PSpice library configuration file NOM.LIB appear in the Library files list in the Configuration Files tab in the Simulation Profile?
- Does the relevant model library, stimulus file, or include file appear in the configuration list?
- If the file is configured, does the default library search path include the directory path where the file resides, or explicitly define the directory path in the configuration list?
If the file is not configured, add it to the list and make sure that it appears before any other library or file that has an identically-named definition.
To view the configuration list
- In the Simulation Settings dialog box, click the Configuration Files tab and view the Library, Include, and Stimulus files lists.
If the directory path is not specified in each, update the default library search path or change the file entry in the configuration list to include the full path specification.
To view the default library search path
- In the Simulation Settings dialog box, click the Configuration Files tab.
- Click Library in the Category field to display the Library files list.
Unmodeled pins
If you see messages like these in the PSpice Simulation Output window,
Warning: Part part_name pin pin_name is unmodeled.
Warning: Less than 2 connections at node node_name.
or messages like this in the PSpice output file,
Floating/unmodeled pin fixups
then you may have drawn a wire to an unmodeled pin.
The PSpice libraries include parts that are suitable for both simulation and board layout. The unmodeled pins map into packages but have no electrical significance; PSpice A/D ignores unmodeled pins during simulation.
Check for this
Are there connections to unmodeled pins?
If so, do one of the following:
- Remove wires connected to unmodeled pins.
- If you expect the connection to affect simulation results, find an equivalent part that models the pins in question and draw the connections.
Missing ground
This problem applies to analog-only and mixed-signal circuits.
If for every net in your circuit you see this message in the PSpice output file,
ERROR -- Node node_name is floating.
then your circuit may not be tied to ground.
Check for this
Are there ground parts named 0 (zero) connected appropriately in your design?
If not, place and connect one (or more, as needed) in your design. You can use the 0 (zero) ground part in SOURCE.OLB or any other ground part as long as you change its name to 0.
Missing DC path to ground
This problem applies to analog-only and mixed-signal circuits.
If for selected nets in your circuit you see this message in the PSpice output file,
ERROR -- Node node_name is floating.
then you may be missing a DC path to ground.
Check for this
Are there any nets that are isolated from ground by either open circuits or capacitors?
If so, then add a very large (for example, 1 Gohm) resistor either:
- in parallel with the capacitor or open circuit, or
- from the isolated net to ground.
Example: The circuits shown below connects capacitors (DC open circuits) such that both ends of inductor L2 are isolated from ground.

When simulated, PSpice A/D flags nets 2 and 3 as floating. The following topology solves this problem.

Depending on the license available, you will access either PSpice A/D or PSpice Simulator.
- Depending on the license available, you will access either PSpice A/D or PSpice Simulator.
- Depending on the license you will use either PSpice A/D or Design Entry HDL -PSpice libraries.
- In this guide, design entry tool is used for both OrCAD Capture and Design Entry HDL. Any differences between the two tools is mentioned, if necessary.
For these device types, the PSpice libraries supply several parts. Refer to the PSpice A/D Reference Guide for the available parts.
For this device type, the PSpice libraries supply several breakout parts. Refer to the PSpice A/D Reference Guide for the available parts.
Logical and relational operators are used within the IF() function; for digital parts, logical operators are used in Boolean expressions.
M(x), P(x), R(x), and IMG(x) apply to Laplace expressions only.
By default, it multiplies the signal by GAIN ({V(1,%-)*@gain}).
VPWL_F_RE_FOREVER and VPWL_F_N_TIMES are file-based parts; the stimulus specification is saved in a file and adheres to PSpice netlist syntax.
PSPICETEMPLATES
property of the part. For example, to add the property FOURTH_NPAIRS
:V^@REFDES %+ %- ?DC|DC @DC| ?AC|AC @AC| PWL ?TSF|TIME_SCALE_FACTOR=@TSF| ?VSF|VALUE_SCALE_FACTOR=@VSF| \n+ REPEAT FOREVER \n+ @FIRST_NPAIRS ?SECOND_NPAIRS|\n+ @SECOND_NPAIRS ?THIRD_NPAIRS/\n+ @THIRD_NPAIRS/| ?FOURTH_NPAIRS/\n+ @FOURTH_NPAIRS/ ENDREPEAT