Product Documentation
PSpice Help
Product Version 17.4-2020, June 2020


Setting up your design for simulation

Files needed for simulation

To simulate your design, PSpice needs to know about:

This information is provided in various data files. Some of these are generated by the design entry program such as Capture, others come from libraries, and still others are user-defined.

Files that Design Entry Programs generate

When you begin the simulation process, the design entry programs first generate files describing the parts and connections in your circuit. These files are the netlist file and the circuit file that PSpice reads before doing anything else.

Netlist file

The netlist file contains a list of device names, values, and how they are connected with other devices. The name that design entry program generate for this file is DESIGN_NAME-DESIGN_NAME.NET. The netlist file is located in the directory:

<project_directory>\worklib\<design_name>\cfg_analog\

Other files that you can configure for simulation

Before starting simulation, PSpice needs to read other files that contain simulation information for your circuit. These are model files, and if required, stimulus files and include files.

The simulation profile contains references to the other user-configurable files that PSpice needs to read.

Model library

PSpice uses this information in a model library to determine how a part will respond to different electrical inputs. These definitions take the form of either a:

The most commonly used models are available in the PSpice model libraries shipped with your programs. The model library names have a.LIB extension.

If needed, however, you can create your own models and libraries, using a text editor like Notepad

Stimulus file

You can create a stimulus file by using a standard text editor to create the definition (a typical file extension is .STM).

Include file

An include file is a user-defined file that contains:

You can create an include file using any standard text editor. Typically, include file names have a .INC extension.

An include file can contain definitions, using the PSpice.FUNC command, for functions that you want to use in numeric expressions elsewhere in your design.

Configuring model library, stimulus, and include files

PSpice searches model libraries, stimulus files, and include files for any information it needs to complete the definition of a part or to run a simulation.

The files that PSpice searches depend on how you configure your model libraries and other files. Much of the configuration is set up for you automatically, however, you can do the following yourself:

To configure these, edit the simulation profile by using the Configuration Files tab in the Simulation Settings dialog box.

Files that PSpice generates

After reading the circuit file, netlist file, model libraries, and any other required inputs, PSpice starts the simulation. As simulation progresses, PSpice saves results to two files—the data file and the PSpice output file.

Probe data file

The data file contains simulation results that can be displayed graphically. PSpice reads this file automatically and displays waveforms reflecting circuit response at nets, pins, and parts that you marked in your design (cross-probing). You can set up your simulation so PSpice displays the results as the simulation progresses or after the simulation completes.

After PSpice has read the data file and displays the initial set of results, you can add more waveforms to perform post-simulation analysis of the data.

There are two ways to add waveforms to the display:

PSpice output file

The PSpice output file is an ASCII text file that contains:

Its content is determined by:

Checklist for simulation setup

This section describes what you need to do to set up your circuit for simulation.

  1. Find the topic that is of interest in the first column of any of these tables.
  2. Go to the referenced section. For those sections that provide overviews, you will find references to more detailed discussions.
You must create a new project (not a design) and select the Analog or Mixed-Signal Circuit Wizard option in order to be able to simulate the new design with PSpice.

Typical simulation setup steps

For more information on this step...

See this...

To find out this...

Set component values and other properties.

Using parts that you can simulate

An overview of vendor, passive, breakout, and behavioral parts.

Specifying values for part properties

Things to consider when specifying values for part properties

Using global parameters and expressions for values

How to define values using variable parameters, functional calls, and mathematical expressions.

Define power supplies.

Defining power supplies

An overview of DC power for analog circuits and digital power for mixed-signal circuits.

Define input waveforms.

Defining stimuli

An overview of DC, AC, and time-based stimulus parts.

Set up one or more analyses.

Setting up analyses

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.

Place markers.

Using Markers

How to display results in PSpice by picking nets in your design.

Limiting data file size

Data collection options for simulation profiles

How to limit the data file size.

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 displays errors and warnings in the Simulation Status window. You can use the Simulation Status window to get more information quickly about the specific problem.

To get information about an error or warning shown in the Simulation Status window

  1. Select the error or warning message.
  2. 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.

Configuring model libraries

The parts you are using have models.

Unmodeled parts and Defining part properties needed for simulation

You are not using unmodeled pins.

Unmodeled pins

You have defined the grounds.

Missing ground

Every analog net has a DC path to ground.

Missing DC path to ground

