Getting Started Manual

Transcription

Getting Started Manual
Personal Computer
Circuit Design
Tools
GETTING STARTED
© copyright intusoft 1986 - 1997
P.O.Box 710
San Pedro, Ca. 90733-0710
Tel. (310) 833-0710
Fax (310) 833-9658
web - www.intusoft.com
email - [email protected]
intusoft provides this manual "as is" without warranty of any kind,
either expressed or implied, including but not limited to the implied
warranties of merchantability and fitness for a particular purpose.
This publication may contain technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of
this publication.
Copyright
intusoft, 1986-97. All Rights Reserved. No part of this publication
may be reproduced, transmitted, transcribed, stored in a retrieval
system, or translated into any language, in any form, by any
means, without written permission from intusoft.
is a trademark of intusoft
Macintosh is a registered trademark of Apple Computer, Inc. Epson is a
registered trademark of Epson Inc. HP is a trademark of the HewlettPackard Corp. IBM is a registered trademark of International Business
Machines Corporation.
Intusoft, the Intusoft logo, ICAP, ICAPS, Design Validator, Test Designer,
ISSPICE 4, SPICENET, PRESPICE , INTUSCOPE, and IsEd are trademarks of
Intusoft, Inc. All company/product names are trademarks/registered trademarks of their respective owners.
Printed in the U.S.A.
rev. 97/12
2
Table Of Contents
INSTALLATION
Chapter 1 Introduction
10
10
10
11
12
13
13
13
14
15
Introduction
What’s In the ICAP/4 Package
Hardware & Software Requirements
Installing ICAP/4Windows
Hardware Protection Key Installation: Windows
Installing Network Versions of ICAP/4
Installing Other Products: SPICE Reference Books
Registration Information
Viewing The Readme Files
Where To Go For Information
Chapter 2 Tutorials
17
Intusoft Tutorials
19
20
21
22
23
24
25
27
28
29
31
33
35
36
38
39
40
41
42
43
45
47
49
50
Tutorial #1, SpiceNet Basics
IsSpice4 Requirements For Simulation
Opening An Existing Project In SpiceNet
Running a Simulation
Changing Projects
If You Get Into Trouble
SpiceNet Mouse and Keyboard Functions
Panning the Schematic
Zooming In, Out, and on a Portion of the Schematic
Part Placement
Selecting Components
Editing a Schematic
Wiring and Connecting Parts
Busses
Multiple Pages/Schematics
Labeling Parts, Changing Values
Changing Values using the Netlist Editor
Changing Node Names and Adding Wire Labels
IsSpice4 Control Statements
Entering Multiple Sets of IsSpice4 Control Statements
Adding Text / Adding a Border to the Schematic
Changing Schematic Attributes
Printing Your Schematic
Quitting the Tutorial
3
TABLE OF CONTENTS
4
51
52
53
58
59
66
68
72
74
77
80
82
85
Tutorial #2, Capturing a Schematic for Simulation
Placing Components
Adding Component Attributes
Test Point Symbols
Entering IsSpice4 Control Statements
Running a Simulation
Cross-Probing on the Schematic
Cross-Probing in IntuScope
Running a Parametric Sweep
Schematic Layers
Subcircuit Parameters
Test Configurations
Displaying Operating Point Voltages
89
89
89
90
91
91
92
93
94
95
96
97
100
Tutorial #3 - IsSpice4
Starting IsSpice4
The IsSpice4 Display
Simulation Control Dialog
Scaling Waveforms
Adding and Deleting Waveforms
Saving Vectors
Interactive Circuit Measurements
Sweeping Circuit Parameters
Viewing Operating Point Changes
Sweeping Groups of Parameters
Scripting: Introduction to ICL
Saving and Viewing Past Simulation Data
102
102
103
104
104
105
105
106
106
107
109
110
111
112
112
114
Tutorial #4 - IntuScope
Starting IntuScope From The ICAP/4 Toolbar
The IntuScope Screen Layout
Quitting IntuScope
Getting Help
Opening A New Graph Window
Selecting An Output File
The Output File Waveform List
Displaying A Waveform
Viewing Waveforms Directly From IsSpice4
Output File vs. Real-Time Data
Selecting A Waveform
Translating A Waveform
Scaling A Waveform
The Scaling Window
Advanced Scaling Features
INSTALLATION
116
116
117
118
119
120
121
123
125
126
129
130
132
132
Cutting and Pasting Waveforms
Selecting The Analysis Type
Changing The Graph Scaling
Changing Graph Labels, Titles, and Line Types
Saving, Closing, And Opening A Graph Window
REVIEW
Turning the Waveform Cursors On
The Calculator and Waveform Notation
Making Measurements On A Waveform
Operations On Waveforms
Program Files
Printing The Results
Editing the IsSpice4 Input Netlist From IntuScope
Hints For Using IntuScope
135
135
138
139
141
142
143
Tutorial #5 - Monte Carlo Analysis
Entering the Monte Carlo Design
Entering Device Tolerances
The Data Reduction Program
The Monte Carlo Simulation
Examining The Output
Scaling Curve Families
144
144
145
146
147
149
150
151
152
153
154
155
Tutorial #6 - An RLC Circuit Netlist
Starting ICAPS
Creating A New Project
Starting IsEd And Entering A Netlist
Getting IsSpice4 Syntax Help
Running An IsSpice4 Simulation From IsEd
Viewing The IsSpice4 Output Data
Searching For Transient Analysis Data
Fixing Netlist Errors
Getting The Right Output Data
Displaying Output Data In IntuScope
Window Sizes and Positions
5
TABLE O F CONTENTS
157
158
163
167
168
172
175
180
189
194
194
197
201
204
211
219
221
225
Tutorial #7 - Design Validator™
(For Design Validator and Test Designer users only)
Identifying Measurements
Setting Alarm Limits
Setting Operating Point Measurements
Running Scripted Monte Carlo Analysis
Expanding Measurement Limits
Defining Parametric Fault Variations
Measuring Vectors
Tutorial #8 - Test Designer™
(For Test Designer users only)
Beginning the Test Designer Tutorial
Setting Alarms, Faults, and Limits
Deleting Failure Modes that Overstress Components
Building the Fault Tree
Adding Safe-to-Start Tests
Adding a Special Non-Destructive Test
Using IsSpice4 Interactively to Determine Tolerances
Making the Final Product Acceptance Test
Optimizing the Test
Chapter 3 Analog Simulation Examples
157
229
234
238
240
245
251
254
258
260
263
265
268
270
271
276
278
6
AC Analysis - A Butterworth Filter
AC Analysis - A Butterworth Filter
Transient Analysis - A Rectifier Circuit
DC Sweep - Device Characteristics
Transmission Lines - Buffering and Impedance Matching
Noise, Distortion, and Fourier Analyses - Bipolar Amplifier
Using Subcircuits - Active RC Filter
Advanced Macro Modeling - Saturable Core
In-line Math Equations - AM Modulator
If-Then-Else - A Comparator
GaAs MESFETs - An Inverter
Simulating at Different Temperatures - Simple Amplifier
UIC\IC - Establishing Initial Conditions
Using Phase Delayed Sources
Using Code Models - Laplace Equations
Table Model Transfer Functions
Switches - A Comparator With Hysteresis
INSTALLATION
Chapter 4 Digital/Mixed Mode Examples
281
285
288
292
296
297
Analog-Digital Interfacing
Binary Counter
State Machine
Boolean Logic Functions
If-Then-Else - An A to D Converter
MIDI Synthesizer
7
ICAP/4
New Features Overview
ICAP/4 delivers a host of new and enhanced
features including new interactive simulation
capabilities and improved integration between
the schematic, simulation, and post processor.
New Interactive SPICE...
SPICE Like You’ve Never Seen Before
ICAP/4 contains ISSPICE4, the first and only
interactive version of SPICE
Real Time Waveform Display:
View circuit waveforms as the simulation
runs. Add, delete, or rescale waveforms at
any time.
view tran @q1[vbe]
alias rpow @r4[p] * V(1)
repeat 10
tran 1n 200n
alter @qn2222[bf] = @qn2222[bf] + 50
sendplot v(3)
end
Full Native Mixed Mode Capability:
ISSPICE4 combines the SPICE 3 core with a
12-state digital logic simulator to allow mixed
analog and digital circuits to be simulated at
the same time.
Use New C Code Models:
Access user/vendor developed models
written in a C language- based HDL. Over 40
new code models are already included.
Control The Simulation:
Start, stop, pause, or resume the simulation
at will. Interactively run different simulations
and change values using a powerful scripting
language.
Interactive Stimulus:
Sweep single parameters or groups of
interdependent parameters and watch the
circuit performance changes.
8
1
2
3
INSTALLATION
Unparalleled Power In
The Schematic
Multiple Configurations:
Place design variations and production drawings in a single schematic database.
Multiple Simulation Setups:
Save several sets of analyses and combine
them with various circuit configurations to
make multiple test scenarios.
Interactive Cross-Probing:
Peek and poke at different points in the schematic while the simulation is running.
Easy Parametric Function:
Sweep a component’s value and display the
resultant curve family with the click of a button.
Analysis and Convergence Wizards:
Create your analysis statements and overcome convergence problems automatically.
Attribute, Model, Subcircuit Editing:
On-the-fly editing of all SPICE attributes alleviates the need to know any SPICE syntax.
Failure Analysis:
Simulate failures, out-of-tolerance conditions, or other
user-defined device behavior.
Automated Measurements:
Make automated measurements, under a variety of
conditions, without manual interaction.
The Biggest and Best Model Libraries
10,000+ Models:
The main ICAP/4 libraries, along with the additional vendorsupplied IC/Op-Amp models, Power Designers Library,
Mechatronics Library, and RF Device library, contain over
10,000 models.
Modeling Support:
The Intusoft technical support staff makes SPICE models
for registered customers.
9
INTRODUCTION
Introduction
Welcome to Intusoft’s circuit simulation environment for Windows
95 and NT. This manual provides complete installation instructions
for all Intusoft software modules and a complete tutorial guide for
the ICAPS simulation system.
We would like to thank you for purchasing the Intusoft circuit
simulation system. As you already know, circuit simulation is an
important part of the overall circuit design task. The ICAPS
simulation system will provide you with capabilities that will
save you money, improve your understanding of your circuit
designs, and shorten your design cycle.
What’s In the ICAP/4 Package
Your package should include:
ICAP/4Windows disks or CD-ROM
Getting Started Book
ISSPICE4 User’s Guide
Design Entry and Data Analysis Guide
Model Library Listings
The ICAP/4 Deluxe Option also includes the RF (or Power) Device
Models and the Vendor-Supplied IC/Op-Amp Models, the
SpiceMod modeling program, plus the following manuals:
SPICE APPLICATIONS H ANDBOOK
A SPICE COOKBOOK
Hardware & Software Requirements
•
•
•
•
10
Windows 95 or Windows NT
Any 386, 486, Pentium, P6, or Digital Alpha computer with
a coprocessor
Hard disk (approximately 25 megabytes of free disk space)
At least 16 megabytes of RAM, 32 or more recommended
INSTALLATION
Hardware Protection Key Installation: Windows
Included in your package is a copy protection key that
MUST be installed before the software is installed.
To install the copy protection key;
•
Connect the key to the computer’s parallel port.
The key has a 25-pin connector at each end and should be
plugged directly intoyour parallel port. The key should be located
as close to the port on the back of the computer as possible. If
you already have an output device connected to the parallel port,
install the key between the device and the port. The protection
key is transparent to other users of the parallel port and does not
interfere with data sent to or from the port.
DO NOT LOSE THIS KEY! The ICAP/4 software package can not
be run without it. Once the software and key are in place, the
installation is complete.
Troubleshooting Hardware Protection Key Operation
Although every effort has been made to ensure the highest levels
of quality and compatibility, the protection key, like any other PC
peripheral, might not run on certain PC configurations.
If you have a problem with the key, it can usually be overcome by
checking the following:
See the
Hinstall.hlp file
for information
about CMOS
settings which
may resolve
hardware
incompatibility
with the key.
1) Are the key and parallel printer card connected, and are their screws
properly fastened? If they are not, reseat them.
2) Is a printer connected to the same port as the key? If so, does it work
properly? (Although this is a good sign, it does not necessarily mean
that the port and the printer are fully operational). If there is a printing
problem, try using another printer cable or another printer.
3) Try using the ICAP/4 system on another PC.
11
HARDWARE PROTECTION KEY INSTALLATION: PC
Installing ICAP/4Windows
Floppy Installation
• Insert the ICAP/4Windows Disk 1 into the floppy drive.
•
From Windows, run A:Setup if the disk is in the A drive, or
B:Setup if the disk is in the B drive.
Follow the instructions.
Back up your
distribution
diskettes!
CD Installation
• Insert the ICAP/4Windows CD-ROM into the CD drive. A
Welcome program should start automatically.
If it doesn’t, navigate to the root of the CD-ROM drive and
run the “Welcome.Exe” program.
•
Follow the instructions.
Default
Directory
Structure
ROOT DIRECTORY
C:\, D:\, etc.
ICAPS Default Directory (\SPICE8) Contains ICAPS.Exe, Hinstall.Exe, DLLs & HLPs
SpiceNet
SN
Symbols
SYMBOLS
Do not start the
Setup program
from a DOS
shell under
Windows.
12
IntuScope
IN
Sample
Tutorial
Design
Models
PR
IsSpice4
IS
SpiceMod
SM
Monte
AKTP2
Monte Carlo
Tutorial
Tutorial
Design
Device
Test
Circuits
Power
MixedMode
Power Library
Examples
Mixed Mode
Circuits
CIRCUITS
Sample Working
Directory
Examples
Getting Started
Examples
When complete, all software will be installed in the SPICE8
directory as shown above. The IS, PR, SN, IN, and SM directories
under the SPICE8 directory must not have their names changed,
but the SPICE8 directory name may be changed when the
software is installed.
INSTALLATION
Installing Network Versions of ICAP/4
•
Please refer to the ICAP/4 Network Installation Instruction
pamphlet.
Installing Other Products: SPICE Reference Books
The “SPICE APPLICATIONS HANDBOOK”, “A S PICE COOKBOOK”, and
“SMPS SIMULATION WITH SPICE 3” each come with a disk. These
disks DO NOT have to be installed. They contain schematics,
SPICE netlists, and other reference material related to the books.
You should only copy the appropriate material from each diskette
as it is needed.
Further instructions are located on the disks in a readme file.
13
REGISTRATION INFORMATION
Registration Information
Contained in this package is the Intusoft Software Registration
card. In order to receive the Intusoft Newsletter, you must
return this registration card. The Intusoft Newsletter is a
valuable resource for modeling and simulating hints, and is your
primary notification of product updates.
Please take this opportunity to fill out and mail or FAX
your registration form to us.
Also attached is a product questionnaire. After you have become
familiar with the software, please take a moment to answer some
of the questions. Your answers provide a valuable source of
feedback, and are used as a direction for new products and
product improvements. Comments are welcome.
Included with your software shipment are the following items:
Intusoft Newsletter, Newsletter Subscription Order Form, Money
Back Guarantee, Software Registration Card, and Product Questionnaire
Viewing The Readme Files
The SPICE8 directory contains a Readme file. The Readme file
contains important information and last-minute documentation
updates; it should be read before proceeding.
To view the Readme file in each subdirectory;
•
14
Select the Windows Start menu, then Programs, then
ICAP_4, then the Readme icon.
INSTALLATION
Where To Go For Information
SpiceNet, Schematic Entry - The SpiceNet schematic entry program
is discussed in the Design Entry and Data Analysis manual.
IsEd, Netlist Editing - The text editor is described in the Design Entry
and Data Analysis manual. It is used to create or edit a description of
the circuit you wish to simulate and to review the simulation's output
file.
IsSpice4, Simulation - To brush up on the many details of simulating
circuits with IsSpice4 and the syntax associated with an IsSpice4
netlist description, refer to the IsSpice4 User’s Guide or the IsSpice4
tutorial in this manual. An overview of the mixed model simulation
features can be found in Chapter 4.
IntuScope, Post Processing - The Design Entry and Data Analysis
manual contains a complete description of every menu function. The
manual also contains information about the various windows (Graph,
Scaling, Command, and Calculator).
Tutorials - This book contains a variety of examples to get you
simulating in the minimum amount of time. In-depth tutorials on
IsSpice4, SpiceNet, and IntuScope provide a comprehensive rundown. The Design Validator tutorial (for Design Validator and Test
Designer users only) covers the basic functions of the Design Validator option. The Test Designer tutorial (for Test Designer users only)
covers some of the basic functions of the Test Designer option. The
Simulation Examples chapter provides over 15 different sample
simulations which cover various topics.
Models - The basic IsSpice4 primitive models (diodes, BJTs, JFETs,
and MOSFETs) and subcircuit macromodels are described in the
Model Library Listings Guide. The Browse dialog in the SpiceNet
schematic entry program contains a complete listing of every model
which is supported by Intusoft. A hardcopy listing can be found in the
Model Library Listings booklet.
Code Models - An overview is contained in the IsSpice4 User’s Guide
and the CMSDK manual. Several examples are in the Getting Started
manual in the Analog and Mixed Mode Simulation Examples chapter.
15
WHERE T O GO F OR INFORMATION
16
BEGINNERS’ TUTORIALS
Tutorials
Intusoft Tutorials
After you have installed your Intusoft software, you are ready to
begin simulating. If you have used SPICE before, you will notice
how much easier IsSpice4 is to use, compared to other versions. If you have not, you will find that the ICAP/4 software is
a powerful addition to your circuit design arsenal.
The set of tutorials on the following pages will allow you to
become completely familiar with each piece of the ICAP/4 circuit
design system. We begin with a general introduction. Then we
provide an in-depth guide to the SpiceNet schematic capture
program, the IsSpice4 interactive simulator, and the INTUSCOPE
data post-processor. Next, there is a tutorial on the Monte Carlo
process, followed by a tutorial which shows you how to simulate
a SPICE netlist (if you have one and do not want to capture a
schematic for it). The Design Validator tutorial (for Design
Validator and Test Designer users only) covers the basic
functions of the Design Validator option. The Test Designer
tutorial (for Test Designer users only) covers some of the basic
functions of the Test Designer option. And finally, there is a set
of additional Analog and Mixed-Signal examples.
•
The required actions for each step in the tutorial
appear in bulleted bold type. Execute these instructions to complete the tutorial.
The following tutorial assumes you are running ICAP/4Windows
under Windows 95 or Windows NT with at least 16 megabytes
of RAM.
17
TUTORIAL OUTLINE
Tutorial #1 - SpiceNet Basics, pg. 19
Opening/Changing a Project / Running a Simulation
SpiceNet Mouse and Keyboard Functions
Panning and Zooming
Placing, Selecting, and Wiring Parts
Busses
Multiple Pages/Schematics
Labeling Parts, Changing Values
Changing Schematic Attributes
Programs Used
SPICENET - DESIGN ENTRY
ISSPICE4 - SIMULATOR
Tutorial #2 - Capturing a Schematic for Simulation, pg. 51
Placing Components / Adding Attributes
Test Points
Entering IsSpice4 Control Statements
Cross-Probing on the Schematic and in IntuScope
Running a Parametric Sweep
Schematic Layers
Subcircuit Parameters
Test Configurations
Displaying Operating Point Voltages
Programs Used
ISSPICE4 - SIMULATOR
SPICENET - DESIGN ENTRY
INTUSCOPE - ANALYSIS
Tutorial #3 - IsSpice4 - In-depth SPICE Simulator Tutorial, pg. 89
Starting IsSpice4
Screen display
Real-Time Waveforms
Interactive Stimulus - Measurements
Interactive Expressions
ICL Scripts
Programs Used
SPICENET - DESIGN ENTRY
ISSPICE 4 - SIMULATOR
INTUSCOPE - ANALYSIS
Tutorial #4 - IntuScope - In-depth Data Analysis Tutorial, pg. 102
Starting IntuScope
Graph windows
Displaying and manipulating waveforms
Making measurements
Waveform operations and functions
Programs Used
INTUSCOPE - ANALYSIS
Tutorial #5 - Monte Carlo Analysis, pg. 135
Entering device tolerances
Running a nominal Monte Carlo run
Making an IntuScope data reduction program
Running the Monte Carlo analysis
Examining the output
Programs Used
SPICE NET - DESIGN ENTRY
IS SPICE4 - S IMULATOR
INTUSCOPE - ANALYSIS
Tutorial #6 - An RLC Circuit Netlist, pg. 144
Tutorial #7 - Design Validator, pg. 157
(For Design Validator and Test Designer users only)
Tutorial #8 - Test Designer, pg. 189
(For Test Designer users only)
Analog Simulation Examples, pg. 229
Digital/Mixed Mode Examples, pg. 281
18
Programs Used
SPICENET - DESIGN ENTRY
ISED - TEXT EDITOR
ISSPICE4 - S IMULATOR
INTUSCOPE - A NALYSIS
BEGINNERS’ TUTORIALS
Tutorial #1, SpiceNet Basics
This chapter will familiarize you with the basics of creating an
analog or mixed signal circuit design. The SpiceNet program
has many capabilities, but we will focus on those which are
required to create schematics that produce a complete IsSpice4
netlist and are destined for simulation. The entire set of SpiceNet
features can be found by looking up the appropriate menu
function in SpiceNet’s on-line help.
SpiceNet is designed to be the fastest method for generating
SPICE netlists. If you have used other schematic entry programs, you will notice how fine-tuned SpiceNet is for SPICE.
SpiceNet generates a complete netlist which is ready for simulation and includes special facilities for part placement, adding
SPICE attributes, symbol creation, generating output data and
specifying SPICE control statements.
Let’s launch SpiceNet so we can get started.
•
Select the Windows 95/NT Start/Programs function.
Choose the Icap_4 program group, then the Start ICAPS
program.
Menu Bar
Icon Bar
This is the
SpiceNet
window.
Tool Pallette
Active Layer
View Layer
Contents
19
ISSPICE4 R EQUIREMENTS FOR SIMULATION
IsSpice4 Requirements For Simulation
In order to perform an IsSpice4 simulation, you must produce a
netlist which has the following elements:
•
•
•
•
•
Title line and .END line
Component connectivity and attributes
Stimulus, power, and ground
IsSpice4 control statements (Simulation Setup dialog)
Output control statements (Test Point Symbols)
SpiceNet will take care of the Title line, .END statement, and the
circuit connectivity, which consists of unique reference designations for each device, and the numbering of each node. The only
missing pieces are:
1) Component attributes
2) Stimulus, power, and ground
3) IsSpice4 control statements
4) Output control statements
We’ll discuss component placement and the assignment of their
attributes, IsSpice4 control statements, output control statements, and other key functions as we proceed through the
following tutorial sections.
Remember: If even one of the four key pieces is missing,
you will not be able to run a simulation.
20
BEGINNERS’ TUTORIALS
Opening An Existing Project In SpiceNet
Let’s open a sample schematic (.DWG file) and cover some of
the basics.
•
Select the Open function from the File menu and navigate to the Sample.DWG file. Sample.DWG is located in
the Sample2 directory under the SN directory.
SpiceNet
schematic files
have a .DWG
extension.
For information
about converting
schematics
from SpiceNet
version 7.x, see
the “Schematic”
item for the
“How To” topic
in the on-line
help.
Note: A project, or design, consists of one or more schematic
pages, and may contain multiple layers and configurations. The
topics of layers and configurations will be discussed in the next
tutorial.
21
RUNNING A SIMULATION
Running a Simulation
Let’s run our first simulation to make sure that the sofware was
installed properly.
The Run
Simulation icon.
•
Select the Simulate function from the Actions menu, or
click on the Run Simulation icon in the icon bar.
This launches IsSpice4 and runs the simulation of the Sample
circuit. The IsSpice4 simulation window is shown below.
IsSpice4
functions are
discussed in the
IsSpice4
Tutorial.
•
22
Select the Schematic function from the Actions menu
to go back to the schematic.
BEGINNERS’ TUTORIALS
Changing Projects
SpiceNet allows only one project to be active at a time. The
name of the active project appears in the title bar of the SpiceNet
(schematic) window, and designates the schematic that will be
simulated. If only one project has been opened, it is the active
project by default.
This is the
SpiceNet icon
bar.
The icon bar
may be moved
by dragging it.
You may open as many projects as you like, but only the
active project will be simulated when the simulation is
launched.
To change projects, close the active project. The next project in
the background then becomes the active project.
23
IF YOU GET INTO TROUBLE
If You Get Into Trouble
If you get into trouble, at any time, you can quit SpiceNet and
start over.
To quit SpiceNet;
•
Help icon
Select Exit / Quit from the File menu.
There is also an on-line help system.
Upon selecting Help (select the Help function in the menu bar,
or click on the Help icon), the on-line help index is displayed. You
can get help by pointing at a topic and clicking the left mouse
button.
If this is your first time using SpiceNet, a “First Time Users”
button is available.
24
BEGINNERS’ TUTORIALS
SpiceNet Mouse and Keyboard Functions
The following two tables summarize the most common SpiceNet
mouse functions and keyboard commands.
The mouse is used to perform a number of functions in the
SpiceNet program, including panning, object selection, and
component placement. Being able to use the mouse to perform
all of these functions will require some practice.
Mouse Usage
Desired Action
Place a pointer box
(determines where the next
part will be placed)
Mouse Action
Click the left mouse button
Pan the schematic
Press and hold the left mouse button until the pan
cursor appears, then drag the mouse
Select an object
Press and hold the left mouse button over an object
until the object is highlighted
Create a selection region
Press and hold the left mouse button, then drag the
mouse over the desired region
Select/Deselect Objects
Shift-click on the object to select / deselect
Move an object
Press and hold the left mouse button over an object
until the object is highlighted. Move the mouse.
Release the mouse button to place the object
Add Part Values
Double-click on a part, then type the value
Change Node Numbers
Select a part which is connected to the node, then
click the right mouse button, and select the Node
Names... function
Zoom In and Out
Click the right mouse button, then select the desired zoom level
25
SPICENET MOUSE AND K EYBOARD FUNCTIONS
Keyboard Command Usage
Common Actions
Get Subcircuits/Semiconductors
Place Passive Parts
Wiring Tool
Bus Tool
Ground
Test Points (.PRINT)
Rotate an object
Flip an object
Copy or Delete an Object(s)
Fit View To Screen
Zoom In/Out
Key To Press
Press X, then select the part, or select Find
Press the IsSpice4 keyletter (R, L, C, etc.)
Press W
Press 2, then press W
Press O (the letter “o”, not the number zero)
Press Y (voltage),
Press 2, then press Y (differential voltage),
Press 3, then press Y (current),
Press 4, then press Y (power)
Press + (plus key)
Press - (minus key)
Select the object(s), then press ^C or Del key
Press F6 function key
Press F7/F8 function key
We’ll use most of these mouse and keyboard functions as we
perform the tutorial steps in the following sections.
See the on-line help for a complete list of short-cuts and
term definitions.
26
BEGINNERS’ TUTORIALS
Panning the Schematic
To move the portion of the schematic that is showing in the
window;
•
Point at an empty area of the schematic. Press and hold
the mouse button until the cursor changes to the pan
cursor.
•
Move the mouse.
The Pan Cursor
When the mouse arrow changes to a 4-way arrow, you will be
able to drag the schematic around the window. When the mouse
arrow comes to the edge of the window, the schematic window
will begin to continuously pan. Make sure the cursor is not near
a component when you press the button, otherwise, you might
select the component instead of the pan cursor.
•
Release the button when you are finished panning.
•
Press F6 to refit the schematic to the window.
The panning motion is analogous to moving your drawing on the
drafting board. It does not alter the symbol positions relative to
the page borders or the rulers. Note: the scroll bars at the bottom
and right side of a window, along with the shift-arrow keys, can
also be used to pan the schematic.
27
ZOOMING IN , OUT,
AND ON A
PORTION OF THE SCHEMATIC
Zooming In, Out, and on a Portion of the Schematic
SpiceNet allows you to view different amounts of the schematic
sheet by changing the current zoom level.
Fit To Page
•
Point at the center of the SAMPLE schematic and click
the left mouse button to position the cursor.
•
Select the “2x Default Size” entry in the Zoom submenu
under the Options menu.
Zoom In
Zoom Out
icon bar
The F6, F7, and
F8 function
keys can be
used to change
the zoom level.
The schematic image is shown at 2X resolution.
You may also use the Zoom functions in the toolbar, special
function keys, or the variable zoom function in the Tool Pallette.
The F7 and F8 function keys may be used to zoom in and out.
•
Select the “Fit to Page” entry in the Zoom submenu
under the Options menu (or use the F6 function key).
The schematic image is scaled to fit the screen.
The Zoom functions may also be accessed by clicking the right
mouse button and selecting a zoom function from the pop-up.
Tool
bar
28
Additionally, there is a Variable Zoom Selected Area cursor in
the Tool Pallette along the right edge of the SpiceNet window.
To use this function, click on the Zoom Tool. The mouse cursor
arrow becomes a crosshair symbol. Point the mouse, then click
and hold the left mouse button and drag a bounding box around
the desired zoom area. When the area has been selected, let go
of the the left mouse button to zoom in on the selected area.
When you’ve finished zooming, hit the Escape key to return to
normal cursor mode.
BEGINNERS’ TUTORIALS
Part Placement
Components can be placed on the schematic in one of three
ways. They can be placed by typing the IsSpice4 key letter(s),
using the Parts menu, or by selecting the appropriate device
from the “X Parts Browser...” menu. Selection from the menu is
easier to learn, but typing the IsSpice4 keyletter is much faster
and will be the preferred method.
The insertion
point defines
where the next
component will
be placed.
Before we can place a part, we need to know where the part will
appear on the screen when it is placed. The point where the next
part will be placed is called the “insertion point”. It appears on the
schematic as a small blinking square box.
•
Click in an empty area of the schematic.
A blinking square box is shown where you clicked, in order to
indicate where the next component will be placed.
There are a few types of devices: passive, active, behavioral,
code models, and parts which require IsSpice4 subcircuits.
•
IsSpice4 key
letters place
symbols.
It’s much easier to place passive parts by pressing the IsSpice4
keyletter.
•
Browse Parts
icon
Pull down the Parts menu and select the Passive
submenu, then select the “R Resistor” entry.
Click on an empty area of the schematic. Press the
letter L to place an inductor.
Discrete parts, ICs, and subcircuit devices are placed via the “X
Parts Browser...” function in the Parts menu. You can navigate
to the part and click on the Place button, or you can click on the
Find button and then enter the name of the part you want.
•
Click on an empty area of the schematic. Select the X
Parts Browser... function under the Parts menu, or click
on the Browse Parts icon.
29
PART PLACEMENT
The preferred
method for
subcircuit part
placement is to
use the “X Parts
Browser...”
function.
To view or edit
the part’s model
library file,
simply click on
the Edit button.
If you place a
part and
subsequently
edit its library
file, you must
delete the part
from the
schematic, save
the drawing,
then place the
part again to
update its cache
information.
The Undo
function can be
used to step all
the way back to
the last saved
version.
30
You may navigate
to the part, OR click
on the Find button,
type the part name,
and perform a
forware or reverse
search
•
Select the “BJTs NPN” category under the Part Type
column. Select a transistor under the Part List column,
then click on the Place button.
Active devices can also be placed by typing the IsSpice4 key
letter(s). For example: D for Diode, Q for NPN BJT, 2Q for PNP
BJT, J for N channel JFET, etc.
Important Note: Active devices require an IsSpice4 model to
be added to the part as an attribute. Adding attributes involves
accessing the device's Properties dialog, and is described later
in the tutorial. Fortunately, when a device is called using the “X
Parts Browser...” function, no further modifications need to be
performed. If a device is placed using the IsSpice4 keyletter,
then the default Spice parameters will be used unless they are
modified in the Properties Dialog.
•
You can practice placing components using the various methods described above.
•
To remove any or all of the placed parts, select the
desired device(s) and press the Delete key or Control X,
or you may use the Undo function in the Edit menu to
undo all of the schematic changes you’ve made.
BEGINNERS’ TUTORIALS
Selecting Components
Bounding Box
In order to copy, delete, rotate, flip, label, or move a symbol, we
must first know how to select a symbol.
•
Select a single component by pointing at the center of
the symbol. Then press the left mouse button and hold
it until a bounding box appears around the symbol.
The part is now selected and can be deleted, copied, rotated,
flipped, or moved to another location.
Before Group
Selection
Dragging A
Bounding Box
After Group
Selection
•
Click the left mouse button in a vacant area to deselect
the symbol.
•
Now, select a group of symbols by first pointing the
mouse arrow outside the group of symbols.
•
Then, in one motion, move the mouse towards the
group and press the left mouse button.
As the mouse is moved, a bounding box is created.
•
Make the box big enough to surround all of the symbols
that you wish to select.
•
Release the mouse button to complete the selection.
Selecting all of the symbols may require several tries since the
bounding box outline depends on where you started the box and
where you finished it. If you have trouble getting the bounding
box to appear, keep trying.
*Note: If you get the pan cursor, and your drawing just moves
around the screen, then you didn't move the mouse before
pressing the mouse button. Try moving the mouse slowly and
then pressing the mouse button.
31
SELECTING COMPONENTS
Components can also be selected or deselected individually.
This is quite useful when you have to edit a schematic and move
or delete specific components.
Symbol
selection will be
required for any
symbol-specific
operation, such
as rotating,
labeling or
deleting.
32
•
Click the mouse in a vacant area to deselect the group
of selected symbols.
•
Press and hold the Shift key.
•
Point at a symbol and click the left mouse button.
•
Then point at a different symbol and click the mouse
button (with the Shift key still pressed).
Both symbols will be selected.
BEGINNERS’ TUTORIALS
Editing a Schematic
There are a variety of functions that can be used for editing your
schematic. They include the ability to delete, copy, paste, move,
rotate and flip.
Voltage Source
symbol
Once a symbol or group of symbols is selected, it can be copied
or deleted using the functions in the Edit menu.
•
Copy icon
Paste icon
Menu functions
can also be
selected by
pressing the
Menu keys,
preceding or
following the
menu function
name, for
example,
Control X for cut
and V to place a
voltage source.
Use the function
keys F7 and F8
to zoom in and
out; use F6 to fit
the schematic
on the screen.
Select a voltage source symbol. Select Copy from the
Edit menu. Click the mouse in a vacant area. Select the
Paste function from the Edit menu. Select the pasted
symbol. Then select the Cut or Clear function.
The voltage source symbol will first be stored in a paste buffer
(Copy), then pasted onto the schematic (Paste), and finally
deleted (Cut or Clear). The difference between the Cut and the
Clear functions is that the Cut function stores the deleted symbol
in the paste buffer for later insertion, while the Clear function
does not.
To move a symbol;
•
Point the mouse at the middle of a symbol and press the
mouse button until a bounding box appears around the
symbol. Drag the symbol. Release the mouse button to
place the symbol.
If the symbol touches the edge of the the window as you’re
dragging it, the schematic will automatically pan in the direction
that the symbol is being moved.
To move a group of symbols;
•
Select several symbols. Place the mouse arrow within
one of the symbols’ bounding boxes and press and
hold the left mouse button. Drag the resulting box.
Release the mouse button to place the symbols.
33
EDITING A SCHEMATIC
The selected symbols will be erased and replaced with a single
bounding box when they are being dragged. The group of
symbols can be moved around the screen while the left mouse
button is pressed.
•
Rotate icon
Flip icon
Try playing with various combinations of symbol selection and symbol moving.
Don’t worry about altering the schematic. The results will not be
saved.
To rotate or flip a symbol;
Note:
Only individual
symbols can be
rotated or
flipped.
Component rotation and flipping is performed most easily with
the + and - keys.
•
Select a symbol. Press the + key, then the - key.
The symbol will first rotate 90 degrees clockwise, and then flip
180 degrees.
34
BEGINNERS’ TUTORIALS
Wiring and Connecting Parts
Parts are connected either by joining two pins together, or by
connecting two pins with a wire. If the diamonds do not disappear, the parts ARE NOT connected.
When two parts are connected, the pins disappear and are
replaced with a node number, as shown above.
•
Wire/Bus
Tool icon.
You may
also use
this
button to
activate
the wiring
mode.
Place two resistors by pressing “R R”. Invoke
the wire mode by pressing the letter “W”. Point
at the left pin of the left resistor. Press and hold
the mouse button. Move up and to the right
until the wire is above the right pin of the right
resistor. Release the mouse button.
The mouse arrow changes to a wiring pencil when the letter “W”
is pressed. Pressing the left mouse button defines the beginning
of the wire. As the mouse is moved, the wire is drawn. Releasing
the mouse button ends the segment. Additional wires can be
drawn as long as the Wire pencil is active. Notice that wires snap
at right angles.
•
Finally, connect the top wire segment to the right
resistor’s right pin.
•
Draw a wire through the wire and the left resistor.
Wires may pass through other wires or parts without connecting, as long as you do not stop on another wire or cross a pin.
Wiring Rules
are defined in
the on-line Help.
•
Exit the wire drawing mode by clicking the mouse
button without moving the mouse (zero length wire), or
by hitting the Esc key.
35
BUSSES
Busses
Busses are wires which are used to connect groups of wires or
pins to other groups of wires or pins. They appear as thick wires
on the schematic.
The mouse arrow changes to a wire pencil when the keyboard
letters “2W” are pressed, or when the Bus function is selected
from the Parts menu.
•
To begin drawing a bus, select the Bus function from
the Parts menu, point to the desired starting point and
press and hold down the left mouse button. Draw a
vertical bus which is about 1” long.
As the mouse is moved, with the mouse button pressed, the bus
is drawn. Releasing the mouse button ends the bus segment.
Additional busses can be drawn as long as the bus pencil is
active. Busses which are drawn in this mode are orthogonal,
and automatically snap at right angles as the mouse is moved
away from (perpendicular to) the bus segment which is being
drawn.
•
To draw a bus
at any angle,
hold down the
CTRL key while
drawing the
bus.
Note: labels for
non-orthogonal
busses (or
wires) can not
be displayed on
the schematic.
36
To exit the bus drawing mode, click the mouse button
without moving the mouse (i.e. draw a zero-length
bus), or hit the Esc key.
Bus Rules
Busses may pass through wires, parts, pins, or breakouts from
other busses without making a connection. Busses may pass
through other busses without making a connection as long as
the end of one bus does not touch the end of another bus. If the
end of a bus touches the end of another bus, a connection is
made as long as the busses are compatible.
Busses may be drawn orthogonally or at any angle. Busses may
not be stretched or resized, but buses may be placed end-toend in order to create a continuous bus. In such a case, the two
busses join to become one continuous bus, and both will have
the same name.
BEGINNERS’ TUTORIALS
Non-orthogonal busses which are placed end-to-end will join to
form a continuous bus. This is also the case when an orthogonal
bus is placed end-to-end with a non-orthogonal bus.
•
Double-click on the Bus you’ve just drawn.
See the on-line
help for more
information
about busses.
This dialog allows the user to add nodes (breakouts), or subbusses to the bus. Let’s add an 8-pin breakout to the bus.
•
Click on the “Add to Bus...” button and enter a value of
“8” in the Add field, then click on the OK button.
•
Click on the “Bus1” string in the “Bus Nodes:” window.
•
Click on the “>>Add>>” button, then click on the “Make
Breakout” button.
Bus with an 8pin breakout.
The 8-pin breakout has been added to the bus.
37
MULTIPLE PAGES/SCHEMATICS
Multiple Pages/Schematics
SpiceNet is capable of editing multiple schematics and multiple
pages of a single schematic at the same time. This gives you the
ability to cut and paste between different schematics, and to use
previous designs. The Open function (under the File menu) and
the Pages function (under the Options menu) provide access to
other schematics and other schematic pages, respectively.
To create one or more additional pages for a design;
The Delete
function is used
to remove
pages.
•
Select the “Pages/Edit...” function from the Options
menu.
•
Click on the New button.
SpiceNet automatically suggests a name for the new page,
based upon the number of pages in the design.
•
Select the “Page 2” entry, and click on the OK button to
create the new page.
The new page, Page 2, is now the active window in SpiceNet.
38
BEGINNERS’ TUTORIALS
Labeling Parts, Changing Values
Attributes such as the value, node number, passed parameters
and reference designations for each symbol are accessed
through the Properties dialog.
•
Double-click on the resistor R13 in the Sample schematic. Type “120” into the Value field. Scroll down the
parameter list to see all of the available attribute fields.
•
Click on the Next Part or Prev Part button.
Double-click on
a part to bring
up its Properties
dialog.
The Split Label
Style allows you
to position each
part of the label
separately.
Split Label
Style
Part labels
can be
dragged
and
rotated.
Notice how each part in the schematic is highlighted as the
button is pressed. This feature allows you to enter all of the part
values and place all of the labels without leaving the Properties
dialog. You may have to move the Properties dialog, depending
on your screen size, in order to see the highlighted part.
Wide Label
Style
•
Click on the “Wide” Label style radio button to display
R13’s label in “Wide” mode.
•
Click on the OK button to close the Properties dialog for
the resistor. Notice that the value is now 120.
39
CHANGING VALUES USING THE NETLIST EDITOR
Changing Values using the Netlist Editor
Part attributes may be changed by double-clicking on the
desired part and then editing the value(s) in its Properties
Dialog. You may also, however, use the Netlist Editor to accomplish the same task.
•
Select the “NetList Edit...” function under the Actions
menu to open the NetList Edit dialog.
A good way to find a part is to select it from the Part list in the
upper left of the dialog, or click on the Next Part or Prev Part
button to navigate to the desired part. The schematic part will be
highlighted for you.
Once the part has been selected, click on the “Part Properties...”
button in order to bring up the Properties dialog for the part so
that you can edit one or more values within the dialog.
When the Properties dialog is dismissed, the NetList Editor
dialog remains open to permit subsequent operations.
•
40
Click on the OK button to close the NetList Edit dialog.
BEGINNERS’ TUTORIALS
Changing Node Names and Adding Wire Labels
Node names are automatically assigned by SpiceNet as the
nodes are created, but you may change them at any time.
Node names which are integers of 3 digits or less, e.g. 1, 22, and
333, are not selectable/movable schematic objects, and are
therefore always displayed.
Node names which are alphanumeric strings or integers which
have more than 3 digits, e.g. V123, VCC, VOUT, and 4444, are
not displayed by default, but may be turned on (displayed) on an
individual basis. You may assign wire labels at any time by
changing a wire’s node name to either an alphanumeric string
or an integer which is more than 3 digits in length.
To change the name of a node;
• Select any part (other than a wire or ground symbol) and
single-click the right mouse button to open the pop-up
menu.
• Select the “Node Names...” function in the pop-up menu.
• Select a node name and
change it.
• Then click on the OK button.
Note: The
display check
boxes are only
enabled for
node names
which are
alphanumeric
strings or
integers of more
than 3 digits.
To add a wire label;
• Double-click on a wire and
enter the name in the Node
Name dialog.
• Then click on the OK button.
41
IS SPICE4 CONTROL STATEMENTS
IsSpice4 Control Statements
This is the
preferred
method, as
opposed to
direct netlist
editing, for
adding
statements to
your netlist.
The User Statements window within the IsSpice4 Simulation
Setup dialog is used to add IsSpice4 statements and nonstandard SPICE statements. Any line which is entered into this
area of the dialog will be inserted into the input netlist.
•
Select Simulation Setup/Edit... from the Actions menu,
or click on the Simulation Setup icon.
This is the User
Statements
window where
you can type
your own netlist
statements.
Click on the
Help button for
IsSpice4 syntax
and analysis
control
statement
information.
The
Convergence
Wizard helps
you resolve
simulation
convergence
problems. See
the on-line Help
for more
information.
42
User Statements
Window
Help Pop-Up Menu
There is a powerful Convergence Wizard which will help you to
resolve simulation convergence problems, if they occur.
•
Click on the Convergence Wizard button and view the dialog.
•
Then click on the Finish button.
BEGINNERS’ TUTORIALS
Entering Multiple Sets of IsSpice4 Control Statements
SpiceNet has the ability to save multiple sets of IsSpice4 control
statements in different simulation setup “Configurations.”
The default
simulation setup
configuration is
“Setup1.”
A simulation setup configuration consists of a specific set of
IsSpice4 control statements. You may include any combination
of IsSpice4 control statements into each configuration.
Different simulation setup configurations can be used to drive
different simulation scenarios. For example, you might have one
configuration for a “Monte Carlo” analysis, and another for a
transient analysis.
The configuration methodology alleviates the need for you to
edit IsSpice4 control statements for different analyses or test
cases.
•
Click on the “Edit...” button beside the Configuration
scroll list.
•
Then click on the New button.
43
ENTERING MULTIPLE SETS OF ISSPICE 4 CONTROL STATEMENTS
•
Click on the OK button to accept the name “Setup2.”
•
Click on the Apply button to close the Edit Configurations dialog.
The IsSpice4 Simulation Control dialog for the Setup2 configuration is now displayed. It has not yet been configured with a .AC
or .TRAN statement, etc. We won’t configure it for the purposes
of our exercise.
Once multiple configurations have been defined, you may select
the desired one from the scroll list in the IsSpice4 Simulation
Setup dialog.
The selected simulation setup configuration will be used when
the next simulation is performed.
•
44
Click on the Done button to close the IsSpice4 Simulation Setup dialog.
BEGINNERS’ TUTORIALS
Adding Text / Adding a Border to the Schematic
Text objects may be added directly to the schematic.
Text tool
•
Select the Text Object function under the Parts menu,
or click on the Text tool in the toolbar.
•
Point to the insertion point with the mouse and press
the left mouse button. Type the words “Sample Text”
into the frame. If you then want to move the text, hit the
Esc key to change back to normal mode, then select the
text and drag and drop it on the desired location.
Text can also be attached to a schematic symbol so that when
the symbol is moved, the text will move along with it.
•
For information
on making
component
symbols, see
the Design
Entry and
Analysis
manual.
Double-click on R12 and enter the words “Attached
Text” into the Comment window (the Comment Window is the above the Properties list). Then click on the
OK button. The comment now appears on the schematic and is attached to the symbol you’ve selected.
Notice that the text and the symbol are attached to one another.
45
ADDING TEXT / ADDING A BORDER TO
THE
SCHEMATIC
A page Border may also be displayed on the schematic.
•
Select the “Border...” function under the Options menu.
•
Click on the Show Border check box to enable the data
fields. Then enter the desired Edge Distance and Line
Width values.
•
Click on the OK button to dismiss the dialog.
•
Hit the F8 function key to zoom-out in order to view the
entire page on your screen.
The Show
Border box
must be
checked in
order to enable
the border data
fields.
The page border now appears on the schematic.
46
BEGINNERS’ TUTORIALS
Changing Schematic Attributes
Fonts and Text Alignment
Text fonts and alignment are user-selectable. You may either
select one or more text objects and then change the font /
alignment, or select a font / alignment and then draw some text.
•
Select the “Sample Text” string on the schematic.
•
Select the “Font...” function from the Options menu.
•
Select a new font and click on the OK button.
To change the text alignment;
•
Select the “Text Justification...” function from the Options menu, and change the selection.
47
CHANGING SCHEMATIC ATTRIBUTES
Global Colors
You may change the colors of different schematic objects. The
“Global Colors...” function in the Options menu may be used to
change the following three global colors:
For information
about the
Global Colors or
Drawing Item
Characteristics
dialogs, see the
on-line help.
• The frame color which is used to highlight schematic parts
which have been selected
• The highlight color which is used by the View Layer function
(i.e. the “eye” in the lower left of the schematic window) to
highlight the components on the selected layer
• The grid dot color
Colors Of Other Items
You may also change the colors of other items. The “Drwg Item
Characteristics...” function in the Options menu may be used to
change the color of the following items:
• The line, fill, and text colors of schematic parts
• Wire and bus color
• Pin numbers, part numbers, node numbers/labels, and dis
played node voltage colors
• Artwork line, fill, and text colors
Once the desired colors have been selected, they may be
applied to selected items, layer, page, or entire drawing.
This dialog also controls whether or not specific items are
“visible” or “invisible.”
48
BEGINNERS’ TUTORIALS
Printing Your Schematic
The “Print...” function under the File menu invokes the schematic preview mode. The options at the top of the screen can be
used to adjust the size of the schematic on the preview page.
•
Note: Check
the Print Color
box when you
print filled
objects. This
box affects
printing, but not
viewing.
You may open
another
Windows
program and
use the Paste
function (^V) to
paste the
schematic
image.
Select the Print... function from the File menu.
Notice that the mouse cursor has become a magnifying glass
symbol. You may zoom-in on the schematic by pointing to the
desired zoom area and clicking the left mouse button.
To copy the image to the Windows clipboard so that you
can paste it into another Windows application;
•
Click on the Copy to Clipboard button.
To change the position of the image on the page;
•
•
•
•
Click on the Fit To Page
button, then click on the
Setup button.
You may change any of
the settings, if desired.
Click on the OK button to
dismiss the Page Setup
dialog.
If you’d like to print the
schematic, click on the
Print button.
49
QUITTING THE TUTORIAL
Quitting the Tutorial
We have finished discussing the basic principles of performing
schematic entry with SpiceNet. It’s time to create our first real
schematic design from scratch.
•
50
To end the tutorial, select Exit/Quit from the File menu.
Then click the No button to exit SpiceNet without
saving any changes to the SAMPLE schematic.
BEGINNERS’ TUTORIALS
Tutorial #2, Capturing a Schematic for Simulation
In this tutorial, we’ll create a schematic, perform a simulation,
and take a look at some waveforms.
The SpiceNet program has many capabilities, but we will limit
our discussion to functions which are used in typical designs.
The entire set of SpiceNet features can be found by looking up
the appropriate menu function in SpiceNet’s on-line help.
Let’s launch SpiceNet so we can get started.
•
Select the Windows 95/NT Start/Programs function.
Choose the Icap_4 program group, then the Start ICAPS
program.
51
PLACING COMPONENTS
Placing Components
Resistors,
capacitors,
inductors, etc.
may be placed
via intuitive hot
keys, e.g. R, C,
and L,
respectively, or
you may use
the pull-down
menus.
Let’s create a new design and capture a schematic. When
SpiceNet was launched, it automatically opened a new untitled
schematic page, so we’re ready to capture a circuit.
•
Point to any empty area on the schematic and click the
left mouse button.
A small box will momentarily flash on the screen to show you
where the cursor is positioned. The part we’re about to place will
be inserted at that location.
•
Hit the letter V (case doesn’t matter) to draw a voltage
source symbol on the schematic page. Alternatively,
you may select the Voltage Source option in the Parts
menu.
The voltage source symbol has been drawn on the schematic.
Notice that its reference designator, in this case V1, has been
assigned automatically. SpiceNet assigns it for you, but if you
wish, you may change it in the Properties dialog. The Properties
dialog is discussed in the next section of this tutorial.
•
Hit the letter O (not the number zero) to draw a ground
symbol.
Next, we’ll add some attributes to the voltage source so that we
can use it in our simulations.
52
BEGINNERS’ TUTORIALS
Adding Component Attributes
Each component has its own set of values which are loaded into
its Part Properties dialog.
To bring up the voltage source’s Properties dialog;
•
To enter a
parameter
value, point to
the desired
Value column to
activate its data
entry field, then
enter the value.
The Next Part
and Prev Part
buttons in the
Properties
dialog are used
to go to the next
or previous
schematic part,
respectively.
Point at the voltage source schematic symbol and
double-click the left mouse button.
When the Voltage Source Properties dialog is initially displayed,
the DC value’s text entry field is active. This allows you to
immediately enter a DC value, if desired. For our purposes,
however, we’ll add a parameter for an AC analysis, and another
parameter for our transient (time-based) analysis.
•
Click on the AC Value field and enter “1”.
This field is
used to
configure Time
Domain Stimuli
53
ADDING COMPONENT ATTRIBUTES
This is the recommended value for the AC analysis.
•
Then click on the Value field for the Tran Generators
parameter.
V1 will be used
as a stimulus
for both a
Transient (time)
analysis and an
AC (frequency)
analysis.
More than one
type of analysis
can be
performed in a
single
simulation run.
The Enter... button will appear.
•
Click on the “Enter...” button to enter the Transient
Generators dialog so we can define the characteristics
of our voltage source.
Default values
are used for the
parameters
which we didn’t
specify. See the
on-line Help for
more
information.
The Pulse tab should already be selected. If it isn’t, select it.
54
BEGINNERS’ TUTORIALS
“AC 1”
generates a
swept
frequency
stimulus in the
AC analysis.
“Pulse 0 1”
generates a
pulse stimulus
in the Transient
analysis.
Click on the
“Help” button to
see help about
the Properties
dialog.
Click on the
“Property Help”
button to see
help about the
voltage source.
•
Enter “0” in the Initial Value field.
•
Enter “1” in the Pulsed Value field, and then click on OK
to close the Transient Generators dialog.
Notice that the values we’ve entered appear in the Net List
Preview window.
“AC=1” will be used for the frequency sweep (AC) analysis. The
AC frequency range will be defined later, when we specify the
simulation control statement for the AC analysis.
“PULSE 0 1” will generate a single 0-to-1 Volt pulse for the
Transient analysis.
To see the Help screen for the voltage source;
•
Click on the Property Help button in the Properties
dialog.
55
ADDING COMPONENT ATTRIBUTES
•
Click on the “Pulse” field to the right of the “Transient”
entry to look at the Help for the Pulse specification.
This field shows
the IsSpice4
syntax for the
PULSE
statement.
All of the
PULSE
parameters are
defined here.
This information
is also in the
Transient
Generators
dialog’s Help for
the Pulse
function.
56
This screen displays the syntax and all of the required parameters for the Pulse signal source. There are examples at the end
of the dialog text.
BEGINNERS’ TUTORIALS
•
Close the Help dialog and click on OK to close the
Voltage Source Properties dialog.
Now that we’ve placed and defined the voltage source, let’s
capture the rest of a simple RLC circuit.
Use the “+” key
to rotate parts
90 degrees
clockwise.
•
Point to the upper pin of the voltage source and click
the left mouse button to set the insertion point.
•
Hit “RLC+O” (the letters R, then L, then C, then the +
key, then the letter O) to place a resistor, inductor,
capacitor, and ground symbol.
•
Double-click on the resistor and enter a value of “1K”
in its Value field, then click on the Next Part button.
•
Enter a value of “100U” in L1’s Value field, then click on
the Next Part button.
•
Enter a value of “30P” in C1’s Value field, then click on
the OK button to dismiss the Properties dialog.
Node 0 is
defined as
system ground
in all IsSpice4
netlists.
The schematic will look like this:
Save icon
To save the work we’ve done so far;
The Save icon is
enabled
(darkened) when
a change is
made to the
schematic.
•
Select the Save function from the File menu, or click on
the Save icon, then enter “R LC” in the “File name”
field.
•
Click on the Save button.
Notice that SpiceNet’s title bar now looks similar to this:
57
TEST POINT SYMBOLS
Test Point Symbols
Test points are used to generate real time waveforms (via VIEW
and ALIAS statements). These statements cause IsSpice4 to
calculate the simulated waveform data at the test point locations
and display them on the real time display, as we’ll see a little later
in this chapter.
Test Point
Symbols
There are four basic test point symbols available:
Y: node voltage (referenced to ground)
2Y: differential voltage
3Y: device current (placed within the body of a part)
4Y: device power (placed within the body of a part)
Nodes are
indicated by
node names/
numbers on the
schematic.
You may give
test points
descriptive
names, if
desired.
NOTE: Current
and Power test
points are not
fully supported
in the AC
analysis; test
points do not
support
subcircuit
elements
(reference
designators
which begin with
an “X”).
58
•
Click on the top pin of C1, the output, and hit the letter
Y to place a voltage test point on that node.
•
Double-click on the test point and enter “Voutput” in its
Name field, then click on the OK button.
•
Click on the body of R1 and hit “3Y+++” (the number 3,
letter Y, then 3“+”s) to place a current test point on R1.
•
Double-click on the current test point and enter “Iinput”
in its Name field, then click on the OK button.
When the simulation is run, the waveform data for the test points
will be calculated and available for viewing in IntuScope.
BEGINNERS’ TUTORIALS
Entering IsSpice4 Control Statements
Simulation
Setup icon.
So far, we have taken care of all but one of the items necessary
for generating an IsSpice4 simulation. The last thing we need to
do before running a simulation is to tell IsSpice4 what analyses
to perform. To do this, we need to add simulation control
statements to the netlist. Unlike other schematic entry programs, SpiceNet has special facilities for specifying SPICE
commands.
•
Select the Simulation Setup/Edit... function from the
Actions menu, or click on the Simulation Setup icon.
This dialog
contains
simulation
control
functions.
Click on the
Help button for
information
concerning any
of these
functions.
This dialog is used to generate the analysis statements which
will be included in the IsSpice4 netlist and used to drive the
IsSpice4 simulator. This information is required whenever a
simulation of the captured schematic is desired.
59
ENTERING ISSPICE4 CONTROL STATEMENTS
In addition to the on-line Help available in this dialog, there are
also two powerful wizards which will help you generate simulation control information quickly and accurately. We introduced
you to the Convergence Wizard in the SpiceNet Basics Tutorial.
Let’s take a look at the Analysis Wizard.
•
The Analysis
Wizard
automatically
creates the
simulation
control
information.
60
Click on the Analysis Wizard button.
Now let’s create the control statement for a Transient (time
domain) simulation of our RLC circuit.
•
Click on the “Transient - Nonlinear Time Domain Analysis” radio button and then click on the Next button.
•
Enter a value of “5n” for the Data Printout Step (Tstep).
BEGINNERS’ TUTORIALS
Tstep must be
small enough to
resolve the
highest
frequencies in
the circuit.
Tstep is the
time interval at
which
interpolated
data will be
recorded and
placed in the
output file.
•
Then click on the Next button.
•
Enter a value of “1u” for the Total Analysis Time
(Tstop).
•
Then click on the Next button.
•
Leave the “No” radio button checked. This is the default mode.
•
Click on the “Finish” button to complete the operation
and exit the Analysis Wizard.
Tstop specifies
the time length
of the
simulation.
61
ENTERING ISSPICE4 CONTROL STATEMENTS
The Analysis
Wizard has just
created the
IsSpice4
Transient
control
statement for
you.
Final ISSPICE4 Statement
IS SPICE4 Help Syntax
The Analysis
Wizard has also
activated the
analysis by
checking the
Transient box
for you.
You may enter
any ISSPICE4
statements in
this window.
User Statements
Window
Help Pop-Up Menu
The “.TRAN 5n 1u” statement tells IsSpice4 to perform a time
domain analysis when the simulation is launched. The simulation will begin at 0 seconds and end at 1 microsecond.
The Analysis Wizard has created the Transient statement for
you, and has also checked the box beside the Transient button
in order to activate the analysis so that it will be performed when
the simulation is launched.
62
BEGINNERS’ TUTORIALS
As you become more familiar with the different types of simulation analyses, you may select the desired analysis function and
enter the simulation parameters yourself.
•
Click on the “Transient...” button in the IsSpice4 Simulation Setup dialog.
The Analysis
Wizard has
entered these
data fields for
you. If you want
to change them,
you may
change them
here or revisit
the Analysis
Wizard.
Notice that the “Data Step Time” and “Total Analysis Time” fields
already contain data (i.e. 5n and 1u, respectively). The Analysis
Wizard enters the information for you. If you want to change the
simulation parameters for this analysis, you may change them
here or revisit the Analysis Wizard.
Next, let’s specify the simulation control information which will
be used to perform our AC analysis of the RLC circuit.
•
Click on the OK button to dismiss the dialog.
We could use the Analysis Wizard to create the control information for the AC analysis, just as we did for the Transient analysis.
63
ENTERING ISSPICE4 CONTROL STATEMENTS
The AC
analysis is a
linear analysis
which sweeps
the circuit
response
through a range
of frequencies.
See the on-line
Help for more
information
concerning AC
analysis.
This is the
IsSpice4 AC
Analysis control
statement we
just created.
The AC
Analysis box
has been
checked
(activated)
automatically.
64
Alternatively, however, let’s enter the data directly in the AC
analysis dialog within the IsSpice4 Simulation Setup dialog.
•
Click on the “AC Analysis...” button in the IsSpice4
Simulation Setup dialog.
•
Enter “10” for the No. of Points.
•
Click on the “Decade” button.
•
Enter “1K” for the Starting Frequency value.
•
Enter “100MEG” for the Ending Frequency value.
•
Click on the OK button to close the AC Analysis dialog.
BEGINNERS’ TUTORIALS
The “AC DEC 10 1K 100MEG” statement defines an AC
frequency sweep which collects 10 data points per decade. The
starting frequency is 1KHz, and the ending frequency is 100MHz.
We’ve just finished specifying the second of two control statements which will be used in the simulation. We’re now ready to
run both a Transient analysis and an AC analysis.
Notice that there are “check marks” in the check boxes beside
the Transient and AC analysis buttons. This indicates that those
analyses have been specified and activated.
You can activate and deactivate simulation options by checking
or unchecking their boxes. For example, if you don’t want to
perform the AC analysis, you may uncheck the box beside the
AC Analysis button.
•
Click on the Done button to close the IsSpice4 Simulation Setup dialog.
65
RUNNING A SIMULATION
Running a Simulation
At this point, we have captured the RLC schematic and entered
all of the required information.
When the simulation is performed, all applicable node voltage,
device current, and power dissipation data are saved by default.
Keep in mind, however, that data which is not applicable is not
saved, e.g. inductor and capacitor power dissipation are not
saved because these elements are ideal, and therefore do not
dissipate power.
Now let's run the simulation.
•
Select the Simulate function from the Actions menu.
The IsSpice4 simulation screen appears, and the simulation is
performed. The RLC circuit waveforms at the test points, i.e.
Voutput and Iinput, are drawn in the real-time display as they’re
calculated. We’ll see the waveforms for both the AC and Transient
analyses.
66
BEGINNERS’ TUTORIALS
The IsSpice4
simulator, and
how to use it
interactively,
are covered in
the next tutorial.
Important:
IsSpice4 must
remain open
while we crossprobe
waveforms.
Important Note: Do NOT quit the IsSpice4 simulation. It
must remain open while we cross-probe waveforms in the
next section.
67
CROSS-PROBING ON THE SCHEMATIC
Cross-Probing on the Schematic
Heirarchical
drawings may
also be crossprobed.
The analysis
type and
voltage/current
or power setting
are changed via
the Cross Probe
function under
the Actions
menu.
NOTE: Crossprobing does
not support
subcircuit
elements
(reference
designators
which begin with
an “X”). To view
subcircuit
instance
parameters, use
IntuScope’s
IsSpice Wfms
function or use
IsSpice.
68
ICAP/4 has the ability to interactively display node voltages,
device currents, and power dissipation directly on the schematic
and in IntuScope. To display a waveform on the schematic,
simply set the desired mode in the Actions/Cross Probe menu
and then click on the appropriate schematic node or device.
•
Select the Schematic function from the Actions menu
in IsSpice4 to switch back to the schematic so we can
perform the cross-probing.
•
Select the Probe function in the Actions menu, or click
on the Probe icon to activate the cross-probing tool.
Cross-Probing a Voltage
To view a voltage, simply click on the desired node or test point.
Let’s display the voltage at the output of the circuit. Notice that
the mouse arrow has changed to a probe symbol.
•
Click on the test point, “Voutput”, with the probe tool.
The voltage waveform appears on the schematic.
Voutput test
point voltage
•
Hit the Esc key to go back to normal cursor mode, then
select the cross-probed waveform and drag and drop it
out of the way so we can cross-probe some more
waveforms. Then select the Probe function from the
Actions menu to bring up the probe tool again.
BEGINNERS’ TUTORIALS
Cross-Probing a Device Current
To view a device current, simply click on the device.
Let’s display the current through resistor R1.
•
Click on the resistor, R1, with the cross-probe tool.
The current waveform appears on the schematic.
Current through R1
Similarly, you may move the waveform out of the way and then
cross-probe the current through L1 and C1.
As you recall, we ran both a Transient analysis and an AC
analysis. The active analysis type, Tran, is shown in the Cross
Probe menu under the Actions menu.
NOTE: To view
AC current or
power, use
IntuScope’s
IsSpice Wfms
function or use
IsSpice.
Cross-Probing an AC node voltage
To view an AC voltage, simply set the cross-probe analysis mode
to AC and click on the node with the probe tool.
Let’s change the probe analysis type to AC and take a look at the
AC magnitude response at the output of the RLC circuit.
•
Select the AC option in the Cross Probe function under
the Actions menu.
•
Move the R1 Current waveform out of the way, if
necessary, just as we did before. Then click on node 3,
the output, with the cross-probe tool.
The AC magnitude waveform for node 3 is displayed, as shown
on the next page.
69
CROSS-PROBING ON THE SCHEMATIC
AC voltage at node 3,
Voutput
Cross-Probing Device Power Dissipation
To view the power dissipation through a device, simply set the
cross-probe modes to Tran and Power and click on the device.
Now let’s display the power dissipation through R1.
•
Move the V(3) waveform out of the way, if necessary,
just as we did before. Then select the Tran option in the
Actions/Cross Probe menu, and then select the Power
option.
•
Click on the resistor, R1, with the probe tool.
The power through R1 is displayed.
Power through R1
70
BEGINNERS’ TUTORIALS
Power is a
time-domain
function.
Therefore, it
can only be
viewed in the
Transient
analysis.
Resistor power waveforms are saved by default. To see if a
part’s current or power waveform will be saved, look in the
parameter list in its Properties dialog, e.g. “i current” and “p
power.” A “yes” entry indicates that it will be saved so that it is
available for viewing. If a device’s current or power option is
turned off, i.e. the entry is “no”, you may turn it on by clicking on
“no” to open the data field, then selecting the “yes” option.
Note:
Resistor power
waveforms are
saved by
default. If
you’re not sure
if a part’s
waveforms are
saved, look in
the part’s
Properties
dialog.
Alternatively, you may globally save all device current or power
dissipation waveforms by turning on the Save options in the
“Save Data...” function of the IsSpice4 Simulation Setup dialog.
71
CROSS-PROBING IN INTUSCOPE
Cross-Probing in IntuScope
IntuScope
functions are
discussed in
Tutorial 4.
Just as we cross-probed to display node voltage, device current, and power dissipation waveforms on the schematic, we
may also display the waveforms in an IntuScope graph by
performing an additional step while cross-probing.
To send a waveform to IntuScope while cross-probing, we first
need to launch the IntuScope program.
IntuScope icon
•
To run IntuScope, select the Scope option in the Actions menu, or click on the IntuScope icon.
When IntuScope is launched, it automatically opens a new
(empty) waveform graph window.
•
Select the Schematic option from IntuScope’s Actions
menu in order to go back to the schematic.
Now we’re ready to send the R1 power waveform to IntuScope.
This is the
IntuScope
window.
This is the
IntuScope graph
window, which
now displays
the power
through R1.
72
•
Move the R1 power waveform out of the way, if necessary, just as we did before. Then hold the Shift key
down while you click on R1 with the cross-probe tool.
•
Select the Scope option from the Actions menu to view
the waveform in IntuScope.
BEGINNERS’ TUTORIALS
Now, let’s display the AC waveform at the output, node 3. Since
the Transient waveform has a linear time scale, and the AC
waveform(s) will have a semi-log scale, we’ll open a new
waveform graph in IntuScope.
•
Select the New Graph function from the File Menu in
IntuScope.
•
Select the Schematic option from IntuScope’s Actions
menu in order to go back to the schematic.
•
Select the AC option in the Actions/Cross Probe menu,
and then select the Voltage/Current option.
•
Hold the Shift key down and click on node 3 with the
cross-probe tool.
•
Select the Scope option from the Actions menu to view
the waveform in IntuScope.
AC magnitude
and phase
response of the
RLC circuit.
Notice that both
magnitude and
phase are
plotted for AC
nodes.
Notice that the AC magnitude AND phase waveforms are
displayed on the graph when you cross-probe a waveform
during the AC analysis.
73
RUNNING A PARAMETRIC SWEEP
Running a Parametric Sweep
Key circuit parameters can be varied directly from the schematic
environment, without having to restart the IsSpice4 simulator.
The Alter
function
allows you
to create
curve
families
quickly
and easily.
The Alter
function may
also be used to
change
component
values within
heirarchical
drawings.
Normal
cursor
mode icon.
You may
also use
this button
to go back
to normal
mode.
The Alter function enables you to automatically change a
component value and run a series of simulations. You can
execute a linear or logarithmic sweep of a component value.
You may select one or more waveforms which will be plotted in
IntuScope when the simulations are finished. This function
creates curve families quickly and easily.
In anticipation of the transient curve family that we’ll generate as
we sweep the value of R1, let’s create a new waveform graph
in IntuScope so the curve family will be easier to view.
•
Select the New Graph function from the File Menu in
IntuScope, then select the Linear function from
IntuScope’s Options/Graph Type menu.
•
Select the Schematic function from IntuScope’s Actions menu in order to go back to SpiceNet.
Now we’re ready to open the Alter dialog and set up the sweep.
We’ll sweep the value of resistor R1 from 1kΩ to 10kΩ in 1kΩ
increments and display the voltage at node 3 (the output node)
each time we change the value.
•
Hit the Esc key, or select the Normal function from the
Actions menu to exit SpiceNet’s cross-probe mode and
go back to normal cursor mode.
•
Select the Alter function from the Actions menu, or
click on the Alter icon in the toolbar.
Notice that the mouse arrow cursor has changed to Alter’s
magnifying glass symbol.
•
74
Click on resistor R1 with the Alter tool.
BEGINNERS’ TUTORIALS
The Alter dialog
can be used to
sweep common
component
values or
parameters.
Sweep/Value
definition
Analysis type
Waveform definition
Waveforms that
will be plotted
Alter Steps:
•
Click on the Linear button in the “Alter for R1 resistance” dialog to setup a linear sweep.
•
Enter a Stop value of “10k, and a Step value of “1k.”
Select the
analysis type
and then select
the X and Y
axis settings
•
Make sure that the “tran” Analysis Type is selected,
and that the Y Axis and X Axis settings are “Magnitude”.
•
Make sure that the “default: time” option is selected
under the X Axis field.
Select the
waveform(s) and
click on the Add
button
•
Scroll down the list below the Y Axis field and select the
“V(3)” entry in order to plot the RLC output at node 3.
•
Then click on the “Add” button to add the “V(3)” entry
to the Plot List at the bottom of the dialog.
•
Then click on the Run button to execute the simulation
sweep.
Select the type of
sweep and enter
the values
Click on the Run
button
75
RUNNING
A
PARAMETRIC SWEEP
Other more complex
sweeps can be
performed directly in
IsSpice4
This will sweep
the value of R1
from 1KΩ to
10KΩ in 1KΩ
increments, and
display a curve
family in
IntuScope.
Note: When you’re using the Alter function, you may only select
an analysis that you’ve performed.
•
Click on OK to close the Alter dialog, then select the
Scope function from SpiceNet’s Actions menu.
•
Select Actions/Schematic to go back to the schematic,
then hit the Esc key to go back to normal cursor mode.
This curve
family was
generated
automatically as
the value of R1
was swept.
This is the value
that generated
the curve.
IntuScope
functions are
discussed in the
IntuScope
tutorial.
76
BEGINNERS’ TUTORIALS
Schematic Layers
Let’s enhance our RLC circuit to create a more practical example.
You may create
a schematic
which has
multiple layers.
All layers are
superimposed
to create the
complete
design.
The parts we’ve placed so far have been on Layer 1, which is the
default layer. We’ll create a new layer, Layer 2, and place two
active devices (e.g. BJTs) and a subcircuit device (e.g. WIRE),
and some additional parts on that layer. Once we have added
the new parts to the new layer of the schematic, we’ll briefly
discuss the topic of “configurations.”
To create a new layer;
•
Select the “Layers...” function from the Options menu
in SpiceNet.
•
Click on the New button.
•
Type “Layer 2” into the “New Layer Name:” field.
•
Click on the OK button to close the New Layer dialog.
See the
“Working with
Schematic
Layers” section
in the on-line
help.
77
SCHEMATIC LAYERS
•
Click on the OK button to close the Layers dialog.
Now we’ll add a Darlington PNP-NPN configuration with a long
transmission line and a capacitive load.
•
This is our
enhanced
schematic.
Capture the schematic as shown below.
V3 is +10 Volts DC
Use the Parts
Browser to
place Q1, Q2,
and X1.
V2 and V3 are
10 Volts DC
(but notice the
polarities).
X1 is a subcircuit part
V2 is -10 Volts DC
The QN3904 is in the BJTs NPN/Switching category in the Parts
Browser. The QN3906 is in the BJTs PNP/Gen. Purpose
category. The WIRE is in the Interconnects/Generic category.
V2 and V3 are both 10 Volts DC, but notice the polarities.
Your schematic may vary from the one shown above. Variations
in the node numbers or reference designators will not affect the
simulation results.
78
BEGINNERS’ TUTORIALS
Use the Parts
Browser to
place Q1, Q2,
and X1.
Q1 (2N3904) is
shown here.
Layer selection
is done here.
Highlighting is
turned off when
the mouse
button is
released.
To highlight a layer;
•
Click on the “eye” in the lower left corner of the
schematic window and briefly press the mouse button.
Since Layer 2 is selected, all components on Layer 2 are
highlighted. All of the components you’ve just added are on
Layer 2.
To move one or more parts to a different layer;
• Select the component(s) and choose the “Move to Layer...”
function from the Edit menu.
• Then select the desired layer and click on the OK button.
We won’t, however, move any parts in our example.
79
SUBCIRCUIT PARAMETERS
Subcircuit Parameters
WIRE symbol
Notice that the
reference
designator for
the WIRE
device is “X1.”
In IsSpice4, “X”
represents a
subcircuit
device.
The X1 WIRE symbol presents a new concept. Unlike the active
devices, which are IsSpice4 primitive elements (basic building
blocks), the transmission line wire is an IsSpice4 “subcircuit”
(collection of IsSpice4 primitive elements which are grouped in
order to emulate a particular device).
Some subcircuits, which are called “generic subcircuits,” have
user-definable parameters which characterize their behavior.
These parameters appear within curly braces, e.g. {Z=???}.
The WIRE device is a generic subcircuit. It can be used to
represent a number of transmission lines just by inserting
different values for the user-defined parameters.
•
Double-click on X1, the WIRE in the schematic.
•
Click on the “???” string in the Z properties field in the
Subcircuit Properties dialog.
These are the
parameters for
the WIRE
device.
We’ll enter the
two parameters
here.
The three ???’s in the “Z
80
???” string are highlighted.
BEGINNERS’ TUTORIALS
•
Replace the ??? string with 150.
•
Click on the “???” string in the LEN properties field.
The three ???’s in the “LEN ???” string are highlighted.
•
Replace the ??? string with 36.
LEN is the wire length in inches, and Z is the impedance in ohms.
We have assigned values which represent a clip lead model.
The WIRE now has a LEN value of 36, and a Z value of 150.
All of the user-defined parameters for IsSpice4 symbols and
generic subcircuits will be entered in this manner.
•
Click on OK to close the Subcircuit Properties dialog.
81
TEST CONFIGURATIONS
Test Configurations
When a
schematic is
initially
captured, the
default test
configuration
name is
“Config 1”.
A Test Configuration consists of a specific set of layers. You
may include any combination of existing layers into each configuration. Each configuration should be thought of as a set of
transparencies which are stacked together. When a netlist is
saved, the stacked set of transparencies, or layers, are combined (flattened) to form the active design.
Different configurations can be set up to drive different simulation scenarios. For example, you might have one configuration
for a Monte Carlo analysis and another for a transient analysis.
You may have one configuration with one set of test circuitry,
and another with a different set of test circuitry.
The configuration methodology alleviates the need for you to
have multiple variations of the same schematic for different
analyses or test cases.
To create a new test configuration;
•
Select the Configurations / “Edit...” function from the
Options menu.
These are all of the
existing layers
Layer 1 contains the original RLC circuit, i.e. V1, R1, L1, C1, and
the “Iinput” and “Voutput” test points. Layer 2 contains all of the
other parts we’ve just placed. WF:0 contains the cross-probed
waveforms we’ve placed on the schematic.
82
BEGINNERS’ TUTORIALS
•
Click on the New... button.
•
The name “Config 2” is automatically suggested for
you. Click on the OK button to accept it.
When a new
configuration is
created, all
existing
schematic
layers are
automatically
added to it.
As new layers
are created,
they are
automatically
added to the
selected
configuration.
If we were to add any additional layers, they would automatically
be added to the currently selected configuration, Config 2.
Config 1 and Config 2 now contain the same layers, i.e. Layer 1,
Layer 2, and WF:0, since all layers are selected by default.
To edit a test configuration;
•
Click on the “Config 1” configuration and click on the
“Edit...” button.
•
Click on the “Layer 2” layer to deselect it, so that only
Layer 1 and WF:0 are selected.
•
Click on the OK button to close the Edit Configuration
dialog.
•
Click on the OK button to close the Configurations
dialog.
Notice that the parts on Layer 2 don’t appear on the schematic
because Config 1 is selected, and it doesn’t contain Layer 2.
83
TEST C ONFIGURATIONS
Let’s run a simulation of Config 1.
•
Select the Simulate function from the Actions menu.
This is the
simulation of
Config 1, which
only contains
Layer 1 and
WF:0.
Now, let’s run a simulation of Config 2.
This is the
simulation of
Config 2, which
contains Layer
1, WF:0, and
Layer 2.
84
•
Point to the Configurations function in the Options
menu and select Config 2.
•
Select the Simulate function from the Actions menu.
BEGINNERS’ TUTORIALS
Displaying Operating Point Voltages
ICAP/4 has the ability to display the operating point of the circuit
directly on the schematic.
Important:
IsSpice4 must
remain open in
order to display
the operating
point voltages.
•
Select the Schematic function from IsSpice’s Actions
menu to go back to the schematic.
To turn on (display) the node voltages;
•
Select the “Refresh OP Values” function from the
Refresh function in the Options menu.
The node voltages are now displayed on the schematic.
Note: The lower right corner of each node voltage box points to
the node which it represents.
Once the operating point values are displayed on the schematic,
you can select and move them in order to see them better, or you
may delete them (hit the delete key).
The schematic will then look similar to this:
You may
relocate (drag)
node voltages
to suit your
taste.
Note: The node
voltages will
revert to their
default positions
if the Refresh
OP Values
function is
selected again.
DC operating
point voltages
are displayed at
each node
Notice that node 1
is 0 Volts because
V1 is initially 0 Volts.
85
DISPLAYING OPERATING POINT VOLTAGES
If you want to hide the node voltages, i.e. not display them:
Drawing Item
Characteristics
icon
•
Select the “Drwg Item Characteristics...” function from
the Options menu.
•
Click on the Labels tab to open it.
•
Click on the “Visible” check box (un-check it) for the OP
Values in order to make the node voltages invisible.
•
Click on the OK button to dismiss the dialog.
The Visible
check box may
be “checked” to
display node
voltages, or
“unchecked” to
hide them.
Note: The only
way to view
them again is to
check the
“visible” box.
ICAP/4 also has the ability to display detailed operating point
information for a specific schematic part.
86
•
Select the OP option in the Actions/
Cross Probe menu.
•
Select Actions/
Probe to activate
the probe tool.
BEGINNERS’ TUTORIALS
A blank OP dialog box is displayed,
since no part was selected when the
OP function was chosen.
Let’s look at the operating point information for resistor R1.
•
Select R1 to display its operating point information.
•
Select the Save function from the File menu if you’d like
to save your work.
•
Select Exit / Quit from the File menu to quit SpiceNet.
You can also
display the
operating point
information for
the other parts
by clicking on
them.
You may click
on a node to
see its DC
operating point
value.
When you quit
SpiceNet, it
automatically
closes IsEd,
IsSpice, and
IntuScope.
This concludes the SpiceNet tutorial. In the next tutorial, we’ll
discuss the basic functions of IsSpice4.
87
DISPLAYING OPERATING POINT VOLTAGES
88
ISSPICE 4 TUTORIAL
Tutorial #3 - ISSPICE 4
IsSpice4 is a completely interactive version of SPICE. It is unlike
any analog/ mixed signal simulator you have run before.
This tutorial describes how to perform the following actions:
•
•
•
•
•
View and scale circuit waveforms
Control the simulation flow
Interactively sweep or measure circuit parameters
Interactively run different analyses
Automatically build curve families in IntuScope
Starting ISSPICE4
Let’s explore some of the IsSpice4 features by simulating a
simple low-pass filter.
IsSpice4 makes
an output file
just like other
SPICE
programs you
have run.
•
Open the AKTP2.DWG design under the working SPICE8/
IS/AKTP2 directory.
•
Select the Simulate function from the Actions menu.
IsSpice4 will load the SPICE netlist and run the designated
analyses. Once the initial simulation is complete, you will be able
to interact with the simulator.
The IsSpice4 Display
The IsSpice4 display presents several different windows: a RealTime waveform display, a Simulation Control dialog, an Errors
and Status window, and an Output window. In addition, the
Simulation Control window has several functions that can activate
other windows. These will be covered as we proceed.
89
THE IS SPICE4 DISPLAY
Note: Your
waveform
names and
display may
appear slightly
different.
After the simulation is complete, a display similar to the above will
appear. The Real-Time waveform display (in blue) shows the
circuit performance as the simulation runs. The Errors and Status
window provides simulation status information. The Output window functions in a manner similar to the traditional SPICE output
file, storing data produced by the interactive operations.
Simulation Control Dialog
When the initial simulation is finished, the Simulation Control
dialog is displayed. The currently active simulation, AC, will be
checked in the Mode: section. The Start, Pause, Resume, and
Abort buttons are used to control the IsSpice4 simulation.
The Simulation Control dialog is used to control the simulation
flow, provide access to past simulation data, and provide access
to the interactive parameters sweeping features, after the initial
simulation run.
90
ISSPICE 4 TUTORIAL
•
Click the Start button.
The Start button clears the Real-Time display and immediately
runs the last performed analysis.
Scaling Waveforms
IsSpice4 scales the Real-Time waveforms based on the .OPTIONS parameters Vscale, Iscale, and Logscale. However, at
any time before, during, or after a simulation, you can rescale any
waveform.
Double-click on
a waveform to
rescale it.
•
Double-click on the waveform V_4 (Node V(4)). Click the
Auto button. Click OK.
•
Do the same for the phase waveform (PH_V_4).
Adding and Deleting Waveforms
Before or after the initial simulation, you will be able to edit the
display by deleting or adding waveforms.
•
Double-click in the blank area underneath the V_4
waveform.
91
ADDING AND DELETING WAVEFORMS
•
Enter V(2) into the blank “Node:” field.
Click the Auto button and select OK.
V(2) will be displayed. Since the netlist includes
the “save all...” function, we have access to all of
the node voltages. Therefore, any node number
can be entered into the ”Node:” field. Note: only
waveforms from the active analysis can be
rescaled. For example, if a transient analysis is
running, you will not be able to rescale, add, or
delete waveform vectors from the AC analysis.
Saving Vectors
The Real Time display will initially show the vectors listed in the
.PRINT and .VIEW statements (created by test point symbols),
and the Interactive Command Language (ICL) view statement.
After the simulation is complete, all Print Expression vectors created with the ICL alias
and view statements will be displayed.
C1
39N
V1
10V
R2
10K
2
Q1
BJTN
1
R1
10K
C2
10N
R3
10K
3
V3
AC = 1
V2
-10V
V_4
For the AC, noise, and distortion analyses,
however, only the DB and phase quantities of
.PRINT vectors are available as real-time
waveforms. Other quantities such as the real
and imaginary parts must be displayed using
the ICL Alias command. Note: Print Expression vectors created with the Alias command
are always displayed after the simulation is
complete.
You can also add any waveform that has been
saved with the ICL save statement to the Real
Time display. As shown in the netlist, a variety
of ICL save statements have been used. Therefore, all of the voltages, currents and device
power dissipations from the circuit are available for all analyses.
92
ISSPICE 4 TUTORIAL
Interactive Circuit Measurements
The operating point of the circuit can greatly affect the simulation
results, especially for the AC analysis. With this in mind, the
Measurements dialog can be used to examine the operating point
and the real-time voltages and currents more closely.
Measurements
dialog
•
Click the Measure button in the Simulation Control
dialog to activate the Select Measurement Parameters
dialog.
•
Click on the “Main Nodes” entry. Double-click on the
“V(4)” entry in the bottom field. Double-click on the
“V(3)” entry.
•
Click on the Make button.
•
Click on the Start button to run an AC analysis.
The Measurements dialog will display the operating point voltage
at node 4 and node 3 using real and imaginary quantities. Then,
as the simulation runs, the quantities will be updated. You can
use this feature with any analysis to display the operating point
and exact values of key circuit parameters.
•
Close the measurement dialog.
93
SWEEPING CIRCUIT PARAMETERS
Sweeping Circuit Parameters
With IsSpice4, we can interactively explore the circuit design by
sweeping different parameters and watching the results. Because of the instant feedback, we can use the simulator to
interactively optimize the circuit performance.
•
Set the Persistence value in the Simulation Control
dialog to 5. This will allow 5 waveforms to be displayed in a
graph before the display is redrawn.
•
Click on the Stimulus button in the Simulation Control
dialog to activate the Stimulus Picker dialog.
Stimulus
Picker dialog
Let’s sweep the capacitor value for C2 and see what happens.
•
Click on the entry “c2”. Then double-click on the
“Capacitance” entry. The Stimulus dialog will be
displayed. Close the Stimulus Picker dialog.
•
Place the mouse on the right most (largest) arrow
and click once. Click the Set button.
Stimulus dialogs
The C2 value will change to 20nF and the simulation will be
rerun.
•
94
Check the Always option. Place the mouse on the
right-most arrow and hold the mouse button down.
ISSPICE 4 TUTORIAL
The simulation will run. At the end of the simulation, the value will
change and the simulation will rerun. By holding down the arrow,
we can sweep the value and watch the results. Note: The arrows
at the center will change the value slightly, while the arrows on
the ends will change the value greatly.
•
When you are finished, click the Revert button in the c2:
capacitance dialog. Then click the Set button. This will
set the circuit back to the way it was when we started.
Viewing Operating Point Changes
We can combine the Interactive Stimulus with the Interactive
Measurements to thoroughly evaluate the operating point performance of the circuit.
•
Click on the OP option in the Mode: section of the
Simulation Control dialog. This will change the analysis mode to Operating Point.
•
Click the Measure button. Select “q1”. Then
double click the “ib- current at base node”, “p Power dissipation”, and “vbe - B-E voltage”
entries. Select “r3”. Double click the “p - Device
power entry. Click on the Make button.
•
Click the Stimulus button. Select “r3”. Then
double-click on the “resistance-Resistance”
entry. Close the Stimulus Picker dialog.
•
Check the Always option. Change the value.
As you change the value, you will see the operating point
information for the selected parameters update.
•
When you are finished, click the Revert button in the
Stimulus dialog. Then click the Set button. Close all of
the Stimulus and Measurement dialogs. Click the AC
button in the Mode: section.
95
SWEEPING G ROUPS OF PARAMETERS
Sweeping Groups of Parameters
The Expression dialog works in a manner similar to the Stimulus
dialog. However, several circuit variables may be swept in
tandem.
•
Click on the Expression button in the Simulation Control dialog to activate the Select Expression Parameters dialog.
At this point, we could select several
parameters and sweep them all together.
However, for this example, we will go one
step further.
The Expression dialog allows the swept
parameters to be functions of other circuit
variables. For example, the cutoff frequency, fo, of the AKTP2 low-pass filter is
∝ 1/(R1*R2*C1*C2). If we change the component ratios, we will see a significant
change in the frequency response.
Type Here
•
96
Click on “c1”. Select the “capacitance-Device capacitance” entry. Click on “r1”. Select the “resistanceResistance” entry. Click the Make button. The default
setting will show the default component value multiplied by
CtrlVec1. Change the entries to those shown above.
ISSPICE 4 TUTORIAL
ISSPICE4
Stimulus and
Expressions
give you
complete
parameter
sweeping
flexibility.
You can use virtually any device or model parameter in the
Expression dialog. In this case, we will make C1 and R1 functions
of C2 and R2, respectively. As we sweep the value of CtrlVec1,
we will change the ratios of the values.
•
Change CtrlVec1 to 2.0 and click the Set button.
Play with the CtrlVec1 value and see what it does to the
waveforms. Any ICL command can be placed in the Expression
dialog. For example, by adding the sendplot command, the
named vector will be sent to IntuScope each time the CtrlVec1 is
changed, and will automatically build a curve family. Note:
statements in the Expression dialog are performed in order
BEFORE the analysis is run. After the statements are executed
an analysis is run. This means that the waveform sent to
IntuScope will be from the previous simulation.
•
Type the line “sendplot v(4)” in the Expression dialog
after the second Alter statement.
•
Make sure IntuScope is running. You can start IntuScope
by clicking on the Launch Scope icon in ICAP. Change
the CtrlVec1 value and click the Set button.
You will see how easy it is to build a curve family in IntuScope.
•
When you are finished, set CtrlVec1 back to 1 and run
the simulation to reset the values back to their defaults.
Scripting: Introduction to ICL
The bottom half of the Simulation Control dialog is used for entry
and execution of simulation scripts. This allows you to run
analyses that were not included in the initial IsSpice4 netlist or
send waveforms to IntuScope using the sendplot function. Unlike
other SPICE simulators, you don’t have to quit the simulator in
order to change analysis specifications. Simulation scripts can
use any of the Interactive Command Language (ICL) functions.
97
SCRIPTING: INTRODUCTION TO ICL
Let’s change the AC analysis specification.
•
Type the line “ac dec 25 100 10meg” into the Simulation Control dialog. Click the DoScript button.
Now let’s run a new analysis that we didn’t specify in the original
input netlist.
•
Delete the ac line and enter
the three lines shown in the
figure to the left. Click the
DoScript button.
A noise analysis will be run, and
the input and output noise waveforms will be displayed.
The Script Atoms pop-up contains all of the available ICL functions which include most of the
traditional SPICE functions.
98
•
Delete the three lines in the script window.
•
Select the “show” entry in the Script Atoms Output
menu.
•
Select all of the text in the Example: field. Press Control
C. Select all of the text in the Edit: field. Press Control
V to paste the Example: text into the Edit: field. Select
OK.
ISSPICE 4 TUTORIAL
Select the
desired Help
menu.
Copy the help text
(Control C) from
the Example or
Syntax fields.
Select all of the
text in the Edit
field and paste
(Control V) or
enter your own
options.
Move the Edit
text to the script
window by
selecting OK.
All of the information in the fields of the help dialog can be copied
to the Edit: field at the bottom. The OK button causes the Edit:
field contents to be copied to the script window at the cursor
position.
•
Click the DoScript button. Change the “show” function
to “show all” and click the DoScript button again.
Note: the show and showmod functions are used to display
SPICE 2 style operating point information in the Output window.
99
SAVING AND VIEWING PAST SIMULATION DATA
Saving and Viewing Past Simulation Data
IsSpice4 saves the data for each analysis it runs. Initially, one or
more plot names are given to each analysis performed when you
start IsSpice4. Some analyses (ac, dc, tran) receive one plot
name. Other analyses (noise, distortion) will generate more than
one set of vectors, and thus require one plot name for each set
of vectors. For example, the noise analysis calculates the total
integrated noise for each component over a frequency range, plus
noise spectral density curves (input/output noise waveforms).
Each set of data is given its own plot name. The same goes for
the distortion analysis which may run several passes for different
numerical evaluations (f1+f2, f1-f2, 2f1-f2, etc.) depending on the
options selected. Each set of vectors from each pass will be given
its own plot name. The “display” command is useful for determining the contents of a plot.
Future simulations replace the vector set most recently simulated unless the “Accumulate Plots” option is checked. This is
why the plot names do not normally increment if the Accumulate
Plots option is not checked.
Accumulate
Plots Check
Box
Your plot
names may be
different.
By changing the plot name, we can access the data from past
analyses.
•
100
Display the AC analysis data by selecting the “ac2”
entry in the Plots pop-up in the Simulation Control
dialog.
ISSPICE 4 TUTORIAL
•
Check the Accumulate Plots box. Change the value of a
resistor using the Interactive Stimulus functions reviewed earlier.
The data for each simulation will be given a new plot name. Note:
As plots are accumulated, the amount of memory used by
IsSpice4 increases.
•
To review the data from the previous AC analysis, pull
down the Plots pop-up and select another plot.
Note: IntuScope has access to the plot vector set shown in the
Plots pop-up via the IsSpice4 Plots function in the Waveforms
menu. Changing the plot changes the data set that these
programs can access.
•
Click on the Command button.
This window acts just like the script window. It is useful when the
script window is occupied, and you don’t want to delete the script
but you want to run a few simple ICL commands.
•
Type “display” into the Command window. Click the
DoScript button.
This will show the vectors contained in the named plot via the
Output window.
•
Change to a different plot name. Click the DoScript
button again in the Command window.
•
When you are finished exploring IsSpice4, select Quit
from SpiceNet’s Actions menu to quit the session. You
may discard any IntuScope graphs.
101
TUTORIAL #4 - I NTUSCOPE
Tutorial #4 - IntuScope
After a simulation is performed, you will want to view, or in some
way, analyze the output data. In IsSpice4, the circuit waveforms
are displayed in real time. However, the IntuScope program is
specially designed for more in-depth waveform analysis.
IntuScope can read the simulation data directly from IsSpice4
while the simulation is running. When used in this manner,
IntuScope can gain access to all of the voltages, device currents,
and device power dissipations in the circuit. The IsSpice4 data
may be from the AC, DC, Noise, or Transient analyses.
IntuScope can also display waveforms from an IsSpice4 output
file, or data files generated from other sources such as laboratory
test data. The simple file format required by IntuScope can be
found in the Design Entry and Data Analysis manual.
IntuScope is a versatile program which has a tremendous variety
of functions. Even though this tutorial is fairly complete, we will
not discuss all of the capabilities of IntuScope. The program is
menu driven and has on-line help for all menu functions. Experimentation is encouraged.
Starting IntuScope From The ICAP/4 Toolbar
•
Start ICAPS and open the Sample design in the Spice8/
SN/Sample2 directory.
•
Select the Simulate function from the Actions menu, or
click on the Run Simulation icon in the icon bar.
The simulation is launched, and the IsSpice4 screen appears.
•
102
Select the Scope function from the Actions menu to
launch the IntuScope program.
INTUSCOPE T UTORIAL
The IntuScope Screen Layout
The IntuScope program contains a variety of windows. However,
most of the action takes place in the Graph and Scaling windows.
The Scaling window will not be visible until a waveform is
displayed.
Command Window
Graph Window
Scaling Window
103
QUITTING INTUSCOPE
Quitting IntuScope
To quit IntuScope at any time, select Quit from the File menu. You
will be asked if you want to save any altered graph windows. Once
a graph window is saved, it can be recalled, and its waveforms can
be manipulated.
Getting Help
INTUS COPE has a
complete online help system
which contains
information
about all menu
functions and
commonly used
operations.
Click on any
topic for more
information.
104
A complete on-line help system is available at any time. It
contains help on all menu functions, as well as help for common
operations and questions. To get help, select Contents from the
Help menu.
Any topic in the index can be accessed just by clicking on the line
which contains the desired topic. The help system is crossreferenced. Some help screens will have a “Related Topics”
section.
INTUSCOPE T UTORIAL
Opening A New Graph Window
When displaying multiple waveforms, the active graph window
can become cluttered. New graph windows should be opened
freely in order to provide a clean workspace. Up to 40 graph
windows may be opened at any one time. When IntuScope is
called from the ICAP toolbar, a new graph window will be
opened automatically, so you don’t need to open a new graph
at that time. Later in the tutorial, however, you will need to do so.
To open a new graph window;
• Select the New Graph function from the File menu.
Selecting An Output File
When IntuScope is launched, it assumes that you want to look
at the data in the active project’s output file (in this case,
Sample.Out) or directly from IsSpice4, if it is running.
Selecting
waveforms from
several different
ISSPICE4
simulation runs
is covered later
in the “Viewing
Waveforms
Directly From
ISSPICE4”
section.
IntuScope can display data from several output files, several
simulation runs, different analysis types, and data with different
X and Y axes, all on the same graph. This allows waveforms
from different sources and simulations to be easily compared.
It is recommended, however, that you separate the information
logically, using several graph windows.
If you would like to display data from an output file other than the
default, select the Select Source Data function under the Waveforms menu. A list of output files will be displayed. The selected
file will become the active source that IntuScope will scan for
data. Normally, the “Select Source Data” file is the output file that
IsSpice4 has just simulated. In any case, only one circuit may be
active at any given time.
105
THE OUTPUT F ILE WAVEFORM LIST
The Output File Waveform List
IntuScope can access waveforms in the IsSpice4 output file or
directly from the IsSpice4 simulator. The traditional method of
displaying SPICE data located in the output file will be covered
first.
•
Your list may be
in a different
order.
Pull down the Waveforms menu and view the selected
output file and the list of waveforms.
The Waveforms menu will display the Sample.Out file as the
“Select Source Data” file, along with a list of the available
waveforms. If the Select Source Data file is changed, the
waveform list will be updated.
The list is determined by the selected analysis type in the
Analysis Type submenu. The output file will be scanned for the
selected analysis type, and the list of waveforms will be read
from the corresponding .PRINT and ∗Alias statements.
Displaying A Waveform
To display a waveform on an IntuScope graph, select the
desired waveform from the Waveforms menu.
•
Pull down the Waveforms menu and select
“VQ3E”.
The voltage waveform from node 5 will be displayed. The
waveform will have a black tag (waveform tag) with a
number inside of it. Every displayed waveform will be given
a unique number. The number is used to refer to the
waveform during subsequent calculations and operations.
The IntuScope graph window and its major features are
shown next:
106
INTUSCOPE T UTORIAL
Accumulator
Title Bar
Cursor Box
Y Axis Label
Cursor Label
Waveform Tag
Waveform Area
Scaling Areas
X Axis Label
Cursor Control
Cursor Difference
The maximum number of waveforms that can be displayed on any
one graph is determined by the amount of memory allocated to
IntuScope.
Viewing Waveforms Directly From IsSpice4
See the ICL
chapter in the
ISSPICE4 User’s
Guide for more
information on
the Save
function.
The second and more expedient method for displaying waveforms is to access them directly from the IsSpice4 simulator.
While IsSpice4 is running, IntuScope has access to all of the
waveforms that have been saved with the .PRINT or .VIEW
statements. In addition, the Interactive Command Language
function, SAVE, can be used to save node voltages, device
currents, device power dissipations, and many computed device
parameters. These waveforms can be accessed at any time, even
while the simulation is running.
After entering IntuScope, the IsSpice Plots function under the
Waveforms menu will allow you to choose one of the available
vector sets created by IsSpice4. The vector sets refer to
different analyses and past simulation runs stored in IsSpice4.
107
VIEWING WAVEFORMS DIRECTLY FROM ISSPICE4
•
Select the “IsSpice Plots...” function in the Waveforms
menu.
The most recently run simulation plot set will be highlighted in the
Select Plots dialog. Let’s display another waveform from the
transient analysis.
•
A plot is a set of
vectors, or
waveforms,
created from a
single analysis.
Click on the “Tran” entry in the Select Plots dialog.
Select OK.
This will activate the transient analysis data which was just
simulated by IsSpice4. You may notice that the Plots pop-up in
the IsSpice4 Simulation Control dialog has changed. You can
view this by bringing the IsSpice4 program to the foreground. If the
Accumulate Plots option in the IsSpice4 Simulation Control
dialog is checked, a new plot set (tran3, tran4, etc.) will be
created each time a new simulation is run.
Once the plot is selected, the “IsSpice WFMS...” (the Independent X-Y Plot dialog) will be displayed automatically.
IS SPICE Plots
IS SPICE WFMS
Notice that the dialog indicates the currently active plot in the
lower left corner.
Note: IsSpice WFMS (the Independent X-Y Plot dialog) can be
accessed directly using the “IsSpice WFMS...” function in the
Waveforms menu.
108
INTUSCOPE T UTORIAL
If IsSpice4 is not running, you will see the dialog
shown to the left. IsSpice4 must be running in order
to gain access to the real-time data. IsSpice4 does
NOT have to be running, however, to access the data
which has been stored in the output file.
From the “IsSpice WFMS...” dialog, you can select
as many waveforms as you desire. Since the “save all allcur
allpow” command was used, the voltages, currents and device
power dissipations will all be available.
The Add button
causes the
selected
waveform to be
displayed.
•
Scroll down the Y axis entries. Click on V(8). The X axis
variable should be left on the “time” selection.
•
Click the Add button to display the waveform. Select
Done.
Note, Interpolated vs. Raw Data: The IsSpice4 data which is
displayed in IntuScope is the raw IsSpice4 data that is NOT
interpolated. If you would like to see the interpolated data (based
on the TSTEP interval) check the Linearize box in the Independent X-Y Plot dialog. This option is mandatory if you want to
perform math on waveforms from different simulations (so that the
waveforms will have the same number of data points). Noninterpolated waveforms will have varying numbers of data points,
depending on circuit activity.
Output File vs. Real-Time Data
The waveforms listed in the “IsSpice WFMS...” dialog are taken
from the real-time data which is currently available in the IsSpice4
simulator. These waveforms are created with .PRINT, .VIEW, and
.SAVE statements. This function will normally be used to display
waveforms.
The waveforms which are listed at the bottom of the Waveforms
menu are taken from the data which has been stored in the SPICE
output file via .PRINT statements.
109
SELECTING A WAVEFORM
Selecting A Waveform
The IntuScope menus contain a wide variety of math functions.
Each menu entry is described in the Design Entry and Data
Analysis manual. Most of the menu entries which deal with
waveform measurements and manipulation only apply to the
active waveform. For example, the measurements performed
using the Measurements submenu in the Calculator menu will
report data on the active waveform. The active waveform will also
be referred to as the selected waveform.
Display V(5) from the output file and V(8) from IsSpice4. Your
graph should look similar to the following:
Active
Waveform
Scaling
Active Waveform
Notice that the second waveform has its own Y axis scale and a
new tag number. The active waveform will have the solid dot and
use the Y axis scaling label which is closest to the left edge of
the waveform area (the waveform which was just displayed). The
previously viewed waveform will use the scaling which is located
nearest to the outside edge of the graph window.
To change the active waveform, click anywhere on the desired
waveform. You may also type the waveform number and then the
letter W. Let's make waveform number 1 the active one.
110
INTUSCOPE T UTORIAL
•
Only one
waveform may
be active at a
time.
Click on a flat portion of the upper
right side of waveform 1.
Waveform 1 will become active.Type “2W”.
Waveform 2 will become active. (Do not type
the quotes.) Practice making each waveform active by alternately
clicking on each waveform and then by typing “1w” or “2w”. Notice
how the Y axis scaling changes. If the X axis scaling for the two
waveforms is different, the X axis scaling for the active waveform
will be displayed. In this case, however, the X axis scaling is the
same, so no scaling change is seen. Notice that only one
waveform may be active at a time.
Translating A Waveform
After a waveform is displayed on a graph, it can be scaled and
translated. To translate (move) a waveform up and down, place
the arrow on the waveform tag and hold the mouse button down.
A bounding box, which corresponds to the outline of the waveform, will appear. As you move the mouse up and down, the
bounding box will translate up and down. When you release the
button, the waveform will be redrawn where the bounding box is
located, and the scaling will be recalculated. Let's move waveform
#1 down.
•
Place the mouse arrow on waveform 1’s tag. Press and
hold the mouse button. Move the bounding box down
one grid division. Release the mouse button.
grid lines
bounding box
outline
Notice that the waveform has now moved down one grid division.
111
SCALING A WAVEFORM
Scaling A Waveform
To rescale a waveform, place the mouse arrow on the waveform
tag. Press and hold the left or right shift key and the mouse
button. Move the mouse to scale the waveform. Moving the
mouse up will increase the Yscale (shrink the waveform). Moving
the mouse down will decrease the Yscale (expand the waveform).
Let's rescale waveform #1.
•
Place the mouse arrow on waveform 1’s tag. Press and
hold down the mouse button and the left shift key. Move
the mouse arrow up one grid division. Release the
mouse button.
Notice that waveform 1 has shrunk and that the Y axis scaling
has changed. Both translation and rescaling may be performed
at the same time by holding down or releasing the shift key while
the mouse button is pressed and the mouse is moved.
The tag on a waveform may also be moved. To move the waveform
tag, place the mouse arrow on the tag and press the Alt key while
pressing the mouse button. Moving the mouse left and right will
cause the tag to move.
The Scaling Window
Waveform scaling and translation can be accomplished more
accurately using the Scaling Window. The Scaling window layout
is described on the following page.
There are two basic methods for changing waveform scaling.
The first method is to change the scaling values in the four boxes
provided (Y scale, Y offset, X scale, X offset). Data may be entered
directly by clicking in the appropriate box, or by pressing the tab
key until the appropriate box is selected, and typing the value.
112
INTUSCOPE T UTORIAL
Alternately, the scroll bar beneath each box can be used. In
either case, the active waveform will not take on the entered
scaling until the “return key” is pressed or the Yes button is
clicked.
The Scaling window is used to alter
and view the scaling
of the active waveform.
Scaling Values
Scroll Arrows
Scroll Bars
Scroll Box
Dynamic Scaling
Window
Active Waveform
Command
Buttons
Scaling Box
Scaling Box
Handle
Active Graph
The second method involves the Dynamic Scaling window. The
scaling box surrounding the waveform represents the waveform
area. The window can be shaped and moved, allowing zooming
and control of the final waveform display. To reshape the scaling
box, grab and move the Scaling Box handle. Holding down the
Shift key will allow the X and Y offsets to be set. To accept any
scaling changes, click on the Yes button. To reject any changes,
click on the No button. The Auto button is used to autoscale the
waveform using the nearest 1,2, or 5 scaling settings. The Snap
button is used to snap the scaling numbers upward to the nearest
1,2, or 5 settings.
•
Play with the Scaling window features. When you are
finished, click the Auto button to reset the waveform.
113
ADVANCED SCALING FEATURES
Advanced Scaling Features
IntuScope has several scaling features that can greatly ease
waveform display and measurement. They are located in the
Waveforms menu.
•
Select and display the V(8,7) waveform from the
Waveforms menu.
•
Click on the Scaling window. Set the Y scaling to
200mV per division. Click on the Yes button.
The Link Y Scales and Link X Scales functions immediately
cause all of the waveforms on a graph to be scaled to the same
settings as the active waveform.
•
Click on the graph. Select the Link Y Scales function.
After Link y
scales
The Y axes of all the waveforms are now the same as those of the
active waveform, V(8,7). Notice that V(8) was moved off of the
graph, due to the scaling settings. With the Link X scales
function, we can zoom in on all of the waveforms.
114
•
Click on the Scaling window. Set the X scaling to 5ns
and click on the Yes button.
•
Click on the graph. Select the Link X Scales function.
INTUSCOPE T UTORIAL
After Link x
scales
The last function, Tile Waveforms, causes all of the waveforms on
the graph to be tiled (evenly spaced). This is especially useful
when all the waveforms have the same Y axis scaling, as with
digital data.
•
Select the Tile Waveforms function.
After Tile
Waveforms
Notice how V(8) reappeared on the graph with the proper x axis
scaling.
•
Select waveform 1 by typing 1W. Then click on the
Scaling window and select the Auto button. Do this for
waveforms 2 and 3, as well. This will autoscale all of the
waveforms.
115
CUTTING AND PASTING WAVEFORMS
Cutting and Pasting Waveforms
Using the Copy, Cut, and Paste functions, waveforms can be
deleted, duplicated, and copied or moved to different graph
windows. Let's delete waveform 2.
•
Click on the Sample.ga window to activate the graph.
Select waveform 2 by clicking on the waveform. Execute the Cut function in the Edit menu .
Waveform 2 will be deleted. To get waveform 2 back, we can either
use the Edit menu’s Undo function or Paste function.
Selecting The Analysis Type
IntuScope can display waveforms from the Transient, AC, DC,
and Noise analyses. The IsSpice Plots dialog and the Analysis
Type submenu, under the Waveforms menu, determine which
type of analysis is active.
INTUSCOPE
Analysis Type
Menu
Your IsSpice
plot numbers
may be
different, e.g.
ac1, dc1,
noise4, etc.
116
I SSPICE4 plots
dialog
So far, we have been viewing only Transient analysis waveforms.
Let’s look at some AC analysis data. To do this, we must change
the active analysis type. First, let’s open a new graph.
•
Open a new graph window by selecting the New Graph
function from the File menu. This creates a new graph
with the name Sample.gb.
•
Select the “IsSpice Plots...” function from the Waveforms menu. Select “ac2” and click OK.
INTUSCOPE T UTORIAL
For AC analysis
plot vectors, an
additional popup menu for
selecting Real,
Imaginary,
Magnitude,
Phase, or DB
style data is
available for
each axis.
Notice that the list of waveforms in the IsSpice WFMS dialog has
changed.
•
Select DB in the pop-up above the Y axis, and then
select “V(7)”, click on Add, and then the Done button.
The magnitude (in DB) of node 7 will be displayed. It is not
necessary to save the DB version of the waveform using the
SPICE 2 .PRINT AC VDB(#) notation. Note: Magnitude waveforms can be converted to DB scaling using the “L todB” function
under the Calculator Functions submenu.
Changing The Graph Scaling
Notice that the graph scaling uses a 5-cycle semilog grid. Each
analysis type has a default graph grid setting: Linear grid for
Transient, DC, and Text Files; and 5-cycle semilog for AC and
Noise. Since the data only uses 3 cycles, let’s change the graph
scaling grid to a 3-cycle semilog grid.
•
Pull down the Graph Type submenu under the Options
menu and select the “Semi Log 3” function.
A dialog box will be displayed, stating that the scaling for all of the
waveforms on the graph will be changed.
117
CHANGING THE G RAPH SCALING
•
Click on the OK button.
When the graph scaling is changed, IntuScope will rescale any
waveform in the window to fit the new scaling. In some cases, it
may be necessary to redraw the graph window by resizing the
window so that all of the waveforms are redrawn properly.
Changing the number of semilog cycles used for AC data display
should not present any rescaling problems.
Changing Graph Labels, Titles, and Line Types
Along the left and bottom sides of the waveform area are the Y and
X axis scaling and label fields for the active waveform. The default
Y axis label contains the name from the Waveforms menu, and
the corresponding units. The default X axis label contains the
waveform number, the Y axis name, the X axis name, and the X
axis units. Both labels may be edited. Let’s edit the Y axis
label.
118
•
Select the first graph window, Sample.ga, by pulling
down the Windows menu and selecting Sample.ga.
Make waveform 1 the active waveform by clicking
anywhere on the waveform.
•
Place the mouse arrow on the Y axis label “V(5) in
Volts” and double-click the left mouse button.
INTUSCOPE T UTORIAL
You may double-click anywhere in the label area to activate the
Edit Label dialog box. The dialog will display the current label.
Let's change the node name.
•
Delete the characters “V(5)” and add the words “Laser
Diode Output” to the phrase “in Volts”.
The Edit Label dialog should look like the following:
•
Click on the OK button to place the new Y axis label.
The units for the Y axis can been changed by selecting the
desired units from the pop-up Units menu in the dialog. The X axis
label can be changed in the same way. The Edit Label dialog can
also be activated using the Options menu’s “X Axis Label...” or “Y
Axis Label...” functions.
The line style, which is used by IntuScope to display waveforms,
can be changed. The styles include interpolated line (default),
dots, and vertical bars. To change the line style, double-click on
the active waveform, or select the Options menu’s “Plot Style...”
function. The color of the waveform and the line thickness can
also be changed with the Plot Style function.
Saving, Closing, And Opening A Graph Window
Graph windows can be saved for later viewing or comparison with
other IsSpice4 output files. When a graph window is saved, the
waveforms, scaling information, and axis labels are all stored.
Let's save one of the graphs we have created.
•
Select Save Graph from the File menu.
119
SAVING, CLOSING, A ND OPENING A GRAPH W INDOW
The save graph dialog will be displayed to allow you to save or
rename and save your graph window.
•
Select Save or press the return key to save Sample.ga.
To close a graph window, select Close from the File menu. The
Save Changes dialog window will be displayed if the graph has not
been previously saved. Do not close the window at this time.
Selecting Yes will cause the graph to be saved under the current
graph name. Selecting No will close the graph window and
discard all changes which have been made since the last save.
Selecting Cancel will abort the Close Graph process.
Old graph windows can be opened using the File menu’s “Open
Graph...” function. Let's open an old graph window.
•
Select the “Open Graph...” function from the File
menu. Open the graph file called “Demo.ga” which is
located in the Spice8\IN directory.
The graph window, demo.ga, will be displayed.
REVIEW
So far, we have learned to display waveforms from different
analyses, control their scaling, and change the graph window
display. The real power of IntuScope, however, lies in its tremendous variety of data analysis and measurement capabilities.
These are reviewed next.
120
INTUSCOPE T UTORIAL
Turning the Waveform Cursors On
Each waveform on the graph display has two associated cursors.
The cursors move along the waveform and provide an accurate
display of the waveform values at any point. Let's turn on the
cursors for the active waveform.
•
Select the graph “Sample.ga” from the Windows menu.
Activate waveform 1 by clicking on it. Then move the
arrow to the cursor control area and click on the L and
R buttons.
Two cursor boxes will appear at the edges of the waveform, along
with a vertical line through the middle of each box. To see the
graph display more clearly, let's make the window full size.
•
Click on the graph window's
zoom box.
Zoom Box
Let's move the left cursor to the time of 30NS.
•
Place the arrow near the middle of the left cursor's box.
Press and hold the left mouse button. Move the mouse
to the right until the crosshair reaches 30N. Release the
mouse button.
Place the mouse
arrow inside the
cursor box. Press
and hold the
mouse button to
move the cursor.
Cursor
Box
121
TURNING THE WAVEFORM CURSORS O N
Only half of the cursor box will be shown initially because of its
location at the edge of the waveform area. As long as the arrow
is within the cursor box, the cursor can be grabbed and moved.
Notice how the cursor slides along the waveform. To really use the
cursors effectively, we need to turn on the cursor labels.
•
Click on the # buttons below the L and R buttons.
•
Now, move the right cursor until it is centered at 60N.
The display should look like the following:
The cursor labels contain two numbers and three buttons.
X Axis Move Button
Y Value
X Value
Y Axis Move Right Button
The number at the top is the current X axis value of the cursor. The
number at the bottom is the current Y axis value of the cursor. The
X axis move button is used to move the cursor to a specified X axis
value. This value is specified by entering the number into the
accumulator. For example,
122
INTUSCOPE T UTORIAL
•
Type the number “40N”, then press return.
You will see the number being entered into the accumulator at the
top of the graph window as you type the characters.
•
Click on the X axis move button which is located on the
left cursor’s label.
The left cursor will move to 40NS. The Y axis buttons are used to
move the cursor to a specified Y axis value. There are two buttons
because each cursor can be moved either to the left or to the right
before it encounters the specified Y axis value. The Y axis value
is specified in the same way that the X axis value was entered.
These functions can also be performed using the function keys,
as shown in the Calculator Cursor submenu.
If the waveform number of the active waveform is entered into the
accumulator, for example, by typing “1w”, then clicking on the Y
axis move buttons will cause the cursor to move along the
waveform, data point by data point, in the indicated direction.
It is possible to turn on or off both cursors, their labels, and the
X and Y axis cursor difference values by clicking on ∠ button.
•
Make waveform 2 active, then click on the Ð button.
Notice how all the cursor features are activated. The “0” button is
used to show the zero Y axis level of the active waveform.
The Calculator and Waveform Notation
The Calculator window contains two parts. The display on the left
contains the calculator's accumulator and stack. The number of
visible stack entries can be changed by pressing a number and
the letter “Z”, where the number entered is the number of stack
entries you want to see. Typing “0Z” causes only the accumulator
to be displayed. The section on the right is a number pad for
entering data.
123
THE CALCULATOR AND WAVEFORM NOTATION
The message “Use ; prefix ...” is used to remind the user that
most Calculator menu functions can be executed by typing “;”
and the function name.
Three special keys are included on the pad. “C” clears the current
accumulator entry. “S” saves the accumulator entry. “W” causes
the notation WFM.G$W# to be entered into the accumulator,
where $ is the active graph's number, and # is a waveform number
which was previously entered in the accumulator.
The calculator operates using reverse polish notation which is
very much like that of a Hewlett-Packard calculator. For example,
let's add two numbers.
•
Select the calculator window by clicking on the window or selecting “Calculator” from the Windows menu.
Type “2”, return, “2+”.
The answer “4” will be displayed. Unlike most normal calculators,
however, the calculator in IntuScope can operate on two numbers, on one number and one waveform, or on two waveforms.
124
INTUSCOPE T UTORIAL
Making Measurements On A Waveform
There are a variety of ways to make measurements on a
waveform. The most simple is to use the cursors to measure
waveform values. We have learned that the cursors can be moved
either by the mouse or by values which we’ve placed in the
accumulator. The cursor values can also be placed into the
accumulator for further manipulation. The function keys on
extended keyboards, F5 through F10, are used to put the X, Y,
and difference cursor values into the accumulator.
There are a number of common measurements that can be made
on a waveform. They are listed in the Calculator menu under the
Measurements submenu.
•
Select the Sample.ga graph from the Windows menu.
Then, select the “a
average” function from the
Calculator Measurements submenu.
Notice that the average value of the active waveform is displayed
in the accumulator on the graph window and in the calculator's
accumulator. The functions in the Measurement submenu can
also be executed by pressing the letter in front of the desired
operation. These letters are referred to as “Quick Keys” and are
used to access many common operations in the Calculator
menu. Quick Key letters are case insensitive.
•
For example, type the characters “< > p r”.
Notice how the minimum, maximum, peak-peak, and RMS
values are displayed as each key pressed. These and other
measurements can be stored in a temporary file for later recall
using the “o toOutput” function in the Calculator menu. The “o
125
MAKING MEASUREMENTS ON A WAVEFORM
toOutput” function will place the contents of the accumulator in
the Output Record window. The Output Record can be displayed using the WINDOWS menu. The contents of the Output
Record are saved in a text file called “tmp.tmp” after IntuScope
is exited. See the Design Entry and Data Analysis manual for
more information on the Output Record. Let's store the peakpeak voltage of the active waveform.
•
Press the letter “p” (peak-peak function). Then, press
“o” (toOutput) or select the “o toOutput“ function from
the Calculator menu. Select the Output Record function from the Windows menu.
The Output Record window will contain the peak-peak voltage
measurement. You may edit the Output Record and enter
whatever information you choose. Click on the close box when
you are finished viewing the Output Record window.
Operations On Waveforms
Arithmetic operations can be performed on two numbers, on one
number and one waveform, or on two waveforms. The arithmetic
operations are performed on entries in the accumulator and
stack. Let's multiply waveform 1 by 5.
•
Make sure Sample.ga is active. Type “1w5∗
∗”.
A new waveform, waveform 0, will be created to hold the result
of the operation. Now let's multiply two waveforms together. To
get another transient analysis waveform on the graph, we will
need to change the Analysis type back to Transient.
•
Select the Transient option from the Analysis Type
submenu. Then select I(VM1) from the Waveforms
∗”.
menu. Type “1W3W∗
Notice that the waveform I(VM1) was displayed as waveform 3.
We then entered waveform 1 into the accumulator, then wave-
126
INTUSCOPE T UTORIAL
form 3 into the accumulator. Waveform 1 was pushed into the
stack. Upon pressing the “∗” key, the accumulator entry was
multiplied by the stack entry. The result was displayed as
waveform 0. Notice that the units (Volts ∗ Amps = Watts) were
automatically calculated.
Important Note (Waveform 0): Any operation involving one or
two waveforms will have its result placed in waveform 0 (a
waveform with a tag number of 0). This will allow the original
waveforms to be viewed, while also displaying the result of the
operation. Waveform 0 may then be saved as another waveform
by typing “#WS” where # is the waveform number in which
waveform 0 will be saved. If waveform 0 is not saved to an alternate
waveform number, the next operation which involves a waveform
will cause the result which was stored in waveform 0 to be
replaced by the new result, as we just saw in the last two
examples. Let's save waveform 0 to waveform 4.
•
Type “4WS”.
The Calculator menu contains all of the functions that can be
performed on waveforms. You should view the help screens to see
a description of the functions. Some functions, such as poly
(polynomial regression) and pwl (piece-wise linear file generation)
have their own help screens. The waveform notation which is used
here may be new to you.
A few examples which illustrate some common functions are
shown below.
Integrating a Waveform
To integrate a waveform;
•
Display and select the waveform which will be integrated.
•
Press the letter “I” or select the “i integrate” function
from the Calculator’s Calculus submenu.
127
OPERATIONS ON WAVEFORMS
The integral of the active waveform will be displayed as waveform 0. The menu functions which are listed in the Calculus
menu are called waveform immediate operations because they
do not require an accumulator entry, and execute immediately
after selecting the function.
Performing an FFT
The FFT (Fast Fourier Transform) is another waveform immediate
operation.
To perform an FFT (Magnitude response) on a waveform;
•
Display and select a waveform. Press the letter "f", or
select the “f fft, time ->mag” function from the Calculator Calculus submenu.
Performing Piece-Wise Linear (PWL) File Generation
IntuScope has the ability to take any waveform that is displayed
on the graph window and convert it for use as a voltage or current
source in a simulation. IntuScope takes the data points associated with the waveform and constructs an IsSpice4 syntax
compatible PWL statement. The waveform may be from a
simulation or the result of any IntuScope operation. Using the
extensive set of IntuScope waveform operations, signal generators, and the pwl function, virtually any type of stimulus can be
created to test your circuit.
To digitize a waveform and create a PWL statement;
•
128
Display and select the waveform that you would like to use
as a voltage or current source. Next, you must enter the PWL
waveform resolution into the accumulator. The resolution
number is an absolute value in Y-axis units that will cause a
piecewise linear point pair (X, Y values) to be saved each time
the resolution value is exceeded. Entering “0” will cause all
the data points in the active waveform to be used.
INTUSCOPE T UTORIAL
•
Then type “;pwl” or select the “pwl” function from the
Calculator Functions submenu. The PWL statement will be
placed in the Output Record window. Display the Output
Record and select the entire PWL statement. Then select
Copy from the Edit menu. You can then use the IsEd text
editor to paste the PWL statement into any IsSpice4 netlist.
Program Files
IntuScope has the ability to record combinations of menu
functions and keystrokes and store them in a file for later
playback. These files are commonly called keystroke macros or
“Programs”. Programs can be used to perform a variety of
common operations that would normally require several complex
menu selections. For example, operations such as rise time,
group delay, and gain/phase margin can be performed by a single
program file.
IntuScope allows you to make and store your own program files.
These program files can be easily recorded in order to alleviate
tedious or repetitive operations. They are also used extensively
in the Monte Carlo analysis, parameter sweeping, and circuit
optimization procedures.
Many useful program files are included with the IntuScope
program. They’re listed under the “Run a Program” option in the
Actions menu. For more information about recording and using
programs, refer to the Design Entry and Data Analysis manual.
Let’s run one of the stored program files. The program we will run
is the Risefall.p4 (Rise time/fall time) program. This program will
give us the rise or fall time of a waveform transition. Almost all
program files require some initial setup before they can be run.
Before running the Risefall program, the cursors must be placed
at the 0% and 100% Y-axis values before and after the transition
whose rise/fall time we wish to measure. Before running the
program, you may also have to delete some of the waveforms that
you created, in order to clean up the graph window.
129
PROGRAM FILES
To delete a waveform, select the waveform that you want to
delete, and press “control X”.
•
Select waveform 1 on the Sample.ga graph. Make sure
the cursors are turned on. Place the left cursor at 40N.
Place the right cursor at 66N. Then select the Risefall.p4
program from the “Run a Program” option in the
Actions menu.
Before running Risefall.p4
After running Risefall.p4
After the program is finished running, note how the cursors have
moved to the 10% and 90% Y axis values on the waveform and
that the rise time is reported in the accumulator.
Printing The Results
•
Select the Sample.ga graph from the Windows menu.
Then select the “Print...” function from the File menu.
The graph, Sample.ga, will be displayed in the Print Preview
window.
130
INTUSCOPE T UTORIAL
IntuScope can print graphs using the exact size and aspect ratio
of the active graph, or using the full page with or without the
current aspect ratio. Printing in landscape or portrait orientations is possible, depending on your printer’s capabilities.
The buttons at the top left of the preview window control the shape
and the size of the printed graph. The Setup button calls the Page
Setup dialog, which allows the graph to be enlarged or reduced,
and the page orientation to be selected. Other options may be
available, depending on the selected printer.
The “Copy to Clipboard” button allows the current image on the
preview page to be placed in the system clipboard as a Windows
Meta File (WMF) formatted file. If your printer supports postscript,
the Encapsulated Postscript File option (Windows Setup Options dialog) can be used to save a graph to an EPS file. Other
file formats may be supported, depending on your printer. The
clipboard and EPS file formats will allow IntuScope graphs to be
imported into most word processing or desktop publishing
programs.
If the graph does not take up the entire page, then it can be moved
around on the page. To move the graph, point at the graph image
and press the mouse button. This creates a bounding box that
can be moved around on the previewed page. The graph is placed
when the mouse button is released.
131
PRINTING THE RESULTS
•
Try changing the radio buttons, moving the graph, and
changing the scaling values in the Setup dialog (if they
are available).
The graph on the preview page can be printed using the Print
button in the Print Preview window, if desired.
Editing the IsSpice4 Input Netlist From IntuScope
After viewing the output from an IsSpice4 file, you will probably
want to go back to the IsSpice4 input file, change the netlist, and
rerun the simulation. Let's look at the IsSpice4 input file for
Sample.cir.
•
Select the Input function from the Actions Text Edit
submenu.
IsEd will be called, and the input file will be displayed. The Actions
menu, in IsEd and IntuScope, allows an IsSpice4 simulation to
be run at any time. Along with the ICAP toolbar, these capabilities
provide a seamless flow between input editing, simulation, and
output post-processing.
Hints For Using IntuScope
The IntuScope program contains a tremendous number of capabilities, only a few of which have been discussed here. The vast
array of functions can be accessed through the pull-down menus,
and are explained in the Design Entry and Data Analysis manual
and the on-line help system. Don't be afraid to experiment with the
various operations and features.
132
INTUSCOPE T UTORIAL
You have now completed the IntuScope tutorial.
To quit the IntuScope program,
•
Select the Exit/Quit function from the File menu.
•
Select “Save” to begin the graph saving process, or
select “No” to discard the graphs and exit IntuScope.
To quit IsEd, IsSpice4, IntuScope, and exit from ICAP/4 all at
once:
•
Select Exit / Quit from the File menu in SpiceNet.
The next step in learning to useintusoft software should include:
•
A review of the IsSpice4 User's Guide for more information on
running circuit simulations.
•
A review of the Design Entry and Data Analysis manual for
more information on the complete set of waveform analysis
operations which are available.
133
HINTS FOR USING I NTUSCOPE
134
MONTE CARLO T UTORIAL
Tutorial #5 - Monte Carlo Analysis
This tutorial demonstrates the Monte Carlo analysis capabilities
of ICAP/4. A third-order Butterworth approximation of a passive
bandpass filter is used for the analysis. To proceed, you must be
familiar with all of the programs in the ICAP/4 package. For a
more in-depth discussion of the Monte Carlo analysis procedures, please see the IsSpice4 User’s Guide.
Entering the Monte Carlo Design
•
Enter the schematic as shown below.
The completed
Monte Carlo
schematic,
“Buttfil”, is
located in the
Spice8\IS\Monte
directory.
Note: The node numbers and reference designations may be
different on your schematic, depending on the order in which you
entered the components. This is acceptable as long as the
correct connectivity and component values are maintained. You
may change the reference designations, if desired, when you
enter the values in the Properties dialog.
• Double-click on the voltage source and enter a
value of 1 for the AC analysis stimulus specification
in the Voltage Source Properties dialog.
135
ENTERING THE MONTE CARLO DESIGN
•
Enter the Alias name,
“VOUT”, in the test
point's Name field.
•
Activate each
component’s Properties
dialog and enter the
proper values. Do not
enter any device tolerances.
•
When you finish entering the values, select the Simulation
Setup “Edit...” function from the Actions menu.
•
Click on the AC button. Enter the AC statement parameters
as shown below. Then select OK.
The .AC statement designates 500 points between the frequencies of 200Hz and 2kHz.
•
Click on the Done button to close the IsSpice4 Simulation Setup dialog.
•
Select the Save function from the File menu and assign
the name “Buttfil” to the design and click on Save.
Next, you must perform a simulation to verify that the circuit, as
constructed, is operating correctly.
136
MONTE CARLO T UTORIAL
•
Select the Simulate function from the Actions menu, or
click on the Run Simulation icon in the icon bar.
The AC response is that of a bandpass filter which is centered
at 1000Hz. The passband is 100Hz (950Hz-1050Hz). The
graph is displayed in dB.
If the waveform
does not look
like the one
below, check to
make sure your
component
values are
correct.
•
When the simulation is complete, run IntuScope from
the Actions menu.
•
Select the Options Graph Type function and change the
graph type to Linear.
•
Then select the Waveforms menu and display the
VDB(VOUT) waveform.
•
Select Options “Preferences...” and change the Calculator Notation to 6 digit and click Save. This will improve the resolution of the Monte Carlo measurements.
If your graph doesn’t look like this, check the component values,
the .AC statement, and the circuit connectivity.
Filter
Output
•
Quit IntuScope and then quit IsSpice4.
137
ENTERING DEVICE TOLERANCES
Entering Device Tolerances
Now that the circuit is performing properly, we will begin the
Monte Carlo analysis by entering tolerance values for the
components in the circuit. These tolerances will be used to vary
the component values during the Monte Carlo analysis. The
tolerance values which have been chosen for this simulation
are;
Resistors
Inductors
Capacitors
1% tolerance
5% tolerance
10% tolerance
Default tolerance values of 2% for resistors, and 5% for capacitors and inductors, are provided for you. Tolerance values are
accessed in the Tolerance/Sweep tab of each part’s Properties
dialog.
•
Double-click on R1. Select the Tolerance/Sweep tab
and change the tolerance value from 2% to 1%.
•
Use the Next Part/Prev Part buttons to navigate to the
other parts. Change the other resistor value tolerances
to 1%, and all of the capacitor tolerances to 10%.
•
Click on the Done button, and then save the schematic.
You may use
the Next Part
and Prev Part
buttons to scan
to the other
parts in the
schematic.
138
MONTE CARLO T UTORIAL
The Data Reduction Program
The Monte Carlo analysis consists of first constructing a number
of instances, or cases, of the nominal circuit netlist. Each time
a new case is created, all part values which have tolerances are
randomly changed. Each case is then simulated. After each
simulation, IntuScope automatically runs the data reduction
program that you have created. This program, or macro, records
the desired measurements from each IsSpice4 output file. After
simulating all of the cases, a new Monte Carlo output file, one
that resembles an IsSpice4 output file, holds all of the saved
measurements. The Monte Carlo results can then be viewed in
IntuScope. The data reduction program is, therefore, a critical
part of the Monte Carlo analysis, since it determines the specific
performance criteria that is recorded for each case.
A data reduction program is a user-generated macro that
contains recorded sets of keystrokes and functions from an
IntuScope session. In order to create a data reduction program,
IntuScope actions are performed while IntuScope is in the
Record Program mode. The program will be saved using the
name “Buttfil.P1”.
The measurements must be decided upon before the data
reduction program can be created. There is no limit to the types
of performance criteria that can be measured. For this example,
we’ll record the variations in the filter bandwidth. Up to 32
different data measurements may be recorded for each Monte
Carlo analysis.
Now we’re ready to make (record) the data reduction program.
The steps are listed in bold type. Follow them carefully.
•
First, select the Scope option from SpiceNet’s Actions
menu in order to launch IntuScope.
139
THE DATA REDUCTION PROGRAM
The data
reduction
program is
recorded in
INTUSCOPE .
You may
overwrite (rerecord) a data
reduction
program in
IntuScope at
any time.
1
Immediately select the “Record a Program...” function from
the Actions menu. The Actions menu will begin blinking. This
signifies that recording is in progress.
2
Select Linear from the Options Graph Type submenu.
3
Select the (VDB) VOUT waveform from the Waveforms menu.
4
Press “>” (shift period). This will place the maximum magnitude
value in the accumulator.
5
Press “3 -”. This will subtract 3dB from the accumulator.
6
<−
Press “<−
<−”(the left arrow key). This will place the right cursor at the high
3dB point. Then press “F2” (function key F2). This will place the left
cursor at the lower 3dB point. Although the cursors are not visible, they
are still functioning, and their values can be accessed.
7
Press “F10” (function key F10) to place the X axis cursor difference
(the filter bandwidth) in the accumulator.
8
Press the letter “o” (toOutput function). This will place the
accumulator value in the Output Record. This measurement is saved
for each case run.
9
A dialog box will appear. Select OK.
10
Select the Exit to ICAP function from the Actions menu. You will
be instructed that the next action should be to select the End Program
function. Select OK. Select the “End Program...” function from
the Actions menu.
11
Click on the Create New Folder icon in the Save dialog and create
a folder named BUTTFIL that resides in the directory where the
BUTTFIL project is located.
12
Save the program file under the name BUTTFIL.P1 in the BUTTFIL
folder.
New Folder icon
Note: The program file must be named Buttfil.P1, and it
must reside in the Buttfil folder that is in the working project
directory (the directory in which the Buttfil.DWG file resides).
13
Quit IntuScope. You may discard the graph.
The data reduction program is now complete. The full Monte
Carlo analysis can now be run.
140
MONTE CARLO T UTORIAL
The Monte Carlo Simulation
•
Select the ICAPS function from SpiceNet’s Actions
menu, or click on the ICAPS icon.
• Click on the Advanced button.
ICAPS icon
•
Click on the Monte Carlo tab and enter a Lots value of
1, and a Cases value of 12, then click on OK.
•
Click on the Monte Carlo mode radio button.
•
Click anywhere on “Config 1 + Setup 1” in the Test
Configuration window in order to select it.
•
Click on the Simulate Selections button to launch the
Monte Carlo simulation.
This will cause 12 different cases to be simulated. You’ll see the
simulations run, and the data being recorded in IntuScope. All
of the Monte Carlo files are saved with the name of L@C#.Ckt,
where @ is the number of lots and # is the number of cases.
141
EXAMINING THE OUTPUT
Monte Carlo Analysis Data
.PRINT TRAN R-L
.END
TRANSIENT ANALYSIS
Count
R-L
1
2
3
4
5
6
7
8
9
10
11
12
98.6459
99.9320
100.516
99.3802
99.9020
102.096
90.8784
94.4924
92.9123
97.7326
29.0170
100.710
The Monte.Out
file contains the
data which was
generated by
the macro that
you recorded.
Examining The Output
When the analysis is finished, the data from each case will
be placed into an IsSpice4 output file in the design directory
under the name Buttfil.Out, and in the Monte Carlo directory
(Buttfil folder) under the name of Monte.Out. The results
from our example are shown to the left.
The data can be viewed in IsEd (text) or IntuScope (plots).
Notice that R-L contains the values of the filter bandwidth for
each case. Although the tabular data is useful, more often a
graphical representation is preferred. Let’s display the data
using IntuScope’s statistical analysis features.
You’ll see the 12 waveforms on the waveform graph. Now,
let’s open a new graph and take a look at the filter bandwidth
data (the data we’ve calculated via the macro we recorded).
•
Select the New Graph function from the File menu.
•
Use the “Select Source Data...” function in IntuScope’s
Waveforms menu to open the Monte.Out file in the
Buttfil folder which is in the working project directory.
•
Select the Probability option from the Options/Graph
Type submenu.
The Monte Carlo simulation creates the simplest IntuScope
compatible input file possible. It uses the Transient analysis
banner, no matter what type of data reduction measurements
were performed. Therefore, the Analysis Type will always be set
to Transient when you’re displaying waveforms from the Monte
Carlo simulations.
142
MONTE CARLO T UTORIAL
Under the Waveforms menu is R-L, which corresponds to the
filter bandwidth data that is listed in the Monte.Out file (the data
that was shown on the last page).
•
Select R-L in the Waveforms menu.
•
Select the Plot Style function from the Options menu.
•
Select the “Solid” Style and “Medium” Line Size.
•
Click on OK to dismiss the Plot Style dialog.
The probability plot will look similar to the following.
The Monte
Carlo output file
and graphs you
display may
look different,
due to the
random nature
of the Monte
Carlo analysis.
This concludes the Monte Carlo tutorial example. For more
information on running Monte Carlo analyses, see the IsSpice4
User’s Guide.
Scaling Curve Families
Curve families are created by default during the Monte Carlo,
parameter sweeping, or circuit optimization analyses. The produced waveforms will vary, due to the range of the circuit values
which are encountered during these analyses. They will, therefore, have different scaling when they are displayed in IntuScope.
Evaluation of a curve family is difficult if the waveforms are not
all scaled with the same settings. In order to ensure that all of the
waveforms in a curve family have the same scaling, use the Link
X Scales and Link Y Scales function in the Waveforms menu.
143
TUTORIAL #6 - AN RLC CIRCUIT NETLIST
Tutorial #6 - An RLC Circuit Netlist
The first step in the simulation process is to create the IsSpice4
input netlist. This can be done by using a text editor or the
SpiceNet schematic editor.
If a schematic is to be captured, you’ll need to launch SpiceNet
(select the Start ICAPS function in the Start/Programs/ICAP_4
menu) and draw the schematic. The netlist is created automatically when the schematic is saved or a simulation is performed.
Here, however, we will use the traditional text entry method to
create and simulate a simple RLC circuit.
Starting ICAPS
•
Programs
Icap_4
144
To launch ICAPS, select the Use Text Netlist function in
the Start/Programs/ICAP_4 menu or double-click on
the ICAPS.Exe file in the C:\SPICE8 directory using the
Windows Explorer or File Manager.
ICAPS will display the Select Project dialog. From this dialog,
you may select any .CIR (project) file. For this example,
however, we will create a new circuit file.
ISSPICE 4 NETLIST TUTORIAL
Creating A New Project
•
First, select “Cancel” in the Select (An Existing) Project
dialog.
The Name New Project dialog will then be displayed (Notice the
“Name New Project” title at the top of the dialog.)
The Name New
Project dialog
box
Note: The .CIR
extension will
be added
automatically.
**Important
note:
When working
with netlist text
files rather than
schematics, DO
NOT launch
SpiceNet from
this dialog; it will
delete the netlist
(.cir) file.
The ICAPS
V8.0 Program
Selector is the
command shell
that runs
various
simulation
tasks.
RLC.CIR will
become the
active project
name
•
Enter the name of the circuit, “RLC” into the Name New
Project dialog box. Then click on the Save button.
After entering the file name, the menu bar will change and the
name of the circuit will appear in the title bar of the ICAPS
window. From this menu, IsEd, IsSpice4, IntuScope, or
**SpiceNet can be started.
The Launch
IsEd icon
The Launch
IsSpice4
icon
The Launch
IntuScope icon
The Launch
SpiceNet icon
145
CREATING A NEW PROJECT
The next step is to enter the IsSpice4 input netlist using the IsEd
text editor. Although IsEd is designed for IsSpice4 netlist editing,
any word processor or text editor can be used. However,
IsSpice4 input and output netlists must be standard text files.
Therefore, if you are using another program for netlist entry, you
must make sure to save the files as text-only files.
Starting IsEd And Entering A Netlist
IsEd is a full-featured text editor for entering and editing IsSpice4
input and output files. We will only touch upon a few of its
features. Now let’s enter our simple RLC netlist.
•
Invoke the IsEd program (text editor) from ICAPS by
clicking on the Edit Text Files icon.
After IsEd is invoked, the menu bar will change and a blank
window will appear. The title bar will contain the name of the file.
•
Type the following netlist, exactly as shown, into the
RLC.CIR window in the IsEd text editor.
RLC CIRCUIT
R1 1 2 1K
L1 2 3 100UH
C1 3 0 30PF
V1 1 0 PULSE 0 1
.TRAN 5N 1U
.PRINT TRAN V(3) V(2) V(1)
.END
Although it is not required, the netlist should be entered in upper
case characters. Pressing the Caps Lock key before entering the
IsSpice4 netlist is recommended. Don’t forget to enter the title,
“RLC CIRCUIT”, at the top of the file.
146
ISSPICE 4 NETLIST TUTORIAL
Getting IsSpice4 Syntax Help
Frequently, the syntax for a particular IsSpice4 statement is
forgotten. This is when context-sensitive IsSpice4 help screens
are very useful.
The insertion
point may be
anywhere on a
line when
activating the
Help screen.
To get IsSpice4 help on a particular element or command, just
move the insertion point to the line in question by pointing at the
desired line and clicking the mouse button. Then press the F1
function key.
IsEd will automatically read the current line and display the
related help screen. If IsEd does not understand the line that the
insertion point is on, it will display an index of help topics.
To choose a particular section from the help index, just click on
the line which describes the section that you would like to view.
•
For example, move the insertion point to the .TRAN line
by pointing at the line “.TRAN 5N 1U” and clicking the
left mouse button.
147
GETTING ISSPICE4 SYNTAX HELP
The RLC circuit
with the .TRAN
help syntax
displayed
•
Then press F1. The help syntax for the .TRAN statement will be displayed. Next, display the help index by
clicking on the Contents button.
We can then look at the IsSpice4 syntax for any statement by
clicking on the Contents button and then clicking on the desired
topic.
•
When you are finished viewing the help menus, close
the Help window.
It is now time to simulate our RLC circuit.
148
ISSPICE 4 NETLIST TUTORIAL
Running An IsSpice4 Simulation From IsEd
To simulate the
active project,
select Simulate
from the Actions
menu or click
on the Run
Simulation icon
in the toolbar.
•
Run a simulation on your RLC circuit by pulling down
the Actions menu and selecting Simulate.
After selecting Simulate, you will be asked if you wish to save the
changes which have been made to the RLC.CIR file.
•
Click on the Yes button.
If there are no netlist errors, IsSpice4 will launch and perform a
transient analysis. As IsSpice4 runs, you will be able to see the
waveforms which are listed in the .PRINT statement. In this
example, the voltages at nodes 1, 2, and 3 will be displayed.
These are the
results of the
RLC simulation.
The Simulation
Control dialog
When the IsSpice4 simulation is finished, the Simulation Control
dialog will appear.
149
RUNNING AN ISSPICE4 SIMULATION FROM ISED
What to do in case of errors: If there are errors in the netlist,
ICAPS will abort the simulation and open the error file, “RLC.ERR”
within the IsEd text editor.
You can open the error file manually by clicking on the ERR
button in IsEd’s toolbar.
Make sure that the RLC.CIR file is exactly as shown in the
“Starting IsEd And Entering A Netlist” section before rerunning
the simulation. The IsSpice4 output file is given the name
“RLC.OUT”.
Viewing The IsSpice4 Output Data
•
Select Text Edit from the Actions Menu in IsSpice4.
This will reopen IsEd so that we can view the output file.
The message
“file not found”
indicates that
an error has
occurred during
the simulation.
150
•
Click on the Out icon in the toolbar or select “.OUT File”
in the text editor’s Window menu.
IsEd will display the RLC output text file.
ISSPICE 4 NETLIST TUTORIAL
Searching For Transient Analysis Data
At this point, you will most likely want to view the transient
analysis data which is listed in the output file. There are a
number of ways to search through files for specific pieces of
information in IsEd. One of the most useful methods is via the
Find function. Find allows you to skip to any desired point in an
IsSpice4 file. Let’s find the transient analysis data.
•
Find the Transient analysis data by pulling down the
Search menu and selecting the “Find...” function. Then
enter the words “TRANSIENT ANALYSIS” in the dialog.
Click the Find Fwd button.
The insertion point will be moved to the transient analysis banner.
If the selected item is not present in the file, a “beep” will sound
and the cursor position will not move.
•
Select Cancel to close the Find dialog.
151
FIXING NETLIST ERRORS
Fixing Netlist Errors
The process of
debugging a
circuit netlist is
performed by
looking in the
error file after
running a
simulation. This
is where
IsSpice4 will put
any error or
warning
messages.
IsSpice4 shows
the waveforms
from the .PRINT
and .VIEW
statements as
the simulation
runs.
An IsSpice4 netlist requires the following 6 items:
•
•
•
•
•
•
Title Line
End line (.End)
Proper circuit connectivity and syntax
Circuit stimulus or power
Analysis control statements (.Tran, .AC, etc.)
Output statements (Print, Save, or View)
In the normal process of generating a netlist, or capturing a
schematic, you might forget one of these key items. If this
happens, IsSpice4 will generate an error or warning message.
These messages are placed is a separate file which has the
same name as the circuit, and the extension .ERR.
The following variations of the RLC circuit will cause errors or
warnings. After simulating each variation, we will debug the
input netlist by looking in the error file for the error or warning. We
will then correct the problem in the input netlist.
•
Bring the input netlist forward by selecting the filename
RLC.CIR from the Windows menu.
•
Remove the resistor value and the stop time on the
transient control line as follows:
Change: R1 1 2 1K
Change: .TRAN 5N 1U
•
Errors are
displayed in the
IsSpice4 Errors
and Status
window.
152
To: R1 1 2
To: .TRAN 5N
Save the changes and Quit IsEd. Select the Launch
IsSpice4 function in the ICAPS window.
The IsSpice4 simulator will display warning and error messages
in the Errors and Status window and then ICAPS will launch IsEd
and open the .err file automatically.
ISSPICE 4 NETLIST TUTORIAL
One warning and one error message comparable to the following
will be generated in the RLC.ERR file.
Warning: r1: resistance=0, set to 1000
Error: .TRAN initial time >= final time
The default resistor value in IsSpice4 is 1kOhms. IsSpice4
makes a note of this in the error file by generating a nonfatal
warning. Not all error messages are fatal. However, the erroneous .TRAN line is fatal.
To correct these problems, we must make changes to the .CIR
file (input netlist). Changing the output file will have no effect
because it will be overwritten the next time the simulation is run.
Getting The Right Output Data
Another common problem is not getting output data or the data
you expect. The causes of these problems are due to one or
more of the following:
•
•
•
•
•
No analysis control statements
No output control statements (.PRINT)
Improper input stimulus for the analysis types specified
No saved vectors
Incorrect transient control statement (data aliasing)
To use IntuScope, you must have a valid IsSpice4 output file.
Some errors may cause IsSpice4 not to save data for one
analysis, yet it may run another analysis correctly. If IntuScope
fails to display any output variables in the Waveforms menu, it
is possible that the data may not exist in the output file. If you’re
in doubt, examine the output file using the IsEd text editor and
verify that data from the desired analysis is in the output file.
153
DISPLAYING OUTPUT DATA IN INTUSCOPE
Displaying Output Data In IntuScope
Let’s look at the simulation data as waveforms in the postprocessor, IntuScope.
•
Fix the netlist errors netlist from the previous section.
The netlist should look like it did originally.
•
Rerun the simulation. Quit IsSpice4 when the simulation is complete.
•
Start IntuScope by clicking on the Launch Scope icon in
ICAPS.
IntuScope will open a new graph window and be ready to display
waveforms.
•
Select the V(3) entry under the Waveforms menu.
The voltage at node 3 will be displayed in the IntuScope
graph window. This is one way in which waveform data
is displayed. It is not necessary to quit the simulation
in order to display data. Quitting SPICE is the traditional
method used by older programs that simulate using a
batch-style mode. IntuScope has the ability to communicate directly with the IsSpice4 program and graph
waveforms in real-time while the simulation is running.
154
ISSPICE 4 NETLIST TUTORIAL
Window Sizes and Positions
At this point in the simulation, you may want to go back to the
input file, change a parameter and resimulate. Moving around
the different programs and windows can be accomplished by
clicking the mouse button in the title bar of the desired window.
This will bring the selected window to the foreground. If the
window belongs to a different program, the program will also be
brought to the foreground. If a particular program is hidden, the
Actions menu can be used to get to it. Within each program, the
Windows menu can also be used to select the active window.
Note: depending on your screen size and resolution, you may
need to reposition and resize the various windows in each
program. Once you have moved and sized the windows to your
liking, select Save Preferences under the program’s Options
menu.
We are now finished with our first example.
•
Close ICAPS by selecting Quit from the ICAPS File
menu. Select No in IntuScope to discard the graph
window.
155
WINDOW SIZES AND POSITIONS
156
DESIGN VALIDATOR TUTORIAL
Tutorial #7 - Design Validator™
Important:
This tutorial is
for Design
Validator and
Test Designer
users only.
Design Validator adds the following capabilities to ICAP/4:
ICL stands for
Interactive
Command
Language.
Access to these features is controlled by the Measurements tab
in the Simulation Control dialog. This tab will initially fold out your
test configurations and simulation setups into a tree. You can
then add various measurements to the leaves of the tree. There
are 3 basic kinds of tests which this tutorial will address in detail:
We’ll show you
how to use the
Main tab, the
Script, Set Limits,
and Results
buttons, and how
to set alarms as
we proceed
through this
tutorial.
1. Operating Point
2. Vector Measurement
3. Measurement scripts using ICL
Test Designer
Note: The
Simulation
Control dialog in
Test Designer
contains more
tabs than the
Design
Validator
version.
1.
2.
3.
4.
Automatic Measurements
Data storage, limits and reports for measured data
Alarm warnings for selected measurements
Monte Carlo analysis using ICL Scripts
After measurements are defined, they are evaluated when the
Script button in the Simulation Control dialog’s Main tab is
checked, and a simulation is run. The scripts are automatically
inserted in the IsSpice4 input file, and IsSpice4 places the
results in the output file. After a simulation is completed, the
results are read into the schematic database and are accessible
using the Results button in the Main tab of the Simulation Control
dialog. When measurements are first entered, there is an option
to set an automatic alarm warning. Every time a simulation is
run, the selected alarms are enabled and will be shown if any of
the measurements are out of tolerance.
The Set Limits button in the Measurement Results dialog is used
to set tolerances for individual measurements, or for groups of
measurements. The automatic setting of limits is a powerful
method for setting a large number of test limits based on
measured data and Monte Carlo analysis.
Measurement definitions, test limits, measured results, alarm
status and Monte Carlo statistics are all saved with your drawing.
157
IDENTIFYING MEASUREMENTS
Using the existing design as a baseline to validate changes, you
can record design performance and save it in order to compare
it with future design changes.
Identifying Measurements
The first thing we need to do is to define our measurements and
the circuit locations where they will be taken.
•
Open the Sample2.DWG schematic
spice8\circuits\sample2 folder.
in
the
•
Select the ICAPS function in the Actions menu to open
the Simulation Control dialog.
•
Make sure that the Script box is checked; it enables the
automated ICL measurement features.
Important note:
If you’re using
Test Designer,
you will have
additional
functions in some
of your dialogs as
well as additional
Vectors and
Faults tabs.
158
DESIGN VALIDATOR TUTORIAL
Next, let’s select the circuit vectors that will be measured.
•
“OP” is the
circuit’s DC
operating point.
Click on the Measurements tab.
“Closed Loop”
is the defined
configuration,
“Standard” is
the setup, and
“OP” is the
simulation in
this part of the
tree.
“TRAN” is a timebased
measurement.
•
Select the Closed Loop/Standard/OP leaf in the measurement tree, then click on the Add button.
This opens the Measurement Wizard dialog.
Notice that the
Configuration,
Setup, and
Simulation that
you’ve selected in
the measurement
tree are already
initialized for you.
Alarms can be
set to monitor
current and
power
dissipation, etc.
so that you will
automatically be
notified if an outof-tolerance or
hazardous
condition exists
during any
simulation.
•
Check Set Report Alarm to activate the alarm feature for
this set of measurements. Press Next.
159
IDENTIFYING MEASUREMENTS
•
Press and hold the Control key and press the left mouse
button to select the power dissipation for each resistor,
capacitor, and transistor in the list (e.g. @Q2[p] is the
power dissipation through transistor Q2).
•
Similarly, select all of the transistor collector current
values in the list (e.g. @Q2[icc]).
•
Then click on the Finish button.
You may select
any or all of the
vectors in the
list.
This creates a new leaf called “Operating Point” which contains
all of the vectors we’ve just selected.
You can
double-click on
any leaf in order
to view its
contents.
160
DESIGN VALIDATOR TUTORIAL
Next, let’s change the name of the leaf.
•
Select the Operating Point leaf and press the Edit Test
Group button.
This opens the Edit Test Group dialog.
•
Change the User Name from “OperatingPoint” to
“OperatingPointAlarm.”
•
Click on the OK button to dismiss the dialog.
Notice that the
Set Report
Alarm check
box is checked.
The scripts in
the IsSpice4
files will use the
“Test Name”.
The generated
reports will use
the “User
Name”.
Notice that the name of the leaf is now “OperatingPointAlarm.”
•
Click on the Add button again, and click on the Next
button to proceed to the vector selection Measurement
Wizard.
•
Scroll down the vector list to the entry “V(1)”. Click the
left mouse button to select V(1).
•
Scroll down the list until you get to the “V(VEE)” entry.
Press and hold the Shift key and click the left mouse
button on the “V(VEE)” entry. This will select the entire
list of node voltages between “V(1)” and “V(VEE)”,
inclusive (there are fourteen vectors).
•
Scroll back up the list until you get to the “@Vcc[i]”
entry. Press and hold the Control key and click on the
“@Vcc[i]” entry to add Vcc current to the selected list.
You should now have fifteen (15) selected vectors.
161
IDENTIFYING MEASUREMENTS
Select the list of
vectors from
V(1) to V(VEE),
then also select
@Vcc[i].
•
Click on the Finish button to dismiss the Measurement
Wizard.
You can rename the “OperatingPoint” leaf using the Edit Test
Group button, if you wish. For the purposes of this example,
however, we will not change the name.
Now, let’s return to the Main tab and launch the simulations.
•
162
Click on the Main tab, then click on the Simulate
Selections button.
DESIGN VALIDATOR TUTORIAL
The following dialog appears as the simulations are being
performed. This status dialog lets you know which configuration
is being simulated, and the name of the component failure mode
that has been inserted. In this case, there is no fault inserted.
Notice that the Alarm Summary Report appears when the
simulations are completed. This is because we have turned on
the alarm monitor, but we haven’t set any test limits for the
alarms, so all of the monitored measurement alarms have been
activated.
Alarms can be
used to indicate
unsafe or outof-tolerance
conditions.
Setting Alarm Limits
Let’s set the alarm limits.
•
Click on the Results button in the Simulation Control
dialog. This will open the Measurement Results dialog.
Note: Depending on the size and resolution of your monitor, the
Alarm Summary Report may appear on top of the Simulation
Control dialog. Therefore, you may need to move the alarm
dialog out of the way, or select the Simulation Control dialog in
order to bring it to the foreground.
163
SETTING ALARM LIMITS
•
Select the OperatingPointAlarm test group.
•
Click on the Set Limits button to open the Set Measurement Limits dialog.
•
Uncheck the “Skip test groups…” check box.
•
Make sure that the Unchanged function in the Nominal
group and the Unchanged function in the Tolerance
group are selected.
Notice that 12
of the 17 tests
have failed.
This is because
we have not yet
set the test
limits for the
alarms.
Important:
Make sure that
the “Skip test...”
box is
unchecked.
164
DESIGN VALIDATOR TUTORIAL
•
Click on the “by Tol” button.
This opens the Set Tolerance dialog, which allows you to set
asymmetrical tolerances by percent or value.
•
Set the High Limit (Absolute) value to 50.00m and click on the
OK button to set the alarm limit to 50m for each measurement.
•
Click on the OK button to close the Measurement
Results dialog.
Notice that now
only 3 of the 17
tests have
failed. This is
because we
have not yet set
all of the test
limits for the
alarms.
165
SETTING ALARM LIMITS
•
Select the Measurements tab and open the
OperatingPointAlarm leaf by clicking in the box next to
the leaf.
•
Select “@Q4[p]”, then press the Edit Tol button and
change the high limit to 150m. Click on the OK button.
•
Select the Main tab and click on the Alarm button in
order to refresh the alarm measurements.
The tree is
expanded in
order to show
you all of the
measurement
vectors in that
leaf.
Notice that @Q4[p] is no longer present in the alarm dialog,
since we increased its limit.
•
Similarly, change the “@Q4[icc]” tolerance limit to
100m, and the “@R10[p]” tolerance limit to 200m in
order to cause the alarms to pass.
You can look in the Measurement Results dialog to see the
calculated values in order to set the alarm limits. Typically, each
alarm limit is set such that the alarm is not triggered unless a
circuit fault condition exists.
166
DESIGN VALIDATOR TUTORIAL
Note: if you do this while the Simulation Results dialog is open,
you must close the dialog and reopen it in order to update the test
results.
Setting Operating Point Measurements
Next, let’s set the limits for the Operating Point (OP) test vectors
so that all tests will pass. In one step, we’ll set all test limits to
default limits about their last measured values.
•
Click on the Results button (in the Main tab) to open the
Measurement Results dialog, then select the
OperatingPoint test group.
•
Click on the Set Limits button.
•
Select the Last Measurements function in the Nominal
group and the Default function in the Tolerance group.
•
Click on the OK button to dismiss the dialog.
167
SETTING OPERATING POINT MEASUREMENTS
The tolerances are now set to default limits about the last
measurements, so everything will pass.
Notice that all
15 tests now
pass, since the
limits have been
set around the
last measured
values.
•
Click on the OK button to dismiss the Measurement
Results dialog.
Running Scripted Monte Carlo Analysis
You can improve these test limits by running a Monte Carlo
analysis.
168
•
Click on the Monte Carlo Mode in the Main tab.
•
Then click on the Advanced button.
DESIGN VALIDATOR TUTORIAL
•
Select the Monte tab.
•
Change the number of Cases to 6 and click on the OK
button to dismiss the dialog.
•
Make sure that the Batch and Script functions (in the
Data Reduction group) are selected.
Entering a value
of 6 here will
cause six
simulations to
be performed
when the Monte
Carlo analysis
is launched.
We’re now ready to run the Monte Carlo analysis.
•
Click on the Simulate Selections button to launch the
simulations.
169
RUNNING SCRIPTED MONTE CARLO ANALYSIS
The following dialog appears. Because simulations may
sometimes require large amounts of time, you are given the
option to continue or to cancel the simulation request.
•
Click on the Yes button to run the simulations.
Since the Batch mode radio button was selected before the
simulations were launched, the six simulations are run in the
background in order to optimize the simulation time. The simulator
screen is not displayed and updated as the simulations proceed,
but the “Simulation progress” dialog appears in order to inform
you of the progress as the simulations are performed.
Run a standard
reference
simulation so
that you can
use the “Last
Measurements”
function in the
Set
Measurement
Limits dialog to
set the limits
based on that
run.
170
After all of the simulations have been run, you will be asked if you
want to run a standard reference simulation. If you select Yes,
an additional simulation will be performed, and the data from that
run may then be used to set the nominal measurement limits.
•
Click on the Yes button so that we’ll have a nominal
simulation results saved for the “Last Measurements”
data.
•
Click on the Results button in the Simulation Control
Dialog.
DESIGN VALIDATOR TUTORIAL
•
Select the OperatingPoint leaf in the measurement
tree.
•
Scroll the report to the right and view the Monte Carlo
statistics.
•
Click on the Set Limits button.
•
Select the Last Measurements button in the Nominal
group and Sigma Limit in the Tolerance group.
•
Click on the OK button to close the Set Measurement
Limits dialog.
171
RUNNING SCRIPTED MONTE C ARLO ANALYSIS
The default Sigma value is 4.75, but you may change it. The
probability calculator shows the probability for a normal distribution.
The tolerances for all measurements are now set, based upon
the Monte Carlo results.
The test limits
are now set
using the Monte
Carlo analysis
values (mean
and 3 sigma).
•
Click on the OK button to close the Measurement
Results dialog.
Expanding Measurement Limits
You may also set limits based upon other measurements. For
example, temperature tests or power line variations. It is
recommended that you perform these test limit expansions for
all parametric variations of which you are aware.
For example, let’s run a simulation with the circuit temperature
set 10 Degrees higher than room temperature.
172
•
Click on the Setup button in the Main tab.
•
Click on the Circuit Temperature button and enter a
value of 40.
DESIGN VALIDATOR TUTORIAL
•
Click on the OK button to close the Circuit Temperature
dialog.
•
Click on the Done button to close the IsSpice4 Simulation Setup dialog.
•
Then click on the Standard mode radio button in the
Simulation Control dialog.
•
Click on the Simulate Selections button in order to run
the simulations.
•
When the simulations have finished, click on the Results button.
•
Select the OperatingPoint leaf and click on the Set
Limits button.
•
Select the Unchanged function in the Nominal group
and the Expand to Pass function in the Tolerance
group.
This will retain all previous tolerances except for those that fail;
it expands failed tolerance values in order to pass the last test.
173
EXPANDING MEASUREMENT LIMITS
•
These are the
results after
running the
simulations at
40 Degrees C
and selecting
the Expand to
Pass function.
•
•
These are the
results after
running the
simulations at
15 Degrees C
and selecting
the Expand to
Pass function.
174
Click on the OK button to dismiss the dialog.
Similarly, rerun the simulation for low temperature (15
Degrees) and expand tolerance to pass.
DESIGN VALIDATOR TUTORIAL
•
Change the circuit temperature back to its nominal
value (27 Degrees Celsius).
•
Next, change the value of Vcc by plus 5 percent and
then by minus 5 percent and expand the tolerances to
pass. You can do this several ways:
1. Define parametric “faults” for Vcc
2. Use the Alter function to change the value of Vcc
3. Assign a tolerance to Vcc and perform Monte Carlo analysis
We’ll discuss how to perform the first of these activities in the
following section.
Defining Parametric Fault Variations
To change Vcc by introducing a “soft” out-of-tolerance fault;
Faults may be
soft or hard.
•
Return to the Main tab in the Simulation Control dialog
and click on the Parts button.
This opens the Net List Editor (it is also accessible from the
Actions menu).
•
Select Vcc from the Part list box, then click on the Part
Properties button in order to open the Voltage Source
Properties dialog for Vcc.
175
DEFINING PARAMETRIC FAULT VARIATIONS
•
Click on the Failure Modes tab.
•
Click on the column 1 header (the “>>1” button) in order
to add a new failure mode.
The Failure Parameters dialog appears.
You can assign
descriptive
failure mode
names.
•
Enter the name “4.75” in the Failure Name field.
•
Then click on the OK button to dismiss the Failure
Parameters dialog.
Notice that the column 1 header now has the name “4.75.”
176
DESIGN VALIDATOR TUTORIAL
Low and High
Vcc failure
modes have
just been
defined (4.75
and 5.25,
respectively).
•
Click on the value field for the “4.75” column, “DC” row
entry and enter the Vcc fault value, 4.75.
•
Make sure that the Can’t Fail box is unchecked.
•
Similarly, define another failure mode for the Vcc high
voltage test (5.25) and click on the OK button to dismiss
the dialog.
177
DEFINING PARAMETRIC FAULT VARIATIONS
This will return you to the Net List Editor, where you can verify
the new failures by expanding the Net List Edit list.
•
Click on the pull-down list to view the defined failure
modes for Vcc.
•
Click on the OK button to exit the Net List Editor dialog.
•
Click on the “Faults: (none)” button in the Main tab of
the Simulation Control dialog.
Since we were just working with Vcc, it is already selected in the
Part list.
•
Select the “4.75” entry from the Net List Type list and
click on the OK button to dismiss the dialog.
Notice that the name of the Fault button has become
“Faults:Vcc:4.75” in order to let you know which fault has been
selected and will be simulated when the simulator is launched.
178
DESIGN VALIDATOR TUTORIAL
Note: If you are
using Design
Validator, the
last simulation
case is always
displayed. If you
are using Test
Designer, select
“Vcc::4.75” from
the Variations
list.
•
Click on the Simulate Selections button to run the
simulation.
•
Click on the Results button and select the
OperatingPoint leaf so we can view the test results for
the case in which Vcc = 4.75 Volts.
•
Click on the Set Limits button and select the Expand to
Pass function in the Tolerance section.
•
Next, repeat this procedure for the 5.25 volt fault and
rerun the simulation and expand the tolerances to
pass.
Design
Validator
version of the
Results
dialog
Notice that the Vcc limits are now 4.75 and 5.25 Volts, as
expected. While Vcc didn’t actually fail, the use of these values
as pseudo-failures was a convenient method since we didn’t
have to change the Vcc value manually and then remember to
restore it.
Another way of introducing parametric variations is via the
Monte Carlo analysis.
•
Close the Measurement Results dialog (if it’s still open),
close the Simulation Control dialog, and double-click
on the Vee voltage source in the schematic.
•
Select the Tolerance/Sweep tab.
Notice that it has already been done. A 5% tolerance has
already been assigned to Vee.
179
DEFINING PARAMETRIC FAULT VARIATIONS
•
You can verify this by looking at the measurement
limits for Vee in the Measurement Results dialog.
Notice that the tolerance is wider than 5% because we used 4.75
sigma limits to expand tolerances, but defined the tolerance
using 3 sigma limits.
It is commonly accepted practice to assign the 3 sigma limit to
the manufacturer’s tolerance for a single component. However,
when dealing with an assembly which must have a high probability
of functionality when manufactured with these parts, the test
limits must be greater than 3 sigma. Because of this, you may
wish to assign a tolerance (in the Tolerance Properties dialog)
that is less than the manufacturer’s limit in order to more closely
approximate real world behavior rather than using the typical 3
sigma assignment.
Measuring Vectors
AC, DC, and TRAN simulations produce IsSpice4 vectors of a
size greater than 1 because they include many data points.
There are a set of common measurement functions that can be
applied to these vectors. This set includes rise time, standard
deviation, and many others.
180
DESIGN VALIDATOR TUTORIAL
To perform these measurements;
•
Select the Measurements tab and highlight the “Closed
Loop/Standard/TRAN” leaf in the Measurements tree.
•
Then click on the Add button to open the Measurement
Wizard dialog.
Notice that in the Method group, “Vector” is grayed out and
“Function” is selected.
181
MEASURING V ECTORS
•
Click on the Next button to open the Cursor Wizard.
For more
information
about the
cursors, click on
the Help button.
Cursor Basics:
In most cases,
the term “plot”
refers to a set of
waveforms
derived from a
single analysis.
A cursor is an abstract marker which is connected to the
IsSpice4 default plot vector (i.e. x axis data, time for transient,
frequency for AC). Cursors are numbered, beginning with zero.
There are two default cursors, zero (0) and one (1). Many
measurement functions use the cursors. For example, standard
deviation is measured between cursor 0 and cursor 1. The
“homeCursors” function sets cursor 0 to the beginning of the
plot, and sets cursor 1 to the end of the plot. This methodology
allows you to record measurements across a set of waveforms
easily. For more information about the cursors, press the Help
button. For now, let’s use the default, “homeCursors.”
•
182
Click on the Next button to open the Measurement
Wizard.
DESIGN VALIDATOR TUTORIAL
Standard Deviation Measurements:
•
Select “StdDev” from the Functions drop down list.
•
Then select the vectors for which we want to measure
the standard deviation: v(7), v(16), v(17) and v(18).
Standard
deviation is the
result you get
when you use
an AC-coupled
true RMS
meter, as the
low pass
bandwidth
approaches
zero.
183
MEASURING VECTORS
Standard deviation is the result you get when you use an ACcoupled true RMS meter, as the low pass bandwidth approaches
zero.
•
Click on the Finish button to dismiss the dialog.
To perform Rise Time Measurements:
Note: The TRAN leaf should still be selected.
You may either
type the lines
directly, or use
the Cursor
Functions list to
paste the
“setCursor”
command into
the Cursor
Script edit box.
184
•
Click on the Add button in the Measurements tab.
•
Click on the Next button in the Measurement Wizard.
•
Replace the “homecursors” entry (in the Cursor Script
edit box) with the following:
setCursor(0,25n)
setCursor(1,75n)
You may either type the lines directly, or use the Cursor
Functions list to paste the “setCursor” command into the Cursor
Script edit box. This script sets the cursors to 25ns and 75ns,
respectively. It is used to find the initial and final values on the
waveform.
•
Click on the Next button to open the Measurement
Wizard.
•
Select “Trise” from the Functions drop down list.
•
Then select the vectors for which we want to measure
the rise time: v(7), v(16), v(17) and v(18).
DESIGN VALIDATOR TUTORIAL
•
Click on the Finish button to dismiss the dialog.
Making a scripted measurement:
The full power of the IsSpice4 ICL (interactive command
language) is at your disposal for making measurements. Several
of the more common measurements are documented in the help
dialog. For this example, we will perform a propagation delay
measurement between the input at node 7 and the output at
node 18.
•
Again, select the TRAN leaf and press the Add button.
185
MEASURING VECTORS
•
Then select the “Script” Method and enter the name of
your script, “propDelay” in the Name field.
•
Click on the Next button.
•
Then click on the Help button, click on the Examples
item at the top left of the help screen, and select the
Propagation Delay example.
•
Copy the Cursor Wizard Script (^C) and paste (^V) it
into the Cursor Script edit box in place of the
“homeCursors” script.
•
Replace the “???” entries with v(18) and v(7), respectively.
The pasted script appears as follows:
HomeCursors
Vresult = ???
Vsource = ???
sourceValue = (max(Vsource) + min(Vsource))/2
resultValue = (max(Vresult) + min(Vresult))/2
MoveCursorRight(0, Vsource, sourceValue)
Tsource = GetCursorX(0)
SetCursor(1, Tsource)
MoveCursorRight(1, Vresult, resultValue)
•
186
Then click on the Next button and copy and paste the
Script Wizard script text from the help dialog into the
“Enter an ICL Script” field.
DESIGN VALIDATOR TUTORIAL
•
Click on the Finish button to dismiss the dialog.
This tree shows
the tests we’ve
just added, e.g.
StdDev, Trise,
and propDelay.
To design new scripts, run the simulator in interactive mode and
debug your script in the IsSpice4 interactive script window. The
debugged script can be saved and later recalled using the IsEd
text editor.
Now you can run a simulation and view the results. You will need
to establish test limits for the measurements that you have
added. Ordinarily, you would define all of the measurements
and then set up tolerances so that the Monte Carlo and parameter
variation simulations would be run only once. In our example, we
made tolerances for the operating point first. Instead of rerunning
those simulations, you can add the tolerances directly. To add
tolerances, first open the Results dialog, then individually select
the leaves which you want to modify. Click on the Set Limits
187
button and select the Last Measurements from the Nominal
group and select Expand to Pass from the Tolerance group.
Then go back to the Measurements tab and fold the
measurements tree out to “Closed Loop/Standard/TRAN/
StdDev/v(1)” and click on the Edit Tol button and select the
absolute value for each of these measurements to be 2mv. Use
the Next button to cycle through the measurements in each
group. Repeat this process for Trise and prop delay, but use
.5ns and 10%.
Summary
You have now established a baseline set of measurements and
tolerance limits in order to characterize this design. Make sure
that you save the design so that this data is also saved.
You can now make design changes and see whether or not the
design passes your performance tests. You can also simulate
device failures individually, and see if other parts are over
stressed and if the failures are detectable by the tests that have
been defined.
It should be noted that the Design Validator feature set is general
in nature. The preceding capabilities allow you tomake virtually
any type of measurement and to compare the stored data
with the results of virtually any design change or set of design
changes.
If you have purchased the Test Designer option, please proceed
to the next tutorial which will show you how to automate many
of failure analysis steps and how to synthesis and sequence
tests into a fault tree.
188
TEST DESIGNER TUTORIAL
Tutorial #8 - Test Designer
Important: This
tutorial is for
Test Designer
users only.
Overview
One of the most important applications of circuit testing is the
detection and isolation of faulty components. Test Designer
facilitates rapid development of effective detection and isolation
testing strategies by providing an environment for automated
computation of a test’s failure detection characteristics and
automated generation of test sequences that are optimized to
isolate failures using the minimum number of tests. This tutorial
will introduce you to these powerful capabilities.
A testing strategy is commonly presented as a Fault Tree which
is similar in appearance to a hierarchical directory tree. Each
node of the fault tree represents a test, and has two output
branches. One of these branches links to the tree node which
defines the next test which will be performed if the test outcome
is PASS; the other branch leads to the tree node which defines
the test which will be performed if the test outcome is FAIL.
Traversing the tree from the root node to a terminal leaf node of
the fault tree defines the sequence of tests and their associated
PASS/FAIL outcomes that lead to isolation of one or more failure
modes, or verification that no fault exists.
In a perfect world, a fault tree would contain all tests needed to
uniquely isolate each component failure mode in a circuit.
However, in the real world this is not always possible. Therefore,
a terminal leaf node of the fault tree may isolate to a group of
failure modes beyond which no further isolation is possible. This
failure mode group is known as an Ambiguity Group, and
contains the failure mode that actually exists at this terminal
node of the test sequence. The term “ambiguity group” is often
generalized to represent any group of failures, one of which
caused traversal through the fault tree to the associated node.
A fault tree defines a test sequence that leads to one of several
conclusions, e.g. the circuit contains no failed components,
transistor Q5 has a shorted base/emitter, etc. The initial set of
conclusions which is operated on by the fault tree consists of all
189
OVERVIEW
defined component failure modes for the circuit, and the
conclusion that no failures exist. Each test in a fault tree has an
associated set of failures, or conclusions, that will cause it to
have an outcome of FAIL. If a test fails, then the circuit failure
mode is assumed to be among the set of failures which are
detected by the test; if the test passes, the failure mode of the
circuit (if there is one) will not be in the set of failure modes which
are detected by the test. By applying this assumption on a testby-test basis as the fault tree is traversed, it is possible to arrive
at an isolation.
Consider a testing sequence as defined by a fault tree. The
assumption going into the first test is that either there is no failure
in the circuit under test, or one and only one of the failure modes
defined for the circuit exists. We perform the first test defined at
the root node of the fault tree. If the test fails, we eliminate all
failures which are not detected by the test and the no fault
conclusion from the conclusion space. The conclusion space
now consists of only those failure modes which are detected by
the root node test. The “test failed” branch leading from the root
node of the fault tree identifies the next test which will be
performed. However, the conclusion space for this second test
consists only of the failure modes which are detected by the first
test. If the second test also fails, the conclusion space is further
reduced to the set of failures defined by the intersection of the
set of failures in the conclusion space “handed” to the second
test and the set of failures detected by the second test.
If the first test (defined in the root node of the fault tree) passes,
all detected failure modes from the first test are removed from
the conclusion space. The “pass branch” from this node defines
the next test which will be performed. This second test then
operates upon this reduced conclusion space.
Use Test Designer to build a fault tree by completing the
following steps:
Fault tree generation is the heart of the Test Designer technology. Fault trees trace the test sequence of an automatic test set
program. A fault tree looks just like a computer directory tree;
190
TEST DESIGNER TUTORIAL
each tree node has one input connection, and 2 output connections which contain the pass and fail results. The input contains
a list of the remaining faults. The fault tree node defines a test
that splits the input fault list into the pass and fail outputs. These
lists are commonly referred to as “ambiguity groups”. Test
Designer simulates all faults automatically, and uses the results
to build a fault tree that detects the faults and isolates them to
groups of replaceable components. The following steps are
required in order to create a fault tree:
Step
Description
Window/Dialog
1.
2.
Capture a schematic drawing of the circuit.
Define or modify failure modes and tolerances,
if required (reasonable defaults are provided).
Define the simulation setups (analyses which
will be performed).
Define the various test configurations in the
schematic (pair schematic configurations with
simulation setups).
Define the measurements that will form the basis
of individual tests. Typically, you will include more
measurements than you will include in the final fault
tree. Making extra information available here allows
you to adjust the tests later, without having to re-run
simulations in order to acquire more data.
Create tests by adding tolerances which define the
pass/fail boundaries for the measurements, directly
or using Monte Carlo, temperature variation, power
supply variation, etc.
Simulate component and model hard or soft parametric
faults.
Iterate back through step 3 in order to add tests that
detect non-convergent and over-stressed failure modes.
Later, these tests are used in order to detect these failure
modes early in the test sequence, so that other parts in
the circuit are not damaged due to the presence of one
of these faults.
Adjust the fault modes so that the active modes are the
ones which are being tested in each group. Remove
faults that are not detectable or are not required for
consideration.
Schematic
Tolerance/Failure
Modes tab
Simulation Setup
3.
4.
5.
6.
7.
8.
9.
Simulation Control/
Test onfiguration
Measurements tab
Results
Simulation Control
Simulation Control/
Faults tab
191
OVERVIEW
Now you are ready to design a test sequence. This will be an
iterative process that requires your judgment in order to make
an optimal decision about the quality of the test flow, and the
number and types of tests and test points which will be used. It’s
usually best to select from all of the tests that you previously
designated in order to see whether or not the tests are sufficient.
In the later phases, you may remove unwanted tests .
Step
Description
10.
11.
Remove unnecessary tests.
Measurements tab
Identify each test group and its measurement components. Measurements tab
A test group stands alone. It may be part of a larger test,
or it may be complete by itself. Examples include:
Safe to Start (Safe-to-Turn-On), Product Acceptance Test,
Depot Maintenance and Fault Isolation, and Built-In Test.
Choose a test “guard band”; this is a region which is
Test Design
located just outside of the test limits which will be used
for screening tests that are being considered for assignment
to a fault tree node. If any failure modes in the conclusion
space passed to the test cause a measurement value for a
test to fall within the guard band, that test will not be
selected for use at that node of the fault tree. The guard band
ensures selection of tests which have a high detection
confidence. The software scales guardbands to the active
measurement tolerance band. For example, a guard band of
0.5 (this is the default) is 1/2 of the difference between the
Max and Min test limit.
Decide on the measurement mode (tertiary is the default). Test Design
There are four available measurement modes:
Binary: The test fails if the measurement is above the
upper limit or below the lower limit.
Tertiary: The test fails high, low or passes.
Histogram: The test detects failures which are within a
histogram bin.
Vector: The test detects failures centered about each
known failed result.
Select tests from groups that can be run at the same time. Test Design
A maximum entropy strategy is built in. The “Auto Build”
function executes this strategy and can complete the fault
tree at any time.
Iterate back through step 12 until the fault tree is complete.
Iterate back to step 10 until you are satisfied with each test
flow (remove measurements and faults until you reach the
optimum balance between fault detection and test complexity).
12.
13.
14.
15.
16.
192
Window/Dialog
TEST DESIGNER TUTORIAL
“No fault” is the
situation in
which the circuit
functions
properly.
Probability
weight can be
set using the
Set Limits
function in the
Results dialog.
Fault tree-based tests also provide fault detection for product
acceptance tests. Each fault tree has an input which is the list
of failures that are to be detected, including “no fault”. Perfect
fault detection requires the final tree exit to contain only the “no
fault” failure mode. The best fault detection sequence is the one
which arrives at this “no fault” conclusion with the least amount
of work. Test Designer accomplishes this task by sequencing
tests based upon an entropy algorithm which measures the
probability of the pass/fail outcomes. For fault detection, setting
the “no fault” probability weight to a high value will bias the test
flow such that the no fault outcome will occur with the minimum
number of tests; this is the least amount of work. Fault isolation
information is still available and can also be used to repair faulty
units, or simply as quality control feedback if the circuit can’t be
repaired (e.g. an integrated circuit).
The philosophy of generating a test sequence based on known
fault behavior assumes that most failure modes can be predicted, and that they tend to be catastrophic. The assumption
doesn’t need to be perfect in order to be effective; however, it
must account for the majority of the failure rate. When most of
the failure rate is predictable, then the fault isolation process will
only be incorrect in unusual situations. In other words, the
strategy will be correct most of the time, which is the desired
result. Two special cases which are handled differently are:
1. Global parametric failures within IC’s. For example, threshold voltage in a MOS circuit would cause multiple failures
and would produce poor results using this strategy. The
good news is that this kind of process failure doesn’t need
to be detected using circuit functional tests because it is
detected using process control devices on the IC wafer. The
circuit is presumed to be designed so that it will work when
process variations are within acceptable limits.
2. When parametric culling is employed, e.g. selecting from
the central part of the statistical distribution in order to get
high precision parts, the appropriate yield prediction technique is the Monte Carlo analysis. The division between
catastrophic failures and functioning circuits is still welldefined using the fault model approach.
193
OVERVIEW
Thus far, work which has been used to model IC failure modes
from local defect models has confirmed the tendency toward
catastrophic failure modes. This validates the fault model approach which is used in Test Designer.
Beginning the Test Designer Tutorial
This tutorial is a continuation from the Design Validator
tutorial, and assumes that you have walked through that
tutorial.
In this Test Designer tutorial, we begin at step 11 (see the
overview section of this tutorial) and make a single pass through
the test sequence. We’ll find several failure modes that must be
tested in a “safe to start” test, and eliminate them from the first
pass. You can take a look at the sample3.dwg file (in the Circuits
directory) if you’d like to see how these tests were handled.
•
Open the sample2a.dwg file (in the Circuits directory).
Sample2a.dwg is the drawing which is obtained after the steps
in the Design Validator tutorial have been performed on the
sample.dwg file.
Setting Alarms, Faults, and Limits
Notice that 2
alarms have
been activated.
You can
remove an
alarm by
changing its
tolerance, or by
removing the
fault from the
fault list.
194
•
Select the ICAPS function from the Actions menu to
open the Simulation Control dialog.
•
Click on the Alarm button.
TEST DESIGNER TUTORIAL
In order to remove an alarm, you must either change the
tolerance or remove the fault from the fault list. Let’s remove the
failure for @Q4[p]Vcc:5.25.
•
Click on the Faults tab and select the “Closed Loop/
Standard” leaf in the Measurements tree; then scroll
down the failure modes list and select “Vcc::4.75” and
“Vcc::5.25”.
•
Press the Switch Selected State button.
The “Closed
Loop/Standard”
branch has
already been
selected for
you.
“Checks”
indicate the
faults that will
be inserted
when the
simulations are
performed. “X”s
indicate faults
that will not be
simulated.
This will remove these faults from the active faults list for the
selected test (“Closed Loop/Standard”). Notice that the “check”
symbols have been changed to “X”s.
•
Click on the OK button.
•
Click on the Alarm button in the Main tab in order to
view the Alarm summary report again.
Notice that the “@Q4[p]Vcc:5.25” alarm has been deleted.
195
SETTING ALARMS, F AULTS, AND LIMITS
Next, we’ll remove the “@R10[p]” fault from the Alarm window.
196
•
Click on the Measurements tab and double-click on the
“Closed Loop/Standard/OP/OperatingPointAlarm” leaf.
•
Select the “@R10[p]” entry.
•
Click on the Edit Tol button and change the High limit
(Absolute) to 0.3750.
•
Click on the OK button to dismiss the dialog.
•
Click on the Main tab.
•
Then click on the Test Designer radio button in the
“Mode” group.
•
Make sure that the “Closed Loop + Standard” test
configuration is selected.
•
Make sure that the “Data Reduction” group has both
the Batch radio button and the Script check box options selected.
•
Click on the Simulate Selections button.
TEST DESIGNER TUTORIAL
•
30 faults in the
Faults tab were
selected for this
test.
Click on the Yes button.
30 fault simulations will be performed.
•
When they have finished, click on the Yes button in
order to perform the reference (nominal) simulation.
Deleting Failure Modes that Overstress Components
The Alarm Summary Report dialog for the OP Alarm group of
measurements is displayed when the fault simulations have
been completed.
Notice that the
first failure is
Q2[icc], caused
by the”R6::Open”
failure mode.
197
DELETING FAILURE MODES THAT OVERSTRESS COMPONENTS
•
Click on the Results button and select the first failed
measurement in the report, e.g. “@Q2[icc]”.
The “R6::Open” failure mode makes this go a bit negative, so it’s
not really over stressed.
You might need
to move the
Alarm Summary
Report dialog
out of the way
so that you can
see the Results
dialog.
The Edit Tol
button is only
available in the
Measurements
tab.
198
•
Drag the Measurement Results dialog and move it out
of the way (if necessary) so that you can access the
Simulation Control dialog.
•
Click on the Measurements tab and fold out the “Closed
Loop/Standard/OP/OperatingPointAlarm” leaf.
•
Select the “@Q2[icc]” entry and click on the Edit Tol
button.
•
Change its Low Limit (absolute) value to 1.000m so that
it passes the test.
•
Click on the OK button to dismiss the dialog.
TEST DESIGNER TUTORIAL
•
Select the Measurement Results dialog.
Notice that “C2::Open” and “R5::Open” simulations failed to
converge.
A red line that
spans the
Meter indicates
that the
simulation did
not converge,
or there was an
error for that
measurement.
The
Convergence
Wizard may be
sued to resolve
nonconvergence
simulation runs.
As we inspect the circuit, it appears that these failure modes will
be destructive, so rather than trying to obtain convergence here,
we’ll delete these failure modes from this test configuration.
Later, we’ll add special tests which will cover these faults.
•
Click on the Faults tab.
•
Select the “C2::Open” and “R5::Open” faults and click
on the Switch Selected State button to turn them off.
Next, we’ll alter the tolerances for “@Q3[icc]” and “@Q3[p]” so
that these tests pass also.
199
DELETING FAILURE MODES THAT OVERSTRESS C OMPONENTS
Look in the
Measurement
Results dialog.
The largest
measured value
for @Q3[icc]
was about 0.1
volts
(“Q4:ShortBE”
failure mode).
The largest
measured value
for @Q3[p] was
about .24 volts
(“Q4:ShortBE”
failure mode).
•
Select the “@Q3[icc]” entry in the Measurements tab,
and click on the Edit Tol button.
•
Change the High Limit (absolute) value to 150m.
The value of 150m was selected because the largest measured
“@Q3[icc]” value was aproximately 100m (see the “Q4:ShortBE”
failure mode in the Measurement Results dialog).
Note: You might need to move the Alarm Summary Report
dialog out of the way so that you can see the Results dialog.
•
Click on the OK button to dismiss the dialog.
•
Select the “@Q3[p]” entry in the Measurements tab,
and click on the Edit Tol button.
•
Change the High Limit (absolute) value to 250m.
The value of 250m was selected because the largest measured
“@Q3[p]” value was aproximately 240m (see the “Q4:ShortBE”
failure mode in the Measurement Results dialog).
•
Click on the OK button to dismiss the dialog.
While the power and current are a bit excessive, they’re not
destructive.
Note: If the Measurement Results dialog was open when you
changed tolerance limits, it must be refreshed by closing it and
re-opening it or by selecting a different leaf.
•
Click on the Alarm button in the Main tab.
Notice that all of the alarms have been cleared.
200
TEST DESIGNER TUTORIAL
Building the Fault Tree
•
Test Design
windows and
functions are
documented in
the on-line Help.
Click on the Test Design button in the Main tab.
This is the
Test Design
dialog.
•
Select the “Standard” test from the Fault Tree Selection
list.
•
Next, renumber the sequence numbers in the Group
Sequence and Selection list, as shown below.
If the list is
empty, the Fault
Tree dialog will
automatically
prompt you to
enter a name.
201
BUILDING THE FAULT TREE
•
To change a
Sequence
value, doubleclick on the
number. This
will activate an
editing field.
Then enter a
new value.
Select the “1” entry in the “Sequence” drop-down list.
•
Then click on the Auto Build button.
Tests can be
grouped in
different
“sequences”.
The Auto Build button automatically creates the entire fault tree.
Test Designer also allows you to manually
build the fault tree, if desired. You may choose
a test sequence, select a test within that
sequence, and then click on the Insert button. The test information will be added to the
fault tree, and the test will be removed from
the test list. If you sequentially press the
Insert button without first selecting a test, the
fault tree will be created by incrementally
stepping through the steps of Auto Build
function.
The “Fault Tree Structure” labels
the fault tree nodes starting with
the test vector name, followed by the size of the pass, then the
size of the fail ambiguity groups. When you select a fault tree
node, its detailed information is displayed in the Test Description
text field. The Save button creates an output file that can be used
to code your test program. The Recalc button re-calculates the
fault tree. It’s useful if you’ve made changes to the circuit or to
measurement tolerances. A dialog will inform you if any changes
have been made, and will suggest actions if the fault tree no
longer makes any sense.
202
TEST DESIGNER TUTORIAL
Notice that we have achieved 92.9 percent failure coverage.
To see which failure modes haven’t been detected;
•
Select the “V(1)hi 3,1” item in the Fault Tree.
•
Then scroll the Test Description list to view the “Pass
Ambiguity Group” information.
203
BUILDING THE FAULT TREE
Note: The Test
Design dialog
must be closed
in order to
access the
Simulation
Control dialog,
etc.
The “C3::Open” and “R9::Open” failure modes were not detected. It can be seen that R9 isn’t really needed to bias Q3 in
this test. In order to detect “Q3::Open”, the laser would have to
be extinguished. The feedback would prevent us from setting up
a meaningful test, so we should accept “R5::Open” as an
uninteresting failure, or devise an open loop test. C3 and C2
affect stability. Open circuit failures could make the circuit
oscillate, and possibly destroy the laser diode. We need a test
that performs a controlled start-up so we can see the onset of
instability. Applying power and monitoring peak-to-peak ripple
and maximum laser current will probably do the trick. Next, we
need a safe-to-start test in order to detect the faults that might
cause an overstress condition (indicated by the previous alarms).
•
Click on the Done button to dismiss the Test Design
dialog.
Adding Safe-to-Start Tests
We already have a test configuration for this case. It reduces
Vcc to 2 volts and uses a current limited power supply to protect
the laser diode.
204
•
Click on the Measurements tab and select the
“SafeToStart/DCOP/OP” leaf.
•
Click on the Add button.
•
Click on the Next button.
•
Select all of the node voltages in the vector list (e.g. V(1)
through V(VEE), inclusive.
TEST DESIGNER TUTORIAL
Vectors V(1)
through V(VEE)
will be
measured
during this test.
•
Click on the Finish button.
•
Click on the OK button to dismiss the Simulation
Control dialog.
You can define a tolerance for the current limited power supply
so that the Monte Carlo analysis will provide all of the test limits
based upon this tolerance variation.
•
Select the SafeToStart configuration from the Options/
Configurations menu.
•
Double-click on X2, the power supply in the upper left
corner of the schematic.
•
Click on the Tolerance/Sweep tab.
•
Click on the “Case” column, in the box which is directly
across from the “Voltage” parameter.
•
Enter “5%” in that box and click on the OK button.
205
ADDING SAFE-TO-START TESTS
We’ve entered
a 5% tolerance
for the output
voltage of
power supply
X2.
Next, let’s set the test tolerances based upon the Monte Carlo
results, just as we did in the previous Design Validator tutorial.
•
Select the ICAPS function from the Actions menu.
•
Select the “SafeToStart + DCOP” test configuration.
•
Click on the Monte Carlo Mode in the Main tab.
•
Then click on the Advanced button.
Make sure that
the
“SafeToStart +
DCOP” test
configuration is
selected.
206
TEST DESIGNER TUTORIAL
•
Select the Monte tab.
•
Change the number of Cases to 6 and click on the OK
button to dismiss the dialog.
•
Make sure that the Batch and Script options (in the Data
Reduction group) are selected.
Entering a value
of 6 here will
cause six
simulations to
be performed
when the Monte
Carlo analysis
is launched.
We’re now ready to run the Monte Carlo analysis.
•
Click on the Simulate Selections button to launch the
simulations.
The following dialog appears. Because simulations may
sometimes require large amounts of time, you are given the
option to continue or to cancel the simulation request.
207
ADDING SAFE-TO-START TESTS
•
Click on the Yes button to run the simulations.
Since the Batch mode radio button was selected before the
simulations were launched, the six simulations are run in the
background in order to optimize the simulation time. The simulator
screen is not displayed and updated as the simulations proceed,
but the “Simulation progress” dialog appears in order to inform
you of the progress as the simulations are performed.
After all of the simulations have been run, you will be asked if you
want to run a standard reference simulation. If you select Yes,
an additional simulation will be performed, and the data from that
run may then be used to set the nominal measurement limits.
208
•
Click on the Yes button so that we’ll have a nominal
simulation saved for the “Last Measurements” data.
•
Click on the Results button in the Main tab.
•
Select the “SafeToStart/DCOP/OP/OperatingPoint” leaf
in the measurement tree.
TEST DESIGNER TUTORIAL
•
Scroll the report to the right and view the Monte Carlo
statistics.
•
Click on the Set Limits button.
•
Select the Last Measurements button in the Nominal
group and Sigma Limit in the Tolerance group.
•
Click on the OK button to dismiss the Set Measurement
Limits dialog.
Note: Your
Monte Carlo
analysis values
(Mean and 3
sigma) may be
slightly different,
since the
MonteCarlo
analysis is
random.
209
ADDING SAFE-TO-START TESTS
The default Sigma value is 4.75, but you may change it. The
probability calculator shows the probability for a normal distribution.
The tolerances for all measurements are now set, based upon
the Monte Carlo results.
The test limits
are now set
using the Monte
Carlo analysis
values (mean
and 4.75
sigma).
•
Click on the OK button to close the Measurement
Results dialog.
Next, let’s run the Test Designer simulations to get the fault data.
Note: Be sure
to close any
Measurement
Results dialogs
before you run
the simulations,
or the results
update might
make the
simulation run
time very long.
210
•
Make sure that the “SafeToStart + DCOP” test configuration is selected.
•
Click on the Test Designer radio button in the Mode
section.
•
Click on the Simulate Selections button to run the Test
Designer simulations.
•
Click on the Yes button to run the 5 simulations.
•
Click on the Yes button to run the reference simulation.
•
Click on the OK button to dismiss the Simulation
Control dialog.
TEST DESIGNER TUTORIAL
There are five
(5) failure
modes which
will be inserted
for the
SafeToStart
tests:
C1 short, Q2
short BE, Q3
short CE, R5
open, and X5
short Vee
(look in the
Faults tab).
Adding a Special Non-Destructive Test
In order to detect the “C2::Open” and “C3::Open” failure modes,
we need to add another test. This test will merely apply power
using a ramped power supply. We’ll monitor the voltage at the
summing junction, and the error voltage of the op amp. We’ll
create a new configuration for this test.
•
Select Configurations/Edit from the Options menu.
These are the
existing
configurations.
211
ADDING
A
SPECIAL NON-DESTRUCTIVE TEST
•
Click on the New button.
•
Enter the name “ramp start” in the New Configuration
Name field.
•
Deselect all layers but the “Core Circuitry” and “Feedback” layers.
•
Click on the OK button to dismiss the New Configuration dialog.
•
Click on the OK button to dismiss the Configurations
dialog.
The “ramp start”
configuration
will include the
“Core Circuitry”
and “Feedback”
schematic
layers.
Next, we’ll create a new simulation setup called “ramp”.
212
•
Select the Simulation Setup/Edit function from the
Actions menu.
•
Click on the Edit button.
•
Click on the New button.
TEST DESIGNER TUTORIAL
These are the
existing
simulation
setups.
•
Enter the name “ramp” in the Name field.
•
Click on the OK button to dismiss the New Configuration dialog.
•
Click on the Apply button to dismiss the Edit Configurations dialog.
213
ADDING
A
SPECIAL NON-DESTRUCTIVE TEST
Now, let’s add the definition for the new “ramp” simulation setup
that we’ve just created.
•
Click on the Transient button in the IsSpice4 Simulation Setup dialog.
•
Enter a Data Step Time value of “1u” and a Total
Analysis Time value of “200u”.
•
Click on the OK button to dismiss the Transient Analysis dialog.
•
Click on the Done button to dismiss the IsSpice4
Simulation Setup dialog.
The “ramp”
simulation setup
will perform a
200
microsecond
transient
analysis.
Next, we’ll create a new schematic layer called “vinpulse.”
214
•
Select the Layers function from the Options menu.
•
Click on the New button.
TEST DESIGNER TUTORIAL
This will place
voltage source
V7 on the VCC
node, and place
a ground
connection on
its low side.
•
Enter the name “vinpulse” into the New Layer Name
field.
•
Click on the OK button to dismiss the New Layer dialog.
•
Click on the OK button to dismiss the Layers dialog.
On this new “vinpulse” layer, we’ll connect a new VCC source
and a new VEE source. These two sources are pulse sources
with 100usec rise times. The “ramp start” configuration will then
contain the core circuitry, feedback and vinpulse layers.
•
Click on the VCC node in the schematic.
•
Select the Voltage Source function from the Parts
menu.
Select the Ground function from the Parts menu.
•
• Double-click on V7 and enter a DC
value of 5.
• Click on the Tran Generators value
field.
•Click on the Enter button.
215
ADDING A S PECIAL N ON-DESTRUCTIVE TEST
This will create
R15, rotate it,
and connect it
to ground.
This will create
a continuation
node called
“VEE”, place
voltage source
V8 on the VEE
node, and place
a ground
connection on
its low side.
216
•
Enter the following values into the first four parameter
fields in the Pulse tab: 0,5,0, and 100u.
•
Click on the OK button to dismiss the Transient Generators dialog.
•
Click on the OK button to dismiss the properties dialog.
•
Click on the left pin of capacitor C1.
•
Select the Passive/Resistor function from the Parts
menu.
•
Select the Rotate function from the Edit menu.
•
Select the Ground function from the Parts menu.
•
Double-click on R15 select the Label tab, and enter a
value of 0.1.
•
Click on the OK button to dismiss the dialog.
•
Click on an empty area of the schematic (about 1/2 inch
below the ground for R15).
•
Select the Continuation function from the Parts menu.
•
Select the Voltage Source function from the Parts
menu.
•
Enter “VEE” in the continuation’s name field and click
on the OK button.
•
Select the Ground function from the Parts menu.
•
Double-click on V8 and enter a value of -5.
•
Click on the Tran Generators value field and then click
on the Enter button.
TEST DESIGNER TUTORIAL
•
Enter the following values into the first four parameter
fields in the Pulse tab for V8: 0,-5,0, and 100u.
•
Click on the OK button to dismiss the Transient Generators dialog.
•
Click on the OK button to dismiss the properties dialog.
The schematic will then appear as shown below.
These are the
parts that we
have just
added.
Next, we’ll add the new configuration, “ramp start + ramp” to the
list of available test configurations.
•
Select the ICAPS function from the Actions menu.
•
Click on the Test Configurations tab.
•
Select the “ramp start” drawing configuration and the
“ramp” Simulator setup.
•
Click on the Add button.
217
ADDING
A
SPECIAL NON-DESTRUCTIVE TEST
These are all of
the available
test
configurations
Now we’ll define a measurement for this configuration.
•
Click on the Measurements tab.
Note: A dialog will inform you if any component’s reference
designator has changed; if this happens, dismiss the dialog.
• Select the “ramp start/ramp/TRAN”
leaf and click on the Add button.
• Click on the Next button.
• Delete the “home Cursors” script
from the Cursor Script window, and
enter “setCursor(0,75u)”.
This will set cursor zero’s position to 75u.
218
•
Click on the Next button.
•
Select vectors V(1) and V(8) from the Vector List.
•
Select the “getCursorY0” function from the Functions
list.
TEST DESIGNER TUTORIAL
V(1) and V(8)
will be
measured
during this test.
•
Click on the Finish button.
Note that for your final test, you’ll want to turn off power after
100us in order to protect against excessive current through the
laser diode.
Using IsSpice4 Interactively to Determine Tolerances
Interactive
parameter
variation is
discussed in the
IsSpice4 Tutorial
in the Getting
Started manual.
You can use IsSpice4 to interactively vary parameters in order
to observe the effects of troublesome failure modes (e.g.
“R5::Open”). The Persistence function in IsSpice4 lets you
superimpose the different results in order to see if there is a good
discriminant. This approach was used to decide which test
point(s) should be used, and at what time the measurements
should be made.
219
USING ISSPICE 4 INTERACTIVELY TO D ETERMINE TOLERANCES
C2 and R5
values were
changed in
order to
determine
which test point
and at what
time the
measurements
should be
made.
We are only interested in “C2::Open”, “C3::Open” and “R5::Open”
for this test.
Failure modes
C2::Open,
C3::Open, and
R5::Open will
be inserted for
the ramp test.
220
•
Select the Faults tab and select the “ramp start/ramp”
leaf.
•
Select all of the faults in the Failure Modes list.
•
Click on the Switch Selected State button to turn off all
of the failure modes.
•
Then select “C2::Open”, “C3::Open” and “R5::Open”
and click on the Switch Selected State button again in
order to activate these faults.
TEST DESIGNER TUTORIAL
Making the Final Product Acceptance Test
Next, we’ll run the Test Designer simulations for the 3 faults and
then run a reference simulation.
•
Click on the OK button.
•
Click on the Main tab.
•
Select the “ramp start + ramp” test configuration.
•
Make sure that the Test Designer mode button is selected, and click on the Simulate Selections button.
•
Click on the Yes button to run the 3 simulations.
•
Click on the Yes button to run the reference simulation.
•
Click on the Results button and select the “ramp start/
ramp/TRAN/getCursorY0” leaf.
•
Click on the Set Limits button.
Limits which are
set within the
Measurement
Results dialog
apply to all tests
within the
selected leaf.
221
MAKING THE FINAL PRODUCT ACCEPTANCE TEST
•
Set the Set Limits options to Last Measurement for
nominal and Default for tolerance.
•
Click on the OK button to close the Set Measurement
Limits dialog.
•
Click on the OK button to dismiss the Measurement
Results dialog.
Next, we’ll manually set the limits for the V(1) and V(8) measurements.
•
Click on the Measurements tab.
•
Double-click on the “ramp start/ramp/TRAN/
getCursorY0” leaf in order to expand it.
•
Select vector V(1), then click on the Edit Tol button and
manually set the tolerances as shown below.
These are the
limits for V(1).
These values would be acceptable, based upon the interactive
simulation data.
222
•
Click on the OK button to dismiss the Set Tolerance
dialog.
•
Select vector V(8), and then click on the Edit Tol button
and manually set the tolerances as shown below.
TEST DESIGNER TUTORIAL
These are the
limits for V(8).
•
Click on the OK button to dismiss the Set Tolerance
dialog.
•
Then select the Main tab and click on the Test Design
button.
•
Make a new fault tree by clicking on the New button in
the Fault Tree Selection group.
•
Enter the information which is shown below.
•
Click on the OK button to dismiss the dialog.
These
comments
represent the
steps we’ll
perform next.
223
MAKING THE FINAL PRODUCT ACCEPTANCE TEST
•
Click on each sequence value and enter the values
which are shown below.
•
Select sequence #1 from the Sequence list.
•
Click on the Binary button.
•
Click on the AutoBuild button to build the fault tree for
sequence 1.
•
Click on the Tertiary button, then click on the AutoBuild
button to rebuild the fault tree using tertiary logic.
•
Similarly, create fault trees for sequences 2 and 3.
Tests can be
grouped in
different
“sequences”.
224
TEST DESIGNER TUTORIAL
Your Test
Design window
should appear
similar to this.
You can compare your results with the sample2c.dwg file.
Optimizing the Test
Some nodes
may be
sensitive to
noise, or may
not be
accessible for
probing.
You might not have probe access to some nodes, and other
nodes might be sensitive to noise, so you may wish to delete
them from consideration. Vectors can be removed from consideration via the Vectors tab.
•
Eliminate undesirable test points, e.g. the summing
junction V(11), by selecting them in the Vectors tab and
clicking on the Switching Selected State button.
•
Then rebuild the fault tree.
Notice that up to a point, the detection capability doesn’t change;
however, fault isolation becomes more granular. That’s the
tradeoff decision you need to make, taking into account the
constraints which have been placed on your test design.
225
OPTIMIZING THE T EST
•
Try increasing the value of the guard band to 1.0 or 2.0.
If the fault tree doesn’t change, the tests with higher guard bands
are better, provided the test decision point is centered in the
guard band.
Entropy isn’t compared across failure states. Sometimes, a
higher entropy test is possible using binary states instead of
tertiary states.
•
You may press the Binary button at any time in order to
see if you should use the binary states.
A procedure that works frequently is to exhaust the binary states
using the Auto Build function, and then to finish with the tertiary
states, again using the Auto Build function. This is the procedure
that has been performed in our example. Be aware that vector
and histogram states require much better fault modeling in order
to produce robust test programs.
•
Click on the expanded branches of the fault tree to
collapse it so that it shows only the root and its siblings.
This is the
collapsed fault
tree.
You now have the tests which are needed to make a product
acceptance test, without fault isolation. If you add to this test
suite the functional performance tests which your product must
pass, then you have created a test that detects all catastrophic
faults and screens the product for its functional capability.
226
TEST DESIGNER TUTORIAL
Summary:
You have just completed a product acceptance test and a fault
isolation test using the failure modes which are recommended
by the U.S. Navy for their Consolidated Automatic Support
System (CASS) programs. Interestingly, you have identified
several components that are not required for circuit functionality. If these procedures are used properly, they satisfy contract
requirements for fault isolation.
There are many ways to use the Test Design features of the
program. We’ve pointed out a few; but there are many others,
including the ability to perform a manual fault tree design,
without the use of our entropy recommendations. The Options
button in the Results dialog is just the beginning of a new way
to develop an automatic test. It finds all possible equations that
identify failures, and reports these equations in a file. If the cost
of making all measurements is equal, then we can use all of the
equations in order to make a fault isolation decision. This gives
us a very robust mechanism, avoiding the pitfalls which are
associated with over-estimating the accuracy of the tests. This
approach re-defines the idea of the “best” solution, and requires
further research to prove its value.
227
228
Analog Simulation Examples
SIMULATION EXAMPLES
AC Analysis - A Butterworth Filter
In this example, we will introduce the PWL voltage source and
demonstrate the effect of sampling theory and how it applies to
IsSpice4.
New Topics Covered
Sources
• PWL...Piecewise Linear Voltage Controlled Source
Transient Analysis Control
• TSTEP...Time Step Control
Output Control
• Printout and Plot Resolution
• Magnitude/Phase Plot (.PRINT AC)
Analysis
• .PZ...Pole Zero Analysis
Specification:
Given the circuit below: determine the magnitude and phase
response vs. frequency (Bode Plot) and the pulse response.
Using the PWL statement, the input pulse should have the
following time voltage description:
V(1)
1
R1
1OHM
V1
PWL
The .PRINT
Statements are
generated for
you by the test
point symbols.
You DO NOT
have to type
them in!!
V(4)
L1 .38268UH
2
C1
1.0824NF
L2 1.5772UH
3
C2
1.5307NF
4
Time (s)
0
1u
2u
20u
20.1u
Voltage (v)
0
0
1
1
0
The PWL stimulus is generated by placing a voltage source on
the schematic, double-clicking on it to open the properties
dialog, double-clicking on Tran Generators field and then entering the PWL data points in the PWL tab.
The .TRAN and .AC statements are created using the Actions
Simulation Setup Edit... function.
229
AC ANALYSIS - A BUTTERWORTH F ILTER
Be careful to
enter the PWL
points correctly.
Be sure not to
enter the letter
O in place of
the number
zero.
Note: The
netlist
generated by
the schematic
will look
different.
Check the .ERR
file for a listing
of the IsSpice4
error and
warning
messages if
your simulation
does not run.
AC Analysis - A Butterworth Filter
.TRAN 5US 50US
.AC DEC 20 100HZ 100MEGHZ
.PZ 2 0 4 0 VOL PZ
; The .PZ statement is entered in the
R1 1 2 1OHM
; IsSpice4 Simulation Setup dialog
L1 2 3 .38268UH
; in the user statement field.
L2 3 4 1.5772UH
C1 3 0 1.0824NF
C2 4 0 1.5307NF
V1 1 0 PWL 0S 0V 1US 0V 2US 1V 20US 1V 20.1US 0V AC 1
.END
•
After entering the schematic, simulate the circuit. Be
careful to enter the piecewise linear voltage source
properly.
Refer to the IsSpice4 User’s Guide to clarify any syntax questions. If any errors appear, check the error file by clicking the
ERR button in IsEd.
The voltage source, V1, has a piecewise linear transient signal
generator, as well as an AC source magnitude value. This is
perfectly all right. Sources can be assigned values for any or all
of the five main types of analyses: AC, noise, distortion, DC, or
transient, on the same line. The values will each be used with
their respective analyses.
Bode Plot
After running a successful simulation, look at the plot of VDB(4)
and VP(4). You can look at various waveforms and variations
(magnitude, real, imaginary, phase, etc.) of the saved waveforms using the IntuScope IsSpice WFMS... function. The
schematic test points automatically cause the phase and magnitude in dB to be displayed in IsSpice4. The number of points
we decided to print per decade (20) is determined by the .AC
statement. This point interval determines how the output data
will appear.
The magnitude/phase response for this example is shown on
the next page. Your X/Y axis labels may be different.
230
SIMULATION EXAMPLES
Phase
Magnitude
Interpolated
data is used for
the waveforms
shown at the
bottom of the
IntuScope
Waveforms
menu. Noninterpolated
“raw” data is
used for the
waveforms
taken from the
IsSpice WFMs..
dialog.
The noninterpolated
data is normally
more accurate.
Pulse Response
Proper specification of control statements is critical to the
transient analysis. The minimum entries required for the transient control statement are TSTOP and TSTEP. TSTOP is the
total analysis time. TSTEP is the sampling interval. The Nyquist
sampling theory will dictate the appropriate value of TSTEP.
TSTEP must be at least twice the frequency of the quickest
event in a simulation in order for the event to be captured.
However, in certain circumstances, trade-offs must be made
between acceptable accuracy and simulation time.
Examine the transient waveforms. Notice how the steep fall time
causes ringing at the output. Using inadequate sampling can
greatly effect the results you will receive from IsSpice4. The
graphs shown next were created by changing the TSTEP
parameter in the .TRAN statement, thus altering the interpolated data recorded by the simulation. It clearly shows the effect
of variations on the data printout interval, TSTEP. Too few points
will cause data to be aliased or distorted. Too many data points
will increase the total simulation time and may provide data
beyond the scope of interest. Note that no matter how many data
points were taken, the final value was always the same.
231
AC ANALYSIS - A BUTTERWORTH F ILTER
Additional Notes On Accuracy
There are other parameters, besides TSTEP, that can affect the
accuracy of the output from a simulation. Some of these are the
TMAX parameter in the .TRAN control statement and the
RELTOL parameter in the .OPTIONS control statement.
The TMAX parameter in the .TRAN control statement controls
the maximum internal timestep of the simulator. The IsSpice4
simulator does not necessarily make calculations at every data
point requested by TSTEP. The internal timestep of the simulator is variable, and changes depending on the conditions present
in the circuit. All output data is interpolated from internally
1
5.00U
15.0U
25.0U
35.0U
45.0U
5.00U
TSTEP=.1US, TSTOP=50US
15.0U
25.0U
35.0U
45.0U
TSTEP=.5US, TSTOP=50US
M
M
M
1
1
5.00U
15.0U
25.0U
35.0U
TSTEP=1US, TSTOP=50US
232
45.0U
5.00U
15.0U
25.0U
35.0U
TSTEP=5US, TSTOP=50US
45.0U
SIMULATION EXAMPLES
Use the
Convergence
Wizard to
resolve
convergence
errors.
Use the User
Statements field
in the IsSpice4
Simulation
Setup dialog to
enter the .PZ
statement.
calculated points. The TMAX parameter is used to control the
internal time step by limiting it to a specified maximum value.
This will allow the variable time points being used for interpolation to be closer to the actual requested constant data point
interval. (TMAX should be set to one-half or one-fourth of
TSTEP if interpolation problems are suspected.)
The RELTOL parameter in the .OPTIONS statement controls
the overall accuracy of the simulator. The default value is set to
0.001. For most applications, RELTOL can be set to .01 to
speed up the simulation without significantly affecting accuracy.
Pole-Zero Analysis
IsSpice4 has the capability to calculate the poles and zeros of
a transfer function. The syntax for the Pole-Zero analysis is
listed in the IsSpice4 User’s Guide. In this example, the poles
and zeros are requested for the transfer function defined by the
input nodes, 2 & 0, and output nodes, 4 & 0. The transfer function
is defined by the VOL entry to be: (output voltage)/(input
voltage). We could have used the CUR entry, instead, to define
the transfer function as (output voltage)/(input current). The .PZ
entry causes the calculated poles and zeros to be placed in the
output file. An example is shown below.
-------------- Pole - Zero Analysis ------------Transfer function of (V(4) - V(0)) / (V(2) - V(0)) in Volts / Volt
Poles
•
Real
------5.27939e-21
-5.27939e-21
2.066611e-28
2.066611e-28
Imag
-----1.798770e+07
-1.79877e+07
5.559353e+07
-5.55935e+07
Number
-----1
1
1
1
Try expanding the frequency range for the .AC analysis
by changing the .AC control statement to the following:
.AC DEC 20 100KHZ 1GHZ
•
Resimulate the circuit with the new .AC statement and
examine the output.
233
TRANSIENT ANALYSIS - A RECTIFIER CIRCUIT
Transient Analysis - A Rectifier Circuit
Since not all circuits are made with passive components, it is
time to advance and see how to use active devices. This
example will demonstrate how to call and use IsSpice4'S builtin diode model.
New Topics Covered
Sources
• V...Independent Voltage Source
SIN...Sinusoidal Transient Statement
Semiconductors
• D...Diode call
Miscellaneous
• .MODEL statement
Specification:
The circuit we will construct and simulate is shown on the next
page. The input stimulus will consist of a sinusoidal signal with
0 volt offset and a peak value of 1 volt at 1kHz. The SIN stimulus
is generated by placing a voltage source on the schematic,
double-clicking on it to open the properties dialog, doubleclicking on Tran Generators field and then entering the SIN data
into the SIN tab.
The DC voltage source will have a value of .5 volts. Data will be
collected every 10µs for 2ms at nodes 1 and 2 using a transient
analysis and two test points. We will use the 1N4148 diode. This
diode can be found using the X Parts Browser.. function under
the Parts menu.
•
Enter the design and run the simulation.
Note: It is not necessary to type the .MODEL statements.
SpiceNet will retrieve the models from the ICAPS SPICE model
libraries in the PR directory automatically.
234
SIMULATION EXAMPLES
The IsSpice4
model and
.PRINT
statements are
only shown for
clarity. They DO
NOT need to be
typed in!
Transient - A Rectifier Circuit
*#SAVE ALL ALLCUR ALLPOW
.TRAN 10U 2M
.MODEL DN4148 D(RS=.8 CJO=4PF
+ IS=7E-09 N=2 VJ=.6V TT=6E-09 M=.45 BV=100V)
.MODEL DN4001 D(RS=.04 CJO=55PF IS=1.38E-09
+ N=1.7 VJ=.34V TT=5U M=.38 BV=75V)
.PRINT TRAN V(2) V(1)
V(1)
D2 DN4148
VIN
*#ALIAS VIN V(1)
1
*#ALIAS VOUT V(2)
R1 2 3 1OHM
V2 3 0 0.5V
V1
SIN
D2 2 1 DN4148
V1 1 0 SIN 0 1V 1KHZ
Print, Save, and
.END
Alias statements are
generated by the
test points symbols
V(2)
VOUT
2
R1
1OHM
3
V2
0.5V
In the above netlist, you will notice the .MODEL statements. All
semiconductor devices used in an IsSpice4 simulation must
have a .MODEL statement associated with them. This statement is used to describe the semiconductor device by passing
a set of parameters that fill predefined equations. These equations are then used to simulate the device. Semiconductor
devices require two statements in a netlist. One line, the diode
call line, describes the connections (i.e. D1 2 1 DN4148). The
second is the associated .MODEL statement which is referred
to by the diode (i.e. .MODEL DN4148 D (CJO=...). The model
name in the .MODEL line must match the one on the diode call
line (DN4148). The schematic handles this syntax for you.
As explained in the previous example, the .TRAN parameters
are extremely important when performing a transient analysis.
The output is a direct result of the TSTEP entry in the .TRAN
statement, and should be set to adequately sample the waveform. Unfortunately, the highest output frequency is not always
known. Hence, the .TRAN statement should be set to examine
the expected output from a circuit. Unresolved artifacts can
always be examined with another simulation at an increased
sampling interval.
235
TRANSIENT ANALYSIS - A RECTIFIER CIRCUIT
In this circuit, we used a 1kHz SIN wave. One period occurs
every 1ms. Since the main interest of the circuit focuses on the
response to the 1kHz sin wave, we must choose a sampling
interval that will generate acceptable output. By adhering strictly
to the Nyquist theory, the output should be sampled at least
every 0.5ms. The choice of 10µs was used to obtain detailed
output without causing excessive simulation time.
•
To continue the example, replace the DN4148 diode
with a DN4001 diode.
Note: After placing more than one model for the same kind of
part, you can switch between the different models by using the
.Model field in the part’s properties dialog.
•
Rerun the simulation.
The results of the simulation for the circuit containing the
DN4148 are shown below.
236
SIMULATION EXAMPLES
Proper Use of Semiconductor Devices
When using semiconductor devices, care should be taken to
ensure that the proper connections are made. An incorrectly
connected device may satisfy simulator connectivity requirements, but may cause your circuit to run improperly or cause
IsSpice4 to abort the analysis.
Normally,
models are
retrieved
automatically
from libraries.
Listed next are five types of semiconductor devices that are
available in IsSpice4, their connections, and an abbreviated
example of each device's model statement. The model parameters can be edited directly in the schematic using the part
properties dialog. Any changes will be local to the schematic.
The semiconductor devices are called using the D, Q, J, M, or
Z keyletters, and must be properly defined by an appropriate
.MODEL TYPE parameter. For example, Q should list an NPN
or PNP type.
D1 NA NC DN4148
.MODEL DN4148 D
Q1 NC NB NE QN2222
.MODEL QN2222 NPN
M1 ND NG NS NB N1
.MODEL N1 NMOS
NC
NA
ND
NC
NB
NG
NS
NE
J1 ND NG NS J2N
.MODEL J2N PJF
NB
Z1 ND NG NS J2N
.MODEL GAS NMF
ND
NG
ND
NG
NS
NS
237
DC SWEEP - DEVICE CHARACTERISTICS
DC Sweep - Device Characteristics
In this example, we will explore the use of the IsSpice4 JFET
model and how to obtain its forward DC characteristics.
Specifications:
A DC analysis will be performed and the DC sources VDS,
Drain-Source voltage, and VGS, Gate-Source voltage, will be
swept to obtain the drain current characteristics. VDS will be
swept from 0 to 5V in .2V steps, and VGS will be swept from
-5v to -7V in -.5V steps. The voltage source, V2, will be used to
measure the drain current. Output will be obtained for the DrainSource voltage, VDS, and the Drain-Source current, I(V2).
Note: You must make the reference designations in the voltage
source properties dialogs match the ones shown in the schematic below if the .DC statement is to work properly.
New Topics Covered
Sources
• Current meter
Semiconductors
• JFET
Analysis
• DC Sweep
Output Control
• .PRINT DC
The IsSpice4
model and
.PRINT
statements are
only shown for
clarity. They DO
NOT need to be
typed in!
238
DC Sweep - Device Characteristics
.MODEL J105 NJF (VTO=-7.25 BETA=5M LAMBDA=.035
+ RD=4.20E-01 RS=3.78E-01 IS=9.48E-14 PB=1.00 FC=.5
+ CGS=8.00E-11 CGD=1.40E-10 KF=3.886E-16 AF=1)
.DC VDS 0 5 .2 VGS -5 -7 -.5
.PRINT DC @J1[ID]
VDS 1 0
VGS 3 0
J1 2 3 0 J105
V2 1 2
.END
SIMULATION EXAMPLES
DC Analysis
The .DC control statement is used to specify a DC analysis. In
a DC analysis, any voltage or current source may be swept.
Node voltages or branch currents requested in the .PRINT DC
statements will be recorded. The DC analysis statement .DC
VDS 0V 5V .2V VGS -5V -7V -.5V will sweep the voltage
source VDS from 0 to 5V, in .2V steps. For each step of VDS,
VGS will be swept from -5V to -7V in -0.5V increments. Data will
be saved for each combination of VGS and VDS. In this case,
the current through the voltage source, V2, (.PRINT DC I(V2)),
will be measured. The value of VDS is obtained automatically
from the DC analysis, because it is the first swept variable.
You are likely to notice that the voltage sources do not need any
values. In a DC analysis, the source values are driven by the
.DC control statement. The .DC statement will override any DC
or transient values entered into the properties dialog during the
.DC analysis, but will allow the values to be used for the AC and
transient analyses.
JFET Semiconductor
Like the diode, there are two lines that identify a JFET. The call
line, (J1 1 3 0 J105), and the .MODEL statement, (.MODEL J105
NJF (VT=...). The .MODEL statement DOES NOT have to be
typed into the schematic. It will be added to the netlist automatically.
Current Measurement
Another new function performed by this example is the measurement of current. In IsSpice4, current can be measured
through any element. In this example, the current meter, V2,
does not contribute stimulus to the circuit since its value field is
not stated. It only exists to measure current flow. A blank value
field is interpreted as zero volts. For other devices, current is
specified by inserting a current test point (Parts Menu, 3Y) in the
symbol. You can also use the .PRINT DC statement by placing
the @ sign before the model's Reference Designation, followed
by the desired current (between square brackets).
. For example; .PRINT DC @J1[ID]
239
DC SWEEP - DEVICE CHARACTERISTICS
The output for this example is shown below.
VGS=-5v
VGS=-5.5v
VGS=-6v
Transmission Lines - Buffering and Impedance Matching
In this example, we will demonstrate three new elements, the
voltage controlled voltage source, (VCVS), and two transmission lines (T-Line), (both lossless and lossy). We will use the
VCVS to simulate an ideal op-amp and the T-line to investigate
impedance matching.
New Topics Covered
Sources
• E...Voltage Controlled Voltage Source
Passive Elements
• T...Lossless Transmission Line
• O...Lossy Transmission Line
240
SIMULATION EXAMPLES
Specification:
For the circuit shown below: the input voltage source will consist
of a pulse train with an initial value of .5V, a final value of 3.5V,
no delay, rise and fall times of 3ns, a pulse width of 22ns, and
a period of 50ns. The VCVS will have a gain of 10,000. The
lossless T-line will have a time delay (TD) of 2ns, a characteristic
impedance of 75Ω, and a length of 1 meter. The lossy T-line will
have a time delay of 2ns, an impedance (Zo) of 75Ω, and a
series resistance of 4Ω/m. Transient analysis data should be
collected every 1ns for 100ns, starting at time 0. We will
investigate the output of the op-amp, and the T-line. We will also
investigate the effects of losses and length for the best matching
circuit.
•
“ZO=75
TD=2N” must
be entered into
the lossless
transmission
line’s Properties
dialog.
Enter the circuit as shown, and perform the simulation.
T-Lines - Buffering and Impedance Matching
*#SAVE ALL ALLCUR ALLPOW
.TRAN 1N 100N 0 1N
.PRINT TRAN V(1) V(3) V(4)
R1 1 2 1K
E1 3 0 0 2 10K
R2 2 3 10K
T1 3 0 5 0 ZO=75 TD=2N ; Symbol Ideal T line
R3 5 4 150
C1 4 0 10P
V1 1 0 PULSE .5 3.5 0 3N 3N 22N 50N
.END
V(3)
R2 10K
V(1)
1
R1 1K
2
3
5
E1
10K
V1
PULSE
R3 150
V(4)
4
C1
10P
T1
ZO=75
Buffering
The VCVS in this circuit is modeling an ideal op-amp. The
resistors, R1 and R2, create a simple inverting amplifier configu-
241
TRANSMISSION LINES - B UFFERING AND IMPEDANCE MATCHING
ration with a gain of 10. This inverting amplifier essentially
buffers the input voltage source to the transmission line.
Impedance Matching
The 150Ω resistor and the 10pf capacitor form a series impedance match to the transmission line. As the output shows, this
termination scheme is quite poor.
Series
Termination
Parallel
Termination
•
V( 4)
R3
75
C1
5P
Ω resistor and
To improve the matching, replace the 150Ω
10pf capacitor with the parallel termination shown to
the left. Simulate the circuit again. The new statements
are shown below for reference.
R3 4 0 75
C1 4 0 5P
Now that the circuit has better matching, let's examine the
impact of a longer transmission line and the effects of a lessthan ideal T-line.
242
SIMULATION EXAMPLES
•
To do this, replace the current LosslessT-line symbol
with the RLCG Lossy Tline symbol.
The symbol RLCG Lossy T Line is found under the Parts menu,
Passive submenu.
•
Enter the model name “line” in the Lossy Tline’s .Model
pop-up field in the properties dialog.
The model name links the lossy transmission line element to a
set of model parameters. To calculate the necessary parameters, we will use the following conversions.
TD =
LEN
LEN
⇒ VP =
VP
TD
ZO =
L
⇒ L = ZO 2C
C
1
1
⇒C=
LC
LVP 2
VP =
In this example, LEN=1 meter, TD=2ns, Zo=75Ω, Vp is phase
velocity (m/s), L is inductance (H/m), and C is capacitance (f/m).
Evaluating the equations yields the parameters for the following
.MODEL statement.
.MODEL LINE LTRA(R=0 L=150n G=0 C=26p LEN=1)
•
Enter the LTRA parameters values in the Part Properties dialog, and simulate the parallel and series termination circuits with this new transmission line. The
results should be comparable.
•
With the transmission line in this form, it is quite easy
to investigate the effects of lengthening the line. To do
this, simply change the value of LEN in the Part properties dialog.
•
Simulate the series terminated circuit with different
lengths. The results for simulations with 1, 5, and 10
meter segments is shown on the following page.
243
TRANSMISSION LINES - B UFFERING AND IMPEDANCE MATCHING
60.0
50.0
1
20.0
30.0
2
-20.0
10.00
-60.0
-10.00
-100.0
-30.0
3
10.00N
30.0N
50.0N
70.0N
90.0N
TIME in Secs
Finally, we can determine the effects of losses in the line. This
is done by setting R to a nonzero value. Unfortunately, it is not
as easy as plugging in a value. If R is included, the characteristic
impedance, Zo, and phase velocity, Vp, will change. This will
change the values of L and C. For this example, however, we will
simply add a unit resistance of 4Ω/m and simulate the circuit for
a 50m line.
•
Replace the values for the lossy line parameters with
the following parameter values.
R=4 G=0 L=150n C=26p LEN=50
By increasing the length of the line, we have also increased the
time delay. Because of this, the TSTOP parameter in the .TRAN
statement must be increased. Replace the .TRAN line with
.TRAN 1N 200N 0 1N.
•
244
Simulate the series-terminated circuit with the new
lossy line. The results are shown next. Note the attenuation in the line caused by R.
SIMULATION EXAMPLES
0
4.00
0
-10.00
1
-20.0
-4.00
-30.0
-8.00
-40.0
-12.0
2
20.0N
60.0N
100.0N
140N
180N
TIME in Secs
Noise, Distortion, and Fourier Analyses - Bipolar Amplifier
So far, we have investigated the AC, DC, and Transient analyses. All of these fundamental analysis types are important when
designing and troubleshooting a circuit. However, there are
numerous circuit specification requirements that are not tested
by these three analysis types. This example uses a simple
bipolar amplifier to perform: distortion, Fourier, noise, and DC
transfer function analyses.
New Topics Covered
Analysis Control
• .FOUR...Fourier Analysis
• .DISTO...Distortion Analysis
• .NOISE...AC Small Signal Noise Analysis
• .TF...Transfer Function
• .OPTION ACCT
245
NOISE, DISTORTION, AND F OURIER ANALYSES - B IPOLAR AMPLIFIER
ICL Control Block
• show...Device Operating Point Information
• showmod...Model Operating Point Information
All the ICL
(control block in
bold below)
statements are
entered in the
User
Statements field
of the IsSpice4
Simulation
Setup dialog.
Specification:
We wish to determine the harmonic content, intermodulation
distortion, and the equivalent input and output noise of the
following amplifier circuit. The input stimulus will be a sinusoidal
waveform with 0V offset, a magnitude of 1V, and a frequency of
100kHz. The AC input stimulus will have a magnitude of 1 and
a phase of 0. Distortion sources will have a magnitude of 1 for
the primary frequency, and a magnitude of .1 for the secondary
frequency. Transient data should be collected every 100ns for
20µs, starting at 20µs. AC data should be collected at 20 points
per decade from 1Hz to 100MEGHz. Noise data should be
collected at 10 points per decade from 1Hz to 100MEGHz.
Distortion output should be collected from 10kHz to 1MEGHz at
5 points per decade. Output should be collected for node voltage
9. Transient data should be collected for node 1. The circuit
accounting information, operating point information, and model
parameter information should all be collected and displayed in
the output file.
Advanced Analysis Types
*#SAVE ALL ALLCUR ALLPOW
.CONTROL
OP
SHOW Q : VBE VBC ICC IB IE GM GO FT TEMP
SHOWMOD ALL
.ENDC
.MODEL QN2222 NPN (IS=15.2F NF=1 BF=105
+ VAF=98.5 IKF=.5 ISE=8.2P NE=2 BR=4
+ NR=1 VAR=20 IKR=.225 RE=.373 RB=1.49
+ RC=.149 XTB=1.5 CJE=35.5P CJC=12.2P
+ TF=500P TR=85N)
.MODEL QN2907 PNP (IS=1.1E-12 BF=200 BR=6
+ NF=1.21 RC=.6 IKF=100E-3 VAF=50 XTB=1.5
+ NE=1.9 ISE=1.3E-11 CJE=23PF VJE=.85 MJE=1.25
+ CJC=19PF VJC=.5 MJC=.2 TF=5E-10 TR=34E-9)
.OPTION ACCT
.TRAN 100N 40U 20U
.AC DEC 20 1HZ 100MEGHZ
.FOUR 100KHZ V(9)
.DISTO DEC 5 10K 1MEG .49
.PRINT DISTO V(9) VP(9)
246
.NOISE V(9) V1 DEC 10 1 100MEG
.PRINT NOISE INOISE ONOISE
.TF V(9) V1
*#ALIAS VIN V(1)
*#ALIAS VOUT V(9)
.PRINT AC V(9) VP(9)
.PRINT TRAN V(1) V(9)
R1 1 2 100K
Q1 6 2 3 QN2222
Q2 4 0 3 QN2222
R2 4 6 2.7K
V2 6 0 10
R3 3 5 20K
V3 5 0 -10
R4 4 8 1K
Q3 9 4 6 QN2907
C1 8 9 100P
R5 9 2 100K
R6 9 5 10K
V1 1 0 Sin 0 1 100K AC 1 Distof1 1 Distof2 .1
.END
SIMULATION EXAMPLES
AC 1, Distof1 1
and Distof2 .1
are entered into
the V1
Properties
dialog.
V2 10
V(1)
VIN
1
Sin 0 1 100K is
entered using
the Tran
generators field
in the properties
dialog.
R2
2.7K
6
R1 100K
4
Q2
QN2222
2
Q3
QN2907
Q1
QN2222
R4
1K
9
C1 100P
8
3
V1
SIN
V(9)
VOUT
R5 100K
V(3)
R6
10K
R3
20K
V3 -10
The QN2222
and QN2907
symbols are
listed in the Part
Browser dialog
under BJT Part
Types, and
General
purpose Sub
Types.
5
•
After simulating the circuit, scan the output file and
look at the results produced by each different analysis.
The analyses performed by this IsSpice4 simulation generate a
tremendous amount of output data. The parameter options
used to generate the output may appear a little confusing. We
will go over each analysis.
Fourier: This analysis is specified by the Fourier dialog in the
IsSpice4 Simulation Setup dialog. It defines the fundamental
frequency and the output variables.
.TRAN 100N 40U 20U
Data will be taken from TSTOP-pe.FOUR 100KHZ V(9)
riod to TSTOP, where period is one
period of the fundamental frequency
specified on the .FOUR line as a frequency. The first nine
harmonic components and the DC component will be calculated
and placed in the output file for every output variable specified
on the .FOUR line. In this example, a Fourier analysis was
performed on data collected from 40µs-10µs (30µs) to 40µs for
247
NOISE, DISTORTION, AND F OURIER ANALYSES - B IPOLAR AMPLIFIER
node 9. The output generated for the Fourier analysis is shown
next. The Fourier analysis is performed in conjunction with the
transient analysis, so a .TRAN statement with a valid TSTOP
interval must be included.
Fourier output
data is placed
in the IsSpice4
Output file.
Fourier analysis for v(9):
No. Harmonics: 10, THD: 0.602413 %, Gridsize: 200, Interpolation Degree:
1
Harmonic
-------0
1
2
3
4
5
6
7
8
9
Frequency
--------0
100000
200000
300000
400000
500000
600000
700000
800000
900000
Magnitude
--------0.27733
1.01588
0.00590116
0.00158227
0.000343812
7.16364e-05
2.40534e-05
1.46644e-05
1.31562e-05
1.3202e-05
Phase
----0
173.162
-52.428
89.378
-142.88
-28.685
87.041
123.272
122.688
126.503
248
Norm. Phase
----------0
0
-225.59
-83.784
-316.04
-201.85
-86.121
-49.89
-50.474
-46.66
Distortion: The distortion
analysis is a small signal
analysis that will produce
the second and third
harmonic distortion or the
intermodulation product frequencies and the second
intermodulation component. The three statements required to
perform the distortion analysis are shown. The .DISTO line tells
IsSpice4 to perform a distortion analysis from 10kHz to 1MEGHz
at 5 points per decade. The final parameter on the line is the
distortion parameter “f2overf1”. This sets the second frequency
component to “f2overf1∗fstart”, in this case, 49kHz. When
f2overf1 is present, the intermodulation components are
calculated. When this parameter is absent, only the 2nd and 3rd
harmonic contents are calculated. The second line tells IsSpice4
to output the voltage, in magnitude and phase, at node 9. The
final line defines the input magnitudes for both the primary
frequency, distof1, and the secondary frequency, distof2, as 1
and .1, respectively. Output for the distortion analysis is tabulated
in the output file for the range and points specified in the .DISTO
line.
.DISTO DEC 5 10K 1MEG .49
.PRINT DISTO V(9) VP(9)
V1 1 0 AC 1 DISTOF1 1 DISTOF2 .1
This Disto
analysis is
specified by the
Distortion dialog
in the IsSpice4
Simulation
Setup dialog.
Norm. Mag
--------0
1
0.00580892
0.00155754
0.000338439
7.05168e-05
2.36775e-05
1.44352e-05
1.29506e-05
1.29957e-05
SIMULATION EXAMPLES
This .Noise
analysis is
specified by the
Noise dialog in
the IsSpice4
Simulation
Setup dialog.
Noise output
can be
converted to dB
with INTUSCOPE.
Noise: The noise analysis is a small signal analysis. It calculates the total output noise
.NOISE V(9) V1 DEC 10 1 100MEG and the equivalent input
.PRINT NOISE INOISE ONOISE
noise, as well as the noise
contributions of each component or model parameter. The
noise analysis requires the presence of two lines in the netlist,
as shown in the text box. The first is the .NOISE control
statement. This statement specifies the frequency range and
how the data should be collected. This is very similar to the .AC
and .DISTO statements. In this example, the .NOISE control
statement will cause output to be calculated for all noise contributing sources in the circuit (resistive and active elements) at 10
points per decade from 1Hz to 100MEGHz. To generate data,
SpiceNet issues the .PRINT NOISE statement when a .NOISE
analysis is specified. It does not have to be typed in. The .PRINT
NOISE statement works like any other .PRINT statement except the only options that are allowed are INOISE (equivalent
input noise) and ONOISE (total output noise).
The output for the noise analysis is shown below.
249
NOISE, DISTORTION, AND F OURIER ANALYSES - B IPOLAR AMPLIFIER
This .TF
analysis is
specified by the
DC Transfer
function dialog
in the IsSpice4
Simulation
Setup dialog.
Transfer Function: The small signal transfer function analysis
is used to find the small signal DC gain from
.TF V(9) V1
any input source to any output node, the
input resistance, and the output resistance. Only one line is
necessary to implement this analysis. The .TF line is used to
specify the input source and the output node used for the
calculations. The results will be placed in the output file. This
example reports the DC small signal gain, from V1 to V(9), to be
.997 with 180 degrees of phase shift (indicated by the minus
sign), as well as an input resistance at V1 of 100kΩ and an
output resistance looking into V(9) of 30Ω. Only one .TF may be
performed for each simulation. The results, as they appear in the
output file, are shown below.
The Transfer
Function (TF)
Output is
placed in the
IsSpice4
OUTPUT file.
***** SMALL SIGNAL DC TRANSFER FUNCTION
output_impedance_at_V(9) 3.040030e+01
v1#Input_impedance
1.000560e+05
Transfer_function -9.96126e-01
Operating Point Information: The show and showmod commands are used to extract device and
show q : vbe vbc ...
model operating point information.
showmod all
These commands are activated in the
IsSpice4 Simulation Setup dialog using the Operating Point
button or by typing in the correct ICL syntax. This example
tabulates the operating point information for all transistors for
the parameters specified, and all model parameters in the
circuit. A small section of the output is shown below;
BJT: Bipolar Junction Transistor
device
q4
q3
model
qn2907
qn2222
vbe
0.642
0.603
vbc
-9.08
-10
icc
0.00103
0.000215
ib
1.05e-05
2.86e-06
ie
-0.00104
-0.000218
gm
0.0326
0.00832
go
1.74e-05
2.04e-06
ft
4.91e+07 2.29e+07
temp
27
27
250
q1
qn2222
0.607
-9.36
0.000248
3.24e-06
-0.000251
0.00957
2.37e-06
2.6e+07
27
SIMULATION EXAMPLES
Using Subcircuits - Active RC Filter
There are four types of devices in IsSpice4; passive elements,
active elements, C code models, and subcircuits. Thus far, we
have limited our examples to primitives. In this example, we will
introduce a 4th order Bessel low-pass filter circuit that uses a
subcircuit representing a UA741 op-amp. Since the UA741 is
too complicated to be represented by only one component, it
uses a collection of primitive components put together in a
topology that produces the characteristics of a UA741.
New Topics Covered
Subcircuits and Models
• X...Subcircuit Call
• .SUBCKT .ENDS
Output
• .PRINT Real Imaginary
The UA741 is
located in the
Part Browser
dialog under the
Op-amps Part
Type, Intusoft
Sub Type
listing.
Specifications:
Given the circuit shown below, we will determine the frequency
response. The AC stimulus will have be 1. Data will be collected
at node 8 from 1Hz to 1GHz at 20 points per decade. The data
will be displayed in magnitude and phase, and real and imaginary formats.
V3 15
R5 6.75K
C4 .0796U
R1 3.375K
1
7
R2 2.25K
VCC
V1
AC
C1
.26U
X1 UA741
VEE
9
8
C3
.0806U
2
3
4
VCC
5
R4 10K
X2 UA741
6
VEE
V(8)
VOUT
R3 10K
C2
.031U
V2 -15
251
USING SUBCIRCUITS - ACTIVE RC FILTER
Using Subcircuits - Active RC Filter
*#SAVE ALL ALLCUR ALLPOW
.SUBCKT UA741 2 3 6 7 4
*
- IN + OUT VCC VEE
RP 4 7 10K
Aliases are
RXX 4 0 10MEG
generated by
IBP 3 0 80NA
the Test
RIP 3 0 10MEG
points
CIP 3 0 1.4PF
IBN 2 0 100NA
RIN 2 0 10MEG
CIN 2 0 1.4PF
VOFST 2 10 1MV
RID 10 3 200K
EA 11 0 10 3 1
R1 11 12 5K
R2 12 13 50K
C1 12 0 13PF
GA 0 14 0 13 2700
C2 13 14 2.7PF
RO 14 0 75
L 14 6 30UHY
RL 14 6 1000
CL 6 0 3PF
.ENDS
.AC DEC 20 1HZ 1GHZ
*#ALIAS VOUT V(8)
.PRINT AC V(8) VP(8)
.PRINT AC VR(8) VI(8)
R1 1 7 3.375K
R2 7 3 2.25K
C1 7 0 .26U
X1 3 0 4 2 9 UA741
R3 4 5 10K
R4 5 6 10K
X2 8 6 8 2 9 UA741
C2 6 0 .031U
C3 5 8 .0806U
C4 3 4 .0796U
R5 7 4 6.75K
V2 9 0 -15
V3 2 0 15
V1 1 0 AC 1
.END
Subcircuits
Important Note: As with .Model statements, .SUBCKT subcircuit netlists DO NOT have to be typed in.
Node zero is
ground in
subcircuits. It is
the SAME
ground that is in
the main circuit.
252
A subcircuit netlist is enclosed by a .SUBCKT statement at the
beginning, and a .ENDS statement at the end. All connections
into and out of a subcircuit are specified on the .SUBCKT line.
The subcircuit name is also given on the .SUBCKT line. This
can be seen in the partial listing of the UA741 subcircuit shown
below.
.SUBCKT UA741 2 3 6 7 4
*
- IN + OUT VCC VEE
RP 4 7 10K
RXX 4 0 10MEG
.
.
.
L 14 6 30UHY
RL 14 6 1000
CL 6 0 3PF
.ENDS
SIMULATION EXAMPLES
The node list on the .SUBCKT line is important. The order of the
nodes determines the connections between the subcircuit
netlist and the “X” call line. In this case, the comment line below
the .SUBCKT line details the proper connections. The calling
line in the main IsSpice4 netlist would look like the following;
X1 3 0 4 2 9 UA741
This call to the UA741 subcircuit would connect 3 to the inverting
input, 0 to the non-inverting input, and so on. The actual node
numbers on the calling line are not important. Only their position
is important. Also, there must be the same number of nodes on
the calling line as there are on the .SUBCKT line.
Note: The SpiceNet symbol takes care of generating the proper
X subcircuit call line. If the symbols are made with the proper pin
order relative to the .SUBCKT netlist, then the subcircuit will
connect properly to the symbol.
The AC analysis output is shown below. If your output differs or
you are unable to obtain this output, look in the error file for any
errors and check the circuit values.
253
USING SUBCIRCUITS - ACTIVE RC FILTER
Active RC Filter
Advanced Macro Modeling - Saturable Core
The following example uses 2 parameterized subcircuits, an
ideal transformer, and a nonlinear saturable core model to
perform an analysis of a complete transformer circuit.
New Topics Covered
Subcircuits
• Using Multiple Subcircuits
Specifications:
The following circuit is used to simulate a transformer and its
nonlinear core characteristics. We will investigate the input
current, secondary output voltage, and the core flux. A transient
analysis will be performed and data will be collected every .1µs
for 50µs, starting at time 0. The input stimulus will be a pulse train
from -5V to 5V with no time delay, 1µs rise and fall times, a 25µs
pulse width and a 50µs period.
254
SIMULATION EXAMPLES
The CORE part
is located under
Magnetic Cores
Part Type,
Generic Sub
Type. The
XFMR part is
located under
Transformers.
Saturable Core, Advanced Macro Modeling
.SUBCKT CORE#0 1 2 3
RX 3 2 1E12
CB 3 2 1E-7 IC=-250
F1 1 2 VM1 1
G2 2 3 1 2 1
E1 4 2 3 2 1
VM1 4 5
RB 5 2 100K
RS 5 6 200
VP 7 2 250
D1 6 7 DCLAMP
VN 2 8 250
D2 8 6 DCLAMP
.MODEL DCLAMP D(CJO=191P VJ=25)
.ENDS
.SUBCKT XFMR#0 1 2 3 4
RP 1 2 1MEG
E 5 4 1 2 300M
F 1 2 VM 300M
RS 6 3 1U
VM 5 6
.ENDS
.TRAN .1U 50U
R1 1 2 100
VM1 2 3 0
X1 3 0 4 CORE#0
*{VSEC=50U IVSEC=-25U LMAG=10MHY
+ LSAT=20UHY FEDDY=20KHZ }
X2 2 0 5 0 XFMR#0
* {RATIO=.3}
R2 5 0 50
V1 1 0 PULSE -5 5 0 0 0 25U 50U
.END
The magnetic core and transformer elements are generic. They
can emulate many different kinds of nonlinear cores and transformers simply by specifying a set of parameters before running
the simulation.
•
After placing the CORE symbol, open the Properties
dialog by double-clicking on the symbol.
•
Enter the parameters values in the correct Properties
fields using the following information:
VSEC=50u IVSEC= -25u LMAG=10m LSAT=20u FEDDY=20k
255
ADVANCED MACRO MODELING - SATURABLE CORE
•
If any errors
occurred,
remember to
examine the
error file for
error
messages.
You will need to do the same with the XFMR part. Use
a parameter value of “RATIO=.3”.
Most subcircuits have default values for their parameters. If so
they will be listed in the properties dialog.
•
To make the X-Y plot, select the IsSpice WFMs function
from the IntuScope Waveforms menu.
The results for this example are shown below.
Saturable core
B-H Loop
V(4) vs. I(VM1)
IsSpice WFMs dialog
shown to the right
•
256
The waveform is created in INTUSCOPE (IsSpice WFMs
function) using an X-Y plot of the current through the
core (vm#1branch = I(VM1)) versus the core flux.
SIMULATION EXAMPLES
A voltage equal to the core flux is brought out from inside the
subcircuit to a test point on the symbol. To measure the core
flux, simply attach a test point symbol to the symbol pin.
Although this example does not introduce any new IsSpice4
syntax, it does introduce a new concept, macro modeling.
Macro modeling is the name given to the process of combining
IsSpice4 primitive components in such a way that they perform
the function of a single device.
The Core subcircuit uses the macro modeling concept to model
the nonlinear saturation effects present in magnetic core materials. A complete explanation of the core model can is located in
the Model Library Listing book.
257
IN-LINE MATH EQUATIONS - AM MODULATOR
In-line Math Equations - AM Modulator
This example will introduce the nonlinear dependent source (B
element). The B element can generate an output voltage, or
current, based on a transfer function or mathematical expression. Equations can use a predefined set of math functions and
any voltage or current in the circuit. As an example of the power
of this source, we will simulate a simple AM modulator circuit.
New Topics Covered
Sources
• B...Nonlinear Dependent Source
Specifications:
An amplitude modulated signal, s(t), is defined by combining a
carrier,
c ( t ) = AC cos( 2 π fC t )
and a message, m(t), by the following equation;
s( t ) = [1 + ka m ( t )] c ( t )
or,
s( t ) = AC [1 + K a m ( t )]cos ( 2 π f C t )
where ka is the amplitude sensitivity. If we consider a single tone
modulation such as;
m( t ) = Am cos( 2 π f m t )
so that the amplitude modulated signal becomes;
s( t ) = AC [1 + K a Am cos( 2 π fm t )]cos( 2 π fC t )
258
SIMULATION EXAMPLES
This equation can be generated by the nonlinear dependent
source quite easily. The equation for the nonlinear source would
be
v = (1 + V(1)) * V(2)
The netlist for this example is shown below. You can enter the
netlist directly in IsEd and then run a simulation. The details on
simulating a netlist can be found in the on-line help and in
chapter 6.
AM Modulator - Generating Expressions
.TRAN .5U 1M 0 .5U
.VIEW TRAN V(2) -5 5
.PRINT TRAN V(2) V(1) V(3)
B1 2 0 V=(1+.1*(V(3))*V(1))
V3 3 0 SIN 1 100M 10K
V2 1 0 SIN 0 1 100K
.END
We could have generated a current output with the B source by
replacing “v=” with “i=”. For example, B1 2 0 I=(1+.1*(V(3))*V(1)).
The final signal generated at the output of the B source is;
s( t ) = 1 *[1 + .1 cos( 2 π 10 kt )]cos( 2 π 100 kt )
where Ac=1, Am=1, ka=.1, fc=100kHz, and fm=10kHz.
A Fourier transform of this equation yields a spectrum of an AM
signal. Keeping to positive frequencies, delta functions appear
at fc, fc+fm, and fc-fm.
Both the time domain and frequency domain waveforms of V(2)
are shown in the graph on the next page.
259
IN-LINE MATH EQUATIONS - AM MODULATOR
INTUS COPE can take the FFT of any time domain waveform (FFT
of s(t) shown below). Both Time-to-Magnitude and Time-toReal/Imaginary transforms are supported.
If-Then-Else - A Comparator
The B source is also capable of making decisions using an IfThen-Else expression. This is extremely useful when modeling
components or portions of a circuit where the output depends on
the state of the input compared to a known constant (e.g. a
comparator).
New Topics Covered
Sources
• B...Nonlinear Dependent Source
Specifications:
The comparator will have an on voltage of 5V and an off voltage
of 0V. The comparator will trigger when the input voltage
difference is greater than zero.
260
SIMULATION EXAMPLES
The easiest way to model this comparator is with an If-ThenElse function. The output of a comparator will change state
depending on the condition of the two inputs. This function can
be written as;If the difference between the inputs is greater than
zero, Then the output is high, Else the output is low. The syntax
for this particular device is;
B1 3 0 v= v(1,2) > 0 ? 5 : 0
This can be read as:
If (V(1,2) > 0) Then V(3)=5
Else V(3)=0
•
Correct Pin
Sequence
Enter the netlist shown. Be sure to enter the B syntax
correctly.
A Comparator - An If Then Else Statement
*#SAVE ALL
.TRAN 1U 200U
.PRINT TRAN V(1) V(2)
X3 3 2 1 COMPAR ; Order is determined by pin placement
R1 1 0 1K
V1 2 0 PWL 0 0 100U 1 200U 0
V2 3 0 .5
.SUBCKT COMPAR 2 1 3 ; Order must be + , - , Vout
B1 3 0 V= V(1,2) > 0 ? 5 : 0
.ENDS
.END
The B element can be used directly in a schematic, however, it
has no nodal input connections making schematic capture
arkward. This is due to the fact that the input to a B element is
an arbitrary expression and can be made of node voltages,
device currents, and other quantities.
261
IF-THEN-ELSE - A COMPARATOR
An example B element dialog is shown next. It should be noted
that if you refer to a node voltage or device reference designation it is best to give the node or ref-des a unique identifier such
as VTEST for a node and ROUT for a resistor ref-des. This will
prevent SpiceNet from changing the node or ref-des during the
course of capturing the design and hence breaking any expressions you may have entered for B elements.
The results of the simulation are shown below.
262
SIMULATION EXAMPLES
GaAs MESFETs - An Inverter
IsSpice4 includes GaAs MESFET models based on the Statz
and Parker-Skellern models. The model parameters are detailed in the IsSpice4 User’s Guide.
New Topics Covered
Sources
• Z...GaAs MESFET Model
Output
• .PRINT...Computed Device Parameters
Specifications:
Given the circuit below: We will investigate the response of the
GaAs inverter to an input clock with 125ps rise and fall times and
a pulse width of 375ps.
The .PRINT,
statement is
entered in the
User Statement
field in the
IsSpice4
Simulation
Setup dialog.
An Inverter - GaAs MESFET
*#SAVE ALL ALLCUR ALLPOW
.TRAN 10P 1N
.MODEL NM NMF (VTO=-2.0 BETA=1M LAMBDA=1E-4
+ RD=100 RS=100 CGS=40F CGD=5F PB=.6)
.MODEL NM1 NMF (VTO=-1.8 BETA=.8M LAMBDA=1E-4
+ RD=100 RS=100 CGS=70F CGD=15F PB=.6)
.PRINT TRAN @Z1[GDS] @Z2[GDS] @Z1[GM] @Z2[GM]
.VIEW TRAN V(2) 0 3.5
.VIEW TRAN V(1) -1 0
.VIEW TRAN @Z1[GDS] 0 4M
4
.VIEW TRAN @Z2[GDS] 0 2.50U
V1 3.5
.VIEW TRAN @Z1[GM] 0 4M
.VIEW TRAN @Z2[GM] 0 2M
2
Z1
V2 1 0 PULSE 0 -1 100P 125P 125P 375P 1
NM1
Z1 4 2 2 NM1
V(2)
VOUT
Z2 2 5 0 NM
V1 5 0 3.5
V(5)
.END
VIN
5
Z2
NM
V2
PULSE
263
GAAS MESFETS - A N INVERTER
The GaAs MESFET is called by pressing the number 4 and the
letter Z. Once the MESFET is placed on the schematic, a
.MODEL statement must appear for every MESFET with a
different model name. In this example, two .MODEL statements
must be made, one for “MN” and one for “MN1”. If the model was
the same for both devices, then only one .MODEL line would be
needed. You can enter the model parameters for each MESFET
through the MESFET’s Part Properties dialog. The parameter
values can be seen from the netlist on the previous page.
The .PRINT command uses the reference designators listed in
the circuit and the MESFET parameters listed in the on-line help
(search for “parameters”) to obtain the transconductance and
drain-source conductance for both MESFETs. These by of
device related parameters are not generated by the test point
symbol. They must be typed in by hand by inserting a .PRINT
statement in the IsSpice4 Simulation Setup dialog, User Statements area.
The output for this example is shown below.
3.50
2.00M
2.50
1.80M
1.50
1.60M
500M
1.40M
1
2
-500M
1.20M
100.0P
300P
500P
TIME in Secs
264
700P
900P
SIMULATION EXAMPLES
Simulating at Different Temperatures - Simple Amplifier
In this example, we will demonstrate how to simulate circuits and
components at different temperatures. This can be extremely
useful when determining the reliability of a circuit design in a
harsh environment, or when an active device in the circuit is
subjected to heat stress.
New Topics Covered
Temperature
• .OPTION TEMP Parameter
• Temperature Control of Active Devices
• Resistor Temperature Coefficients
Analysis Control
• .TRAN...TSTART, TSTOP, TSTEP
Specifications:
Given the circuit shown, we will investigate the effect of temperature variations on the base of the transistor. The input
stimulus will be a pulse train with an initial value of 0V, a peak
value of 5V, rise and fall times of 10ns, a pulse width of 500ns,
and a period of 1µs. Data will be collected from 400ns to 1.2µs,
in 1ns steps. Output will be generated for node 3. The first
simulation will be performed at room temperature. The second
simulation will be performed with the entire circuit at 75°C. The
third simulation will be performed with the temperature of the
transistor set to 75°C and the rest of the circuit at room
temperature.
V1 30
2
R1
30
V(3)
VIN
4 R2 50
3
1
Q1
QN2219
V2
PULSE
265
SIMULATING AT DIFFERENT TEMPERATURES - SIMPLE AMPLIFIER
Use the
Properties
dialog to enter
the values for
TC1 and TC2
for RMOD. The
dialog will
generate the
RMOD .Model
statement.
Simulating at Different Temperatures
*#SAVE ALL ALLCUR ALLPOW
.MODEL RMOD R(TC1=.01 TC2=1E-6)
.PRINT TRAN V(3)
R1 1 2 30 RMOD ; enter Rmod in the .Model Value field
V1 2 0 30
R2 3 4 50 RMOD
V2 4 0 PULSE 0 5 0 10N 10N 500N 1U
Q1 1 3 0 QN2219
.END
•
Construct and simulate the circuit. If you encounter
any errors, remember to examine the error file. Be
careful to enter the schematic exactly as shown.
Notice that the .TRAN line has four parameters. In addition to
the TSTEP and TSTOP parameters, we have added the
TSTART and TMAX parameters. The TSTART parameter is
used to tell IsSpice4 to start collecting data after 400ns. The
simulation will still start at time zero. However, IsSpice4 will not
record any data until 400ns. This parameter is used to reduce
the amount of data saved in the output file. The last parameter
on the .TRAN line is used to set the upper limit on the internal
IsSpice4 timestep. Setting this parameter to a value less than
TSTEP will improve the data point interpolation and thus
increase the accuracy of the results placed in the output file.
You will also notice a .MODEL statement for a resistor in the
netlist. This statement is used to place the temperature coefficients on all of the resistors in the circuit. The name, “RMOD”,
used to reference the .MODEL statement, occurs on all of the
resistors. You only need to enter the RMOD model name once
in one of the resistor properties dialogs, along with the TC1 and
TC@ values. You can then select the RMOD model while in the
other resistor properties dialogs. Thus, all of the resistors will
use the same temperature coefficients.
This simulation will produce output at the default temperature
setting, 27°C.
266
SIMULATION EXAMPLES
•
Use the
IsSpice4
Simulation
Setup dialog to
set the circuit
temperature.
Set the circuit temperature to 75°C by using the “Circuit
Temperature...” button in the IsSpice4 Simulation Setup
dialog.
The behavior of the entire circuit will be simulated at a temperature of 75°C. All resistors and active devices in the circuit will be
adjusted, based on the new simulation temperature.
•
Uncheck the “Circuit Temperature...” button in the
IsSpice4 Simulation Setup dialog.
•
Enter “125” in the Temp field in the Properties dialog of
the QN2219 transistor.
Q10 1 3 0 QN2219 TEMP=125
This will cause the transistor to be simulated at 125°C. The rest
of the circuit will be simulated at room temperature.
The results for the three simulations are shown below.
1.45
Results for room
temperature
1.45
2
Results for circuit
at 75°c
3
1
1.04
1.04
Results for
transistor at 125°c
630M
630M
218M
218M
-194M
-194M
483N
648N
813N
979N
1.14U
TIME in Secs
267
SIMULATING AT DIFFERENT TEMPERATURES - SIMPLE AMPLIFIER
See the Alter
dialog for more
information on
sweeping the
circuit
temperature.
The temperature set on an active device will override the
temperature set in the .OPTIONS statement. With this feature,
it is easy to simulate a device at one temperature, and the rest
of the circuit at another temperature.
•
Set the operating temperature of the circuit to 50°C.
•
Simulate the circuit and examine the output.
UIC\IC - Establishing Initial Conditions
In certain circumstances, it is necessary and/or convenient to
set the circuit to a particular state prior to the start of a transient
simulation. This is done by setting initial conditions and telling
IsSpice4 to use them.
New Topics Covered
Sources
• IC=...Initial Conditions
Specifications:
Given the circuit shown, we will examine the effect of initial
conditions on the state of the output.
Using Initial Conditions
*#SAVE ALL ALLCUR ALLPOW
.TRAN 1M 1000M
.PRINT TRAN V(3)
V1 1 0 PULSE 0 10 0 1M 1M 50M 100M
L1 2 3 1M
R2 3 0 10K
R1 10K
R1 1 2 10K
1
2 L1 1M
C1 2 0 47U
C1
.END
V1
PULSE
268
47U
V(3)
VOUT
3
R2
10K
SIMULATION EXAMPLES
•
Construct and simulate the circuit.
The control
statement, .IC
V(1)=2.5, will
have the same
effect as the
“IC=” on the
capacitor.
Notice that the output voltage requires about 800ms to reach a
steady state value. In some circuits, this may be an obstacle. By
setting the initial conditions of IsSpice4, we can overcome this
initial charge time.
•
Enter “2.5” in the IC value field of the capacitor from the
Properties dialog. Then click on the Transient button in
the IsSpice4 Simulation Setup dialog.
The “UIC”
parameter must
be present on
the .TRAN line
in order to
obtain the
proper results.
•
Check the “Use Initial Conditions (UIC) check box.
Select OK and Done.
This forces IsSpice4 to start the transient analysis with an initial
voltage of 2.5V on the capacitor. This eliminates the charge
time and brings the circuit to steady state more quickly.
The results for the two simulations are shown below.
With initial
conditions
“IC=”
Without initial
conditions
“IC=”
269
USING PHASE DELAYED SOURCES
Using Phase Delayed Sources
The phase
delay parameter
is available in
the voltage and
current sources’
Tran
Generators subdialog.
The Sin, Pulse, and FM sources include the ability to add an
initial phase delay at time = 0.
Note: The pulse delay is different from the Td (time delay)
parameter. The Td parameter only delays, in time, the zero
phase version of the pulse waveform.
New Topics Covered
Sources
• Delaying the initial phase of a periodic stimulus
Specifications:
The following statements may be used to generate the waveform stimulus shown below.
The phase parameter is specified in degrees, and is included at
the end of the statement.
V1 1 0 Pulse(-1 1 0 10U 10U 500U 1M)
; No delay, WFM.1
V2 2 0 Pulse(-1 1 0 10U 10U 500U 1M -270) ; 270 Degree delay, WFM.2
V3 3 0 Pulse(-1 1 750U 10U 10U 500U 1M) ; Td=750µs, WFM.3
4.00
7.40
2.00
5.40
1
2
0
-2.00
3.40
1.40
3
-4.00
-600M
300U
900U
1.50M
TIME in Secs
270
2.10M
2.70M
SIMULATION EXAMPLES
Using Code Models - Laplace Equations
Code Models
can be created
using the
Intusoft Code
Modeling Kit
(CMSDK)
Code modeling is a new approach to making SPICE models.
The process allows you, the end user, to add customized C code
subroutines to IsSpice4. The C code describing the model’s
behavior is linked to the simulator via an external DLL file,
rather than being bound within the executable program. A
variety of analog, digital, and mixed analog/digital code models
are already included with IsSpice4. These code models behave
exactly like traditional SPICE models, but their model parameters are configured directly within the schematic, rather than
in a separate library file.
New Topics Covered
Code Models
• Laplace Code Model
Specification:
To understand how to access and work with code models, let’s
experiment with a simple filter circuit using the Laplace code
model. The Laplace code model allows you to enter any
arbitrary s-domain transfer function as a ratio of two polynomials
in s. We will take care of this element in a moment. The voltage
source should have the value of “Pulse 0 1 AC 1” since we will
be running AC and transient analyses. Enter the analysis
statements “.AC DEC 10 .1 1K” and “.TRAN .1 10” in the
IsSpice4 Simulation Setup dialog.
1
Laplace
2
CHEBYSHEV
*#SAVE ALL ALLCUR ALLPOW
.MODEL S_001 s_xfer(in_offset=0.0 gain=1.0 num_coeff=[1.0]
+ den_coeff=[1.0 1.42562 1.5162] out_ic=0.0 denorm_freq=1.0)
.AC DEC 10 .1 10K
.TRAN .1 10
.PRINT AC V(2) VP(2)
.PRINT TRAN V(2)
A6 1 2 S_001
V1 1 0 PULSE 0 1 AC 1
The .SUBCKT netlist does not
.END
have to be typed into IsEd. Use
the Laplace3 symbol.
271
USING C CODE MODELS - LAPLACE EQUATIONS
Using Code Models
Let’s enter the information to create the 3kHz Chebyshev low
pass filter with the transfer function using the first method.
1
s + 1. 42562 s + 1. 5162
2
•
Select the X Part...function. From the Browser dialog,
select Behavioral. Then click on the Laplace entry.
Click the Place button.
•
Double-click on the Laplace model to enter the parameter values In the Properties dialog.
•
Type in the following parameter values that we will
pass to the Laplace model.
num_coeff=1.0
den_coeff=1.0 1.42562 1.5162
(corresponding to S2=1.0 S1=1.42562 S0=1.5162)
dfreq=1.0
•
272
Close the dialog and run the simulation.
SIMULATION EXAMPLES
Code models are more versatile than traditional SPICE models.
SPICE model parameters are generally entered as a single realvalued number. Code model parameter values can be integer,
real, boolean (True, False), complex, string, vector (a set of
numbers), or an n-dimensional array of values. For example, the
set of denominator coefficients for the Laplace model comprise
a single model parameter.
If desired, you can see how the model is saved in the netlist by
selecting the Edit Text Files Icon from the SpiceNet toolbar.
The results for the AC and transient simulations are shown
below. You can adjust the numerator and denominator coefficients in the Properties dialog to see the different results.
273
USING C CODE MODELS - LAPLACE EQUATIONS
Note: If you want to use another configuration of the Laplace
model, such as a Laplace equation with a second order numerator and 4th order denominator, you can simply enter a different
set of coefficients.
Accessing Multiple Models
It is not necessary to enter model parameters for every code
model instance unless you want to change the parameters.
•
Select the Laplace symbol. Copy and paste another
Laplace symbol.
•
Double-click on the second symbol and then open the
Properties dialog. Notice that the parameters for this
symbol are the same as those of the first symbol. Both
symbols will refer to the same models.
Shown next is a circuit for a PID controller that uses the Laplace
and Differentiator code models. The netlist and results are
shown for comparison. Note: a SPICE 2 style Integrator (SINT)
is used in place of a simple Laplace (1/s) block.
274
SIMULATION EXAMPLES
851M
V_P
X9
GA IN
1.61
-487M
0
V_P Tran
7
time
VOUT
10.00
-76.7M
Tran
0
GAIN
X8
SUM2
VIN
9
9
K1
A1
LAPLACE
X6
SUM3
V_I
4
time
A2
LAPLACE
10.00
A3
LAPLACE
VOUT
10
K1
7
SUM 2
V1
10
X9x
SINT
K2
6
K/S
X2
SDIFF
4
5
K2
SUM 3
Laplace
1
2
Laplace
12.7
VOUT
in dB
Note: To enter
the proper
values for the
Laplace model,
use the Laplace
Properties
dialog.
V_I
V_D
5
Laplace
K3
105M
K*S
3
-5.00M
Tran
0
time
10.00
AC
-86.9
f requency
PID CONTROLLER
*#SAVE ALL ALLCUR ALLPOW
.MODEL S_001 s_xfer(in_offset=0.0 gain=2.0 num_coeff=[1.0]
+ den_coeff=[1.0 2.0] denorm_freq=1.0)
.MODEL S_002 s_xfer(in_offset=0.0 gain=10.0 num_coeff=[1.0]
+ den_coeff=[1.0 5.0] denorm_freq=1.0)
.MODEL S_003 s_xfer(in_offset=0.0 gain=1.0 num_coeff=[1.0]
+ den_coeff=[1.0 500.0M] denorm_freq=1.0)
.MODEL DIFF_001 d_dt(out_offset=0.0 gain=1.5 limit_range=1.0u)
.AC DEC 60 .1 100
.TRAN .05 10 0 .05
The model parameters listed in each
*INCLUDE SYS.LIB
code model and the parameters passed
*INCLUDE CM1.LIB
to Sum2, Sum3, Gain, and SINT must
*#ALIAS V_P V(7)
be entered into the Properties dialog of
*#ALIAS VOUT V(10)
each element.
*#ALIAS V_I V(4)
.PRINT AC V(7) VP(7) V(10) VP(10)
.PRINT AC V(5) VP(5) V(4) VP(4)
.PRINT TRAN V(7) V(10) V(5) V(4)
.PRINT TRAN V(9)
X8 9 10 6 SUM2 {K1=1 K2=-1 }
V1 9 0 AC 1 PULSE 0 1 .5
A4 1 3 S_001
A6 3 10 S_002
A7 2 1 S_003
X9 6 7 GAIN {K=.8 }
X10 6 4 SINT {K=.5 }
A8 6 5 DIFF_001
X6 7 4 5 2 SUM3 {K1=1 K2=1 K3=1 }
.END
275
TABLE MODEL T RANSFER FUNCTIONS
Table Model Transfer Functions
IsSpice4 allows you to specify arbitrary transfer functions using
tables of X, Y points. This is accomplished with the PWL
(piecewise linear) code model which is often called a Table
model.
New Topics Covered
Code Models
• Table Code Model
• Entering Vector Model Parameters
Specification:
Enter the circuit as shown below. The code model can be
selected from the Parts Browse dialog under the Behavioral
Type, Function subtype. The model parameters for the Table
model are entered in the Properties dialog. Let’s enter the data
for the Table model.
•
Double-click on the Table symbol.
A table model’s input/output relationship is described by a series
of X, Y, data points. There are 4 pairs in this case, with the output
linearly interpolated between points.
•
Enter the data points listed below in the PWL_001
model into the xy_array field.
TABLE Test Circuit
*#SAVE ALL ALLCUR ALLPOW
.MODEL PWL_001 Pwl(xy_array=[0 0 5 10
+ input_domain=10m fraction=true)
.TRAN 1 25
Vin
A3 1 2 PWL_001
1
V1 1 0 PULSE 0 25 0 25
.END
V1
276
10 2
Table
20 0]
V(2)
VOUT
2
A3
PWL_001
SIMULATION EXAMPLES
5, 10
20, 0
0, 0
10, 2
Notice that the transfer function continues past 20, using the
slope which was established by the highest two points.
Using Table Models From Other SPICE programs
Other SPICE programs may use a similar format for table-type
models. If the data points are in an X,Y sequence, you can
simplify the process via the following:
•
Using any Windows text editor, copy the points from the
existing netlist to the clipboard using Control C.
•
Switch programs to SPICENET.
•
In the PWL Properties dialog, you can paste in the data
points by pressing Control V in the xy_array=[ ....] parameter field.
277
SWITCHES - A COMPARATOR WITH HYSTERESIS
Switches - A Comparator With Hysteresis
In this example, we will repeat a prior example using a switch.
New Topics Covered
Primitive Element
• S...Voltage Controlled Switch
Specifications
We will construct a model of a comparator with hysteresis. As
in the previous example, the on state will occur when the input
voltage difference is greater than zero, and the off state will
occur for every other value. Be sure to create a comparator
symbol as stated in the previous comparator example.
•
The default
resistance
values for the
switch model
are: RON=1Ω
and
ROFF=1E12Ω
Construct and simulate the circuit using a netlist approach as shown below.
Switches - A Comparator With Hysteresis
*#SAVE ALL ALLCUR ALLPOW
.TRAN 1U 200U
.PRINT TRAN V(1) V(4)
V1 1 0 PWL 0 0 100U 1 200U 0
V2 2 0 .5
R1 4 3 5.1K
V3 3 0 15
X1 2 1 4 COMPAR
.SUBCKT COMPAR 1 2 3
S1 3 0 2 1 SWMOD
.MODEL SWMOD SW(RON=.5
+ ROFF=10G VT=.2 VH=.1)
.ENDS
.END
V3 15
3
R1
5.1K
VCC
2
1
V2
.5
278
VEE
V1
PWL
4
V(4)
VOUT
SIMULATION EXAMPLES
Current
controlled
switches are
also available in
IsSpice4.
As you can see, a different approach was used for this comparator. The switch model in IsSpice4 is used because it contains
parameters to model hysteresis. Since the hysteresis is built
into the switch model, the construction of a comparator with
hysteresis becomes quite easy.
The .MODEL statement for the switch specifies a threshold
voltage of 0.2 volts. This means that as soon as the difference
between the inputs exceeds 0.2 volts, the switch will change
state. The parameters RON and ROFF specify the on/off
resistance levels of the switch. In this case, when the switch
triggers, the output will change to a low resistance state, .5Ω.
When the switch is off, the output will be in a high resistance
state, 10GΩ. The hysteresis is specified by the VH parameter.
With hysteresis, the comparator will be on at a voltage of .8V
(Vref+VT+VH) and off at a voltage of .6V (Vref+VT-VH). Since
the output in this example changes between a high resistance
state and a low resistance state, the comparator simulates an
open collector output stage. The results of the simulation are
shown below.
279
SWITCHES - A C OMPARATOR WITH HYSTERESIS
280
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
Digital/Mixed Mode Examples
Analog-Digital Interfacing
For the
purposes of
these examples,
A2D and/or D2A
bridges are
used to
interface analog
nodes with
digital nodes.
These bridges
are not required;
if they are not
present, the
software will
automatically
insert them in
the netlist file,
as necessary.
The purpose of this example is to introduce node translation.
Node translation is performed throughout the remaining examples in this chapter. It is an important concept when dealing
with mixed-mode circuits.
New Topics Covered
Code Models
• Inverter Code Model
• Hybrid Code Models
• Configuring Code Models
Specification:
A transient analysis will be performed on a simple inverter
circuit. A 500kHz square wave (V1, Pulse source), with 10ns
rise and fall times, will be used as the input. Input and output
node data will be collected for 10us, in 10ns steps. The rise and
fall times of the D-to-A node bridge will be set to 100ns. The rise
and fall delays of the inverter will be set to 500ns. Delays in the
Analog-to-Digital (A-to-D bridge) will be set to a negligibly small
value of 1ps.
281
ANALOG-DIGITAL I NTERFACING
Node Translation Using Hybrids
The A-to-D and
D-to-A node
bridges use the
A2D and D2A
symbols,
respectively.
•
Double-click on the voltage source then double-click
on “None” in the Tran Generators option to enter the
following values .
Placing and Configuring The Code Models
From the Part Browser dialog, place the symbols as shown
above. The inverter is located in the Digital Part types. The A2D
and D2A bridges are located under the Bridges Part Type.
282
•
After the parts are placed, double-click on the A2D
symbol to open the Part dialog.
•
Then click on the appropriate fields to enter the new
parameter values.
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
•
Repeat these steps for the D2A and inverter symbols.
Their parameter values are shown below.
283
ANALOG-DIGITAL I NTERFACING
Node Translation (with Node Bridges)
Node translation is required whenever any non-analog component is used in a simulation. Node bridge elements are used to
perform the translation between different types of signals (Analog, Digital, Sampled-Data and Arrays) and to obtain output
waveforms for any non-analog node. For analog and digital
parts, specifically, an A2D bridge translates analog signals to
digital states, while a D2A bridge translates digital states to
analog voltages. For this simple example, two node translations
are required. The first translates the analog input pulse from a
voltage source into a digital signal that is used to drive the
inverter. The second translates the digital output state of the
inverter into an analog voltage so that the signal can be viewed
in real-time and displayed in I NTUS COPE.
A-to-Ds and D-to-As are not bidirectional. You cannot connect
a D-to-A backwards to get an A-to-D. In the figure to the left,
notice that the A-to-D has been flipped in an attempt to make a
D-to-A.
Correct
Incorrect
The arrow shown inside the symbol marks the correct conversion direction. The A-to-D must have an analog signal connected to its input, and a digital signal connected to its output.
The opposite is true for the D-to-A.
284
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
Binary Counter
In the previous example, we focused on the important concept
of node translation. In this example, we will introduce a more
complex digital circuit.
New Topics Covered
Code Models
• SR flip-flop Code Model
• Analog/Digital ground
• Initializing flip-flops
Specification:
The eight-state binary counter (shown below) will be simulated.
The counter will be clocked at a frequency of 20MEG Hz (rise
and fall times are set to 1ns). The counter will be initialized to a
zero output state. Data will be collected for the input clock and
all three outputs for 500ns, in 1ns intervals. All rise and fall
delays will be set to 1ns.
Binary Counter
.TRAN 1N 500N
*#ALIAS V2 V(1)
*#ALIAS V0 V(3)
*#ALIAS V1 V(4)
*#ALIAS VCLK V(8)
V3 6 0 PULSE 5 0 1N
A4 [8] [2] A2D ; from the Bridges Part Type
A5 [20] [3] D2A ; from the Bridges Part Type
A6 [13] [4] D2A
A8 [6] [15] A2D
A10 [17] [1] D2A
A11 9 PDOWN ; from the Digital Part Type
A13 14 20 2 9 15 20 14 SRFF ; from the Digital Part Type
A14 5 13 14 9 15 13 5 SRFF
A15 10 17 5 9 15 17 10 SRFF
V1 8 0 PULSE 0 1 0 1N 1N 25N 50N
.END
285
BINARY COUNTER
Placing parts and Configuring the Code Models
The SR flip-flop and pulldown code models are located in the
Browser dialog under the Digital Type, Generic Subtype as
SRFF, and PULLDOWN The A2D and D2A parts are located
under the Bridges Type.
•
Place the parts as shown above. Double-click on each
part and configure the model according to the values
given below.
The A2D Model:
in_low =100m
in_high =900m
rise_delay =1p
fall_delay =1n
The SRFF Model:
clock_delay =1n
set_delay =1n
reset_delay =1n
output initial state =0
SL = set_load =1p
The Pdown Model:
load = 1p
286
The D2A Model:
out_low =0
out_high =1
out_undef =500m
t_rise =1n
t_fall =1n
rise_delay =1p
fall_delay =1n
sr_load =1p
CLKL = clk_load =1p
RSL = reset_load =1p
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
The Pulse stimulus parameters, which define the voltage sources
V1 and V3, are located in the netlist.
Ground and The Pulldown Code Model
The pulldown code model is equivalent to a logic 0, or digital
ground. It is used here to avoid placing a D2A between the
preset and ground (the pullup is used to provide a logic 1).
Initializing the Flip-Flop
The pulldown code model is used to pull the preset of all the flipflops low. The voltage source, V3, is used to clear all the flipflops. The PULSE statement (used for V3) places a high at the
Clr input during the first clock transition (time=0). Hence, the
outputs are low until the next positive edge at time=50n. This is
the preferred method for initializing flip-flops. Alternatively, the
SR flip-flop code model has an “ic” model parameter that can be
used to initialize the outputs of the flip-flop. If a pulldown code
model is placed on the Clr and Pr inputs, the “ic” model
parameter will be used to initialize the code model (0=low,
1=high, 2=unknown). The resulting waveforms would be the
same, but the count would start at the first clock transition
located at time=0. The output for this example is shown below.
VCLK
V0
V1
V2
287
STATE MACHINE
State Machine
In this example, we will demonstrate the use of the state
machine by duplicating the previous binary counter example.
The state machine is quite useful since the state diagram, or
state table, of a counter is available before the circuit is
constructed. In fact, the state machine can be used to replace
any large section of clocked combinational digital circuitry.
New Topics Covered
Code Models
• State Machine Code Model
Specification:
The binary counter from the previous example is shown below,
using the state machine code model. All input and output
conditions will be the same as the previous example.
All devices,
except the state
machine, are
given the same
parameters as
in the previous
example.
288
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
Placing Parts
All devices, except the state machine, are given the same
parameters as in the previous example. The state machine for
this example is located in the Digital Type, Generic Subtype as
BCNT in the parts list of the Parts Browser dialog. The Properties dialog for the state machine is given below.
Note: The state
machine model
and state
transition file
must be
reconfigured for
each different
state machine.
State Machine Symbols and Models
The state machine code model can have a variable number of
inputs and outputs, and an unlimited number of states. Typically, your state machine will start as a state diagram. From this
diagram, the state transition table for the state machine code
model will be created. The format for this file is given in the
IsSpice4 User’s Guide. Below is a state transition file (BCNT.TXT)
for this example. The state machine’s .model statement contains a parameter called state_file. Its value is a filename which
contains the state transition information, in this case, BCNT.TXT.
You can only change this data by editing the BCNT file.
For other state machine configurations you will have to create
a new library entry like the BCNT one in the CM2.LIB file, a new
symbol, and a new state transition file like BCNT.TXT
Note: You must copy the BCNT.TXT file to the directory where
the circuit file is located. The state machine looks for the state
transition file in the project directory.
289
STATE MACHINE
****
0 0s 0s 0s 0 -> 1
1 -> 1
1 0s 0s 1z 0 -> 2
1 -> 2
State Transition
File for the state
machine used in
the Binary Counter
2 0s 1z 0s 0 -> 3
1 -> 3
3 0s 1z 1z 0 -> 4
1 -> 4
4 1z 0s 0s 0 -> 5
1 -> 5
5 1z 0s 1z 0 -> 6
1 -> 6
6 1z 1z 0s 0 -> 7
1 -> 7
7 1z 1z 1z 0 -> 0
1 -> 0
The first column defines the state. The next three columns
define the output for the state. The fifth column, which precedes
the -> symbol, defines the expected input. The final column,
after the ->, defines the state which is expected if the input is
present during the positive edge of the input clock signal. You
can see from the file that the output is a binary counter that
changes state on either a high or low input.
Once the state transition file is created, a symbol can be
constructed to match the desired number of inputs and outputs.
In this case, the part has the pin order:
A47 [1] 3
4
[11 6 5] St3
*
In Clk Clr Out2 1 0
290
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
The process of adding a new model library entry is covered in
the on-line help.
The output for this example is shown below.
VCLK
V0
V1
V2
291
BOOLEAN LOGIC FUNCTIONS
Boolean Logic Functions
Apart from the digital simulation capabilities of IsSpice4, an
extremely useful feature is the ability to enter Boolean logic
expressions. As with the state machine code model, this function can greatly speed the implementation of digital circuitry.
Boolean functions are accessed through the B (arbitrary dependent source) element. Boolean logic is faster and more
efficient than event-driven elements for most simple logic
functions which only require a few gates.
This example is split into two parts. First, we will introduce the
Boolean expression simulation using a simple NAND gate and
a simple NOR gate. Second, we will implement a larger Boolean expression.
New Topics Covered
Sources
• B...Nonlinear Dependent Source
• Boolean Expressions
• .OPTIONS...LTHRESH, LONE, LZERO
Specifications:
We will use the B element to construct a typical AND-NOR
stage. The gates will be represented by a single Boolean
expression.
NAND and NOR Gates
The syntax for the B source is listed in the IsSpice4 User’s
Guide. The &, |, and ~ operators will be used to construct a
NAND gate and a NOR gate.
To implement an AND function, first AND two voltages:
V(1) & V(2)
To create the NAND, NOT this combination:
~(V(1) & V(2))
292
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
To implement a NOR function, first OR the voltages,
V(1) | V(2)
Then, to create the NOR, NOT this combination:
The phrase
“~(V(1)&V(2))“
is entered into
the B element
Properties
dialog in the
Expression
window.
~(V(1) | V(2))
NAND Gate
.TRAN 1U 2.5M
BNAND 3 0 V=~(V(1)&V(2))
V1 1 0 PULSE 0 5 0 1U 1U 100U 200U
V2 2 0 PULSE 0 5 0 1U 1U 200U 400U
.END
•
Construct and simulate the NAND circuit. Notice how
the voltage sources and the B element are not wired
together. When the simulation is complete, examine
the output.
Input V(2)
NAND
Simulation
Input V(1)
Output v(3)
Spike
Boolean
functions are
continuously
evaluated, not
event-driven.
Notice the spike in the NAND output (waveform 3). This occurs
because the TRISE and TFALL values of the inputs are equal
to the TSTEP value. This causes the input signals to cross at
2.5V. At the TSTEP time, both signals are above the Lthresh
level (1.5V), therefore generating the spike in the output (waveform 3). Such conditions are possible because Boolean functions are continuously evaluated.
293
BOOLEAN LOGIC FUNCTIONS
V(2)
Default
.OPTIONS
parameters for
Boolean
expressions
are:
LTHRESH=1.5V
LONE=3.5V
LZERO=.5V
2.5V
Lthresh=1.5V
V(1)
Expanded view
of NAND
waveforms
at the spike time
TSTEP Time
NOR Gate
.TRAN 1U 2.5M
BNOR 3 0 V=~(V(1)|V(2))
C1 3 0 0.87NF
V1 1 0 PULSE 0 5 0 1U 1U 100U 200U
V2 2 0 PULSE 0 5 0 1U 1U 200U 400U
.END
•
Construct and simulate the NOR circuit. You can do
this by simply modifying the NAND circuit.
The B element has no physical nodal input connections. Its only
input comes from the variable listed in the Boolean equation
which was entered into the Properties Expression field.
The .OPTIONS parameters, LTHRESH, LONE, and LZERO,
control the turn-on/turn-off voltage threshold, the high level
output, and low level output, respectively.
294
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
•
Set the low level output to 0V, the high level output to
5V, and the threshold to 0.1V by typing the following
.OPTIONS line in the IsSpice4 Simulation Setup dialog
in the User Statements area.
.OPTIONS LTHRESH=.1 LONE=5 LZERO=0
More Complicated Boolean Expression
To demonstrate the power of the Boolean expression, we can
implement the stage shown below with one expression.
V(Out) = ~( (V(A)&V(B)) | (V(C)&V(D)) )
A subcircuit could be made by implementing this gate combination. It may be called as many times as needed without being
retyped. The subcircuit would be:
.SUBCKT ANDNOR 1 2 3 4 5
b1 5 0 v=~( (v(1)&v(2)) | (v(3)&v(4)) )
.ENDS
○
•
○
○
○
Enter and simulate the following netlist. Examine the
output and verify the operation of the subcircuit.
Boolean Logic Expressions
.TRAN 1U 500U
VA 1 0 PULSE 0 5 0 1U 1U 10U 20U
VB 2 0 PULSE 0 5 0 1U 1U 20U 40U
VC 3 0 PULSE 0 5 0 1U 1U 40U 80U
VD 4 0 PULSE 0 5 0 1U 1U 80U 160U
X1 1 2 3 4 5 ANDNOR
.SUBCKT ANDNOR 1 2 3 4 5
B1 5 0 V=~((V(1)&V(2))|(V(3)&V(4)))
.ENDS
.END
295
MIDI SYNTHESIZER
If-Then-Else - An A to D Converter
In this example, we will use the if-then-else capability to simulate
an analog-to-digital converter.
Specification:
Below is a circuit file which implements an 8-bit A-to-D converter. The input stimulus is a ramp voltage created by the
PULSE statement given by vin. The ramp will cause the A-to-D
converter to cycle through all of its states. The A-to-D converter
consists of one stage per bit. Each stage is identical, and is
represented by the subcircuit “adc”, as shown in the netlist. In
this subcircuit, B1 is used to limit the “bin” value to 1 or 0, thus
producing the digital output. B2 is used to conditionally subtract
the reference (1 volt) from the input. The resultant error signal
is then multiplied by two, so that it can be applied to the input of
the following stage of the A-to-D converter.
•
Construct and simulate the circuit shown below. You
will need to construct an ADC symbol.
An A to D converter
.tran 100n 1u 0 1n
vin 1 0 pulse 0 2 0 1u 0 1u
x1 1 2 10 adc
bin
x2 2 3 11 adc
In
In
x3 3 4 12 adc
Out
x4 4 5 13 adc
x5 5 6 14 adc
Example adc symbols
x6 6 7 15 adc
x7 7 8 16 adc
x8 8 9 17 adc
.print tran v(10) v(11) v(12) v(13)
.print tran v(14) v(15) v(16) v(17)
.print tran v(1) v(2) v(3) v(4)
.print tran v(5) v(6) v(7) v(8)
.subckt adc in out bin
b1 bin 0 v= (v(in) > 1) ? 1 : 0
b2 out 0 v= 2∗(v(in) - v(bin))
.ends
.end
296
bin
Out
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
MIDI Synthesizer
In this example, we will simulate a MIDI synthesizer in order to
examine the mixed domain simulation capability of ICAPS. The
MIDI circuit uses three types of data; Digital, Real, and Analog.
These types are signified by the letters D, R, and A, respectively, on the schematic. Translational node bridges are used to
convert between signal types.
New Topics Covered
Sources
• Digital Source
Code Models
• Numerically Controlled Oscillator (NCO)
• Digital Frequency Divider
• Sample Data Filter using Real Gain, Real Delay
• Limiter
Specifications:
Given the circuit shown below, we will perform a transient
simulation and collect data every 0.1ms for 200ms at the output
(node 13) and for the digital clock signal (node 17). Reltol, which
is entered in the Simulator Options menu of the IsSpice4
Simulation Setup dialog, should be set to .0001.
297
MIDI SYNTHESIZER
MIDI
.OPTIONS RELTOL=.0001 ; Simulation Options... dialog
.MODEL DS7_001 d_source(input_file=source7.txt input_load=1.0p)
.MODEL FDIV_001 d_fdiv(div_factor=8 high_cycles=4
+ i_count=0 rise_delay=2.0N fall_delay=20.0N freq_in_load=1.0p)
.MODEL A2D_001 adc_bridge(in_low=100M in_high=900.0M
+ rise_delay=1.0N fall_delay=1.0N)
.MODEL D2R_001 d_to_real(zero=0.0 one=1.0 delay=1.0N)
.MODEL R2A_001 real_to_v(gain=1.0 transition_time=1.0N)
.MODEL MIDI_001 nco(delay=1.0N mult_factor=16.0)
.MODEL LIM_001 limit(in_offset=0.0 gain=300.0k out_lower_limit=-12.0
+ out_upper_limit=12.0 limit=12.0 limit_range=1.0u fraction=FALSE)
.MODEL D2A_001 dac_bridge(out_low=0.0 out_high=1.0 out_undef=500m
+ t_rise=1.0N t_fall=1.0N)
.TRAN .0001 .2
*#ALIAS VOUT V(13)
.PRINT TRAN V(13)
A2 [1 2 3 4 5 6 7] 11Midi_001
A4 16 15 10 D2R_001
X1 10 11 8 DIG_FILTER
R1 14 12 2K
R2 12 0 300K
R3 12 13 1K
C1 12 13 .5U
A6 8 14 R2A_001
A9 11 16 FDIV_001
V1 9 0 PWL 0 1 .049 1 .05 0 .074 0 .075 1 .109 1 .11 0 .139 0
+ .14 1 .159 1 .16 0
A11[ 9] [15] A2D_001
A12 [11] [17] D2A_001
A13 12 13 LIM_001
A1 [1 2 3 4 5 6 7] DS7_001
.END
Placing Parts
The digital source used for this example can be found under the
Digital type, Generic Subtype as Dsrc7. The MIDI VCO and
frequency divider models are also found under the Digital type,
Generic Subtype as NCO and Fdiv, respectively. The sampled
data filter and the limiter can be found under the Behavioral
Type, Function Block subtype as Dig_Filter, and Limitc, respectively. All node bridges (D-to-A, A-to-D, D-to-R, and R-to-A) are
found under Bridges Type. The parameters used to configure
the code models can be found in the netlist given above.
298
CHAPTER 9 - DIGITAL /MIXED -MODE EXAMPLES
Digital Source
The MIDI note data is created using a digital stimulus source,
Dsrc7. MIDI notes are composed of 7 bits, and are numbered
between zero and 127 (Bit 1 = MSB). Three C notes are
simulated, each an octave apart, corresponding to the note
numbers 60, 36 and 48. These are given by the following digital
source input file, MIDI.txt.
MIDI.TXT is an
external text file
which contains
a description of
the digital
source.
*T
*i
*m
*e
1
2
3
4
5
6
7
0
.06
.12
0s 1s 1s 1s 1s 0s 0s
0s 1s 0s 0s 1s 0s 0s
0s 1s 1s 0s 0s 0s 0s
The digital values, 0s and 1s, correspond to the acceptable
state values as defined in the IsSpice4 User’s Guide. Please
refer to this guide for a more complete description of the defined
states and the digital source syntax.
Note: you must
copy the
MIDI.TXT file to
the directory
where the MIDI
design is
located in order
to make it
accessible. The
digital source
looks for the
source input file
in the project
directory.
Numerically Controlled Oscillator (NCO)
The MIDI VCO (NCO model) is a digitally controlled oscillator
that produces a square wave with a frequency based on the
MIDI note number presented at the input. The digital input
source feeds this model to create the desired digital frequency.
The frequency multiplier model parameter (mult_factor) is 16.
Frequency Divider
The frequency divider is a generic divide-by-N frequency divider. The model parameter (div_factor) defines the value of N.
In this example, the output from the NCO is divided by 8 and fed
to the sampled data filter.
Sampled Data Filter
The sampled data filter is a subcircuit composed of real gain and
real delay (Z -1) code models, as shown below. These models
use real data, and therefore require node bridges on the input
and output to convert from digital to real and from real to analog.
299
MIDI SYNTHESIZER
Filt_In
2.0
1.0 Clk
1.0
Clk
Z -1
1.0Clk
Z -1
Z -1
0.5625
-0.75
Note: In order to
view the digital
output, a D-to-A
bridge was
required to
convert the
digital clock
signal to its
analog
equivalent.
-0.3438
2.0
1.0
Clk
Z -1
Filt_Out
The input is translated from a digital state to a real value using
the D-to-R node bridge. The enable on the D-to-R bridge is
driven by a simple PWL statement which is converted to a digital
signal with an A-to-D bridge. The output is converted to an
analog signal through a real-to-analog bridge. The subcircuit for
the sampled-data filter can be viewed in the IsSpice4 .OUT
output file.
Limiter
The limiter code model is a simple limiting gain stage. In this
example , the limiter is used to simulate the lowpass filter output
stage. The final limiter output is shown below.
A detailed description of the MIDI synthesizer is located in the
November 1994 Intusoft Newsletter.
300
INDEX
Index
Symbols
*Alias 136
.AC 136, 233
.CKT
Monte Carlo 141
.DISTO 245
.END 20
.ENDS 251
.FOUR 245
.MODEL
BJT 246
Diode 234
JFET 238
MESFET 263
resistors 266
switch 279
.NOISE 245
.OPTIONS 245, 265, 294
.OUT 105
.PRINT 92, 107, 117, 249
current 239
device parameters 263
.SUBCKT 251
.TF 245
.VIEW 92, 107
; 124
??? entry 186
0 button 123
A
A to D Converter 296
AC
analysis example 229
AC analysis
ending frequency 64
running 65
starting frequency 64
AC Analysis dialog 64
AC frequency sweep 65
AC value
voltage source 53
AC-coupled 184
ACCT 245
Accumulate Plots 100, 108
accumulator 122, 123
accuracy 137, 232
Actions menu 59, 155
active analysis 69, 92, 116
active project 23
active waveform 110
Add to Bus function 37
adding a wire label 41
adding part values 25
adding text to a schematic 45
Advanced button 168, 206
AKTP2.DWG 89
Alarm 194
Alarm button 200
Alarm Summary Report 163
Alarm summary report 195
alarm warnings 157
Alarms 159
ALIAS statements 58
aliasing, data 235
Alter dialog 76
Alter function 74
Alter icon 74
Alter tool 74
AM 258
ambiguity group 189
Analysis 100
Analysis Type 116
Monte Carlo 142
Analysis Type submenu 106
Analysis Wizard 60, 62
301
Arithmetic operations 126
array
model parameter 273
arrow
4-way 27
arrows 95
AtoD 281
attributes 20
changing 47
schematic 39
Auto Build 202
stepping 202
Auto Build function 192, 226
Auto button 113
AutoBuild button 224
automatic measurements 157
automatic test set program 190
average 125
B
B 258, 260
B-H Loop 256
bars 119
baseline 123
Batch mode 170
Batch option 207
Batch radio button 196
Binary button 224, 226
binary counter 285, 288
Binary measurement mode 192
binary states 226
Bode Plot 229, 230
boolean 273
model parameter 273
Boolean Expression 295
Border
adding 45
bounding box 31, 111
branch 93
302
branches 189
bridges 297
Browse Parts icon 29
Browser
Part List 30
Part Type 30
Buffering 241
Built-In Test 192
Bus
breakout 37
Bus function 36
Bus Nodes window 37
Bus Rules 36
Bus Tool 26
Busses 36
non-orthogonal 37
by Tol button 165
C
C 124
Calculator
notation 123
Can’t Fail box 177
Case column 205
case sensitivity 146
cases 169
CASS 227
catastrophic failure modes 194
change node numbers 25
changing node names 41
changing projects 23
changing schematic attributes 47
changing values 39
characteristic impedance 241
characteristic impedance, 244
Chebyshev 272
circuit connectivity 152
circuit temperature 173
Clear function 33
Clipboard 131
INDEX
Close Graph window 120
code modeling 271
code models 15, 285
accessing 274
CML.DLL 271
d_fdiv 297, 299
d_pulldown 285
d_source 297
d_srff 285
d_state 288
Laplace 271
limit 297
nco 297, 299
real 297
color 119
color selection
artwork 48
bus 48
fill 48
line 48
node numbers/labels 48
node voltage 48
part numbers 48
pin numbers 48
text 48
wire 48
comparator 260
with Hysteresis 278
complex
model parameter 273
component
attributes 53
entering a value 136
selecting 31
semiconductor 237
component failure modes 190
configuration
Edit function 43
scroll list 43
test 82
configurations 21
multiple 44
simulation setup 43
Configurations dialog 212
Configurations function 84
connecting parts 35
connectivity 20
Consolidated Automatic Support
System 227
Continuation 216
control statements 20, 59
entering 136
Convergence Wizard 42
Copy function 33
Copy to Clipboard function 49
copying objects 26
counter 285, 288
creating a design 19
creating a new design 19, 51
cross-probe 67
tool 72
cross-probed waveform
moving 68
cross-probing
AC magnitude and phase waveforms 73
AC voltage 69
current 69
IntuScope 72
power dissipation 70
schematic 68
voltage 68
crosshair symbol 28
CtrlVec 97
curly braces 80
current
Measurement 239
real time 93
current or power waveform
saving 71
303
cursor
0 button 123
labels 122
move button 123
pan 27
Cursor Functions 184
Cursor Script window 218
Cursor Wizard 182
Cursor Wizard Script 186
cursor zero 218
cursors 121, 125
curve family 97
saving 143
Cut function 33
D
D 237
d_fdiv 297
d_source 297
d_state 288
Darlington PNP-NPN 78
data
aliasing 231, 235
current measurement 239
defining input, IntuScope 105
delayed accumulation 265
device/model 250
displaying in IntuScope 105
Fourier 248
internal timestep 232
IntuScope 105
IntuScope plot selection 108
Monte Carlo 139, 142
Monte Carlo limit 139
Noise 249
output from IntuScope 140
past simulations 100
Pole-Zero 233
raw vs. interpolated 109
real time vs. output file 109
304
data
RELTOL 233
sampling 231, 236
selecting analyses 116
Transfer Function 250
user generated 102
waveform list 106
Data Printout Step 60
Data Reduction group 169, 196, 207
data reduction program 139
Data Step Time 63, 214
DB 92, 117
DC Analysis 238
DC value
voltage source 53
debugging a netlist 152
decade 65
Decade button 64
Default tolerance option 222
Defining Parametric Fault Variations 175
delay 270
deleting objects 26
deleting parts 30
deluxe option 10
design
definition 21
Design Validator 157, 188
device characteristics 238
device tolerances
entering 138
device/model parameters 97, 264
Devices
semiconductor 237
differentiator 274
digital gates 292
timestep control 293
digital ground 285, 287
digital source 297
digits 137
INDEX
diode 234
display
waveform, IntuScope 106
waveforms 102, 116
displaying node voltages 85
distortion 100, 245, 248
DLL 271
DoScript button 98
dots 119
Drwg Item Characteristics function 48, 86
DtoA 281
Dynamic Scaling window 113
E
Edit Configurations dialog 44, 213
Edit Controls dialog 136
Edit Label dialog 119
Edit Test Group dialog 161
Edit Tol button 196, 200, 222
Edit: field 98
editing
netlist 132
waveforms 116
end, ICL line 152
Enter button 54
entropy 192, 226
equations 258
error messages
example 153
fixing 153
error tolerance 233
Error window 90
Errors and Status window 89
example
entering a netlist 146, 150
getting help 147
IsSpice4 output file 151
new project 145
schematic panning 27
Expand to Pass function 188
Expanding Measurement Limits 172
Expression button 96
Expression dialog 97
extension 145
eye
layer icon 79
F
FAIL 189
failure modes 191
Failure Modes list 220
Failure Parameters dialog 176
failure tolerances 191
fault 175
Fault Tree 189
fault tree 190, 192
rebuilding 225
fault tree, building 201
Fault Tree Selection group 223
Fault Tree Selection list 201
Faults tab 199, 220
FFT 128, 259
file menu 21
filter 297, 299, 300
First Time User's button 24
fit screen 33
Fit to Page 28
Fit to Screen 26
flip-flop 285
flipping a symbol 26
FM
delay 270
fonts
text 47
Fourier 245, 247
ouput 248
frequency divider 297, 299
function keys 28, 33, 125
Functions list 218
305
G
GaAs 263
generic subcircuits 80
user-defined parameters 81
getCursor script 218
Global Colors function 48
graph
printing 131
graph grid 117
Graph Type 140
Graph Window 119
New 105
grid 117
changing type 118
grid dot
color 48
ground 20
ground symbol
placing 26, 52
group selection 31
Group Sequence 201
guard band 192, 226
H
hardware requirements 10
harmonics 247, 248
help 99
function 24
icon 24
IntuScope getting 104
IsSpice4 syntax 147
help pop-up
SpiceNet 42
High Limit 200
High limit 196
highlighting a layer 79
Histogram measurement mode 192
home cursors 184
306
home Cursors script 218
hysteresis 278
I
IC 268
Icap_4
program group 19
Icap_4 program group 51
ICAPS
starting 144
ICL 246
Introduction 97
icon bar 22
Identifying Measurements 158
If-Then-Else 260, 296
Imaginary 251
Impedance Matching 242
In-line Equations 258
index
help 24
Initial Conditions 268
INOISE 249
input fault list 191
input file 132
input netlist 42
Insert button 202
insertion point 29, 57
installing 11, 13
integer
model parameter 273
integrate 127
intermodulation 248
internal timestep 232
Interpolated data 109
IntuScope 15, 137
access to plot vectors 101
defining input data 105
displaying data 105
Hints for using 132
INDEX
IntuScope
IsSpice WFMS... 230
New Graph function 73
printing 130
program files 129
programs 139
quitting 104, 133
recorded data 126
starting 102
invisible items 48
IsEd 15
Jump function 151
running IsSpice4 149
isolation 190
IsSpice plots... dialog 108
IsSpice plots... function 107, 116
IsSpice WFMS dialog 117
IsSpice WFMS... 230
IsSpice WFMS... dialog 108
IsSpice4 15
control statements 20
data 102
display 89
ICL 157
input/output netlists 146
interactive script window 187
key letters 29
output data
viewing 150
plot vector 182
primitive elements 80
Requirements 20
simulation requirements 59
syntax help 147
viewing waveforms 107
IsSpice4 Control Statements 59
multiple sets 43
IsSpice4 Control statements 42
IsSpice4 Simulation
screen 66
Setup dialog 42, 44, 65
Save Data function 71
window 22
J
J 237
JFET 238
Jump function 151
K
Keyboard
function table 25
keyletters 29
keys 124
function 28
L
Label 118
Label dialog 135
Label Style 39
labeling parts 39
laboratory test data 102
Laplace model 271
Last Measurement option 222
Last Measurements button 209
Last Measurements data 208
layer
highlighting 79
layers 21, 212
schematic 77
Layers function 214
leaf 160, 189, 218
limit 297
limits
manual setting of 222
line 119
Line Types 118
307
Linear function 74
linear sweep 75
Linearize
box 109
data 109
Link X scales 114
Link Y scales 114
LONE 294
LTHRESH 294
Lthresh 293
LTRA 243
LZERO 294
M
M 237
Macro Modeling 254
macros 129, 139
magnetics 254
saturation 257
magnifying glass symbol 74
Magnitude 231, 235, 252
Main tab 200, 206, 208
Make Breakout 37
Make button 93
Making a scripted measurement 185
Math 258
maximum 125
measurement 191
measurement leaf 160
Measurement Results dialog 198, 222
Measurement Wizard 162, 182
measurements 121
dialog 93
Interactive 93
Measurements
tab 157, 198, 200, 204, 218, 222
Measurements tree 195
Measuring vectors 180
308
memory
waveform limit 107
MESFET 263
MIDI 297
MIDI oscillator 299
minimum 125
Mode: section 95
model parameter
code models 273
models 271
code 15, 271
where to find 15
Modulator 258
Monte Carlo 129, 135, 157
Analysis Type 142
circuit naming 141
Curve Family 143
output 139
Simulation 141
Monte Carlo Analysis 168
Monte Carlo Mode 206
Monte Carlo statistics 209
Monte tab 169, 207
mouse 112
function table 25
using, schematic 25
wiring 35
move button 123
moving
an object 25
parts to another layer 79
symbols 33
multiple
configurations 44
schematic pages 38
multiple waveforms 105
multiply waveform 126
INDEX
N
NAND 292
nco 297
Net List Editor 175
Net List Preview window 55
netlist
debugging 152
editing 15, 132, 146
errors 152
requirements 20
NetList Edit function 40
Netlist Editor 40
netlist requirements 20
New Configuration 212
New Configuration dialog 212
new graph
function 116
opening 73
New Layer 215
new layer
creating 77
Next Part button 39, 40, 57
No button 113
no fault 193
node 189
names
changing 41
numbers 35, 78, 135
changing 25
node translation 297
node voltages
deleting 85
displaying 85
making visible/invisible 86
Node: field 92
Noise 100, 245
output 249
Nominal group 209
nominal simulation 197
nonlinear dependent source 258, 260
NOR 292
Normal function 74
notation
Calculator 137
waveform/calculator 123
Nyquist 231, 236
O
offset 112
on-line help 24
on-line help index 24
ONOISE 249
open
function 21
Open Graph... function 120
opening a project 21
operating point 93, 99, 246, 250
information 86
viewing changes 95
operating point values
deleting 85
operating point voltages
displaying 85
optimization 129
curve family 143
output
control statements 20
DC 240
device/model 250, 263
displaying data 154
FFT 259
file 105
Fourier 248
Monte Carlo 142
Noise 249
Pole Zero 233
Transfer Function 250
transient 232
309
Output Record 140
Output window 89, 90, 99
P
pages
schematic 21
Pages function 38
Pages/Edit function 38
pan cursor 27
Panning 27
parameter
sweeping 129
sweeping circuit 94
sweeping curve family 143
sweeping groups 96
parametric
sweeping running 74
parametric faults 175, 191
Part Properties Dialog
help 55
Part Properties dialog
Property Help button 55
part values
adding 25
Parts menu 52, 215
PASS 189
Pass Ambiguity Group 203
pass/fail boundaries 191
passive parts 29
Paste function 33
peak-peak 125
Persistence 94
Persistence function 219
phase 231
phase delay 270
phase velocity 244
PID controller 274
piece-wise linear 127, 229
pins 35
placing components 52
310
placing parts 29
plot 182
selecting for display 108
Plot List 75
Plot Style menu 119
Plots pop-up 100
Plots pop-up dialog 108
pointer box 25
Pole Zero 229
Pole-Zero 233
polynomial regression 127
pop-up 28
power 20
precission 137
Prev Part button 39, 40
primitive elements 80
print
preview mode 49
preview window 130
printing
IntuScope 130
schematics 49
probability 143
Probe
function 68
icon 68
probe
symbol 68
tool 68
process failure 193
Product Acceptance Test 192, 221
program
data reduction 139
program files 129
programs
Monte Carlo 135
INDEX
project
active 23
changing 23
definition 21
opening 21
propDelay 186
Properties dialog
properties dialog
Pspice
table models
Pulse
specification
pulse
delay 270
Pulse tab 216
PWL 229, 230
PZ 229
39, 53
216
277
56
Q
Q 237
Quick Keys 125
R
Raw Data 109
real 251, 273
model parameter 273
real code models 297, 299, 300
real delay 299, 300
real gain 299, 300
Real Time display 58, 90, 92
Real-Time waveform display 89, 90
Recalc button 202
reference designations 20, 135
reference designators 78
reference simulation 197, 210, 221
Refresh OP Values function 85
RELTOL 232, 233
removing vectors 225
requirements 10
netlist 20
software/hardware 10
rescale
real time waveforms 91
resistors
default values 153
Results button 163, 208, 221
Results dialog 157, 163, 200
reverse polish notation 124
rise time 184
RLC circuit 57, 77, 146
RLC circuit output 75
RLC.ERR 150
RMS 125
root node 190
Rotate function 216
rotating a symbol 26
Run button 75
Run Simulation icon 22
runing a simulation 84
running a simulation 22, 66, 149
S
S 124
s_xfer 271, 275
Safe to Start 192
safe-to-start test 204
Safe-to-Turn-On 192
SafeToStart configuration 205
Sample circuit 22
Sample folder 21
Sample.DWG
opening 21
sampled data filter 299
sampling 231, 236
Saturable Core 254
Save button
Test Designer 202
311
Save Data 65
Save function 57, 87
Save icon 57
save waveform 127
saving a schematic 57
scales 112
scaling 112
advanced features 114
Auto button 113
Dynamic Scaling window 113
link X/Y axes 114
No button 113
scale/offset 112
scroll bar 113
snap button 113
Tile Waveforms 115
waveform
IntuScope 91
with mouse 111, 112
window 112
Yes button 113
schematic 135
adding a border 45
adding text 45
control statements 59
layers 77
mouse usage 25
moving an object 25
multiple pages 38
pages 21
panning 25, 27
zooming 25, 28
Script Atoms 98
Script box 158
Script button 157
Script check box 196
Script option 207
script window 101
Scripts 97
scripts 157, 187
312
scroll bars 27, 113
searching for data
IsSpice4 output 151
Select Measurement Parameters
dialog 93
Select Source Data function 105
selecting
symbols 32
semiconductor
Diode 235
JFET 239
proper use 237
semilog 118
sendplot 97
Sequence list 224
Set Limits 157
Set Limits button 167, 171, 209, 221
Set Measurement Limits dialog 209, 222
Set Tolerance dialog 165, 222
setCursor 184
setCursor script 218
Setting Alarm Limits 163
Setting Operating Point Measurements 167
shift-arrow keys 27
show 246
Show Border
check box 46
showmod 246
Sigma Limit 209
significant digits 137
Simulate function 22, 66, 84
Simulate Selections 169, 196
Simulate Selections button 210, 221
INDEX
simulation
accuracy 232
IntuScope data 102
Monte Carlo 141
running 22, 66, 84
temperature 265
time step control 229
viewing past data 100
Simulation Control dialog 89, 90, 97, 157, 198
Accumulate Plots 100
DoScript button 98
Expression button 96
Mode: 95
Script Atoms 98
simulation options
activating/deactivating 65
Simulation Progress dialog 208
Simulation Scripts 97
Simulation Setup 20
simulation setup 191
Simulation Setup dialog 214
Simulation Setup icon 42, 59
simulation status dialog 163
simulation sweep
running 75
SIN 234
SN directory 21
Snap button 113
software
requirements 10
SPICE netlists 19
SPICE statements
non-standard 42
SpiceNet 15
acess to plot vectors 101
exiting 24
quitting 24
running 19
symbol attributes 39
stack 123
standard deviation 183
Start button 91
Start ICAPS program 19, 51
state machine 288, 289
statistics
Monte Carlo 209
stimulus 20, 270
Stimulus button 94
Stimulus Picker dialog 94
Stop value 75
string
model parameter 273
subcircuit 80, 251, 252
placing 26
subcircuit parameters 80
Subcircuit Properties dialog 80
sweep
capacitor example 94
DC analysis 238
sweeping
circuit parameters 94
Expression dialog 97
groups of parameters 96
parameter values 74
Persistence 94
Switch Selected State button 195, 220
Switches 276, 278
Switching Selected State button 225
symbol
attributes 30, 39
flipping 34
moving 33
placing 29
rotating 34
selecting/deselecting 25
313
symbols
test point 20, 58
syntax help
IsSpice4 147
T
tag 110, 111
TD 241
TEMP 265
temperature 265
temperature coefficients 266
terminal leaf 189
Tertiary button 224
Tertiary measurement mode 192
test 190
test configuration 191, 196, 210, 221
editing 83
test configurations 82
Test Configurations tab 217
test description list 203
Test Design button 201, 223
Test Designer 158, 189
Test Designer mode button 221
Test Designer radio button 210
test limits 168
Test optimizing 225
test point 20, 26
symbols 58
test sequence 192, 224
test sequences 189
testing sequence 190
text
attaching to a symbol 45
text alignment 47
text files 146
text justification 47
THD 248
Tile Waveforms 115
time delay 241
314
timestep Control 229
title 118
title bar 23, 57
title line 20, 152
TMAX 232, 266
tmp.tmp 126
todB 117
tolerance 180
Tolerance group 209
Tolerance/Sweep tab 179, 205
tolerances 168
entering 138
Tool Pallette 28
toolbar 74
toOutput 126, 140
Total Analysis Time 61, 63, 214
Tran Generators 54, 215
Transfer Function 250
transient 234
delayed data 265
internal timestep 232
transient analysis 60
error 153
running 65
Transient Analysis dialog 214
Transient button 63, 214
transient generators 54
Pulse tab 54
Transient Generators dialog 216
transition file 289
transmission line 242
transmission Lines 240
Trise 184
TSTART 266
TSTEP 60, 229, 231, 235, 265, 293
TSTOP 61, 266
tutorial
RLC 144
INDEX
U
W
UIC 268, 269
Undo function 30
units 118
User field 45
User Properties dialog 81
User Statements window 42
user-definable parameters 80
W 124
warning message
example 153
Waveform
0 126
accumulator entry 124
active 110
adding, deleting 91
arithmetic 126
attributes 118
baseline 123
color 119
cursor label 122
cursors 121
cutting/pasting 116
data 58
display 116, 154
display, IntuScope 102
displaying, IntuScope 106
FFT 128
Integrating a 127
link X/Y scales 115
list 106
magnitude 117
making active 110
making measurements 125
maximum number 107
measurements 121
Monte Carlo 143
notation 123
PWL generation 128
rescaling 91
scaling, Node: field 92
scaling with mouse 112
selection on graph 110
tag 110
Tile 115
translation with mouse 111
V
value
entering 136
Value/Name field 135
VCVS 241
vector 182
model parameter 273
Vector List 218
Vector measurement mode 192
vector sets 107
vectors 92
Vectors tab 225
vendor supplied models 10
View Layer function 48
VIEW statements 58
visible items 48
Voltage Controlled Switch 278
Voltage Controlled Voltage Source 240
Voltage parameter 205
voltage source
help screen 55
placing 52
voltages
real time 93
Vp 244
315
Waveform
units 118
viewing, IsSpice4 107
zoom box 121
windows
clipboard copying images 49
clipboard pasting images 49
getting around 155
IsSpice4 simulation 22
WINDOWS menu 155
WIRE
subcircuit 77
wire label
adding 41
wire mode 35
Wire pencil 35
WIRE subcircuit symbol 80
wiring parts 35
Wiring Tool 26
wizards 60
X
X axis
label 118
link scales 114
X Part... function 29, 30
Y
Y axis
label 118
link scales 114
Yes button 113
Z
Z 237
z 123
zero, waveform 123
Zo 241, 244
316
zoom 113
variable 28
zoom box 121
Zoom submenu 28
Zoom Tool 28
zooming
function keys 28
in/out 25
schematic 28