Optug.book Page 1 Wednesday, May 17, 2000 8:32 AM
PSpice® Optimizer
User’s Guide
Optug.book Page 2 Wednesday, May 17, 2000 8:32 AM
Copyright © 1985-2000 Cadence Design Systems, Inc. All rights reserved.
TrademarksAllegro, Ambit, BuildGates, Cadence, Cadence logo, Concept, Diva, Dracula, Gate
Ensemble, NC Verilog, OpenBook online documentation library, Orcad, Orcad
Capture, PSpice, SourceLink online customer support, SPECCTRA, Spectre, Vampire,
Verifault-XL, Verilog, Verilog-XL, and Virtuoso are registered trademarks of Cadence
Design Systems, Inc.
Affirma, Assura, Cierto, Envisia, Mercury Plus, Quickturn, Radium, Silicon Ensemble,
and SPECCTRAQuest are trademarks of Cadence Design Systems, Inc.
Alanza is a service mark of Cadence Design Systems, Inc.
All other brand and product names mentioned herein are used for identification
purposes only and are registered trademarks, trademarks, or service marks of their
respective holders.
Part Number 60-30-637
Second edition 31 May 2000
Cadence PCB Systems Division (PSD) offices
PSD main office (Portland)
(503) 671-9500
PSD Irvine office
(949) 788-6080
PSD Japan office
81-45-682-5770
PSD UK office
44-1256-381-400
PSD customer support
(877) 237-4911
PSD web site
www.orcad.com
PSD customer support web page
www.orcad.com/technical/technical.asp
PSD customer support email form
www.orcad.com/technical/email_support.asp
Cadence PCB Systems Division
13221 SW 68th Parkway, Suite 200
Portland, OR 97223
Optug.book Page iii Wednesday, May 17, 2000 8:32 AM
ContentsBefore you begin 13
Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
How to use this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Symbols and conventions . . . . . . . . . . . . . . . . . . . . . . . . . 14
Related documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Chapter 1Things you need to know 17Chapter overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
What is the PSpice Optimizer? . . . . . . . . . . . . . . . . . . . . . . . . . 18
Designs that you can optimize . . . . . . . . . . . . . . . . . . . . . . . 19
Designs that you cannot optimize . . . . . . . . . . . . . . . . . . . . . 19
Using the PSpice Optimizer with other Orcad programs . . . . . . . . . . 20
Terms you need to understand . . . . . . . . . . . . . . . . . . . . . . . . . 21
Chapter 2Primer: How to optimize a design 29Chapter overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Optimizing a diode biasing circuit—the objective . . . . . . . . . . . . . . 31
Why use optimization? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Phase One: Developing the design . . . . . . . . . . . . . . . . . . . . . . . 33
The PSpice optimizer advantage . . . . . . . . . . . . . . . . . . . . . . 34
Phase Two: Setting up the optimization . . . . . . . . . . . . . . . . . . . . 35
Defining design parameters . . . . . . . . . . . . . . . . . . . . . . . . 36
Setting up goals and constraints . . . . . . . . . . . . . . . . . . . . . . 37
Setting up analyses for each goal and constraint . . . . . . . . . . 37
Developing performance measures . . . . . . . . . . . . . . . . . . 38
Defining specifications: goals and constraints . . . . . . . . . . . . 39
Phase Three: Running an optimization . . . . . . . . . . . . . . . . . . . . 40
Running the PSpice Optimizer . . . . . . . . . . . . . . . . . . . . . . . 41
Adding a constraint and rerunning the PSpice Optimizer . . . . . . . 43
Changing the constraint and rerunning the PSpice Optimizer . . . . . 46
Using standard component values . . . . . . . . . . . . . . . . . . . . 47
Optug.book Page iv Wednesday, May 17, 2000 8:32 AM
Contents
Producing reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Saving results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Updating the schematic . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Chapter 3Using the PSpice Optimizer 51Chapter overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Starting and loading the PSpice Optimizer . . . . . . . . . . . . . . . . . 52
Starting the PSpice Optimizer . . . . . . . . . . . . . . . . . . . . . . 52
From Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
From the Windows Start menu . . . . . . . . . . . . . . . . . . . 53
Changing startup options . . . . . . . . . . . . . . . . . . . . . . . . . 53
Loading a different optimization file . . . . . . . . . . . . . . . . . . 54
The PSpice Optimizer Window . . . . . . . . . . . . . . . . . . . . . . . . 55
Specifications area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Internal specifications . . . . . . . . . . . . . . . . . . . . . . . . . 56
External specifications . . . . . . . . . . . . . . . . . . . . . . . . 57
Parameters area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Error gauge area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Adding and editing parameters . . . . . . . . . . . . . . . . . . . . . . . 60
Adding a parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Selecting a parameter to edit . . . . . . . . . . . . . . . . . . . . . . . 62
Adding and editing specifications . . . . . . . . . . . . . . . . . . . . . . 63
Adding a specification . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Defining an evaluation for an external specification . . . . . . . . . . 67
Selecting a specification to edit . . . . . . . . . . . . . . . . . . . . . . 68
Measuring and Optimizing Performance . . . . . . . . . . . . . . . . . . 68
Optimizing Your Design . . . . . . . . . . . . . . . . . . . . . . . . . 68
Graphically monitoring progress . . . . . . . . . . . . . . . . . . . . 70
Exploring the effect of parameter and specification changes . . . . . . . 71
Testing performance when changing current values . . . . . . . . . 71
Automatically recalculating performance . . . . . . . . . . . . . 72
Manually recalculating performance . . . . . . . . . . . . . . . . 73
Ensuring reliable results when tweaking values . . . . . . . . . . 74
Excluding parameters and specifications from optimization . . . . . 75
Testing performance when adding or changing parameters or specifications
75
Saving intermediate values . . . . . . . . . . . . . . . . . . . . . . . . 76
Viewing result summaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Producing optimization reports . . . . . . . . . . . . . . . . . . . . . 76
Viewing the optimization log . . . . . . . . . . . . . . . . . . . . . . . 78
Viewing derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
iv
Optug.book Page v Wednesday, May 17, 2000 8:32 AM
Contents
Finalizing the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Using standard part values . . . . . . . . . . . . . . . . . . . . . . . . . 79
Saving results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Updating the design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Chapter 4Understanding optimization principles and options 83Chapter overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Goals versus constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Constrained optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Types of constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Feasible and infeasible points . . . . . . . . . . . . . . . . . . . . . . . 87
Active and inactive constraints . . . . . . . . . . . . . . . . . . . . . . 88
Lagrange multipliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Characteristics of functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Global and local minima . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Starting points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Parameter bounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
How the PSpice Optimizer estimates derivatives . . . . . . . . . . . . 93
Limitations of derivative data . . . . . . . . . . . . . . . . . . . . . . . 94
Target value scaling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Default options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Controlling finite differencing when calculating
derivatives (Delta option) . . . . . . . . . . . . . . . . . . . . . 96
Limiting simulation iterations (Max. Iterations option) . . . . . . . . . 97
Specifying a waveform display (Waveform Data File and Display options)
98
Advanced options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Controlling cutback (Cutback option) . . . . . . . . . . . . . . . . . . . 99
Controlling parameter value changes between
iterations (Threshold option) . . . . . . . . . . . . . . . . . . . 99
Choosing an optimization method for single goal
problems (Least Squares/Minimization options) . . . . . . . 101
Chapter 5Tutorial: Optimizing a design (passive terminator) 103Tutorial overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
The passive terminator design . . . . . . . . . . . . . . . . . . . . . . . . 104
Loading the design into Capture . . . . . . . . . . . . . . . . . . . . . . . 105
Setting part values to expressions . . . . . . . . . . . . . . . . . . . . . . 106
Defining optimization parameters . . . . . . . . . . . . . . . . . . . . . . 107
v
Optug.book Page vi Wednesday, May 17, 2000 8:32 AM
Contents
Defining the analysis type . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Running an initial circuit analysis . . . . . . . . . . . . . . . . . . . . . . 108
Starting the PSpice Optimizer . . . . . . . . . . . . . . . . . . . . . . . . . 109
Viewing the parameter description . . . . . . . . . . . . . . . . . . . . . 110
Defining the goals and constraints . . . . . . . . . . . . . . . . . . . . . . 111
Checking that the design will simulate . . . . . . . . . . . . . . . . . . . 113
Starting the optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Changing a goal to a constraint . . . . . . . . . . . . . . . . . . . . . . . . 115
Saving results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Chapter 6Tutorial: Exploring design tradeoffs (active filter) 117Tutorial overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
The active filter design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
The parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
The goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Testing performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Calculating derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Tweaking parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Tweaking goals and constraints . . . . . . . . . . . . . . . . . . . . . 124
Completing optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Chapter 7Tutorial: Using constrained optimization (MOS amplifier) 127Tutorial overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
The CMOS amplifier design . . . . . . . . . . . . . . . . . . . . . . . . . . 128
The parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
The evaluations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
The goals and constraints . . . . . . . . . . . . . . . . . . . . . . . . . 132
Setting the method for a
single-goal optimization . . . . . . . . . . . . . . . . . . . . . . . 133
Performing the optimization . . . . . . . . . . . . . . . . . . . . . . . . . 134
Chapter 8Tutorial: Fitting model data (bipolar transistor) 137Tutorial overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Using the PSpice Optimizer to fit data to model parameters . . . . . . . 138
The bipolar transistor test case . . . . . . . . . . . . . . . . . . . . . . . . 139
The parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
The analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
The external file of measured data . . . . . . . . . . . . . . . . . . . . 141
The goals and constraints . . . . . . . . . . . . . . . . . . . . . . . . . 142
Monitoring progress with PSpice A/D . . . . . . . . . . . . . . . . . . . 144
Fitting the data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
vi
Optug.book Page vii Wednesday, May 17, 2000 8:32 AM
Contents
Appendix AError messages 149Appendix overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Error message descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Appendix BFile types used by the PSpice Optimizer 155Appendix overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
File and program relationships . . . . . . . . . . . . . . . . . . . . . . . . 156
Measuring performance using information in the circuit file and .PRB file
157
Defining specification criteria in the external data file . . . . . . . . 158
File type summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Appendix COptimizing a netlist-based design 161Appendix overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Optimizing without a schematic . . . . . . . . . . . . . . . . . . . . . . . 162
Setting up the circuit file . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Setting up and running the PSpice Optimizer . . . . . . . . . . . . . . . 164
Example: Parameterizing the circuit file . . . . . . . . . . . . . . . . . . 166
Index 167vii
Optug.book Page viii Wednesday, May 17, 2000 8:32 AM
Contents
viii
Optug.book Page ix Wednesday, May 17, 2000 8:32 AM
FiguresFigure 1
Optimization design flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 2
Diode biasing design example. . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 3
Design flow for developing the design. . . . . . . . . . . . . . . . . . . . . 33
Figure 4
Design flow for setting up the optimization. . . . . . . . . . . . . . . . . . 35
Figure 5
Design flow for running an optimization. . . . . . . . . . . . . . . . . . . 40
Figure 6
PSpice Optimizer automatic optimization process. . . . . . . . . . . . . . 42
Figure 7
Optimization results for the diode design example. . . . . . . . . . . . . . 43
Figure 8
Results after adding the power constraint. . . . . . . . . . . . . . . . . . . 45
Figure 9
Results after changing the constraint type. . . . . . . . . . . . . . . . . . . 47
Figure 10
Report summary for the diode optimization. . . . . . . . . . . . . . . . . . 48
Figure 11
Updated diode schematic. . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 12
The PSpice Optimizer window. . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 13
Example of a specification box. . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 14
Example of a parameter box. . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 15
Sample format for an external specification. . . . . . . . . . . . . . . . . . 65
Figure 16
Sample excerpt from a report. . . . . . . . . . . . . . . . . . . . . . . . . . 77
Figure 17
Sample excerpt from a Log file. . . . . . . . . . . . . . . . . . . . . . . . . 78
Figure 18
Sample derivative data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Figure 19
Resistive terminator circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Figure 20
Global and local minima of a function. . . . . . . . . . . . . . . . . . . . . 90
Figure 21
Hypothetical function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Figure 22
Hypothetical data glitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Figure 23
Resistive terminator circuit. . . . . . . . . . . . . . . . . . . . . . . . . . 104
Figure 24
Schematic for the terminator Example, TERM.DSN. . . . . . . . . . . . . 105
Figure 25
Optimization results for the passive terminator example. . . . . . . . . 114
Figure 26
Schematic for the active filter example, BPF.DSN. . . . . . . . . . . . . . 119
Figure 27
Optimized values for the active filter example. . . . . . . . . . . . . . . 125
Figure 28
Schematic for CMOS amplifier example, M2.DSN. . . . . . . . . . . . . 128
Figure 29
Updated performance values for the amplifier example. . . . . . . . . . 134
Figure 30
Optimized values for the amplifier example. . . . . . . . . . . . . . . . . 135
Figure 31
Schematic for the BJT model fitting example. . . . . . . . . . . . . . . . . 139
Figure 32
Initial traces for the Ic and Ib parameters. . . . . . . . . . . . . . . . . . . 145
Optug.book Page x Wednesday, May 17, 2000 8:32 AM
Figures
Figure 33
Optimization results for the BJT model fitting example. . . . . . . . . . . 147
Figure 34
PSpice A/D display after optimization is complete. . . . . . . . . . . . . 147
Figure 35
Sample external data file. . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
x
Document Outline
- Contents
- Figures
- Tables
- Before you begin
- Welcome
- How to use this guide
- Symbols and conventions
- Related documentation
- Things you need to know
- Chapter overview
- What is the PSpice Optimizer?
- Designs that you can optimize
- Designs that you cannot optimize
- Using the PSpice Optimizer with other Orcad programs
- Terms you need to understand
- Primer: How to optimize a design
- Chapter overview
- Optimizing a diode biasing circuitthe objective
- Why use optimization?
- Phase One: Developing the design
- The PSpice optimizer advantage
- Phase Two: Setting up the optimization
- Defining design parameters
- Setting up goals and constraints
- Phase Three: Running an optimization
- Running the PSpice Optimizer
- Adding a constraint and rerunning the PSpice Optimizer
- Changing the constraint and rerunning the PSpice Optimizer
- Using standard component values
- Producing reports
- Saving results
- Updating the schematic
- Using the PSpice Optimizer
- Chapter overview
- Starting and loading the PSpice Optimizer
- Starting the PSpice Optimizer
- Changing startup options
- Loading a different optimization file
- The PSpice Optimizer Window
- Specifications area
- Parameters area
- Error gauge area
- Adding and editing parameters
- Adding a parameter
- Selecting a parameter to edit
- Adding and editing specifications
- Adding a specification
- Defining an evaluation for an external specification
- Selecting a specification to edit
- Measuring and Optimizing Performance
- Optimizing Your Design
- Graphically monitoring progress
- Exploring the effect of parameter and specification changes
- Testing performance when changing current values
- Excluding parameters and specifications from optimization
- Testing performance when adding or changing parameters or specifications
- Saving intermediate values
- Viewing result summaries
- Producing optimization reports
- Viewing the optimization log
- Viewing derivatives
- Finalizing the design
- Using standard part values
- Saving results
- Updating the design
- Understanding optimization principles and options
- Chapter overview
- Goals versus constraints
- Constrained optimization
- Types of constraints
- Feasible and infeasible points
- Active and inactive constraints
- Lagrange multipliers
- Characteristics of functions
- Global and local minima
- Starting points
- Convergence
- Parameter bounds
- Derivatives
- How the PSpice Optimizer estimates derivatives
- Limitations of derivative data
- Target value scaling
- Default options
- Controlling finite differencing when calculating derivatives (Delta option)
- Limiting simulation iterations (Max. Iterations option)
- Specifying a waveform display (Waveform Data File and Display options)
- Advanced options
- Controlling cutback (Cutback option)
- Controlling parameter value changes between iterations (Threshold option)
- Choosing an optimization method for single goal problems (Least Squares/Minimization options)
- Tutorial: Optimizing a design (passive terminator)
- Tutorial overview
- The passive terminator design
- Loading the design into Capture
- Setting part values to expressions
- Defining optimization parameters
- Defining the analysis type
- Running an initial circuit analysis
- Starting the PSpice Optimizer
- Viewing the parameter description
- Defining the goals and constraints
- Checking that the design will simulate
- Starting the optimization
- Changing a goal to a constraint
- Saving results
- Tutorial: Exploring design tradeoffs (active filter)
- Tutorial overview
- The active filter design
- Testing performance
- Calculating derivatives
- Tweaking parameters
- Tweaking goals and constraints
- Completing optimization
- Tutorial: Using constrained optimization (MOS amplifier)
- Tutorial overview
- The CMOS amplifier design
- The parameters
- The evaluations
- The goals and constraints
- Setting the method for a single-goal optimization
- Performing the optimization
- Tutorial: Fitting model data (bipolar transistor)
- Tutorial overview
- Using the PSpice Optimizer to fit data to model parameters
- The bipolar transistor test case
- The parameters
- The analysis
- The external file of measured data
- The goals and constraints
- Monitoring progress with PSpiceA/D
- Fitting the data
- Error messages
- Appendix overview
- Error message descriptions
- File types used by the PSpice Optimizer
- Appendix overview
- File and program relationships
- Measuring performance using information in the circuit file and .PRB file
- Defining specification criteria in the external data file
- File type summary
- Optimizing a netlist-based design
- Appendix overview
- Optimizing without a schematic
- Setting up the circuit file
- Setting up and running the PSpice Optimizer
- Example: Parameterizing the circuit file
- Index
Add New Comment