The part template is correct.

Defining part properties needed for simulation

Hierarchical parts, if used, are properly defined.

The Capture User Guide

Ports that connect to the same net have the same name.

The Capture User Guide

Things to check in your system configuration

Make sure that...

To find out more, see this...

The 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 part libraries for PSpice supply numerous parts designed for simulation. The PSpice libraries are located in the PSpice sub-folder in the tools\capture\library directory under your main installation directory. They include:

At minimum, a part that you can simulate has these properties:

Not all parts in the libraries are set up for simulation. For example, connectors are parts destined for board layout only and do not have these simulation properties. The libraries contained in the PSpice subfolder are the only ones set up for simulation.
You must use the ‘0’ (zero) ground part in designs intended to be simulated by PSpice. If you have used other ground parts, you can rename them to ‘0’ so that they will be accepted by PSpice.

Special simulation-only parts

The PSpice part libraries also include special parts that you can use for simulation only. These include:

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. For example, MOTOR_RF.OLB and MOTOR_RF.LIB contain parts and models, respectively, for Motorola-made RF bipolar transistors.

Libraries are provided with PSpice: Standard PSpice libraries

Standard PSpice libraries

The standard PSpice 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 libraries if you want to analyze the part with PSpice.

The standard PSpice libraries are installed in the following locations in the installation directory:

You can find some information about a particular library (.lib) when you open it in a text editor and read the comments in the file.

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.

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 the part browser in Capture and restricting the parts list to those names that match a specified wildcard text string.

From Capture, select Place – PSpice Component – Search. The PSpice Part Search window opens.

To find parts using the parts browser

  1. In Capture, from the Place menu, choose Part.
  2. In the Part Name text box, type a text string with wildcard characters 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.
    This method finds any part contained in the current part libraries configuration, including parts for user-defined models.

Passive parts

The PSpice libraries supply several basic parts based on the passive device models built into PSpice. These are summarized in the following table.

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 Reference Manual, and then see the Capture Parts sections.

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

TnCOUPLED TnCOUPLEDX1 KCOUPLE1

coupled transmission line

T and K

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:

These are called breakout parts and are summarized in the following table.

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 Reference Manual, and then see the Capture Parts sections.

Use this breakout part...

For this device type...

Which is this PSpice device letter...

BBREAK

GaAsFET

B

CBREAK

capacitor

C

DBREAKx

diode

D

JBREAKx*

JFET

J

KBREAK

inductor coupling

K

LBREAK

inductor

L

MBREAKx*

MOSFET

M

QBREAKx*

bipolar transistor

Q

RBREAK

resistor

R

SBREAK

voltage-controlled switch

S

TBREAK

transmission line

T

WBREAK

current-controlled switch

W

XFRM_NONLINEAR

transformer

K and L

ZBREAKN

IGBT

Z

* For this device type, the PSpice libraries supply several breakout parts. Refer to the PSpice Reference Manual for the available parts.

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. You can also create your own ABM parts.

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.

Defining part properties needed for simulation

If you want to use a part for simulation, then your part should have the PSPICETEMPLATE property defined for it:

You can also add other simulation-specific properties for digital parts: IO_LEVEL, MNTYMXDLY, and PSPICEDEFAULTNET.

Here are the things to check when editing part properties:

For examples of how to use the PSPICETEMPLATE property, see PSPICETEMPLATE examples.

Editing simulation properties

To edit a property needed for simulation

  1. In the schematic page editor, select the part to edit.
  2. From the Edit menu, choose Properties to display the Parts spreadsheet of the Property Editor.
  3. Click in the cell of the column you want to change (for example, PSPICETEMPLATE), or click the New button to add a property (and type the property name in the Name text box).
  4. If needed, type a value in the Value text box.
  5. Click Apply to update the design, then close the spreadsheet.

PSPICETEMPLATE property

The PSPICETEMPLATE property defines the PSpice syntax for the part’s netlist entry. When creating a netlist, Capture substitutes actual values from the circuit into the appropriate places in the PSPICETEMPLATE syntax, then saves the translated statement to the netlist file.

Any part that you want to simulate must have a defined PSPICETEMPLATE property. These rules apply:

PSPICETEMPLATE syntax

The PSPICETEMPLATE contains:

  1. regular characters that the schematic page editor interprets verbatim, and
  2. property names and control characters that the schematic page editor translates.

