GETTING STARTED. Personal Computer Circuit Design Tools

Size: px
Start display at page:

Download "GETTING STARTED. Personal Computer Circuit Design Tools"

Transcription

1 Personal Computer Circuit Design Tools GETTING STARTED copyright intusoft P.O.Box 710 San Pedro, Ca Tel. (310) Fax (310) web info@intusoft.com

2 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, 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 Hewlett- Packard Corp. IBM is a registered trademark of International Business Machines Corporation. Intusoft, the Intusoft logo, ICAP, ICAPS, Design Validator, Test Designer, ISSPICE4, SPICENET, P RESPICE, 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

3 Table Of Contents INSTALLATION Chapter 1 Introduction 10 Introduction 10 What s In the ICAP/4 Package 10 Hardware & Software Requirements 11 Installing ICAP/4Windows 12 Hardware Protection Key Installation: Windows 13 Installing Network Versions of ICAP/4 13 Installing Other Products: SPICE Reference Books 13 Registration Information 14 Viewing The Readme Files 15 Where To Go For Information Chapter 2 Tutorials 17 Intusoft Tutorials 19 Tutorial #1, SpiceNet Basics 20 IsSpice4 Requirements For Simulation 21 Opening An Existing Project In SpiceNet 22 Running a Simulation 23 Changing Projects 24 If You Get Into Trouble 25 SpiceNet Mouse and Keyboard Functions 27 Panning the Schematic 28 Zooming In, Out, and on a Portion of the Schematic 29 Part Placement 31 Selecting Components 33 Editing a Schematic 35 Wiring and Connecting Parts 36 Busses 38 Multiple Pages/Schematics 39 Labeling Parts, Changing Values 40 Changing Values using the Netlist Editor 41 Changing Node Names and Adding Wire Labels 42 IsSpice4 Control Statements 43 Entering Multiple Sets of IsSpice4 Control Statements 45 Adding Text / Adding a Border to the Schematic 47 Changing Schematic Attributes 49 Printing Your Schematic 50 Quitting the Tutorial 3

4 TABLE OF CONTENTS 51 Tutorial #2, Capturing a Schematic for Simulation 52 Placing Components 53 Adding Component Attributes 58 Test Point Symbols 59 Entering IsSpice4 Control Statements 66 Running a Simulation 68 Cross-Probing on the Schematic 72 Cross-Probing in IntuScope 74 Running a Parametric Sweep 77 Schematic Layers 80 Subcircuit Parameters 82 Test Configurations 85 Displaying Operating Point Voltages 89 Tutorial #3 - IsSpice4 89 Starting IsSpice4 89 The IsSpice4 Display 90 Simulation Control Dialog 91 Scaling Waveforms 91 Adding and Deleting Waveforms 92 Saving Vectors 93 Interactive Circuit Measurements 94 Sweeping Circuit Parameters 95 Viewing Operating Point Changes 96 Sweeping Groups of Parameters 97 Scripting: Introduction to ICL 100 Saving and Viewing Past Simulation Data 102 Tutorial #4 - IntuScope 102 Starting IntuScope From The ICAP/4 Toolbar 103 The IntuScope Screen Layout 104 Quitting IntuScope 104 Getting Help 105 Opening A New Graph Window 105 Selecting An Output File 106 The Output File Waveform List 106 Displaying A Waveform 107 Viewing Waveforms Directly From IsSpice4 109 Output File vs. Real-Time Data 110 Selecting A Waveform 111 Translating A Waveform 112 Scaling A Waveform 112 The Scaling Window 114 Advanced Scaling Features 4

5 INSTALLATION 116 Cutting and Pasting Waveforms 116 Selecting The Analysis Type 117 Changing The Graph Scaling 118 Changing Graph Labels, Titles, and Line Types 119 Saving, Closing, And Opening A Graph Window 120 REVIEW 121 Turning the Waveform Cursors On 123 The Calculator and Waveform Notation 125 Making Measurements On A Waveform 126 Operations On Waveforms 129 Program Files 130 Printing The Results 132 Editing the IsSpice4 Input Netlist From IntuScope 132 Hints For Using IntuScope 135 Tutorial #5 - Monte Carlo Analysis 135 Entering the Monte Carlo Design 138 Entering Device Tolerances 139 The Data Reduction Program 141 The Monte Carlo Simulation 142 Examining The Output 143 Scaling Curve Families 144 Tutorial #6 - An RLC Circuit Netlist 144 Starting ICAPS 145 Creating A New Project 146 Starting IsEd And Entering A Netlist 147 Getting IsSpice4 Syntax Help 149 Running An IsSpice4 Simulation From IsEd 150 Viewing The IsSpice4 Output Data 151 Searching For Transient Analysis Data 152 Fixing Netlist Errors 153 Getting The Right Output Data 154 Displaying Output Data In IntuScope 155 Window Sizes and Positions 5

6 TABLE OF CONTENTS 157 Tutorial #7 - Design Validator (For Design Validator and Test Designer users only) 158 Identifying Measurements 163 Setting Alarm Limits 167 Setting Operating Point Measurements 168 Running Scripted Monte Carlo Analysis 172 Expanding Measurement Limits 175 Defining Parametric Fault Variations 180 Measuring Vectors 189 Tutorial #8 - Test Designer (For Test Designer users only) 194 Beginning the Test Designer Tutorial 194 Setting Alarms, Faults, and Limits 197 Deleting Failure Modes that Overstress Components 201 Building the Fault Tree 204 Adding Safe-to-Start Tests 211 Adding a Special Non-Destructive Test 219 Using IsSpice4 Interactively to Determine Tolerances 221 Making the Final Product Acceptance Test 225 Optimizing the Test Chapter 3 Analog Simulation Examples 157 AC Analysis - A Butterworth Filter 229 AC Analysis - A Butterworth Filter 234 Transient Analysis - A Rectifier Circuit 238 DC Sweep - Device Characteristics 240 Transmission Lines - Buffering and Impedance Matching 245 Noise, Distortion, and Fourier Analyses - Bipolar Amplifier 251 Using Subcircuits - Active RC Filter 254 Advanced Macro Modeling - Saturable Core 258 In-line Math Equations - AM Modulator 260 If-Then-Else - A Comparator 263 GaAs MESFETs - An Inverter 265 Simulating at Different Temperatures - Simple Amplifier 268 UIC\IC - Establishing Initial Conditions 270 Using Phase Delayed Sources 271 Using Code Models - Laplace Equations 276 Table Model Transfer Functions 278 Switches - A Comparator With Hysteresis 6

7 INSTALLATION Chapter 4 Digital/Mixed Mode Examples 281 Analog-Digital Interfacing 285 Binary Counter 288 State Machine 292 Boolean Logic Functions 296 If-Then-Else - An A to D Converter 297 MIDI Synthesizer 7

8 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 alias * V(1) repeat 10 tran 1n 200n 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. 1 Control The Simulation: Start, stop, pause, or resume the simulation at will. Interactively run different simulations and change values using a powerful scripting language. 2 Interactive Stimulus: Sweep single parameters or groups of interdependent parameters and watch the circuit performance changes. 3 8

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

10 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 HANDBOOK A SPICE COOKBOOK Hardware & Software Requirements 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 10

11 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 into your 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. See the Hinstall.hlp file for information about CMOS settings which may resolve hardware incompatibility with the key. If you have a problem with the key, it can usually be overcome by checking the following: 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

12 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 IntuScope IN Models PR IsSpice4 IS SpiceMod SM CIRCUITS Sample Working Directory Symbols SYMBOLS Sample Tutorial Design Monte Monte Carlo Tutorial AKTP2 Tutorial Design Device Test Circuits Power Power Library Examples MixedMode Mixed Mode Circuits Examples Getting Started Examples Do not start the Setup program from a DOS shell under Windows. 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. 12

13 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 SPICE 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

14 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; Select the Windows Start menu, then Programs, then ICAP_4, then the Readme icon. 14

15 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

16 WHERE TO GO FOR INFORMATION 16

17 Tutorials BEGINNERS 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

18 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 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 Tutorial #3 - IsSpice4 - In-depth SPICE Simulator Tutorial, pg. 89 Starting IsSpice4 Screen display Real-Time Waveforms Interactive Stimulus - Measurements Interactive Expressions ICL Scripts Tutorial #4 - IntuScope - In-depth Data Analysis Tutorial, pg. 102 Starting IntuScope Graph windows Displaying and manipulating waveforms Making measurements Waveform operations and functions 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 SPICENET - DESIGN ENTRY ISSPICE4 - SIMULATOR Programs Used ISSPICE4 - SIMULATOR SPICENET - DESIGN ENTRY INTUSCOPE - ANALYSIS Programs Used SPICENET - DESIGN ENTRY ISSPICE4 - SIMULATOR INTUSCOPE - ANALYSIS Programs Used INTUSCOPE - ANALYSIS Programs Used SPICENET - DESIGN ENTRY ISSPICE4 - SIMULATOR 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 Programs Used SPICENET - DESIGN ENTRY ISED - TEXT EDITOR ISSPICE4 - SIMULATOR INTUSCOPE - ANALYSIS Digital/Mixed Mode Examples, pg

19 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 Tool Pallette This is the SpiceNet window. Active Layer View Layer Contents 19

20 ISSPICE4 REQUIREMENTS 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

21 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

22 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. Select the Schematic function from the Actions menu to go back to the schematic. 22

23 BEGINNERS TUTORIALS This is the SpiceNet icon bar. 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. 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

24 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; Select Exit / Quit from the File menu. Help icon 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

25 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) Pan the schematic Select an object Create a selection region Select/Deselect Objects Move an object Add Part Values Change Node Numbers Zoom In and Out Mouse Action Click the left mouse button Press and hold the left mouse button until the pan cursor appears, then drag the mouse Press and hold the left mouse button over an object until the object is highlighted Press and hold the left mouse button, then drag the mouse over the desired region Shift-click on the object to select / deselect 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 Double-click on a part, then type the value Select a part which is connected to the node, then click the right mouse button, and select the Node Names... function Click the right mouse button, then select the desired zoom level 25

26 SPICENET MOUSE AND KEYBOARD 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

27 BEGINNERS TUTORIALS Panning the Schematic To move the portion of the schematic that is showing in the window; The Pan Cursor 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. 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

