Table Of ContentVirtuoso® Analog Design Environment
User Guide
Product Version 5.1.41
September 2006
1999-2006 Cadence Design Systems, Inc. All rights reserved.
Printed in the United States of America.
Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA
Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in
this document are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’s
trademarks, contact the corporate legal department at the address shown above or call 1-800-862-4522.
All other trademarks are the property of their respective holders.
RestrictedPrintPermission:Thispublicationisprotectedbycopyrightandanyunauthorizeduseofthis
publication may violate copyright, trademark, and other laws. Except as specified in this permission
statement, this publication may not be copied, reproduced, modified, published, uploaded, posted,
transmitted,ordistributedinanyway,withoutpriorwrittenpermissionfromCadence.Thisstatementgrants
you permission to print one (1) hard copy of this publication subject to the following conditions:
1. The publication may be used solely for personal, informational, and noncommercial purposes;
2. The publication may not be modified in any way;
3. Anycopyofthepublicationorportionthereofmustincludealloriginalcopyright,trademark,andother
proprietary notices and this permission statement; and
4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be
discontinued immediately upon written notice from Cadence.
Disclaimer: Information in this publication is subject to change without notice and does not represent a
commitment on the part of Cadence. The information contained herein is the proprietary and confidential
information of Cadence or its licensors, and is supplied subject to, and may be used only by Cadence’s
customer in accordance with, a written agreement between Cadence and its customer. Except as may be
explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any
representationsorwarrantiesastothecompleteness,accuracyorusefulnessoftheinformationcontained
in this document. Cadence does not warrant that use of such information will not infringe any third party
rights,nordoesCadenceassumeanyliabilityfordamagesorcostsofanykindthatmayresultfromuseof
such information.
RestrictedRights:Use,duplication,ordisclosurebytheGovernmentissubjecttorestrictionsassetforth
in FAR52.227-14 and DFAR252.227-7013 et seq. or its successor.
Virtuoso Analog Design Environment User Guide
Contents
Preface
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Typographic and Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
SKILL Syntax Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Form Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1
Features of the Virtuoso® Analog Design Environment
. . . . . 27
Consistent User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Analog Design Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Simulators Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Interactive Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Simulation Output and Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Advanced Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2
Environment Setup
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
About the Simulation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Displaying the Simulation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Choosing the Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Choosing a Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Setting the Simulation Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Setting the Model Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Choosing a User Interface Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Using the Simulation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Using the Schematic Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Simulator Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Spectre Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
September 2006 3 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide
Virtuoso UltraSim Simulator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Virtuoso AMS Simulator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Mixed-Signal Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Hspice Direct Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
HSPICE Socket Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Cadence SPICE Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Setting Up Simulation Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Setting Simulation Environment Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Setting Simulation Environment Options for Direct Simulation . . . . . . . . . . . . . . . . . . 56
Setting Environment Options for AMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Setting Simulation Environment Options for Socket Simulation . . . . . . . . . . . . . . . . . 73
Setting Up a Remote Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Using a Third-Party Simulator for Remote Simulations . . . . . . . . . . . . . . . . . . . . . . . 76
Scripts for Using Third-Party Simulators in Remote Simulations . . . . . . . . . . . . . . . . 76
About the Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Saving and Restoring the Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Saving a Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Resetting the Default Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Setting Basic Session Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Netlisting Control Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Customizing Your .cdsinit File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Customizing Your .cdsenv File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Customizing Your Menus File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Setting UNIX Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Reserved Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Reserved Words in Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Reserved Words in Socket Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
What Are Bindkeys? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Checking Bindkey Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Assigning Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Using the Key or Mouse Binding Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Using the CIW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Using Your .cdsinit File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Form Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Choosing Simulator/Directory/Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Create New File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
September 2006 4 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide
Setting Model Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Model Library Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Environment Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Saving State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Loading State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Editing Session Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3
Design Variables and Simulation Files for Direct Simulation
. .
107
About Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Important Benefits of Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Using Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Important Use-Model Differences between spectreS and spectre . . . . . . . . . . . . . . . . 110
Migration from spectreS to spectre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Design Variables and Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Setting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Adding a New Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Changing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Deleting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Saving Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Restoring Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Copying Values between the Schematic and the Simulation Environment . . . . . . . 114
Displaying Values on the Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Adding Setup Files for Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Using a Definitions File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Definition File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Stimuli Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Using the Setup Analog Stimuli Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Specifying a Stimulus File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Example of a spectre Stimulus File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Model Files in the Virtuoso® Analog Design Environment . . . . . . . . . . . . . . . . . . . . . . 123
Model File Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Referencing Textual Subcircuits or Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
September 2006 5 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide
Updating the Component CDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Creating a Stopping Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Using the Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Including the Subcircuit File in the Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Scope of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Inheriting from the Same Instance: iPar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Passed Parameter Value of One Level Higher: pPar() . . . . . . . . . . . . . . . . . . . . . . . 127
Passed Parameters from Any Higher Level: atPar() . . . . . . . . . . . . . . . . . . . . . . . . . 128
Inheriting from the Instance Being Netlisted: dotPar() . . . . . . . . . . . . . . . . . . . . . . . 128
Table of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Nesting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Using Inheritance Functions in Input Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
How the Netlister Expands Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Netlisting Sample for Spectre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Modifying View Lists and Stop Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
About Netlists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
The .simrc File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Incremental Netlisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Creating and Displaying a Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Form Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Setup Analog Stimuli Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Editing Design Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4
Design Variables and Simulation Files for Socket Simulation
.
139
Schematic Variables and Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Setting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Adding a New Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Changing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Deleting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Saving Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Restoring Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Copying Values between the Schematic and the Simulation Environment . . . . . . . 143
Displaying Values on the Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
September 2006 6 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide
Adding Analysis Commands to Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Using an Init File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Example Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Init Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Using an Update File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Update Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Setting Spectre Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
Options Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Making Init or Update Files Compatible with Other Simulators . . . . . . . . . . . . . . . . 148
Stimuli Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
The Analog Stimuli Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Creating a Stimulus File Using a Text Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
Managing Edited Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Path Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Setup Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Examples of Edited Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Model Files in Socket Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Editing Model Files in the Models Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Using Model Files in Native Syntax In Socket Simulations . . . . . . . . . . . . . . . . . . . . 161
About Subcircuits and Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
How Subcircuits Are Named . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Creating the Component CDF and a Stopping Cellview . . . . . . . . . . . . . . . . . . . . . 164
Including the Subcircuit File in the Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
HSPICE CDF Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Scope of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Inheriting from the Same Instance: iPar() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Passed Parameter Value from the Parent Instance: pPar() . . . . . . . . . . . . . . . . . . . 168
Inheriting from the Current or Any Higher Level: atPar() . . . . . . . . . . . . . . . . . . . . . 170
Inheriting from the Instance being Netlisted: dotPar() . . . . . . . . . . . . . . . . . . . . . . . 171
Table of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Determining the Current Instance in Expression Evaluation . . . . . . . . . . . . . . . . . . 171
Nesting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
How the Netlister Expands Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Netlisting Sample for SpectreS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Modifying View Lists and Stop View Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
September 2006 7 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide
Using Instance-Based View Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Setting Up View List and Stop List Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Assigning Properties to Instances in the Schematic . . . . . . . . . . . . . . . . . . . . . . . . 178
About Netlists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Incremental Netlisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Creating and Displaying a Raw Netlist for Socket Simulations . . . . . . . . . . . . . . . . . 180
Creating and Displaying a Final Netlist for Socket Simulations . . . . . . . . . . . . . . . . 180
Form Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Setup Analog Stimuli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Editing Design Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
5
Setting Up for an Analysis
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Required Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Setting Up with Different Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Deleting an Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Enabling or Disabling an Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Saving the Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Restoring a Saved Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Packing a Design in AMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Setting Up a Spectre Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Transient Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
DC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
AC Small-Signal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Noise Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
S-Parameter Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Transfer Function Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
DC Mismatch Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Stability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
Pole Zero Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Other Spectre Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Setting Up an UltraSim Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Fast Envelope Analysis for RF Circuit Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Running Advanced Analysis UltraSim Simulations . . . . . . . . . . . . . . . . . . . . . . . . . 239
September 2006 8 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide
Setting Up an AMS Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
Setting Up a SpectreS Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Transient Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
AC Small-Signal or S-Parameter Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
DC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Transfer Function Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Noise Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Current Probing For SpectreS Macro Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Setting Up a Cadence SPICE Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
AC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Transient Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
DC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Noise Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
6
Selecting Data to Save, Plot, or March
. . . . . . . . . . . . . . . . . . . . . . . 275
About the Saved, Plotted, and Marched Sets of Outputs . . . . . . . . . . . . . . . . . . . . . . . 275
Opening the Setting Outputs Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Deciding which Outputs to Save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Saving All Voltages or Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Saving Outputs for UltraSim Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Saving Selected Voltages or Currents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Adding a Node or Terminal to a Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Adding a Saved Node to the Plot or March Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Removing Nodes and Terminals from a Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Saving a List of Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Restoring a Saved List of Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Conditional Search for Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Form Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Circuit Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Setting Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Save Options and Keep Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
September 2006 9 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide
7
Running a Simulation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Prerequisites to Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Setting Simulator Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Spectre Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
UltraSim Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
AMS Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
SpectreS Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
HSPICE Socket Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Cadence SPICE Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
OSS-based AMS Netlister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Important Benefits of OSS-based AMS Netlister . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
Choosing the Netlister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Selecting the Netlister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Starting a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Starting a Socket Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Interrupting or Stopping a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Continuing a Cadence SPICE Transient Simulation . . . . . . . . . . . . . . . . . . . . . . . . . 334
Updating Variables and Resimulating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Saving Simulator Option Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Restoring Saved Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Viewing the Simulation Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Viewing the Output Log for AMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
Viewing the Error Explanation for AMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Using the SimVision Debugger with AMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Display Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Default Digital Discipline Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Entering Simulator Commands in the Type-In Window . . . . . . . . . . . . . . . . . . . . . . . . . 352
Running a Parametric Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Setting Up and Running Statistical Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Device Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Editing Asserts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Setting Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Violations Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
September 2006 10 Product Version 5.1.41
Description:The Virtuoso® AMS Environment User Guide. ❑. The Virtuoso® Mixed-Signal Circuit Design Environment User Guide. ❑. The Cadence Verilog-AMS Language Reference. ❑. The Cadence Hierarchy Editor User Guide. ❑. The Cadence Application Infrastructure User Guide. ❑. The NC Verilog Simulator