Regular characters in templates

Regular characters include the following:

An identifier is a collection of regular characters of the form:

alphabetic character [any other regular character]*.

Property names in templates

Property names are preceded by a special character as follows:

[@|?|~|#|&]<identifier>

The schematic page editor processes the property according to the special character as shown in the following table.

This syntax...

Is replaced with this...

@<id>

Value of <id>. Error if no <id> property or if no value assigned.

&<id>

Value of <id> if <id> is defined.

?<id>s...s

Text between s...s separators if <id> is defined.

?<id>s...ss...s

Text between the first s...s separators if <id> is defined, else the second s...s clause.

~<id>s...s

Text between s...s separators if <id> is undefined.

~<id> s...ss...s

Text between the first s...s separators if <id> is undefined, else the second s...s clause.

#<id>s...s

Text between s...s separators if <id> is defined, but delete rest of template if <id> is undefined.

* s is a separator character.

Separator characters include commas (,), periods (.), semi-colons (;), forward slashes (/), and vertical bars (|). You must always use the same character to specify an opening-closing pair of separators.

You can use different separator characters to nest conditional property clauses.

The ^ character in templates

The schematic page editor replaces the ^ character with the complete hierarchical path to the device being netlisted.

Caution—Recommended scheme for netlist templates

Templates for devices in the part library start with a PSpice device letter, followed by the hierarchical path, and then the reference designator (REFDES) property.

It is recommended that you adopt this scheme when defining your own netlist templates.

Example: R^@REFDES for a resistor

The \n character sequence in templates

The part editor replaces the character sequence \n with a new line. Using \n, you can specify a multi-line netlist entry from a one-line template.

The % character and pin names in templates

Pin names are denoted as follows:

%<pin name>

where pin name is one or more regular characters.

The schematic page editor replaces the %<pin name> clause in the template with the name of the net connected to that pin.

The end of the pin name is marked with a separator. To avoid name conflicts in PSpice, the schematic page editor translates the following characters contained in pin names.

This pin name character... Is replaced with this...

<

l (L)

>

g

=

e

\XXX\

XXXbar

To include a literal % character into the netlist output, type %% in the template.

PSPICETEMPLATE examples

Simple resistor (R) template

The R part has:

Template

R^@REFDES %1 %2 @VALUE

Sample translation

R_R23 abc def 1k

where REFDES equals R23, VALUE equals 1k, and R is connected to nets abc and def.

Voltage source with optional AC and DC specifications (VAC) template

The VAC part has:

Template

V^@REFDES %+ %- ?DC|DC=@DC| ?AC|AC=@AC|

Sample translation

V_V6 vp vm DC=5v

where REFDES equals V6, VSRC is connected to nodes vp and vm, DC is set to 5v, and AC is undefined.

Sample translation

V_V6 vp vm DC=5v AC=1v

where, in addition to the settings for the previous translation, AC is set to 1v.

Parameterized subcircuit call (X) template

Suppose you have a subcircuit Z that has:

To allow the parameter to be changed on the schematic page, treat G as an property in the template.

Template

X^@REFDES %a %b Z PARAMS: ?G|G=@G|

~G|G=1000|

Equivalent template (using the if...else form)

X^@REFDES %a %b Z PARAMS: ?G|G=@G||G=1000|

Sample translation

X_U33 101 102 Z PARAMS: G=1024

where REFDES equals U33, G is set to 1024, and the subcircuit connects to nets 101 and 102.

Sample translation

X_U33 101 102 Z PARAMS: G=1000

where the settings of the previous translation apply except that G is undefined.

Digital stimulus parts with variable width pins template

For a digital stimulus device template (such as that for a DIGSTIM part), a pin name can be preceded by a * character. This signifies that the pin can be connected to a bus and the width of the pin is set to be equal to the width of the bus.

Template

U^@REFDES STIM(%#PIN, 0) %*PIN

\n+ STIMULUS=@STIMULUS

where #PIN refers to a variable width pin.

Sample translation

U_U1 STIM(4,0) 5PIN1 %PIN2 %PIN3 %PIN4

+ STIMULUS=mystim

where the stimulus is connected to a four-input bus, a[0-3].

Pin callout in subcircuit templates

The number and sequence of pins named in a template for a subcircuit must agree with the definition of the subcircuit itself—that is, the node names listed in the .SUBCKT statement, which heads the definition of a subcircuit. These are the pinouts of the subcircuit.

IO_LEVEL property

The IO_LEVEL property defines what level of interface subcircuit model PSpice must use for a digital part that is connected to an analog part.

If you are creating a digital part, you need to

  1. Add the IO_LEVEL property to the part and assign a value shown in the table below.
    Assign this value... To use this interface subcircuit (level)...

    0

    circuit-wide default

    1

    AtoD1 and DtoA1

    2

    AtoD2 and DtoA2

    3

    AtoD3 and DtoA3

    4

    AtoD4 and DtoA4

  2. Use this property in the PSPICETEMPLATE property definition (IO_LEVEL is also a subcircuit parameter used in calls for digital subcircuits).

MNTYMXDLY property

The MNTYMXDLY property defines the digital propagation delay level that PSpice must use for a digital part.

If you are creating a digital part, you need to do the following

  1. Add the MNTYMXDLY property to the part and assign a value shown in the table below.
    Assign this value... To use this propagation delay...

    0

    circuit-wide default

    1

    minimum

    2

    typical

    3

    maximum

    4

    worst-case (min/max)

  2. Use this property in the PSPICETEMPLATE property definition (MNTYMXDLY is also a subcircuit parameter used in calls for digital subcircuits).

PSPICEDEFAULTNET property

The PSPICEDEFAULTNET pin property defines the net name to which a power or ground (invisible) pin is connected.

For example, if the power and ground pins on a digital part are connected to the digital nets $G_DPWR and $G_DGND respectively, then the properties are defined as follows:

PSPICEDEFAULTNET=$G_DPWR

PSPICEDEFAULTNET=$G_DGND

If you are creating a digital part, you need to do the following

  1. For each power pin, create a PSPICEDEFAULTNET property and assign the name of the digital net to which the pin is connected.
  2. Use the appropriate pin name in the PSPICETEMPLATE property definition.

Specifying values for part properties

Note the following when specifying values for part properties:

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 schematic; this applies to any hierarchical level.

Some ways that you can use parameters are as follows:

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.

Declaring and using a global parameter

To use a global parameter in your design, you need to:

To declare a global parameter

  1. Place a PARAM part in your design.
  2. Double-click the PARAM part to display the Parts spreadsheet, then click New.
  3. Do the following for each global parameter:
    • Click New, then enter NAMEn in the Property Name text box, then click OK. This creates a new property for the PARAM part, NAMEn in the spreadsheet.
    • Click in the cell below the NAMEn column 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.
      System variables have reserved parameter names. Do not use these parameter names when defining your own parameters.
    • Click Apply to update all the changes to the PARAM part, and then close the spreadsheet.

    For 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

  1. Find the numeric value that you want to replace: a component value, model parameter value, or other property value.
  2. Replace the value with the name of the global parameter using the following syntax:
    { global_parameter_name }
    The curly braces tell PSpice to evaluate the parameter and use its value.

Expressions

An expression is a mathematical relationship that you can use to define a numeric or boolean (TRUE/FALSE) value.

PSpice evaluates the expression to a single value every time:

For example, a parameter that changes with each step of a DC sweep or parametric analysis.

Specifying expressions

To use an expression in your circuit

  1. 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.
  2. Replace the value with an expression using the following syntax:
    { expression }
    where {expression} can contain any of the following:
    • standard operators (listed in the Table below)
    • built-in functions (listed in the PSpice User’s Guide)
    • user-defined functions
    • system variables (listed in the PSpice User’s Guide)
    • user-defined global parameters
    • literal operands

    The curly braces tell PSpice to evaluate the expression and use its value.

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

relational*

==

equality test

!=

non-equality test

>

greater than test

>=

greater than or equal to test

<

less than test

<=

less than or equal to test

* Logical and relational operators are used within the IF() function; for digital parts, logical operators are used in Boolean expressions.

For lists of system variables and functions in arithmetic expression, refer to your PSpice User’s Guide.

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:

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...

DC bias

VDC or VSRC

AC magnitude and phase

VAC or VSRC

exponential

VEXP

periodic pulse

VPULSE

piecewise-linear

VPWL

piecewise-linear that repeats forever

VPWL_RE_FOREVER or VPWL_F_RE_FOREVER

piecewise-linear that repeats n times

VPWL_N_TIMES or VPWL_F_N_TIMES**

frequency-modulated sine wave

VSFFM

sine wave

VSIN

** 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.

To determine the part name for an equivalent current source

  1. 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.

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:

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.

VEXP

IEXP

VPULSE

IPULSE

VPWL

IPWL

VPWL_F_RE_FOREVER

IPWL_F_RE_FOREVER

VPWL_F_N_TIMES

IPWL_F_N_TIMES

VPWL_RE_FOREVER

IPWL_RE_FOREVER

VPWL_RE_N_TIMES

IPWL_RE_N_TIMES

VSFFM

ISFFM

VSIN

ISIN

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 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 Reference Guide.

Digital stimuli

If you want this kind of input...    Use this part....

For transient analyses

signal or bus (any 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 (any width)

FILESTIMn

Things to watch for

This section includes troubleshooting tips for some of the most common reasons your circuit design may not netlist or simulate.

Common reasons for simulation problems include:

Unmodeled parts

Unconfigured model, stimulus, or include files

Unmodeled pins

Missing ground

Missing DC path to ground

Using the FLOAT property

You must use the ‘0’ (zero) ground part in designs intended to be simulated by PSpice. If you have used other ground parts, you can rename them to ‘0’ so that they will be accepted by PSpice.

Unmodeled parts

If you see messages like this in the Capture Session Log:

Warning: Part part_name has no simulation model

then you may have done one of the following things:

Do this if the part in question is from the PSpice libraries

Replace the part with an equivalent part from an analog library or digital library with modeled parts.

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.

Check for this if the part in question is custom-built

To edit the properties for the part in question

  1. In the schematic page editor, select the part.
  2. From the Edit menu, choose part.
    The part editor window appears with the part already loaded.
  3. From the Edit menu, choose Properties and proceed to change the property values.

Unconfigured model, stimulus, or include files

If you see messages like these in the Capture Session Log,

(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

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

  1. In the Simulation Settings dialog box, click the Configuration Files tab and click Include, Library and Stimulus in the Category field.
    If the directory path is not specified, 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

  1. In the Configuration Files tab, click Library in the Category field.

Unmodeled pins

If you see messages like these in the Capture Session Log,

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. These parts may have a mix of modeled pins and unmodeled pins. The unmodeled pins map into packages but have no electrical significance; PSpice ignores unmodeled pins during simulation.

Check for this

If so, do one of the following:

Missing ground

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

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.

You must use the ‘0’ (zero) ground part in designs intended to be simulated by PSpice. If you have used other ground parts, you can rename them to ‘0’ so that they will be accepted by PSpice.

Missing DC path to ground

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

If so, then add a very large (for example, ) resistor either:

Using the FLOAT property

When preparing a circuit for simulation with PSpice, it’s important to be sure that all pins for all parts are connected properly. If a pin is intentionally meant to remain unconnected, you need to use the PSpice pin property FLOAT, rather than a No Connect symbol. Otherwise, the circuit may not netlist correctly for PSpice.

The pin property FLOAT may have one of the following three values:

Value

Description

Error

The pin will not netlist. An error message will be returned when the PSpice simulation netlist is generated. Use Error when you want to be reminded that this pin is a "no connect" and should be treated in a special way. Error is the default value.

RtoGND

The pin is connected to a virtual resistor, whose opposite pin is tied to GND. The resistor has a value of 1/GMIN. This value allows the simulation netlist to be created and allows PSpice to perform the analysis. The virtual resistor will not be processed as part of a layout netlist or appear in a BOM.

UniqueNet

The pin, when left unconnected, is attached to a unique node when the PSpice simulation netlist is generated. Use UniqueNet when you want the pin to remain unconnected but correspond to the Probe data associated with its part.

The FLOAT property can either be defined in the Part Editor when creating a new part, or you can edit a pin on an existing part using the Property Editor spreadsheet.

To define the FLOAT property using the Property Editor spreadsheet

  1. In Capture, double-click the pin to open the Property Editor spreadsheet.
  2. Click the Pins tab.
  3. Click New and type FLOAT (upper case) in the Property Name text box, then click OK.
  4. Click in the cell under the FLOAT column for the pin, and then type the property value you want to use.
  5. Click Apply to have the changes take effect.

For these device types, the PSpice libraries supply several parts. Refer to the PSpice Reference Manual for the available parts.


Return to top