28 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. Point at the center of the SAMPLE schematic and click the left mouse button to position the cursor. Fit To Page Zoom In Zoom Out icon bar The F6, F7, and F8 function keys can be used to change the zoom level. Tool bar Select the 2x Default Size entry in the Zoom submenu under the Options menu. 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. 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. 28

29 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. Pull down the Parts menu and select the Passive submenu, then select the R Resistor entry. IsSpice4 key letters place symbols. Browse Parts icon It s much easier to place passive parts by pressing the IsSpice4 keyletter. 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

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

31 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 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. Dragging A Bounding Box 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. After Group 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

32 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. Click the mouse in a vacant area to deselect the group of selected symbols. Symbol selection will be required for any symbol-specific operation, such as rotating, labeling or deleting. 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. 32

33 BEGINNERS TUTORIALS Editing a Schematic Voltage Source symbol 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. 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. Once a symbol or group of symbols is selected, it can be copied or deleted using the functions in the Edit menu. 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

34 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. Try playing with various combinations of symbol selection and symbol moving. Rotate icon Flip icon 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

35 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. 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. Wire/Bus Tool icon. You may also use this button to activate the wiring mode. Wiring Rules are defined in the on-line Help. 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. Exit the wire drawing mode by clicking the mouse button without moving the mouse (zero length wire), or by hitting the Esc key. 35

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

37 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. Bus with an 8- pin breakout. Click on the Bus1 string in the Bus Nodes: window. Click on the >>Add>> button, then click on the Make Breakout button. The 8-pin breakout has been added to the bus. 37

38 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; Select the Pages/Edit... function from the Options menu. Click on the New button. The Delete function is used to remove pages. 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

39 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 a part to bring up its 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. The Split Label Style allows you to position each part of the label separately. Split Label Style Click on the Next Part or Prev Part button. Part labels can be dragged and rotated. Wide Label Style 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. 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

40 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. Click on the OK button to close the NetList Edit dialog. 40

41 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

42 ISSPICE4 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. 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. The Convergence Wizard helps you resolve simulation convergence problems. See the on-line Help for more information. Click on the Convergence Wizard button and view the dialog. Then click on the Finish button. 42

43 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

44 ENTERING MULTIPLE SETS OF ISSPICE4 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. Click on the Done button to close the IsSpice4 Simulation Setup dialog. 44

45 BEGINNERS TUTORIALS Adding Text / Adding a Border to the Schematic Text tool Text objects may be added directly to the schematic. 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

46 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. The Show Border box must be checked in order to enable the border data fields. 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 page border now appears on the schematic. 46

47 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

48 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

49 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. Select the Print... function from the File menu. 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. 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

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

51 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

52 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

53 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; Point at the voltage source schematic symbol and double-click the left mouse button. 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. 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

54 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. 54 The Pulse tab should already be selected. If it isn t, select it.

55 BEGINNERS TUTORIALS 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. 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. 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

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

57 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. Point to the upper pin of the voltage source and click the left mouse button to set the insertion point. Use the + key to rotate parts 90 degrees clockwise. 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 The Save icon is enabled (darkened) when a change is made to the schematic. To save the work we ve done so far; 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

58 TEST POINT SYMBOLS Test Point Symbols Test Point Symbols 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 ). 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. 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) 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. 58

59 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

60 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. Click on the Analysis Wizard button. The Analysis Wizard automatically creates the simulation control information. 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). 60

61 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. Tstop specifies the time length of the simulation. 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. 61

62 ENTERING ISSPICE4 CONTROL STATEMENTS The Analysis Wizard has just created the IsSpice4 Transient control statement for you. Final ISSPICE4 Statement ISSPICE4 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

63 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

64 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. 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. This is the IsSpice4 AC Analysis control statement we just created. Click on the OK button to close the AC Analysis dialog. The AC Analysis box has been checked (activated) automatically. 64

65 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

66 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

67 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

68 CROSS-PROBING ON THE SCHEMATIC Cross-Probing on the Schematic Heirarchical drawings may also be crossprobed. 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. 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. 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. 68

69 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

70 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

71 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

72 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. 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. This is the IntuScope window. Select the Scope option from the Actions menu to view the waveform in IntuScope. This is the IntuScope graph window, which now displays the power through R1. 72

73 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

74 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. 74 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. Click on resistor R1 with the Alter tool.

75 BEGINNERS TUTORIALS The Alter dialog can be used to sweep common component values or parameters. Sweep/Value definition Analysis type Waveforms that will be plotted Waveform definition Alter Steps: Select the type of sweep and enter the values Select the analysis type and then select the X and Y axis settings Select the waveform(s) and click on the Add button Click on the Run button 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. 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. 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. 75

76 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. This curve family was generated automatically as the value of R1 was swept. Click on OK to close the Alter dialog, then select the Scope function from SpiceNet s Actions menu. This is the value that generated the curve. IntuScope functions are discussed in the IntuScope tutorial. Select Actions/Schematic to go back to the schematic, then hit the Esc key to go back to normal cursor mode. 76

77 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. See the Working with Schematic Layers section in the on-line help. 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. 77

78 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. Capture the schematic as shown below. This is our enhanced schematic. V3 is +10 Volts DC Use the Parts Browser to place Q1, Q2, and X1. X1 is a subcircuit part V2 and V3 are 10 Volts DC (but notice the polarities). 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

79 BEGINNERS TUTORIALS Use the Parts Browser to place Q1, Q2, and X1. Q1 (2N3904) is shown here. Layer selection is done here. To highlight a layer; Highlighting is turned off when the mouse button is released. 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

80 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. These are the parameters for the WIRE device. We ll enter the two parameters here. Click on the??? string in the Z properties field in the Subcircuit Properties dialog. The three??? s in the Z??? string are highlighted. 80

81 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

82 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

83 BEGINNERS TUTORIALS 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. Click on the New... button. The name Config 2 is automatically suggested for you. Click on the OK button to accept it. 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

84 TEST CONFIGURATIONS 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. Point to the Configurations function in the Options menu and select Config 2. Select the Simulate function from the Actions menu. This is the simulation of Config 2, which contains Layer 1, WF:0, and Layer 2. 84

85 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). 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. The schematic will then look similar to this: Notice that node 1 is 0 Volts because V1 is initially 0 Volts. DC operating point voltages are displayed at each node 85

86 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. 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. Click on the OK button to dismiss the dialog. ICAP/4 also has the ability to display detailed operating point information for a specific schematic part. Select the OP option in the Actions/ Cross Probe menu. Select Actions/ Probe to activate the probe tool. 86

87 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. 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. 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. This concludes the SpiceNet tutorial. In the next tutorial, we ll discuss the basic functions of IsSpice4. 87

88 DISPLAYING OPERATING POINT VOLTAGES 88

89 ISSPICE4 TUTORIAL Tutorial #3 - ISSPICE4 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 Real- Time 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

90 THE ISSPICE4 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

91 ISSPICE4 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.op- TIONS 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

92 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 2 3 C1 39N R1 10K R2 10K V3 AC = 1 1 C2 10N 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. Q1 BJTN R3 10K V2-10V V1 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

93 ISSPICE4 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

94 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. Stimulus dialogs Place the mouse on the right most (largest) arrow and click once. Click the Set button. The C2 value will change to 20nF and the simulation will be rerun. Check the Always option. Place the mouse on the right-most arrow and hold the mouse button down. 94

95 ISSPICE4 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

96 SWEEPING GROUPS 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 resistance- Resistance entry. Click the Make button. The default setting will show the default component value multiplied by CtrlVec1. Change the entries to those shown above.

97 ISSPICE4 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

98 SCRIPTING: INTRODUCTION TO ICL Let s change the AC analysis specification. Type the line ac dec meg 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. 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. 98

99 ISSPICE4 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

100 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. Your plot names may be different. Accumulate Plots Check Box By changing the plot name, we can access the data from past analyses. Display the AC analysis data by selecting the ac2 entry in the Plots pop-up in the Simulation Control dialog. 100

101 ISSPICE4 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

102 TUTORIAL #4 - INTUSCOPE 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. Select the Scope function from the Actions menu to launch the IntuScope program. 102

103 INTUSCOPE TUTORIAL 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

104 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 INTUSCOPE has a complete online help system which contains information about all menu functions and commonly used operations. 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. Click on any topic for more information. 104

105 INTUSCOPE TUTORIAL 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

106 THE OUTPUT FILE 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

107 INTUSCOPE TUTORIAL Y Axis Label Title Bar Accumulator Cursor Box Cursor Label Waveform Tag Waveform Area Cursor Control Scaling Areas X Axis Label 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

108 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. Click on the Tran entry in the Select Plots dialog. Select OK. A plot is a set of vectors, or waveforms, created from a single analysis. 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. ISSPICE Plots ISSPICE 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

109 INTUSCOPE TUTORIAL 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. Scroll down the Y axis entries. Click on V(8). The X axis variable should be left on the time selection. The Add button causes the selected waveform to be displayed. 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

110 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

111 INTUSCOPE TUTORIAL Click on a flat portion of the upper right side of waveform 1. Only one waveform may be active at a time. 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

112 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

113 INTUSCOPE TUTORIAL 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 Dynamic Scaling Window Active Waveform Scroll Box Command Buttons Scaling Box Active Graph Scaling Box Handle 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

114 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. Click on the Scaling window. Set the X scaling to 5ns and click on the Yes button. 114 Click on the graph. Select the Link X Scales function.

115 INTUSCOPE TUTORIAL 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

116 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 ISSPICE4 plots dialog Your IsSpice plot numbers may be different, e.g. ac1, dc1, noise4, etc. 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. 116

117 INTUSCOPE TUTORIAL 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

118 CHANGING THE GRAPH 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. 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. 118

119 INTUSCOPE TUTORIAL 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

120 SAVING, CLOSING, AND OPENING A GRAPH WINDOW 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

121 INTUSCOPE TUTORIAL 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

122 TURNING THE WAVEFORM CURSORS ON 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

123 INTUSCOPE TUTORIAL 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

124 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

125 INTUSCOPE TUTORIAL 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

126 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

127 INTUSCOPE TUTORIAL 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

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

129 INTUSCOPE TUTORIAL 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

130 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

131 INTUSCOPE TUTORIAL 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

132 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

133 INTUSCOPE TUTORIAL 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 use intusoft 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

134 HINTS FOR USING INTUSCOPE 134

135 MONTE CARLO TUTORIAL 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. The completed Monte Carlo schematic, Buttfil, is located in the Spice8\IS\Monte directory. Entering the Monte Carlo Design Enter the schematic as shown below. 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

