logo资料库

Virtuoso Analog Design Environment User Guide.pdf

第1页 / 共724页
第2页 / 共724页
第3页 / 共724页
第4页 / 共724页
第5页 / 共724页
第6页 / 共724页
第7页 / 共724页
第8页 / 共724页
资料共724页,剩余部分请下载后查看
Contents
Preface
Related Documents
Typographic and Syntax Conventions
SKILL Syntax Examples
Form Examples
Features of the Virtuoso® Analog Design Environment
Consistent User Interface
Analog Design Entry
Design Hierarchy
Simulators Supported
Annotation
Interactive Simulation
Simulation Output and Analysis
Advanced Analysis
Environment Setup
About the Simulation Window
Displaying the Simulation Window
Choosing the Design
Choosing a Simulator
Setting the Simulation Temperature
Setting the Model Path
Choosing a User Interface Path
Using the Simulation Window
Using the Schematic Window
Simulator Interfaces
Spectre Simulator
Virtuoso UltraSim Simulator Interface
Virtuoso AMS Simulator Interface
Mixed-Signal Simulators
Hspice Direct Interface
HSPICE Socket Interface
Cadence SPICE Simulator
Setting Up Simulation Files
Setting Simulation Environment Options
Setting Simulation Environment Options for Direct Simulation
Setting Environment Options for AMS
Setting Simulation Environment Options for Socket Simulation
Setting Up a Remote Simulation
Using a Third-Party Simulator for Remote Simulations
Scripts for Using Third-Party Simulators in Remote Simulations
About the Simulation Environment
Saving and Restoring the Simulation Setup
Saving a Script
Resetting the Default Environment
Setting Basic Session Defaults
Netlisting Control Variables
Customizing Your .cdsinit File
Customizing Your .cdsenv File
Customizing Your Menus File
Setting UNIX Environment Variables
Reserved Words
Reserved Words in Direct Simulation
Reserved Words in Socket Simulations
What Are Bindkeys?
Checking Bindkey Assignments
Assigning Bindkeys
Using the Key or Mouse Binding Form
Using the CIW
Using Your .cdsinit File
Form Field Descriptions
Choosing Simulator/Directory/Host
Create New File
Setting Model Path
Model Library Setup
Environment Options
Saving State
Loading State
Editing Session Options
Design Variables and Simulation Files for Direct Simulation
About Direct Simulation
Important Benefits of Direct Simulation
Using Direct Simulation
Important Use-Model Differences between spectreS and spectre
Migration from spectreS to spectre
Design Variables and Simulation
Setting Values
Adding a New Variable
Changing Values
Deleting Values
Saving Variable Values
Restoring Variable Values
Copying Values between the Schematic and the Simulation Environment
Displaying Values on the Schematic
Adding Setup Files for Direct Simulation
Using a Definitions File
Syntax
Definition File Example
Stimuli Setup
Using the Setup Analog Stimuli Form
Specifying a Stimulus File
Example of a spectre Stimulus File
Model Files in the Virtuoso® Analog Design Environment
Model File Libraries
Referencing Textual Subcircuits or Models
Updating the Component CDF
Creating a Stopping Cellview
Using the Component
Including the Subcircuit File in the Netlist
Scope of Parameters
Inheriting from the Same Instance: iPar()
Passed Parameter Value of One Level Higher: pPar()
Passed Parameters from Any Higher Level: atPar()
Inheriting from the Instance Being Netlisted: dotPar()
Table of Functions
Nesting Functions
Using Inheritance Functions in Input Files
How the Netlister Expands Hierarchy
Netlisting Sample for Spectre
Modifying View Lists and Stop Lists
About Netlists
The .simrc File
Incremental Netlisting
Creating and Displaying a Netlist
Form Field Descriptions
Setup Analog Stimuli Form
Editing Design Variables
Design Variables and Simulation Files for Socket Simulation
Schematic Variables and Simulation
Setting Values
Adding a New Variable
Changing Values
Deleting Values
Saving Variable Values
Restoring Variable Values
Copying Values between the Schematic and the Simulation Environment
Displaying Values on the Schematic
Adding Analysis Commands to Netlist
Using an Init File
Syntax
Example Functions
Init Example
Using an Update File
Update Examples
Setting Spectre Options
Options Examples
Making Init or Update Files Compatible with Other Simulators
Stimuli Setup
The Analog Stimuli Form
Creating a Stimulus File Using a Text Editor
Managing Edited Files
Path Specification
Setup Considerations
Examples of Edited Files
Model Files in Socket Simulations
Editing Model Files in the Models Directory
Using Model Files in Native Syntax In Socket Simulations
About Subcircuits and Macros
How Subcircuits Are Named
Creating the Component CDF and a Stopping Cellview
Including the Subcircuit File in the Netlist
HSPICE CDF Examples
Scope of Parameters
Inheriting from the Same Instance: iPar()
Passed Parameter Value from the Parent Instance: pPar()
Inheriting from the Current or Any Higher Level: atPar()
Inheriting from the Instance being Netlisted: dotPar()
Table of Functions
Determining the Current Instance in Expression Evaluation
Nesting Functions
How the Netlister Expands Hierarchy
Netlisting Sample for SpectreS
Modifying View Lists and Stop View Lists
Using Instance-Based View Switching
Setting Up View List and Stop List Tables
Assigning Properties to Instances in the Schematic
About Netlists
Incremental Netlisting
Creating and Displaying a Raw Netlist for Socket Simulations
Creating and Displaying a Final Netlist for Socket Simulations
Form Field Descriptions
Setup Analog Stimuli
Editing Design Variables
Setting Up for an Analysis
Required Symbol
Setting Up with Different Simulators
Deleting an Analysis
Enabling or Disabling an Analysis
Saving the Analysis Setup
Restoring a Saved Analysis Setup
Packing a Design in AMS
Setting Up a Spectre Analysis
Transient Analysis
DC Analysis
AC Small-Signal Analysis
Noise Analysis
S-Parameter Analysis
Transfer Function Analysis
Sensitivity Analysis
DC Mismatch Analysis
Stability Analysis
Pole Zero Analysis
Other Spectre Analyses
Setting Up an UltraSim Analysis
Fast Envelope Analysis for RF Circuit Simulation
Running Advanced Analysis UltraSim Simulations
Setting Up an AMS Analysis
Setting Up a SpectreS Analysis
Transient Analysis
AC Small-Signal or S-Parameter Analysis
DC Analysis
Transfer Function Analysis
Noise Analysis
Current Probing For SpectreS Macro Models
Setting Up a Cadence SPICE Analysis
AC Analysis
Transient Analysis
DC Analysis
Noise Analysis
Selecting Data to Save, Plot, or March
About the Saved, Plotted, and Marched Sets of Outputs
Opening the Setting Outputs Form
Deciding which Outputs to Save
Saving All Voltages or Currents
Saving Outputs for UltraSim Simulations
Saving Selected Voltages or Currents
Saving or Plotting Selected Voltages or Currents for AMS Simulation
Adding a Node or Terminal to a Set
Adding a Saved Node to the Plot or March Set
Removing Nodes and Terminals from a Set
Saving a List of Outputs
Restoring a Saved List of Outputs
Conditional Search for Results
Form Field Descriptions
Circuit Conditions
Setting Outputs
Save Options and Keep Options
Running a Simulation
Prerequisites to Simulation
Setting Simulator Options
Spectre Options
UltraSim Options
AMS Options
SpectreS Options
HSPICE Socket Options
Cadence SPICE Options
OSS-based AMS Netlister
Important Benefits of OSS-based AMS Netlister
Choosing the AMS Netlister
Selecting the AMS Netlister
Starting a Simulation
Starting a Socket Simulation
Interrupting or Stopping a Simulation
Continuing a Cadence SPICE Transient Simulation
Updating Variables and Resimulating
Saving Simulator Option Settings
Restoring Saved Settings
Viewing the Simulation Output
Viewing the Output Log for AMS
Viewing the Error Explanation for AMS
Using the SimVision Debugger with AMS
Display Partition
Default Digital Discipline Selection
Entering Simulator Commands in the TypeIn Window
Running a Parametric Analysis
Setting Up and Running Statistical Analyses
Device Checking
Editing Asserts
Setting Options
Violations Display
Helping a Simulation to Converge
Commands for Forcing Convergence
Node Set
Initial Conditions
Force Node
Selecting Nodes and Setting Their Values
Releasing Voltages
Changing Voltages
Saving and Restoring Node Voltages
Highlighting Set Nodes
Storing a Solution
Restoring a Solution for Spectre
Restoring a Solution for cdsSpice
Form Field Descriptions
Store/Restore File
Analysis Tools
About Parametric Analysis
Sweeps on Multiple Variables
Overview of Analysis Specification
Getting Started with Parametric Analysis
Specifying Sweep Variables
Specifying Ranges
Storing Specifications
Viewing Specifications
Specifying Step Values and Types
Parametric Set Sweep
Running a Parametric Analysis
Run-Time Modifications
Starting the Run
Interrupt and Restart
Closing the Window
Statistical Analysis
Using the Optimizer
Corners Analysis
UltraSim Power Network Solver
UltraSim Interactive Simulation Debugging
Form Field Descriptions
Parametric Analysis
Plotting and Printing
Selecting the Waveform Tool
Overview of Plotting
Plot Selector
Setting Plotting and Display Options
Saving and Restoring the Window Setup
Using the Plot Outputs Commands
Plotting the Current or Restored Results
Removing Nodes and Terminals from the Plot List
Plotting Parasitic Simulation Results
Using the Direct Plot Commands
For Noise Figures
For Transfer Functions
For S-Parameters
Using the Direct Plot Main Form
For DC
For Transient Results
For Stability Results
For Pole Zero Results
Overview of Printing
Printing Results
Saving State
Loading State
Updating Results
Making a Window Active
Editing Expressions
Setting Display Options
Displaying Output Information
Specifying Results to Print
Printing DC Operating Points
Printing Transient Operating Points
Printing Model Parameters of Components
Printing Noise Parameters of Nodes or Components
Printing DC Mismatch Summary
Printing Stability Summary
Printing DC Node Voltages
Printing Transient Voltages
Printing Sensitivities
Precision Control for Printing
Printing Capacitance Data
Printing Statistical Reports or Calculator Results
Using SKILL to Display Tabular Data
Overview of Plotting Calculator Expressions
Defining Expressions
Plotting Expressions
Suppressing Plotting of an Expression
Annotating Simulation Results
Saving Simulation Results
Deleting Simulation Results
Browsing Results Directories
Restoring Saved Results
Annotating Transient Voltages
Annotating Transient Operating Points
Specifying the Data Directory for Labels
Saving and Removing Annotated Labels
Highlighting Logic Levels with Wire Colors
Plotting Results of a Parametric Analysis
Form Field Descriptions
Setting Plotting Options
XF Results
S-Parameter Results
Annotate Voltage Levels
Setting Outputs
Noise Summary
Save Results
Select Results
Delete Results
UNIX Browser
Hspice Direct Support
Introduction
Libraries
Features
Model Libraries
Distributed Processing Support
Running Analyses
Analog Options
Output Log
Convergence Aids
Results
Advanced Analysis Tools Support
Converting Libraries
UltraSimVerilog
Interface Element Macro Models
Inline Subcircuit
Interface Element Selection Rules
Simulation Accuracy and Performance
Analog-to-Digital (A2D) Models
Digital-to-Analog (D2A) Models
Analog-to-Analog-In (A2AI) Models
Analog-to-Analog-Out (A2AO) Models
Model Description
Netlisting Options
Verilog Netlisting Options
Hierarchical Netlisting
Running a Mixed Signal Simulation
Setting Simulator Options
Input Stimulus for HNL
Setting Design Variables
Choosing Analyses
Running the Simulation
Control and Debugging
Viewing and Analyzing Simulation Output
Environment Variables
ADE Simulation Environment
filteredSimList
saveDir
designEditMode
schematicBased
windowBased
saveAsCellview
saveQuery
loadCorners
x
y
simulator
projectDir
hostMode
host
digitalHostMode
digitalHost
remoteDir
autoPlot
artistPlottingMode
directPlotPlottingMode
designName
simulationDate
temperature
variables
scalarOutputs
icons
width
height
x
y
immediatePlot
immediatePrint
preSaveOceanScript
postSaveOceanScript
numberOfSavedRuns
browserCenterMode
createCDFtermOrder
updateCDFtermOrder
printNotation
displayMode
stripModeType
saveDefaultsToOCEAN
showWhatsNew
digits
obsoleteWarnings
netlistAccess
printCommentChar
loadCorners
toolList
ignoreSchModified
defaultTools
oceanScriptFile
printInlines
awvResizeWindow
paraplotUpdateSimulatorLog
labelDigits
termFontSize
Calculator
mode
uimode
eval
dstack
Distributed Processing
clockSync
autoJobSubmit
showMessages
queueName
hostName
startTime
startDay
expTime
externalServer
expDay
timeLimit
emailNotify
mailTo
logsInEmail
stateFile
daysBeforeExpire
block
copyMode
copyModeDir
loginShell
numOfTasks
jobArgsInOceanScript
puttogetherqueue
copyNetlist
mailAllLogs
Spectre
save
outputParamInfo
modelParamInfo
pwr
useprobes
subcktprobelvl
nestlvl
elementinfo
saveahdlvars
currents
switchViewList
stopViewList
autoDisplay
spp
stimulusFile
includePath
modelFiles
analysisOrder
paramRangeCheckFile
printComments
definitionFiles
enableArclength
useAltergroup
netlistBBox
autoDisplayBBox
includeStyle
simExecName
savestate
recover
firstRun
simOutputFormat
controlMode
licQueueTimeOut
licQueueSleep
ignorePortOrderMismatch
SpectreVerilog and SpectreSVerilog
simOutputFormat
logicOutputFormat
HspiceD
setTopLevelAsSubckt
AMS and UltraSim
connectRulesList
rulesNames
rulesAndModuleFiles
useEffectiveCDF
useOtherOutputFormat
Waveform Tools in ADE
Post Processing Tools
Differences in Behavior
Graphs
Object Oriented Editing
Moving Traces
Tracking Cursors
Adding Markers and Labels
Zooming
Reset Option
Modifying Objects
Saving and Loading of Graphs
Creating a Digital Representation of an Analog Signal
Bindkeys
Calculator
Function Organization
Specifying Arguments for a Function
Manipulating the Buffer
Selecting Data in Building Expressions
Operating on a Zoomed-In Part of a Trace
Plotting
Printing
Results Browser
Data Selection
Location History
Data Display
Plot Selection
Plotting Sweeps
Complex Data
YvsY and Diff
Scalar Data
SST2 Data Support
Multiple Signal Selection
SKILL functions: Differences in Behavior
Migration Information
auCdl Netlisting
What Is auCdl and Why Do You Need It?
Licensing Requirements
Running auCdl
Running auCdl from within DFII
Running auCdl from the Command Line
Creating a config View for auCdl
Customization Using the .simrc File
auCdl-Specific Parameters
View List, Stop List, Netlist Type, and Comments
Preserving Devices in the Netlist
Printing CDL Commands
Defining Power Node and Ground Node
Evaluating Expressions
Mapping Global Pins
Renaming Cell Names
Renaming Pcell Subcircuits
Custom Netlisting Procedures
ansCdlCompPrim
ansCdlSubcktCall
ansCdlHnlPrintInst
Black Box Netlisting
Additional Customizations
Automatically Including a Partial Netlist File within the .SUBCKT Definition for the Top or Mid-L...
Including a ROM-Insert Netlist Automatically Into the auCdl Netlist
PININFO for Power and Ground Pins
Changing the Pin Order
.PARAM Statement
Specifying the Terminal Order for Terminals
Notification about Net Collision
Getting the Netlister to Stop at the Subcircuit Level
Parameter Passing
Netlisting the Area of an npn
CDF Simulation Information for auCdl
Device CDF Values
Netlist Examples
What Is Different in the 4.3 Release
Complete Example
Spectre in ADE
New Release Stream
Enhancements
Improved Parsing and Spice Compatibility
Softshare FLEXlm v10.1 Licensing
Save/Restart
64-Bit Support
License Suspend and Resume
Enhanced Pole Zero Analysis
Fractional Impedance/Admittance Pole
New Device Models and Components
Transient Noise Analysis
auLvs Netlisting
Using auLvs
How to Run auLvs from within DFII
Customization Using the .simrc File
Related Documentation on auLvs
Index
Virtuoso® Analog Design Environment User Guide Product Version 5.1.41 July 2007
 1999-2007 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. Restricted Print Permission: This publication is protected by copyright and any unauthorized use of this 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, or distributed in any way, without prior written permission from Cadence. This statement grants 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. Any copy of the publication or portion thereof must include all original copyright, trademark, and other 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 representations or warranties as to the completeness, accuracy or usefulness of the information contained in this document. Cadence does not warrant that use of such information will not infringe any third party rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of such information. Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Spectre Simulator July 2007 3 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide About the Simulation Environment Virtuoso UltraSim Simulator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Virtuoso AMS Simulator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Mixed-Signal Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Hspice Direct Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 HSPICE Socket Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Cadence SPICE Simulator Setting Up Simulation Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Setting Simulation Environment Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Setting Simulation Environment Options for Direct Simulation . . . . . . . . . . . . . . . . . . 59 Setting Environment Options for AMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Setting Simulation Environment Options for Socket Simulation . . . . . . . . . . . . . . . . . 80 Setting Up a Remote Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Using a Third-Party Simulator for Remote Simulations . . . . . . . . . . . . . . . . . . . . . . . 82 Scripts for Using Third-Party Simulators in Remote Simulations . . . . . . . . . . . . . . . . 82 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Saving and Restoring the Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Saving a Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Resetting the Default Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Setting Basic Session Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Netlisting Control Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Customizing Your .cdsinit File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Customizing Your .cdsenv File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Customizing Your Menus File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Setting UNIX Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Reserved Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Reserved Words in Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Reserved Words in Socket Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 What Are Bindkeys? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Checking Bindkey Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Assigning Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Using the Key or Mouse Binding Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Using the CIW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Using Your .cdsinit File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Form Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Choosing Simulator/Directory/Host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Create New File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 July 2007 4 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide Setting Model Path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Model Library Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Environment Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Saving State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Loading State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Editing Session Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 3 Design Variables and Simulation Files for Direct Simulation . . 115 About Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Important Benefits of Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 Using Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Important Use-Model Differences between spectreS and spectre . . . . . . . . . . . . . . . . 118 Migration from spectreS to spectre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Design Variables and Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Setting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Adding a New Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Changing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Deleting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Saving Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Restoring Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Copying Values between the Schematic and the Simulation Environment . . . . . . . 122 Displaying Values on the Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Adding Setup Files for Direct Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Using a Definitions File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Definition File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Stimuli Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Using the Setup Analog Stimuli Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Specifying a Stimulus File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Example of a spectre Stimulus File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Model Files in the Virtuoso® Analog Design Environment . . . . . . . . . . . . . . . . . . . . . . 131 Model File Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Referencing Textual Subcircuits or Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 July 2007 5 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide Updating the Component CDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 Creating a Stopping Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Using the Component Including the Subcircuit File in the Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Scope of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Inheriting from the Same Instance: iPar() . . . . . . . . . . . . . . . . . . . . . . . 135 Passed Parameter Value of One Level Higher: pPar() . . . . . . . . . . . . . . . . . . . . . . . . . 136 Passed Parameters from Any Higher Level: atPar() . . . . . . . . . . . . . . . . . . . . . . . 136 Inheriting from the Instance Being Netlisted: dotPar() Table of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Nesting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Using Inheritance Functions in Input Files How the Netlister Expands Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Netlisting Sample for Spectre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Modifying View Lists and Stop Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 About Netlists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 The .simrc File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Incremental Netlisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Creating and Displaying a Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Form Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Setup Analog Stimuli Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Editing Design Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 4 Design Variables and Simulation Files for Socket Simulation . 147 Schematic Variables and Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Setting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Adding a New Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Changing Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Deleting Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Saving Variable Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Restoring Variable Values Copying Values between the Schematic and the Simulation Environment . . . . . . . 151 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Displaying Values on the Schematic July 2007 6 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide Adding Analysis Commands to Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Using an Init File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Example Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 Init Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Using an Update File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Update Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Setting Spectre Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Options Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Making Init or Update Files Compatible with Other Simulators . . . . . . . . . . . . . . . . 156 Stimuli Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 The Analog Stimuli Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Creating a Stimulus File Using a Text Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Managing Edited Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Path Specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Setup Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 Examples of Edited Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Model Files in Socket Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Editing Model Files in the Models Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Using Model Files in Native Syntax In Socket Simulations . . . . . . . . . . . . . . . . . . . . 169 About Subcircuits and Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 How Subcircuits Are Named . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 Creating the Component CDF and a Stopping Cellview . . . . . . . . . . . . . . . . . . . . . 172 Including the Subcircuit File in the Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 HSPICE CDF Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Scope of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Inheriting from the Same Instance: iPar() . . . . . . . . . . . . . . . . . . . 176 Passed Parameter Value from the Parent Instance: pPar() . . . . . . . . . . . . . . . . . . . . . 178 Inheriting from the Current or Any Higher Level: atPar() . . . . . . . . . . . . . . . . . . . . . . . 179 Inheriting from the Instance being Netlisted: dotPar() Table of Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Determining the Current Instance in Expression Evaluation . . . . . . . . . . . . . . . . . . 179 Nesting Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 How the Netlister Expands Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Netlisting Sample for SpectreS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Modifying View Lists and Stop View Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 July 2007 7 Product Version 5.1.41
Virtuoso Analog Design Environment User Guide Using Instance-Based View Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Setting Up View List and Stop List Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 . . . . . . . . . . . . . . . . . . . . . . . . 186 Assigning Properties to Instances in the Schematic About Netlists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Incremental Netlisting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Creating and Displaying a Raw Netlist for Socket Simulations . . . . . . . . . . . . . . . . . 188 Creating and Displaying a Final Netlist for Socket Simulations . . . . . . . . . . . . . . . . 188 Form Field Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Setup Analog Stimuli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Editing Design Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 5 Setting Up for an Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Required Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Setting Up with Different Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Deleting an Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Enabling or Disabling an Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Saving the Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Restoring a Saved Analysis Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 Packing a Design in AMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Setting Up a Spectre Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 Transient Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 DC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 AC Small-Signal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Noise Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 S-Parameter Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Transfer Function Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Sensitivity Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 DC Mismatch Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Stability Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 Pole Zero Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Other Spectre Analyses Setting Up an UltraSim Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 Fast Envelope Analysis for RF Circuit Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 . . . . . . . . . . . . . . . . . . . . . . . . . 247 Running Advanced Analysis UltraSim Simulations July 2007 8 Product Version 5.1.41
分享到:
收藏