136 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

137 MONTE CARLO TUTORIAL 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. When the simulation is complete, run IntuScope from the Actions menu. Select the Options Graph Type function and change the graph type to Linear. If the waveform does not look like the one below, check to make sure your component values are correct. 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

138 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%. You may use the Next Part and Prev Part buttons to scan to the other parts in the schematic. 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. 138

139 MONTE CARLO TUTORIAL 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

140 THE DATA REDUCTION PROGRAM The data reduction program is recorded in INTUSCOPE. 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. You may overwrite (rerecord) a data reduction program in IntuScope at any time. 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. New Folder icon 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. 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

141 MONTE CARLO TUTORIAL 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, is the number of lots and # is the number of cases. 141

142 EXAMINING THE OUTPUT Monte Carlo Analysis Data.PRINT TRAN R-L.END TRANSIENT ANALYSIS Count R-L 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. The Monte.Out file contains the data which was generated by the macro that you recorded. 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

143 MONTE CARLO TUTORIAL 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

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

145 ISSPICE4 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

146 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 R K L UH C PF 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

147 ISSPICE4 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

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

149 ISSPICE4 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

150 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. The message file not found indicates that an error has occurred during the simulation. This will reopen IsEd so that we can view the output file. 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. 150

151 ISSPICE4 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

152 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: R K To: R1 1 2 Change:.TRAN 5N 1U To:.TRAN 5N Errors are displayed in the IsSpice4 Errors and Status window. 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. 152

153 ISSPICE4 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

154 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

155 ISSPICE4 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

156 WINDOW SIZES AND POSITIONS 156

157 DESIGN VALIDATOR TUTORIAL Tutorial #7 - Design Validator Important: This tutorial is for Design Validator and Test Designer users only. ICL stands for Interactive Command Language. 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. Test Designer Note: The Simulation Control dialog in Test Designer contains more tabs than the Design Validator version. Design Validator adds the following capabilities to ICAP/4: 1. Automatic Measurements 2. Data storage, limits and reports for measured data 3. Alarm warnings for selected measurements 4. Monte Carlo analysis using ICL Scripts 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: 1. Operating Point 2. Vector Measurement 3. Measurement scripts using ICL 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

158 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 in the spice8\circuits\sample2 folder. Select the ICAPS function in the Actions menu to open the Simulation Control dialog. 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. Make sure that the Script box is checked; it enables the automated ICL measurement features. 158

159 DESIGN VALIDATOR TUTORIAL Next, let s select the circuit vectors that will be measured. Click on the Measurements tab. OP is the circuit s DC operating point. TRAN is a timebased measurement. Closed Loop is the defined configuration, Standard is the setup, and OP is the simulation in this part of the tree. 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

160 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 is the power dissipation through transistor Q2). Similarly, select all of the transistor collector current values in the list You may select any or all of the vectors in the list. Then click on the Finish button. 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

161 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. 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. Change the User Name from OperatingPoint to OperatingPointAlarm. Click on the OK button to dismiss the dialog. 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 entry. Press and hold the Control key and click on entry to add Vcc current to the selected list. You should now have fifteen (15) selected vectors. 161

162 IDENTIFYING MEASUREMENTS Select the list of vectors from V(1) to V(VEE), then also 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. 162 Now, let s return to the Main tab and launch the simulations. Click on the Main tab, then click on the Simulate Selections button.

163 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

164 SETTING ALARM LIMITS Select the OperatingPointAlarm test group. Notice that 12 of the 17 tests have failed. This is because we have not yet set the test limits for the alarms. Click on the Set Limits button to open the Set Measurement Limits dialog. Important: Make sure that the Skip test... box is unchecked. 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. 164

165 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. 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. Click on the OK button to close the Measurement Results dialog. 165

166 SETTING ALARM LIMITS The tree is expanded in order to show you all of the measurement vectors in that leaf. Select the Measurements tab and open the OperatingPointAlarm leaf by clicking in the box next to the leaf. 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. Notice is no longer present in the alarm dialog, since we increased its limit. Similarly, change tolerance limit to 100m, and 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

167 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

168 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. Click on the Monte Carlo Mode in the Main tab. Then click on the Advanced button. 168

169 DESIGN VALIDATOR TUTORIAL Select the Monte tab. Entering a value of 6 here will cause six simulations to be performed when the Monte Carlo analysis is launched. 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. We re now ready to run the Monte Carlo analysis. Click on the Simulate Selections button to launch the simulations. 169

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

171 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

172 RUNNING SCRIPTED MONTE CARLO 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. Click on the Setup button in the Main tab. Click on the Circuit Temperature button and enter a value of

173 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

174 EXPANDING MEASUREMENT LIMITS Click on the OK button to dismiss the dialog. These are the results after running the simulations at 40 Degrees C and selecting the Expand to Pass function. Similarly, rerun the simulation for low temperature (15 Degrees) and expand tolerance to pass. These are the results after running the simulations at 15 Degrees C and selecting the Expand to Pass function. 174

175 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

176 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

177 DESIGN VALIDATOR TUTORIAL Click on the value field for the 4.75 column, DC row entry and enter the Vcc fault value, Low and High Vcc failure modes have just been defined (4.75 and 5.25, respectively). 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

178 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

179 DESIGN VALIDATOR TUTORIAL 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. 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 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

180 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

181 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

182 MEASURING VECTORS 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. Click on the Next button to open the Measurement Wizard. 182

183 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

184 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. Click on the Add button in the Measurements tab. Click on the Next button in the Measurement Wizard. You may either type the lines directly, or use the Cursor Functions list to paste the setcursor command into the Cursor Script edit box. 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). 184

185 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

186 MEASURING VECTORS Then select the Script Method and enter the name of your script, propdelay in the Name field. 186 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) 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.

187 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

188 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 to make 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

189 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

190 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

191 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. Capture a schematic drawing of the circuit. Schematic 2. Define or modify failure modes and tolerances, Tolerance/Failure if required (reasonable defaults are provided). Modes tab 3. Define the simulation setups (analyses which Simulation Setup will be performed). 4. Define the various test configurations in the Simulation Control/ schematic (pair schematic configurations with Test onfiguration simulation setups). 5. Define the measurements that will form the basis Measurements tab 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. 6. Create tests by adding tolerances which define the Results pass/fail boundaries for the measurements, directly or using Monte Carlo, temperature variation, power supply variation, etc. 7. Simulate component and model hard or soft parametric Simulation Control faults. 8. 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. 9. Adjust the fault modes so that the active modes are the Simulation Control/ ones which are being tested in each group. Remove Faults tab faults that are not detectable or are not required for consideration. 191

192 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 Window/Dialog 10. Remove unnecessary tests. Measurements tab 11. 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. 12. 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. 13. 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. 14. 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. 15. Iterate back through step 12 until the fault tree is complete. 16. 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). 192

193 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

194 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. Select the ICAPS function from the Actions menu to open the Simulation Control dialog. Click on the Alarm button. 194

195 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 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. 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. Press the Switch Selected State button. 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 alarm has been deleted. 195

196 SETTING ALARMS, FAULTS, AND LIMITS Next, we ll remove fault from the Alarm window. Click on the Measurements tab and double-click on the Closed Loop/Standard/OP/OperatingPointAlarm leaf. Select entry. Click on the Edit Tol button and change the High limit (Absolute) to 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. 196

197 TEST DESIGNER TUTORIAL Click on the Yes button. 30 faults in the Faults tab were selected for this test. 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 Notice that the first failure is Q2[icc], caused by the R6::Open failure mode. The Alarm Summary Report dialog for the OP Alarm group of measurements is displayed when the fault simulations have been completed. 197

198 DELETING FAILURE MODES THAT OVERSTRESS COMPONENTS Click on the Results button and select the first failed measurement in the report, 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. 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 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. 198

199 TEST DESIGNER TUTORIAL Select the Measurement Results dialog. 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. Notice that C2::Open and R5::Open simulations failed to converge. 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 so that these tests pass also. 199

200 DELETING FAILURE MODES THAT OVERSTRESS COMPONENTS Select entry in the Measurements tab, and click on the Edit Tol button. Look in the Measurement Results dialog. The largest measured value was about 0.1 volts ( Q4:ShortBE failure mode). The largest measured value was about.24 volts ( Q4:ShortBE failure mode). Change the High Limit (absolute) value to 150m. The value of 150m was selected because the largest 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 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 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

201 TEST DESIGNER TUTORIAL Building the Fault Tree Click on the Test Design button in the Main tab. Test Design windows and functions are documented in the on-line Help. This is the Test Design dialog. Select the Standard test from the Fault Tree Selection list. If the list is empty, the Fault Tree dialog will automatically prompt you to enter a name. Next, renumber the sequence numbers in the Group Sequence and Selection list, as shown below. 201

202 BUILDING THE FAULT TREE Tests can be grouped in different sequences. 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. 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

203 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

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

205 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

206 ADDING SAFE-TO-START TESTS We ve entered a 5% tolerance for the output voltage of power supply X2. Make sure that the SafeToStart + DCOP test configuration is selected. 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. 206

207 TEST DESIGNER TUTORIAL Select the Monte tab. Entering a value of 6 here will cause six simulations to be performed when the Monte Carlo analysis is launched. 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. 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

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

209 TEST DESIGNER TUTORIAL Scroll the report to the right and view the Monte Carlo statistics. Note: Your Monte Carlo analysis values (Mean and 3 sigma) may be slightly different, since the MonteCarlo analysis is random. 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. 209

210 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. 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. Next, let s run the Test Designer simulations to get the fault data. 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. 210

211 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

212 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. The ramp start configuration will include the Core Circuitry and Feedback schematic layers. Click on the OK button to dismiss the New Configuration dialog. Click on the OK button to dismiss the Configurations dialog. Next, we ll create a new simulation setup called ramp. Select the Simulation Setup/Edit function from the Actions menu. Click on the Edit button. Click on the New button. 212

213 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

214 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. The ramp simulation setup will perform a 200 microsecond transient analysis. Click on the Done button to dismiss the IsSpice4 Simulation Setup dialog. Next, we ll create a new schematic layer called vinpulse. Select the Layers function from the Options menu. Click on the New button. 214

215 TEST DESIGNER TUTORIAL 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. This will place voltage source V7 on the VCC node, and place a ground connection on its low side. 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

216 ADDING A SPECIAL NON-DESTRUCTIVE TEST 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. This will create R15, rotate it, and connect it to ground. 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. 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. 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. 216

217 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

218 ADDING A SPECIAL NON-DESTRUCTIVE TEST These are all of the available test configurations 218 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. Click on the Next button. 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. Select vectors V(1) and V(8) from the Vector List. Select the getcursory0 function from the Functions list.

219 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

220 USING ISSPICE4 INTERACTIVELY TO DETERMINE 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. 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. Failure modes C2::Open, C3::Open, and R5::Open will be inserted for the ramp test. 220

221 TEST DESIGNER TUTORIAL Limits which are set within the Measurement Results dialog apply to all tests within the selected leaf. 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. 221

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

223 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. These comments represent the steps we ll perform next. Click on the OK button to dismiss the dialog. 223

224 MAKING THE FINAL PRODUCT ACCEPTANCE TEST Click on each sequence value and enter the values which are shown below. Tests can be grouped in different sequences. 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

225 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

226 OPTIMIZING THE TEST 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

227 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 228

229 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 V(1) V1 PWL 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(4) R1 1OHM L UH L UH C NF C NF Time (s) Voltage (v) 0 0 1u 0 2u 1 20u u 0 The.PRINT Statements are generated for you by the test point symbols. You DO NOT have to type them in!! 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

230 AC ANALYSIS - A BUTTERWORTH FILTER 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 HZ 100MEGHZ.PZ VOL PZ ; The.PZ statement is entered in the R OHM ; IsSpice4 Simulation Setup dialog L UH ; in the user statement field. L UH C NF C NF 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

231 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

232 AC ANALYSIS - A BUTTERWORTH FILTER 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 U 15.0U 25.0U 35.0U 45.0U TSTEP=.1US, TSTOP=50US 5.00U 15.0U 25.0U 35.0U 45.0U TSTEP=.5US, TSTOP=50US M M M U 15.0U 25.0U 35.0U 45.0U TSTEP=1US, TSTOP=50US 5.00U 15.0U 25.0U 35.0U 45.0U TSTEP=5US, TSTOP=50US 232

233 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 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 Imag Number e e e e e e e e+07 1 Try expanding the frequency range for the.ac analysis by changing the.ac control statement to the following:.ac DEC KHZ 1GHZ Resimulate the circuit with the new.ac statement and examine the output. 233

234 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

235 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) *#ALIAS VIN V(1) *#ALIAS VOUT V(2) R OHM V V D2 2 1 DN4148 V1 1 0 SIN 0 1V 1KHZ.END V(1) VIN Print, Save, and Alias statements are generated by the test points symbols V(2) D2 DN4148 VOUT 1 2 V1 SIN 3 R1 1OHM 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

236 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

237 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 NA NC Q1 NC NB NE QN2222.MODEL QN2222 NPN NB NC M1 ND NG NS NB N1.MODEL N1 NMOS NG ND NS NE NB J1 ND NG NS J2N.MODEL J2N PJF ND Z1 ND NG NS J2N.MODEL GAS NMF ND NG NG NS NS 237

238 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 Drain- Source 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. The IsSpice4 model and.print statements are only shown for clarity. They DO NOT need to be typed in! New Topics Covered Sources Current meter Semiconductors JFET Analysis DC Sweep Output Control.PRINT DC DC Sweep - Device Characteristics.MODEL J105 NJF (VTO=-7.25 BETA=5M LAMBDA= 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 VGS PRINT VDS 1 0 VGS 3 0 J J105 V2 1 2.END 238

239 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, (J 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 sign before the model's Reference Designation, followed by the desired current (between square brackets).. For example;.print 239

240 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

241 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. Enter the circuit as shown, and perform the simulation. ZO=75 TD=2N must be entered into the lossless transmission line s Properties dialog. V(1) T-Lines - Buffering and Impedance Matching *#SAVE ALL ALLCUR ALLPOW.TRAN 1N 100N 0 1N.PRINT TRAN V(1) V(3) V(4) R K E K R K T ZO=75 TD=2N ; Symbol Ideal T line R C P V1 1 0 PULSE N 3N 22N 50N.END R2 10K V(3) R1 1K R3 150 V(4) V1 PULSE E1 10K T1 ZO=75 C1 10P Buffering The VCVS in this circuit is modeling an ideal op-amp. The resistors, R1 and R2, create a simple inverting amplifier configu- 241

242 TRANSMISSION LINES - BUFFERING 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 R3 75 C1 5P V( 4) To improve the matching, replace the 150Ω resistor and 10pf capacitor with the parallel termination shown to the left. Simulate the circuit again. The new statements are shown below for reference. R C P 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

243 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 VP = V Z V O P P LEN TD L 2 = L = ZO C C 1 1 = C = LC LV 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. 2 P 243

244 TRANSMISSION LINES - BUFFERING AND IMPEDANCE MATCHING N 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. Simulate the series-terminated circuit with the new lossy line. The results are shown next. Note the attenuation in the line caused by R. 244

245 SIMULATION EXAMPLES N 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

246 NOISE, DISTORTION, AND FOURIER ANALYSES - BIPOLAR AMPLIFIER All the ICL (control block in bold below) statements are entered in the User Statements field of the IsSpice4 Simulation Setup dialog. 246 ICL Control Block show...device Operating Point Information showmod...model Operating Point Information 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= 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= 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).NOISE V(9) V1 DEC MEG.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) R K Q QN2222 Q QN2222 R K V R K V R K Q QN2907 C P R K R K V1 1 0 Sin K AC 1 Distof1 1 Distof2.1.END

247 SIMULATION EXAMPLES AC 1, Distof1 1 and Distof2.1 are entered into the V1 Properties dialog. Sin K is entered using the Tran generators field in the properties dialog. The QN2222 and QN2907 symbols are listed in the Part Browser dialog under BJT Part Types, and General purpose Sub Types. V(1) VIN V1 SIN V2 10 R1 100K Q1 QN V3-10 R3 20K 5 R2 2.7K 4 Q2 QN2222 V(3) 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. R4 1K Q3 QN2907 C1 100P 8 R5 100K 9 V(9) VOUT R6 10K Fourier: This analysis is specified by the Fourier dialog in the IsSpice4 Simulation Setup dialog. It defines the fundamental.tran 100N 40U 20U.FOUR 100KHZ V(9) frequency and the output variables. Data will be taken from TSTOP-period 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

248 NOISE, DISTORTION, AND FOURIER ANALYSES - BIPOLAR 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: %, Gridsize: 200, Interpolation Degree: 1 Harmonic Frequency Magnitude Phase Norm. Mag Norm. Phase e e e e e e e e e e This Disto analysis is specified by the Distortion dialog in the IsSpice4 Simulation Setup dialog. 248.DISTO DEC 5 10K 1MEG.49.PRINT DISTO V(9) VP(9) V1 1 0 AC 1 DISTOF1 1 DISTOF2.1 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.

249 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 MEG 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

250 NOISE, DISTORTION, AND FOURIER ANALYSES - BIPOLAR AMPLIFIER This.TF analysis is specified by the DC Transfer function dialog in the IsSpice4 Simulation Setup dialog. The Transfer Function (TF) Output is placed in the IsSpice4 OUTPUT file. 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. ***** SMALL SIGNAL DC TRANSFER FUNCTION output_impedance_at_v(9) e+01 v1#input_impedance e+05 Transfer_function e-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 q1 model qn2907 qn2222 qn2222 vbe vbc icc ib 1.05e e e-06 ie gm go 1.74e e e-06 ft 4.91e e e+07 temp

251 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. The UA741 is located in the Part Browser dialog under the Op-amps Part Type, Intusoft Sub Type listing. New Topics Covered Subcircuits and Models X...Subcircuit Call.SUBCKT.ENDS Output.PRINT Real Imaginary 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 R K R2 2.25K V1 AC C1.26U 2 VCC X1 UA741 VEE 9 4 C3.0806U R3 10K 8 R4 10K 5 6 VCC X2 UA741 C2.031U VEE V(8) VOUT V

252 USING SUBCIRCUITS - ACTIVE RC FILTER Using Subcircuits - Active RC Filter *#SAVE ALL ALLCUR ALLPOW.SUBCKT UA * - IN + OUT VCC VEE RP K RXX MEG IBP NA RIP MEG CIP PF IBN NA RIN MEG CIN PF VOFST MV RID K EA R K R K C PF GA C PF RO L UHY Aliases are generated by the Test points RL 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) R K R K C U X UA741 R K R K X UA741 C U C U C U R K V V 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. 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 UA * - IN + OUT VCC VEE RP K RXX MEG... L UHY RL CL 6 0 3PF.ENDS 252

253 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; X 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

254 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

255 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# RX 3 2 1E12 CB 3 2 1E-7 IC=-250 F1 1 2 VM1 1 G E VM1 4 5 RB K RS VP D1 6 7 DCLAMP VN D2 8 6 DCLAMP.MODEL DCLAMP D(CJO=191P VJ=25).ENDS.SUBCKT XFMR# RP 1 2 1MEG E M F 1 2 VM 300M RS 6 3 1U VM 5 6.ENDS.TRAN.1U 50U R VM X CORE#0 *{VSEC=50U IVSEC=-25U LMAG=10MHY + LSAT=20UHY FEDDY=20KHZ } X XFMR#0 * {RATIO=.3} R V1 1 0 PULSE U 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

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

257 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

258 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, ct ( ) = A cos( 2 π ft) and a message, m(t), by the following equation; C C or, st () = [ 1+ kmt ()] ct () a st ( ) = A[ 1+ Kmt ( )]cos( 2π ft) C a C where k a is the amplitude sensitivity. If we consider a single tone modulation such as; mt ( ) = A cos( 2 π ft) so that the amplitude modulated signal becomes; s( t) = A [ 1+ K Amcos( 2π f t)]cos( 2π f t) m C a m C m 258

259 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 K.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+. 1cos( 2 π10kt)]cos( 2 π100kt) 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

260 IN-LINE MATH EQUATIONS - AM MODULATOR INTUSCOPE can take the FFT of any time domain waveform (FFT of s(t) shown below). Both Time-to-Magnitude and Time-to- Real/Imaginary transforms are supported. If-Then-Else - A Comparator The B source is also capable of making decisions using an If- Then-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

261 SIMULATION EXAMPLES The easiest way to model this comparator is with an If-Then- Else 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; This can be read as: B1 3 0 v= v(1,2) > 0? 5 : 0 If (V(1,2) > 0) Then V(3)=5 Else V(3)=0 Enter the netlist shown. Be sure to enter the B syntax correctly. Correct Pin Sequence A Comparator - An If Then Else Statement *#SAVE ALL.TRAN 1U 200U.PRINT TRAN V(1) V(2) X COMPAR ; Order is determined by pin placement R K V1 2 0 PWL U 1 200U 0 V SUBCKT COMPAR ; 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

262 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

263 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 TRAN V(2) VIEW TRAN V(1) -1 0.VIEW 0 4M.VIEW U.VIEW 0 4M.VIEW 0 2M V2 1 0 PULSE P 125P 125P 375P 1 Z NM1 Z NM V END V(5) VIN V1 3.5 Z1 NM1 V(2) VOUT Z2 NM V2 PULSE 263

264 GAAS MESFETS - AN 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 M M M 1 500M 1.40M 2-500M 1.20M 100.0P 300P 500P 700P 900P TIME in Secs 264

265 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. 2 V1 30 V(3) VIN R R2 50 V2 PULSE 3 Q1 QN

266 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) R RMOD ; enter Rmod in the.model Value field V R RMOD V2 4 0 PULSE N 10N 500N 1U Q 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

267 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. Q 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 Results for room temperature Results for circuit at 75 c Results for transistor at 125 c 630M 630M 218M 218M -194M -194M 483N 648N 813N 979N 1.14U TIME in Secs 267

268 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 M 1M 50M 100M L M R K R K C U.END V(3) 1 R1 10K 2 L1 1M VOUT 3 V1 PULSE C1 47U R2 10K 268

269 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. The UIC parameter must be present on the.tran line in order to obtain the proper results. 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. 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

270 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( U 10U 500U 1M) ; No delay, WFM.1 V2 2 0 Pulse( U 10U 500U 1M -270) ; 270 Degree delay, WFM.2 V3 3 0 Pulse( U 10U 10U 500U 1M) ; Td=750µs, WFM M 300U 900U 1.50M 2.10M 2.70M TIME in Secs 270

271 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 K and.tran.1 10 in the IsSpice4 Simulation Setup dialog. 1 2 Laplace CHEBYSHEV *#SAVE ALL ALLCUR ALLPOW.MODEL S_001 s_xfer(in_offset=0.0 gain=1.0 num_coeff=[1.0] + den_coeff=[ ] out_ic=0.0 denorm_freq=1.0).ac DEC K.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.END The.SUBCKT netlist does not have to be typed into IsEd. Use the Laplace3 symbol. 271

272 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. 2 s s 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= (corresponding to S2=1.0 S1= S0=1.5162) dfreq=1.0 Close the dialog and run the simulation. 272

273 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

274 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

275 SIMULATION EXAMPLES 851M VIN 9 9 V1 10 K1 K2 X8 SUM2 SUM2 6 X9 GA IN GAIN X9x SINT K/S X2 SDIFF K*S V_I 4 V_P V_D 5 V_P -487M Tran 0 time X6 SUM3 K1 K2 SUM3 K3 105M V_I -5.00M Tran 0 time A1 LAPLACE Laplace M Tran A2 LAPLACE Laplace 1.61 VOUT AC 0 time VOUT in db A3 LAPLACE Laplace f requenc y VOUT 10 Note: To enter the proper values for the Laplace model, use the Laplace Properties dialog. PID CONTROLLER *#SAVE ALL ALLCUR ALLPOW.MODEL S_001 s_xfer(in_offset=0.0 gain=2.0 num_coeff=[1.0] + den_coeff=[ ] denorm_freq=1.0).model S_002 s_xfer(in_offset=0.0 gain=10.0 num_coeff=[1.0] + den_coeff=[ ] denorm_freq=1.0).model S_003 s_xfer(in_offset=0.0 gain=1.0 num_coeff=[1.0] + den_coeff=[ M] denorm_freq=1.0).model DIFF_001 d_dt(out_offset=0.0 gain=1.5 limit_range=1.0u).ac DEC TRAN *INCLUDE SYS.LIB *INCLUDE CM1.LIB *#ALIAS V_P V(7) *#ALIAS VOUT V(10) *#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) X SUM2 {K1=1 K2=-1 } V1 9 0 AC 1 PULSE A4 1 3 S_001 A S_002 A7 2 1 S_003 X9 6 7 GAIN {K=.8 } X SINT {K=.5 } A8 6 5 DIFF_001 X SUM3 {K1=1 K2=1 K3=1 }.END The model parameters listed in each code model and the parameters passed to Sum2, Sum3, Gain, and SINT must be entered into the Properties dialog of each element. 275

276 TABLE MODEL TRANSFER 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=[ ] + input_domain=10m fraction=true).tran 1 25 A3 1 2 PWL_001 V1 1 0 PULSE END Vin V1 V(2) VOUT Table 1 2 A3 PWL_

277 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

278 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. Construct and simulate the circuit using a netlist approach as shown below. The default resistance values for the switch model are: RON=1Ω and ROFF=1E12Ω Switches - A Comparator With Hysteresis *#SAVE ALL ALLCUR ALLPOW.TRAN 1U 200U.PRINT TRAN V(1) V(4) V1 1 0 PWL U 1 200U 0 V R K V X COMPAR.SUBCKT COMPAR S SWMOD.MODEL SWMOD SW(RON=.5 + ROFF=10G VT=.2 VH=.1).ENDS.END 2 1 VCC VEE 3 V3 15 R1 5.1K 4 V(4) VOUT V2.5 V1 PWL 278

279 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

280 SWITCHES - A COMPARATOR WITH HYSTERESIS 280

281 Digital/Mixed Mode Examples CHAPTER 9 - 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

282 ANALOG-DIGITAL INTERFACING 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. 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. 282

283 CHAPTER 9 - DIGITAL/MIXED-MODE EXAMPLES Repeat these steps for the D2A and inverter symbols. Their parameter values are shown below. 283

284 ANALOG-DIGITAL INTERFACING 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 INTUSCOPE. 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

285 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 A SRFF ; from the Digital Part Type A SRFF A SRFF V1 8 0 PULSE N 1N 25N 50N.END 285

286 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: The D2A Model: in_low =100m out_low =0 in_high =900m out_high =1 rise_delay =1p out_undef =500m fall_delay =1n t_rise =1n t_fall =1n The SRFF Model: clock_delay =1n rise_delay =1p set_delay =1n fall_delay =1n reset_delay =1n sr_load =1p output initial state =0 CLKL = clk_load =1p SL = set_load =1p RSL = reset_load =1p The Pdown Model: load = 1p 286

287 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

288 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

289 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

290 STATE MACHINE **** 0 0s 0s 0s 0 -> 1 1 -> 1 1 0s 0s 1z 0 -> 2 1 -> 2 2 0s 1z 0s 0 -> 3 1 -> 3 State Transition File for the state machine used in the Binary Counter 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 Out

291 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

292 BOOLEAN LOGIC FUNCTIONS 292 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))

293 CHAPTER 9 - DIGITAL/MIXED-MODE EXAMPLES To implement a NOR function, first OR the voltages, V(1) V(2) The phrase ~(V(1)&V(2)) is entered into the B element Properties dialog in the Expression window. Then, to create the NOR, NOT this combination: ~(V(1) V(2)) NAND Gate.TRAN 1U 2.5M BNAND 3 0 V=~(V(1)&V(2)) V1 1 0 PULSE U 1U 100U 200U V2 2 0 PULSE U 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

294 BOOLEAN LOGIC FUNCTIONS Default.OPTIONS parameters for Boolean expressions are: LTHRESH=1.5V LONE=3.5V LZERO=.5V V(2) Lthresh=1.5V V(1) 2.5V TSTEP Time Expanded view of NAND waveforms at the spike time NOR Gate.TRAN 1U 2.5M BNOR 3 0 V=~(V(1) V(2)) C NF V1 1 0 PULSE U 1U 100U 200U V2 2 0 PULSE U 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

295 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 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 U 1U 10U 20U VB 2 0 PULSE U 1U 20U 40U VC 3 0 PULSE U 1U 40U 80U VD 4 0 PULSE U 1U 80U 160U X ANDNOR.SUBCKT ANDNOR B1 5 0 V=~((V(1)&V(2)) (V(3)&V(4))).ENDS.END 295

296 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 u 0 1u x adc bin x adc In In x adc Out x adc x adc Example adc symbols x adc x adc x 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 bin Out 296

297 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

298 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= 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 *#ALIAS VOUT V(13).PRINT TRAN V(13) A2 [ ] 11Midi_001 A D2R_001 X DIG_FILTER R K R K R K C U A R2A_001 A FDIV_001 V1 9 0 PWL A11[ 9] [15] A2D_001 A12 [11] [17] D2A_001 A LIM_001 A1 [ ] 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

299 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. 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. *T *i *m *e 0 0s 1s 1s 1s 1s 0s 0s.06 0s 1s 0s 0s 1s 0s 0s.12 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. 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

300 MIDI SYNTHESIZER Filt_In Clk Clk 1.0Clk 2.0 Clk 1.0 Z -1 Z -1 Z -1 Z Filt_Out 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. 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

ICAP/4RX GETTING STARTED

ICAP/4RX GETTING STARTED Personal Computer Circuit Design Tools ICAP/4RX GETTING STARTED copyright intusoft 1986-2007 Tel. (310) 952-0657 Fax (310) 952-5468 web - www.intusoft.com email - info@intusoft.com intusoft provides this

More information

One possible window configuration preferences for debug cycles

One possible window configuration preferences for debug cycles NEW USER S TUTORIAL Welcome to ICAP/4, Intusoft s suite of analog and mixed-signal simulation products. There is also a New User s Tutorial 2 as follow-on to this tutorial for non-icap/4rx products. Let

More information

Tutorial 3: Using the Waveform Viewer Introduces the basics of using the waveform viewer. Read Tutorial SIMPLIS Tutorials SIMPLIS provide a range of t

Tutorial 3: Using the Waveform Viewer Introduces the basics of using the waveform viewer. Read Tutorial SIMPLIS Tutorials SIMPLIS provide a range of t Tutorials Introductory Tutorials These tutorials are designed to give new users a basic understanding of how to use SIMetrix and SIMetrix/SIMPLIS. Tutorial 1: Getting Started Guides you through getting

More information

Copyright 2008 Linear Technology. All rights reserved. Getting Started

Copyright 2008 Linear Technology. All rights reserved. Getting Started Copyright. All rights reserved. Getting Started Copyright. All rights reserved. Draft a Design Using the Schematic Editor 14 Start with a New Schematic New Schematic Left click on the New Schematic symbol

More information

Revision Notes: July2004 Generate tutorial for single transistor analysis. Based on existing schematic entry tutorial developed for ECE410

Revision Notes: July2004 Generate tutorial for single transistor analysis. Based on existing schematic entry tutorial developed for ECE410 Cadence Analog Tutorial 1: Schematic Entry and Transistor Characterization Created for the MSU VLSI program by Professor A. Mason and the AMSaC lab group. Revision Notes: July2004 Generate tutorial for

More information

Cadence Tutorial A: Schematic Entry and Functional Simulation Created for the MSU VLSI program by Andrew Mason and the AMSaC lab group.

Cadence Tutorial A: Schematic Entry and Functional Simulation Created for the MSU VLSI program by Andrew Mason and the AMSaC lab group. Cadence Tutorial A: Schematic Entry and Functional Simulation Created for the MSU VLSI program by Andrew Mason and the AMSaC lab group. Revision Notes: Aug. 2003 update and edit A. Mason add intro/revision/contents

More information

How to Get Started. Figure 3

How to Get Started. Figure 3 Tutorial PSpice How to Get Started To start a simulation, begin by going to the Start button on the Windows toolbar, then select Engineering Tools, then OrCAD Demo. From now on the document menu selection

More information

Introduction to Personal Computing

Introduction to Personal Computing Introduction to Personal Computing Academic Computing Services www.ku.edu/acs Abstract: This document explains the basics of the Microsoft Windows operating system. It is intended for users who are either

More information

Simulation examples Chapter overview

Simulation examples Chapter overview Simulation examples 2 Chapter overview The examples in this chapter provide an introduction to the methods and tools for creating circuit designs, running simulations, and analyzing simulation results.

More information

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial

Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial Actel Libero TM Integrated Design Environment v2.3 Structural Schematic Flow Design Tutorial 1 Table of Contents Design Flow in Libero TM IDE v2.3 Step 1 - Design Creation 3 Step 2 - Design Verification

More information

Keynote 08 Basics Website:

Keynote 08 Basics Website: Website: http://etc.usf.edu/te/ Keynote is Apple's presentation application. Keynote is installed as part of the iwork suite, which also includes the word processing program Pages and the spreadsheet program

More information

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction

VLSI Lab Tutorial 1. Cadence Virtuoso Schematic Composer Introduction VLSI Lab Tutorial 1 Cadence Virtuoso Schematic Composer Introduction 1.0 Introduction The purpose of the first lab tutorial is to help you become familiar with the schematic editor, Virtuoso Schematic

More information

Getting started. Starting Capture. To start Capture. This chapter describes how to start OrCAD Capture.

Getting started. Starting Capture. To start Capture. This chapter describes how to start OrCAD Capture. Getting started 1 This chapter describes how to start OrCAD Capture. Starting Capture The OrCAD Release 9 installation process puts Capture in the \PROGRAM FILES\ORCAD\CAPTURE folder, and adds Pspice Student

More information

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation

EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation EE261 Computer Project 1: Using Mentor Graphics for Digital Simulation Introduction In this project, you will begin to explore the digital simulation tools of the Mentor Graphics package available on the

More information

LTspice Getting Started Guide. Copyright 2007 Linear Technology. All rights reserved.

LTspice Getting Started Guide. Copyright 2007 Linear Technology. All rights reserved. Copyright 2007 Linear Technology. All rights reserved. Why Use LTspice? Stable SPICE circuit simulation with Unlimited number of nodes Schematic/symbol editor Waveform viewer Library of passive devices

More information

Schematic Editing Essentials

Schematic Editing Essentials Summary Application Note AP0109 (v2.0) March 24, 2005 This application note looks at the placement and editing of schematic objects in Altium Designer. This application note provides a general overview

More information

There are three windows that are opened. The screen that you will probably spend the most time in is the SCHEMATIC page.

There are three windows that are opened. The screen that you will probably spend the most time in is the SCHEMATIC page. Pspice Tutorial Create a new project and select Analog or Mixed A/D. Choose an appropriate project name and a path. A new window pop up with the Pspice project type, select Create a blank project and click

More information

PSpice Tutorial. Physics 160 Spring 2006

PSpice Tutorial. Physics 160 Spring 2006 PSpice Tutorial This is a tutorial designed to guide you through the simulation assignment included in the first homework set. You may either use the program as installed in the lab, or you may install

More information

Cadence Tutorial: Schematic Entry and Circuit Simulation of a CMOS Inverter

Cadence Tutorial: Schematic Entry and Circuit Simulation of a CMOS Inverter Cadence Tutorial: Schematic Entry and Circuit Simulation of a CMOS Inverter Introduction This tutorial describes the steps involved in the design and simulation of a CMOS inverter using the Cadence Virtuoso

More information

KiCad Example Schematic ( ) Wien Bridge Oscillator

KiCad Example Schematic ( ) Wien Bridge Oscillator KiCad Example Schematic (2010-05-05) Wien Bridge Oscillator University of Hartford College of Engineering, Technology, and Architecture The following tutorial in that it walks you through steps to use

More information

CS755 CAD TOOL TUTORIAL

CS755 CAD TOOL TUTORIAL CS755 CAD TOOL TUTORIAL CREATING SCHEMATIC IN CADENCE Shi-Ting Zhou shi-ting@cs.wisc.edu After you have figured out what you want to design, and drafted some pictures and diagrams, it s time to input schematics

More information

Setting up an initial ".tcshrc" file

Setting up an initial .tcshrc file ECE445 Fall 2005 Introduction to SaberSketch The SABER simulator is a tool for computer simulation of analog systems, digital systems and mixed signal systems. SaberDesigner consists of the three tools,

More information

Complete Tutorial (Includes Schematic & Layout)

Complete Tutorial (Includes Schematic & Layout) Complete Tutorial (Includes Schematic & Layout) Download 1. Go to the "Download Free PCB123 Software" button or click here. 2. Enter your e-mail address and for your primary interest in the product. (Your

More information

APPENDIX-A INTRODUCTION TO OrCAD PSPICE

APPENDIX-A INTRODUCTION TO OrCAD PSPICE 220 APPENDIX-A INTRODUCTION TO OrCAD PSPICE 221 APPENDIX-A INTRODUCTION TO OrCAD PSPICE 1.0 INTRODUCTION Computer aided circuit analysis provides additional information about the circuit performance that

More information

SolidWorks 2½D Parts

SolidWorks 2½D Parts SolidWorks 2½D Parts IDeATe Laser Micro Part 1b Dave Touretzky and Susan Finger 1. Create a new part In this lab, you ll create a CAD model of the 2 ½ D key fob below to make on the laser cutter. Select

More information

Welcome In this chapter

Welcome In this chapter 1 Welcome In this chapter Welcome to ProWORX NxT 2.10 2 Installing ProWORX NxT 3 Starting ProWORX NxT 5 Authorizing ProWORX NxT 8 Customer support 11 ProWORX NxT User s Guide Welcome to ProWORX NxT 2.10

More information

Easy Windows Working with Disks, Folders, - and Files

Easy Windows Working with Disks, Folders, - and Files Easy Windows 98-3 - Working with Disks, Folders, - and Files Page 1 of 11 Easy Windows 98-3 - Working with Disks, Folders, - and Files Task 1: Opening Folders Folders contain files, programs, or other

More information

SolidWorks Intro Part 1b

SolidWorks Intro Part 1b SolidWorks Intro Part 1b Dave Touretzky and Susan Finger 1. Create a new part We ll create a CAD model of the 2 ½ D key fob below to make on the laser cutter. Select File New Templates IPSpart If the SolidWorks

More information

ENVI Tutorial: Introduction to ENVI

ENVI Tutorial: Introduction to ENVI ENVI Tutorial: Introduction to ENVI Table of Contents OVERVIEW OF THIS TUTORIAL...1 GETTING STARTED WITH ENVI...1 Starting ENVI...1 Starting ENVI on Windows Machines...1 Starting ENVI in UNIX...1 Starting

More information

EE 210 Lab Assignment #2: Intro to PSPICE

EE 210 Lab Assignment #2: Intro to PSPICE EE 210 Lab Assignment #2: Intro to PSPICE ITEMS REQUIRED None Non-formal Report due at the ASSIGNMENT beginning of the next lab no conclusion required Answers and results from all of the numbered, bolded

More information

QuartusII.doc 25/02/2005 Page 1

QuartusII.doc 25/02/2005 Page 1 1 Start Icon... 2 1.1 The Quartus II Screen... 2 2 Project creation... 2 3 Schematic entry... 5 3.1 Create new drawing... 5 3.2 Symbol selection... 7 3.3 Placement of an AND gate... 8 3.4 Deleting a symbol...

More information

SILVACO. An Intuitive Front-End to Effective and Efficient Schematic Capture Design INSIDE. Introduction. Concepts of Scholar Schematic Capture

SILVACO. An Intuitive Front-End to Effective and Efficient Schematic Capture Design INSIDE. Introduction. Concepts of Scholar Schematic Capture TCAD Driven CAD A Journal for CAD/CAE Engineers Introduction In our previous publication ("Scholar: An Enhanced Multi-Platform Schematic Capture", Simulation Standard, Vol.10, Number 9, September 1999)

More information

EECS 211 CAD Tutorial. 1. Introduction

EECS 211 CAD Tutorial. 1. Introduction EECS 211 CAD Tutorial 1. Introduction This tutorial has been devised to run through all the steps involved in the design and simulation of an audio tone control amplifier using the Mentor Graphics CAD

More information

EXCEL BASICS: MICROSOFT OFFICE 2007

EXCEL BASICS: MICROSOFT OFFICE 2007 EXCEL BASICS: MICROSOFT OFFICE 2007 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT EXCEL PAGE 03 Opening Microsoft Excel Microsoft Excel Features Keyboard Review Pointer Shapes

More information

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction

VLSI Lab Tutorial 3. Virtuoso Layout Editing Introduction VLSI Lab Tutorial 3 Virtuoso Layout Editing Introduction 1.0 Introduction The purpose of this lab tutorial is to guide you through the design process in creating a custom IC layout for your CMOS inverter

More information

Forston Labs LabNavigator

Forston Labs LabNavigator Forston Labs LabNavigator (Order Code LabNavigator) Overview Welcome to LabNavigator. This guide will get you started with basic data collection. More information is available in the LabNavigator Reference

More information

ELEC451 Integrated Circuit Engineering Using Cadence's Virtuoso Layout Editing Tool

ELEC451 Integrated Circuit Engineering Using Cadence's Virtuoso Layout Editing Tool ELEC451 Integrated Circuit Engineering Using Cadence's Virtuoso Layout Editing Tool Contents Contents 1. General 2. Creating and Working On a Layout o 2.1 Undoing/Re-doing an Action o 2.2 Display Options

More information

WINDOWS NT BASICS

WINDOWS NT BASICS WINDOWS NT BASICS 9.30.99 Windows NT Basics ABOUT UNIVERSITY TECHNOLOGY TRAINING CENTER The University Technology Training Center (UTTC) provides computer training services with a focus on helping University

More information

SPICE Models: ROHM Voltage Detector ICs

SPICE Models: ROHM Voltage Detector ICs SPICE Models: ROHM Voltage Detector ICs BD48 G/FVE,BD49 G/FVE,BD52 G/FVE,BD53 G/FVE, No.10006EAY01 1. INTRODUCTION 1.1 SPICE SPICE is a general-purpose circuit-simulation program for nonlinear DC, nonlinear

More information

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat

The American University in Cairo. Academic Computing Services. Word prepared by. Soumaia Ahmed Al Ayyat The American University in Cairo Academic Computing Services Word 2000 prepared by Soumaia Ahmed Al Ayyat Spring 2001 Table of Contents: Opening the Word Program Creating, Opening, and Saving Documents

More information

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #2, Schematic Capture, DC Analysis, Transient Analysis (Inverter, NAND2)

CPE/EE 427, CPE 527, VLSI Design I: Tutorial #2, Schematic Capture, DC Analysis, Transient Analysis (Inverter, NAND2) CPE/EE 427, CPE 527, VLSI Design I: Tutorial #2, Schematic Capture, DC Analysis, Transient Analysis (Inverter, NAND2) Joel Wilder, Aleksandar Milenkovic, ECE Dept., The University of Alabama in Huntsville

More information

Autodesk Fusion 360: Model. Overview. Modeling techniques in Fusion 360

Autodesk Fusion 360: Model. Overview. Modeling techniques in Fusion 360 Overview Modeling techniques in Fusion 360 Modeling in Fusion 360 is quite a different experience from how you would model in conventional history-based CAD software. Some users have expressed that it

More information

EE 330 Spring 2018 Laboratory 2: Basic Boolean Circuits

EE 330 Spring 2018 Laboratory 2: Basic Boolean Circuits EE 330 Spring 2018 Laboratory 2: Basic Boolean Circuits Contents Objective:... 2 Part 1: Introduction... 2 Part 2 Simulation of a CMOS Inverter... 3 Part 2.1 Attaching technology information... 3 Part

More information

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 6: Quartus II Tutorial and Practice. Name: Date:

EMT1250 LABORATORY EXPERIMENT. EXPERIMENT # 6: Quartus II Tutorial and Practice. Name: Date: EXPERIMENT # 6: Quartus II Tutorial and Practice Name: Date: Equipment/Parts Needed: Quartus II R Web Edition V9.1 SP2 software by Altera Corporation USB drive to save your files Objective: Learn how to

More information

Logger Pro 3. Quick Reference

Logger Pro 3. Quick Reference Logger Pro 3 Quick Reference Getting Started Logger Pro Requirements To use Logger Pro, you must have the following equipment: Windows 98, 2000, ME, NT, or XP on a Pentium processor or equivalent, 133

More information

Lesson 2: DC Bias Point Analysis

Lesson 2: DC Bias Point Analysis 2 Lesson 2: DC Bias Point Analysis Lesson Objectives After you complete this lesson you will be able to: Create a simulation profile for DC Bias analysis Netlist the design for simulation Run a DC Bias

More information

Piping & Instrumentation Diagrams

Piping & Instrumentation Diagrams Page 1 Piping & Instrumentation Diagrams Preface Using This Guide What's New? Getting Started Entering the Workbench Setting up Working Units and Grid Placing Components Routing a Piping Line or I & C

More information

Chapter 4 Determining Cell Size

Chapter 4 Determining Cell Size Chapter 4 Determining Cell Size Chapter 4 Determining Cell Size The third tutorial is designed to give you a demonstration in using the Cell Size Calculator to obtain the optimal cell size for your circuit

More information

Manual for Wavenology EM Graphic Circuit Editor. Wave Computation Technologies, Inc. Jan., 2013

Manual for Wavenology EM Graphic Circuit Editor. Wave Computation Technologies, Inc. Jan., 2013 Manual for Wavenology EM Graphic Circuit Editor Wave Computation Technologies, Inc. Jan., 2013 1 Introduction WCT Graphic Circuit Editor is used to build a Spice circuit model in WCT EM full wave simulator.

More information

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14

Contents. Appendix B HDL Entry Tutorial 2 Page 1 of 14 Appendix B HDL Entry Tutorial 2 Page 1 of 14 Contents Appendix B HDL Entry Tutorial 2...2 B.1 Getting Started...2 B.1.1 Preparing a Folder for the Project...2 B.1.2 Starting Quartus II...2 B.1.3 Creating

More information

Introduction to Microsoft Office PowerPoint 2010

Introduction to Microsoft Office PowerPoint 2010 Introduction to Microsoft Office PowerPoint 2010 TABLE OF CONTENTS Open PowerPoint 2010... 1 About the Editing Screen... 1 Create a Title Slide... 6 Save Your Presentation... 6 Create a New Slide... 7

More information

RTL Design and IP Generation Tutorial. PlanAhead Design Tool

RTL Design and IP Generation Tutorial. PlanAhead Design Tool RTL Design and IP Generation Tutorial PlanAhead Design Tool Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products.

More information

ISSPICE4 USER S GUIDE

ISSPICE4 USER S GUIDE Personal Computer Circuit Design Tools ISSPICE4 USER S GUIDE copyright intusoft 1988-1996 P.O.Box 710 San Pedro, Ca. 90733-0710 Tel. (310) 833-0710 Fax (310) 833-9658 email - info@intusoft.com Web - www.intusoft.com

More information

MAKING TABLES WITH WORD BASIC INSTRUCTIONS. Setting the Page Orientation. Inserting the Basic Table. Daily Schedule

MAKING TABLES WITH WORD BASIC INSTRUCTIONS. Setting the Page Orientation. Inserting the Basic Table. Daily Schedule MAKING TABLES WITH WORD BASIC INSTRUCTIONS Setting the Page Orientation Once in word, decide if you want your paper to print vertically (the normal way, called portrait) or horizontally (called landscape)

More information

TINA-TI Simulation Software. Application Note

TINA-TI Simulation Software. Application Note TINA-TI Simulation Software Application Note Phil Jaworski Design Team 6 11/16/2012 Abstract TINA-TI is a circuit design and simulation tool created by both Texas Instruments and DesignSoft that has helped

More information

EXCEL BASICS: MICROSOFT OFFICE 2010

EXCEL BASICS: MICROSOFT OFFICE 2010 EXCEL BASICS: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT EXCEL PAGE 03 Opening Microsoft Excel Microsoft Excel Features Keyboard Review Pointer Shapes

More information

Microsoft Word: Steps To Success (The Bare Essentials)

Microsoft Word: Steps To Success (The Bare Essentials) Microsoft Word: Steps To Success (The Bare Essentials) Workbook by Joyce Kirst 2005 Microsoft Word: Step to Success (The Bare Essentials) Page Contents 1 Starting Word 2 Save 3 Exit 5 Toolbars, Alignment,

More information

In this lesson, you ll learn how to:

In this lesson, you ll learn how to: LESSON 5: ADVANCED DRAWING TECHNIQUES OBJECTIVES In this lesson, you ll learn how to: apply gradient fills modify graphics by smoothing, straightening, and optimizing understand the difference between

More information

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16

University of Florida EEL 3701 Dr. Eric M. Schwartz Department of Electrical & Computer Engineering Revision 0 12-Jun-16 Page 1/14 Quartus Tutorial with Basic Graphical Gate Entry and Simulation Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate

More information

Exercise 1. Section 2. Working in Capture

Exercise 1. Section 2. Working in Capture Exercise 1 Section 1. Introduction In this exercise, a simple circuit will be drawn in OrCAD Capture and a netlist file will be generated. Then the netlist file will be read into OrCAD Layout. In Layout,

More information

PSpice Analog and mixed signal simulation

PSpice Analog and mixed signal simulation PSpice Analog and mixed signal simulation You can count on PSpice for accurate circuit simulation results and regular innovations. PSpice has been tried and proven by thousands of engineers. Since the

More information

DesignWorks for Windows Hands-On Demo Guide

DesignWorks for Windows Hands-On Demo Guide DesignWorks for Windows Hands-On Demo Guide Schematic and Simulation Version 3.1.1 August 1994 406-960 Quayside Drive New Westminster, B.C., Canada, V3M 6G2 1994 Capilano Computing Systems Ltd. (604) 522-6200

More information

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015

UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering. EEC180A DIGITAL SYSTEMS I Winter 2015 UNIVERSITY OF CALIFORNIA, DAVIS Department of Electrical and Computer Engineering EEC180A DIGITAL SYSTEMS I Winter 2015 LAB 1: Introduction to Quartus II Schematic Capture and ModelSim Simulation This

More information

DAUMAR 40 Windows 95 software for labeling machines

DAUMAR 40 Windows 95 software for labeling machines DAUMAR 40 Windows 95 software for labeling machines Version 050199 1 IMPORTANT NOTICE ABOUT HOW TO INSTALL DE DAUMAR 40R 2.41 The Daumar 40 R.2.41 Version is prepared for working with Windows 95 and 98

More information

JobSite OnLine User s Guide Table of Contents

JobSite OnLine User s Guide Table of Contents JobSite OnLine User s Guide Table of Contents For the Beginner: 2 Preparing and Logging In to Run JobSite OnLine...2 How Drawings and Specs are Organized - Ease of Use...3 Searching for Files or Containers...4

More information

Cadence Tutorial A: Schematic Entry and Functional Simulation Created for the MSU VLSI program by Professor A. Mason and the AMSaC lab group.

Cadence Tutorial A: Schematic Entry and Functional Simulation Created for the MSU VLSI program by Professor A. Mason and the AMSaC lab group. Cadence Tutorial A: Schematic Entry and Functional Simulation Created for the MSU VLSI program by Professor A. Mason and the AMSaC lab group. Revision Notes: Jan. 2006 Updated for use with spectre simulator

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science. EECS 150 Spring 2000 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Science EECS 150 Spring 2000 Lab 1 Introduction to Xilinx Design Software 1 Objectives In this

More information

GETTING STARTED WITH ADS

GETTING STARTED WITH ADS ADS Startup Tutorial v2 Page 1 of 17 GETTING STARTED WITH ADS Advanced Design System (ADS) from Agilent Technologies is an extremely powerful design tool for many aspects of electrical and computer engineering

More information

2. Write Your Test Questions & Create Interactions Page 12

2. Write Your Test Questions & Create Interactions Page 12 This guide will show you how to create a computer-based test using Authorware 4.0 or higher. These instructions are for use on both Macintosh and IBM (Windows) computers. It is recommended that you purchase

More information

SCHEMATIC DESIGN IN QUARTUS

SCHEMATIC DESIGN IN QUARTUS SCHEMATIC DESIGN IN QUARTUS Consider the design of a three-bit prime number detector. Figure 1 shows the block diagram and truth table. The inputs are binary signals A, B, and C while the output is binary

More information

For the Beginner: c) Click the settings tab to set screen resolution d) Set resolution with slider bar.

For the Beginner: c) Click the settings tab to set screen resolution d) Set resolution with slider bar. For the Beginner: Preparing and Logging In to Run JobSite OnLine 1) Jobsite works best with a screen resolution of at least 800 x 600 preferably 1024 x 768. To set this, follow the instructions below.

More information

TUTORIAL SESSION Technical Group Hoda Najafi & Sunita Bhide

TUTORIAL SESSION Technical Group Hoda Najafi & Sunita Bhide TUTORIAL SESSION 2014 Technical Group Hoda Najafi & Sunita Bhide SETUP PROCEDURE Start the Altium Designer Software. (Figure 1) Ensure that the Files and Projects tabs are located somewhere on the screen.

More information

NDA ISSUE 1 STOCK # MATWorX 32 User s Guide. December, NEC America, Inc.

NDA ISSUE 1 STOCK # MATWorX 32 User s Guide. December, NEC America, Inc. NDA-24215 ISSUE 1 STOCK # 151942 MATWorX 32 User s Guide December, 1997 NEC America, Inc. LIABILITY DISCLAIMER NEC America, Inc. reserves the right to change the specifications, functions, or features,

More information

Software User's Guide

Software User's Guide Software User's Guide The contents of this guide and the specifications of this product are subject to change without notice. Brother reserves the right to make changes without notice in the specifications

More information

2008 년안산일대디지털정보통신학과 CAD 강의용자료 PADS 2007

2008 년안산일대디지털정보통신학과 CAD 강의용자료 PADS 2007 2008 년안산일대디지털정보통신학과 CAD 강의용자료 PADS 2007 1 Learning the PADS User Interface What you will learn: Modeless Commands Panning & Zooming Object Selection Methods Note: This tutorial will use PADS Layout to

More information

Quick Start Guide for Windows

Quick Start Guide for Windows for Windows The Eudora 5.1 User Manual for Windows is on the Eudora CD included in the product box. If you prefer a printed and bound copy, you can purchase one from www.eudora.com or call 1-800-2-EUDORA

More information

Work Smart: Windows 7 New Features

Work Smart: Windows 7 New Features About Windows 7 New Features The Windows 7 operating system offers several new features to help you work faster and more efficiently, and enable you to access the files, folders, programs, and applications

More information

Microsoft Visio 2016 Foundation. Microsoft Visio 2016 Foundation Level North American Edition SAMPLE

Microsoft Visio 2016 Foundation. Microsoft Visio 2016 Foundation Level North American Edition SAMPLE Microsoft Visio 2016 Foundation Microsoft Visio 2016 Foundation Level North American Edition Visio 2016 Foundation - Page 2 2015 Cheltenham Group Pty. Ltd. All trademarks acknowledged. E&OE. No part of

More information

ECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008

ECSE-323 Digital System Design. Lab #1 Using the Altera Quartus II Software Fall 2008 1 ECSE-323 Digital System Design Lab #1 Using the Altera Quartus II Software Fall 2008 2 Introduction. In this lab you will learn the basics of the Altera Quartus II FPGA design software through following

More information

Designer Reference 1

Designer Reference 1 Designer Reference 1 Table of Contents USE OF THE DESIGNER...4 KEYBOARD SHORTCUTS...5 Shortcuts...5 Keyboard Hints...5 MENUS...7 File Menu...7 Edit Menu...8 Favorites Menu...9 Document Menu...10 Item Menu...12

More information

1. Working with PSpice:

1. Working with PSpice: Applied Electronics, Southwest Texas State University, 1, 13 1. Working with PSpice: PSpice is a circuit simulator. It uses the Kirchhoff s laws and the iv-relation of the used components to calculate

More information

ENVI Classic Tutorial: Introduction to ENVI Classic 2

ENVI Classic Tutorial: Introduction to ENVI Classic 2 ENVI Classic Tutorial: Introduction to ENVI Classic Introduction to ENVI Classic 2 Files Used in This Tutorial 2 Getting Started with ENVI Classic 3 Loading a Gray Scale Image 3 ENVI Classic File Formats

More information

Tanner Analog Front End Flow. Student Workbook

Tanner Analog Front End Flow. Student Workbook Student Workbook 2016 Mentor Graphics Corporation All rights reserved. This document contains information that is trade secret and proprietary to Mentor Graphics Corporation or its licensors and is subject

More information

Cadence simulation technology for PCB design

Cadence simulation technology for PCB design DATASHEET CADENCE SIMULATION FOR PCB DESIGN On larger designs especially, PCB design teams need fast and reliable simulation to achieve convergence. Cadence simulation technology for PCB design offers

More information

Basic Concepts 1. Starting Powerpoint 2000 (Windows) For the Basics workshop, select Template. For this workshop, select Artsy

Basic Concepts 1. Starting Powerpoint 2000 (Windows) For the Basics workshop, select Template. For this workshop, select Artsy 1 Starting Powerpoint 2000 (Windows) When you create a new presentation, you re prompted to choose between: Autocontent wizard Prompts you through a series of questions about the context and content of

More information

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT

FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT FACULTY OF ENGINEERING MULTIMEDIA UNIVERSITY LAB SHEET DIGITAL INTEGRATED CIRCUIT DIC1: Schematic Design Entry, Simulation & Verification DIC2: Schematic Driven Layout Drawing (SDL) Design Rule Check (DRC)

More information

Introduction. About this tutorial. How to use this tutorial

Introduction. About this tutorial. How to use this tutorial Basic Entry & not About this tutorial This tutorial consists of an introduction to creating simple circuits on an FPGA using a variety of methods. There are two ways to create the circuit: using or by

More information

Analog IC Simulation. Mentor Graphics 2006

Analog IC Simulation. Mentor Graphics 2006 Analog IC Simulation Mentor Graphics 2006 Santa Clara University Department of Electrical Engineering Date of Last Revision: March 29, 2007 Table of Contents 1. Objective... 3 2. Basic Test Circuit Creation...

More information

Welcome to MicroStation

Welcome to MicroStation Welcome to MicroStation Module Overview This module will help a new user become familiar with the tools and features found in the MicroStation design environment. Module Prerequisites Fundamental knowledge

More information

Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics

Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics Cadence Tutorial 2: Layout, DRC/LVS and Circuit Simulation with Extracted Parasitics Introduction This tutorial describes how to generate a mask layout in the Cadence Virtuoso Layout Editor. Use of DIVA

More information

Software User s Manual

Software User s Manual 1 About the manual 2 Navigating the manual 2 3 Opening the control panel 3 Control panel overview 4 Control panel settings 5 Calibrating the interactive pen display 6 Adjusting frequency and tracking (VGA

More information

Quartus II Introduction Using Verilog Design

Quartus II Introduction Using Verilog Design Quartus II Introduction Using Verilog Design This tutorial presents an introduction to the Quartus R II CAD system. It gives a general overview of a typical CAD flow for designing circuits that are implemented

More information

FaxFinder Fax Servers

FaxFinder Fax Servers FaxFinder Fax Servers Models: FF130 FF230 FF430 FF830 Client User Guide FaxFinder Client User Guide Fax Client Software for FaxFinder Series PN S000460B, Version B Copyright This publication may not be

More information

PlanAhead Software Tutorial

PlanAhead Software Tutorial PlanAhead Software Tutorial RTL Design and IP Generation The information disclosed to you hereunder (the Information ) is provided AS-IS with no warranty of any kind, express or implied. Xilinx does not

More information

There are six main steps in creating web pages in FrontPage98:

There are six main steps in creating web pages in FrontPage98: This guide will show you how to create a basic web page using FrontPage98 software. These instructions are written for IBM (Windows) computers only. However, FrontPage is available for Macintosh users

More information

U90 Ladder Software Manual. Version 3.50, 6/03

U90 Ladder Software Manual. Version 3.50, 6/03 U90 Ladder Software Manual Version 3.50, 6/03 Table Of Contents Welcome to U90 Ladder... 1 Program Editors... 1 Project Navigation Tree...1 Browse Sequences...1 Printing Documentation...2 Interface Language...

More information

University of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17

University of Florida EEL 3701 Dr. Eric M. Schwartz Madison Emas, TA Department of Electrical & Computer Engineering Revision 1 5-Jun-17 Page 1/14 Example Problem Given the logic equation Y = A*/B + /C, implement this equation using a two input AND gate, a two input OR gate and two inverters under the Quartus environment. Upon completion

More information

Autodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies

Autodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies Autodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies Tim Varner - 2004 The Inventor User Interface Command Panel Lists the commands that are currently

More information

ClickFORMS Quickstart Tutorial

ClickFORMS Quickstart Tutorial ClickFORMS Quickstart Tutorial A ClickFORMS Tutorial 2003 by Bradford Technologies. All Rights Reserved. No part of this document may be reproduced in any form or by any means without the written permission

More information

TQPED MMIC Design Training

TQPED MMIC Design Training TQPED MMIC Design Training Outline Installation and Use of the Library AWR AWR Design Kit (PDK Process Design Kit) ICED Layout Kit Create a new document using the Library Environment Setup Hotkeys Background

More information