SPECCTRAQuest ™ Simulation and Analysis Reference

SPECCTRAQuest ™ Simulation and
Analysis Reference
Product Version 14.2
January 2002
 1998-2000 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.
SPECCTRAQuest Simulation and Analysis Reference
Contents
1
Introduction to Transmission Line Simulation
. . . . . . . . . . . . . . . . . 15
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About the SPECCTRAQuest and Allegro/APD Simulator . . . . . . . . . . . . . . . . . . . . .
Models and Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Device Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interconnect Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Batch Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crosstalk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timing-Driven Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EMI Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EMI Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Analysis Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Custom Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Waveforms and VI Curves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conductor Cross Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ground Bounce Movies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Simulation Dialog Box Command Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Transmission Line Simulation Setup
. . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Simulation Setup Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Run Directory Structure for Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creation Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Up the Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Signal Analysis Initialization Usage Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General System Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
3
16
16
17
17
18
19
19
19
20
21
21
22
22
23
23
23
23
24
26
27
27
32
32
36
38
38
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Allegro Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Model Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Devices Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BondWires Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RefDesPins Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Removing a Model Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auditing Simulation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SigNoise Setup Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Design Audit Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulation Message Window and Log File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
42
44
46
48
50
51
51
53
54
3
Developing Model Libraries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Introduction to Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Signal Analysis Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basic Library Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding and Removing Libraries in a Search List . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reordering the libraries in a Search List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying the Working Device and Interconnect Libraries . . . . . . . . . . . . . . . . . . . .
Advanced Library Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Device Library Indexes to a Search List . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Merging Device Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protecting Device Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using Dmlcheck to Check Device Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Signal Integrity Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Cadence Default Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
58
62
62
62
62
63
63
64
64
65
67
67
69
4
Developing Simulation Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Introduction to Simulation Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Cadence Sample Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Available Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basic Model Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Model Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
4
72
72
72
74
74
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Setup in Concept or Third-Party Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Advanced Model Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Editing IBIS Device Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
IBIS Device Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Edit Pins Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Assign Power/Ground Pins Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Assign Signal Pins Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Guidelines for Specifying Parasitic Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Specifying Parasitics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Adding and Changing Pin Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Adding or Editing Buffer Delay Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
More About Buffer Delays for an IBIS Device Model . . . . . . . . . . . . . . . . . . . . . . . . . 97
Editing IBIS IOCell Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
General Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Input Section Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Output Section Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Delay Measurement Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Editing V/I Curve Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Editing V/T Curve Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Editing ESpice Device Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Editing PackageModels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Editing Cable Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Editing Analog Output Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Analog Output Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Editing and Regenerating Interconnect Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Managing Models in a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Model Dump/Refresh Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
About Model Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Model Audit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
The dmlcheck Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
January 2002
5
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Translating Models to DML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Translating ESpice files to Generic Spice Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
5
Analyzing for Signal Integrity and EMI . . . . . . . . . . . . . . . . . . . . . . . . 129
Simulation Preferences and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DeviceModels Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
InterconnectModels Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulation Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Units Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EMI Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About Setting Preferences and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulation Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulating for Signal Integrity and EMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simulation Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interactive Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Batch Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crosstalk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EMI Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analysis Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analyzing to Generate Text Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Standard Report Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Custom Report Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Report Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reflection Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delay Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ringing Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Single Net EMI Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parasitics Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SSN Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SDF Wire Delay Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segment Crosstalk Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crosstalk Summary Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crosstalk Detailed Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
6
130
132
133
137
140
141
144
146
147
147
147
154
160
160
162
163
163
166
168
170
170
182
186
191
193
195
200
201
206
209
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing to Generate Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying the Simulation Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Common Tab Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optional Tab Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Displaying and Interpreting Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conductor Cross Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Crosstalk Timing Windows
214
217
218
219
219
220
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crosstalk False Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crosstalk Timing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying Crosstalk Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying Crosstalk Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying Ignore Crosstalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
224
224
226
227
227
228
7
Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Attaching and Editing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
8
EMI and Power Plane Modeling
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Power Plane Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
The EMWave Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
9
Multi-Board Designs (Systems) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
System-Level Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What is a system configuration? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What is a DesignLink? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
What is a cable model? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
7
242
242
243
243
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling Strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Working with System Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Establishing a new System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Choosing among existing System Configurations . . . . . . . . . . . . . . . . . . . . . . . . . .
Modifying an existing System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setting Constraints at the System-Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System-Level Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
244
245
245
249
250
251
252
A
Modeling in the Interconnect Description Language . . . . . . . . 253
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IDL Interconnect Line Segment Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RLGC Matrix Values in Interconnect Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example Line Segment Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IDL Via Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example Via Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IDL Shape Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example Shape Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
B
DML Syntax
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About DML files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cadence Sample Device Model Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DML Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ModelTypeCategory Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tokens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parameter of aToken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sub-parameters of PackageModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example of PackageModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sub-parameters of Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
254
254
255
258
267
267
273
273
8
278
278
278
278
279
279
279
280
280
281
284
285
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
C
The Cadence Default Model Library. . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DIG_LIB Library Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DEFAULT_LIB Library Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Package Library Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Library Location and Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
288
288
289
289
290
D
SPECCTRAQuest Standard Signal Integrity Libraries . . . . . . 291
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installing and Licensing the Model Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Digital Logic SI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Memory SI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The FPGA SI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Microprocessor SI Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
292
292
292
295
296
298
298
E
Model Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IBIS to DML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Translating EBD files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Translating Series_switch Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Viewing VI and VT Curve Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IBIS to DML Translation Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warning and Error Messages from the Ibis2signoise Utility . . . . . . . . . . . . . . . . . . .
QUAD to DML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Viewing VI and VT Curve Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warning and Error Messages from quad2signoise . . . . . . . . . . . . . . . . . . . . . . . . .
Translating ESpice Files to Generic Spice Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Spc2spc Translation Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
9
302
302
304
304
305
306
307
308
316
316
317
318
321
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
F
Computations and Measurements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pre-Analysis Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Device Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stack Up Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modeling Unrouted Interconnect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Signal Integrity Simulations and Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The tlsim Simulator and Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reflection Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Segment-Based Crosstalk Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Crosstalk Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timing-Driven Crosstalk Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simultaneous Switching Noise (SSN) Simulations . . . . . . . . . . . . . . . . . . . . . . . . . .
Comprehensive Simulations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delay Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Distortion Computations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Simultaneous Switching Noise Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . .
324
324
324
324
325
326
326
326
326
327
328
328
329
329
333
335
G
Cadence Espice Language Reference. . . . . . . . . . . . . . . . . . . . . . . . 337
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
About the Input Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Numeric Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datapoint Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Statement Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Espice Syntax Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DC Path to Ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parameters and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subcircuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Subcircuit Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
10
338
339
339
341
342
342
343
344
348
348
349
350
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Supported Circuit Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basic Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Passive Elements: Resistor, Capacitor, Inductor, Mutual Inductor . . . . . . . . . . . . . .
Single Lossless Transmission Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DC Voltage Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pulsed AC Voltage Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PWL Voltage Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sinusoidal Voltage Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exponential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controlled Source Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Expression Driven Controlled Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table Driven Controlled Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Non-linear Capacitors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Non-linear Inductors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Datapoints Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Non-embedded Datapoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples of Controlled Source Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timecoeff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Threshold Controlled Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Types of Latches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rational Function Controlled Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IBIS Behavioral Model Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavioral Model Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Terminators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Charge Storage Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Advanced Behavior models: 11 terminal model . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior Models: Modifying Switching Function . . . . . . . . . . . . . . . . . . . . . . . . . . .
Behavior Models: Prescaling VI and TV curves . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VI and TV prescaling at the model level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VT curves and Switching: a discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multi-Conductor Transmission Line Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples of Multi-Conductor Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lumped RLGC with L=0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Control Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
END Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
11
352
353
353
353
354
354
355
356
356
357
358
358
364
365
365
366
366
367
368
369
370
373
375
375
380
384
384
384
385
386
386
388
388
390
391
391
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SUBCKT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ENDS Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PARAM Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NODE_PARAM Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cycle Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TimeWindowMeasurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arbitrary voltage crossings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NODE_PARM_DIFFERENTIAL Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PRINT Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifying derived names in node param statement . . . . . . . . . . . . . . . . . . . . . . . .
Inheriting node parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating Espice Models for use with SPECCTRAquest . . . . . . . . . . . . . . . . . . . . . . . .
Espice Packaged Part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How to use Sources and Other Functions in SigXplorer using Espice Devices . . . .
IO Buffer Model using an Espice Macrocell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
January 2002
12
391
391
391
391
392
393
393
393
393
393
395
396
396
399
401
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary ..................................................................................................................... 405
A
B
C
D
E
F
G
I
L
M
N
O
P
R
S
T
U
V
W
..................................................................
..................................................................
..................................................................
..................................................................
..................................................................
...................................................................
..................................................................
...................................................................
...................................................................
..................................................................
..................................................................
..................................................................
..................................................................
..................................................................
..................................................................
...................................................................
..................................................................
..................................................................
..................................................................
January 2002
13
405
405
406
406
407
407
408
408
408
409
409
410
410
411
411
411
412
412
412
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
January 2002
14
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
1
Introduction to Transmission Line
Simulation
■
“Overview” on page 16
■
“Models and Simulation” on page 17
■
“Crosstalk Analysis” on page 19
■
“EMI Analysis” on page 21
■
“Analysis Results” on page 22
January 2002
15
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
Overview
Transmission line simulation helps you to resolve the high speed interconnect problems that
often accompany higher density designs, shorter cycle times, higher clock frequencies,
shorter rise and fall times, and decreasing ratios of rise time to propagation delay. You can
examine a design for delay, distortion, parasitic, crosstalk effects, and design rule violations
and review the results in both waveform and text report formats.
About the SPECCTRAQuest and Allegro/APD Simulator
SigNoise (tlsim) is the transmission line simulator employed by SPECCTRAQuest. When you
analyze a design for signal integrity, SigNoise develops models of your design and simulates
the behavior of one or more extended nets. An extended net (or Xnet) is a set of connected
and coupled nets. The following figure shows an example.
Figure 1-1 An Extended Net
Net 1
Net 2
Extended Net
There are two different ways in which you can use transmission line simulation. You can
screen entire designs or large groups of nets for problem areas. Based on the results these
initial analyses, you can then analyze specific individual signals or small groups of signals in
order to troubleshoot signal integrity issues.
You can use SigNoise throughout the development of a design:
■
During critical component placement.
■
After component placement and before you route any connections.
January 2002
16
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
■
After you route the critical nets.
■
After you route the entire design.
Models and Simulation
During analysis, SigNoise develops simulation circuits using models of the devices and
interconnect in your design. Prior to analysis, you must associate device models with the
components in your design and point the SigNoise to the device model libraries (where the
device models are stored).
The simulation circuits are created on an as-needed basis by the SigNoise in the Interconnect
Description Language (IDL) and stored in the Interconnect Model Library that you specify.
The stored models are used later to avoid repeated field solution of the same physical
interconnect configuration. You may examine the interconnect models and modify them. See
Appendix A, “Modeling in the Interconnect Description Language” for information on IDL.
You can select device models for assignment from the Default Model Library, the Standard
Digital Device Model Library, or from another device model library that you have developed
and made available in the Library Browser. From the Library Browser, you can also create
IBIS device models from IO Buffer Information Sheet (IBIS) standard data, or edit existing
models to accurately characterize devices, and save these new models to a device model
library. For information about the Default Model Library,See Appendix C, “The Cadence
Default Model Library.” For information about the Standard Digital Device Model Library is
described in Appendix D, “SPECCTRAQuest Standard Signal Integrity Libraries.”
Device Models
The different types of device models let you choose between varying levels of detail to more
accurately model and simulate your design. The following device models are available:
■
IBIS device models that behaviorally model active devices.
IBIS device models list all the pins on a device, associate individual pins with IOCell
models, and define power and ground pins. They also list the package parasitics
associated with each pin and which power or ground bus each signal pin references. This
information is used for Simultaneous Switching Noise (SSN) analysis. Additionally, IBIS
device models can also define differential pair matings.
■
IBIS IOCell models that describe the behavior of an IO buffer (that is, drivers and
receivers).
January 2002
17
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
IOCell models represent individual drivers and receivers for specific pins on a device.
They contain behavioral information about an IO buffer, such as its voltage thresholds
and VI curves. You can assign default IOCell models so that any pin that doesn’t have a
component with a SIGNAL_MODEL property associated with it will match up with these
defaults according to its pin use. You can also determine whether or not SigNoise will use
default IOCell models.
■
Package models that are matrices of resistance, inductance, conductance, and
capacitance values for each conductor and between conductors in a package.
Package models can optionally contain within them Spice sub circuits for more detailed
package modeling.
■
Espice models that contain within them a Spice description of a device. Espice device
models are used for passive devices such as resistors.
ESpice models represent simple Spice sub circuits and represent discrete components
such as resistors and capacitors. For example, a 50 ohm resistor may be represented as
follows:
.subckt resistor50 1 2
R1 1 2 50
.ends resistor50
ESpice models can be created automatically by the software, based on device data
setup for discrete components.
■
System Configurations that describe a connection between multiple printed circuit
boards (PCBs).
System Configuration models are used in system-level simulation.
■
Cable models that describe the parasitics between multiple PCBs.
You use Cable models in multi-board systems where the Cable models typically
represent cables and connectors.
Interconnect Models
During simulation, SigNoise automatically creates the interconnect models by field solving
geometries and stores them in the interconnect model library that you specify. SigNoise
writes the models for interconnect in the Interconnect Design Language (IDL). You can also
use IDL to model passive devices as you would simple Spice subcircuits.
January 2002
18
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
You do not have to route designs prior to simulation. The unrouted interconnect modeling
information (a percent Manhattan distance between pins and user-defined assumptions for
the characteristic impedance and propagation velocity) allows you to run pre-route
simulations from the rats nest information. Using the results of these simulations, you can
evaluate items such as reflections, termination, and delays.
For routed connections, you can simulate using actual routed interconnect models In these
cases, the unrouted interconnect modeling information is ignored.
Simulations
After the interconnect parasitics are derived and the appropriate device models are retrieved
and plugged in, SigNoise builds the simulation circuit based on the type of simulation you
require. You can distinguish the different simulation types by what is included in the circuit,
and how stimulus is applied. The following types of simulation are available:
■
Reflection
■
Comprehensive
■
Crosstalk
■
SSN
■
EMI Single Net
Batch Simulation
In addition to performing signal integrity analysis interactively from the user interface, you can
also use SigNoise in batch mode. See Chapter 5, “Standard Report Generation” for more
information.
Crosstalk Analysis
You can choose between two modes of crosstalk analysis: estimated and simulated.
■
Estimated (segment-based) analysis lets you quickly scan your design to identify
problem nets and key aggressors using table-driven, closed--form algorithms.
■
Simulated (detailed) analysis uses additional full multi-line, true domain simulations for
additional accuracy and to produce waveforms.
January 2002
19
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
Timing-Driven Analysis
SigNoise lets you perform timing driven crosstalk analysis using crosstalk timing windows.
Timing driven crosstalk analysis can both minimize crosstalk false alarms and reduce the
overall pessimism of crosstalk results, thus helping you to increase the density of your
designs. You can manually assign values to the crosstalk timing properties or interactively
define or collect transition time data from a Verilog-XL or NC-Verilog simulation and use this
data to specify when a net can act as a crosstalk aggressor to victim nets and when a victim
net is vulnerable to crosstalk interference from neighboring aggressor nets.
Both the Crosstalk Estimator and the Crosstalk Simulator can be timing-driven, which greatly
increases real-world accuracy and helps eliminate pessimistic crosstalk false alarms.
Crosstalk timing windows use crosstalk timing properties to determine when nets are active
and sensitive, and only considers the aggressor nets that have an active time overlap with the
victim nets sensitive time as crosstalk contributors.
Multi-board Simulation
Simulation of a design that is made up of more than one printed circuit board (PCB) is also
possible. When a net extends to more than one PCB, SigNoise can analyze and report the
behavior of a signal as it propagates from a driver on one PCB to a receiver on another.
Timing Properties
You can apply the following crosstalk timing properties to nets:
■
XTALK_ACTIVE_TIME
■
XTALK_SENSITIVE_TIME
■
XTALK_IGNORE_NETS
You can extract XTALK_ACTIVE_TIME property values from a Verilog-XL or NC-Verilog logic
simulation and import them into the design database for use by SigNoise. See Crosstalk
Timing Windows for more information.
You can assign the XTALK_SENSITIVE_TIME property to specific receiver pins for even
greater accuracy to indicate times when that pin is susceptible to crosstalk and when it is not.
You can use the XTALK_IGNORE_NETS property to tell a net or a group of nets to disregard
other nets or group of nets as a source of crosstalk. (When you want to disregard crosstalk
between bits on a synchronous bus, for example.)
January 2002
20
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
A Simple Example
In Crosstalk simulations, you can use the XTALK_ACTIVE_TIME,
XTALK_SENSITIVE_TIME, and XTALK_IGNORE_NETS crosstalk properties to determine
how to stimulate multi-line circuits for crosstalk analysis. For example, assume a victim net
being analyzed for crosstalk had 2 aggressor nets, and they had the following properties:
■
victim net - XTALK_SENSITIVE_TIME = 5-10
■
neighbor #1 - XTALK_ACTIVE_TIME = 7 - 15
■
neighbor #2 - XTALK_ACTIVE_TIME = 20-25
Neighbor #2 would not be stimulated in the circuit, since its active time does not overlap with
the victim net's sensitive time. In this case, stimulating both aggressor nets together would be
overly pessimistic, and not indicative of real-world behavior.
EMI Analysis
EMI Simulation
SigNoise provides EMI single net simulations which allow you to compute differential mode
radiated electric field emissions from traces. Simulation results include a graphical display of
the emission spectrum and a text report summarizing emission details and compliance
results.
Using SPECCTRAQuest EMControl
You can use SigNoise in conjunction with EMControl to perform EMI analysis. Some of the
signal routing and signal quality rules provided with EMControl employ SigNoise simulations
and SigNoise device models during analysis for EMI. Using EMControl enables design
engineers to begin evaluating their designs for EMI early in the design process and with
increasing accuracy throughout design development.
Before running EMC rule-checking, you need to perform the following SigNoise setup tasks:
■
Specify any analysis preferences. If necessary, SigNoise will create a new simulation
case directory.
■
Specify which device and interconnect model libraries SigNoise should use.
■
Assign the device models to components.
January 2002
21
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
In addition when you initialize the EMControl run directory, you need to point EMControl to
this SigNoise run directory. See the EMControl documentation for more information.
Analysis Results
SigNoise provides its analysis results in the form of:
■
Nine types of standard analysis text reports
■
Custom designed text reports
■
Waveforms and accompanying data
■
Conductor Cross Section diagrams
■
Ground Bounce Movies
Standard Analysis Reports
Descriptions for the different types of standard analysis text reports generated by SigNoise
are provided in the following table.
Table 1-1 Standard Analysis Reports
Report Type
Description
Reflection Summary
Gives delay and distortion data in a concise, summary format.
Delay
Gives propagation delays, switch delays (rising and falling
edge), settle delays (rising and falling edge), and reports a pass
or fail status for first incident rise and fall and monotonic rise and
fall heuristics for selected nets.
Ringing
Gives overshoot and noise margin values for selected nets.
Single Net EMI
Gives essential EMI data for the net in a concise, single-line
format.
Parasitics
Gives total self capacitance, impedance range, and transmission
line propagation delays for selected nets.
SSN report
Gives noise levels induced on a component’s power and ground
busses when drivers on that bus switch simultaneously.
January 2002
22
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
Table 1-1 Standard Analysis Reports
Report Type
Description
Segment Crosstalk
Gives estimated peak and total crosstalk for selected nets.
Crosstalk values are derived from closed form algorithms using
tables produced from time domain simulation.
Crosstalk Summary
Gives peak and total crosstalk for selected nets in a concise,
summary format. Crosstalk values are derived from multi-line
simulations.
Crosstalk Detailed
Gives total crosstalk on selected nets for all cases. Crosstalk
values are derived from multi-line simulations.
Custom Reports
You can define and then generate text reports with a specific format that you define using the
Custom Report tab in the Report Generator dialog box.
Waveforms and VI Curves
The waveform data shows the waveform of a signal on a driver-receiver pair.
SPECCTRAQuest contains a waveform display tool called SigWave. SigWave can display
waveforms for all pins in a simulation circuit as well as the VI curves for IOCell models.
Conductor Cross Sections
SigNoise generates models for the interconnect in your design. The field solver generates the
parasitic values in the model. The SigXsect window shows you a three-dimensional view of
the interconnect and its parasitic values.
Ground Bounce Movies
When you use power and ground plane design features of the Power Plane Builder to perform
SSN simulation with the Do Plane Modeling feature enabled, SigNoise produces a three
dimensional animated movie depicting the ground bounce generated during the simulation.
You can use the EMWave window to view the movie as well as a static view of the RF hot
spots that occurred.
January 2002
23
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Introduction to Transmission Line Simulation
Common Simulation Dialog Box Command Buttons
The following table describes the common command buttons found on most simulation dialog
boxes within the SPECCTRAQuest and Allegro/APD environments.
.
Table 1-2 Common Simulation Dialog Box Command Butons
OK
Saves all changes and closes the dialog box.
Apply
Saves all changes but does not close the dialog box.
Cancel
Closes the dialog box without saving any changes.
File
Contains options for saving form messages to a file and closing the form.
Close
Closes the form.
Help
Displays online help that describes the dialog box or form. Both reference
information and related procedures are displayed.
January 2002
24
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
2
Transmission Line Simulation Setup
■
“Simulation Setup Options” on page 26
■
“Run Directory Structure for Simulation” on page 27
■
“Setting Up the Simulation Environment” on page 32
■
“Environment Variables” on page 38
■
“Model Assignment” on page 42
■
“Auditing Simulation Setup” on page 51
■
“Simulation Message Window and Log File” on page 54
January 2002
25
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Simulation Setup Options
To set up for simulation:
➤
Select any of the menu options shown in the following figure from the main menu of either
the SPECCTRAQuest Floorplanner or Allegro/APD
The following table describes each of the SI/EMI Sim menu options.
.
Table 2-1 SI/EMI Simulation Menu Option Descriptions
Menu Option
Action
Initialize
Displays the Signal Analysis Initialization dialog box. See
“User Directed Initialization” on page 33. For procedural
information, see the SigNoise online help.
Library
Displays the Signal Analysis Library Browser for working with
libraries and models. See Chapter 3, “Signal Analysis Library
Browser.” For procedural information, see the SigNoise online
help.
Model
Displays the Signal Model Assignment dialog box for
assigning models to components. See “Model Assignment” on
page 42. For procedural information, see the SigNoise online
help.
Model Dump / Refresh
Displays the Model Dump/Refresh dialog box for dumping
signal integrity models (stored) in the current design to a
library or refreshing models in the current design with
changes made to their source files in the library. See
Chapter 4, “Managing Models in a Design.” For procedural
information, see the SigNoise online help.
January 2002
26
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Table 2-1 SI/EMI Simulation Menu Option Descriptions
Menu Option
Action
Preferences
Displays the SigNoise Preferences dialog box for specifying
the analysis parameters. For details, see Chapter 5,
“Simulation Preferences and Parameters.” For procedural
information, see the SigNoise online help.
Audit
Displays a menu of verification commands. See “Auditing
Simulation Setup” on page 51 and “Using Dmlcheck to Check
Device Libraries” on page 65. For procedural information, see
the SigNoise online help.
Probe
Displays the Signal Analysis dialog box for detailed analysis.
For details, see Chapter 5, “Signal Analysis dialog box.” For
procedural information, see the SigNoise online help.
Xtalk Table
Displays the Signal Analysis Crosstalk Table dialog box to
specify either the reading of an external crosstalk table or the
generation of an internal table for use by SigNoise. See
Chapter 6, “Crosstalk Timing Windows,” for more information.
For procedural information, see the SigNoise online help.
Run Directory Structure for Simulation
Creation Scheme
SigNoise is the SPECCTRAQuest simulation engine. It creates the run directory structure
required for simulation when it is needed. In most cases, the parent directory of the SigNoise
run directory structure is the directory from where you start your design software. Your start
directory contains a log file (signoise.log) which contains information about libraries
which are currently loaded as well as a run directory (signoise.run).
Your current working directory is always tracked by SigNoise. If you open a design in a
different directory, SigNoise switches focus to the new directory, adjusts settings accordingly,
and uses the local signoise.run directory (if one exists). Otherwise, a new run directory
structure is created there and a message issued announcing the action.
Note: You can use the SIGNAL_RUN_DIRECTORY environment variable to establish a
default run directory. See “Environment Variables” on page 38 for more information.
The following figure depicts the files and sub-directories that are contained within a typical
working directory.
January 2002
27
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-1 Working Directory Structure
Working Directory
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
signoise.log
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
devices.dml
interconn.iml
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
specctraquest.jrl
signoise.run Directory
The following figure depicts the files and sub-directories that are contained within the
signoise.run directory:
January 2002
28
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-2 Simulation Run Directory Structure
signoise.run Directory
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
signoise.cfg
cases.cfg
case# Directories
case# Directory
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
case.cfg
projstate.dat
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
sigsimcntl.dat
waveforms
sigsimres.dat
sim# Directories
signoise.run Directory Contents
■
signoise.cfg - Contains the configuration information that is general and common to all
simulations. For example, information on whether a System Configuration model is active
and the name of the current device model library is included here.
■
cases.cfg - Contains a listing of the case directories and the descriptive text string
associated with each case.
January 2002
29
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Case# Directory Contents
SigNoise creates a new case directory whenever one is required. You also have the option to
create case directories manually and to determine characteristics of the cases that SigNoise
creates. See “Case Management” on page 36 for more information.
■
case.cfg - Contains the configuration information that is specific to that particular case.
This information includes, for example, the text string describing the case and the stimuli
to be applied when a simulation for this case is run.
■
projstat.dat - Lists timestamp data for each .brd file in the system as well as each .dml
loaded. Use this information to determine when these files have been modified.
■
sigsimcntl.dat - Lists each simulation which has been run, regardless of whether or not
waveforms or circuits have been saved. Also listed are the parameters that went into
each simulation (sim1, sim2, and so on). The names of previous simulations, whose data
is used by SigNoise for computing results are found using this file. This file is autosaved
after every fifty simulations and when SigNoise quits.
■
sigsimres.dat - Lists each measured pin in each simulation that has been run. Each line
contains all the measured data for that pin. This file is autosaved after every fifty
simulations and when SigNoise quits.
■
sim# Directories - The sim1, sim2, and so on subdirectories are created only when
Save Circuit Files is on. They contain all input and output files for a specific simulation,
except for the .sim waveform files that get saved to the waveforms directory.
■
waveforms - If you elect to save circuit files (in either the Report Generator or the
WaveForm Simulation dialog boxes), SigNoise saves Spice files in the simulation
directories. If you elect to save waveforms (in the Report Generator), SigNoise saves the
waveform files corresponding to SigNoise runs (sim1.sim, sim2.sim, and so on) in the
waveforms directory.
When you perform an EMI emissions simulation, SigNoise saves both the time voltage
waveform files corresponding to SigNoise runs (sim4.sim, sim5.sim, and so on) and the
files containing the emission spectrum in the frequency domain (sim4_emi_db.sim,
sim5_emi_db.sim, and so on) in the waveforms directory.
January 2002
30
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-3 Simulation Run Directory Structure (cont.)
sim# Directory
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
comp_rlgc.inc
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
comps.spc
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
cycle.msm
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
delay.dl
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
werwebthetyjtyktujyuj
setgergwergergetyrtry
agaergwethwryjtukyu
interconn.spc
main.spc
ntl_rlgc.inc
stimulus.spc
tlsim.log
distortion.dst
ibis_models.inc
sim# Directory Contents
■
comp_rlgc.inc - Describes the package parasitic values of package model RLGC
matrices.
■
comps.spc - Describes component sub circuits, and power and ground values of the
simulation. It also contains package parasitics when package model contains spice
subcircuits.
■
cycle.msm - Lists the simulation results for each node to be measured. It conhtains
delay and distortion data.
■
delay.dl - Lists the delay simulation results.
■
distortion.dst - Lists the distortion simulation results.
January 2002
31
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
■
ibis_models.inc - Describes the parameter values of IbisIOCell model definitions.
■
interconn.spc - Describes sub circuits of interconnect model definitions.
■
main.spc - This is the main Spice file calling the other Spice sub circuits.
■
ntl_rlgc.inc - Describes the parameter values of trace model RLGC matrixes.
■
stimulus.spc - This Spice file describes the stimulus input.
■
tlsim.log - The log file for the Cadence proprietary Spice simulator.
Setting Up the Simulation Environment
Initialization
You do not have to perform any manual initialization tasks before you simulate. When started,
SigNoise will take the following initialization actions.
Automatic Initialization for Signal Integrity or EMI Simulation
When you initiate a signal integrity or EMI simulation from SPECCTRAQuest Floorplanner,
SPECCTRAQuest SigXplorer or Allegro/APD, SigNoise performs the following tasks:
■
Assume single board analysis mode.
■
Open or write the signoise.log file in the start directory.
■
Use or create the signoise.run directory structure.
■
Run the most recently used case.
■
Use the system configuration last used in the current case.
Each case runs in its own sub-directory (within the signoise.run directory). On the first
run SigNoise creates the case1 sub-directory containing the current (active) case.
Subsequently, new, consecutively numbered case sub-directories are created as needed.
January 2002
32
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
User Directed Initialization
To initialize SigNoise manually:
➤
Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD .
The Signal Analysis Initialization dialog box is displayed as shown in the following figure.
January 2002
33
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-4 Signal Analysis Initialization Dialog Box
Using this dialog box you can:
■
Elect to perform signal integrity analysis on a single board or to analyze a multi-board
system using a System Configuration model.
■
Perform case management tasks:
❑
Change the current case.
❑
Create a new case or delete an existing case.
❑
Edit the comments associated with a case.
January 2002
34
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Dialog Box Fields and Buttons
The following tables describe the data fields and command buttons in the different areas of
the Signal Analysis Initialization dialog box.
Table 2-2 System Configuration Setup Area
Option
Function
System Configuration
Current simulator operation mode. Choices are:
“Single Board System” (default)
The name of a multi-board system
Table 2-3 Case Setup Area
Option
Function
Current Case
Name of the current case under analysis.
Case list box
Lists available cases with descriptions. The current case is
highlighted.
Case update check
box
Indicates whether you want to be notified about case updates
whenever the project changes.
Table 2-4 Command Buttons
Button
Function
New DesignLink
Displays the System Configuration Editor dialog box to create a
new system configuration.
Edit DesignLink
Displays the System Configuration Editor dialog box to modify the
current system configuration.
Browse
Displays a File Browser to search and select a system
configuration (.scf) file.
New Case
Creates a new case.
Set Desc. . .
Displays the dialog box shown in Figure 2-5 for adding or editing
a case description.
Remove Case
Deletes a selected case.
January 2002
35
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-5 The Set Case Description Dialog Box
Signal Analysis Initialization Usage Notes
Single Board and Multi-Board Setup
By default when you perform a simulation operation, SigNoise runs in single board mode on
the current design. From the Initialization dialog box you can select to operate SigNoise in
multi-board mode. Multi-board mode enables you to analyze a system of more than one
printed circuit board using a System Configuration model.
Case Management
Setup and analysis data are partitioned into cases with one case being operated on at a time.
You can use the initialization dialog box to manually create and delete cases, and to switch
from the current case to another existing case. When you change to a different case using
the initialization dialog box, upon confirmation (OK), all other dialog boxes are updated to
reflect the case data file (case.cgf) for the new current case.
When you initiate an operation which would change the case data file, case.cfg, in a way that
could invalidate simulation data in the current case directory, you are notified of the change
by the display of the Update Case dialog box.
You can choose to:
■
Create and name a new case based on a copy of the configuration information in the
existing case.cfg file, plus the proposed change.
Make the new case the current case and begin working there. The new case includes no
existing simulation data.
■
Add the proposed change to the current case, clear all existing simulation data from the
case, and continue work there.
January 2002
36
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
■
Add the proposed change to the configuration of the current case and continue working
there.
All existing simulation details are retained. Do this only when you are certain that new
simulation data, based on the modified configuration information, will be compatible with
existing simulation data.
January 2002
37
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Environment Variables
SigNoise references local environment variables that you can set to customize your
simulation environment. Some of the system variables are standard while others apply only
to SigNoise.
General System Variables
General system variables can be set in either your local .cshrc file (UNIX platforms) or in
the System Properties dialog box (Windows NT platform).
Setting Variables on UNIX Platforms
The variables in the following table can be set by adding its command line as an entry in your
local.cshrc file.
Table 2-5 General System Variables on UNIX Platforms
Variable
Name
Purpose
Command Line
EDITOR
Sets the default text
editor.
setenv EDITOR ‘xterm -e /usr/ucb/vi’
PRINTER
Sets the default
printer to be used
when a print
command is given.
setenv PRINTER printer_name
Note: If the EDITOR variable is not set, SigNoise will run xterm vi when you text edit a file.
You may omit the xterm for editors that open a new window of their own.
January 2002
38
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Setting Variables on the Windows NT Platform
You can set the variables that are described in the following table by adding an entry within
the User Variables section of the System Properties dialog box.
Table 2-6 General System Variables on the Windows NT Platform
Variable
Name
Purpose
Value
EDITOR
Sets the default text
editor.
editor_application_name
PRINTER
Sets the default
printer to be used
when a print
command is given.
printer_name
Allegro Environment Variables
The Allegro environment variables for both the UNIX and Windows NT platforms are set in
your local env file. They apply to Allegro, the Transmission Line Simulator, and other analysis
tools which reference them. You are not required to set these environment variables, but
certain tasks will be easier if you do. Setting these environment variables is optional.
To create a local env file:
1. Make a pcbenv directory under your home directory.
2. Copy the <install_dir>/share/pcb/text/env_local.txt fileto your pcbenv
directory and name it env . Using a copy of this file will force the Cadence global env file
to be read first.
3. Edit this file to add your environment variable settings, aliases, and so on to the end of
the file.
January 2002
39
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Setting Variables
You can set the variables in the following table by adding its command line as an entry in your
local env file.
Table 2-7 Allegro User Environment Variables
Variable Name
Function
TOPOLOGY_
TEMPLATE_PATH
Sets the path where topology set TOPOLOGY_TEMPLATE_PATH =
templates are stored.
/home/sig6/newboard/tops
Sets the path to various items set SIGNOISEPATH = ~/cds/
used by SigNoise, such as
tools/pcb/text
the default libraries.
Useful when trying to
set DISPLAY_NOHILITEFONT
highlight a trace on a fully
routed board. The highlight is
a solid color.
Sets all net-to-net results
set LOG_NET_XTALK
from the Crosstalk Estimator
to be logged in the Allegro
message window and the
signoise.log file.
SIGNOISEPATH
DISPLAY_
NOHILITEFONT
LOG_NET_XTALK
SIGSUPPRESS
Command Line Syntax
Suppresses display of the
set SIGSUPPRESS
specified types of messages [list_of_message_types]
in SigNoise’s Message Log
window. Follow the variable
name with a spaceseparated list of message
types to suppress.
These can be warning and/
or error messages. Case is
not significant.
SIGNAL_RUN_
DIRECTORY
January 2002
Sets SigNoise to use an
setenv SIGNAL_RUN_DIRECTORY
existing run directory,
/home/sig7/projects/
signoise.run. When the signoise.run
design software is started,
SigNoise will use this run
directory.
40
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Table 2-7 Allegro User Environment Variables
Variable Name
Function
Command Line Syntax
SIGNAL_DEVLIBS Sets the default device
libraries that appears in the
library search list.
SIGNAL_ICNLIBS
setenv SIGNAL_DEVLIBS /home/
sig6/new.dml /home/sig5/
std.dml
Sets the interconnect model setenv SIGNAL_ICNLIBS /home/
libraries that appears in the sig6/intrconn1 /home/sig5/
library search list.
intrconn2
SIG_MAPFILE_OR Specifies that the original
GPATH
model path be used in the
device model assignment
map file when it is saved.
setenv SIG_MAPFILE_ORGPATH 1
Note: The SIGNAL_DEVLIBS and SIGNAL_ICNLIBS variables do not apply to SigNoise run
directories created before the variables were set. Also, if you specify a directory, rather than
a file, SigNoise will include all libraries (*.dml*) in that directory within the library search list.
January 2002
41
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Model Assignment
SigNoise uses device models, IOCell (or buffer) models, and trace models to create complete
simulation circuits for nets in your design. You can assign device models to discrete devices
automatically.
Before performing simulations, you should use Analysis – SI/EMI SIm – Audit command
options to verify that each component has a model assigned to it. When necessary, as
reported in the SigNoise Setup Report, you are required to manually assign device models.
SigNoise will generate and assign trace models for the bond wires or you can manually
assign trace models to bond wires yourself.
To assign device and interconnect models to design objects:
➤
Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD .
The Signal Model Assignment dialog box is displayed as shown in the following figure.
January 2002
42
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-6 Signal Model Assignment - Devices Tab
Using this dialog box you can perform the following tasks.
■
Have SigNoise automatically assign models to capacitors and resistors.
■
Manually assign models to components and bond wires.
■
Disassociate models from design objects.
■
Save model assignments to a Model Assignment mapping file or load an existing
mapping file.
January 2002
43
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Devices Tab
Using the Devices tab on the Signal Model Assignment dialog box, you can assign device
models to components in the design either manually or automatically. See Figure 2-6 on
page 43.
Tab Options and Buttons
The following tables describe the command options and buttons in the different areas of the
Devices tab.
Table 2-8 Devices Tab Options
Option
Function
DevType/RefDes
Tree of device types for components. Expands to display reference
designators for components of that type.
Signal Model
The model name currently assigned to a device type or reference
designator.
Source Library
The library containing the signal model.
Signal Model
The model name currently selected for assignment.
Table 2-9 Devices Tab Buttons
Button
Function
Create Model
Displays the Create Model dialog box for the selected component.
Prompts for the creation of an Espice device model or an IBIS
device model for the component.
Find Model
Displays a Model Browser for device model matching.
Edit Model
Invokes an appropriate model editor enabling model modification.
Save
Saves model assignments to a model assignment data file which
maps device types to appropriate models.
Load
Loads a model assignment data file.
Include ORIGINAL
Path in Map File
When checked (ON), specifies that the original model path be used
in the map file when saved. The default is unchecked (OFF).
January 2002
44
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Table 2-9 Devices Tab Buttons
Button
Function
Auto Setup
Start automatic model assignment for all components with no
previous assignment.
Clear All Model
Assignments
Removes all model assignments in the design.
Preferences
Displays the Analysis Preferences dialog box.
OK
Closes the dialog box and stores your model assignments in the
design database. Generates a Signal Model Assignment Changes
report.
Devices Tab Usage Notes
■
Use Preferences at anytime while using the Signal Model Assignment dialog box to
display the SigNoise Preferences dialog box. Through this dialog box, you can change
the characteristics of the default device and interconnect models.
■
Use Auto Setup to automatically assign device models to simple components such as
capacitors and resistors using the device type prefix as a reference. In order for
automatic model assignment to succeed, components must have reasonable value
property data in the design database.
■
For manual model assignments, either assign a single device model to all components
having the same device file or assign individual device models to individual components
specified by reference designator. When you specify a model you can enter a model
name in the Signal Model field, or select a model in the Model Browser.
Use Find Model to display a set of models appropriate for the selected DevType or
RefDes.
■
You can also use Create Model to invoke a model editor and create a model from
scratch. Depending on the value property data associated with the component, either the
Create ESpice Device Model dialog box or the Create IBIS Device Model dialog box is
invoked.
January 2002
45
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
BondWires Tab
Use the BondWires Tab to assign trace models to individual bond wire connections in the
design or to modify trace models. Bond wires are connect lines (clines) on wirebond layers.
When the Model Browser is open along with the Signal Model Assignment dialog box, the
name of a trace model selected in the Model Browser also displays in the Signal Model field.
Figure 2-7 Signal Model Assignment - BondWires Tab
January 2002
46
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Tab Fields and Buttons
The following tables describe the command options and buttons in the different areas of the
BondWires tab.
Table 2-10 BondWires Tab Options
Option
Function
Die Pad, Pkg Pin,
Net
A tree displaying the die pad, package pin, and net for a bond wire.
Signal Model
The trace model currently assigned to a bond wire.
Signal Model
The model selected for assignment.
Table 2-11 BondWires Tab Buttons
Button
Function
Find Model
Displays the Model Browser to find trace models.
Edit Model
Invokes an appropriate model editor enabling trace model
modification.
Assign Current
Signal Model to
bond wire Picks
Click to assign the signal model named in the Signal Model: type-in
field to the selected bond wires.
All
Assign the signal model named in the Signal Model type-in field to
all bond wires.
Preferences
Displays the Analysis Preferences dialog box.
BondWires Tab Usage Notes
■
With a cline segment selected in the design, use View Geometry to invoke the sigXsect
window to display the cross-section geometry for the cline at the exact point selected.
■
To manually assign trace models, select a net or cline in the design then use Create
Models to create an appropriate interconnect model or use Find Model to view and
select existing trace models in the selected interconnect library.
January 2002
47
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
RefDesPins Tab
Use the RefDesPins tab to assign IOCell models and programmable buffer models to
individual pins identified by reference designator. You can also modify existing models during
assignment. When the model Browser is open along with the Signal Model Assignment dialog
box, the name of the model selected in the Model Browser also displays in the Signal Model
field.
Figure 2-8 Signal Model Assignment - RefDesPinsTab
January 2002
48
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Tab Fields and Buttons
The following tables describe the command options and buttons in the different areas of the
RefDesPins tab.
Table 2-12 RefDesPins Tab Options and Buttons
Option
Function
Refdes
A tree of reference designators for components in the design.
Expand to display pin numbers and pinuse.
Signal Model
The IOCell models assigned to the pins.
Device Class FIlter A list of available device classes to limit the display of reference
designators in the list box.
Signal Model
The model name selected for assignment.
Table 2-13 RefDesPins Tab Buttons
Button
Function
Prog. Buffers
Displays a list of the Programmable Buffer models available in the
library for the selected pin. The number to the right indicates the
number of available models for the selected pin.
Create Model
Creates the model.
Find Model
Displays the Model Browser to find IOCell or Programmable Buffer
models.
Edit Model
Invokes an appropriate model editor to enable IOCell or
Programmable Buffer model modification.
Display All /
Display IBIS
Buffers Only
Toggles between the display of all pins in the design (by component)
or only pins which have programmable buffers.
Preferences
Displays the Analysis Preferences dialog box.
January 2002
49
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
RefDesPinsTab Usage Notes
■
If necessary, use the Preferences button to modify default data values.
■
To assign an existing IBIS Device model, you can enter a model name in the Signal
Model field, or select a model in the Model Browser. Use the Find Model button to
display models appropriate for the selected reference designator.
■
To activate the Prog. Buffers command button, first select a Programmable Buffer
model from the working library.
Removing a Model Assignment
To remove a device model assignment from a component, net, or cline, first select the net,
cline, or component in the list box and then enter a blank character in the Signal Model typein field.
January 2002
50
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Auditing Simulation Setup
SigNoise Setup Report
The SigNoise setup report presents information discovered during a design or net audit
process.
To check your design setup:
➤
Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD.
As your design and it’s libraries are being checked, the simulator displays a progress meter
is displayed followed by the display of the SigNoise setup report.
The following figure shows the SigNoise setup report window with a sample report. Use this
window to view and save the setup report as needed.
January 2002
51
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-9 Simulator Setup Report Window
The report data areas are described in the following table.
Table 2-14 Simulator Setup Report Data
Area
Data Description
Errors
A list of setup faults that must be resolved to avoid serious
problems.
Warnings
A list of setup faults that, if resolved, will enhance accuracy.
Information
Information about the design, including existing setup data.
January 2002
52
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Design Audit Checks
To find serious setup problems (Errors), SigNoise checks for the following situations:
■
Zero thickness layers in the layerstack
■
Unplaced components
■
Nets with POWER or GROUND pins, but no VOLTAGE property
■
Nets with POWER or GROUND pins or VOLTAGE property, but no shape or
VOLTAGE_SOURCE pin
■
No VOLTAGE property on any net
■
Nets with no drivers or receivers, and no pins attached to a component with an
ESpiceDevice SIGNAL_MODEL reference
■
C-lines with a SIGNAL_MODEL reference that do not exist in any open interconnect
library
■
No working interconnect library
■
Active system configuration reference is not loaded or its DesignLink model does not
exist in any open device library
■
Default IOCells that do not exist in any open device library
■
Components with a SIGNAL_MODEL reference that do not exist in any open device
library
■
Model versions
■
Referenced device models that do not pass dmlcheck (Audit Report will list problem
models, but actual errors will appear in SigNoise log window)
■
Pin signal_model parameters in IBISDevice pinmap do not match Allegro pinuse
■
Allegro component pins not found in IBISDevice pinmap (other than NC pins)
■
Components with Allegro TERMINATOR_PACK property not assigned an ESpiceDevice
SIGNAL_MODEL property
■
Shapes on PLANE layers with no VOLTAGE property on a net.
■
Layers with improper material for a given layer type.
■
Nets with improper differential pair connections like non-inverting driver that is driving an
inverting receiver.
January 2002
53
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
■
Nets with Allegro DIFFERENTIAL_PAIR property and no differential pair signal models
on pins, or vice versa.
■
DISCRETE components with the wrong PINUSE property.
To find setup problems that might hinder accuracy (Warnings), SigNoise checks for the
following situations:
■
Default settings in the layerstack
■
Wirebond layers that do not have the SIGNAL_MODEL property attached to clines
■
Components that have no SIGNAL_MODEL property
■
Nets with DC VOLTAGE property
■
Default IOCELL models that are not set.
■
PLANE layers that have no name assigned.
SigNoise reports the following design information:
■
Layerstack information
■
Number of nets and components
■
Assigned models, including the library file
Simulation Message Window and Log File
Warning and error messages generated during simulation are displayed in the SigNoise
Errors/Warnings window. The window opens when the first message is generated and the
display list expands for each subsequent message. When you perform the next simulation
action, all existing messages are cleared and the window is closed.
The Signoise Errors/Warnings window displays warnings below error messages. As the
simulator generates new messages, they are added to the top of each list. Duplicate
messages are filtered out of the list. The associated signoise.log file logs all informational
messages, warnings, and errors.
Note: You can suppress the display of SigNoise Errors/Warnings window by setting the
SIGSUPPRESS environment variable. See “Environment Variables” on page 38 for more
information.
The SigNoise Errors/Warnings window with a sample list of warnings is shown in the following
figure.
January 2002
54
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
Figure 2-10 The SigNoise Errors/Warnings Window
January 2002
55
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Transmission Line Simulation Setup
January 2002
56
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
3
Developing Model Libraries
■
“Introduction to Model Libraries” on page 58
■
“Signal Analysis Library Browser” on page 58
■
“Basic Library Management” on page 62
■
“Advanced Library Management” on page 63
■
“Signal Integrity Model Libraries” on page 67
January 2002
57
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Introduction to Model Libraries
When analyzing a design, SPECCTRAQuest builds simulation circuits using the device
models that have been stored in your design (.brd file). These resident device models are
associated with devices in your design. During simulation, SigNoise automatically constructs
the required interconnect models. The actual source files for these device and interconnect
models are stored and organized in either device model libraries (DML’s) or interconnect
model libraries (IML’s) that are external from the design database.
Signal Analysis Library Browser
You can use the Signal Analysis Library browser to create and manage your libraries of
device and interconnect models and to access the Model Browser dialog box. You can also
use it to specify which device and interconnect libraries you want SigNoise to access, as well
as the order of library access.
To display the Signal Analysis Library Browser dialog box:
➤
Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD .
January 2002
58
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
.
The Library Browser is divided into two parts.The top half contains the device library search
list and the buttons and fields you use to manipulate device models and device model
libraries.
The bottom half contains the interconnect library search list and the buttons and fields you
use to manipulate interconnect models and interconnect model libraries. You can use the
buttons along the bottom of the dialog box (for example, Translate) with both parts of the
dialog box.
Note: You can specify default device and interconnect model libraries using Allegro
environment variables. See Chapter 2, “Allegro Environment Variables.”
January 2002
59
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Using the Library Browser you can perform the following tasks.
■
Add an existing device or interconnect model library to a library search list.
■
Create a new library and add it to a library search list.
■
Reorder the libraries in a library search list.
■
Remove libraries from a library search list.
■
Specify the working device and interconnect model libraries; the only libraries to which
newly created models can be added.
■
Create an index for a device model library.
■
Merge two or more device model libraries.
■
Translate models to a DML from other formats.
■
Display the Model Browser.
Browser Command Buttons
The following tables describe the function of the command buttons found on the Library
Browser dialog box.
Table 3-1 Device Library Files Area
Button
Function
Browse Models
Displays the Model Browser.
Remove Library
Removes selected device libraries from the device library search list.
Move Up
Raises the selected device library one position up in the device
library search list.
Move Down
Lowers the selected device library one position down in the device
library search list.
Set Working
Sets the working (or active) library for device models.
Note: Before you edit or add new models, make the target library the
working library.
Make Index
Creates an index file for all of the .dml files present in the library list.
Note: The working library is excluded.
January 2002
60
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Table 3-1 Device Library Files Area
Button
Function
MergeDML
Merges all device model libraries present in the library list
into a single library.
Add Existing
Library
Adds the selected device library or device index to the device library
search list. Choices are:
Local Library
Standard Cadence Library
Optional Cadence Library
Create New
Library
Displays a file browser where you can specify the name of the device
library to be created and added to the device library search list.
Table 3-2 Interconnect Library Files Area
Button
Function
Browse Models
Displays the Model Browser.
Remove Library
Removes selected interconnect model libraries from the device
library search list.
Move Up
Raises the selected interconnect library one position up in the device
library search list.
Move Down
Lowers the selected interconnect library one position down in the
device library search list.
Set Working
Sets the working (or active) library for interconnect models.
Note: Before you edit or add new models, make the target library the
working library.
Add Existing
Library
Adds a selected interconnect library to the interconnect library search
list.
Create New
Library
Displays a file browser where you can specify the name of the
interconnect library to be created and added to the interconnect
library search list.
January 2002
61
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Table 3-3 Common Buttons (Device and Interconnect)
Button
Function
Translate
Accesses a list of translator programs to convert various simulation
formats to .dml or .iml files. Choices are:
ibis2signoise
quad2signoise
Apply
Apply the library changes without closing the browser.
OK
Apply the library changes and close the browser.
Basic Library Management
Adding and Removing Libraries in a Search List
Device and Interconnect models cannot be accessed unless their libraries are first added to
the library search list. Conversely, if a library is no longer in use, it can be removed from the
search list thereby improving overall library access performance.
Reordering the libraries in a Search List
Libraries are searched starting at the top of the list. In cases where a model is included in two
or more libraries, you can use the search order to determine which library SigNoise searches
first. SigNoise uses the first model found.
Specifying the Working Device and Interconnect Libraries
SigNoise adds models to the working libraries only. If you want to add a model to a library that
is not the working library, you must first make it the working library before you start the
process. You can have one working device model library and one working interconnect model
library active at one time.
Important
The name of the working library for device or interconnect models appears in the
Working: field above the library search list.
January 2002
62
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Advanced Library Management
Adding Device Library Indexes to a Search List
To improve access performance with large device model libraries, you can add a library index
(in place of the library file) to the Device Library search list. An index is a .ndx file that
contains pointers to the device models in the DML. The index requires fewer resources
because only models required for analyses are loaded from the index into memory, as
opposed to loading the entire library. This utility performs the same checks as dmlcheck, to
ensure that the indexed models are syntactically correct. Only models that pass dmlcheck
will be indexed.
Note: Index files are read-only. For this reason, you cannot index any library currently
designated as the working library to which SigNoise automatically writes any edits.
Use the mkdeviceindex utility to create a library index for one or more device model library
files. You can access the mkdeviceindex utility from the Library Browser (Make Index
button) or the command line.
To access the mkdeviceindex utility from the command line, enter the following
command.
mkdeviceindex [-d] [-o <index_filename>] <library_filename>...
Table 3-4 Mkdeviceindex Arguments
Argument
Function
-d
Checks model dependencies. For example, an IBIS Device model
will be indexed only when all required IOCell and PackageModel
models are present and pass the checks.
-o
Names the device model library index.
index_filename
Names the device model library index for the IBIS input file you
want to translate.
library_filename Names one or more device model libraries.
Note: You can also specify directories which are hierarchically
searched for *.dml files.
January 2002
63
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Merging Device Model Libraries
The mergedml utility enables you to combine one or more model libraries into a single library.
You can access the mergedml utility from the Library Browser (Merge DML button) or the
command line.
To access the mergedml utility from the command line, enter the following command.
mergedml <library_filename>... -o name
Table 3-5 Mergedml Arguments
Argument
Function
library_filename Names one or more device model libraries to be combined.
Names the merged output library.
-o
Protecting Device Model Libraries
Use the dmlcrypt program to produce encrypted versions of DML files to protect model data.
Models in encrypted files may be used for simulation, but they may not be viewed in plain text,
cloned or altered. The program requires the name of an existing DML file and the name of a
new encrypted DML file to write. For example:
dmlcrypt devices.dml devices_e.dml
An encrypted copy of devices.dml will be saved as devices_e.dml.
Caution
Once a file is encrypted there is no way to convert it back to plain text, so
be careful to retain a copy of the original plain text DML file.
For further protection, add a SPICE comment to your ESPiceDevice, MacroModels or
PackageModels as follows:
*|protect_simulation_files: comps.spc ibis_models.inc
Doing so will cause these simulation files to be removed at simulation ensuring that no plain
text copy of your data remains.
An encrypted DML file can be recognized by the characters at the beginning:
FILE_FMT=SYENCRYPT2
&<qpBi#48tk]OzP):^"7)[C ...
The remainder of the file contains undecipherable binary characters.
January 2002
64
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Using Dmlcheck to Check Device Libraries
Use the dmlcheck utility to check the syntax of one or more library files.
You can access the dmlcheck utility from the SPECCTRAQuest Floorplanner or Allegro/
APD main menu or the command line.
To access dmlcheck from within the SPECCTRAQuest Floorplanner or Allegro/APD ,select
one of the options shown in the following figure.
The Open File dialog box appears from which you can select either a single or a list of device
model libraries to be checked. Once this selection is made, dmlcheck will scan the library
file(s) for any syntax errors. When the check is complete, a dmlcheck log report with
messages indicating the syntactical condition of the file(s) is displayed.
A sample log report is shown in the following figure.
Figure 3-1 Sample Log Report
January 2002
65
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
To access dmlcheck from the command line, enter the dmlcheck command with the
following arguments:
dmlcheck [options] <library_filename>...
Table 3-6 Dmlcheck Options
Option
Description
-bufferdelay
Calculates the buffer delay for the pins of each IbisDevice
checked. The dmlcheck -o option is required for BufferDelay
calculation, so that the results will be saved.
-curvedir directory
The -bufferdelay option can also be used with
quad2signoise and ibis2signoise. Progress
messages will be printed while calculations take place.
Creates the specified directory into which each VI and VT
curve creates a SigWave waveform file.
-o extension
Writes the library data, as transformed by dmlcheck, to
fnj.extension for each input file fnj.
-version
Displays the version of the software in the output.
library_filename
Specifies one or more device model libraries to be checked.
Command Line Examples
The following example checks a group of library files. The dmlcheck utility will print any
warnings.
dmlcheck *.dml
The following example checks a group of files. The dmlcheck utility will print any warnings,
and write converted (curve) data into files with the extension .new.
dmlcheck -o new *.dml
January 2002
66
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
Signal Integrity Model Libraries
The Cadence Default Library
The models in the Cadence Default Library fall into three categories:
■
DIG_LIB Library Models
Standard digital logic families containing 217 unique parts in a format directly compatible
with the SigNoise simulator with their corresponding IBIS files. These models have been
made from spice files from Signetics (except for one device).
■
DEFAULT_LIB Library Models
Default set of IOCell models for gtl, pci, and asic types. You can use these IOCell models
to select the right buffer for a given application.
■
PACKAGES Library Models
Library Structure
The Cadence Default Library is in the install directory. The path to the standard install
directory is:
/cds/share/pcb/signal/SignalPartLib
The directory contains the following sub-directories corresponding to the three categories:
■
DIG_LIB
Contains subdirectories corresponding to four digital logic families. Each digital logic
family subdirectory contains files for IBIS Device models and IOCell models (.dml files).
There is one device model in each file. The corresponding IBIS files (.ibs files) also
exist. There is one DIGlib_assump.txt file giving the test setups used to validate
each family.
■
DEFAULT_LIB
Contains signoise .dml files and their corresponding .ibs files. The corresponding
assumption.txt file lists the assumptions, approximations and validation test setup
used.
■
PACKAGES
Note: In the directory above the SignalPartLib directory, SigNoise uses the device
model index file cds_partlib.ndx to quickly load groups of models.
January 2002
67
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
The DIG_LIB Library Models
The digital device model library supports models for parts from four types of digital logic
families (or technologies). A part’s digital logic family refers to the different processes and
implementations used in the manufacture of the parts used in integrated circuits. For
example, you can use bipolar transistor-transistor-logic, CMOS, bipolar emitter coupled logic,
or a combination of several technologies.
Each technology has different input and output parameters. The library includes the digital
logic families in the following table
.
Table 3-7 Digital Device Model Library
Technology Description
ABT
Advanced BiCMOS Technology for bus interfaces with high drive, lower
power consumption and fast propagation
ALS
Advanced Low Power Schottky for low power consumption in non-speed
critical circuits
ALVC
Advanced Low Voltage CMOS for low power consumption
FTTL
Fast Transistor-Transistor Logic for speed critical circuits
The DEFAULT_LIB Library Models
The following table describes the default set of library models
Table 3-8 Default Library Models
Technology
Number of
Description
IOCell Models
GTL
01
IOCell models derived from Texas gtl spice files.
PCI
04
Compatible IOCell models for both 3v and 5v derived
from Intel pci spice files.
ASIC
22
IOCell models for different current capability both for 3v
and 5v; with and without slew made from suitable
approximations for the ASIC CMOS technology.
January 2002
68
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
The PACKAGES Library Models
The default package models include:
■
20dip
■
14soic
■
16soic
■
20soic
■
16ssop
■
20ssop
■
28plcc
■
44plcc
For a complete list of models, refer to the share/pcb/signal/cds_partlib.ndx file.
You can search this file using the UNIX grep command or the Windows NT Find command.
For additional information on using the Cadence Default Library, see Appendix C, “The
Cadence Default Model Library.”
Standard Libraries
There are four separately licensable signal integrity model libraries available for use with
SigNoise. They contain Simulator-compatible models for over 9,800 unique parts.
The digital logic SI library
The memory SI library
The FPGA SI library
The microprocessor SI library
These libraries are available for purchase and require a separate license. They are available
for Unix and Windows NT. For additional information on setting up and using these libraries,
see Appendix D, “SPECCTRAQuest Standard Signal Integrity Libraries.”
January 2002
69
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Model Libraries
January 2002
70
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
4
Developing Simulation Models
■
“Introduction to Simulation Models” on page 72
■
“Basic Model Development” on page 74
■
“The Model Browser” on page 74
■
“Creating Models and Adding Them to a Working Library” on page 76
■
“Model Setup in Concept or Third-Party Libraries” on page 78
■
“Advanced Model Development” on page 79
■
“Editing IBIS Device Models” on page 79
■
“Editing IBIS IOCell Models” on page 99
■
“Editing ESpice Device Models” on page 112
■
“Editing PackageModels” on page 112
■
“Editing Cable Models” on page 113
■
“Editing Analog Output Models” on page 113
■
“Editing and Regenerating Interconnect Models” on page 116
■
“Model Audit” on page 123
■
“Managing Models in a Design” on page 117
■
“Translating Models to DML” on page 126
■
“Translating ESpice files to Generic Spice Formats” on page 127
January 2002
71
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Introduction to Simulation Models
You can use there are two basic categories of models used to build circuits for simulation:
■
Device models
■
Interconnect models
Device models are developed in advance of simulation, and you use them to characterize
manufactured components such as ICs, discrete components, and connectors. They are
stored in files with a .dml extension. A device model library consists of a .dml file that
contains one or more device models.
Interconnect models are extracted directly from the physical design database and
synthesized on demand. Interconnect models cover such items as traces and vias, and are
stored in files with an .iml extension.
The Cadence Sample Model Libraries
The simulation models are stored in device and interconnect model libraries. The Cadence
sample device model libraries are in the install directory. The path is as follows:
/install_dir/share/pcb/signal/cds_*.dml
Look at this file for details of the format and syntax of device models as well as the structure
of a device model library. The libraries contains\ commented examples of the different types
of device models.
Available Models
The following tables describe the available device and interconnect models, including their
contents and how they are used.
Table 4-1 Available Device Models
Model Type
Use and Relationship
IbisDevice
Assigned to ICs and connectors with the SIGNAL_MODEL property.
(An IbisDevice model for a connector has package parasitics but no
IOCell models.)
January 2002
72
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-1 Available Device Models
Model Type
Use and Relationship
IbisIOCell
Referenced from an IBISDevice model. Used to model driver and
receiver buffers at the pin level. The different types of IOCell models
are:
IbisOutput -- Driver model.
IbisOutput_OpenPullUp -- Driver model with no pullup transistor.
IbisOutput_OpenPullDown -- Driver model with no pulldown
transistor.
IbisInput -- Receiver model.
IbisIO -- Bidirectional buffer model, which can drive or receive.
IbisIO_OpenPullUp -- Bidirectional buffer model with no pullup
transistor.
IbisIO_OpenPullDown -- Bidirectional buffer model with no pulldown
transistor.
AnalogOutput -- Models the behavior of an analog device pin.
IbisTerminator -- Models termination internal to the device pin.
PackageModel
Referenced from an IbisDevice model. Models the package parasitics
of the entire component package, can be an RLGC matrix model or
Spice sub-circuits.
ESpiceDevice
Assigned to discrete parts like resistors and capacitors with the
SIGNAL_MODEL property. Contains Spice sub circuits.
System
Configuration
Used to specify system-level connectivity, like multi-board or advanced
package-on-board scenarios.
Note: System configurations created prior to release 14.0 of
SPECCTRAQuest appear as DesignLink models.
Cable
Referenced from a system configuration. Models cables
interconnecting multiple boards. Can be a RLGC model or Spice subcircuits.
BoardModel
Referenced from a system configuration. Models entire boards for
situations in which the physical Allegro database is not available.
Contains Spice sub circuits.
January 2002
73
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-2 Available Interconnect Models
Model Type
Use and Relationship
Trace
Geometry-based model that represents a single transmission line with
no coupling. Can have frequency-dependent loss.
MultiTrace
Geometry-based model representing multiple, coupled lossey
transmission lines. Can have frequency-dependent loss.
Shape
Models a copper shape encountered in a physical design.
Via
Models the parasitics of a via providing z-axis connectivity between
traces.
Use the Model Browser to create, display, manage, and edit the models in your libraries. The
Model Browser dialog box fuctions and basic model development tasks are discussed in the
following section. See Advanced Model Development on page 79 for information on using the
model editors and on performing more complex model development tasks.
Basic Model Development
The Model Browser
Basic model development tasks are handled through the use of the Model Browser.
To display the Model Browser from the SPECCTRAQuest Floorplanner or Allegro/APD:
1. Select Analyse>SI/EMI Sim>Library to display the Signal Analysis Library Browser.
2. Click Browse Models in the Library Browser dialog box.
For details, see Chapter 3, “Signal Analysis Library Browser.”
The Model Browser dialog box is displayed as shown in the following figure.
January 2002
74
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-1 Model Browser dialog box
Using the Model Browser you can perform the following basic model development tasks:
■
List the models in a library.
■
Create a device model with default values or clone an existing device model and add the
newly created model to the working library.
■
Delete a model from the working library.
January 2002
75
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Displaying a List of Models
Filter fields at the top of the Model Browser control which models are displayed in the Model
Browser list box. You can specify which models are listed in the model search list by library,
by model type, or by characters in the model name.
The following table describes the Model Browser fields used to control the model list display.
Table 4-3 Model List Display Area
Option
Display
Function
Show Models
Currently selected device or
model library.
Changes the current device or library
(click arrow).
Model Type
Filter
Current model filter setting.
Changes the model filter to display only
models of a particular type (click arrow).
Model Name
Pattern
Current model name pattern
setting.
Changes the model name pattern string
to display only models whose name is
included in the specified character string
(edit type-in box).
Note: Use * for a wildcard selection.
ModelName
Name of the device model.
ModelType
Type of the device model.
Creating Models and Adding Them to a Working Library
You can add a device or interconnect model to the working device or interconnect model
library in either of two ways:
■
By copying (or cloning) an existing model.
■
By creating a new model with default values.
You must first create a device model and add it to the working library before you can edit it to
characterize a particular device.
To display a pop-up menu of models to add:
➤
Click Add Model in the Library area of the Model Browser dialog box.
A pop-up menu of options is displayed as shown in the following figure.
January 2002
76
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-2 Adding a Model
The following table describes the Add Model menu options.
Table 4-4 Model List Display Area
Option
Action
Clone Selection
Copies the selected model from the list box and adds the clone to the
working library. You specify the name the clone.
EspiceDevice
Displays the Create ESpice Device Model dialog box.
IBISDevice
Displays the Create IBIS Device Model dialog box.
PackageModel
thru BoardModel
Opens an empty file that you must edit to create the specified model,
which then is added to the working library.
Note: When a new device model is added to the working library, the library check program
(dmlcheck) verifies the validity of the entry.
Deleting a Model
Use Delete Model to remove the model previously selected from the model list box.
January 2002
77
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Model Setup in Concept or Third-Party Libraries
You specify the model setup for components in Concept libraries. When SigNoise finds that
a component has no SIGNAL_MODEL property, it checks to see if it has a SIGNAL_MODEL
property on the device definition. You can attach SIGNAL_MODEL properties to device
definitions by setting the SIGNAL_MODEL property in one of the following:
■
the chips_prt file for that device
■
the phys_prt.dat file for your schematic
■
the Allegro device file (if you are using netin)
The value of the SIGNAL_MODEL property must be the name of an IBISDevice or
ESpiceDevice model. Furthermore, SigNoise validates all model assignments based on the
PINUSE property.
The SIGNAL_MODEL property assigned to components using the Signal Model Assignment
dialog box (instances) will override those in the device definition, if they exist.
SigNoise uses the following precedence to determine which model gets assigned to a device:
1. An instance-specific SIGNAL_MODEL assignment made in the Signal Model
Assignment dialog box (stored in the .brd file)
2. A SIGNAL_MODEL property on the component definition (Concept’s PPT file)
3. A VOLT_TEMP_MODEL property on the component definition (Concept’s PPT file)
4. A DEFAULT_SIGNAL_MODEL property on the component definition (Concept’s PPT
file)
A common use of the DEFAULT_SIGNAL_MODEL property is to establish a model name for
the device before the actual model is developed. SigNoise will warn you when a part with a
SIGNAL_MODEL property does not have an associated model; however, with the
DEFAULT_MODEL_NAME property attached to a part, SigNoise will not report an error when
a model is not yet available.
You could use the DEFAULT_MODEL_NAME property as a placeholder for a to-be-procured
library of models or for implementing model names based on your internal model naming
conventions.
January 2002
78
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Advanced Model Development
Editing IBIS Device Models
You can edit any existing IBIS device model (except Cadence default models) that has been
created and added to a library. If you create the model by cloning (copying) an existing model,
you need to edit the cloned model so that it characterizes the device you are modeling. If you
create the model from scratch, it contains default values that you may want to edit. See
“Introduction to Simulation Models” on page 72 for information on creating device models and
adding them to a library. See the SigNoise online help for detailed procedures.
IBIS device models are modified using the IBIS Device Model Editor.
January 2002
79
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-3 The Model Browser
To display the IBIS Device Model editor, double-click on the model name or perform the
following steps:
1. Select an IBIS device model from the Model Browser list box.
If necessary, see “To display the Model Browser from the SPECCTRAQuest
Floorplanner or Allegro/APD:” on page 74for assistance.
2. Click Edit.
The IBIS Device Model Editor dialog box is displayed as shown in the following figure.
January 2002
80
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
IBIS Device Model Editor
The IBIS Device Model Editor dialog box contains three tabs that you can use to perform the
following tasks.
■
Edit information for the pins associated with the IBIS device model.
■
Group power and ground pins and assign them to power and ground buses.
■
Group signal pins and assign IOCell models and IOCell supply buses.
Figure 4-4 IBIS Device Model Editor - Edit Pins Tab
Edit Pins Tab
Use this tabbed page of the IBIS Device Model Editor to:
■
Specify package model parasitics for the device.
January 2002
81
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
■
Specify estimated pin parasitics for the device in terms of minimum, typical, and
maximum values for resistance, capacitance, and inductance for the package.
■
Add or modify pin data including individual pin parasitics and buffer delays.
■
Measure buffer delays.
■
Add, edit, or display buffer delay information.
■
Set wire numbers.
Tab Options and Buttons
The following tables describe the command options and buttons in the different areas of the
Edit Pins tab.
.
Table 4-5 Model Info Area
Option
Function
Model Name
Name of the IBIS device model.
Manufacturer
Name of the model manufacturer (not used by SigNoise).
Package Model
Name of a package model associated with the IBIS device model.
Table 4-6 Estimated Pin Parasitics Area
Option
Function
Resistance
Minimum, typical, and maximum values for resistance.
Capacitance
Minimum, typical, and maximum values for capacitance.
Inductance
Minimum, typical, and maximum values for inductance.
Note: See Guidelines on Specifying Parasitic Values for additional information. These values
are used for pins that have no individual pin parasitics (when the IBIS Device model has no
assigned PackageModel)
.
Table 4-7 IBIS Pin Data Area
Option
Function
Pin
The pin number.
January 2002
82
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-7 IBIS Pin Data Area
Option
Function
Signal
The signal associated with the pin.
IOCell
The associated IOCell model.
Resistance
The resistance, if you are using individual pin parasitics.
Capacitance
The capacitance, if you are using individual pin parasitics.
Inductance
The inductance, if you are using individual pin parasitics.
DiffPair Mate
The inverse pin, if the pin is part of a differential pair.
Wire
The wire number, which determines which wire of the PackageModel
is used for this pin.
Use the IBIS Pin Data area to view and edit the data, including buffer delays, for each pin
associated with the IBIS device model. Pins are listed by wire number order. Pins with no wire
number are listed in alphanumeric order.
When you select a pin in the list box, the IBIS Device Pin Data dialog box appears displaying
data for that pin. For details, see “Adding or Editing Data for a Pin” on page 92
.
Table 4-8 Edit Pins Command Buttons
Button
Function
Add Pin Data
Prompts for the name of a new pin to add, and displays the IBIS
Device Pin Data dialog box to add or modify data including buffer
delays for a new pin.
January 2002
83
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-8 Edit Pins Command Buttons
Button
Function
Measure Delays
Measures buffer delays by simulating each pin with the proper test
load. On pins with a Model Selector assigned, budderdelays are
simulated for each selectable IOCELL. If you use a Package Model,
you must perform simulations for each driver pin. Otherwise, pins
with identical parasitics and IOCELL assignments will share
simulation data. A progress meter displays the status of the process
for buffer delay simulations, especially for complex parts. You can
click the Stop button to cancel the simulation.
Options:
Unmeasured Drivers - creates data for drivers not previously
processed.
All Drivers - creates data for all drivers, refreshes previously
processed data.
Set WireNumbers Sets the wire number for each pin based on a sort criteria.
Options:
Order by Pin Name - Pins are sorted by pin name. Wire numbers
are assigned numerically starting at one. Alphabetic and numeric
portions of names are separately considered so that, for example, A2
appears before A10 and B6.
Order by IOCell Name - Pins are sorted first by IOCell model
name. Second, pins with the same IOCell model assigned are sorted
by pin name. Wire numbers are then assigned numerically starting at
one.
Note: After the wire numbers have been set, the pin list is displayed
in wire number order.
DML Check
Runs the dmlcheck utility on the model being edited and displays the
result in a text window.
OK
Runs dmlcheck before saving the model data and displays the result
in a text window. If errors are detected, you will be asked whether to
save the model anyway. A No response leaves the IBIS Device Editor
open.
January 2002
84
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Assign Power/Ground Pins Tab
Use this tab to group the power and ground pins of a device into named power and ground
buses.
Figure 4-5 IBIS Device Model Editor - Assign Power/Ground Pins Tab
Tab Areas and Buttons
The following tables describe the data fields and command buttons in the different areas of
the Assign Power/Ground Pins tabbed page. The Pinuse, NetName, and CD Voltage
columns show data only when you invoke the IBIS Device Editor by clicking the Edit Model
button in the Signal Model Assignment form to open a populated design.
Table 4-9 All Pins Area Options
Option
Function
Pin #
The pin number.
January 2002
85
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-9 All Pins Area Options
Option
Function
Bus Name
Any power bus or ground bus currently assigned to the pin. This
column is blank for a pin that is not currently assigned to a bus.
Pinuse
The pinuse code. UNSPEC indicates that no pinuse is assigned.
(This information displays only when you have invoked the IBIS
Device Model Editor for a specific instance of a device selected in
the Model Assignment dialog box.)
Net Name
The name of any net connected to the pin. This column is blank
when you are editing a model selected from a library. This column
displays a net name when you are editing a model associated
with a device that exists in the active design. (This information
displays only when you have invoked the IBIS Device Model
Editor for a specific instance of a device selected in the Model
Assignment dialog box.)
DC Voltage
The value of the Voltage property on any net attached to the pin.
This column is blank when the net has no Voltage property or the
pin is not attached to a net. (This information displays only when
you have invoked the IBIS Device Model Editor for a specific
instance of a device selected in the Model Assignment dialog
box.)
Nets Shown for
Component
The RefDes for the device associated with the model being
edited. (This information displays only when you have invoked the
IBIS Device Model Editor for a specific instance of a device
selected in the Model Assignment dialog box.)
Table 4-10 All Pins Area Buttons
Button
Function
Auto Assignment
Assigns individual pins not currently assigned to a bus and having a
pinuse of power or ground or a DC voltage defined to individual
power or ground buses.
Sort By
(column buttons)
Selects one of the columns on which to sort the data.
Sort By:
Pins can be sorted by using pin#, BusName, PinUse, NetName, or
DC Voltage.
January 2002
86
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-10 All Pins Area Buttons
Button
Function
Filters:
(pulldown menu)
Filters the information displayed in the column. Initially the field
contains an asterisk (*) so that all data is displayed.
Bus Name lists existing buses.
Pinuse lists existing pinuse codes.
Select All
Selects all pins currently displayed in the All Pins list box and
redisplays them in the Selected Pins list box.
Deselect All
Deselects all pins currently selected and clears the All Pins list box.
Deselect One
Deselects one pin in the All Pins list box.
Table 4-11 Selected Pins Area Options
Option
Function
Pin #
The pin number for pins selected from the All Pins list box.
Bus Name
The bus name for pins selected from the All Pins list box.
Bus Name
(entry field and
pulldown menu)
Enter the bus name to be assigned or select an existing bus name
from the menu.
Table 4-12 Selected Pins Area Command Buttons
Button
Function
Assign as Power
Bus
Assigns all pins listed in the Selected Pins list box to the power
bus named in the Bus Name field. The pins become power pins.
Assign as Ground
Bus
Assigns all pins listed in the Selected Pins list box to the ground
bus named in the Bus Name field. The pins become ground pins.
Deassign
Deassigns all pins listed in the Selected Pins list box from the
power or ground bus named in the Bus Name field and deletes
the bus name.
DML Check
Runs the dmlcheck utility on the model being edited and displays
the result in a text window.
January 2002
87
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-12 Selected Pins Area Command Buttons
Button
Function
OK
Runs dmlcheck before saving the model data and displays the
result in text window. If errors are detected, you will be asked
whether to save the model anyway. A No response, leaves the
IBIS Device Editor open.
Assign Signal Pins Tab
Use this tab to group the signal pins of a device and assign a power or ground bus name or
an IOCell model to the group.
Figure 4-6 IBIS Device Model Editor - Assign Signal Pins Tab
January 2002
88
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Tab Options and Buttons
The following tables describes the command options and buttons in the different areas of the
Assign Signal Pins tab.
.
Table 4-13 All Pins Area Options
Option
Function
Pin #
The pin number.
IOCell
Any IOCell model currently assigned to the pin.
Power Bus
Any power bus currently assigned to the pin. This column is blank for
a pin that is not currently assigned to a power bus.
Ground Bus
Any ground bus currently assigned to the pin. This column is blank for
a pin that is not currently assigned to a ground bus.
Pinuse
The pinuse code. UNSPEC indicates that no pinuse is assigned.
Net Name
The name of any net connected to the pin. This column is blank when
you are editing a model selected from a library. This column displays
a net name when you are editing a model associated with a device
that exists in the active design.
Nets Shown for
Component field
The RefDes for the device associated with the model being edited.
This occurs when you invoke the IBIS Device Model Editor for a
specific instance of a device selected in the Model Assignment dialog
box.
Sort By
(column buttons)
Selects one of the columns on which to sort the data.
Sort By
(pulldown menus)
Filters the information displayed in the column. Initially the field
contains an asterisk (*) so that all data is displayed.
The Power Bus menu lists existing power buses.
The Ground Bus menu lists existing ground buses.
The Pinuse menu lists existing pinuse codes.
Table 4-14 All Pins Area Buttons
Button
Function
Select All
Selects all pins currently displayed in the All Pins list box and redisplays them in the Selected Pins list box.
January 2002
89
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-14 All Pins Area Buttons
Button
Function
Deselect All
Deselects all pins currently selected and clears the All Pins list box.
Deselect One
Deselects one pin in the All Pins list box.
Table 4-15 Select Pins Area Options
Option
Function
Assign/Deassign Assigns or deassigns the group of pins listed in the Selected Pins list
buttons
box to the IOCell model, power bus, or ground bus named in the
associated field.
Pin #
The pin number for pins selected from the All Pins list box.
IOCell
The IOCell model assigned for pins selected from the All Pins list
box.
Power Bus
The power bus name for pins selected from the All Pins list box.
Ground Bus
The ground bus name for pins selected from the All Pins list box.
IOCell
Browse
(field and button)
Enter the IOCell model name to be assigned to the group of pin or
click Browse to display the Model Browser and select an IOCell model
there.
Power Bus
(field and menu)
Enter the power bus name to be assigned to the group of pins or
select an existing power bus name from the menu.
Ground Bus
(field and menu)
Enter the ground bus name to be assigned to the group of pins or pick
an existing ground bus name from the pull down menu.
Table 4-16 Select Pins Area Buttons
Button
Function
DML Check
Runs the dmlcheck utility on the model being edited and displays the
result in a text window.
OK
Runs dmlcheck before saving the model data and displays the result
in text window. If errors are detected, you will be asked whether to
save the model anyway. A No response, leaves the IBIS Device Editor
open.
January 2002
90
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Guidelines for Specifying Parasitic Values
Parasitic values for an IBIS device can be represented with differing levels of detail.
■
Estimated pin parasitics are the most general.
Estimated pin parasitic values are defined globally for the package. The same set of
resistance, inductance, and capacitance values is used for all pins on the device.
Estimated pin parasitics consist of minimum, typical, and maximum values for package
resistance, inductance, and capacitance. See Specifying Estimated Pin Parasitics for
instructions.
■
Individual pin parasitics are more specific.
Individual package resistance, inductance, and capacitance values are defined on a pinby-pin basis. When they are supplied, these individual pin parasitic values override
estimated pin parasitic values, if any exist. See Specifying Parasitic Values for Individual
Pins for instructions.
■
Package model parasitics are most specific.
A detailed RLGC that can specify mutual coupling is defined for the entire package.
Optionally, a package model can contain an arbitrary passive Spice circuit. When a
package model is present, it takes precedence over both estimated and individual pin
parasitic values, if any exist. See Specifying Package Model Parasitics for instructions.
Specifying Parasitics
To specify parasitics for an IBIS device, first select the Edit Pins tab of the IBIS Device Model
Editor dialog box.
Specifying Estimated Pin Parasitics
Use the Estimated Pin Parasitics area of the Edit Pins tab to enter minimum, typical, and
maximum values for resistance, capacitance, and inductance. Delete any listed package
model from the Package Model field in the Model Info section of the Edit Pins tab. See the
online help for the IBIS Device Model Editor for detailed instructions.
Specifying Package Model Parasitics
Use the Package Model area of the Edit Pins tab to specify a package model for the IBIS
device model. Select a package model name in the Model Browser or click the Package
January 2002
91
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Model field and type the package model name. See the online help for the IBIS Device Model
Editor for detailed instructions. See the SigNoise online help for detailed instructions.
Note: SigNoise uses this specified package model in the simulation circuit model of the
layout and will ignore any values in the Estimated Pin Parasitics fields. Also, ensure that
you remeasure buffer delays after changing parasitics.
Adding and Changing Pin Definitions
The IBIS Device Model Editor contains a list box that displays the pins in the device and
describes the data defined for each. For example, the pin’s IOCell model and parasitics. From
the IBIS Device Model Editor, you can display the IBIS Device Pin Data dialog box to:
■
Add or edit data (including individual pin parasitics) for the pins in the IBIS device model .
■
Add or edit buffer delay information for the pins in the IBIS device model. See “Adding or
Editing Buffer Delay Data for a Pin” on page 95.
Adding or Editing Data for a Pin
To display the IBIS Device Pin Data dialog box with data for a specified pin.
➤
Click to select the pin in the IBIS Pin Data list box in the IBIS Device Model Editor.
To display data for a different pin.
➤
Click to select another pin in the IBIS Pin Data list box. The IBIS Device Pin Data dialog
box changes to display data for that pin.
To display the IBIS Device Pin Data dialog box and add data for a new pin.
➤
Click Add Pin Data on the Edit Pins tabbed page and specify the pin name.
See the online help for the IBIS Device Model Editor and the IBIS Device Pin Data dialog
boxes for detailed instructions.
The following figure shows the IBIS Device Pin Data dialog box.
January 2002
92
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-7 IBIS Device Pin Data dialog box
Dialog Box Options and Buttons
The following tables describe the command options and buttons in the different areas of the
IBIS Device Pin Data dialog box
.
Table 4-17 IBIS Pin Map Area Options
Option
Function
Pin
The pin whose data is displayed.
Signal
The signal associated with the pin. Pins with an NC signal are not
connected. You can ignore these pins in the IBIS Device Model
Editor.
January 2002
93
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-17 IBIS Pin Map Area Options
Option
Function
Resistance
The Individual Pin Parasitic values for the pin (if you are not using a
package model).
Capacitance
Inductance
Wire Number
The wire number for the pin. (This can be the same as the pin
number if numeric.) Wire numbers specify the wire numbers for the
package model and are used only for IBIS device models that have a
package model.
IOCell
The IOCell model associated with the pin. Pins with an NC model are
not connected. You can ignore these pins in the IBIS Device Model
Editor.
If you want to view the voltage versus current (V/I) curves for an
IOCell model before you assign it to a pin as part of the IBIS device
model, open the model in the IOCell Editor and use the View VI
button.
Note: Whenever you have made changes to the IOCell models for a
device, regenerate the buffer delay values for the device using All
Drivers mode.
Power Bus
Name of the power bus.
Power Clamp Bus
Name of the power clamp bus.
Ground Bus
Name of the ground bus
Ground Clamp Bus
Name of the ground clamp bus.
Table 4-18 Diff Pair Data Area Options
Option
Function
Type
Identifies the pin listed in the Pin field as the Inverting or Non-inverting
pin of the differential pair.
When the Type field displays None, the pin identified in the Pin field is
not part of a differential pair.
Mate Pin
January 2002
The name of the differential pair mate pin to the pin identified in the
Pin field.
94
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-18 Diff Pair Data Area Options
Option
Function
Launch Delay
Minimum, typical and maximum launch delay values for the pin, if it is
an Output or IO pin.
Input High
Minimum, typical and maximum differential logic threshold values.
Input Low
Output High
Output Low
Table 4-19 IBIS Device Pin Data Buttons
Button
Function
Buffer Delays
Displays the Buffer Delays dialog box that enables you to change the
buffer delay information for a pin. This dialog box contains the data that
SigNoise uses to calculate buffer delay values for rising and falling
drivers (output buffers).
Adding or Editing Buffer Delay Information
Use the Buffer Delays dialog box to add or edit buffer delay information for the IOCell models
associated with the pins in an IBIS device model.
Note: Whenever any IOCell model data changes, it is important to recalculate buffer delay
values in all drivers mode using either the Measure Delays in the Buffer Delays dialog box
or Measure Delays — All Drivers from the IBIS Device Model Editor.
Adding or Editing Buffer Delay Data for a Pin
To display the Buffer Delays dialog box for a specific pin.
➤
Click Buffer Delays on the Ibis Device Pin Data dialog box.
The following figure shows the Buffer Delays dialog box.
January 2002
95
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-8 Buffer Delays dialog box
Dialog Box Fields and Buttons
The following tables describe the command options and buttons in the Buffer Delays dialog
box.
.
Table 4-20 Buffer Delays Options
Option
Function
Test Fixture for
IOCell
Displays the IOCell for the pin and its related values as entered into
the Delay Measurement tab of the IOCell Editor. If the pin has more
than one selectable IOCell, you can select the IOCell to display with
the popup menu. Buffer delays are measured using each IOCell, and
stored separately.
Resistor
Capacitor
Term Voltage
Ref Voltage
Rise Delay
Fall Delay
Fast, Typical, and Slow values for rise and fall delay measured from
IOCell delay measurement information. Use these fields to edit output
buffer delay values directly.
See the online help for the IBIS Device Pin Data and Buffer Delays dialog boxes for detailed
instructions.
January 2002
96
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
.
Table 4-21 Buffer Delays Buttons
Button
Function
Edit IOCell
Starts IOCell Editor for the associated IOCell model where you can
edit test fixture values (resistor, capacitor, term voltage, and ref
voltage) and other IOCell model information. Test fixture values specify
the loading conditions under which SigNoise measures buffer delays.
Test fixture values are associated with the IOCell model for a pin rather
than with the pin itself.
Measure Delays
Refreshes the delay values if the IOCell model information has
changed: slow, typical, and fast buffer delay values for rising and falling
drivers. SigNoise performs the buffer delay measurements for only one
pin. (You can also measure buffer delays from the IBIS Device Model
Editor.)
Note: Whenever you have made changes to the IOCell models for a
device, regenerate the buffer delay values for the device using all
drivers mode.
More About Buffer Delays for an IBIS Device Model
When buffer delay values exist for the pins on an IBIS device, they are used to compensate
the switch and settle delay values that appear in reports. The pin’s associated buffer delay
value (rise/fall or fast/typical/slow) is subtracted from the absolute switch and settle delay
waveform measurements to produce the compensated switch delay and settle delay values.
Note: If no buffer delay values exist for a particular driver pin, the reported absolute switch
and settle delay values are left uncompensated.
When measuring buffer delay values for a device, SigNoise performs only one simulation set
for each group of pins having the same IOCell model, pin parasitics, and test fixture. Because
of the complex nature of package models, SigNoise always simulates all pins for any device
having an assigned package model.
Measuring Buffer Delay Values
In the IBIS Device Model Editor, click left on Measure Delays to display the delay
measurement options: Unmeasured Drivers and All Drivers.
■
Use Measure Delays – Unmeasured Drivers to calculate all six measured delay
values: slow, typical, and fast buffer delays for all rising and falling drivers that currently
January 2002
97
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
have no buffer delay values. In unmeasured drivers mode, SigNoise will reuse existing
simulation results, even from other devices, in order to maximize performance.
■
Use Measure Delays – All Drivers to calculate all six measured delay values: slow,
typical, and fast buffer delays for every rising or falling driver. These new values override
any previous buffer delay values that exist in the model. The new values are saved in the
buffer delay section for each driver. In all drivers mode, all delay values are re-measured.
Existing simulation results are not used. Use all drivers mode to regenerate buffer delay
values for a device whenever any changes are made to the IOCell models for that device.
These new values override any previous buffer delay values that exist in the model. The new
values are saved for each driver.
Using Buffer Delay Compensation
There are several ways to use buffer delay compensation.
■
Generate Reflection or Delay reports, which have buffer delay compensated switch and
settle time values.
■
Run the a2sdf wire delay extract utility with the -s option to produce compensated
wire delays. For details, see Chapter 5, “SDF Wire Delay Report.”
■
Examine switch and settle delay values using the SigXP results spreadsheet.
■
Create and examine compensated delay values for a driver using the IBIS Device Model
Editor.
If buffer delay values exist for a pin on an IBIS device, the delay values are extracted from the
library data for the pin’s IOCell model and subtracted from the simulated times of threshold
crossing delays to produce compensated first switch and final settle delays.
When buffer delay values do not exist for an IOCell model, no buffer delay is subtracted and
buffer delay appears in reports as 0.0.
Measuring Compensated Buffer Delay Values from the IBIS Device Model Editor
You can use the IBIS Device Model Editor to simulate, measure, and edit buffer delay values
and associated data for drivers associated with a selected IBIS Device model. See the online
help for Measuring Buffer Delays for detailed instructions.
January 2002
98
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Editing IBIS IOCell Models
You can edit any existing IOCell model that has been created and added to a library. If you
created the model by cloning (or copying) an existing model, you need to edit the cloned
model so that it characterizes the device you are modeling. If you created the model from
scratch, it will contain default values that you may want to edit. See “Introduction to Simulation
Models” on page 72 for general information on creating device models and adding them to a
library. See the SigNoise online help for detailed procedures.
Note: Whenever any changes are made to the IOCell models for a device, regenerate the
buffer delay values for a device using all drivers mode. See “Adding or Editing Buffer Delay
Data for a Pin” on page 95 for more information.
IBIS IOCell models are modified using the IBIS IOCell Editor. Using the IOCell Editor you can
modify:
■
General information about the model.
■
High and low logic thresholds for an input buffer.
■
Rise and fall times and high and low logic thresholds for an output buffer.
■
Delay measurement test fixture data for the model.
January 2002
99
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-9 The Model Browser
To display the IBIS IOCell editor, doubleclick on the IOCell name, or perform the following
steps:
1. Select an IBIS IOCell model from the Model Browser list box.
2. Click Edit.
The IBIS IOCell Editor dialog box is displayed as shown in the following figure.
January 2002
100
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-10 IOCell Editor - General Tab
General Tab
Use this tab of the IOCell Editor to perform the following tasks.
■
List the name, model type, and technology family of the IOCell model you are editing.
■
Access the V/I curve editors.
Tab Options and Buttons
The following tables describe the command options and buttons on the General tab.
Table 4-22 General Tab Options
Option
Function
Name
The name of the model.
Type
The type of model.
Technology
Displays a pop-up menu of technologies. Choices are CMOS, TTL,
and ECL.
January 2002
101
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-22 General Tab Options
Option
Function
V/I Curves
Starts V/I curve editor for PowerClamp or GroundClamp.
Die Capacitance Minimum, typical, and maximum values for die capacitance.
Reference
Temperature
Minimum, typical, and maximum reference temperatures.
.
Table 4-23 General Tab Buttons
Button
Function
Power Clamp
Starts V/I Curve Editor for Power Clamp.
Ground Clamp
Starts V/I Curve Editor for Ground Clamp.
View VI
Displays the minimum, typical, or maximum VI curve.
General Tab Usage Notes
■
You can verify the minimum, typical, and maximum values for the die capacitance in the
IBIS data file, the die capacitance values are listed under c_comp.
■
The reference temperature is typically 50 degrees, with a minimum of 0 degrees and a
maximum of 100 degrees. The voltage and current values for the Power Clamp, Ground
Clamp, Pull Up, and Pull Down VI curves that you enter elsewhere in the IOCell editor
correspond to the reference temperature you enter here.
January 2002
102
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Input Section Tab
Use this tab to enter high and low thresholds for voltage-in.
Figure 4-11 IOCell Editor - Input Section Tab
Tab Options and Buttons
The following tables describe the command options and buttons on the Input Section tab.
Table 4-24 Input Section Options
Option
Function
Logic Thresholds Minimum, typical, and maximum values for high and low input
thresholds.
Table 4-25 Input Section Buttons
Button
Function
View VI
Displays the minimum, typical, or maximum VI curve.
January 2002
103
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Output Section Tab
Use this tab to enter minimum, typical, and maximum voltage and time delta values for rise
and fall slew rate. You can also access the VI and VT curve editors from this tab.
Figure 4-12 IOCell Editor - Output Section Tab
Tab Options and Buttons
The following tables describe the command options and buttons on the OutputSection tab.
Table 4-26 Output Section Options
Option
Function
Ramp (20%/
80%)
Minimum, typical, and maximum dV and dT values for rising and falling
slew rates.
V/I Curves
Starts the VI curve editor to examine Pull Up or Pull Down VI curves.
V/T Curves
Starts the VT curve editor to examine Rising Wave and Falling Wave
VT curves.
January 2002
104
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-27 Output Section Command Buttons
Button
Function
View VI
Displays the minimum, typical, or maximum composite VI curves.
Output Section Tab Usage Notes
■
Use the Rise Slew dV and dT fields and the Fall Slew dV and dT fields to specify
minimum, typical, and maximum values for ramp rates associated with the IOCell model.
By IBIS convention, the ramp rate values (the dV/dT values or slew rates) are required
to be 20%/80% values. This implies that the rise time and the fall time are defined as the
time it takes the output buffer to go from 20% of its final value to 80% of its final value.
The dV value represents the difference between 20% and 80% of the actual voltage
swing. The dT value is the actual time taken for the 20%/80% voltage swing.
Ramp rate values must also be correctly categorized as minimum, typical, and maximum
slew rates. The minimum value is the slowest slew rate and the maximum value is the
fastest.
■
■
Use PullUp and PullDown to start a VI Curve Editor and enter high and low output
voltage and current data point values
❑
PullUp–High state V/I curve
❑
PullDown–Low state V/I curve
The View VI button displays the following curves in SigWave:
❑
Sum of Pullup, PowerClamp, and GroundClamp (hidden)
❑
Sum of Pulldown, PowerClamp, and GroundClamp (hidden)
❑
Pullup
❑
Pulldown
❑
PowerClamp
❑
GroundClamp
The Pullup and PowerClamp curves are offset on the voltage scale by the respective
Reference Voltage. For a 3.3V part, for example, 1.0V on the Pullup curve is
summed at 3.3V - 1.0V = 2.3V on the curve display. The composite sum curves
are initially hidden in SigWave.
January 2002
105
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
■
Use Rise Wave and Fall Wave to start a VT Curve Editor and enter high and low output
voltage and time data point values
❑
Rise Wave–Rising V/T curve
❑
Fall Wave–Falling V/I curve
Delay Measurement Tab
This tab contains the test fixture data SigNoise uses when measuring buffer delays for rising
and falling drivers (output buffers).
Figure 4-13 IOCell Editor - Delay Measurement Tab
Tab Options and Buttons
The following tables describe the command options and buttons on the Delay Measurement
tab.
January 2002
106
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-28 Delay Measurement Options
Option
Function
Test Fixture
Test fixture values for resistance, capacitance, and termination voltage.
V Measure
Reference voltage.
Table 4-29 Delay Measurement Command Buttons
Button
Function
View VI
Displays the minimum, typical, or maximum VI curve.
Defining Test Fixture Information for Delay Measurement
Use the Resistor, Capacitor, Termination Voltage and Reference Voltage fields to
modify the delay measurement test fixture values.
The test fixture values specify the loading conditions under which SigNoise measures buffer
delays. Note that the test fixture circuit illustrated in the folowing figure includes the package
parasitics for the specific pin being measured.
Figure 4-14 Delay Measurement Test Fixture Circuit
Vterm
Rterm
Vout
Cterm
January 2002
107
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Editing V/I Curve Data
Depending on the behavior for which you intend to edit VI curve data, access the VI curve
editor from either the General and Output Section tabs of the IOCell Editor dialog box .
To display a VI curve editor:
➤
➤
From the General tab of the IOCell Model Editor, click
❑
PowerClamp to edit the V/I curve for a diode clamping high
❑
GroundClamp to edit the V/I curve for a diode clamping low
From the Output Section tab of the IOCell Model Editor, click
❑
PullUp to edit the high state V/I curve
❑
PullDown to edit the low state V/I curve
The V/I Curve Editor is displayed for the specified behavior. The following figure shows the
PowerClamp V/I Curve Editor dialog box.
Figure 4-15 V/I Curve Editor dialog box
January 2002
108
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Dialog Box Options and Buttons
The following tables describe the command options and buttons in the Buffer Delays dialog
box.
Table 4-30 V/I Curve Editor Options
Option
Function
Reference
Voltage
Minimum, typical, and maximum reference voltages for the IOCell
model.
V/I Convention
Specified format (Databook or IBIS). In Databook mode, the IBIS
relative voltages are translated to absolute voltages, using the typical
Reference Voltage as gthe offset for Pullup and PowerClamp curves.
Voltage
Voltage of the curve point.
Min I
Minimum tolerance of the curve point in mA.
Typ I
Typical tolerance of the curve point in mA.
Max I
Maximum tolerance of the curve point in mA.
Table 4-31 V/I Curve Editor Buttons
Button
Function
Add
Displays the Set V/I Curve Point dialog box enabling you to Add,
modify, or delete a curve point. See the following figure.
View
Displays a SigWave window showing minimum, typical, and maximum
curves.
Figure 4-16 Set V/I Curve Point dialog box
January 2002
109
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Dialog Box Options and Buttons
The following tables describe the command options and buttons in the Set V/I Curve Point
dialog box
.
Table 4-32 Set V/I Curve Point Options
Option
Function
Voltage
Voltage of the curve point.
Min I
Minimum tolerance of the curve point in mA.
Typ I
Typical tolerance of the curve point in mA.
Max I
Maximum tolerance of the curve point in mA.
Table 4-33 Set V/I Curve Point Buttons
Button
Function
Delete
Deletes the selected line from the VI Curve Editor.
See the online help for the V/I Curve Editor, Set V/I Curve Point and SigWave for detailed
usage instructions.
Editing V/T Curve Data
An IOCell model can have any number of V/T curves. Each curve corresponds to one or more
measured waveforms for a given test fixture. SigNoise compares this test fixture data against
existing circuit conditions, analyzes the waveforms, and then adjusts the IOCell model’s
switching characteristic to mimic the measured waveforms as closely as possible.
You can access the V/T curve editor from the Output Section tab of the IOCell editor. To
display a V/T curve editor:
➤
From the Output Section tab of the IOCell Model Editor, click
❑
Rise Wave to edit the rising V/T curve
❑
Fall Wave to edit the falling V/T curve
The V/T curve editor is displayed for the specified VT curve. The following figure shows the
RisingWaveform V/T Curve Editor dialog box.
January 2002
110
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-17 V/T Curve Editor dialog box
Dialog Box Options and Buttons
The following tables describe the command options and buttons in the V/T Curve Editor
dialog box.
.
Table 4-34 V/T Curve Editor Data Fields
Option
Function
Test
Package (R, L,
C)
Resistance, delay, and capacitance for the test package.
V/T Curve
Test Fixture
(R, L, C) and
(Vmin, Vtyp,
Vmax)
Resistance, delay, and capacitance for the test fixture. The V/T test
fixture is the one that is used to generate the V/T curve data; not the
Delay Measurement test fixture.
Table 4-35 V/T Curve Editor Buttons
Button
Function
View
Display the curve in the SigWave window.
Import
Imports the AWB .wave file.
January 2002
111
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
V/T Curve Editor Usage Notes
■
Use the V/T Curve Test Fixture fields to modify the test fixture for the V/T curve. Select
a test fixture and edit the values.
■
Use View to open the SigWave window and display the waveform for a selected test
fixture.
The SigWave window is displayed with the waveform for the test fixture. See “Displaying
and Interpreting Waveforms” on page 219 for information on using the SigWave window.
■
Use Import to add a V/T curve from an AWB file to the IOCell model.
If the IOCell model you are editing does not have falling_waveform or rising_waveform
sections, you can import the waveform from a carefully designed AWB simulation.
Specify the path to the AWB wave file that contains the measured waveform and a name
for the text fixture.
Editing ESpice Device Models
You can edit any existing ESpice device model that has been created and added to a Library.
If you created the model by cloning (or copying) an existing model, you need to edit the cloned
model so that it characterizes the device you are modeling. If you created the model from
scratch, it will contain default values that you may want to edit. See “Introduction to Simulation
Models” on page 72 for information on creating device models and adding them to a library
Use Edit in the Model Browser to modify a selected ESpiceDevice model. Your default text
editor is opened with the contents of the ESpice model.
Editing PackageModels
You can edit any existing PackageModel that has been created and added to a Library. If you
created the model by cloning (or copying) an existing model, you need to edit the cloned
model so that it characterizes the device you are modeling. If you created the model from
scratch, it will contain default values that you may want to edit. See “Introduction to Simulation
Models” on page 72 for information on creating device models and adding them to a library.
Use Edit in the Model Browser to modify a selected PackageModel. Your default text editor
is opened with the contents of the PackageModel.
January 2002
112
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Editing Cable Models
You can edit any existing cable model that has been created and added to a Library. If you
created the model by cloning (or copying) an existing model, you need to edit the cloned
model so that it characterizes the device you are modeling. If you created the model from
scratch, it will contain default values that you may want to edit. See “Introduction to Simulation
Models” on page 72 for information on creating device models and adding them to a library.
Use Edit in the Model Browser to modify a selected cable model. Your default text editor is
opened with the contents of the cable model.
Editing Analog Output Models
You can edit any existing analog output IOCell model that has been created and added to a
library. If you created the analog output model by cloning (or copying) an existing model, you
need to edit the cloned and renamed copy so that it characterizes the device you are
modeling. If you created the model from scratch, it will contain default values that you may
want to edit. See “Introduction to Simulation Models” on page 72 for information on creating
device models and adding them to a library.
An analog output model represents a driver pin on an analog device. In analog output models,
you specify Cadence Analog Workbench (AWB) wave files for rising and falling edges, pulses,
and inverted pulses to describe the behavior of the driver pin.
Analog Output models are modified using the Analog Output Model editor.
January 2002
113
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-18 The Model Browser
To display the Analog Output Model Editor:
1. Select an Analog Output model from the Model Browser list box.
If necessary, see “To display the Model Browser from the SPECCTRAQuest
Floorplanner or Allegro/APD:” on page 74.
2. Click Edit.
The Analog Output Model Editor dialog box is displayed as shown in the following figure.
January 2002
114
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-19 Anaolg Output Model Editor
Analog Output Model Editor
Using the Analog Output Model editor you can perforn the following tasks.
■
Use the Series Resistance field to specify a resistance value.
■
Use the Rise, Fall, Pulse, and Inv Pulse buttons and fields to specify the paths to one
or more AWB files and import the files. (Use the button with an empty field to display a
file browser.) SigWave displays the selected Analog Workbench file.
Analog Output Model Editor Options and Buttons
The following tables describe the command options and buttons on the Analog Model Editor.
Table 4-36 Analog Output Model Editor Options
Option
Function
Model
The name of the Analog Model.
Series Resistor
The resistance value for a series resistor.
January 2002
115
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-37 Analog Output Model Editor Buttons
Button
Function
Rise
Specifies the path to an Analog Workbench file or displays a file
browser.
Fall
Specifies the path to an Analog Workbench file or displays a file
browser.
Pulse
Displays the path to an Analog Workbench file or displays a file
browser.
Inv Pulse
Displays the path to an Analog Workbench file or displays a file
browser.
Editing and Regenerating Interconnect Models
All interconnect models are written in the Interconnect Description Language (IDL).
To edit an interconnect model:
1. Click to select the interconnect model in the Model Browser list box.
2. Click TextEdit.
Your default text editor containing the interconnect model is displayed.
Once you have modified the geometry portion of an interconnect model using TextEdit, you
can regenerate the model’s electrical data using the Solve button on the Model Browser.
To regenerate an interconnect model:
1. Click to select the modified interconnect model in the Model Browser list box.
2. Click Solve.
The two-dimensional field solver runs the geometry for that model and writes a new
RLGC matrix into the model.
If you select a via model, the three-dimensional field solver is used. This creates a more
accurate model, but requires more computation time.
January 2002
116
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Managing Models in a Design
For improved performance and design portability, device models used for signal integrity
analysis are stored directly in the design database (.brd file). Whenever you edit model
source within a Device Model Library (DML), you will need to refresh the design database in
order to incorporate your changes into the models within your current design.
Models are refreshed by searching DML files based on their pre-defined order in the SigNoise
library list. The first model of the same name and type that is found is used for the refresh.
This scheme allows you to move libraries or add new ones as desired.
When a model in the database is re-loaded from a DML, any Xnets that are affected by the
model are updated. Additionally, pin-use codes of all componenets affected by the refresh are
re-checked. If they are inconsistent with the new model, they are updated and a text window
is displayed with a report listing the pins whose pin-use codes were updated.
When required, device models in the current design can also be dumped to a new signal
integrity model library.
You may want to dump the models in order to:
■
Display the data for the device models in your design.
■
Generate a new DML to enable the portability of the device models (independent of the
design database) that are resident in the current design.
January 2002
117
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Model Dump/Refresh Dialog Box
The Model Dump/Refresh dialog box contains functions which enable you to perform
verification and source management operations on the device models in your current design.
Upon display of the dialog box, models are checked against their source while a meter is
displayed showing the progress of the task. Upon completion of the check, a list box displays
a listing of all models resident in the current design.
To display the Model Dump/Refresh dialog box:
➤
Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD .
The Model Dump/Refresh dialog box is displayed as shown in the following figure.
January 2002
118
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-20 The Model Dump/Refresh Dialog Box
January 2002
119
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
The following tables describe the Model Dump/Refresh dialog box command options and
buttons.
Table 4-38 Model Dump/Refresh Options
Options
Function
Signal
Model
A tree widget showing all models stored in the selected design or the
selected library. The models are grouped according to category. Categories
can be expanded to see model names.
Refresh
Source
The name of the DML (Device Model Library) containing the model. If the
message Not Found is displayed, the model cannot be found in the current
SigNoise libraries
Note: DML files are searched based on their pre-defined order in the
SigNoise library list.
Status
A current status message for the models based on an automatic source
check. See “About Model Status Messages” on page 121.
Table 4-39 Model Dump/Refresh Buttons
Button
Function
View
Differences
Invokes the generation of a Model Differences (line by line comparison)
report for the selected model in a pop-up window. See “View Differences”
on page 122.
Refresh
Causes the selected model in the current design to be overwritten by the
model data contained in its source when its Status field contains a number
greater than zero. This will take effect upon clicking either Apply or OK
Note: The button will be grayed out if a model is not selected or if the model
status is listed as Same.
Refresh All
Causes all the models in the current design that are different to be
overwritten by the model data contained in their corresponding source.
This will take effect upon clicking either Apply or OK.
Note: The button will be grayed out if no models in the current design are
different.
January 2002
120
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-39 Model Dump/Refresh Buttons
Button
Function
Dump
Dumps (writes) all the device models in the current design to
boardname.dml/boardname_encrypted.dml. When the dump is
complete, a confirmer pop-up window is displayed with a message which
reads:
“Model dump finished. For Log messages see dump_libraries.log.”
OK
Applies all the changes made and closes the form.
Apply
Applies all the changes made in the form without closing the form. After
applying the changes a summary report is displayed to verify all the
changes. See “Model Refresh Summary” on page 121.
About Model Status Messages
There are two possible status messages that can appear against a device model in the Signal
Model window. They are described in the following table.
Table 4-40 Model Status Messages
Message
Meaning
Same
The code of the model resident in the current design is
identical to the source code of the model in the library.
Note: For all models from Cadence standard libraries and
Zeelan libraries (which users cannot change), the Status
field value will always be Same.
<integer> differences
There are <integer> differences between the code of the
model resident in the board and its source code within the
library shown in the Refresh Source field.
Reports
Model Refresh Summary
Through the use of the Refresh and Apply buttons in the dialog box, the models in the
current design can be refreshed individually and changes applied without having to close
January 2002
121
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
(OK) the form. When the Apply button is selected, a Model Refresh report displays providing
verification on the models refreshed thus far. The following figure shows a sample report.
Figure 4-21 Sample Model Refresh Report
View Differences
When the status of a device model is listed as an integer, there are differences between the
model code in the current design and its source. You can check these differences by first
selecting the model and then clicking View Differences on the Model Dump/Refresh dialog
box. The following figure shows a sample report.
January 2002
122
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Figure 4-22 Sample View Differences Report
The report shows a line by line comparison of the differences between the selected model’s
data within the current design and its source. If no differences are detected, a message is
displayed
Model Audit
The dmlcheck Utility
Use the dmlcheck utility to check the syntax of one or more library files or models. There are
actually several ways to invoke dmlcheck. As you recall, the IBIS model editors have DML
Check buttons (see Edit Pins Command Buttons table on page 83) which enable you to check
the syntax of new models as they are created. You can check a group of libraries (.dml files)
using a command line entry. Also, in some cases, the dmlcheck utility is invoked
automatically, such as after assigning IOCell models from the Database Setup Advisor.
January 2002
123
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Still another way to invoke dmlcheck is to use one of the following Library Audit options.
To check device model and library syntax:
1. Select one of the options (shown in the following figure) from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD. A file browser appears.
2. Select or enter the name of the library (.dml) or library list (.lst) file to be checked.
January 2002
124
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Upon completion of the library syntax check, the dmlcheck message log window appears with
a description of any warnings or errors found with a library or model format. A sample log is
shown in the following figure.
In cases where dmlcheck has modified a curve to fix some problem, a confirmer pop-up is
displayed asking to overwrite the original library with the output from dmlcheck.
To check library syntax from the UNIX command line:
➤
At the operating system prompt, enter the dmlcheck command with the following
arguments:
dmlcheck [options] <library_filename>...
Table 4-41 dmlcheck Command Arguments
Options
Function
-bufferdelay
Calculate the buffer delay for each IBIS Device pin. You
must also specify the -o option with this option.
-curvedir
<directory>
Creates the specified directory into which each VI and VT
curve creates a SigWave waveform file.
January 2002
125
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
Table 4-41 dmlcheck Command Arguments
Options
Function
-o <extension>
Appends the specified extension to the output file created by
dmlcheck.
library_filename
One or more device model libraries to be checked.
The dmlcheck utility checks the syntax of each file in turn. It prints errors and warning
messages as necessary to standard text output and also reports when a file checks out okay.
Dmlcheck Command Line Examples
■
The following example checks all library files in the current directory.
dmlcheck *.dml
■
The following example checks all library files in the current directory, and writes
converted data into files with the .new extension.
dmlcheck -o new *.dml
■
The following example simulates to measure BufferDelay, which is stored in the .new
output file.
dmlcheck -bufferdelay -o new *.dml
■
The following examples creates a "curves" directory into which is placed a .sim waveform
file for each V/I and V/T curve.
dmlcheck -curvedir curves *.dml
Each waveform file contains the following curves:
❑
The minimum, typical, and maximum curves in the input file.
❑
The same three curves after dmlcheck fixing.
The files are named with the IOCell name and curve name, separated by an underscore.
For example, CDSDefaultIO_Pullup.sim. Use SigWave to view the curves.
Translating Models to DML
You can use translation utilities to translate models from third-party formats to dml files used
by SigNoise. The following table shows which translator to use for each third-party model
format supported by Cadence
January 2002
126
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
.
Table 4-42 Model Translation
Model Format to be Translated to DML
Translator to use
IBIS
ibis2signoise
QUAD
quad2signoise
See Appendix E, “IBIS to DML” or Appendix E, “QUAD to DML” for details on translating
models and for information regarding error and warning messages.
Translating ESpice files to Generic Spice Formats
You can use the spc2spc utility to read a named SigNoise netlist and generate Spice or
Spectre formated output files, with options to allow flattening, node renaming and ladder
network generation. An option to allow the generation of HSpice elements is also available.
Enabling this option also causes HSpice rlgc specification files to be written for each different
coupled transmission line topology.
See Appendix E, “Translating ESpice Files to Generic Spice Files,” for details on translating
ESpice files and for additional information regarding spc2spc translation rules.
January 2002
127
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Developing Simulation Models
January 2002
128
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
5
Analyzing for Signal Integrity and EMI
■
“Simulation Preferences and Parameters” on page 130
■
“Simulating for Signal Integrity and EMI” on page 147
■
“Analysis Results” on page 163
■
“Analyzing to Generate Text Reports” on page 163
■
“Standard Report Generation” on page 170
■
“Analyzing to Generate Waveforms” on page 214
■
“Conductor Cross Sections” on page 220
January 2002
129
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Simulation Preferences and Parameters
Before analyzing a design for signal integrity and EMI, you should set up SigNoise to perform
simulation analysis according to your preferences.
To set simulation preferences:
➤
Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD.
The Analysis Preferences dialog box is displayed as shown in the following figure.
January 2002
130
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Figure 5-1 Analysis Preferences Dialog Box - Device Models Tab
Using this dialog box you can specify:
■
IOCell model defaults
■
Interconnect model defaults
■
Crosstalk specific defaults
■
Simulation mode defaults
■
EMI specific defaults
■
Default simulation units
January 2002
131
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
DeviceModels Tab
From the DeviceModels tab on the Analysis Preferences dialog box, you can determine
whether or not SigNoise will use a default IOCell model when it encounters a driver or
receiver pin without an associated IOCell model. You can further specify which IOCell model
SigNoise will use for six specific pinuse types: IN, OUT, BI, TRI, OCL, and OCA. Use Browse
Models to open the Model Browser set to display IOCell models. See the online help file for
more information.
Tab Options and Buttons
The following tables describe the command options and buttons in the different areas of the
Devices tab.
.
Table 5-1 DeviceModels Tab Options
Option
Function
Use Defaults
for Missing
When checked, SigNoise uses specified default models for devices
without specific model assignments. The default is checked.
Whenunchecked, simulations proceed only for nets with models
assigned for all components.
IN
Defines the default IOCell model for a pin with the PINUSE property
value of IN. The default is CDSDefaultInput.
OUT
Defines the default IOCell model for a pin with a PINUSE property
value of OUT. The default is CDSDefault Output.
BI
Defines the default IOCell model for a pin with a PINUSE property
value of BI. The default is CDSDefaultIO.
TRI
Defines the default IOCell model for a pin with a PINUSE property
value of TRI. The default is CDSDefaultTristate.
OCL
Defines the default IOCell model for a pin with a PINUSE value of
OCL. The default is CDSDefaultOpenDrain.
OCA
Defines the default IOCell model for a pin with a PINUSE value of
OCA. The default is CDSDefaultOpenSource.
January 2002
132
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-1 DeviceModels Tab Options
Option
Function
Buffer Delays Specifies how SigNoise obtains buffer delays for the simulation.
From Library specifies that SigNoise obtain buffer delays stored
with the model in the library. This is the default.
On-the-fly specifies that SigNoise measure buffer delays and use
these delays in the remaining calculations.
Table 5-2 DeviceModels Tab Buttons
Button
Function
Browse Models
Displays the Model Browser, where you can locate and select IOCell
models. See Chapter 4, “The Model Browser.”
InterconnectModels Tab
From the InterconnectModels tab on the Analysis Preferences dialog box, you can establish
default values to determine how interconnect is modeled during simulation both before and
after routing and how crosstalk and SSN analysis is performed.
January 2002
133
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Figure 5-2 Analysis Preferences Dialog Box - Interconnect Models Tab
Tab Options
The following table describes the options in the different areas of the InterconnectModels
tab.
.
Table 5-3 InterconnectModels Tab Fields
Option
Function
Percent
Manhattan
Sets the percent of manhattan distance value for unrouted
transmission lines. The default is 100%.
January 2002
134
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-3 InterconnectModels Tab Fields
Option
Function
Default
Impedance
Sets the default impedance value. A typical value for most
technologies is 20-75 Ohms. The default is 60.
Default Prop
Velocity
Sets the default propagation velocity for unrouted transmission lines.
The default is 1.4142e+ or 0.08M/s.
Cutoff Frequency
Indicates the bandwidth within which interconnect parasitics are to
be solved. The default is 0GHz (and assumes a bandwisth of 1GHz).
Shape Mesh Size
Indicates the boundary element size when modeling routed traces,
which may be considered as shapes if the traces are 40 mils or
wider. The default is 50 mils.
Note: The default mesh size is 50 mils to improve simulator
performace. To get more accurate models for shapes and thick
traces, adjust this parameter to a lower value.
Via Modeling
Specifies how vias are modeled.
Fast Closed Form generates a via sub-circuit on the fly. This is the
default.
Ignore Vias reduces the via to a node in the net.
Accurate Closed Form searches the interconnect model library for
an appropriate via model and creates one if necessary.
Geometry Window Displays the distance away from the primary net that SigNoise
searches for neighbor nets when searching for sources of crosstalk.
SigNoise takes into account the nets on either side of the primary net
as well as the nets on layers above and below the primary net. The
default distance is 10 mil.
Min Coupled
Length
Displays the minimum length for which a primary net and a neighbor
net falling within the geometry window must run parallel in order for
them to be analyzed for crosstalk. The default is 300 mil.
Min Neighbor
Capacitance
Displays the minimum level of capacitive coupling between a primary
net a neighbor net falling within the geometry window in order for
them to be analyzed for crosstalk. The default is 0.1pF
January 2002
135
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-3 InterconnectModels Tab Fields
Option
Function
Do Plane
Modeling
Specifies whether or not ground plane modeling is active. Be sure
that Do Plane Modeling is selected only when you are actively
using ground plane analysis. Checking this causes SSN simulations
to use an RLC mesh representation of the power and ground planes,
which models the delivery of the supply current to components.
Unchecking this models the power and ground planes as ideal
voltage sources in SSN simulations.
January 2002
136
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Simulation Tab
From the Simulation tab on the Analysis Preferences dialog box, you can determine how
simulations are performed by default and define fast, typical, and slow simulation modes.
Figure 5-3 Analysis Preferences Dialog Box - Simulation Tab
Tab Options
The following table describes the command options and buttons in the different areas of the
Simulation tab.
January 2002
137
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-4 Simulation Tab Options
Option
Function
Pulse Cycle Count
Sets the pulse number to measure from a series of pulses.
This value controls the simulation duration so that the
requested number of pulses propagates before the simulation
stops. The default is 1.
Pulse Clock Frequency
Displays the frequency of the pulse stimuli for nets that have
no specific pulse rate assigned. The default is 50 Mhz.
Pulse Duty Cycle
Sets the length of the high portion of the cycle as a fraction.
(0.5 represents equal high and low portions of the cycle.)
Pulse/Step Offset
Sets the launch time offset for the primary driver.
Fixed Duration
When checked the specified value determines the length of
time a simulation will run. If unchecked, SigNoise determines
the duration dynamically for each simulation.
Waveform Resolution
(Time)
Sets the waveform resolution as the default or as one of the
specified values. Controls how many data points are
generated by the simulation and how far apart they are in
time.
Values are: Default (Pulse Cycle Period/100), 10ps,
20ps, 50ps, 100ps, 200ps, 500ps, 1ns, 2ns, 5ns, 10ns.
Choosing a small value results in larger waveform files and
longer simulation times. You can change the default divisor
value with the ANL_WAVE_RESOLUTION_FACTOR
environment variable.
Measure Delays At
Specifies the voltage threshold from which SigNoise
measures delays.
Input Thresholds specifies that SigNoise measure delays at
the Input Logic Thresholds, Vil and Vih.
V Measure specifies that SigNoise measure delays at the
predetermined Buffer Delay Measurement Threshold, Vmeas
or Vmeasure.
Run Simulations in
Debug Mode
January 2002
When checked SigNoise ensures that prerequisites are in
place by running a net audit before running the simulation.
The default is unchecked.
138
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-4 Simulation Tab Options
Option
Function
Report Source Sampling When checked SigNoise reports data for the primary driver as
Data
if it is also a receiver. The default is unchecked.
Table 5-5 Simulation Tab Command Buttons
Button
Function
Fast/Typical/Slow
Opens the dialog box shown in the following figure for setting
default values fast, typical, and slow simulation modes.
Figure 5-4 Fast/Typical/Slow Dialog Box - General Tab
You can represent device operating conditions by simulating in Fast, Typical, and Slow
modes. The device model data is given as minimum, typcial, and maximum values. This form
controls the selection of model values for each simulation mode. For example, minimum Die
Capacitance usually results in the fastest operating mode.
January 2002
139
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Units Tab
From the Units tab on the Analysis Preferences dialog box, you can determine the units in
which certain parameters are presented in dialog boxes and reports.
Figure 5-5 Analysis Preferences Dialog Box - Units Tab
Tab Options
The following table describes the data fields in the different areas of the Units tab.
January 2002
140
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
.
Table 5-6 Units Tab Options
Option
Function
Design Voltage
Displays a pull-down menu of available units for voltage: mV and
V. The default is V. Power supply voltages use this value.
Noise Voltage
Displays a pull-down menu of available units for noise voltage: mV
and V. The default is mV. Crosstalk, overshoot, and undershoot
use this value.
Design Resistance
Displays a pull-down menu of available units for resistance:
mOhm and Ohm. The default is Ohm. Resistor values use this
value.
Parasitic Resistance
Displays a pull-down menu of available units for parasitic
resistance: mOhm and Ohm. The default is mOhm. Package R
uses this value.
Design Capacitance
Displays a pull-down menu of available units for capacitance: pF,
nF, and uF. The default is pF. Capacitor values use this value.
Parasitic
Capacitance
Displays a pull-down menu of available units for parasitic
capacitance: pF, nF, and uF. The default is pF. Package C uses
this value.
Parasitic Inductance
Displays a pull-down menu of available units for parasitic
inductance: nH, pH, and uH. The default is nH. Package L uses
this value.
Delay Time
Displays a pull-down menu of available units for delay time: nS,
uS, mS, and S. The default is nS.
Length
Displays a pull-down menu of available units for length: mil,
Meter, mM, and uM. The default is Meter.
Spacing
Displays a pull-down menu of available units for spacing: mil,
Meter, mM, and uM. The default is mil.
EMI Tab
From the EMI tab on the Analysis Preferences dialog box, you can establish basic setup
information for EMI single net simulation. Use the Standard Preferences to establish an
environment appropriate for EMI simulation during design.
January 2002
141
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Use the information in the Advanced Preferences area to view whether advanced EMI
simulations are selected and to establish advanced preferences for EMI single net simulation.
The advanced EMI preferences specify general control settings for EMI computations,
establish an OATS test environment appropriate for evaluation of an experimental setup, and
define values for computation of near field EMI effects.
Figure 5-6 Analysis Preferences Dialog Box - EMI Tab
Tab Fields
The following table describes the command options and buttons in the different areas of the
EMI tab.
January 2002
142
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
.
Table 5-7 EMI Tab Options - Standard Preferences Area
Option
Function
EMI Regulation
Specifies one of six available EMI regulations against which to
evaluate the design: FCC Class A, FCC Class B,
CISPR Class A, CISPR Class B, VCCI Class 1,
and VCCI Class 2.
The selected regulation determines which regulation curve is
superimposed on the emission level in the SigWave display and
the reported pass/fail status of the emission level.
Design Margin
Sets the design margin value. The Design Margin value is
subtracted from the regulation curve and affects the graphic
display of the regulation curve as well as the pass/fail status of the
report.
The default is 10dB.
Analysis Distance
Sets the distance between the board and the receiving antenna in
the measurements setup. The Analysis Distance value takes
precedence over any measurement distance specified by the
regulation.
The default is 3M.
Table 5-8 EMI Tab Options - Advanced Preferences Area
Option
Function
Emulate OATS
Displays whether or not an Open Area Test Site (OATS) test
scenario is enabled and specified in the Advanced Preferences
dialog box.
The default is No.
Compute Near Fields Displays whether or not computation of near field EMI effects is
enabled and specified in the Advanced Preferences dialog box.
The default is No.
Compute Current
Distribution
Displays whether or not computation of current distribution in the
frequency domain is enabled and specified in the Advanced
Preferences dialog box.
The default is No.
January 2002
143
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-9 EMI Tab Buttons
Button
Function
Set Advanced
Preferences
Opens the dialog box shown in the following figure for specification
of:
■
General control settings for EMI computations
■
Control settings for OATS (Open Area Test Site) test scenario
■
Control settings for computation of near field EMI effects
Figure 5-7 Advanced Preferences Dialog Box
About Setting Preferences and Parameters
IOCell Model Defaults
Using the DeviceModels tab, you can determine whether or not SigNoise will use a default
IOCell model when it encounters a driver or receiver pin without an associated IOCell model.
You can further specify which IOCell model SigNoise will use for six specific pinuse types: IN,
OUT, BI, TRI, OCL, and OCA. Use Browse Models to open the Model Browser set to display
IOCell models. See the online help file for more information.
January 2002
144
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Interconnect Model Defaults
Using the InterconnectModels tab, you can establish default values to determine how
interconnect is modeled during simulation both before and after routing and how crosstalk
analysis is performed.
Unrouted Interconnect Models
For pre-route signal integrity analysis, SigNoise models hypothetical traces using a percent
Manhattan value, a default impedance value, and a default propagation velocity. See the
online help for more information.
Routed Interconnect Models
For post-route signal integrity analysis, you can specify a field solver cutoff frequency and the
way that vias are modeled. The field solver cutoff frequency establishes a bandwidth within
which interconnect parasitics are solved. This prompts the SigNoise field solver to generate
frequency-dependent Cable models in the interconnect library. The default cutoff frequency
of 0GHZ directs the field solver to disregard signal frequencies. This saves computation time,
but may not be as accurate as frequency-dependent interconnect modeling.
To define how vias are modeled during simulation, first select whether vias are to be ignored
or whether each via should have a closed-form model. If you specified that closed-form
models are to be used, you can further specify whether SigNoise should save via models in
the interconnect library and search the interconnect library for via models.
Crosstalk
For crosstalk analysis, you can specify the size of the area that SigNoise will search for
neighbor nets and the minimum mutual capacitance value for a net to be considered a
neighbor net. The geometry window specifies the axial distance from the edge of the trace
that SigNoise will search for neighbor nets. The minimum coupled length is the minimum
distance that two traces must run parallel to each other within the geometry window distance
for SigNoise to consider the adjacent trace to be a neighbor net. The minimum mutual
capacitance value is the minimum amount of capacitive coupling between traces for SigNoise
to look for crosstalk.
Traces falling within the geometry window distance of the interconnect, traveling parallel to it
for more than the minimum coupled length, and having more than the minimum amount of
capacitive coupling will be regarded as neighbor net for the purpose of crosstalk calculations.
January 2002
145
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Simulation Defaults
Using the Simulation tab, you can determine how simulations are performed by default and
define fast, typical, and slow simulation modes.
Define pulse stimuli in the following ways:
■
Use Pulse Cycle count to control the duration of the simulation by entering the number
of pulses to propagate through the system during the simulation.
■
Use Pulse Clock Frequency to control the cycle period for the pulse voltage sources
used for active drivers in the simulation.
■
Use Pulse Duty Cycle to specify the portion of the time the pulse stimuli is held in the
high state as a fraction of the entire pulse period.
A value of 0.5 represents equal high and low portions of the cycle period.
■
Use Pulse/Step Offset to control the launch time offset for the primary net driver.
■
Use Fixed Duration to specify the duration for a simulation. When this is not checked,
SigNoise chooses a duration for each simulation dynamically.
■
Use Fixed Timestep to specify the timestep for the simulation. When this is not
checked, SigNoise chooses a timestep for each simulation dynamically. Use caution
when setting fixed timesteps. A timestep that is too large can cause convergence failure
or inaccurate simulation results.
■
Use Fast/Typical/Slow to display the Fast/Typical/Slow Simulation Definition dialog box
to define simulation parameters for fast, typical, and slow simulation modes.
Fast, Typical, and Slow Simulation Modes
Use the Fast/Typical/Slow Simulation Definition dialog box to define simulation
parameters for fast, typical, and slow simulation modes.
On the Simulation tab, use Fast/Typical/Slow to display the Fast/Typical/Slow
Simulation Definition dialog box.
Each tab on this dialog box lets you define fast, typical, and slow mode for a list of related
properties. Properties are listed in a column on the left. Each property is followed by an array
of pulldown menus, one each for slow, typical, and fast mode. These choices refer to the
minimum, typical, and maximum values given in the IOCell model.
January 2002
146
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
In most cases the menu choices are minimum, typical, and maximum. On the General tab,
Ramp Rate choices are FastSlew, TypSlew, and SlowSlew. On the V/I Currents tab, all the
choices are TempCntl, Typ-Z, Low-Z, and High-Z.
If the simulation type is Temperature Controlled, the options in the Typical column of the form
are used, except for the V/I currents. In this case, the V/I curve used is interpolated between
the three given curves based on temperatures for each IOCell and the
VIReferenceTemperature parameter.
Default Units
Using the Units tab, you can establish default unit values by selecting an available unit from
the pulldown menu. See the online help for more information.
Simulating for Signal Integrity and EMI
Simulation Methodology
This section describes a use model for a design process that employs SigNoise to check for
signal integrity and EMI in high-speed printed circuit board (PCB) designs. This process is
part of the Cadence Performance Engineering Methodology.
The simulation tasks outlined include:
■
Setting up SigNoise and performing signal integrity analysis before routing.
■
Performing signal integrity analysis during routing of critical nets.
■
Performing signal integrity analysis after routing.
Preroute Signal Intergrity Analysis
Preroute signal integrity analysis comes after preliminary placement and before routing. In
preroute signal integrity analysis you are looking for the following:
■
How placement effects critical delays and reflections in the design.
■
How net scheduling effects delays and reflections.
■
The need for terminators on nets in the design.
■
An early evaluation of the power distribution system.
January 2002
147
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Preroute Analysis Setup
The following figure and instructions describe the procedure for setting up SigNoise for
preroute signal integrity analysis.
Figure 5-8 Preroute Setup Diagram
Procedure:
1. Optionally, initialize an analysis directory to tell SigNoise where to write signal analysis
data files.
After placement, SigNoise can provide you with delay and distortion data that comes
from hypothetical traces. SigNoise develops these hypothetical traces based on a
percent Manhattan distance between pins and user-defined assumptions for the
characteristic impedance and propagation velocity. This information is specified on the
InterconnectModels tab in the Analysis Preferences dialog box.
2. Load device model libraries.
3. Assign device models from these libraries to components in the design.
4. Set simulation preferences and set up the layout cross section.
The preferences specify, for example, default IOCell models and the units of
measurements for reports. When you set up the cross section, you define, for example,
how the layers stack up and what materials and thicknesses you use for these layers.
January 2002
148
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Performing Preroute Signal Integrity Analysis
After you set up your device models and device model libraries and make IOCell model
assignments, you can perform simulations and generate analysis data.
The following figure and instructions describe the procedure for performing preroute signal
integrity analysis.
Figure 5-9 Preroute Analysis Flow Diagram
Procedure:
1. Select signals for simulation by
❑
Clicking to select a ratsnest line or a pin in the design window.
–or–
❑
Specifying a net by name in the Signal Analysis dialog box.
–or–
❑
Specifying a netlist file by name in the Signal Analysis dialog box or selecting the
nets through Net Browser dialog box.
January 2002
149
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
2. Select the type of analysis results to create.
❑
Click Reports in the Signal Analysis dialog box to present the analysis results as text
reports. This opens the Report Generator.
–or–
❑
Click Waveforms in the Signal Analysis dialog box to present the analysis results as
waveform files. This opens the Waveform Simulation dialog box.
3. Specify the type of simulation you want SigNoise to run.
Select the appropriate options in the Report Generator or the Waveform Simulation
dialog box.
To use the Power Plane Designer to analyze your power and ground plane design,
specify the Do Plane Modeling interconnect modeling preference and perform a SSN
simulation.
4. Trigger the simulation.
Click Create Report or Create Waveforms. SigNoise performs the necessary simulations
based on your specifications.
5. Following simulation, you can look at the delay and distortion data in text reports, view
time domain waveform displays at driver and receiver pins, or view animated movies of
ground bounce between the power and ground planes.
The simulation results might lead you to edit the placement of components again, to
modify net schedules, or to experiment with terminators to suppress distortion.
Critical Net Analysis
After preroute analysis you might want to interactively route critical nets and then analyze
them for signal integrity.
The following figure and instructions describe the procedure for performing Critical Net
analysis during routing.
January 2002
150
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Figure 5-10 Critical Net Analysis Flow Diagram
During preroute analysis, SigNoise built a simulation circuit model. It used the device models
that you specified and the hypothetical interconnect models that it approximated from the
percent Manhattan distance, the default impedance, and the default propagation velocity that
you specified. Now that the critical nets have been routed, you can analyze them more
precisely, this time using the actual etch instead of the Manhattan-based estimates.
Procedure:
1. You can begin critical net analysis with interconnect library setup to specify where you
want SigNoise to save the interconnect models it creates. You might also create a
Parasitics report for a critical net.
2. You can also scan the design for problem areas using the same steps you followed in
preroute analysis.
3. You then select a net for simulation and look at the results as waveform displays and text
reports.
January 2002
151
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
4. After you examine your results you can edit the routing for that critical net and perform
another analysis. The process of analysis and editing the traces is an iterative process
that you can continue until you see satisfactory simulation results.
Postroute Analysis
During postroute signal integrity analysis you look for:
■
The effect of the routed interconnect on signal integrity and EMI.
■
The effect that the routed interconnects have on each other.
That is, you can now see the effect of couplings between interconnect segments and how
they create crosstalk and affect signal integrity and EMI.
■
The effect of neighboring interconnects that you have added since critical nets were
routed.
The following figure and instructions describe a typical procedure for postroute analysis.
January 2002
152
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Figure 5-11 Postroute Analysis Flow Diagram
1. Begin with the parasitic analysis.
2. After parasitic analysis you can scan the design for problem areas or proceed to detailed
analysis of individual nets.
You can run single or multi-line simulations depending on whether you want to take
neighboring nets into account.
3. After simulation you can:
❑
Look at the Delay, Ringing, Crosstalk, SSN, and EMI Single Net reports.
❑
Use the Conductor Cross Section window (sigxsect) to look at geometric displays of
the models SigNoise writes for interconnect segments.
❑
Use the EMWave window to view ground bounce movies.
If two interconnect segments are within the distance specified in Geometry Window
parameter and if you are running multi-line simulations, SigNoise writes a model that includes
January 2002
153
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
both interconnect segments. You see both segments in the Conductor Cross Section
Window. You can also display equipotential field lines between interconnects in the Conductor
Cross Section window. You can slide interconnect segments and see how it changes both the
field lines and the RLGC matrix of the model.
Note: Because of the high volume of simulations often performed for postroute analysis, you
have the option to run postroute analysis in batch mode rather than from the UI. For details,
see “Batch Simulation” on page 160.
Interactive Simulation
Using SigNoise interactively, you can quickly examine, or scan, one or more signals by
performing Reflection simulations and crosstalk estimations on entire designs or on large
groups of signals. You can also probe individual signals, or small groups of signals, where you
want to delve into specific signal behaviors in detail through the generation of discrete text
reports or waveforms.
Text Reports
When generating text reports, you can sort the results by specific criteria (that is, undershoot,
noise margin, or crosstalk) in order to rapidly identify signals that violate electrical constraints.
Waveforms and VI Curves
The waveform data shows the waveform of a signal on a driver-receiver pair. SigNoise
contains a waveform display tool called SigWave. Waveforms for all pins in a simulation circuit
can be displayed in SigWave. SigWave also displays the VI curves for IOCell models.
Conductor Cross Sections
SigNoise generates models for the interconnect in your design. The SigNoise field solver
generates the parasitic values in the model. The SigNoise sigxsect window shows you a
three-dimensional view of the interconnect and its parasitic values.
Ground Bounce “Movies”
When you use power and ground plane design features of the Power Plane Builder to perform
SSN simulation with the Do Plane Modeling feature enabled, SigNoise produces a three
dimensional, animated movie depicting the ground bounce generated during the simulation.
January 2002
154
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
You can use the EMWave window to view the movie as well as a static view of the RF hot
spots that occurred.
Simulation Process
SigNoise can locate problem areas in your design. Use the following steps to diagnose and
resolve those problems:
1. First quickly examine, or scan, large groups of nets, or the entire design, for problem
areas.
2. Based on the waveforms and text reports resulting from these initial analyses, analyze
small groups of signals, or specific individual signals, in order to troubleshoot signal
integrity or EMI issues.
Important
Before performing simulation, be sure that the following optional setup tasks have
been considered:
❑
Manual simulator Initialization
See Chapter 2, “Setting Up the Simulation Environment” for more information.
❑
Specification of simulation preferences and parameters
See “Simulation Preferences and Parameters” on page 130.
Color Highlighting During Analysis
SigNoise will highlight pins and connect line segments on nets when you analyze a design.
When SigNoise analyzes the pin-to-pin connections in a design, it highlights the objects
shown in the following table. The highlight colors can be modified using the
Display – Color/Visibility dialog box in SPECCTRAQuest or the Color – Color Display
dialog box in Allegro/APD
.
Table 5-10 Object Hightlight Colors
Object
Assigned Highlight Color
The connect line segment that contributes Temp highlight
the most crosstalk to the pin-to-pin
connection.
January 2002
155
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-10 Object Hightlight Colors
Object
Assigned Highlight Color
The driver and receiver pins, the connect
line between them, and all components
between these pins such as a series
resistor.
Perm highlight
To begin interactive signal integrity and EMI analysis:
➤
Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD .
The Signal Analysis dialog box is displayed as shown in the following figure.
Figure 5-12 Signal Analysis dialog box
Use the Signal Analysis dialog box as the starting point for performing signal integrity and EMI
emissions simulations. The Signal Analysis dialog box enables you to select nets and driverreceiver combinations for analysis.
January 2002
156
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
You can also display the Signal Analysis Wave and Report Generator dialog boxes from the
Signal Analysis dialog box. In these dialog boxes, you specify which waveforms or reports to
generate. SigNoise performs the necessary simulations accordingly.
The SigXplorer topology editor and the sigxsect interconnect cross-section viewer can also
be launched from the Signal Analysis dialog box. Use SigXplorer to perform what-if studies
on different driver and receiver combinations and transmission line scenarios. Use sigXsect
to display cross-sections of routed interconnect segments.
The following tables describe the data fields and command buttons in the different areas of
the Signal Analysis dialog box.
Table 5-11 Signal Analysis Dialog Box - Options
Option
Function
Net
Specifies a net name or a net name match pattern. New names and
match patterns are added to the pull down list of names.
Nets
Lists the selected nets.
Driver Pins
Lists all driver pins on the net highlighted in the Nets list box.
Load Pins
Lists the receiver pins (or loads) seen by the driver pin highlighted in the
Driver Pins list box.
Other Pins
Lists all the pins seen by the driver pin highlighted in the Driver Pins list
box that are not driver or receiver pins. These pins usually have the
UNSPEC pinuse.
Table 5-12 Signal Analysis Dialog Box - Buttons
Button
Function
List of Nets
Displays a file browser to display netlist files.
Net Browser
Displays an XNET browser for selecting nets.
Reports
Displays the Analysis Report Generator dialog box, for specifying,
generating, viewing, and storing text reports of simulation results.
Waveforms
Displays the Analysis Waveform Generator dialog box for specifying,
generating, viewing, and storing simulation results as waveforms.
View
Topology
Launches the SigXplorer topology modeling interface for the selected
signal.
January 2002
157
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-12 Signal Analysis Dialog Box - Buttons
Button
Function
View
Geometry
Displays the sigxsect viewer for displaying cross-sectional views of routed
interconnect segments.
Selecting Nets and Pins for Simulation
In the Signal Analysis dialog box, you can select nets for analysis in several different ways:
■
Click on ratsnest lines, routed etch, etch, or pins in the design window.
■
Click Net Browser in the Signal Analysis dialog box to select groups of nets by browsing
for netlist files.
❑
■
You can create a netlist file with a text editor. See “Netlist” in the online help for more
information.
At the SPECCTRAQuest Floorplanner or Allegro/APD command line, type:
net <name>
Upon selection of a net or a pin pair, the names of the nets and driver, and receiver pins
appear in the Nets, Driver Pins, and Load Pins list boxes in the Signal Analysis dialog box.
Also, the Allegro message line or the SPECCTRAQuest message log window display
messages that tell you that SigNoise is gathering extended net information for the nets that
you selected.
General Steps for Interactive Simulation
Use the Signal Analysis dialog box and the following procedures to perform interactive signal
integrity and EMI analysis.
To scan a group of nets for signal integrity problem areas:
1. Create a group of nets to analyze in one of the following ways:
❑
Click List of Nets browser to select an existing netlist file.
– or –
❑
Click Net Browser to choose nets by name from a list of available nets.
2. Select the type of simulation output you desire in one of the following ways:
January 2002
158
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
❑
Click Reports to display the Report Generator dialog box to create one of ten
standard text reports or a customized text report.
– or –
❑
Click Waveforms to display the Waveform Generator dialog box to create results as
waveform (.sim) files.
3. In either the Report or Waveform Generator dialog box, specify the details of the
simulation. For example, the type of stimulus to use. See “Analysis Results” on page 163
for more information.
4. Examine the simulation results.
5. Based on your interpretation of the simulation results
❑
Perform more simulations on the current group of nets or select a different group of
nets.
– or –
❑
Perform a more detailed analysis on a smaller group of nets or on a selected net or
driver pin and load pin pair.
To analyze a single net or a single driver pin and load pin pair for signal integrity and
electromagnetic interference problems:
1. Select a net or driver pin and load pin pair in one of the following ways:
❑
Select the net by name from the Nets list box.
– or –
❑
Select the driver pin and load pin by name from the Driver Pins and Load Pins list
boxes
– or –
❑
Select a net by clicking to select it in the design.
2. Select the type of simulation output you desire:
❑
Click Reports to display the Report Generator dialog box to create one of nine
standard text reports or a customized text report.
– or –
❑
Click Waveforms to display the Waveform Generator dialog box to create results as
waveform (.sim) files.
January 2002
159
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
3. In either the Report or Waveform Generator dialog box, specify the details of the
simulation. For example, the type of stimulus to use. See “Analysis Results” on
page 163for more information.
4. Examine the simulation results.
5. Based on your interpretation of the simulation results:
❑
Perform another detailed analysis on the selected net or driver pin and load pin pair.
– or –
❑
Perform a more detailed analysis on a smaller group of nets.
Move back and forth between analyzing groups of nets and probing individual nets and driver
pin and receiver pin pairs where you have located signal integrity problems.
Batch Simulation
In addition to performing signal integrity analysis interactively from the UI, you can also use
SigNoise in batch mode. See the Batch Generation information in each of the text report
sections within “Standard Report Generation” on page 170for more information
Crosstalk Analysis
You can choose between two modes of crosstalk analysis: estimated and simulated.
❑
Estimated crosstalk lets you quickly scan your design to identify problem areas for
further, detailed, crosstalk simulations. Estimated crosstalk constructs a table of
crosstalk data based on a series of crosstalk simulations performed on the specified
traces at various trace spacings.
❑
Detailed crosstalk analysis uses multiline simulations for more detailed and accurate
analysis.
Both crosstalk estimation and detailed crosstalk simulation can be timing-driven. Performing
timing driven crosstalk analysis using crosstalk timing windows greatly increases real-world
accuracy.
Timing-Driven Crosstalk Analysis
SigNoise lets you perform timing driven crosstalk analysis using crosstalk timing windows.
Timing driven crosstalk analysis can both minimize crosstalk false alarms and reduce the
January 2002
160
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
overall pessimism of crosstalk results, thus helping you to increase the density of your
designs.
Crosstalk timing windows use crosstalk timing properties to determine when nets are active
and sensitive. Only aggressor nets that have an active time overlap with the victim nets
sensitive time as crosstalk contributors are considered.
The following crosstalk timing properties can be applied to nets:
❑
XTALK_ACTIVE_TIME
❑
XTALK_SENSITIVE_TIME
❑
XTALK_IGNORE_NETS
You can assign the XTALK_ACTIVE_TIME property to a net to specify the times during which
that net can generate crosstalk on a neighbor net. If a net has no attached
XTALK_ACTIVE_TIME property, SigNoise assumes that the net can generate crosstalk at all
times.
You can assign the XTALK_SENSITIVE_TIME property to specific nets for even greater
accuracy to indicate times when that net is susceptible to crosstalk and when it is not.
You can use the XTALK_IGNORE_NETS property to tell a net or a group of nets to disregard
other nets or group of nets as a source of crosstalk. An example would be when you want to
disregard crosstalk between bits on a synchronous bus.
A Simple Example
In Crosstalk simulations, the XTALK_ACTIVE_TIME, XTALK_SENSITIVE_TIME, and
XTALK_IGNORE_NETS crosstalk properties can be used to determine how to stimulate
multi-line circuits for crosstalk analysis. For example, assume a victim net being analyzed for
crosstalk had 2 aggressor nets, and they had the following properties:
❑
victim net - XTALK_SENSITIVE_TIME = 5-10
❑
neighbor #1 - XTALK_ACTIVE_TIME = 7 - 15
❑
neighbor #2 - XTALK_ACTIVE_TIME = 20-25
Neighbor #2 would not be stimulated in the circuit, since its active time does not overlap with
the victim net's sensitive time. In this case, stimulating both aggressor nets together would be
overly pessimistic, and not indicative of real-world behavior.
For more information, see Chapter 6, “Crosstalk Timing Windows.”
January 2002
161
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
EMI Analysis
Simulation
SigNoise provides EMI single net simulations which allow you to compute differential mode
radiated electric field emissions from traces. Simulation results include a graphical display of
the emission spectrum and a text report summarizing emission details and compliance
results.
Using EMControl with SigNoise
You can use SigNoise in conjunction with EMControl to perform EMI analysis. Some of the
signal routing and signal quality rules provided with EMControl employ SigNoise simulations
and SigNoise device models during analysis for EMI. Using EMControl enables design
engineers to begin evaluating their designs for EMI early in the design process and with
increasing accuracy throughout design development.
Before running EMC rule-checking, you need to perform the following SigNoise setup tasks:
❑
Specify any analysis preferences. If necessary, SigNoise will create a new
simulation case directory.
❑
Specify which device and interconnect model libraries SigNoise should use.
❑
Assign the SIGNAL_MODEL property to components.
In addition when you initialize the EMControl run directory, you need to point EMControl to
this SigNoise run directory. For additional information, see EMControl in the online help.
Multi Board Analysis
SigNoise lets you perform multi-board (or system level) simulation for a design that is made
up of more than one printed circuit board (PCB). When a net extends to more than one PCB,
SigNoise can analyze and report the behavior of a signal as it propagates from a driver on
one PCB to a receiver on another.
Nets that span multiple PCBs are analyzed using a multi-board System Configuration. A
multi-board System Configuration contains a pin map, to hook up connector pins on one PCB
to connector pins on another. When a circuit is built for an system extended net (SXnet) that
spans multiple PCBs, SigNoise traces out the interconnect to the connector pin, then finds
the system connection in the device library and jumps to the next PCB to continue tracing out
the circuit. The System Configuration can contain a model to represent the mated connector
or cable that physically connects the two PCBs. One circuit, spanning the multiple PCBs, is
January 2002
162
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
generated for the entire xnet, allowing full system-level simulations to be done. For details,
see Chapter 9, “Multi-Board Designs (Systems).”
Analysis Results
SigNoise provides analysis results in the following forms:
■
Ten differerent types of standard analysis text reports.
■
Custom designed text reports.
■
Waveforms and accompanying data.
■
VI curves and accompanying data.
For details on how to display, see VI Curves in the online help.
■
Conductor Cross Section diagrams.
■
Ground Bounce “movies” .
For details on how to display, see EMWave in the online help.
Analyzing to Generate Text Reports
When you perform analysis for signal integrity or EMI emmissions by generating text reports,
SigNoise performs the necessary simulations based on the specifications you make in the
Signal Analysis and Analysis Report Generator dialog boxes.
Having both dialog boxes open together, you can switch back and forth between them
selecting nets and pins for analysis from the Signal Analysis dialog box and specifying report
and simulation details from the Analysis Report Generator dialog box.
After examining the report data, you can then refine your net/pin selection and simulation
details, change simulation preferences (if necessary), and perform more specific analyses to
pinpoint problem signals.
The following table describes the different text reports which are available
January 2002
163
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
.
Table 5-13 Standard Analysis Reports
Type
Description
Reflection Summary
Gives delay and distortion data in a concise, summary format.
See “Reflection Summary Report” on page 170.
Delay
Gives propagation delays, switch delays (rising and falling edge),
settle delays (rising and falling edge), and reports a pass or fail
status for first incident rise and fall and monotonic rise and fall
heuristics for selected nets. See “Delay Report” on page 182.
Ringing
Gives overshoot and noise margin values for selected nets. See
“Ringing Report” on page 186.
Single Net EMI
Gives essential EMI data for the net in a concise, single-line
format. See “Single Net EMI Report” on page 191.
Parasitics
Gives total self capacitance, impedance range, and transmission
line propagation delays for selected nets. See “Parasitics Report”
on page 193.
SSN
Gives noise levels induced on a component’s power and ground
busses when drivers on that bus switch simultaneously. See
“SSN Report” on page 195.
SDF Wire Delay
Displays the standard delay format report. See “SDF Wire Delay
Report” on page 200.
Segment-based
Crosstalk Estimation
Presents detailed segment-based coupling information derived
from xtalk tables. See “Segment Crosstalk Report” on page 201.
Crosstalk Summary
Gives peak and total crosstalk for selected nets in a concise,
summary format. Crosstalk values are derived from multi-line
simulations. See “Crosstalk Summary Report” on page 206.
Crosstalk Detailed
Gives total crosstalk on selected nets. For all cases simulated,
crosstalk values are derived from multi-line simulations. See
“Crosstalk Detailed Report” on page 209.
To begin text report based analysis:
➤
Click Reports in the Signal Analysis dialog box. See Figure 5-12 on page 156for more
information.
The Analysis Report Generator dialog box is displayed, as shown in the following figure.
January 2002
164
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Figure 5-13 The Analysis Report Generator Dialog Box - Standard Report Tab
Note: The dialog box is shown with default selections.
In the Signal Analysis dialog box you can:
■
Select nets and pin pairs for analysis. See “Selecting Nets and Pins for Simulation” on
page 158for more information.
January 2002
165
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
In the Analysis Report Generator dialog box you can:
■
Select one of ten standard report types.
■
Specify the format for a custom report.
■
Select simulation details common to both Standard and Custom reports.
■
Select whether or not to use timing windows and save circuit files and waveform files.
■
Display the Analysis Preferences dialog box to modify simulation preferences.
■
Run simulations and generate reports based on the selection criteria.
The Standard Report Tab
Tab Sections and Buttons
The following tables describe the different sections and command buttons in the Standard
Report tab. For more detailed information, see the online help.
Table 5-14 Tab Sections
Section
Function
Current Case
The name of the current case including a pulldown menu of
available cases from which you can select to report on.
Report Types
Check boxes to indicate report types currently selected. Multiple
report types may be selected to generate a more comprehensive
report.
Fast/Typical/Slow
Mode
Check boxes to specify the speed at which SigNoise will run
simulations.
Victim
Pull down menus for selecting victim net(s) to be monitored
during simulation and selecting victim net driver(s) to be
stimulated when victim nets are held in the high state.
Aggressor
Pull down menus for selecting aggressor switch mode, net
selection, and driver selection.
Reflection Data
Simulation
Radio buttons for simulation type and stimulus measurement
type.
January 2002
166
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-14 Tab Sections
Section
Function
Use Timing Windows
A check box to indicate if SigNoise will use timing window
properties to refine the crosstalk simulations to account for
received crosstalk that is insignificant due to the timing of signals.
Save Circuit Files
A check box to indicate if SigNoise will save resulting tlsim and
Spice circuit files in the simulation case directory for each
simulation performed.
Save Waveforms
A checkbox to indicate if SigNoise will save waveform files in the
case directory for each simulation performed.
Table 5-15 Tab Buttons
Button
Function
Create Report
Starts report generation using the selections you specified in the
both the Signal Analysis and Report Generator dialog boxes.
Preferences
Displays the Analysis Preferences dialog box enabling you to
modify simulation preferences as you specify simulations and
generate reports.
January 2002
167
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
The Custom Report Tab
Figure 5-14 The Analysis Report Generator Dialog Box - Custom Report Tab
January 2002
168
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Tab Sections and Buttons
The following tables describe the different sections and command buttons in the Custom
Report tab. For more detailed information, see the online help.
Table 5-16 Tab Sections and Options
Section or Option
Function
Case Selection
The current case including a pulldown menu of available cases
from which you can select to report on.
Report Name
The current report format including a pulldown menu to select an
existing report to copy and rename. CustomRpt is the default
format name.
Sort By
The current sort column including a pulldown menu to select an
alternate data column by which to sort the report data. Worst
case values are sorted to the front.
Check boxes to specify one or more speeds at which SigNoise will
Fast/Typical/Slow
run simulations. Fast/Slow and Slow/Fast refers to speeds of
Mode
driver/receiver combinations.
The current net and driver selection mode including pull down
Victim
menus to select an alternate net or driver selection mode.
Simulation Data Table The current report column content including pulldown menus to
define alternate content for up to eight columns within the report.
Define an empty column by selecting the Blank option from its
pulldown menu.
The current column content for the setup data table including
Setup Data Table
pulldown menus to define alternate column content for the setup
data table printed at the end of the report. Define an empty column
by selecting the Blank option from its pulldown menu.
A
check box to specify that SigNoise use timing window properties
Use Timing Windows
to refine the crosstalk simulations to account for received crosstalk
that is insignificant due to the timing of signals.
A check box to specify that SigNoise save resulting tlsim and
Save Circuit Files
Spice circuit files in the simulation case directory for each
simulation performed.
A checkbox to specify that SigNoise save waveform files in the
Save Waveforms
case directory for each simulation performed.
January 2002
169
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-17 Tab Buttons
Button
Function
Clone Selected
Report
Copies the selected report. You are prompted to enter a name for
the copy. The renamed copy is added to the pulldown menu in
the Report Name: field.
New Custom Report
Creates a new report. You are prompted to enter a name for the
new report. The new report is added to the pulldown menu in the
Report Name: field.
Generates the report as you have specified it in the Signal
Analysis and Report Generator dialog boxes.
Displays the Analysis Preferences dialog box enabling you to
modify simulation preferences as you specify simulations and
generate reports.
Create Report
Preferences
Standard Report Generation
Reflection Summary Report
The Reflection summary report presents simulation results for propagation delays, switch
delays (rising and falling edge), and settle delays (rising and falling edge). It also reports a
pass/fail status for first incident rise and fall and monotonic rise and fall for selected nets.
In the case of multiple receivers on a net, the Reflection summary report shows only the worst
case. While the delay report shows data for all receivers, the Reflection summary is generally
a good first cut when you analyze the entire board (simulating all nets) as it limits the data to
one line per receiver net.
The Reflection report can be generated either in batch mode or interactively from the Analysis
Report Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate a Reflection summary
report:
signoise -f my_nets.txt -r ReflectionSummary -s reflection -o ref_rp1.txt my.brd
January 2002
170
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-18 Batch Command Switches - Reflection Summary Report
Switch
Description
-f
A list of nets file
-r
Report type to be generated
-s
Simulation type to perform (Reflection or Comprehensive)
-o
Name of output file to be created
Interactive Generation
Selection of the Reflection Summary option in the Analysis Report Generator dialog box
specifies a Reflection summary report for selected nets. See Figure 5-13 on page 165.
Sample Reflection Summary Report
Note: Some report sections are split to fit the page.
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard Reflection Summary Sorted By Worst Settle Delay
#
Wed Feb 9 14:13:48 2000
################################################################################
********************************************************************************
Delays (ns), Distortion (mV), (Typ FTSMode)
********************************************************************************
XNet
Drvr
Rcvr
NMHigh NMLow
OShootHigh
---------------- --------------- -------------- ------ ------ ---------1 memory A4
memory J47 35
memory U18 29 678.7
-84.46
4001
1 memory A4
memory J47 35
memory U3 29
991
819.1
3991
1 memory -CAS
memory J47 111 memory U14 17 -30.5
769.2
3984
1 memory A0
memory J47 33
memory U14 23 643.1
-39.78
3994
1 memory -CAS
memory J47 111 memory U7 17
-24.21 777.6
3976
1 memory BA0
memory J47 122 memory U18 20 624.8
-29.29
3979
...
January 2002
171
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Sample Report (continued)
********************************************************************
********************************************************************
OShootLow SwitchRise SwitchFall SettleRise SettleFall Monotonic
--------- ----------- ----------- ----------- ----------- ---------334.6
4.667
2.01
8.236 *
3.169 *
FAIL
313.4
4.689
2.027
8.183 *
3.155 *
FAIL
253.1
4.828
2.037
8.17 *
3.145 *
FAIL
250.6
4.769
1.98
8.159 *
3.115 *
FAIL
248.4
4.843
2.04
8.135 *
3.136 *
FAIL
273.8
4.687
1.923
8.133 *
3.151 *
FAIL
...
******************************************************************
Pulse Data Per Xnet
******************************************************************
XNet
PulseFreq PulseDutyCycle PulseCycleCount
---------------------- --------- -------------- --------------1 memory WP
50MHz
0.5
1
1 memory UN4CAP226PA0
50MHz
0.5
1
1 memory UN4CAP225PA0
50MHz
0.5
1
1 memory SDA
50MHz
0.5
1
1 memory SCL
50MHz
0.5
1
1 memory SA2
50MHz
0.5
1
...
***********************************************
Description of column abbreviations
***********************************************
Column
Description
------------ --------------------------------XNet
Extended net
Drvr
Driver Pin
Rcvr
Receiver Pin
NMHigh
Noise Margin High
NMLow
Noise Margin Low
OShootHigh
Maximum Overshoot
OShootLow
Minimum Overshoot
January 2002
172
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Report Computations
Delay Criteria
Propagation Delay
Propagation delay is the summation of all calculated transmission line delays along the
shortest path between two points. Although propagation delay is a calculated value, tlsim (the
simulator) performs the calculation since it is the only tool that has a system level view of the
transmission line paths.
Propagation Delay Measurement Points
Propagation Delay Simulation
Propagation delay is measured from any simulation available. SigNoise performs a Reflection
simulation with pulse stimulus if no simulation results are available. Propagation delay is used
for the DELAY_RULE and MATCHED_DELAY constraints.
First Switch Delay
For a rising edge, the simulation measurement is from time zero to when the receiver first
crosses Vil, the low voltage switching threshold. The associated rising buffer delay for the
driving IOCell is subtracted from this measurement value to produce the reported first switch
delay.
January 2002
173
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
For a rising edge: First switch delay = time to reach Vil - buffer delay
Rising Edge Switch Delay Measurement Points
For a falling edge, the simulation measurement is from time zero to when the receiver first
crosses Vih, the high voltage switching threshold. The associated falling buffer delay of the
driving IOCell is subtracted from this measurement value to produce the reported first switch
delay.
For a falling edge: First Switch = time to reach Vih - buffer delay
Falling Edge Switch Delay Measurement Points
Switch Delay Simulation
SigNoise performs either a Reflection or Comprehensive simulation with pulse stimulus to
collect a first switch delay measurement which is used for the MIN_FIRST_SWITCH
constraint.
January 2002
174
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Final Settle Delay
Final settle delay is the time to reach the second threshold voltage encountered and stay
above or below it, minus the Buffer Delay for the driver.
For a rising edge, the simulation measurement is from time zero to when the receiver crosses
Vih, the high threshold voltage, the final time and settles into the high logic state. The
associated rising buffer delay for the driving IOCell is subtracted from this measurement value
to product the reported final settle delay.
Rising Edge Settle Delay Measurement Points
For a falling edge, the simulation measurement is from time zero to when the receiver first
crosses Vih, the high voltage switching threshold. The associated falling buffer delay of the
driving IOCell is subtracted from this measurement value to produce the reported first switch
delay.
Falling Edge Settle Delay Measurement Points
January 2002
175
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Settle Delay Simulation
SigNoise performs either a Reflection or Comprehensive simulation with pulse stimulus to
collect a final switch delay measurement which is used for the MAX_FINAL_SETTLE
constraint.
Buffer Delay
Buffer delay is the time it takes the voltage of a driver to reach a predefined measurement
voltage, Vmeas, when driving a standard test load. Buffer delay is subtracted from the
absolute time for a receiver waveform to reach a logic threshold. The difference between
these two measurements represents the portion of the delay attributable to interconnect
effects. Buffer delay is measured for both rising and falling edges.
When measuring waveforms at a receiver against time zero in a simulation, the buffer delay,
or driving IOCell delay, is included as well as the delay contributed by the interconnect. For
the purpose of timing analysis, the buffer delay is already accounted for in the overall
component delay. In order that the buffer delay is not counted twice, the assumed buffer delay
is subtracted from the simulation results when reporting first switch and final settle delays.
Since the actual topology to which each pin is attached is not available for up-front timing
analysis, a test load (or test fixture) is assumed to be attached to the buffer in order to derive
the component delay. SigNoise hooks up the IOCell to its corresponding test load circuit and
runs simulations to capture the slow, typical, and fast buffer delay values, measured at Vmeas
for rising and falling edges.
Rising Edge Buffer Delay Measurement Points
January 2002
Falling Edge Buffer Delay Measurement Points
176
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Buffer Delay Simulation
When a simulation is run for a design, the appropriate buffer delay is subtracted to properly
compensate switch and settle delays so that these delay measurements represent
interconnect contribution only.
The buffer delay selection information you enter in the SPECCTRAQuest, Allegro, or signal
explorer Analysis Preferences dialog box allows you to specify how SigNoise should obtain
the buffer delay values to use during the simulation. You can instruct SigNoise to retrieve
stored buffer delay values from the device model or to measure buffer delay at the start of the
simulation.
Note: Use the Buffer Delay Selection options on the Device Models tab to set From Library
or On-the-Fly.
Once measured, buffer delay is stored with the pin data for the individual pins of an IBIS
Device Model. Buffer delay values for a pin are found on the Buffer Delays dialog box which
is accessible from the IBIS Device Pin Data dialog box of the IBIS Device Model Editor. When
buffer delay values are not available in the IBIS device model, buffer delays are not subtracted
from the reported first switch and final settle delay values. You may use On-the-fly buffer delay
method to compute the buffer delays along with other simulation results in that case.
Distortion Criteria
Noise Margin
For a rising edge, high state noise margin is the measure of how close the high state receiver
waveform comes to the high state switching threshold, Vih. This measurement, Vmin, is taken
after the waveform crosses Vih and before the onset of a falling transition that crosses both
thresholds (falling side of the pulse).
January 2002
177
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Rising Edge Noise Margin Measurement Points
For a falling edge, low state noise margin is the measure of how close the low state signal
comes to the low switching threshold. This measurement is taken after crossing the low
switching threshold, and before the onset of a rising transition that crosses both thresholds
(rising side of the pulse).
Falling Edge Noise Margin Measurement Points
Noise Margin Simulation
SigNoise performs either a Reflection or a Comprehensive simulation to collect the noise
margin measurement which is used for the MIN_NOISE_MARGIN constraint.
Overshoot
Overshoot is the maximum voltage excursion of a signal measured in absolute voltage units.
Note that the overshoot voltages are measured relative to the zero volt ideal ground, not the
steady state value of the signal, Vss.
January 2002
178
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
For a rising edge, high state overshoot is the highest voltage seen. For a falling edge, low
state overshoot is the lowest voltage seen.
Rising Edge High State Overshoot Measurement Points Falling Edge Low State Overshoot Measurement Points
Overshoot Simulation
SigNoise performs either a Reflection or Comprehensive simulation to collect overshoot
measurements which are used for the MAX_OVERSHOOT constraint. Note that for rising
edges, the high state overshoot is greater than MAX_OVERSHOOT and for falling edges, the
low state overshoot is less than MAX_OVERSHOOT.
Non-Monotonic Edge
Non-monotonic edge is a PASS or FAIL status value indicating whether an edge is monotonic
or not. A rising edge is monotonic if each next point in time has a greater voltage value than
the previous point until it crosses Vih. A falling edge is monotonic if each next point in time
has a smaller voltage value than the previous point until it crosses Vil.
A non-monotonic edge is considered significant for clock signals. The presence of a nonmonotonic edge can be regarded as non-monotonic switching.
January 2002
179
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
For a rising edge, a non-monotonic edge is a signal reversal that occurs after crossing the low
voltage threshold, Vil, but before the signal reaches the high voltage threshold, Vih.
Rising Edge Non-Monotonic Edge Measurement Points
For a falling edge, a non-monotonic edge is a signal reversal that occurs after crossing the
high voltage threshold, Vih, but before the signal reaches the low voltage threshold, Vil.
Falling Non-Monotonic Edge Measurement Points
Non-Monotonic Edge Simulation
SigNoise performs either a Reflection or Comprehensive simulation to collect the nonmonotonic edge data which is used for the EDGE_SENS constraint.
January 2002
180
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Electrical Constraints
The following constraints can be set on a net or on a pin-to-pin connection for evaluation
during delay analysis
.
Table 5-19 Measure Delay Value Comparisons
Constraint
Definition
Format
MAX_OVERSHO
OT
Limits the minimum and maximum
absolute voltage for a receiver.
maximum value:minimum value
MIN_NOISE_MAR Limits the amount of ringback as
GIN
compared to the receiver’s voltage
thresholds.
maximum value:minimum value
MIN_FIRST_SWIT Limits the time to reach and stay
CH
above/below the low/high switching
threshold voltage.
maximum value:minimum value
MAX_FINAL_SET Limits the time to reach and stay
TLE
above/below the high/low switching
threshold voltage.
maximum value:minimum value
Table 5-20 Timing Rule Constraint Checks
Constraint
Item
DELAY_RULE
Minimum propagation delay
Maximum propagation delay
MIN_FIRST_SWIT Minimum first switch delay
CH
MAX_FINAL_SET Maximum final settle delay
TLE
January 2002
181
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Delay Report
The delay report presents simulation results for propagation delays, switch delays (rising and
falling edge), and settle delays (rising and falling edge). It also reports a pass/fail status for
first incident rise and fall and monotonic rise and fall for selected nets.This report is good for
checking clock nets, particularly to detect non-monotonic rise or fall.
Important
You can use the delay values and First Incident Switch heuristic to check data nets,
but they are not a substitute for full-path-based timing analysis which is
recommended. It is possible that adjusting interconnect lengths or terminating to
achieve first incidence switching will solve problems found by the delay report.
The delay report can be generated either in batch mode or from the Analysis Report
Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate a delay report on a list
of nets with comprehensive odd simulations using typical FTS mode:
signoise -f my_nets.txt -r Delay -n Odd -s Comprehensive -o delay_rpt1.txt my.brd
Table 5-21 Batch Command Switches - Delay Report
Switch
Description
-f
A list of nets file
-r
Report type to be generated
-n
Neighbor switching mode for Comprehensive simulation
-s
Simulation type to perform (Reflection or Comprehensive)
-o
Name of output file to be created
Interactive Generation
Selection of the Delay option in the Analysis Report Generator dialog box specifies a
delay report for selected nets. See Figure 5-13 on page 165.
January 2002
182
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Sample Delay Report
Note: Some report sections are split to fit the page.
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard Delay Report
#
Thu Feb 10 14:39:17 2000
################################################################################
********************************************************************************
Delays (ns) (Typ FTSMode)
********************************************************************************
XNet
Drvr
Rcvr
PropDly SwitchRise
---------------- --------------- -------------- ------- ---------1 memory A4
memory J47 35
memory U20 29
0.7089
5.188
1 memory -CAS
memory J47 111
memory U9 17
0.6992
5.376
1 memory A3
memory J47 118
memory U12 26
0.6884
5.192
1 memory CLKE1
memory R4 2
memory U12 37
0.6876
3.189
1 memory CLKE1
memory R4 2
memory U20 37
0.6875
3.197
1 memory A2
memory J47 34
memory U12 25
0.6869
5.225
...
...
********************************************
********************************************
SwitchFall SettleRise SettleFall
---------- ---------- ---------2.415
7.847 *
2.749 *
2.404
7.89 *
2.8 *
2.353
7.786 *
2.681 *
2.293
5.881 *
2.649 *
2.308
5.88 *
2.641 *
2.379
7.86 *
2.716 *
...
January 2002
183
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Sample Report (continued)
********************************************************************************
Monotonicity (Typ FTSMode)
********************************************************************************
XNet
Rcvr
FirstIncRise FirstIncFall MonotonicRise
---------------- -------------- ------------ ------------ ------------1 memory WP
memory U11 7
PASS
PASS
PASS
1 memory WP
memory U10 7
PASS
PASS
PASS
1 memory CLKE1
memory U20 37 PASS
PASS
PASS
1 memory CLKE1
memory U19 37 PASS
PASS
PASS
1 memory CLKE1
memory U12 37 PASS
PASS
FAIL
1 memory CLKE1
memory U14 37 PASS
PASS
PASS
...
*************
*************
MonotonicFall
------------PASS
PASS
PASS
PASS
PASS
PASS
...
*********************************************************************************
Driver I/O Characteristics (Typ FTSMode) RiseSlew/FallSlew in (mV/ns)
*********************************************************************************
Drvr
IOModel
Volmax Vohmin
RiseSlew FallSlew
------------- ---------------- ------ ------- -------- -------memory R6 1
CDSDefaultOutput 100 mV 4500 mV 3333
3333
memory C23 1
CDSDefaultOutput 100 mV 4500 mV 3333
3333
memory R3 1
CDSDefaultOutput 100 mV 4500 mV 3333
3333
memory RP5 2
CDSDefaultOutput 100 mV 4500 mV 3333
3333
memory U5 11
CDSDefaultOutput 100 mV 4500 mV 3333
3333
memory U5 47
CDSDefaultOutput
100 mV
4500 mV
3333
3333
...
January 2002
184
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Sample Report (continued)
*************************************************
Load I/O Characteristics:
*************************************************
Rcvr
IOModel
Vilmax
Vihmin
-------------- --------------- ------- ------memory U11 7
CDSDefaultInput 2000 mV 3000
memory U10 7
CDSDefaultInput 2000 mV 3000
memory U20 37
CDSDefaultInput 2000 mV 3000
memory U19 37
CDSDefaultInput 2000 mV 3000
memory U12 37
CDSDefaultInput 2000 mV 3000
memory U14 37
CDSDefaultInput 2000 mV 3000
...
mV
mV
mV
mV
mV
mV
*********************************************************************************
Pulse Data Per Xnet
*********************************************************************************
XNet
PulseFreq PulseDutyCycle PulseCycleCount
---------------------- --------- -------------- --------------1 memory WP
50MHz
0.5
1
1 memory UN4CAP226PA0
50MHz
0.5
1
1 memory UN4CAP225PA0
50MHz
0.5
1
1 memory SDA
50MHz
0.5
1
1 memory SCL
50MHz
0.5
1
1 memory SA2
50MHz
0.5
1
...
***********************************************
Description of column abbreviations
***********************************************
Column
Description
------------ --------------------------------DefImp
Default Impedence
DefPropVel
Default Propagation Velocity
DiffPairMate Differential Pair Mate
Drvr
Driver Pin
FTSMode
Fast/Typical/Slow Mode
FallDly
Fall Buffer Delay
FallSlew
Fall Slew : 20%/80% dV/dT
FirstIncFall First Incident Switch Fall
FirstIncRise First Incident Switch Rise
January 2002
185
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
GeomWin
IOModel
JTemp
MhtPercent
PropDly
Rcvr
RiseDly
RiseSlew
SettleFall
SettleRise
SwitchFall
SwitchRise
Vihmin
Vilmax
Vohmin
Volmax
XNet
Geometry Window
I/O Cell Model Name
Pin Junction Temperature
Percent Manhattan Distance
Propagation Delay
Receiver Pin
Rise Buffer Delay
Rise Slew : 20%/80% dV/dT
Settle Fall Delay
Settle Rise Delay
Switch Fall Delay
Switch Rise Delay
High State Logic Input Threshold
Low State Logic Input Threshold
High State Logic Output Threshold
Low State Logic Output Threshold
Extended Net
Report Computations
The Delay report computations are the same as those for the Reflection Summary Report.
For more information, see “Report Computations” on page 173.
Ringing Report
The ringing report shows noise margin as well as overshoot high and low values for all
selected nets. It also identifies IOCell characteristics that have been applied. This report
requires either a Reflection or Comprehensive simulation for each driver pin.
Use this report to detect impedance discontinuities that are significant due to the high slew
rates of the drivers. Usually these problems are corrected by changing terminations, topology,
or driver characteristics.
The ringing report also includes the Extended Net Distortion section containing the following:
■
A subsection for each driver on the extended net and the noise margin and overshoot
information for the driver-receiver pair.
■
Pins on the extended net and buffer model information about the pins.
You can generate the ringing report either in batch mode or interactively from the Analysis
Report Generator dialog box.
January 2002
186
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Batch Generation
Following is an example of a batch command which would generate a ringing report on a list
of nets with Fast/Slow FTS mode:
signoise -f my_nets.txt -r Ringing -m Fast/Slow -o ring_rpt1.txt my.brd
Table 5-22 Batch Command Switches - Ringing Report
Switch
Description
-f
A list of nets file
-r
Report type to be generated
-m
Mode to be used while simulating for reports or waveforms
-o
Name of output file to be created
Interactive Generation
Selection of the Ringing option in the Analysis Report Generator dialog box specifies a
ringing report for selected nets. See Figure 5-13 on page 165.
Sample Report
Note: Some report sections are split to fit the page.
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard Ringing Report Sorted By Worst Noise Margin
#
Mon Feb 14 16:59:38 2000
################################################################################
********************************************************************************
Distortion (mV) (Typ FTSMode)
********************************************************************************
XNet
Drvr
Rcvr
NMHigh NMLow
OShootHigh
---------------- --------------- -------------- ------ ------ ---------1 memory SDA
memory U10 5
memory U11 5
1960
1943
5007
January 2002
187
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
1 memory
1 memory
1 memory
1 memory
1 memory
...
...
DQM1
-CS1
-CS3
SCL
DQM1
memory
memory
memory
memory
memory
J47
J47
J47
J47
J47
29
114
129
83
29
memory
memory
memory
memory
memory
U5 39
U17 19
U14 19
U10 6
U3 39
1936
1934
1932
1930
1964
1936
1954
1936
1931
1928
5012
5003
5013
5013
5002
*********
*********
OShootLow
---------471
-595.8
-682
-695.6
-138.7
-626.7
...
...
Sample Report (continued)
********************************************************************************
Driver I/O Characteristics (Typ FTSMode) RiseSlew/FallSlew in (mV/ns)
********************************************************************************
Drvr
Device
IOModel
Volmax
--------------- ------------------------------- ---------------- -----memory R6 1
RES_603-0,1A,603,E-603
CDSDefaultOutput 100 mV
memory C23 1
CAP_603-10PF,5%,50V,603,E-603
CDSDefaultOutput 100 mV
memory R3 1
RES_603-10,5%,603,E-603
CDSDefaultOutput 100 mV
memory RP5 2
RPAK4C-4R_SM-10,5%,A1206-SM
CDSDefaultOutput 100 mV
memory U5 11
SDRAM2MX4BX8_SSOP-SDRAM2MX4BX8A CDSDefaultOutput 100 mV
memory U5 47
SDRAM2MX4BX8_SSOP-SDRAM2MX4BX8A CDSDefaultOutput 100 mV
...
************************************************
************************************************
Vohmin
RiseSlew FallSlew JTemp DiffPairMate
January 2002
188
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
------4500 mV
4500 mV
4500 mV
4500 mV
4500 mV
4500 mV
...
-------3333
3333
3333
3333
3333
3333
-------- ----3333
3333
3333
3333
3333
3333
-----------NA
NA
NA
NA
NA
NA
NA
NA
NA
NA
NA
NA
********************************************************************************
Load I/O Characteristics
********************************************************************************
Rcvr
Device
IOModel
Vilmax
-------------- ------------------------------- --------------- ------memory U11 7
NM24C03_SSOP-UNKNOWN,E-SSOP
CDSDefaultInput 2000 mV
memory U10 7
EPROMSERIAL_SOI8-624664-301-SOA CDSDefaultInput 2000 mV
memory U20 37
SDRAM2MX4BX8_SSOP-SDRAM2MX4BX8A CDSDefaultInput 2000 mV
memory U19 37
SDRAM2MX4BX8_SSOP-SDRAM2MX4BX8A CDSDefaultInput 2000 mV
memory U12 37
SDRAM2MX4BX8_SSOP-SDRAM2MX4BX8A CDSDefaultInput 2000 mV
memory U14 37
SDRAM2MX4BX8_SSOP-SDRAM2MX4BX8A CDSDefaultInput 2000 mV
...
*********************
Sample Report (continued)
*********************
Vihmin
DiffPairMate
------- -----------3000 mV NA
3000 mV NA
3000 mV NA
3000 mV NA
3000 mV NA
3000 mV NA
...
January 2002
189
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
*********************************************************************************
Pulse Data Per Xnet
*********************************************************************************
XNet
PulseFreq PulseDutyCycle PulseCycleCount
---------------------- --------- -------------- --------------1 memory WP
50MHz
0.5
1
1 memory UN4CAP226PA0
50MHz
0.5
1
1 memory UN4CAP225PA0
50MHz
0.5
1
1 memory SDA
50MHz
0.5
1
1 memory SCL
50MHz
0.5
1
1 memory SA2
50MHz
0.5
1
...
***********************************************
Description of column abbreviations
***********************************************
Column
Description
------------ --------------------------------DefImp
Default Impedence
DefPropVel
Default Propagation Velocity
DiffPairMate Differential Pair Mate
Drvr
Driver Pin
FTSMode
Fast/Typical/Slow Mode
FallSlew
Fall Slew : 20%/80% dV/dT
GeomWin
Geometry Window
IOModel
I/O Cell Model Name
JTemp
Pin Junction Temperature
MhtPercent
Percent Manhattan Distance
MinNM
Minimum Noise Margin
NMHigh
Noise Margin High
NMLow
Noise Margin Low
OShootHigh
Maximum Overshoot
OShootLow
Minimum Overshoot
Rcvr
Receiver Pin
RiseSlew
Rise Slew : 20%/80% dV/dT
Vihmin
High State Logic Input Threshold
Vilmax
Low State Logic Input Threshold
Vohmin
High State Logic Output Threshold
Volmax
Low State Logic Output Threshold
XNet
Extended Net
January 2002
190
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Report Computations
The Ringing report computations are the same as those for the Reflection Summary Report.
For more information, see “Report Computations” on page 173.
Single Net EMI Report
EMI simulation computes the differential mode radiated emission arising from clock signals
propagating on all fully routed nets taking one net (or Xnet) at a time. EMI Simulations
simulate only the victim net and none of the neighboring aggressor nets. EMI simulation does
not account for the parasitics of power and ground pins.
In EMI simulations, SigNoise:
1. Traces out the extended net (xnet)
2. Characterizes the interconnect cross sections
3. Obtains the relevant device models
4. Builds a single-line circuit (disregards neighbor nets)
5. Runs a Reflection simulation using a pulse stimulus one cycle in length
6. Obtains and stores geometrical information for EMI computations (for example,
interconnect coordinates, and circuit board orientation)
The pulse stimulus is applied to the driver pin on the Xnet. In the case of multiple drivers on
a net, multiple simulations are run, with one active driver stimulated in each simulation. Other
drivers on the Xnet are inactive during the simulation.
The transient simulation output is time domain voltage and current waveforms at a set of
predetermined nodes. As a minimum, all driver and receiver pins on the xnet are treated as
nodes. Additional nodes at transmission line branch points may be included for increased
accuracy.
The single net EMI report can be generated either in batch mode or interactively from the
Analysis Report Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate a single net EMI report.
signoise -f nets.txt -r SingleNetEMISummary -o emi.txt my.brd
January 2002
191
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-23 Batch Command Switches - Single Net EMI Report
Switch
Description
-f
A list of nets file
-r
Report type to be generated
-o
Name of output file to be created
Interactive Generation
Selection of the Single Net EMI option in the Analysis Report Generator dialog box
specifies a single net EMI report for selected nets. See Figure 5-13 on page 165.
Sample Report
Note: Some report sections are split to fit the page.
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Single Net Emissions Report
#
Tue Feb 15 14:16:08 2000
################################################################################
********************************************************************************
Voltage (V), Time (ns), Emission (dBuV/m), (Typ FTSMode)
********************************************************************************
XNet
Drvr
PulseFreq VoltageSwing RiseTime
---------------------- --------------- --------- ------------ -------1 memory WP
memory R6 1
50MHz
4.4
0.9
1 memory UN4CAP226PA0
memory C23 1
50MHz
4.4
0.9
1 memory UN4CAP225PA0
memory R3 1
50MHz
4.4
0.9
1 memory SDA
memory U10 5
50MHz
4.4
0.6
1 memory SCL
memory J47 83
50MHz
4.4
0.9
1 memory SA2
memory J47 167 50MHz
4.4
0.9
January 2002
192
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
**************************************
**************************************
PeakEmission PeakFrequency EMIStatus
------------ ------------- --------28.86
850Mhz
Pass
NA
NA
NA
NA
NA
NA
36.05
1250Mhz
Pass
34.19
950Mhz
Pass
32.69
950Mhz
Pass
...
Sample Report (continued)
*************************************************
Pulse Data Per Xnet
*************************************************
XNet
PulseFreq PulseDutyCycle
---------------------- --------- -------------1 memory WP
50MHz
0.5
1 memory UN4CAP226PA0
50MHz
0.5
1 memory UN4CAP225PA0
50MHz
0.5
1 memory SDA
50MHz
0.5
1 memory SCL
50MHz
0.5
1 memory SA2
50MHz
0.5
Parasitics Report
The parasitics report shows total self capacitance, impedance range, and transmission line
propagation delays for selected nets. The total net self capacitance includes capacitance
from the transmission lines, via padstacks, pin padstacks, and IOCell die. Delay values are
compared against delay constraints, if any exist. Information about the pins of the selected
nets is included.
You can use the parasitics report to identify nets that are either overloaded or have excessive
impedance discontinuities. The net parasitics report is a good choice for analyzing analog
nets. This report does not use crosstalk estimations.
January 2002
193
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
You can generate the parasitics report either in batch mode or interactively from Analysis
Report Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate a Parasitics report.
signoise -f my_nets.txt -r Parasitics -o parasitics_rpt1.txt my.brd
Table 5-24 Batch Command Switches - Parasitics Report
Switch
Description
-f
A list of nets file
-r
Report type to be generated
-o
Name of output file to be created
Interactive Generation
Selection of the Parasitics option in Analysis Report Generator dialog box specifies a
parasitics report for selected nets. See Figure 5-13 on page 165.
Sample Report
Note: This report has been split to fit the page.
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard Parasitics Report
#
Thu Feb 17 10:08:16 2000
################################################################################
January 2002
194
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
********************************************************************************
XNet Parasitics
********************************************************************************
XNet
MinImpedance MaxImpedance Capacitance Inductance
---------------------- ------------ ------------ -------------------1 memory WP
70.72
70.72
2.035e-12
NA
1 memory UN4CAP226PA0
70.72
70.72
4.607e-13
2.525e-09
1 memory UN4CAP225PA0
70.72
70.72
5.447e-13
2.946e-09
1 memory SDA
70.72
70.72
1.639e-1
NA
1 memory SCL
70.72
70.72
1.45e-12
NA
1 memory SA2
70.72
70.72
1.426e-12
NA
...
**********
**********
---------Resistance
NA
0.005502
0.008619
NA
NA
NA
...
SSN Report
The SSN report shows noise levels induced on the power and ground busses of a component
when all drivers deriving power from that bus switch simultaneously. These noise levels are
used as an approximation of the distortion effects that will be seen at the signal pins. The
power bus noise is used as the basis for Rise distortion, and ground bus noise for Fall
distortion. The power and ground busses are identified in this report.
Only power and ground nets must be routed to yield accurate results for the SSN report,
although package parasitics are accounted for even without power and ground routing.
Component placement adjustment, decoupling, power and ground net reassignment, and
power/ground plane rearrangement are techniques used for solving SSN noise problems. It
may be useful to use this report during both placement and routing phases, taking care to
update the SimulSwitch simulations.
January 2002
195
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
The SSN report also includes the Extended Net SSN section containing:
■
A subsection for each driver pin on the extended net and the Rise SSN and Fall SSN
information for the driver.
■
Pins on the extended net and information about the pins.
The SSN report can be generated either in batch mode or interactively from the Analysis
Report Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate an SSN report.
signoise -f my_nets.txt -r SSN -o ssn_rpt1.txt my.brd
Table 5-25 Batch Command Switches - SSN Report
Switch
Description
-f
A list of nets file
-r
Report type to be generated
-o
Name of output file to be created
Interactive Generation
Selection of the SSN option in the Analysis Report Generator dialog box specifies a
simultaneous switching noise report for selected nets. See Figure 5-13 on page 165.
Sample Report
Note: Some sections of this report have been split to fit the page.
################################################################################
# SPECCTRAQuest
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard SSN Report
#
Mon Mar 27 17:57:23 2000
################################################################################
January 2002
196
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
*********************************************************************************
Simultaneous Switching Noise (mV) for XNet `2 ssn NET1` (Typ FTSMode)
*********************************************************************************
Drvr
Net
PowerBus SSNRise GroundBus SSNFall
-------- -------- -------- ------- --------- ------ssn U1 2 ssn NET1 pwrbus
505.5
gndbus
944.2
--------------------------------------------------------------------*********************************************************************************
Driver I/O Characteristics (Typ FTSMode) RiseSlew/FallSlew in (mV/ns)
*********************************************************************************
Drvr
IOModel
Volmax Vohmin
RiseSlew FallSlew
-------- ------------ ------ ------- -------- -------ssn U1 2 CDSDefaultIO 100 mV 4500 mV 5000
5000
--------------------------------------------------------------------*****************************
Load I/O Characteristics
*****************************
Rcvr IOModel Vilmax Vihmin
---- ------- ------ ----------------------------------
Sample Report (continued)
******************************************************
Pulse Data Per Xnet
******************************************************
XNet
PulseFreq PulseDutyCycle PulseCycleCount
---------- --------- -------------- --------------2 ssn NET1 50MHz
0.5
1
-----------------------------------------------------********************************************************
Simulation Preferences
-------------------------------------------------------Variable
Value
-------------------------------------Percent Manhattan
100
Default Impedance
60ohm
January 2002
197
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Default Prop Velocity
Geometry Window
Min Neighbor Capacitance
Cutoff Frequency
Pulse Clock Frequency
Pulse Duty Cycle
Pulse Step Offset
1.4142e+08M/s
10mil
0.1pF
0GHz
50MHz
0.5
0ns
******************************************************
Description of abbreviations
******************************************************
Abbr
Abbreviations
---------- -----------------------------------------DefImp
Default Impedence
DefPropVel Default Propagation Velocity
Drvr
Driver Pin
FTSMode
Fast/Typical/Slow Mode
FallSlew
Fall Slew : 20%/80% dV/dT
GeomWin
Geometry Window
IOModel
I/O Cell Model Name
MhtPercent Percent Manhattan Distance
Rcvr
Receiver Pin
RiseSlew
Rise Slew : 20%/80% dV/dT
SSNFall
Simultaneous Switching Noise on Ground Bus
SSNRise
Simultaneous Switching Noise on Power Bus
Sample Report (continued)
Vihmin
High State Logic Input Threshold
Vilmax
Low State Logic Input Threshold
Vohmin
High State Logic Output Threshold
Volmax
Low State Logic Output Threshold
XNet
Extended Net
-----------------------------------------------------*****************************************************************
Net name syntax
----------------------------------------------------------------Net: <design name> <net name>
XNet: <number of nets> <design name> <first net name>
January 2002
198
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
----------------------------------------------------------------*********************************************************************************
Pulse Data Per Xnet
*********************************************************************************
XNet
PulseFreq PulseDutyCycle PulseCycleCount
--------------------- --------- -------------- --------------1 memory WP
50MHz
0.5
1
1 memory UN4CAP226PA0 50MHz
0.5
1
1 memory UN4CAP225PA0 50MHz
0.5
1
1 memory SDA
50MHz
0.5
1
1 memory SCL
50MHz
0.5
1
1 memory SA2
50MHz
0.5
1
...
Report Computations
For the high state, the magnitude of the largest negative excursion of the power bus voltage
is measured. All driver pins are simultaneously switched for the rising edge and waveforms
are generated at the die for the driver device’s power bus. The rising edge simultanous
switching noise is taken as the magnitude of difference between the steady state voltage of
the power bus minus the lowest excursion of the power bus waveform.
For the low state, the magnitude of the largest positive excursion of the ground bus voltage is
measured. All driver pins are simultaneously switched for the falling edge and waveforms are
generated at the die for the driver device’s ground bus. The falling edge simultanous switching
January 2002
199
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
noise is taken as the magnitude of difference between the highest excursion of the ground
bus waveform minus the steady state voltage of the ground bus.
Simultaneous Switching Noise Measurement Points
Electrical Constraints
The following constraints can be set on a net or on a pin-to-pin connection for evaluation
during delay analysis
.
Table 5-26 Measured Delay Value Comparisons
Constraint
Definition
Format
MAX_SSN
Limits noise due to simultaneous
switching outputs.
maximum value:minimum value
SDF Wire Delay Report
You can generate a Standard Delay Format Wire Delay report either in batch mode using the
a2sdf command or interactively from the Analysis Report Generator dialog box.
Using the a2sdf command to Extract Wire Delay Data
You can use the a2sdf wire delay extract utility to generate a standard delay format file
containing compensated switch and settle delays as well as rise fall compensation delays.
January 2002
200
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Enter the following command at the operating system prompt:
a2sdf [optional_arguments] drawing_file
Table 5-27 a2sdf Command Arguments- SDF Wire Delay Report
Argument
Description
-s
Include simulated compensated switch and settle delays.
-R
Include only rising propagation delays.
-F
Include only falling propagation delays.
-f netfile
Analyse only tje nets in the specified file.
drawing_file
A .brd file from which to extract wire delay data.
Interactive Generation
Selection of the SDF Wire Delay option in the Analysis Report Generator dialog box
specifies a SDF Wire Delay report for the specified board. See Figure 5-13 on page 165.
Segment Crosstalk Report
The segment crosstalk report presents detailed segment-based coupling information derived
from post-layout verification. Included in the report is a segment-by-segment listing of
coupled lengths, indication of layers involved, along with x-y coordinates of where coupling
occurs and estimated crosstalk for coupled segments. The segment crosstalk report also
includes the information on crosstalk received from each single aggressor neighbor XNet and
total crosstalk received from all aggressor neighbor nets.
This report is actually a superset of both crosstalk and parallelism reports. This means that
segments within the geometry window that are parallel, but have no crosstalk effects on each
other, will still appear in the table with crosstalk values set to zero. Also, when there are no
crosstalk values available, only the parallelism data will be shown in the report with crosstalk
values set to NA. The report data is supplied in a delimited text format suitable for export to
spreadsheet applications.
Segment-based crosstalk estimation is intended to support an interactive crosstalk
debugging/etch-editing use model, where rapid results and quick identification of worst
offenders are required. Rather than performing costly coupled-line time domain simulation in
real time, this technique performs the time domain simulation up front to sweep
representative crosstalk circuits for the design, generating tables of crosstalk data. Although
January 2002
201
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
net to net results are available in the report format, they are also enforced by on-line Design
Rule Checks (DRCs) in the SPECCTRAQuest™ Floorplanner and Allegro® environments, as
well as by the SPECCTRA™ autorouter.
Important
Segment-based crosstalk estimation does not take into account detailed topological
effects like reflections, wave cancellation, or the plethora of unique stimulus
combinations that can occur in actual designs. To analyze these effects, full time
domain crosstalk simulation should be utilized.
The segment crosstalk report can be generated either in batch mode or interactively from the
Analysis Report Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate a segment crosstalk
report:
signoise -f nets.txt -g 100 -l 500 -r SegmentXtalk -a Each -o test_xtalk.rpt
test.brd
Table 5-28 Batch Command Switches - Segment Crosstalk Report
Switch
Description
-f
A list of nets file
-g
Geometry window size
-l
Minimum coupled length to consider
-r
Report type to be generated
-a
Which aggressors to include in the crosstalk estimations (Each
should be specified to generate a segment report)
-o
Name of the output file to be created
Interactive Generation
Selection of the Segment Crosstalk option in the Analysis Report Generator dialog box
specifies a Segment Crosstalk report for selected nets. See Figure 5-13 on page 165.
January 2002
202
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Note: To generate an appropriate report, be sure to select the Each Neighbor option (for Net
Selection) in the Aggressor section of the dialog box.
Important
To obtain segment-based crosstalk results, crosstalk tables must be available in
your board file. If not, the dialog box shown below will appear after clicking the
Create Report button asking if you would like to have them generated. If you select
No, your report will include parallelism data only, with all crosstalk values set to NA.
Figure 5-15 Crosstalk Tables Dialog Box.
Sample Report
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard Segment Crosstalk Report
#
Thu Feb 03 14:07:53 2000
################################################################################
*********************************************************************************
Segment Crosstalk (mV)
*********************************************************************************
Victim
Aggressor
Layer:Layer
XYCoord Gap Length SegXtalk
-------------- ---------------------- ------------ -------- --- ------ --2 dimm128 DQ47 all_neighbor_xnets
NA
NA
NA
NA
18.1
2 dimm128 DQ47 dimm128 DQR45
NA
NA
NA
729
12.69
2 dimm128 DQ47 dimm128 DQR45
BOTTOM:BOTTOM 1672:243
10
233
7.823
2 dimm128 DQ47 dimm128 DQR45
BOTTOM:BOTTOM 1842:290
10
116
3.895
2 dimm128 DQ47 dimm128 DQR45
BOTTOM:BOTTOM 1544:232
13
32
0.8844
2 dimm128 DQ47 dimm128 DQR45
BOTTOM:BOTTOM 2006:473
50
267
0.8566
January 2002
203
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
0.02591
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
2 dimm128
...
...
January 2002
DQ47
DQ47
DQ47
DQ47
DQ47
DQ47
DQ47
DQ47
DQ47
DQ47
DQ47
dimm128
dimm128
dimm128
dimm128
dimm128
dimm128
dimm128
dimm128
dimm128
dimm128
dimm128
DQR45
DQR45
DQR45
DQR45
DQR45
DQR43
DQR43
DQR43
DQR43
DQR43
DQR43
BOTTOM:BOTTOM
BOTTOM:BOTTOM
BOTTOM:BOTTOM
BOTTOM:BOTTOM
BOTTOM:BOTTOM
NA
BOTTOM:BOTTOM
BOTTOM:BOTTOM
BOTTOM:BOTTOM
BOTTOM:BOTTOM
BOTTOM:BOTTOM
DQ47
DQ47
DQ47
DQ47
DQ47
DQ47
dimm128
dimm128
dimm128
dimm128
dimm128
dimm128
DQR42
DQR42
DQR42
DQR42
DQR42
DQR46
NA
NA
NA
421
BOTTOM:BOTTOM 1659:291 26 230
BOTTOM:BOTTOM 1801:318 26 74
BOTTOM:BOTTOM 1827:381 38 74
BOTTOM:BOTTOM 1523:291 48 43
NA
NA
NA
367
204
1895:353 18 19
1903:370 23 23
1532:207 25 18
1889:337 38 17
1532:218 16 4
NA
NA
448
1663:275 10 237
1813:307 10 88
1844:380 21 76
1523:275 32 43
1844:340 36
4
0.3371
0.2855
0.207
0.09458
0.0868
11.27
7.958
2.955
1.013
0.357
3.919
2.54
0.8171
0.4117
0.1504
3.876
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Report Format
Column
Data Description
Victim
The net receiving the coupling from the neighbor nets.
Aggressor
The net contributing the coupling to the victim net.
Specifies for this coupled segment, the layer the victim and aggressor nets
are routed on respectively. For example, if the coupled segments of both
nets are routed on the TOP layer, it would read TOP:TOP. If the coupled
segment had the victim net on INT1 and the neighbor net on INT2, then this
column would read INT1:INT2. Layer to layer information is only applicable
to coupled segments.
Specifies the xy coordinate for the middle of the aggressor segment
coupling, enabling crossprobing, troubleshooting and debugging. The xy
coordinate is available only for segment-to-segment couplings. It is not
applicable to net-to-net coupling in the table.
Specifies the distance between the segments on the victim and neighbor
nets. For cases where the coupling occurs on the same layer, this is simply
the spacing between the traces. For layer-to-layer coupling cases, this gap
represents a combination of the dielectric spacing between the layers and
the offset between the victim and neighbor (Pythagorean Theorem). The
gap only applicable to coupled segments.
The length of the coupled segment. Note that the table gives a segment-bysegment breakdown, and also an overall net-to-net value, and an overall allneighbors-to-victim-net value.
Amount of voltage coupled over from the aggressor to the victim in that
particular coupled segment.
Layer:Layer
XYCoord
Gap
Length
SegXtalk
Note: The initial value in this column represents the total crosstalk received
from all neighbors. The next set of values consists of a single neighbor
crosstalk total followed by a segment-by-segment crosstalk breakdown for
the same neighbor. This pattern is then repeated for each neighbor listed in
the report.
Report Computations
The all-neighbors-to-victim-net value is calculated based on the root-sum-squared (RSS)
summation method.
Crosstalk is the magnitude of the voltage change seen at a pin on a victim net where the
voltage change is induced by signals on coupled neighboring aggressor xnets when drivers
on aggressor nets are switching simultaneously.
January 2002
205
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
The crosstalk measurement for a victim net held in the high state is taken as the magnitude
of the difference between the lowest excursion of the receiver waveform minus the victim net’s
steady state voltage. The crosstalk measurement for a victim net held in the low state is
measured as the magnitude of the difference between the highest excursion of the receiver
waveform minus the victim net’s steady state voltage.
Crosstalk measurements for victim nets in both the high and low states are shown in the
following figure.
Crosstalk Measurement Points
Crosstalk Summary Report
The crosstalk summary report delivers an abbreviated crosstalk report, identifying only the
selected victim xnet and driver, and reporting on high and low state crosstalk for odd and even
stimulus.
You can generate the crosstalk summary report either in batch mode or interactively from the
Analysis Report Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate a crosstalk summary
report with All Neighbor crosstalk simulations on the entire board using fast mode.
signoise -f my_nets.txt -a All -n Odd,Even -r XtalkSummary -m Fast
-o xtlksum_rpt1.txt my.brd
January 2002
206
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Batch Command Switches - Crosstalk Summary Report
Switch
Description
-f
A list of nets file.
-a
Aggressors specified for crosstalk simulations. Choices are:
Each, All, Inter, or Intra.
-n
Neighbor switching mode specified for crosstalk and
comprehensive simulations. Choices are: Even,Odd or
Odd,Even.
-r
Report type to be generated.
-m
Mode to be used while simulating for reports or waveforms.
-o
Name of output file to be created.
Interactive Generation
Selection of the Crosstalk Summary option in the Analysis Report Generator dialog box
specifies a Crosstalk Summary report for selected nets. See Figure 5-13 on page 165.
Sample Report
Note: This report has been split to fit the page.
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard Crosstalk Summary Report Sorted By Worst Case Crosstalk
#
Thu Feb 17 12:02:03 2000
################################################################################
January 2002
207
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
********************************************************************************
All Neighbors Crosstalk (mV) (Typ FTSMode)
********************************************************************************
Victim XNet
Victim Drvr
HSOddXtalk HSEvenXtalk LSOddXtalk
--------------------- -------------- ---------- ----------- ---------1 memory A7
memory J47 120 401.5
NA
214.6
1 memory A0
memory J47 33
387.9
NA
229.8
1 memory A3
memory J47 118 384.2
NA
207.3
1 memory A4
memory J47 35
351.4
NA
200.5
1 memory A9
memory J47 121 306.4
NA
168.7
1 memory BA1
memory
J47 39
297.8
NA
159.5
...
***********
***********
LSEvenXtalk
----------NA
NA
NA
NA
NA
NA
...
Report Computations
Crosstalk is the magnitude of the voltage change seen at a pin on a victim net where the
voltage change is induced by signals on coupled neighboring aggressor xnets when drivers
on aggressor nets are switching simultaneously.
The crosstalk measurement for a victim net held in the high state is taken as the magnitude
of the difference between the lowest excursion of the receiver waveform minus the victim net’s
steady state voltage. The crosstalk measurement for a victim net held in the low state is
measured as the magnitude of the difference between the highest excursion of the receiver
waveform minus the victim net’s steady state voltage.
January 2002
208
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Crosstalk measurements for victim nets in both the high and low states are shown in the
following figure.
Crosstalk Measurement Points
Crosstalk Detailed Report
The crosstalk detailed report identifies the selected victim xnet, drivers, and all receivers, and
reports on high and low state crosstalk for odd and even stimulus. It also provides information
on the devices and models used, their electrical characteristics, the default simulation
settings, and a full glossary of abbreviations.
The crosstalk detailed report can be generated either in batch mode or interactively from the
Analysis Report Generator dialog box.
Batch Generation
Following is an example of a batch command which would generate a crosstalk detailed
report with All Neighbor crosstalk simulations on the entire board using fast mode.
signoise -f my_nets.txt -a Each -D All -n Odd,Even -r XtalkDetailed
-m Fast -o xtlkdet_rpt1.txt my.brd
Table 5-29 Batch Command Switches - Crosstalk Detailed Report
Switch
Description
-f
A list of nets file.
January 2002
209
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-29 Batch Command Switches - Crosstalk Detailed Report
Switch
Description
-a
Aggressors specified for crosstalk simulations. Choices are:
Each, All, Inter, or Intra.
-D
Use either the fastest driver or the all drivers on the neighboring
aggressor nets. Choices are: Fastest or All.
-n
Neighbor switching mode specified for crosstalk and
comprehensive simulations. Choices are: Even,Odd or
Odd,Even.
-r
Report type to be generated.
-m
Mode to be used while simulating for reports or waveforms.
-o
Name of output file to be created.
Interactive Generation
Selection of the Crosstalk Detailed option in the Analysis Report Generator dialog box
specifies a Crosstalk Detailed report for selected nets. See Figure 5-13 on page 165.
Sample Report
Note: Some sections of this report have been split to fit the page.
################################################################################
# SPECCTRAQuest 14.0
# (c) Copyright 1998 Cadence Design Systems, Inc.
#
# Report: Standard Crosstalk Report Sorted By Worst Case Crosstalk
#
Thu Feb 17 16:42:21 2000
################################################################################
January 2002
210
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
********************************************************************************
All Neighbors Crosstalk at Receivers (mV) (Typ FTSMode)
********************************************************************************
Victim XNet
Victim Drvr
Victim Rcvr
HSOddXtalk HSEvenXtalk
--------------- -------------- ------------- ---------- ----------1 memory A7 memory J47 120 memory U17 32 401.5
NA
1 memory A7 memory J47 120 memory U4 32
391
NA
1 memory A0 memory J47 33
memory U12 23 387.9
NA
1 memory A3 memory J47 118 memory U12 26 384.2
NA
1 memory A0 memory J47 33
memory U17 23 380.2
NA
1 memory A3 memory J47 118 memory U9 26
376.4
NA
...
***********************
***********************
LSOddXtalk LSEvenXtalk
---------- ----------214.6
NA
209.3
NA
229.8
NA
207.3
NA
210.1
NA
202
NA
...
Sample Report (continued)
*********************************************************************************
Pulse Data Per Xnet
*********************************************************************************
XNet
PulseFreq PulseDutyCycle PulseCycleCount
--------------------- --------- -------------- --------------1 memory WP
50MHz
0.5
1
1 memory UN4CAP226PA0 50MHz
0.5
1
1 memory UN4CAP225PA0 50MHz
0.5
1
1 memory SDA
50MHz
0.5
1
1 memory SCL
50MHz
0.5
1
1 memory SA2
50MHz
0.5
1
January 2002
211
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
...
*********************************************************************************
Description of abbreviations
*********************************************************************************
Column
Description
------------ ---------------------------------------------------------HSEvenXtalk
Crosstalk, Rise Stimulus to Neighbors and Victim held High
HSOddXtalk
Crosstalk, Fall Stimulus to Neighbors and Victim held High
LSEvenXtalk
Crosstalk, Fall Stimulus to Neighbors and Victim held Low
LSOddXtalk
Crosstalk, Rise Stimulus to Neighbors and Victim held Low
Victim Drvr
Victim Driver Pin
Victim Rcvr
Victim Receiver Pin
Victim XNet
Victim Extended Net
------------------------------------------------------------------------
Report Computations
Crosstalk is the magnitude of the voltage change seen at a pin on a victim net where the
voltage change is induced by signals on coupled neighboring aggressor xnets when drivers
on aggressor nets are switching.
The crosstalk measurement for a victim net held in the high state is taken as the magnitude
of the difference between the lowest excursion of the receiver waveform minus the victim net’s
steady state voltage. The crosstalk measurement for a victim net held in the high state is
taken as the magnitude of the difference between the victim net's steady state voltage minus
the lowest excursion of the receiver waveform.
January 2002
212
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Crosstalk measurements for victim nets in both the high and low states are shown in the
following figure.
Crosstalk Measurement Points
Electrical Constraints
The following constraints can be set on a net or on a pin-to-pin connection for evaluation
during delay analysis
.
Table 5-30 Measures Delay Value Comparisons
Constraint
Definition
Format
MAX_XTALK
Limits the total crosstalk on a victim
net from all aggressor nets.
maximum value:minimum value
MAX_PEAK_XTAL Limits the crosstalk on a victim net
K
from a single aggressor net.
January 2002
213
maximum value:minimum value
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Analyzing to Generate Waveforms
When signal integrity problems are detected in a critical net, waveforms are often used to
diagnose the root causes. SigWave is an oscilloscpe emulator that can be used to display the
waveforms resulting from your simulations.
When you perform analysis for signal integrity or EMI emissions by creating and viewing
waveforms, SigNoise performs the necessary simulations based on specifications you make
in the Signal Analysis and Analysis Waveform Generator dialog boxes.
Having both dialog boxes open together, you can move back and forth between them,
selecting nets and pins for analysis in the Signal Analysis dialog box and specifying
simulation details in the Analysis Waveform Generator dialog box.
After examining the resulting waveforms in the SigWave window, you can refine your net and
pin selections and simulation details, change simulation preferences (if necessary), and
perform more specific analyses to pinpoint problem signals for a more refined analysis.
To begin waveform based analysis:
➤
Click Waveforms in the Signal Analysis dialog box. For details, see Figure 5-12 on
page 156.
January 2002
214
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
The Analysis Waveform Generator dialog box is displayed, as shown in the following
figure.
January 2002
215
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
In the Signal Analysis dialog box you can:
■
Select nets and pin pairs for analysis. For details, see “Selecting Nets and Pins for
Simulation” on page 158.
In the Analysis Waveform Generator dialog box you can:
■
Select a simulation tab to perform one of five types of simulations: Reflection,
Comprehensive, Crosstalk, SSN, or EMI Single.
■
Specify simulation details
■
❑
Select a simulation case
❑
Select the stimulus (choices vary between simulation types)
❑
Select the Fast/Typical/Slow Simulation speed mode
❑
Select the Victim nets and drivers
❑
Select the Aggressor net switching mode (for Crosstalk and Comprehensive
simulations) and Aggressor nets and drivers (for Crosstalk simulations)
❑
Select whether or not to save circuit files or use timing windows (for Crosstalk
simulations)
Specify additional information for a standard report
❑
Select one of ten standard report types to produce
❑
Select the Aggressor nets, drivers, and switching mode
❑
Specify the type of simulation (Reflection, Comprehensive Odd, Comprehensive
Even, or Comprehensive Static) to perform and the stimulus to apply (Pulse or Rise/
Fall)
■
Create the waveforms
■
After reviewing waveforms, open the Analysis Preferences dialog box to modify
simulation preferences to further refine the waveforms resulting from subsequent
simulations.
■
View selected waveforms
January 2002
216
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Specifying the Simulation Type
Select one of the five tabs in the Analysis Waveform Generator dialog box to determine the
type of simulation performed to generate the waveforms.
■
Use the Reflection tab to perform You can generate t simulations .
■
Use the Comprehensive tab to perform Comprehensive simulations .
■
Use the Crosstalk tab to perform crosstalk simulations .
■
Use the SSN tab to perform simultaneous switching noise simulations .
■
Use the EMI Single tab to perform EMI single net simulations .
Reflection Simulations simulate only the victim net and none of the neighboring aggressor
nets. Reflection simulation does not take the parasitics of power and ground pins into
account.
Comprehensive Simulations simulate the specified victim net and its neighboring
aggressor nets at the same time. In Comprehensive simulation, SigNoise applies the stimulus
type you select to the victim net and either the same or the opposite stimulus to the
neighboring aggressor nets depending on the switch mode you specify. Comprehensive
simulation takes power and ground parasitics into account. It also shows glitches in the victim
net that are produced by activity on the aggressor nets.
Crosstalk Simulations simulate one or more specified victim nets and one or more
neighboring aggressor nets at the same time.
Specifying All/Group Neighbors for aggressor nets shows how activity on the specified
aggressor nets can cause crosstalk on the victim nets. With a stimulus type of Rise or Pulse,
SigNoise holds the victim nets high and applies a Fall or Inverted Pulse stimulus to the
neighboring aggressor nets. With a stimulus type of Fall or Inverted Pulse, SigNoise holds
the victim nets low and applies a Rise or Pulse stimulus to the neighboring aggressor nets.
Specifying Each Neighbor isolates crosstalk contributions from individual neighboring
aggressor nets. In each neighbor crosstalk analysis, SigNoise runs multiple simulations
where in each simulation, a single aggressor net is active while the other neighboring nets
are passive (held in the same state as the victim net). With a stimulus type of Rise or Pulse,
SigNoise holds the victim nets high and applies a Fall or Inverted Pulse stimulus to the
neighboring aggressor nets. With a stimulus type of Fall or Inverted Pulse, SigNoise holds
the victim nets low and applies a Rise or Pulse stimulus to the neighboring aggressor nets.
SSN Simulations examine what happens when all the drivers on a device that use the same
power and ground bus as the driver in the selected victim nets trigger simultaneously, causing
January 2002
217
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
power and ground bounce. SigNoise monitors the ripple at the internal power and ground
buses and takes them into account in the analysis of the extended net (or Xnet).
EMI Single Simulations
Performs a Reflection simulation for a single net to evaluate the differential mode radiated
emissions for the net.
Common Tab Areas
The following tables describe the common sections and buttons for all tabs.
Table 5-31 Common Tab Sections
Section
Function
Current Case
The name of the current case including a pulldown menu of
available cases from which you can select to report on.
Stimulus
The current stimulus type including a pulldown menu of available
stimulus choices. Choices are Pulse, Rise, Fall, Rise/Fall and
InvertedPulse.
Check boxes to specify one or more speeds at which SigNoise will
run simulations. Fast/Slow and Slow/Fast refers to speeds of
driver/receiver combinations.
Pull down menus for selecting victim net(s) to be monitored
during simulation and selecting victim net driver(s) to be
stimulated when victim nets are held in the high state.
Fast/Typical/Slow
Mode
Victim
Save Circuit Files
A check box to indicate if SigNoise will save resulting tlsim and
Spice circuit files in the case directory for each simulation
performed.
Table 5-32 Common Tab Buttons
Button
Function
Create Waveforms
Starts report generation using the selections you specified in the
both the Signal Analysis and Report Generator dialog boxes.
View Waveform
Opens the SigWave window and loads the waveform file selected
from the listbox.
January 2002
218
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Table 5-32 Common Tab Buttons
Button
Function
Preferences
Displays the Analysis Preferences dialog box enabling you to
modify simulation preferences as you specify simulations and
generate waveforms.
Optional Tab Sections
The following table describes the optional sections found only on the Comprehensive and/
or Crosstalk tabs.
.
Table 5-33 Optional Tab Sections
Section
Function
Aggressor
Pull down menus for selecting switch mode, net selection and
driver selection.
A check box to specify that SigNoise use timing window properties
to refine the crosstalk simulations to account for received crosstalk
that is insignificant due to the timing of signals.
Use Timing Windows
Displaying and Interpreting Waveforms
The SigWave window is SigNoise’s waveform viewer. Its primary purpose is to display
response waveforms from circuit simulations. SigWave is also used by other applications that
require waveform display. For example, using SigWave you can display IBIS VI and VT
transfer curves.
To display a waveform in the SigWave window:
1. Select a waveform file from the listbox in the Analysis Waveform Generator dialog box.
2. Click View Waveform. The SigWave window appears displaying the selected waveform.
The SigWave window with a sample waveform is shown in the following figure.
January 2002
219
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Figure 5-16 The SigWave Window
For more detail on displaying and interpreting waveforms, see SigWave in the online help.
Conductor Cross Sections
The Conductor Cross Section window (sigxsect) allows you to view the geometry of
Interconnect Models and the equipotential field lines between the cross sections of
interconnect.
To view interconnect cross section geometry:
1. Select a net from the listbox in the Signal Analysis dialog box.
2. Click View Geometry in the Signal Analysis dialog box. For details, see Figure 5-12
on page 156.
The sigsect window with a sample conductor cross-section is shown in the following figure.
January 2002
220
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
Figure 5-17 The sigxsect Window
For more detail on viewing interconnect models, see sigxsect in the online help.
January 2002
221
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Analyzing for Signal Integrity and EMI
January 2002
222
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
6
Crosstalk Timing Windows
■
“Overview” on page 224
■
“Crosstalk False Alarms” on page 224
■
“Crosstalk Timing Properties” on page 226
January 2002
223
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Crosstalk Timing Windows
Overview
Crosstalk timing windows are a set of timing properties that specify either intervals of time
during which nets (crosstalk aggressors) are actively switching or intervals when nets
(crosstalk victims) are sensitive to crosstalk. Using crosstalk timing windows increases the
accuracy of crosstalk analysis by taking inter-signal timing into account. This reduces
pessimistic crosstalk false alarms by not allowing the effects of out-of-phase aggressor nets
to be combined on victim nets.
Crosstalk False Alarms
When you do not use crosstalk timing windows, your simulation can present overly
pessimistic crosstalk information (false alarms) that would never occur during the normal
operation of the design. If you respond to crosstalk false alarms by separating interconnect
lines to prevent these false problems, you might overconstrain the design and lose routing
channels.
In the following cases you can prevent crosstalk false alarms by using crosstalk timing
windows to preclude:
■
Crosstalk falsely reported on a victim net caused by activity on a neighboring aggressor
net during a time interval when the victim net is not vulnerable to crosstalk.
■
Crosstalk falsely reported on a victim net caused by activity on multiple neighboring
aggressor nets during a time interval when activity on the aggressor nets does not
overlap to create significant crosstalk on the victim net.
The timing diagram that follows shows a clock cycle and the activity you might expect on
victim net named DATA and an aggressor net named NEIGHBOR.
S0
S1
S2
S3
S0
S1
S2
S3
CLOCK
stable
in-transition
NEIGHBOR
stable
in-transition
DATA
Based on this diagram, you can assume the following:
January 2002
224
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Crosstalk Timing Windows
■
DATA is only sensitive to crosstalk when it is stable.
■
NEIGHBOR can only generate crosstalk on DATA when NEIGHBOR is in transition.
■
DATA is never sensitive to crosstalk when NEIGHBOR can generate it.
By using crosstalk timing windows you can specify time intervals when NEIGHBOR
generates crosstalk and time intervals when DATA is susceptible to crosstalk. With crosstalk
timing windows, SigNoise can detect when the time intervals overlap to produce crosstalk. In
this case SigNoise reports no crosstalk on DATA. Without using crosstalk timing windows,
SigNoise might falsely report crosstalk on DATA generated by NEIGHBOR.
The following diagram shows two cases of how the voltages at three probe points in a layout
would appear in a scope.
Case 1 is the worst-case example. Neighboring drivers D2 and D3 are simultaneously
creating crosstalk. The crosstalk at XTALK1 is the sum of the crosstalk generated by D2 and
D3.
In case 2 the drivers do not transition simultaneously so the crosstalk at XTALK1 is not the
sum of the crosstalk generated by D2 and D3.
By using crosstalk timing windows you can specify different transition times for D2 and D3. If
you do not use crosstalk timing windows, SigNoise does not know transition times and reports
crosstalk based on the possibility of a simultaneous transition in D2 and D3.
January 2002
225
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Crosstalk Timing Windows
The following timing diagram shows the bits of a data bus and the clock cycle for read and
write operations on that bus.
READ/ WRITE
in-transition
stable
in-transition
stable
DATABUS1
DATABUS2
DATABUS3
DATABUS4
...
In this example, receivers read data on the rise of the clock cycle and drivers write on the fall
of the clock cycle. Drivers write to all bits simultaneously. All crosstalk between the bits in this
bus occurs during the in-transition write operation. In this case, crosstalk between the bits is
irrelevant.
A bus is often routed in a tight group so the coupling, and therefore the potential for crosstalk,
among bits is high. With crosstalk timing windows you can instruct SigNoise to ignore
crosstalk among bits. Without crosstalk timing windows, SigNoise reports the crosstalk
among bits in the most pessimistic fashion.
Crosstalk Timing Properties
You can solve the crosstalk timing problem by providing relative timing information as values
for the three properties shown in the following table
Table 6-1 RelativeTiming Properties
Property
Description
XTALK_ACTIVE_TIME
Specifies the times during which a net can generate
crosstalk on a neighbor net. If a net has no attached
XTALK_ACTIVE_TIME property, SigNoise assumes that the
net can generate crosstalk at all times. See “Specifying
Crosstalk Activity” on page 227.
January 2002
226
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Crosstalk Timing Windows
Table 6-1 RelativeTiming Properties
Property
Description
XTALK_SENSITIVE_TIME
Specifies the times during which a net is susceptible to
crosstalk from its neighbors. If a net has no attached
XTALK_SENSITIVE_TIME property, SigNoise assumes that
the net is susceptible to crosstalk at all times. See
“Specifying Crosstalk Sensitivity” on page 227.
XTALK_IGNORE_NETS
Specifies that a net is never susceptible to crosstalk from the
specified nets. See “Specifying Ignore Crosstalk” on
page 228.
When you attach these properties to a net, you can specify times when the net is susceptible
to crosstalk generated by neighboring nets, times when the net can generate crosstalk on
neighboring nets, and that the net is never susceptible to crosstalk generated by neighboring
nets.
Specifying Crosstalk Activity
To tell SigNoise when a net can generate crosstalk:
➤
Use the XTALK_ACTIVE_TIME property.
You can, for example, assign this property to a net and specify the times when the net
can generate crosstalk.
Note: If you do not assign an XTALK_SENSITIVE_TIME property to a net, SigNoise
assumes that the net can generate crosstalk at all times.
Specifying Crosstalk Sensitivity
To tell SigNoise when a net is susceptible to crosstalk:
➤
Use the XTALK_SENSITIVE_TIME property.
You can, for example, assign this property to a data net and specify its setup and hold
times as the times when this net is susceptible to crosstalk.
Note: If you do not assign an XTALK_SENSITIVE_TIME property to a net, SigNoise
assumes that the net is always susceptible to crosstalk.
January 2002
227
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Crosstalk Timing Windows
The values for the XTALK_SENSITIVE_TIME property are single values, or ranges of values.
You separate the values and ranges of values with commas. You specify ranges with a
hyphen between the start and end values of a range. The following is an example of
simulation time values for this property.
150-175, 400, 450-475
You can specify only positive integers as values. SigNoise ignores tabs and spaces. You
cannot include alphabetic or special characters in these values.
You can specify NONE to tell SigNoise that the net is never susceptible to crosstalk.
Specifying Ignore Crosstalk
To tell SigNoise not to look for crosstalk on certain nets
➤
Use the XTALK_IGNORE_NETS property.
You can, for example, use this property on the bits of a synchronous data bus where
there is no functional crosstalk between bits.
When you assign the XTALK_IGNORE_NETS property to the nets in a bus, the bus is routed
with minimum spacing instead of separating the bits and blocking routing channels to avoid
crosstalk between the bits.
The XTALK_IGNORE_NETS property values are net names and Electrical Constraint Set
(ECSet) names. You separate these names with commas.
If a name value matches a net name, SigNoise ignores the net in crosstalk analysis. If a name
matches an Electrical Constraint Set name, SigNoise ignores all nets using that constraint set
in crosstalk analysis.
January 2002
228
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
7
Properties
■
“Overview” on page 230
■
“Attaching and Editing Properties” on page 230
January 2002
229
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Properties
Overview
SPECCTRAQuest and Allegro/APD have a set of predefined properties that can be attached
to design elements. You can attach properties to elements in a design to instruct
SPECCTRAQuest or Allegro/APD on how to operate on those elements. For example, a net
with the NO_GLOSS property attached is not affected by the Allegro/APD glossing router.
Different Cadence applications use different properties.
You can attach properties:
■
directly to a design element in SPECCTRAQuest or Allegro/APD.
■
to a Concept schematic that you would import into Allegro/APD.
■
through a third-party netlist that you would import into Allegro/APD.
Attaching and Editing Properties
You can attach and edit properties on the elements listed in the following table:
Table 7-1 Design Elements that Accept Properties
CLINES
LINES
COMPONENTS
PIN DEFINITIONS DEFINITIONS
PINS
DRCS
RECTANGLES
FIGURES
SHAPES
FRECTANGLES
SYMBOLS
FUNCTION
VIAS
FUNCTIONS
VOIDS
LAYOUT (a property
attached to the entire
design)
GROUPS
January 2002
COMPONENT
DEFINITIONS
230
NETS
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Properties
To attach or edit element properties:
1. Select the option shown in the following figure from the main menu of either the
SPECCTRAQuest Floorplanner or Allegro/APD.
2. Click the element in the design which you want to attach the properties to.
The element is highlighted; the Edit Properties and Show Properties dialog boxes are
displayed as shown in the following figure. The Show Properties dialog box lists any
properties which have been previously associated with the selected design element.
January 2002
231
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Properties
Figure 7-1 The Edit Property Dialog Box
3. Click on the desired property to be attached or edited from the Available
Properties list box in the Edit Property dialog box. As an option, you can also enter
a valid property name in the Name field. The property is displayed on the right side of
the dialog box.
4. If desired, change the value of a property using its Value box or delete a property by
clicking (check) its Delete box.
5. Click Apply to associate the new property list with the element. The new properties are
displayed in the Show Properties dialog box.
January 2002
232
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
8
EMI and Power Plane Modeling
■
“Overview” on page 234
■
“Power Plane Builder” on page 234
■
“The EMWave Window” on page 235
January 2002
233
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
EMI and Power Plane Modeling
Overview
One of the most important considerations in the design of any high-speed system is its power
and ground structure which is usually realized as a pair of power and ground planes. Digital
engineers often assume that the ground plane is a zero-volt reference and that the VCC plane
is 5-volts. However, in a high-speed system this is seldom the case. While the copper planes
on a printed circuit board (PCB) offer a lower impedance than that offered by the power and
ground bus, the copper planes still have a finite, non-zero impedance. As such, the currents
resulting from high speed switching as well as the return currents resulting from high-speed
clocks and signals, cause the reference voltages of these planes to vary considerably across
the board.
Power Plane Builder
The Power Plane Builder provides the design engineer with the ability to manage the effects
of one of the primary sources of common-mode noise between the power and ground planes,
RF hot-spots in the ground plane caused by high-speed switching. Switching events can
occur in less than a nanosecond and contain spectral components that reach into the
microwave spectrum.
Briefly, here’s how RF hot spots occur. When a device switches, it draws current from a
source (in this case, the power plane, or more correctly, the decoupling capacitors servicing
the device on the power plane) and the current flows down a via to the ground plane. As this
sudden surge of current travels down the via, the via behaves like a tiny antenna by emiting
an electric field which propagates outward from the via between the power and ground
planes, inducing a voltage between the planes.
For the Fourier components of the switching event that are higher in frequency than the
natural resonant frequency of the power and ground plane pair (this resonant frequency is a
function of the length and width of the planes as well as the dielectric constant of the material
between them) the planes appear as an electrically large resonant structure. As with any
large resonant structure, there are high-order waveguide-type modes that can be excited.
These high-order modes are the hot-spots in the ground plane that EMC engineers have
come to recognize as problems. It is these types of problems that cause common-mode
radiated emissions from I/O and power cables or degradation in a chip’s signal integrity. It is
this behavior that Power Plane Builder displays in a three dimensional animation in EMWave.
Preparing the PCB Early in the Design Process
Using the Power Plane Builder, you can begin to deal with high speed switching problems by
characterizing the behavior of the power and ground plane pair early in the design cycle.
During the early exploration phase of a design, you may have only an idea of what the board
January 2002
234
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
EMI and Power Plane Modeling
geometry is going to be and the type of devices that are going to be used. Even so, this
information is sufficient to provide meaningful answers about how the board’s power and
ground plane structure is going to behave under the influence of high-speed switching.
Before using Power Plane Builder on a board where you have already placed chips and
defined the layering stackup, ensure that the VOLTAGE property is attached to the DC nets
(for example, VCC and GND) and identify a voltage source pin for both the power and ground
nets. This effectively designates the driving source for the current switched through the via
that causes the noise in the power and ground planes. You can both define the voltage
properties and identify the voltage source pins in SPECCTRAQuest using the Netlist –
Identify DC Nets command.
Before you simulate, make sure that:
■
the power and ground planes are defined. This is usually done in Allegro/APD by the
PCB designer.
■
the parts you want to analyze have their power and ground connections fanned out and
connected to the power planes. This can be done in either Allegro/APD or
SPECCTRAQuest.
Creating vias early on the design process enables the Power Plane Builder to more
accurately predict the plane noise. Vias can have the effect of breaking up traveling modes in
the planes. Further, if there is no ground via defined, the Power Plane Builder is going to
assume the PCB ground point to be at the 0,0 coordinate.
Preparing to Examine Ground Bounce in EMWave
Perform an SSN simulation with the Do Plane Modeling option selected on the
Interconnect Models tab of the Analyse – SI/EMI Sim – Preferences dialog box. The
waveforms list box at the bottom of the SSN tab of the Analysis Waveform Generator
dialog box will display two files for each simulation: simx.map and simx.sim.
■
Use the simx.map file to display a ground bounce movie depicting a time domain,
animated view of the ground bounce surface as it developed throughout the simulation.
For details, see “To display a ground bounce movie:” on page 239.
■
Use the simx.sim file to display the Voltage vs. Time waveform for the simulation. For
details, see “To display the corresponding time-domain waveform:” on page 239.
The EMWave Window
The EMWave window is a three-dimensional viewer for display of time domain, animated
ground bounce waves propagating between power and ground planes on a printed circuit
January 2002
235
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
EMI and Power Plane Modeling
board (PCB). EMWave displays ground bounce waves in boards having one pair of power and
ground planes. Components and decoupling capacitors are superimposed on the ground
bounce movie to assist you in assessing their effectiveness. EMWave can also operate in
noise map mode for display of a static image of the RF hot spots which occurred during the
simulation.
The EMWave window is comprised of the four areas shown in the following table
.
Table 8-1 EMWave Window Areas
Area
Function
Display Window
Displays the ground bounce surface in time-domain, animated movie
or in a static noise map view.
Menu Bar
Provides menu commands to operate the viewer.
Tool Bar
Provides icons to run the movie and adjust the display window.
Status Bar
Displays an informational message.
The following figure shows the EMWave window with a ground bounce movie displayed.
January 2002
236
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
EMI and Power Plane Modeling
Figure 8-1 The EMWave Window
The following tables describe the menu options and toolbar buttons in the EMWave window.
January 2002
237
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
EMI and Power Plane Modeling
Table 8-2 EMWave Window - Menu Options
Option
Function
File – Open
Opens a waveform (.sim) file created by a SSN simulation with the
Do Plane Modeling option active.
File – Exit
Closes the EMWave window.
View – Toolbar
Toggles toolbar display.
View – Status Bar Toggles status bar display.
Help – Topics
Displays this help file.
Help – About
Displays the revision of the EMWave program.
Table 8-3 EMWave window - Toolbar Buttons
Button
Function
Play
Toggles Play animation mode on and Pause off. Plays the ground
bounce movie.
Pause
Toggles Play off and Pause on. Pauses display of the ground
bounce movie.
X, Y, Z rotation
Toggles rotation of the movie on and off around the X, Y, or Z axes.
Zoom In
Moves your viewpoint closer to the display, magnifying your view of
the ground bounce surface.
Zoom Out
Moves your viewpoint further away from the display, widening your
view of the ground bounce surface.
About
Displays the revision of the emwave program.
Mesh
Toggles between solid and mesh mode for display of the ground
bounce surface. In solid mode, the ground bounce surface appears
as a solid sheet. In mesh mode, the surface appears as a mesh of
polygons.
Reset
Restores the original viewpoint.
Movie
Toggles between the default animation mode and a static noise map
mode. Noise map mode displays only the hot spots that occur during
the simulation.
January 2002
238
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
EMI and Power Plane Modeling
To display a ground bounce movie:
1. Click to select the simx.map file in the waveforms list box on the SSN tab of the
Analysis Waveform Generator dialog box.
2. Click the View Waveform button.
The EMWave window appears with the first frame of the ground bounce movie displayed
as shown in the following figure.
3. Click Play (the triangle) in the EMWave toolbar to start the movie.
4. Click Pause (to the right of Play) to pause the movie.
To display the corresponding static noise map:
1. Click to select the simx.map file in the Waveforms list box of the Signal Analysis
(casex) dialog box.
2. Click View Waveform.
The EMWave window appears with the first frame of the ground bounce movie
displayed.
3. Click Movie/Map (the icon furthest to the right) in the EMWave toolbar to display the
static noise map view.
To display the corresponding time-domain waveform:
1. Click to select the simx.sim file in the Waveforms list box on the SSN tab of the
Analysis Waveform Generator dialog box.
2. Click View Waveform.
The SigWave window appears with the waveform displayed.
January 2002
239
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
EMI and Power Plane Modeling
January 2002
240
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
9
Multi-Board Designs (Systems)
Topics in this chapter include
■
“System-Level Simulation” on page 242
■
“Modeling Strategies” on page 244
■
“Working with System Configurations” on page 245
■
“Setting Constraints at the System-Level” on page 251
■
“System-Level Simulation” on page 252
January 2002
241
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
System-Level Simulation
A design is a board file (.brd) in SPECCTRAQuest, Allegro or APD. A system consists of
all participating designs, along with the interconnecting cables and connectors. For example,
a system may consist of a motherboard, a power supply, a cooling fan, and several plug-in
cards such as a video controller, a sound card, and RAM modules.
With system-level simulation, you analyze an extended net (system-level Xnet) that spans
more than one design. The simulation takes into account the path through all the designs in
the system and the connectors and cables that connect these designs.
What is a system configuration?
A system configuration file (.scf) is a database representation of all the participating designs,
including interconnecting cables and connectors, that comprise the system. The system
configuration also includes the Xnets and pin-pairs that traverse a system and their assigned
constraint values.
A system configuration represents the electrical characterization of a system. For example, a
motherboard may have four slots for memory modules. If two of these slots are populated,
then that is considered a system configuration. If four of these slots are populated, then that
is considered an entirely different system configuration.
As another example, if only the first memory slot is populated, moving the memory module to
the fourth slot is considered a change in the system configuration because the trace to the
fourth slot is further from the signal source than the trace to the first slot.
For each permutation of memory modules (1 through 4, populated or vacant) there is a
different system configuration. You can constrain each of these unique configurations as a
different system configuration database. A final example is swapping out the cable that
connects one design to another. If it is swapped for another cable, perhaps a longer one, then
this is considered a change in the system configuration.
January 2002
242
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Eventually the design or board the file (.brd) can be constrained such that any system
configuration meets the system level constraint requirements.
With system configuration database, you can:
■
Switch between various system configurations without loss of information.
■
Use a single system configuration database for multiple participating design databases.
■
Use Constraint Manager to manage system-level constraints.
■
Preserve system-level constraints, system pin-pairs, and system Xnets from one project
session to the next.
What is a DesignLink?
To simulate a design (in a system of designs), you must specify the designs in the system and
how to connect the designs together. To do this, you use a DesignLink. A DesignLink is a type
of model that specifies both a set of connections and the other designs to which you make
connections. Each system configuration file is established (seeded) from a DesignLink.
Once the system configuration is established (or activated), it is saved to a system
configuration database file (.scf) which then keeps the system connectivity in the database
format. At this point, the DesignLink is no longer used.
What is a cable model?
A cable model represents the parasitics of the cable running between multiple designs. A
cable model is similar to a PackageModel; both contain RLGC matrices (or circuit models).
However, you insert a cable model into a DesignLink and you insert a PackageModel into an
IbisDevice model.
You can edit any existing cable model that has been created and added to a Library. If you
created the model by cloning (or copying) an existing model, you need to edit the cloned
model so that it characterizes the device you are modeling. If you created the model from
scratch, it will contain default values that you may want to edit.
Note: Cadence recommends that you create new cable models by cloning an existing cable
model from the sample library and editing that copy to characterizes the cable which you are
modeling, rather than by building a cable from scratch.
January 2002
243
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Modeling Strategies
A typical system configuration might consist of two printed circuit boards, PCB1 and PCB2,
two mated connectors and a cable. A connector is typically made up of a plug and a
receptacle. In this scenario, one receptacle is mounted on PCB1, the other receptacle is
mounted on PCB2, and the two plugs are mounted on the ends of the cable.
The following approach was taken to model this multi-board system:
■
A PackageModel is used to represent the parasitics of a mated connector (plug and
receptacle).
You assign a PackageModel on the board and include the parasitics of both the
receptacle and the plug.
■
An IBISDevice model is generated for each connector on the board, then a
PackageModel is inserted into each IBISDevice model.
When you create an IbisDevice model for a Connector, make sure that you do not assign
any buffer models to connector pins. This way all connector pins will have the UNSPEC
pinuse, which is required for the correct simulations.
In this scenario, identical connectors are used on both PCBs.
■
An RLGC model is used to represent the parasitics of the cable running between the two
boards.
■
A DesignLink model is generated to specify the system-level connections between the
two boards.
The RLGC model is inserted into the DesignLink model.
Use the following guidelines when employing a modeling strategy:
Modeling Common Multi-Board Configurations
To model...
Use...
PCBs connected through a cable, with a
connector on the PCBs at each end of the
cable.
Represent the connectors on the PCBs as a
PackageModel within an IBIS device model.
Represent the cable as an RLGC model
within a DesignLink model. Always set the
PINUSE for connector pins to UNSPEC.
January 2002
244
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Modeling Common Multi-Board Configurations
To model...
Use...
Daughter boards with gold fingers plugged
into a card-edge connector on a backplane.
Represent the connector as an RLGC
model within a DesignLink model. Do not
make IBIS device models for the connectors
on the PCBs; set their PINUSE to
UNSPEC.
An MCM in a Pin-Grid-Array (PGA) package
plugged into a PCB.
Model the pins of the PGA in an RLGC
model within a DesignLink model. Do not
make IBIS device models for the thru-holes
on the PCB; set their PINUSE to UNSPEC.
Working with System Configurations
The following sections describe how to use system configurations.
Establishing a new System Configuration
A new system configuration is established with a DesignLink model. It specifies both the
participating designs and how they are connected. The following steps guide you through the
process.
1. From Allegro/APD, SPECCTRAQuest, or Constraint Manager, choose Analyze–
SI/EMI Sim–Library).
The Library Browser appears.
2. In the Signal Analysis Library Browser dialog box, click Browse Models.
The Model Browser appears.
3. Click Add Model.
4. Select DesignLink from the pop-up menu
A dialog box will appear for you to name the new DesignLink.
5. Enter a name for the DesignLink.
6. Click Edit.
The System Configuration Editor appears with all fields empty.
January 2002
245
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Figure 9-1 System Configuration Editor dialog box
7. Complete the configuration as described in the System Configuration Editor Controls
table on page 247.
8. Once the DesignLink model is established, it can be used to create a new system
configuration. See “Choosing among existing System Configurations” on page 249 for
more information.
January 2002
246
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Table 9-1 System Configuration Editor Controls
Click this button
To perform this operation
Drawings Fields
Add File
Add a board file (design) to the system configuration
Add BoardModel
Add a BoardModel to the system configuration (a design can be
represented in the abstract as an electrical BoardModel)
Remove
Remove a design from the system configuration
Set Design Name
Add a label to the selected design name
Set Drawing Path
Specify a path to the selected design name. You can, in effect,
instantiate the same design many times with reference to a single
board file (.brd). You give each derivative a unique label. For
example, a memory module of the same design may be
instantiated in a system.
Connections Fields
Add
Name a connection between participating designs in the system
configuration.
Remove
Remove a connection between participating designs in the
system configuration.
Copy
Clone an existing connection between participating designs in the
system configuration.
Set Length
Specify a cable length in meters. Use zero for plug-in boards.
Set Cable Model
Specify a cable model from the library.
Connections
PinMap Fields
Add
Add new pin connections to the selected cable connection.
Presents a series of dialog boxes to collect information on the
first wire number, the number of wires, and the starting pin (at
either end of the connections).
Remove
January 2002
Remove the selected pin connections from the selected cable
connection.
247
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Table 9-1 System Configuration Editor Controls
Click this button
To perform this operation
Set From Pins
Presents a dialog box for you to select the starting pin at one end
of the cable connection
Set to Pins
Presents a dialog box for you to edit the starting pin at the other
end of cable connection
TextEdit PinMap
Opens the entire pin connection map in a text editor for further
manipulation.
Note: The system configuration name is saved as a property (SYS_CONFIG_NAME) within
the board database. If the board file is moved from one place to another, the system
configuration name follows the board file. The system configuration does not have to be
moved as long as it is available in the system configuration path (as defined by SCFPATH
environment variable).
January 2002
248
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Choosing among existing System Configurations
➤
From Allegro/APD, SPECCTRAQuest, or Constraint Manager, you can choose from
existing system configurations in the Signal Analysis Initialization dialog box (Analyze–
SI/EMI Sim–Initialize).
Figure 9-2 Multiple System Configurations
The System Configuration pull-down menu shows all available system configuration (.scf)
files as well as all available DesignLink models which use the currently opened Allegro board
(.brd) file.
Of the available system configurations there is the Single Board System. This is the default
system configuration. Single board system uses a single design or board file (without other
participating designs). A system configuration database file is not produced when choosing
Single Board System.
January 2002
249
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
When a system configuration is chosen (and activated by clicking OK), the system
configuration is checked. If there are any errors with the chosen system configuration, the
previous system configuration is restored.
When a DesignLink model is chosen (and activated by clicking OK) with only one
participating design, the DesignLink is ignored and the previous system configuration is
restored. If the DesignLink model contains multiple participating designs, a new system
configuration is created (with same name as the DesignLink model). The previous DesignLink
model can still be cloned or used to seed a different system configurations.
Important
The only way to create new system configuration is to create a new DesignLink
model (either from scratch or by cloning an existing DesignLink model), and then
choosing the DesignLink model, as a system configuration, from the pull-down
menu in the Signal Analysis Initialization dialog box (see “Multiple System
Configurations” on page 249).
Note: The system configuration path is determined by an Allegro environment variable
SCFPATH which is, by default, set to the current working directory.
Modifying an existing System Configuration
To modify an existing system configuration, select a system configuration from the drop-down
menu of the System Analysis Initialization dialog box (see “Multiple System Configurations”
on page 249), then click Edit System Configuration. The system configuration must be
activated before it can be edited
Make changes to the selected system configuration through the System Configuration Editor
as described in the System Configuration Editor Controls table on page 247.
January 2002
250
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
Setting Constraints at the System-Level
You can set a constraint directly on a system-Xnet in your layout or you can define the
constraint in Constraint Manager as an ECSet and then reference it to a system-Xnet.
When a board is removed from a system configuration and accessed as a single board, it is
desirable to maintain as much as possible the constraints that were set at the system-level.
Therefore, when a constraint is set on a system-Xnet, the relevant system constraints will be
copied to each net and design-Xnet in the system-Xnet. The source of these design-level
constraints will be marked as system-level, so it will be possible to delete it when the board
is included in a different system configuration. When the board is opened as a single board,
the constraints that were copied from the system-level constraints will remain in the design.
Electrical constraints will be assigned to a system-Xnet as follows:
■
Each non pin-pair based constraint will be copied to every net and design-Xnet in the
system-Xnet as a property override unless the net or design-Xnet already has a defined
constraint value. In this case, the worst-case constraints from the net or Xnet and system
Xnet is chosen.
■
For pin-pair based constraints (Min First Switch, Max Final Settle,
Propagation Delay, Relative Propagation Delay, Impedance), all autogenerated pin-pair rules will be copied to each net and design-Xnet in the system-Xnet.
Any user-defined pin-pair rules on a single design will be copied and flattened to the
design that it references. Those pin pairs that reference pins on different designs will be
saved as system pin-pairs.
Most of the constraints that are set on system-Xnets will be copied to the member nets and
design-Xnets, and will be shown in a Constraint Manager worksheet on both system- and
design-Xnets. The actual values displayed in the worksheet will correspond to the object. For
example, the net level Max Vias constraint will show an actual value that is the total number
of vias in the net. The actual value displayed for a system-Xnet will be the total number of vias
in the system-Xnet.
Note: If any design-Xnet is part of a bus or a diff pair object, the system-Xnet will also be part
of that bus or diff pair. You do not have to define same bus or diff pair objects in all designs.
January 2002
251
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Multi-Board Designs (Systems)
System-Level Simulation
After you have created your system configuration, you can proceed to simulate nets that span
multiple designs. When you model for multi-board analysis, consider these basic concepts:
■
The simulator automatically models the parasitics for interconnect structures produced
during routing (for example, traces and vias).
■
Interconnect structures that are not created during routing (for example, packages,
connectors, and cables), are represented by RLGC matrices or circuit models, either
directly in an RLGC model (as in a DesignLink model) or in a PackageModel (as in a IBIS
device model).
January 2002
252
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
A
Modeling in the Interconnect Description
Language
■
“Overview” on page 254
■
“IDL Interconnect Line Segment Models” on page 254
■
“IDL Via Models” on page 267
■
“IDL Shape Models” on page 273
January 2002
253
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
Overview
The Interconnect Description Language (IDL) is the language used by both SigNoise and
device model developers. The language is an extension of Spice and consists of control
characters, keywords, and values. SigNoise uses IDL to write models for the connect line
segments, vias, shapes, and pins in designs. You can modify these models. Device model
developers use IDL to write models for
■
Packages. Package models describe the parasitics between a component’s pads and
the die of the device within.
■
RLGC matrices. RLGC models (matrices of resistance, inductance, conductance, and
capacitance values) specify the parasitics in the connections used in system design
links.
■
Passive components. For example, resistors and capacitors.
This appendix describes IDL interconnect models for connect line segments, shapes, pins,
and vias, and shows how you might modify such models.
IDL Interconnect Line Segment Models
IDL interconnect line segment models can describe one or more of the following:
■
Connect lines
■
Connect line segments
■
Parts of connect lines
■
Parts of connect line segments
When you route connect lines within the distance of the geometry window, the resulting
interconnect models describe more than one connect line, connect segment, or part of a
connect segment.
The following figure shows the three interconnect models that SigNoise writes for the
horizontal connect lines and horizontal connect line segments in the illustration.
■
The model on the left describes the left section of the middle connect line.
■
The model in the middle describes both the left section of the connect line segment on
top and the central section of the middle connect line.
■
The model on the right describes the right section of the connect line segment on top,
the right section of the middle connect line, and the connect line segment on the bottom.
January 2002
254
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
Figure A-1 Interconnect Models for Connect Line Segments
Three
interconnect
models
RLGC Matrix Values in Interconnect Models
Interconnect models contain matrices of resistance, inductance, conductance, and
capacitance (or RLGC) values. The SigNoise field solver calculates and writes these values
into the model.
You might want to edit the RLGC values in line segment models to change how SigNoise
simulates the corresponding connect line segments. To do this, edit the RLGC matrix values
in the .rlgc declaration in the line segment model.
The .rlgc declaration is located toward the end of the model, and contains parasitic value
matrices. The following is an example of an .rlgc declaration.
.rlgc RLGCT_1S_2R_2914 ( Length=length N=2 )
.C 0
+ 6.625200e-11 -4.567200e-12
+ -4.567500e-12 5.729800e-11
.L 0
+ 4.834800e-07 7.706100e-08
+ 7.705900e-08 4.388100e-07
.G 0
+ 0.000000e+00 -0.000000e+00
+ -0.000000e+00 0.000000e+00
January 2002
255
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
.R 0
+ 3.586500e+00 0.000000e+00
+ 0.000000e+00 1.793200e+00
.endrlgc RLGCT_1S_2R_2914
The .rlgc declaration is a type of sub-circuit inside a sub-circuit that is written into the
model by the field solver.
The declaration includes matrices that specify the self and mutual parasitic values for the
connect lines, segments, and parts in the model and between the connect lines, segments,
and parts.
■
A self value is the parasitic value of an individual connect line, segment, or part with
respect to some reference, such as a ground plane.
■
A mutual value is the parasitic values between connect lines, segments, and parts.
The more connect lines, segments, and parts in a model the larger the size of the matrices in
the .rlgc declaration. A model for a single connect line, segment, or part contains matrices
that specify only the self value of that connect line, segment, or part. A model for two connect
lines, segments, or parts has matrices of two self values and two mutual values. A model for
three connect lines, segments, or parts, such as that in the figure below, has matrices of three
self values and six mutual values.
Figure A-2 Model for Three Interconnect Lines
C
B
A
January 2002
256
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
The model illustrated in the previous figure describes connect line segments or parts A, B,
and C. The self values in the matrices have the following arrangement in the matrix:
A
B
C
A matrix with the self and mutual values has the following arrangement:
A
A-B
A-C
B-A
B
B-C
C-A
C-B
C
In this matrix A-B is the mutual value between A and B, C-A is the mutual value between C
and A. Mutual values between the same lines, segments, or parts are identical, so the B-C
mutual value equals the C-B mutual value.
.rlgc Declaration Syntax
The syntax of the .rlgc declaration for a model with two lines, segments, or parts is:
.rlgc subcircuit_name (Length=value N=value)
.C frequency_value
+ self_value
mutual_value
+ mutual_value
self_value
.L frequency_value
+ self_value
mutual_value
+ mutual_value
self_value
.G frequency_value
+ self_value
mutual_value
+ mutual_value
self_value
.R frequency_value
+ self_value
mutual_value
+ mutual_value
self_value
January 2002
257
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
.endrlgc subcircuit_name
The following table shows the keywords and values used in the .rlgc declaration syntax
.
Table A-1 Keywords and Values
.rlgc
A keyword that specifies the beginning of the declaration that
contains the matrices of parasitic values.
subcircuit_name
The SigNoise field solver generates the matrix values as a
special kind of subcircuit of the model and names this
subcircuit. The name is a derivative of the model name.
Length=value
A keyword and value statement that specifies the length of the
connect lines, segments, or parts. The field solver can enter
the keyword length for this value to tell SigNoise to take the
length value from the layout instead of from the model.
N=value
A keyword and value statement that specifies both the
number of lines, segments, or parts modeled and the size of
the matrix. A value of 2, for example, specifies two lines,
segments, or parts, a 2x2 matrix value specifies two self
values and two mutual values.
.C
Specifies a matrix of capacitance values.
.L
Specifies a matrix of inductance values.
.G
Specifies a matrix of conductance values.
.R
Specifies a matrix of resistance values.
frequency_value
Specifies the minimum frequency to which SigNoise applies
the parasitic values in the following matrix.
+
A continuation character that indicates that a line is part of a
declaration started on a previous line.
self_value
The parasitic value of a connect line, segment, or part.
mutual_value
The parasitic value between two connect lines, segments, or
parts.
Example Line Segment Model
The following example shows an IDL model for two neighboring connect line segments. The
sections following the example describe the model according to its functional parts.
.subckt T_1S_2R_2914
January 2002
258
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
+X1250Y800L1
+X1225Y800L1
+0
+X1250Y2650L1
+X1225Y2650L1
+0
.material sml6 dielectric=4.5 losstangent=0.001
.material sml5 conductivity=5.959e+07 losstangent=0
.material sml4 dielectric=4.5 losstangent=0.001
.material sml3 conductivity=5.959e+07 losstangent=0
.material sml2 dielectric=4.5 losstangent=0.001
.material ml7 conductivity=3.43e+07
.material ml6 dielectric=4.5
.material ml5 conductivity=5.959e+07
.material ml4 dielectric=4.5
.material ml3 conductivity=5.959e+07
.material ml2 dielectric=4.5
.material ml1 conductivity=3.43e+07
.layerstack Layerstack3
+shield( 3.048e-05 1 0 )
+dielectric( 0.0003048 4.5 0.001 )
.crosssection
+rectangle ( 3.43e+07 0 0.0003048 0.0001524 0.00035814 )
+rectangle ( 3.43e+07 0.0005588 0.0003048 0.0008636 0.00035814 )
+Length=length
.rlgc RLGCT_1S_2R_2914 ( Length=length N=2 )
.C 0
+ 6.625200e-11 -4.567200e-12
+ -4.567500e-12 5.729800e-11
.L 0
+ 4.834800e-07 7.706100e-08
+ 7.705900e-08 4.388100e-07
.G 0
+ 0.000000e+00 -0.000000e+00
+ -0.000000e+00 0.000000e+00
.R 0
+ 3.586500e+00 0.000000e+00
+ 0.000000e+00 1.793200e+00
.endrlgc RLGCT_1S_2R_2914
January 2002
259
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
**The Characteristic Modal Delay, Admittance and
**Impedance Matrices of these Transmission Lines:
*Delay Matrix.
*Td 0 (n=2)
* 5.706200e-09 0.000000e+00
* 0.000000e+00 4.889800e-09
*Admittance Matrix.
*Y 0 (n=2)
* 1.185600e-02 -1.415100e-03
* -1.415100e-03 1.158100e-02
*Impedance Matrix.
*Z 0 (n=2)
* 8.559500e+01 1.045800e+01
* 1.045800e+01 8.762400e+01
.ends T_1S_2R_291
The following sections describe IDL control characters, keywords, and values as you
encounter them from beginning to end in the model:
■
.subckt
■
.material
■
.layerstack
■
.crosssection
■
.rlgc
■
Delay, Admittance, and Impedance
.subckt Declaration
The sample interconnect model begins with the .subckt declaration:
.subckt T_1S_2R_2914
+X1250Y800L1
+X1225Y800L1
+0
January 2002
260
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
+X1250Y2650L1
+X1225Y2650L1
+0
This declaration specifies that the model is a subcircuit of a circuit that SigNoise simulates. It
specifies the following:
■
Name of the subcircuit, T_1S_2R_2914
■
External nodes of the circuit
+X1250Y800L1
+X1225Y800L1
+0
+X1250Y2650L1
+X1225Y2650L1
+0
The plus sign (+) is a continuation control character that specifies that a line is a
continuation of a declaration in the previous line.
The zeroes in this list of external nodes indicate a reference to a ground plane and
separate the input external nodes from the output external nodes.
To name the subcircuit, SigNoise used
■
The T prefix identifying this as a trace model
■
The 1S component indicating one shield layer found in the trace model
■
The 2R component indicating two rectangular conductors found in the trace model
■
The 2914 component as an arbitrary number to differentiate this model from other trace
models
The following figure shows how SigNoise can write models for a part of a connect line
segment.
Part
P1
Part
P2
Part
P3
In this figure, SigNoise writes a model for the following:
January 2002
261
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
■
Part P1 of the middle connect line segment and part of the top connect line segment
■
Part 2 of the middle connect line segment as well as part of the top and bottom connect
line segments
■
Part 3 of the middle connect line segment
The external nodes of a model show where the model connects to other parts of the circuit.
The following figure shows the external nodes in the model for Part P1.
External
nodes
External
nos
Part
P1
The subcircuit name is T_1S_2R_2914. This name does the following:
■
Models more than one connect line segment
■
Has an external node at X and Y coordinates 960 and 2460
■
Is on the first layer
■
Includes the first part of the longer connect line segment in the model
To name the external nodes of the subcircuit, SigNoise combined
■
The left most X coordinate of the external node
■
The lowest Y coordinate of the external node
■
The layer of the external node
January 2002
262
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
The following figure shows how the model appears in the Conductor Cross Section window,
and labels the external nodes.
X960Y2440L1
X960Y2460L1
X980Y2460L1
X980Y2440L1
.material Declaration
After the .subckt section, the next part of the sample model is the .material
declaration.
.material
.material
.material
.material
.material
.material
.material
.material
.material
.material
.material
.material
sml6
sml5
sml4
sml3
sml2
ml7
ml6
ml5
ml4
ml3
ml2
ml1
dielectric=4.5 losstangent=0.001
conductivity=5.959e+07 losstangent=0
dielectric=4.5 losstangent=0.001
conductivity=5.959e+07 losstangent=0
dielectric=4.5 losstangent=0.001
conductivity=3.43e+07
dielectric=4.5
conductivity=5.959e+07
dielectric=4.5
conductivity=5.959e+07
dielectric=4.5
conductivity=3.43e+07
The .material declarations describe the layers in the design. These declarations contain
dielectric coefficients, conductivity, and loss tangent data from the technology file.
January 2002
263
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
.layerstack Declaration
After the .material section, the next part of the sample model is the .layerstack
declaration.
.layerstack Layerstack3
+shield( 3.048e-05 1 0 )
+dielectric( 0.0003048 4.5 0.001 )
A layerstack is a stack of layers in the design bounded by the surface of the board, a power
plane, or a ground plane. A board can have more than one layerstack. The first layerstack,
Layerstack1, is the stack of layers that begins with the bottom surface of the board and ends
at a power plane, ground plane, or the top surface of the board. The .layerstack
declaration in this model specifies a model of connect lines in the third layerstack from the
bottom, Layerstack3.
This layerstack consists of one shield layer and one dielectric layer because the declaration
contains only one instance of the keywords shield and dielectric. If, for example, the
layerstack contained more than one dielectric layer, the model would have more than one line
beginning with the plus continuation control character (+) and the keyword dielectric.
The values in parentheses that follow the keywords shield and dielectric specify in
the following order:
■
The thickness of the layer
■
The dielectric constant of the layer
■
The loss tangent of the layer
Note: All layers need these three values. SigNoise applies a dielectric constant value of 1 to
a shield layer as a placeholder even though a shield layer has no dielectric constant.
.crosssection Declaration
After the .layerstack section, the next part of the sample model is the .crosssection
declaration.
.crosssection
+rectangle ( 3.43e+07 0 0.0003048 0.0001524 0.00035814 )
+rectangle ( 3.43e+07 0.0005588 0.0003048 0.0008636 0.00035814 )
The .crosssection declaration specifies the geometry of a cross section of the parts on
connect line segments in the model. For each part of a segment in the model there is a line
beginning with +rectangle and, in parentheses, values for
■
The conductivity of the part of the segment
January 2002
264
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
■
The four coordinates of the lower left and upper right corners of cross sections of these
parts of segments
These coordinates are for the X and Z axes in models for vertical segments and the Y
and Z axes in horizontal segments, as shown in the following figure.
Z
Y
Axes
X
These coordinates show the positions of the parts of the segments relative to each other.
One X or Y coordinate value is always 0 and the other coordinate values specify the
relative distances of the other lower left or upper right corners to that 0 value.
The line +Length=length specifies that SigNoise takes the lengths of the parts of the
segments from the Allegro layout instead of from the model. Specifying a value instead of
length is valid syntax for an IDL model.
.rlgc Declaration
After the.crosssection section, the next part of the sample model is the .rlgc
declaration.
.rlgc RLGCT_1S_2R_2914 ( Length=length N=2 )
.C 0
+ 6.625200e-11 -4.567200e-12
+ -4.567500e-12 5.729800e-11
.L 0
+ 4.834800e-07 7.706100e-08
+ 7.705900e-08 4.388100e-07
.G 0
January 2002
265
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
+ 0.000000e+00 -0.000000e+00
+ -0.000000e+00 0.000000e+00
.R 0
+ 3.586500e+00 0.000000e+00
+ 0.000000e+00 1.793200e+00
.endrlgc RLGCT_1S_2R_2914
The .rlgc declaration begins with a name for the sub-circuit. This name is provided by the
field solver. The field solver replaces the STL or MTL prefix for the model sub-circuit name
with the RLGC prefix. In this model, the name of the .rlgc sub-circuit is
RLGCT_1S_2R_2914.
After the name of the .rlgc sub-circuit there is, in parentheses, a reiteration of the
Length=length statement from the .crosssection declaration and the size statement
N=2. The N=2 statement specifies that the .rlgc sub-circuit provides parasitic values for
two connect lines, segments, or parts and that the matrices that specify these values in the
.rlgc sub-circuit have a dimension of 2 by 2 values.
The remainder of the .rlgc sub-circuit contains .C, .L, .G, and .R declarations of
capacitance, inductance, conductance, and resistance value matrices.
All of these matrices have the same format for specifying self and mutual parasitic values. The
matrix lists self values diagonally from the top left to the bottom right of the matrix. The self
value on the top of the matrix is the value of the leftmost part of a connect line segment in a
cross sectional view of the design. The matrix lists mutual values to the left or right of the self
values.
For example, the following section of code is the capacitance value matrix:
.C 0
+ 6.625200e-11 -4.567200e-12
+ -4.567500e-12 5.729800e-11
In this matrix, the part of a segment that appears to the left in a cross section has a self
capacitance of 6.625200e-11. The capacitance between the left segment part and the right
segment part is -4.567200e-12. The right part has a self capacitance of 5.729800e-11 and
the capacitance between the right and left segment parts is once again -4.567500e-12.
In this capacitance value matrix, the value to the right of the .C keyword is the frequency
value. In this model, it specifies that SigNoise apply the matrix values for all frequencies
greater than zero.
January 2002
266
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
Characteristic Modal Delay, Admittance, and Impedance Matrices
The last part of the example line segment model is the Characteristic Modal Delay,
Admittance, and Impedance section declaration.
**The Characteristic Modal Delay, Admittance and
**Impedance Matrices of these Transmission Lines:
*Delay Matrix.
*Td 0 (n=2)
* 5.706200e-09 0.000000e+00
* 0.000000e+00 4.889800e-09
*Admittance Matrix.
*Y 0 (n=2)
* 1.185600e-02 -1.415100e-03
* -1.415100e-03 1.158100e-02
*Impedance Matrix.
*Z 0 (n=2)
* 8.559500e+01 1.045800e+01
* 1.045800e+01 8.762400e+0
+shield( 3.048e-05 1 0 )
+dielectric( 0.0003048 4.5 0.001 )
IDL Via Models
SigNoise generates IDL models for vias. You can edit these models if you want to change the
values specified in them by SigNoise algorithms.
Example Via Model
The following example shows an IDL model for a via. The sections following the example
describe the statements in a via model and where you might want to change the SigNoise
values in the model.
.subckt VIA_POAR_VIA_L1A0W600L7A135W600
+L1A0W600 L7A135W600 SL3 SL9
.material sml9 conductivity=5.959e+07 losstangent=0
.material sml8 dielectric=4.5 losstangent=0.001
.material sml6 dielectric=4.5 losstangent=0.001
January 2002
267
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
.material sml4 dielectric=4.5 losstangent=0.001
.material sml3 conductivity=5.959e+07 losstangent=0
.material sml2 dielectric=4.5 losstangent=0.001
.material sml10 dielectric=4.5 losstangent=0.001
.material ml9 conductivity=5.959e+07
.material ml8 dielectric=4.5
.material ml7 conductivity=5.959e+07
.material ml6 dielectric=4.5
.material ml5 conductivity=5.959e+07
.material ml4 dielectric=4.5
.material ml3 conductivity=5.959e+07
.material ml2 dielectric=4.5
.material ml11 conductivity=3.43e+07
.material ml10 dielectric=4.5
.material ml1 conductivity=3.43e+07
.layerstack LayerStackAll
+dielectric( sml10 0.00019304 )
+shield( SL9 sml9 3.048e-05 )
+dielectric( sml8 0.0001524 )
+dielectric( sml6 0.00079248 )
+dielectric( sml4 0.00018288 )
+shield( SL3 sml3 3.048e-05 )
+dielectric( sml2 0.0001397 )
.Via L1A0W600 L7A135W600 SL3 SL9
+ pad( 0.00152146 0.0015748 ellipse(ml1 0.0 0.0 0.0014224 0.0014224))
+ void( 0.00135128 0.00138176 ellipse(ml3 0.0 0.0 0.0014224 0.0014224) )
+ pad( 0.0011684 0.00119888 ellipse(ml5 0.0 0.0 0.0014224 0.0014224))
+ pad( 0.00037592 0.0004064 ellipse(ml7 0.0 0.0 0.0014224 0.0014224))
+ void( 0.00019304 0.00022352 ellipse(ml9 0.0 0.0 0.0014224 0.0014224) )
+ pad( 0 5.334e-05 ellipse(ml11 0.0 0.0 0.0014224 0.0014224))
+ drill(5.334e-05 0.00152146 ellipse(ml1 0.0 0.0 0.0003429 0.0003429))
+ trace( L1A0W600 0 rectangle(sml1 0.0 0.00152146 0.0001524 0.0015748))
+ trace( L7A135W600 135 rectangle(sml7 0.0 0.00037592 0.0001524 0.0004064))
*There is a PIN named U23.1 here.
*There is a VIA here.
* Closed-form formula solution
C0 L7A135W600 0 3.04105e-14
C1 L1A0W600 0 3.04105e-14
January 2002
268
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
R01 L7A135W600 L1A0W600 1e-7 L= 1.37277e-09
.ends VIA_POAR_VIA_L1A0W600L7A135W600
.subckt Declaration
The via model begins with a .subckt declaration:
.subckt VIA_POAR_VIA_L1A0W600L7A135W600
+L1A0W600 L7A135W600 SL3 SL9
The subcircuit name specifies the following information:
VIA_POAR_VIA_L1A0W600L7A135W600
Specifies a
via model
Width of this
interconnect line
in design units
Design name
Padstack name
Start layer
Angle that an
interconnect line
enters the bottom pad
of the via
Angle that an interconnect
line enters the top pad of the
via
Width of this interconnect
line in design units
End layer
The following information follows the subcircuit name:
+L1A0W600 L7A135W600 SL3 SL9
Repeats information
from the subcircuit
name
January 2002
Specifies shield layers on layer
three and layer nine
269
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
.material Declaration
The via model contains a .material declaration for each layer in the via. These
declarations contains dielectric coefficients, conductivity, and loss tangent data from the
technology file.
The .material declaration in the model specifies the following information:
.material sml9
conductivity=5.959e+07 losstangent=0
A placeholder for material layer
number nine. The prefix “s” for this
placeholder indicates that this
.material declaration specifies
two values.
Values for conductivity and
loss tangent.
.layerstack Declaration
Via models use a special type of layer stack called LayerStackAll that includes all the layers
in the design. In the following .layerstack declaration, each line is for a layer of the
design.
.layerstack LayerStackAll
+dielectric( sml10 0.00019304 )
+shield( SL9 sml9 3.048e-05 )
+dielectric( sml8 0.0001524 )
+dielectric( sml6 0.00079248 )
+dielectric( sml4 0.00018288 )
+shield( SL3 sml3 3.048e-05 )
+dielectric( sml2 0.0001397 )
January 2002
270
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
The first shield layer line contains the following information:
+shield( SL9
sml9 3.048e-05 )
Specifies a shield layer
Thickness of the
layer
Material layer placeholder from
the .material declaration
Shield layer notation from the
.subckt declaration
.via Declaration
The .Via declaration specifies geometry information about via elements such as pads,
voids, drill holes, and the interconnect lines that connect to the via. In the following .Via
declaration, each line is for a pad or void in the via or for the drill hole or the interconnect lines
that connect to the via.
.Via L1A0W600 L7A135W600 SL3 SL9
+ pad( 0.00152146 0.0015748 ellipse(ml1 0.0 0.0 0.0014224 0.0014224))
+ void( 0.00135128 0.00138176 ellipse(ml3 0.0 0.0 0.0014224 0.0014224) )
+ pad( 0.0011684 0.00119888 ellipse(ml5 0.0 0.0 0.0014224 0.0014224))
+ pad( 0.00037592 0.0004064 ellipse(ml7 0.0 0.0 0.0014224 0.0014224))
+ void( 0.00019304 0.00022352 ellipse(ml9 0.0 0.0 0.0014224 0.0014224) )
+ pad( 0 5.334e-05 ellipse(ml11 0.0 0.0 0.0014224 0.0014224))
+ drill(5.334e-05 0.00152146 ellipse(ml1 0.0 0.0 0.0003429 0.0003429))
+ trace( L1A0W600 0 rectangle(sml1 0.0 0.00152146 0.0001524 0.0015748))
+ trace( L7A135W600 135 rectangle(sml7 0.0 0.00037592 0.0001524
0.0004064))
January 2002
271
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
The first pad line contains the following information:
+ pad( 0.00037592 0.0004064 ellipse(ml7 0.0 0.0
Specifies that
the geometry
information is for
a pad
0.0014224 0.0014224))
Specifies the
material layer
from the
Specifies that
the pad is an
ellipse
.material
declaration
The Z axis
coordinates for the
pad
Specifies the four
coordinates of a
bounding box
around the ellipse of
the pad
Closed-Form Solution
At the end of the via model is a Spice circuit description that represents the behavior of the
via. SigNoise first uses a closed-form method to generate values for this circuit description.
The following is an example of a closed-form solution:
* Closed-form formula solution
C0 L7A135W600 0 3.04105e-14
C1 L1A0W600 0 3.04105e-14
R01 L7A135W600 L1A0W600 1e-7 L= 1.37277e-09
In this example, two capacitors and an inductor are used to represent the behavior of the via.
You can change these values when you edit a via model.
The capacitance and inductance values in this solution automatically come from a closedform solution. You might want to use the more accurate values that come from the SigNoise
three-dimensional field solver.
To generate three-dimensional field solution values for a via model
1. Click left on the model in the list box in the Model Browser.
2. Click left on Solve.
Selecting Solve generates a model with field solution values.
Note: Three-dimensional field solution values take longer to generate than closed-form
values. You can control the choice between performance and accuracy.
January 2002
272
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
IDL Shape Models
SigNoise also generates IDL models for shapes. You might need to edit these models if you
want to change the values specified in them by the field solver.
You might also want to create your own field solver. If so, you need to understand the structure
of these models.
Example Shape Model
The following example shows an IDL model for a shape. The sections following the example
describe the statements in a shape model and where you might want to change the SigNoise
values in the model.
.subckt SHAPE_BLM_X980Y2660L1
+X1260Y2620L1 X1040Y2580L1
.material sml6 dielectric=5.2 losstangent=0.001
.material sml5 conductivity=5.959e+07 losstangent=0
.material sml4 dielectric=5.2 losstangent=0.001
.material sml3 conductivity=5.959e+07 losstangent=0
.material sml2 dielectric=5.2 losstangent=0.001
.material ml7 conductivity=5.959e+07
.material ml6 dielectric=5.2
.material ml5 conductivity=5.959e+07
.material ml4 dielectric=5.2
.material ml3 conductivity=5.959e+07
.material ml2 dielectric=5.2
.material ml1 conductivity=5.959e+07
C1 0 1 5.92089e-12
R1 1 X1260Y2620L1 1e-6 L=1e-13
R2 1 X1040Y2580L1 1e-6 L=1e-13
.ends SHAPE_BLM_X980Y2660L1
.sbckt Declaration
The shape model begins with a .subckt declaration:
.subckt SHAPE_BLM_X980Y2660L1
+X1260Y2620L1 X1040Y2580L1
January 2002
273
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
The subcircuit name specifies the following information:
SHAPE_BLM_X980Y2660L1
Specifies a
shape model
The design
name
The X and Y
coordinates of the
first corner of the
shape
The layer number
of the shape
The first corner of a shape is the location of the first point you selected when you drew the
shape.
The following information follows the subcircuit name:
+X1260Y2620L1 X1040Y2580L1
The X and Y coordinates
and the layer number where
another interconnect line
attaches to the shape
The X and Y coordinates
and the layer number
where an interconnect line
attaches to the shape
.material Declaration
The shape model contains a .material declaration for each layer in the design. These
declarations contain dielectric coefficients, conductivity, and loss tangent data from the
technology file.
January 2002
274
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
The .material declaration in the model specifies the following information:
.material sml6 dielectric=5.5 losstangent=0.001
A placeholder for material layer number
nine. The prefix “s” for this placeholder
indicates that this .material declaration
specifies two values.
Values for the dielectric
coefficient and loss
tangent.
Closed-Form Solution
At the end of the shape model is a Spice circuit description that represents the behavior of
the shape. SigNoise first uses a closed-form method to generate values for this circuit
description.
The following is an example of a closed-form solution:
C1 0 1 5.92089e-12
R1 1 X1260Y2620L1 1e-6 L=1e-13
R2 1 X1040Y2580L1 1e-6 L=1e-13
In this example a capacitor and two inductors are used to represent the behavior of the shape.
As with via models, you can change these values when you edit a shape model.
January 2002
275
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Modeling in the Interconnect Description Language
January 2002
276
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
B
DML Syntax
■
“Overview” on page 278
■
“About DML files” on page 278
■
“File Structure” on page 278
■
“DML Syntax” on page 279
■
“Comments” on page 279
■
“ModelTypeCategory Keywords” on page 279
■
“Tokens” on page 280
■
“Parameter of aToken” on page 280
■
“Sub-parameters of PackageModel” on page 281
■
“Example of PackageModel” on page 284
■
“Sub-parameters of Cable” on page 285
January 2002
277
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
Overview
This appendix is a summary of the syntax and structure of Device Model Library (DML) files
and their use within package modeling. Most of the examples here are extracted from existing
library files.
About DML files
A DML file is a library that contains models and sub-circuits used in circuit simulation.
Cadence Sample Device Model Library
The Cadence sample device model library is:
/install_dir/share/pcb/signal/cds_iocells.ndx
Look at this file for additional details of the structure of a Device Model Library file, as well as
for examples of the different types of device models.
You can use the Model Browser to list the models in the library, and to edit, add, and delete
models. For details on using the Model Browser to work with the models in a library, see
Chapter 3, “Basic Library Management.”
File Structure
The top 3 levels of a DML file are organized according to the following structure:
("filename.dml" ; Name of this DML file.
(ModelTypeCategory
; A keyword. See “ModelTypeCategory Keywords” on page 279.
("modelname"
; A token, The name the user will know the model by.
<model subparams> ; The data is different for each model type.
)
; End of one model.
<more models>
)
; End of this model type category.
<more model types>
); End of the data in this library.
January 2002
278
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
DML Syntax
A DML file contains lists and sub-lists of tokens enclosed within pairs of parentheses.
Comments are also included in the file for documentation purposes.
Comments
A comment consists of all characters on a code line that follow a semi-colon.
Examples:
; This is a comment line.
; End of the package model
ModelTypeCategory Keywords
The following table contains keywords that are used to specify the model type.
Table B-1 ModelTypeCategory Keywords
Keyword
Usage
PackageDevice
Defines part models.
PackageModel
Describes package parasitics which may apply to many
parts.
IbisIOCell
Describes I/O buffer model information, also known as a
buffer.
AnalogOutput
Define a buffer simply by a waveform.
DesignLink
Describes connectivity between modules.
Defines RLGC parasitics matrices and also used by System
Configurations to represent cables.
Cable
January 2002
279
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
Tokens
A token is a string of characters enclosed in "double-quotes".
Example:
"Dip14Pin"
Note: If the token contains only alphabetic, numeric, and underscore characters; the doublequotes may be omitted. However, within double-quotes, a token may span multiple lines, with
the line endings retained as part of the token. Semi-colons within double-quotes are semicolons, not the beginning of a comment.
The first token after each left parenthesis is the name of a piece of data.
The first token of a DML file is always the name of the library file.
Example:
("filename.dml" ...
Parameter of aToken
The tokens following the first one, up to the balancing right parenthesis, represent the value
of the data. This collection is called a "parameter."
Example:
(example
(type example_type)
(name "this is a name with spaces and even a newline,
which must be quoted")
(timing
(setup "1.1")
(hold "0.6")
)
)
A parameter may have any number of sub-parameters, implementing a data hierarchy. A
parameter may instead have a value token. Never does a DML parameter have multiple value
tokens, or a value token and sub-parameters.
The order of sub-parameters does not matter. It can be in any order as long as it is present.
January 2002
280
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
Sub-parameters of PackageModel
Sub-parameters of PackageModel include:
■
PinNameToNumber
■
R, G, L, C
■
frequency
■
format
■
data
PinNameToNumber
The PinNameToNumber parameter maps pin-names to corresponding wire-numbers, thus
associating each pin with an index in the RLGC matrix.
Note: PinNameToNumber parameter is not necessary if the pin-names are numeric. This
information essentially duplicates the WireNumber (if specified) in the PackagedDevice
models. If both are present in a given circumstance then the WireNumber from the
PackagedDevice overrides the information here. This allows special cases and pin-renaming.
R G L C Matrices
These represent the parasitics matrices at different frequencies.
Note: RLGC data in a PackageModel will be used only if CircuitModels do not exist.
Frequency Value
The frequency point (in Hertz) at which RGLC are extracted.
Format
■
BandedSymmetricMatrix
BandedSymmetricMatrix is used to describe the coupling relationship between pins. Two
values are associated with this format:
❑
band (band B_NUMBER)
B_NUMBER must always be odd. It indicates that each pin has mutuals with
B_NUMBER - 1 neighbors (one on either side).
January 2002
281
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
Example:
(band 3) means that pin 5 has neighbor pins 4 and 6; pin 9 has neighbor pins 8
and 10, etc.
❑
dimension (dimension D_NUMBER)
dimension is defined as the number of pins. It is also the matrix dimension of
RLGC parasitics.
■
SymmetricMatrix
SymmetricMatrix format is the same as
BandedSymmetricMatrix with band = 2 * dimension - 1.
■
SparseSymmetricMatrix
SparseSymmetricMatrix format describes a R/G/L/C matrix in SPARSE matrix format.
❑
dimension (dimension D_NUMBER)
dimension is defined same as the one in BandedSymmetricMatrix format.
■
CircuitModels
The CircuitModels format describe a package model using Spice sub-circuit syntax. The
RLGC section does not exist when CircuitModels is defined.
Note: CircuitModels is used for large package model description. It can also embed
arbitrary Spice models for packages.
CircuitModels may contain the following two parameters:
❑
SingleLineCircuits
(SingleLineCircuits (pin_number (SubCircuitName name_of_subckt)
SingleLineCircuits describes a corresponding single line sub-circuit (without coupling to
adjacent lines) for each pin in the package.
pin_number maps the sub-circuit to corresponding pins.
name_of_subckt gives the name of a Spice sub-circuit in the format:
subckt name_of_subckt input output
where input and output are the sub-circuit port nodes; input is to the buffer side for
a package model; and output is to the package side.
Note: The port order cannot be altered.
January 2002
282
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
Example:
(SingleLineCircuits
(1 (SubCircuitName longsingle_dc_wire))
(2 (SubCircuitName longsingle_dc_wire))
(4-14 (SubCircuitName longsinglewire)))
...
Example:
(CircuitModels
(SingleLineCircuits
(1-5 (SubCircuitName (typical longsinglewire))))...
SubCircuits"
.subckt longsinglewire 1 2
r13 1 3 0.002 l=3n
t32 3 0 2 0 z0=70 td=0.1n
.ends longsinglewire"
)))
Note: Sub-parameter SingleLineCircuits is REQUIRED in defining CircuitModels.
❑
CoupledLineCircuits
CoupledLineCircuits are needed only for Crosstalk and Comprehensive
simulations.
Data
(data "data_section")
data_section includes the matrix entries of R/L/G/C.
Each entry is separated with space.
■
Data for BandedSymmetricMatrix
The data_section of BandedSymmetricMatrix has total number of data as
SUM (dimension - i), where i = 0, 1, 2, ... K, K = (1 + (band -1 )/2).
Example:
(BandedSymmetricMatrix (band 27) (dimension 14)
...
It has K = (1 + (27 - 1)/2) = 14, therefore, the total number of data in the data section is
equal to 14 + 13 + 12 + ... + 1 = 105
January 2002
283
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
Example:
(BandedSymmetricMatrix (band 1) (dimension 14)
...
It has K = 0, and the total number of data is 14.
■
Data for SymmetricMatrix
Same as for BandedSymmetricMatrix with band = 2 * dimension - 1.
■
data for SparseSymmetricMatrix
(data " r_num c_num value...")
r_num and c_num are the row and column numbers of a non-zero entry.
value is the entry's value.
Note: The order of the entries is unimportant, but it is an error to have row > column for
any entry. Give only the upper triangle and the diagonal of the matrix. The lower triangle
is assumed equal to the transpose of the upper triangle.
Example:
(C
(SparseSymmetricMatrix
(dimension 14)
(data " 1 1 643.0f
2 3 -55.6f
...
)
Example of PackageModel
(PackageModel
("Ex_14Pin"
(PinNameToNumber ; Maps pin names to numbers
("A1" 1)
("A2" 2)
("A3" 3)
("A4" 4)
("A5" 5)
("A6" 6)
("A7" 7)
("A8" 8)
January 2002
284
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
("A9" 9)
("A10" 10)
("A11" 11)
("A12" 12)
("A13" 13)
("A14" 14)
) ; End of PinNameToNumber
(RLGC
; Set of R, L, G, & C matrices per frequency.
(0
; The frequency (in Hertz)
(R
; Begin Resistance matrix
(BandedSymmetricMatrix
(band 27) (dimension 14) ; That makes this a full matrix.
(data "0.0006919231 0 0
...
") ; End of data section of R
) ; End of BandedSymmetricMatrix
) ; End of R description
(L ; Begin Inductance matrix
(BandedSymmetricMatrix
(band 27) (dimension 14)
(data "2.631284E-09 9.014512E-10 5.038304E-10
3.486299E-10 2.649051E-10 2.16809E-10
...
") ; End of data section of L
) ; End of BandedSymmetricMatrix
) ; End of L description
) ; End of RLGC at frequency = 0
...
) ; End of RLGC description
) ; End of Dip14Pin
) ; End of PackageModel
Sub-parameters of Cable
Sub-parameters of Cable include PinNameToNumber, RLGC matrix, and CircuitModels.
■
PinNameToNumber
Same as defined in PackageModel.
■
RLGC
January 2002
285
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
DML Syntax
RLGC indicates the start of the R/L/G/C matrix section.
There are R, L, G, C sub-parameters under this section. They are defined as those in
PackageModel.
Example:
(Cable
("FourWireCable"
(RLGC ; RLGC here is the sub-parameter of Cable to describe matrices.
(0
(R
...
)
(L
...
)
) ; End of frequency 0
)
); End of FourWireCable
) ; End of Cable
■
CircuitModels
Same as defined in PackageModel.
January 2002
286
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
C
The Cadence Default Model Library
■
“Overview” on page 288
■
“DIG_LIB Library Models” on page 288
■
“DEFAULT_LIB Library Models” on page 289
■
“Package Library Models” on page 289
■
“Library Location and Structure” on page 290
January 2002
287
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
The Cadence Default Model Library
Overview
The models in the Cadence Default Library can be included in three categories:
■
DIG_LIB Library Models
Standard digital logic families containing 217 unique parts in a format directly compatible
with SigNoise with their corresponding IBIS files. These models have been made from
spice files from Signetics (except for one device).
■
DEFAULT_LIB Library Models
Default set of models having IOCELLS for GTL, PCI and ASIC types. These IO cells can
be used to select the right buffer for a given application.
■
PACKAGE Library Models
Default set of models having IOCELLS for GTL, PCI and ASIC types. These IO cells can
be used to select the right buffer for a given application.
For a complete list of models, refer to the following file in your Cadence installation directory.
share/pcb/signal/cds_partlib.ndx
DIG_LIB Library Models
The digital device model library supports models for parts from four type of digital logic
families. A part’s digital logic family refers to the different processes and implementations
used in the manufacture of the parts used in integrated circuits. For example, bipolar
transistor-transistor-logic, CMOS, bipolar emitter coupled logic, or a combination of several
technologies can be used.
Each technology has different input and output parameters. The following table shows the
digital logic families and number of parts under each technology that are included in the
library
.
Table C-1 Digital Logic Families
Technology
Family
Description
Number
of Parts
FTTL
FAST Transistor-Transistor Logic for speed critical circuits.
106
ABT
Advanced BiCMOS Technology for bus interfaces with high
drive, lower power consumption and fast propagation.
36
January 2002
288
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
The Cadence Default Model Library
Table C-1 Digital Logic Families
Technology
Family
Description
Number
of Parts
ALVC
Advanced Low Voltage CMOS for low power consumption.
10
ALS
Advanced Low Power Schottky for low power consumption in
non-speed critical circuits.
65
DEFAULT_LIB Library Models
The following table shows the default model families and number of parts under each
technology that are included in the library
.
Table C-2 Default Model Families
Technology
Family
Description
Number of
IOCELLS
GTL
GTL IO cell derived from Texas gtl spice file.
01
PCI
PCI Compatible IO cells for both 3v and 5v derived from Intel 04
pci spice file.
ASIC
ASIC IO cells for different current capability both for 3 and 5v; 22
with and without slew made from suitable approximations for
the ASIC CMOS technology.
Package Library Models
The default package models include:
■
20dip
■
14soic
■
16soic
■
20soic
■
16ssop
■
20ssop
January 2002
289
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
The Cadence Default Model Library
■
28plcc
■
44plcc
Library Location and Structure
The Cadence Default Model Library is located in your Cadence installation directory. The
default path is:
/cds/share/pcb/signal/SignalPartLib
The directory contains two sub-directories corresponding to the three model categories.
■
DEFAULT_LIB
Contains signoise .dml files and their corresponding .ibs files. The corresponding
assumption.txt file lists the assumptions, approximations, and validation test_set_up
used.
■
DIG_LIB
Contains subdirectories corresponding to the digital logic family. Each digital logic family
subdirectory contains files for Device models and IOCell models (.dml files). There is
one device model in each file. The corresponding IBIS files(.ibs files) also exist. There
is one DIGlib_assump.txt file giving the test setups used to validate each family.
■
PKG_LIB
Note: In the signal directory, SigNoise uses the device model index file
cds_partlib.ndx to quickly load groups of models.
January 2002
290
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
D
SPECCTRAQuest Standard Signal
Integrity Libraries
■
“Overview” on page 292
■
“The Libraries” on page 292
■
“Installing and Licensing the Model Libraries” on page 292
■
“Using the Models” on page 294
■
“Cloning Models” on page 294
■
“Model Integrity” on page 294
■
“The Digital Logic SI Library” on page 295
■
“The Memory SI Library” on page 296
■
“The FPGA SI Library” on page 298
■
“The Microprocessor SI Library” on page 298
January 2002
291
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
Overview
There are four SigNoise-compatible signal integrity model libraries which contain over 9000
unique parts. Each library part can be packaged in different ways.
These standard signal integrity libraries are available for purchase separate from SigNoise
and require a separate license. They are available for UNIX and Windows NT.
The Libraries
Signal integrity models come in the following libraries:
■
Digital Logic
■
Memory
■
FPGA
■
Microprocessor
Each library is described in the sections that follow. For a complete list of models in each
library, refer to the library’s index file located in:
share/pcb/signal/optlib/<library.ndx>
Installing and Licensing the Model Libraries
You must purchase the standard libraries before you can use them. Licensing and installation
are the same for the standard libraries as they are for all Cadence products. Each of the four
libraries requires a separate license. Once installed, you must set up the libraries.
Note: On Windows NT 4.0, you cannot install the libraries on an NTFS bootable partition.
See the installation notes provided with the software CD for more information.
Setting Up the Standard Libraries
You run signoise_setup to set up the libraries. The signoise_setup program, in turn,
performs a series of parameter checks and then calls dmlinstall to decrypt the libraries.
From UNIX, you run signoise_setup from the installation directory.
January 2002
292
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
From NT, you run signoise_setup by choosing Start – Programs – Performance
Engineering – signoise_setup.
The signoise_setup program examines the following:
■
Checks for installed libraries
■
Checks for license
■
Queries user for personal data
■
Checks for a destination directory for the decrypted library files that it can write to
■
Decrypts the model files
■
Creates an index to catalog the models in each library (mkdeviceindex)
■
Optionally removes the encrypted installation files, to regain disk space
When you run signoise_setup you must
1. Answer all queries,
2. Choose a product number:
1.
2.
3.
4.
0.
Digital Logic Library
Memory Library
FPGA Library
Microprocessor Library
EXIT
Enter Product No. to Install
The encrypted model files from the product installation are placed in the install directory :
/share/pcb/signal/optlib/install/<library>
Running signoise_setup results in placing decrypted models and library indices in the
appropriate user directory:
/share/pcb/signal/optlib/user/<library>
Depending on the configuration of your computer, it may take over two hours to install and
decrypt the libraries.
January 2002
293
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
Using the Models
When initializing a new run directory, SigNoise can be directed to load those libraries that you
want to use by setting the signal_optdevlibs environment variable.
setenv signal_optdevlibs ‘dll/index.ndx fpga/index.ndx’
To load optional libraries into an existing run directory, use the Add Existing Library button
in the Library Browser and select Optional Cadence Library from the Open File widget.
You can load the index.ndx file for an entire library, or for one of the manufacturer or family
specified indexes.
Cloning Models
The signal integrity models are protected by copyright. You are free to clone and modify a
standard signal integrity library model to suit your unique requirements. You must, however,
retain the Mentor Graphics copyright notice from the original in any model that you clone.
Model Integrity
The data used to create the models is based on measurements performed by Mentor
Graphics Corporation. To assure realistic representation, measurements are taken in a tightly
controlled environment at a standard temperature. The equipment provides high speed pulse
stimuli, high speed data acquisition, and high resolution DC stimulus measurement. The
measurements produce 40-picosecond, jitter free timing data.
The integrity of the measurements is maintained by routine calibration. The measurement
process is based on the knowledge of engineers experienced in the design of high frequency
measurement equipment for the test and measurement industry and engineers experienced
in the design of high density integrated circuits.
The measurement process begins with the test fixture. Signals for the parts under test are
shielded from external interference. The ground and power distribution system is filtered and
bypassed. High frequency coaxial cables carry the stimulus and response signals to and from
a part during characterization.
The measurement data is stored in a master file for the part. The measurements are then
recalled and modeled, and the modeled data is overlaid on measurement data. The overlay
of measurement and model data allows immediate validation of the stored model information
and the measurement data.
January 2002
294
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
The libraries cover most manufacturers. Since the source of the data in the library is based
on measurements with actual parts, the models account for differences between different part
numbers in the same digital logic family from the same semiconductor manufacturer.
For a given semiconductor manufacturer there can be significant differences between
different logic types within the same technology. Also, different semiconductor manufacturers
with the same logic type and technology can have differences due to their different
manufacturing processes. By using measurements made on a specific part, the standard
digital device model library provides you with the most realistic models to use in your
simulations.
The Digital Logic SI Library
Models in the digital logic SI library are placed in the following directory:
/share/pcb/signal/optlib/user/dll
The library index is created in:
/share/pcb/signal/optlib
For a complete list of models in the library, you can search the index file using the UNIX grep
command or the NT Find command. The models are for parts (components or devices) from
the following manufacturers.
■
Advanced Micro Devices
■
American Micro System, Inc.
■
Analog Devices
■
AT&T
■
Crystal
■
Cypress Semiconductor Corporation
■
Dallas
■
Ecliptek
■
GEC
■
Goldstar Technology, Inc.
■
Harris Semiconductor Corporation
■
Ideal Semiconductor Corporation
January 2002
295
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
■
Integrated Device Technology, Inc.
■
IMI
■
Kyocera
■
Lattice Semiconductor
■
Maxim
■
Microlinear
■
Motorola
■
National Semiconductor Corporation
■
Panasonic Semiconductor Corporation
■
Pericom
■
Philips Corporation
■
PLX
■
Quality Semiconductor Corporation
■
SGS Thomson
■
Texas Instruments, Inc.
■
Toshiba
■
Triquint
■
Utmc
■
Vitesse
The Memory SI Library
Models in the memory SI library are placed in:
/share/pcb/signal/optlib/user/memory
The library index is created in:
/share/pcb/signal/optlib
For a complete list of models in the library, you can search the index file using the UNIX grep
command or the NT Find command.
January 2002
296
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
The models are for parts (components or devices) from the following manufacturers.
■
Advanced Micro Devices
■
Amtel
■
Catalyst
■
Cypress Semiconductor
■
Dallas
■
Goldstar
■
Harris
■
Hitachi
■
Hyundai
■
Ideal
■
Idt
■
Intel
■
ISSI
■
LogicDevices
■
Micron
■
Motorola
■
National
■
Paradigm
■
Phillips
■
Samsung
■
SGS Thompson
■
Siemens
■
Sony
■
Texas Instruments
■
Toshiba
■
Xilinx
January 2002
297
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
The FPGA SI Library
Models in the FPGA SI library are placed in:
/share/pcb/signal/optlib/user/fpga
The library index is created in:
/share/pcb/signal/optlib
For a complete list of models in the library, you can search the index file using the UNIX grep
command or the NT Find command.
The models are for parts (components or devices) from the following manufacturers.
■
Actel
■
Altera
■
Quicklogic
■
Xilinx
The Microprocessor SI Library
Models in the microprocessor SI library are placed in:
/share/pcb/signal/optlib/user/microprocessor
The library index is created in:
/share/pcb/signal/optlib
For a complete list of models in the library, you can search the index file using the UNIX grep
command or the NT Find command.
The models are for parts (components or devices) from the following manufacturers.
■
AMD
■
IBM
■
Intel
■
Motorola
■
PMC_SIERRA
January 2002
298
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
■
Texas Instruments
January 2002
299
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
SPECCTRAQuest Standard Signal Integrity Libraries
January 2002
300
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
E
Model Translation
“Overview” on page 302
“IBIS to DML” on page 304
“Warning Messages from the Ibis2signoise Utility” on page 309
“Error Messages from the Ibis2signoise Utility” on page 313
“QUAD to DML” on page 316
“Warning Messages from the Quad2signoise Utility” on page 317
“Error Messages from the Quad2signoise Utility” on page 317
“Translating ESpice Files to Generic Spice Files” on page 318
“Spc2spc Translation Rules” on page 321
January 2002
301
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Overview
The SigNoise simulator supplies utilities for the purpose of translating IBIS and Quad model
formats into the Device Model Library (DML) file format.
There are two methods that can be used to translate models:
■
Model translation through the user interface.
■
Model translation at the command line.
Translation
To translate an IBIS or Quad model file to DML format through the user interface:
1. Open the Signal Analysis Library Browser (Analyze – SI/EMI – Library) from the toolbar
of either SPECCTRAQuest or Allegro/APD.
2. Click the Translate button.
A pop-up menu appears, listing the translator formats. The formats include:
❑
IBIS—Runs the ibis2signoise translation utility. Use ibis2signoise if you have an
industry standard .ibs file.
❑
QUAD—Runs the quad2signoise translation utility. Use quad2signoise if you
have a .mod file (and any required .tlb file) for use with a ViewLogic TLC or XTK
based simulator.
3. Click the translator you want to use.
A file browser appears. For IBIS models, files of type .ibs are listed. For Quad models,
files of type .mod are listed.
4. Use the browser to locate the file you want to translate, then click OK.
The new .dml file is created and added to the directory. Resulting messages or
warnings are shown in a text window.
To translate an IBIS model file to DML format using the command line:
1. Enter the ibis2signoise command in the following syntax:
ibis2signoise [-options] in=infile [out=outfile]
where infile is the name of the file to translate and outfile is the device model
library output file to create from the input data. The default is to create infile.dml when
outfile is not speciifed.
January 2002
302
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Available options for this command are listed in the following table.
.
Table E-1 Ibis2signoise Command Options
Option
Function
-u
Creates unique model names. This is the default.
-nu
Leaves model names unchanged.
-curvedir dir
Creates a directory in which a SigWave waveform file is created for
each VI curve and VT curve.
-ebdcomp
For Electronic Board Description (EBD) files, creates an IbisDevice
with a PackageModel instead of a BoardModel.
-serswcomp
Creates an ESpiceDevice component for each Series_switch model, in
addition to the IbisDevice that contains one or more Series_switch
models.
-i
Does not pass the input file through ibischk3. The default is to pass the
input file through ibischk3 before translation.
-d
Does not pass the output file through dmlcheck. The default is to pass
the output file through dmlcheck after translation and save the results.
-version
Displays the version of the software and exits.
The ibis2signoise utility reads the input file. If the ibischk3 program is in your path and you
do not specify the -i option, ibis2signoise runs ibischk3 to verify that the input file is a valid
IBISmodel. The ibis2signoise utility reports any errors detected by ibischk3 and continues.
The ibis2signoise utility then creates the output DML file, and passes this file to the
dmlcheck utility unless you specify the -d option. If no warnings or errors are found, then the
output file is replaced with the cleaned up file produced by dmlcheck.
If errors are found during any of these three phases, the output file is renamed with the
additional .txt extension. In this case the output file should not be used, but it can be
examined to diagnose problems.
To translate a Quad model file to DML format using the command line:
1. Enter the quad2signoise command in the following syntax:
quad2signoise [-options] in=infile [out=outfile]
where infile is the name of the file to translate and outfile is the device model
library output file to create from the input data. The default is to create infile.dml when
outfile is not speciifed.
January 2002
303
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Available options for this command are listed in the following table.
.
Table E-2 Quad2signoise Command Options
Option
Function
-curvedir dir
Creates a directory in which a SigWave waveform file is created for
each VI curve and VT curve.
-d
Does not pass the output file through dmlcheck. The default is to pass
the output file through dmlcheck after translation and save the results.
-version
Displays the version of the software and exits.
If there is a .tlb file associated with your .mod file, make sure that there is an include
statement for the .tbl file in the .mod file. For example, part.mod must have an include
part.tlb statement at the beginning.
The quad2signoise utility then creates the output DML file, and passes this file to the
dmlcheck utility unless you specify the -d option. If no warnings or errors are found, then
the output file is replaced with the cleaned up file produced by dmlcheck.
If errors are found during either of these two phases, the output file is renamed with the
additional .txt extension. It should not be used in this case, but it can be examined to
diagnose problems.
IBIS to DML
Translating EBD files
By default, when ibis2signoise translates an IBIS Electronic Board Description (EBD) file, it
produces a BoardModel for each EBD file encountered. You can use the resulting
BoardModel in SPECCTRAQuest as one of the designs in a system configuration.
During translation ibis2signoise loads and translates all .ibs files listed as required in the
Reference Designator Map] section of the EBD file. The BoardModel, as well as all IbisDevice
and IbisIOCell models from all input files, are translated into the single output .dml file.
When you include the -ebdcomp option during translation, ibis2signoise models the EBD
file as a component by producing an IbisDevice with an associated PackageModel rather than
a BoardModel.
January 2002
304
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
■
The IbisDevice models the single component internal to the EBD that has driver pins. If
the EBD includes either multiple components with drivers or no components with drivers,
ibis2signoise will not translate the EBD with the -ebdcomp option.
■
The PackageModel includes SingleLineCircuits. It is created and assigned to the
IbisDevice to model the internal interconnect within the EBD.
You can use the IbisDevice as a pluggable component in both SPECCTRAQuest and
SPECCTRAQuest signal explorer. In this case a system configuration is not required.
Translating Series_switch Models
By default, when ibis2signoise translates an IBIS file containing Series_switch models, it
produces an IbisDevice component with an associated PackageModel. You can use the
resulting IbisDevice as a pluggable component in SPECCTRAQuest. SPECCTRAQuest
recognizes the series connection and accordingly simulates the connected nets as an xnet.
However, Series_switch pins added into SPECCTRAQuest signal explorer will ignore the
series connection.
To study the operation of Series_switch models in SPECCTRAQuest signal explorer, run
ibis2signoise with the -serswcomp option. A two-pin ESpiceDevice component model is
created for each Series_switch model found in the IBIS file. Each model contains a Spice
subckt for one switch. The resulting Series_switch model can be added into
SPECCTRAQuest signal explorer so you can study the behavior of the switch, but the model
is probably not useful as a model to be assigned to a design component.
The Series_switch Spice subckts reside in the PackageModel associated with IbisDevice
components, and in the ESpiceDevice component, if the -serswcomp option is used.
The switch is initially in the ON state. You can modify the subckt to simulate the OFF state
behavior, or to simulate dynamic ON and OFF switching by text editing the PackageModel.
The following code example, taken from a Series_switch IBIS model, shows the voltage
source that let's you turn the switch on and off:
...
.subckt subcktName_SERIES 1 2
R1 1 2 1e+06
* Voltage source for controlling Series_switch elements
* Set sersw_gate to 0V for Off mode or 5 for On mode
* Or, attach sersw_gate to a pin for external control
Vsersw_gate sersw_gate 0 5
* [On]
January 2002
305
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
* [Series MOSFET] Vds = 1.000000
* This current source is controlled by Vgs and Vds
GDS_ON0 1 2 PWL 1 2 sersw_gate 2
DATAPOINTS VV
-3.000000 0
-2.000000 0
-1.000000 -1
0 0
1.000000 1
2.000000 0
3.000000 0
END VV
DATAPOINTS VI
0 0
0.1 -0.00061171
0.15 -0.000602017
0.2 -0.000592324
0.25 -0.000594392
...
It is possible, for example, to have the switch turn on or off every 100ns:
Vsersw_gate sersw_gate 0 PULSE(0 5 0 5n 5n 45n 100n)
If you run the simulation with a fixed duration of 500ns, you will see the effects of switch-on
and switch-off on the incoming pulse data.
Viewing VI and VT Curve Waveforms
Use the -curvedir option.to have ibis2signoise create waveforms for each VI curve and
VT curve found in the translated IBIS file. The waveforms are produced by dmlcheck, so they
will not be produced if you use the -d option with ibis2signoise. If the curve directory does
not exist, it is created.
One waveform file is created for each VI curve and VT curve in the translated IBIS file.
Waveform filenames have the form IOCellName_CurveName.sim.
Each waveform file contains 6 waveforms—the original minimum, typical, and maximum
curves and the repaired minimum, typical, and maximum curves. Use SigWave to view the
waveform files.
January 2002
306
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
In cases where ibis2signoise has modified a curve to fix some problem, the change should
be apparent when you view the curve waveforms. The fixed waveforms are identical to the
original waveforms for unmodified curves.
IBIS to DML Translation Rules
■
The ibis2signoise utility translates IOCell and device data from the following formats to
DML.
❑
1.1
❑
2.1
❑
3.0
❑
3.1
❑
3.2
■
Translation is case independent. The ibis2signoise utility preserves upper and
lowercase for names and strings. You do not have to check the case of keywords,
numeric suffixes, and other syntax elements because they do not require upper or
lowercase for translation.
■
Keywords that consist of two words (such as Voltage Range) must have a single space
character between the words. The ibis2signoise translator does not recognize two-word
keywords if the words are separated by anything other than a single space.
■
You can include scaling suffixes for numerical quantities. The valid scaling suffixes and
the values they specify are shown in the following table
.
Table E-3 Ibis2signoise Scaling Suffixes
Suffix
Scaling Value
F
1e-15
P
1e-12
N
1e-9
U
1e-6
M
1e-3
K
1e+3
X
1e+6
January 2002
307
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Table E-3 Ibis2signoise Scaling Suffixes
Suffix
Scaling Value
MEG
1e+6
G
1e+9
T
1e+12
The following table shows suffixes that are valid but have no effect either in translation or
simulation
.
Table E-4 Other Valid Ibis2signoise Scaling Suffixes
A
S
AMP
V
DEG
OHM
H
■
The suffix F is a special case. When preceded by another scaling prefix, such as pF for
pico Farads, the translator sees the F as a unit of measurement and not a scaling suffix.
When not preceded by another suffix, such as FA for femto Amp, the translator sees the
F as a scaling suffix.
All other suffixes are invalid and result in a syntax error.
Warning and Error Messages from the Ibis2signoise Utility
The ibis2signoise translation utility displays warning and error messages that are generated
during the translation. These messages are displayed in:
■
an outfile.temp file if the utility was invoked from the Library Browser dialog box.
-or■
the window which contains the command line from where you invoked the utility.
The significance of the line numbers appearing in the messages depends on which phase of
the translation they appear in. Line numbers in the ibischk3 phase and in the IBIS-to-DML
conversion phase refer to lines in the input IBIS file. Line numbers in the dmlcheck phase refer
to lines in the output DML file. If dmlcheck finds no errors, the input DML file is replaced with
January 2002
308
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
a new output DML file which may have lines inserted and deleted relative to the original input
file.
To investigate warning messages by line number, you might need to run ibis2signoise with
the -d option to obtain a DML file containing the line numbers to which dmlcheck is referring.
For details on warning and error messages, their probable cause and suggested solution, see
“Warning Messages from the Ibis2signoise Utility” on page 309and “Error Messages from the
Ibis2signoise Utility” on page 313.
Warning Messages from the Ibis2signoise Utility
WARNING @line line_number—BOTH Vinl and Vinh must be specified, or
neither
Probable Cause: The IBIS file omits a Vinl or Vinh statement or there is a syntax error
in one of these statements.
Suggested Solution: Look for the Vinl and Vinh statements beneath the line specified
in the warning message.
WARNING@ line line_number—Duplicate section_name section
Probable Cause: In the IBIS file an IOCell model contains more than one of the
specified sections. Possible duplicated sections include all the V/I curves, ramps, and
voltage ranges.
Suggested Solution: Look for a duplicate of the specified section above the specified
line number in the IBIS file and rename or remove one of these sections.
WARNING@ line line_number—Duplicate component name: component_name
Probable Cause: A component name was used previously in the IBIS file.
Suggested Solution: Look in the IBIS file at the specified line number. The component
name at that line number was used previously in the file. Determine which of the two
components you want translated to an DML device model and delete or rename the other
one.
WARNING @line line_number—Duplicate pin name
Probable Cause: A pin section contains entries for two pins with the same name.
Suggested Solution: At the specified line number, in a pin section, find the pin name
and then look above this line number for a pin with the same name. Rename or delete
one of these two pins.
January 2002
309
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
WARNING @line line_number—Duplicate model name
Probable Cause: The IBIS file contains models for two IOCell models with the same
name.
Suggested Solution: The specified line contains a model name for an I/O cell. Look
above this line for an IOCell model with the same name. Rename or delete one of these
models.
WARNING @line line_number—Duplicate model parameter parameter_name
Probable Cause: A model in the IBIS file contains more than one entry of a model
parameter. Model parameters include Model_type, Polarity, Enable, C_comp,
Vinl, and Vinh.
Suggested Solution: The specified line contains a model parameter for a model. Look
above this line for another entry of this model parameter and delete one of the entries of
this parameter.
WARNING @line line_number—Duplicate [Model Spec] sub-parameter <PARAM>
Probable Cause: One of the following parameters has appeared twice within one [Model
Spec] section: Vinh, Vinl, Vinh+, Vinl+, Vinh-, Vinl-, S_overshoot_high,
S_overshoot_low, D_overshoot_high, D_overshoot_low,
D_overshoot_time, Pulse_high, Pulse_low, Pulse_time, Vmeas.
Suggested Solution: The specified line contains a sub-parameter for a model. Look
above this line for another entry of this sub-parameter and delete one of the entries of
this sub-parameter.
WARNING @line line_number—Lexical error:
Probable Cause: The IBIS file contains a syntax error at the specified line. Possible
lexical errors include misspelled keywords.
Suggested Solution: Edit the specified line in the IBIS file.
WARNING @line line_number—Model selector entry <MODEL> repeated
Probable Cause: A model in the IBIS file contains a duplicated model selector name.
Suggested Solution: The specified line contains a duplicated model selector name.
Look above this line for another model selector name and delete one of them.
WARNING @line line_number—PackageModel <MODEL> removed from component
<MODEL>
January 2002
310
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Probable Cause: One of the internal components of an EBD has a PackageModel
assigned to it, and the -ebdcomp option has been given. Since this option produces an
IbisDevice component for the EBD module as a whole, only the top level IbisDevice may
have a PackageModel. Internal components are regarded as "bare die" in this case.
Suggested Solution: Verify that the referenced PackageModel is not required for EBD
files translated to IbisDevice with the associated PackageModel.
WARNING @line line_number—Repeated C_pkg
Probable Cause: A model in the IBIS file contains two C_pkg specifications.
Suggested Solution: The specified line contains a C_pkg specification. Look above
this line for another C_pkg specification and delete one of them.
WARNING @line line_number—Repeated L_pkg
Probable Cause: A model in the IBIS file contains two L_pkg specifications.
Suggested Solution: The specified line contains an L_pkg specification. Look above
this line for another L_pkg specification and delete one of them.
WARNING @line line_number—Repeated R_pkg
Probable Cause: A model in the IBIS file contains two R_pkg specifications.
Suggested Solution: The specified line contains an R_pkg specification. Look above
this line for another R_pkg specification and delete one of them.
WARNING @line line_number—Repeated ramp key-word: keyword
Probable Causes:
❑
If the specified ramp keyword is Fall, the Ramp section at the specified line number
contains more than one dV/dt_f specification.
❑
If the specified ramp keyword is Rise, the Ramp section at the specified line number
contains more than one dV/dt_r specification.
Suggested Solution: The specified line contains a dV/dt_r or dV/dt_f specification.
Look above this line for another dV/dt_r or dV/dt_f specification and then delete one of
them.
WARNING @line line_number—Too many dV/dt pairs (should be only 3)
Probable Cause: A dV/dt_f or dV/dt_r specification contains more than three pairs. A
dV/dt_f or dV/dt_r specification should contain three pairs of values. Each pair specifies
January 2002
311
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
the change of voltage over the change in time. The three pairs specify minimum, typical,
and maximum ramp values.
Suggested Solution: Edit the specified line number so that the dV/dt_f or dV/dt_r
specification contains only three pairs of values.
WARNING @line line_number—Unrecognized Enable type character_string.
Defaulting to Active-High.
Probable Cause: An IOCell model has an invalid enable type. IOCell models can have
only two types of enables: Active-High and Active-Low. The ibis2signoise translator
substitutes Active-High for the invalid enable type.
Suggested Solution: If you do not want SigNoise to use the Active-High enable type,
edit the specified line so that it contains the Active-Low enable type.
WARNING @ line line_number—Unrecognized model type: character_string,
Defaulting to Load.
Probable Cause: A model type in Model_type specification is invalid. The valid model
types are Output, I/O, 3-state, and Load. The ibis2signoise translator substitutes Load
for the invalid model type.
Suggested Solution: If you do not want SigNoise to use the Load model type, edit the
specified line so that it contains another valid model type.
WARNING @line line_number—Unrecognized Polarity character_string.
Defaulting to Non-Inverting.
Probable Cause: An IOCell model has an invalid polarity specification. IOCell models
can have only two types of polarities: Inverting and Non-Inverting. The ibis2signoise
translator substitutes Non-Inverting for the invalid polarity specification.
Suggested Solution: If you do not want SigNoise to use the Non-Inverting polarity, edit
the specified line so that it contains the Inverting polarity specification.
WARNING @line line_number—Pentium_processor(735|90,815|100) will be
written as Pentium_processor_73590_815_100.
Probable Cause: The ibis2signoise translator replaces all illegal model name
characters with underscores in the final SigNoise model output.
WARNING @line line_number—[C Series] will be used in both [On] and [Off] states
WARNING @line line_number—[L Series] will be used in both [On] and [Off] states
WARNING @line line_number—[Lc Series] will be used in both [On] and [Off] states
WARNING @line line_number—[R Series] will be used in both [On] and [Off] states
WARNING @line line_number—[Rc Series] will be used in both [On] and [Off] states
January 2002
312
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
WARNING @line line_number—[Series Current] will be used only in the [Off] state
WARNING @line line_number—[Series MOSFET] will be used only in the [On] state.
Probable Cause: Separate sets of these [Model Spec] keywords can be specified for
the [On] state and [Off] state of an IBIS Series_switch. To support dynamic modeling of
the switch, SPECCTRAQuest allows only a single topology. A single circuit is
constructed containing all series elements. [Series MOSFET] elements are enabled only
in the [On] state, and [Series Current] elements are enabled only in the [Off] state.
Suggested Solution: Verify that the switch behavior will be as intended given these
conditions. Possibly reorganize the Series_switch elements in the IBIS file accordingly.
For example, if a 10 ohm resistor is used in the [On] state and a 1MOhm resistor is used
in the [Off] state, replace the [On] state resistor with an equivalent [Series MOSFET].
Error Messages from the Ibis2signoise Utility
ERROR @ line line_number—Syntax error The lexical token was
<character-string>.
Probable Cause: The IBIS file contains a syntax error at the specified line. Possible
lexical errors include misspelled keywords.
Suggested Solution: Edit the specified line in the IBIS file.
ERROR @line line_number—Rise_on_dly may not be negative
ERROR @line line_number—Fall_on_dly may not be negative
ERROR @line line_number—Rise_off_dly may not be negative
ERROR @line line_number—Fall_off_dly may not be negative
ERROR @line line_number—Rise_off_dly must be greater than
Rise_on_dly, if set
ERROR @line line_number—Fall_off_dly must be greater than
Fall_on_dly, if set
Probable Cause: Incorrect time values in a [Driver Schedule] section.
Suggested Solution: Edit the time values in the IBIS file.
ERROR @line line_number—IbisDevice 'MODEL' has no PackageModel
SeriesPinMapping skipped.
Probable Cause: An IBIS [Component] that has [Series Pin Mapping] references a
[Package Model], but no definition of the [Package Model] is found.
Suggested Solution: Either remove the [Package Model] reference, or include
the[Package Model] definition in the same IBIS file as the IBIS [Component].
January 2002
313
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
ERROR @line line_number—No SubCircuits in 'MODEL' CircuitModels SeriesPinMapping skipped.
ERROR @line line_number—PackageModel 'MODEL' has no CircuitModels SeriesPinMapping skipped.
Probable Cause: The [Package Model] referenced by an IBIS [Component] may be a
matrix style model. To implement [Series Pin Mapping] a CircuitModels PackageModel
with a valid SubCircuits section is required.
Suggested Solution: Correct the PackageModel so that it has a valid CircuitModels
section with SubCircuits. Optionally, the PackageModel reference may be removed from
the IBIS [Component] that has [Series Pin Mapping]. In this case a PackageModel
contain the [Series Pin Mapping] elements will be created automatically.
ERROR @line line_number—No data for package model.
Probable Cause: The dimension of an IBIS [Define Package Model] is absent.
Suggested Solution: Edit the IBIS file and add the correct dimension data.
ERROR @line line_number—No definition found for SeriesPin model.
'MODEL'
Probable Cause: A [Series Pin] section references a Series model, but the named
model is not found in the IBIS file.
Suggested Solution: Add the IBIS Series [Model] to the file containing the
n[Component] with [Series Pin] section.
ERROR @line line_number—PackageModel 'MODEL' for IbisDevice 'MODEL'
is not found
Probable Cause: The IBIS [Component] references a [Package Model] for which no
corresponding [Define Package Model] is found.
Suggested Solution: Add the [Define Package Model] to the same IBIS file that
contains the referencing [Component].
ERROR—Syntax error, position unknown.
Probable Cause: The ibis2signoise translator has encountered an unanticipated
problem.
Suggested Solution: Contact Cadence Customer Support.
ERROR @line line_number—Unable to create EBD <MODEL> component model
because component <MODEL> is not found.
January 2002
314
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Probable Cause: An internal [Component] referenced in an EBD is not found.
It is required if the -ebdcomp option is given, so that the EBD can be implemented as a
PackageModel associated with the primary internal IbisDevice component.
Suggested Solution: Place the IBIS file for the [Component] in the same directory as
the EBD file. Make sure the component IBIS file has the filename as stated in the EBD
file.
ERROR @line line_number—Unable to create PackageModel for IbisDevice
'MODEL'
Probable Cause: Unexpected error.
Suggested Solution: Contact Cadence support.
ERROR @line line_number—Unable to identify component name for EBD
<MODEL_PKG> component model.
Probable Cause: The EBD does not contain exactly one internal component with driving
pins. The -ebdcomp option requires that the EBD contain one activecomponent that has
drivers. All other internal components must be passive, with no pins that can drive an
output.
Suggested Solution: Change the [Model] assignments of pins on internal components
that are not intended to be active drivers. If the EBD correctly contains multiple driving
components, then the -ebdcomp option can not be used.
ERROR @line line_number—Unrecognized [Model Spec] sub-parameter
<PARAM>
Probable Cause: A sub-parameter appearing after a [Model Spec] is not one of: Vinh,
Vinl, Vinh+, Vinl+, Vinh-, Vinl-, S_overshoot_high, S_overshoot_low,
D_overshoot_high, D_overshoot_low, D_overshoot_time, Pulse_high,
Pulse_low, Pulse_time, or Vmeas.
Suggested Solution: Check your spelling and edit the IBIS file at that line.
ERROR @line line_number—Use of [LC Series] with no [C Series]
ERROR @line line_number—Use of [RC Series] with no [C Series]
ERROR @line line_number—Use of [Rl Series] with no [L Series]
Probable Cause: A [C Series] or [L Series] section is missing from the IBIS file.
Suggested Solution: Add the required primary series element.
ERROR @line line_number—[Number of Pins] missing from package model.
January 2002
315
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Probable Cause: A package model is not followed by a [Number Of Pins] line.
Suggested Solution: Add the required line, or move it so that it follows the beginning of
the package model.
ERROR @line line_number—[C Series] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[Driver Schedule] not allowed in pre-IBIS 3.0
file
ERROR @line line_number—[L Series] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[LC Series] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[Model Spec] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[Number of Sections] not allowed in pre-IBIS
3.0 file
ERROR @line line_number—[Off] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[On] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[R Series] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[RC Series] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[RL Series] not allowed in pre-IBIS 3.0 file
ERROR @line line_number—[Series Current] not allowed in pre-IBIS 3.0
file
ERROR @line line_number—[Series MOSFET] not allowed in pre-IBIS 3.0
file
Probable Cause: The [IBIS Version] of the file is incorrect.
Suggested Solution: Change [IBIS Version] to 3.2
QUAD to DML
Viewing VI and VT Curve Waveforms
Use the -curvedir option to have quad2signoise create waveforms for each VI curve and
VT curve found in the translated IBIS file. The waveforms are produced by dmlcheck, so they
will not be produced if you use the -d option with quad2signoise. If the curve directory does
not exist, it is created.
One waveform file is created for each VI curve and VT curve in the translated IBIS file.
Waveform filenames have the form IOCellName_CurveName.sim.
Each waveform file contains 6 waveforms -- the original minimum, typical, and maximum
curves and the repaired minimum, typical, and maximum curves.
Use SigWave to view the waveform files.
January 2002
316
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
In cases where quad2signoise has modified a curve to fix some problem, the change should
be apparent when you view the curve waveforms. The fixed waveforms are identical to the
original waveforms for unmodified curves.
Warning and Error Messages from quad2signoise
The quad2signoise translation utility displays warning and error messages that are
generated during the translation.
If warnings or errors are found, they are displayed in the shell window that you used to start
the application. The line numbers refer to lines in outfile.temp. An output file is not
created.
If there are only warning messages, the output file is generated. The reported problems exist,
but did not prevent the output file from being created. If there are error messages, the output
file cannot be generated until the reported problems are fixed. For details on warning and
error messages, their probable cause and suggested solution, see “Warning Messages from
the Quad2signoise Utility” on page 317and “Error Messages from the Quad2signoise Utility”
on page 317.
Warning Messages from the Quad2signoise Utility
WARNING: Unable to open the log file log_filename for writing.
quad2signoise.log will be taken as the default log file.
Probable Cause: A permission or some other system problem prevents the
quad2signoise translator from writing the log file that you specified. The translator writes
a log file named quad2signoise.log in the current directory.
Suggested Solution: Check permissions for the path you specified for the log file.
WARNING: Unable to open the log file quad2signoise.log for writing.
Log will be displayed on the standard output.
Probable Cause: A permission or some other system problem prevents the
quad2signoise translator from writing the quad2signoise.log file in the current
directory. Warning and error messages appear only in the window the utility is running in.
Suggested Solution: Check permissions for the current directory.
Error Messages from the Quad2signoise Utility
ERROR: Unable to open file output_dml_filename for writing.
January 2002
317
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Probable Cause: A permission or some other system problem prevents the
quad2signoise translator from writing the DML device model library.
Suggested Solution: Check permissions for the path to the current directory or the
path you specified for the output file.
ERROR: Unable to allocate memory.
Probable Cause: The translator does not have enough memory.
Suggested Solution: Check your system.
ERROR: Unable to open file input_QUAD_filename for reading.
Probable Cause: A permission or some other system problem prevents the
quad2signoise translator from reading the QUAD file.
Suggested Solution: Check permissions for the path to the directory that contains the
QUAD file.
Translating ESpice Files to Generic Spice Files
You can use the spc2spc utility to translate a Cadence proprietary Spice (or ESpice) input
file to a generic Spice input file compatible with Spice2G, Spice3, or HSpice. Using spc2spc,
you can translate ESpice input file to a generic Spice format you can use for benchmarking.
To translate a ESpice file to generic Spice:
➤
Enter the spc2spc command at the operating system command line in the following
syntax:
Spc2spc [options] <input file>
The usual input file will be main.spc.
January 2002
318
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Available options for this command are listed in the following tables
Table E-5 Spc2spc Output Options
Option
Function
-mapOut=<filename>
Create a connectivity map file with the specified name.
-spectreOut=<filename> Translate to Spectre language format.
-spiceOut=<filename>
Translate to Spice language format.
Table E-6 Spc2spc General Options
Option
Function
Copy comments from source file to output file.
-dir=<directory> Create sub-directory <directory> into which all output files will
be written. This is particularly useful when the welement option is
enabled, since a large number of output files may be created.
Add comments to the output file indicating the name of the source
-fileInfo
file and the line number for each translated statement.
-flatten
Flatten the circuit so no sub-circuits remain.
Send help text to stdout.
-h
Do not translate ESpice transmission line n elements. The default
-nelement
action is to translate ESpice n elements into resistor, capacitor,
inductor (RLC) ladder networks.
Rename nodes, elements or sub-circuits.The placeholder text,
-rename=
node, elem and subckt mustbe replaced by one of the following
<node,elem,
format codes:
subckt>
-commentInfo
alphanumTruncate name to 8 characters and add a numeric
uniquifier.
asisDo not change the name.
cleanChange non-alphanumeric characters to ’_’
numericChange identifier to a number.
-sourceInfo
January 2002
Include original text of source file as comments in the output file.
319
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Table E-6 Spc2spc General Options
Option
Function
-version
Send software version text to stdout.
-welement
Translate finite length ESpice transmission line n elements
elements into w elements. This option creates a RLGC definition
file for each distinct n element type.
Modify processing of w element option so that only transmssion
lines greater than the specified length are translated to w elements.
Shorter transmission lines will be converted into RLC ladder
networks.The length may be specified with units (e.g. 12mils). If no
units are supplied, the length is assumed to be in meters.
-wminlen=
<length>
Table E-7 Spc2spc Options for Tuning RLC Ladder Generation
Option
Function
-s
Convert single-line transmission line n elements into Spice
t elements.
-t=
<Rise/Fall Time
in ps>
Set the minimum rise or fall time in picoseconds. RLC ladder
networks are only accurate in modelling transmission lines up to
a limited frequency. The frequency limit can be increased by
increasing the number of ladder elements, but this will slow
simulation speed. When this option is supplied, ladder network
generation will be optimized to work with edge rates up to that
specified.
Set the maximum RLC segment delay in picoseconds.This
option can be used instead of the -t option to ensure there are
sufficient ladder sections to accurately simulate up to the
frequency of interest.
-x=
<segment delay
in ps>
The spc2spc translator reads the specified input file, usually main.spc. It will also read files
#included into this file. In the case of a standard main.spc, it #includes the complete ESpice
circuit heirarchy for a test case. This includes the components file (comps.spc), the
interconnect file (intercon.spc), the stimulus file (stimulus.spc), and, when
transmission files are present, the RLGC model files (dlink_RLGC.inc,
comps_RLGC.inc, and ntl_RLGC.inc).
After translation, the complete ESpice file hierarchy is combined into one Spice input deck,
main_gen.spc.
January 2002
320
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
Spc2spc Translation Rules
■
spc2spc does not translate behavioral models. Upon encountering a behavioral model,
spc2spc comments out the call to the behavioral model and describes, within
comments, the node connections for the behavioral model.
■
If behavioral models are present in your comps.spc file, you must make the
appropriate model/stimulus connections to the behavioral model’s IO nodes. In most
cases you can accomplish this by connecting the stimulus sub-circuit node to the
behavioral model’s former IO node directly.
■
spc2spc models transmission lines as distributed lumped element models with the -s
option, or in the case of single-line transmission lines, as T-models. By default all
transmission lines are modeled as distributed RLC element lines. Coupled transmission
lines are modeled with mutual capacitances and inductor coupling coefficients (kfactors).
■
spc2spc determines the granularity of the distributed, lumped sections based on the
modal propagation velocities in the transmission lines and the minimum transmission tile
from the stimulus file. the propagation delay for a section is constrained to be 1/20th of
the minimum transmission time in the system. This limits the lumped element
approximation error to 4%. You can use a command line option (-x=tau) to override the
default per-section delay to any non-zero value. You can use another command line
option (-t=tr) to override the minimum rise and fall time used in the lumped section
delay calculations.
■
spc2spc breaks inductive resistors (resistive inductors) into two series elements. It
keeps skin-effect resistors as parallel elements to the series R-L elements when they are
present.
January 2002
321
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Model Translation
January 2002
322
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
F
Computations and Measurements
■
“Overview” on page 324
■
“Pre-Analysis Requirements” on page 324
■
“Reflection Simulations” on page 326
■
“Segment-Based Crosstalk Estimation” on page 326
■
“Crosstalk Simulations” on page 327
■
“Timing-Driven Crosstalk Analysis” on page 328
■
“Simultaneous Switching Noise (SSN) Simulations” on page 328
■
“Comprehensive Simulations” on page 329
■
“Delay Computations” on page 329
■
“Distortion Computations” on page 333
■
“Simultaneous Switching Noise Measurements” on page 335
January 2002
323
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Overview
This appendix presents an overview of the analytical approach used in signal integrity
simulation. The intent is to provide a condensed explanation of how analysis results are
derived.
Using SigNoise, you can quickly examine, or scan, one or more signals by performing
reflection simulations and crosstalk estimations on entire designs or on large groups of
signals. You can also probe individual signals, or small groups of signals, where you want to
delve into specific signal behaviors in detail, to generate and view waveforms and text reports.
When generating text reports, you can sort the results by specific criteria (for example,
undershoot, noise margin, or crosstalk) in order to rapidly identify signals that violate
electrical constraints.
Pre-Analysis Requirements
Before running SigNoise, the design needs to be properly prepared with regards to
properties, constraints, stack-up definition, and device models. For details, see Chapter 2,
“Transmission Line Simulation Setup.” Assuming the board is set up correctly, it should pass
the Design Audit procedure in a satisfactory manner. Following is a brief summary of some
of the more important items.
Device Models
The libraries containing the required device models must be available in the Library Browser.
There are several different types of models that can be present:
■
IBIS device models - Assigned to IC’c and connectors.
■
ESpice models - Assigned to discrete passive components such as resistors and
capacitors.
Stack Up Definition
The stack up definition is very important. This provides the geometries SigNoise needs to
derive interconnect parasitics. The conductor/dielectric thicknesses and dielectric constants
give the Z-axis information, and the X- and Y-axis information are obtained from the routed
conductors in the design. This allows SigNoise to have a “2.5 D” database for characterizing
interconnect during signal analysis.
January 2002
324
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Modeling Unrouted Interconnect
You do not have to route the design to run SigNoise. You can define how to model unrouted
interconnect in the Parameters form, including percent Manhattan distance, characteristic
impedance, and propagation velocity. This allows simulations to be run prior to routing, right
from the rats nest. Items such as reflections, termination, and delays can be evaluated at this
stage. For routed connections, the actual routed traces are used instead of the criteria
described above.
Field Solutions
When you select a net for simulation, a detailed geometry extraction is performed, including
the primary net, its neighbor nets (per the user-defined geometry search window), and the
mutual coupling between them. This generates a coupled network of multiple conductors.
The interconnect geometry comprising the network is broken up into its unique individual
cross sections. For example, if the primary net had 6 mil spacing to a neighbor net at one
point, and 12 mil spacing to a neighbor net at another point, these would be broken up into 2
different unique cross sections. Then SigNoise looks in the specified interconnect libraries for
the required trace models, based on geometry. If it finds the ones it needs, it plugs them into
the circuit. The various trace models are spliced together to build the complete simulation
circuit.
If a required trace geometry hasn’t been characterized, it is sent to the field solver. The field
solver uses 2-dimensional boundary-element techniques to break up the cross section into a
fine mesh. Charge distribution over the mesh is then solved to derive a capacitance matrix for
the conductors in the cross section. The capacitance matrix is then used to derive the
inductance matrix. Resistance and conductance matrices are also generated to take into
account conductor loss such as skin effect, and as dielectric losses.
The output of the field solver is frequency-dependent RLGC matrixes (resistance, inductance,
conductance, and capacitance) per unit length, which get stored along with the geometry as
a trace model in the interconnect library. Therefore, these results can be re-used across
multiple designs, so the number of field solutions required to characterize a particular layout
are minimized. When a trace model is called from the interconnect library, its matrices are
then multiplied by the length associated with that particular cross section to generate a unique
interconnect model for that specific instance.
When a section of an interconnect network is represented in a simulation circuit, the length
of the section is used together with the RLGC matrix in the trace model to derive the
impedance and propagation delay of the section, along with mutual couplings to other
sections.
January 2002
325
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Vias are automatically modeled through closed-form algorithms, based on their padstack
geometry in the layout database. Vias can optionally be modeled in greater detail utilizing the
3D field solver in SigNoise.
Signal Integrity Simulations and Computations
After the interconnect parasitics are derived, the appropriate device models are retrieved and
plugged in. A complete simulation circuit is built based on the type of analysis that was
requested. The different analysis types are distinguished by what is included in the circuit,
and how stimulus is applied, as discussed below.
The tlsim Simulator and Simulations
SigNoise uses a proprietary simulator, tlsim. The tlsim simulator is essentially a clean subset
of public domain Spice with proprietary enhancements and extensions developed by
Cadence to optimize it for PCB and MCM applications. For example, tlsim uses proprietary
macromodels for transmission lines and IOCells.
Reflection Simulations
For a reflection simulation, SigNoise traces out the extended net (xnet), characterizes the
trace geometries, obtains the relevant device models, builds a single-line circuit (disregards
neighbor nets), and runs a transmission line simulation. The stimulus is applied to the driver
pin on the xnet. In the case of multiple drivers on a net, multiple simulations are run, with one
active driver stimulated in each simulation. Other drivers on the xnet are inactive during the
simulation.
The output of these transient simulations are waveforms and delay & distortion report data.
Waveforms are produced for all driver and receiver pins on the xnet. The waveform is a plot
of voltage vs. time, so the values for noise margin, overshoot, first switch delay, and final settle
delay are taken directly from the waveform data. The receiver waveforms are checked for
monotonicity during the low-to-high and high-to-low transition period. Non-monotonic edges
are flagged as violations.
Segment-Based Crosstalk Estimation
Segment-based crosstalk estimation is intended to support an interactive crosstalk
debugging/etch editing use model where rapid results and quick identification of worst
offenders are required. Rather than performing costly coupled-line time domain simulation in
real time, this technique performs the time domain simulation up front to sweep
January 2002
326
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
representative crosstalk circuits for the design. This generates tables of crosstalk data.
Closed-form algorithms are then employed that intelligently leverage these pre-existing tables
of crosstalk data in conjunction with the unique routed geometries of specific nets. This
rapidly predicts the magnitude of coupled crosstalk on a segment-by-segment basis in real
time. The results are available in report format and are also enforced by on-line DRC’s (design
rule checks) in the SPECCTRAQuest Floorplanner and Allegro environments as well as by
the SPECCTRA autorouter.
To obtain segment-based crosstalk results, the crosstalk tables need to be available. These
tables are automatically generated based on the IOCell’s, stackup, and spacing rules in the
design. Based on this information, crosstalk circuits are built and swept through all relevant
combinations using full-time domain simulation. Crosstalk magnitudes and saturation lengths
are recorded and crosstalk lookup tables generated for use during estimation. When a
crosstalk estimate is requested for a given signal, an Xnet walk is performed where each
coupled segment on the Xnet is identified along with the aggressor. Based on the geometry
for each of these unique coupled segments, and the fastest IOCell on the aggressor, the
magnitude of the crosstalk imposed on the victim for that specific coupled segment is rapidly
predicted. In addition to the individual coupled segment contributions, overall aggressor Xnet
contributions and total victim crosstalk data are algorithmically derived and presented in
report format.
Important
Segement-based crosstalk estimation does not take into account detailed
topological effects like reflections, wave cancellation or the plethora of unique
stimulus combinations that can occur in actual designs. To analyse these sorts of
effects, full-time crosstalk simulation should be utilized.
Crosstalk Simulations
In Crosstalk simulations, a multi-line circuit is built that includes the victim net, neighboring
aggressor nets and mutual coupling. The victim net is held at either the high or low state and
the aggressor nets are stimulated. Crosstalk is simulated in the time domain, producing
waveforms and report data.
The user can choose to stimulate the aggressor nets in groups, or one aggressor net at a time
to isolate the contributions from individual nets, identifying worst offenders. Crosstalk timing
properties can also be used to set up neighbor stimuli, as discussed in the following section,
“Timing-Driven Crosstalk Analysis.”
Note: Crosstalk simulation is intended to suport a post-route verification use model.
January 2002
327
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Timing-Driven Crosstalk Analysis
Both segment-based crosstalk estimation and time domain crosstalk simulation in SigNoise
are capable of being timing-driven, which greatly increases real-world accuracy and helps
eliminate pessimistic crosstalk false alarms. The estimation algorithms use crosstalk timing
properties to determine when nets are active and sensitive, and only considers the aggressor
nets that have an active time overlap with the victim nets sensitive time as crosstalk
contributors. The XTALK_IGNORE_NETS property can be used to tell a net or a group of nets
to disregard other nets or group of nets as a source of crosstalk. An example would be when
you want to disregard crosstalk between bits on a synchronous bus.
The following crosstalk timing properties can be applied to nets in SPECCTRAQuest or
Allegro:
XTALK_ACTIVE_TIME
XTALK_SENSITIVE_TIME
XTALK_IGNORE_NETS
XTALK_SENSITIVE_TIME properties can also be assigned to specific receiver pins for an
even greater level of accuracy.
For Crosstalk simulations, the crosstalk properties above are used to determine how to
stimulate multi-line circuits for crosstalk analysis. For example, assume a victim net being
analyzed for crosstalk had 2 aggressor nets, and they had the following properties:
victim net - XTALK_SENSITIVE_TIME = 5-10
neighbor #1 - XTALK_ACTIVE_TIME = 7 - 15
neighbor #2 - XTALK_ACTIVE_TIME = 20-25
Neighbor #2 would not be stimulated in the circuit, since its active time does not overlap with
the victim net's sensitive time. In this case, stimulating both aggressor nets together would be
overly pessimistic, and not indicative of real-world behavior.
Simultaneous Switching Noise (SSN) Simulations
To understand how a circuit is built for SSN simulations, assume a simple net is selected that
has only one driver and one receiver. When the driver pin is found, SigNoise examines the
device model for that pin's component and determines which power and ground buses the
driving IOCell references. It identifies all other driver pins in the package that share the same
power and ground buses. Assume that SigNoise finds four other drivers like this in the
package, connected to nets A, B, C, and D respectively.
A circuit is then built to include the following:
January 2002
328
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
■
The device model containing the five driver pins, the power and ground pins on the buses
involved, and their package parasitics
■
Any power and ground pin escape traces and vias
■
The original net selected and nets A, B, C, and D
Voltage sources are applied in the circuit corresponding to the nodes at which the pin escape
vias contact the power or ground plane. A simulation will then be run in which the outputs at
the driving package are switched simultaneously. This produces waveforms at the internal
power and ground buses, (at the die itself) for the driving package.
Plane modeling can optionally be included for SSN simulations to account for power and
ground planes and decoupling capacitors. In this case, the power and ground planes in the
stackup are characterized in an LC mesh. Decoupling capacitors are extracted from the
design and attached to the appropriate locations in the mesh. Voltage sources in the circuit
are inserted into the circuit based on explicit VOLTAGE_SOURCE_PIN properties attached
to connector pins in the design. This detailed analysis not only increases accuracy, but
enables the user to view 3D animation of the electromagnetic wave propagation through the
design and explore what if scenarios with stackup and decoupling.
Comprehensive Simulations
In a Comprehensive simulation, a multi-line circuit is built similar to that used for crosstalk
analysis. Power and ground parasitics are taken into account similar to basic SSN analysis.
The victim net and the aggressor nets are all switched simultaneously. The user can control
whether odd or even mode switching between the victim and aggressors is used.
Delay Computations
During delay analysis, SigNoise performs the calculations and checks described in this
section. These include timing rule checks and pass/fail waveform checks.
Compensated Interconnect Delays
When measuring waveforms at a receiver against time zero in a SigNoise simulation, you
include the driving IOCell delay as well as the delay contributed by the interconnect. For the
purpose of timing analysis, the IOCell delay is already accounted for in the overall component
delay. In order that the IOCell delay is not counted twice when reporting first switch and final
settle delays, the assumed IOCell delay must be backed out of SigNoise simulation results.
January 2002
329
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Since the actual topology to which each pin is attached is not available for up-front timing
analysis, a test load (or test fixture) is assumed to be attached to the IOCell in order to derive
the component delay. This test load appears as follows:
Vterm
Rref
Out
Cref
To derive the contributed IOCell delay, SigNoise hooks up the IOCell to its corresponding test
load circuit and runs simulations to capture the slow, typical, and fast IOCell delay values,
measured at a predefined measurement voltage threshold (Vmeasure) for rising and falling
edges.
These values are stored with the model in the device library. When a SigNoise simulation is
run on the design, the appropriate IOCell (or buffer) delay is backed out to properly
compensate first switch and final settle delays to represent interconnect contribution only.
SigNoise determines the delays described in the following table.
Delays Determined by SigNoise
Delay
Description
Propagation Delay
Transmission line delay, the time required for wave propagation from
driver to receiver.
First Switch Delay
This is determined by subtracting the associated buffer delay from a
simulation measurement. For example, on a rising (falling) edge,
the simulation measurement is from time zero to when the receiver
first crosses its Vil (Vih) switching threshold. The associated rising
(falling) buffer delay of the driving IOCell is subtracted from this
measurement value to produce the reported first switch delay.
January 2002
330
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Delays Determined by SigNoise
Delay
Description
Final Settle Delay
This is determined by subtracting the associated buffer delay from a
simulation measurement. For example, on a rising (falling) edge,
the simulation measurement is from time zero to when the receiver
crosses its Vih (Vil) switching threshold the final time and settles
into the high (low) logic state. The associated rising (falling) buffer
delay of the driving IOCell is subtracted from this measurement
value to produce the reported final settle delay.
The following diagram illustrates buffer delay, propagation delay, first switch delay, and final
settle delay for a rising signal.
Receiver
Driver
Vih
Input
Switching
Thresholds
Vmeasure
Vil
Propagation Delay
First Switch
Final Settle
Rising Buffer Delay
Note: First switch and final settle delays can be optionally measured to the associated
IOCells Vmeasure threshholds, as opposed to the receiver’s logic thresholds.
January 2002
331
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Timing Rule Checks
SigNoise checks the measured delay values against the following constraints:
Constraint
Item
DELAY_RULE
minimum propagation delay
maximum propagation delay
MIN_FIRST_SWITCH
minimum first switch delay
MAX_FINAL_SETTLE
maximum final settle delay
Note: You can set these constraints on a net or on a pin-to-pin connection.
Pass/Fail Checks
During delay analysis, the following applies:
■
First Incident Rule
Verifies that the receiver pin transition occurs approximately in sync with the propagation
delay plus the actual rise/fall time observed at the driver. Typically, if the transition does
not occur on this first transmission of the edge, it occurs much later with reflections
matching some odd multiple of the propagation delay (for example, 3x, 5x, and so on, the
length delay). The failure is flagged if the time is greater than 1.5 times the expected time
of propagation plus the rise or fall time.
■
Monotonic Rule
Checks for a smooth transition through the mid-range. This check is especially important
for nets which drive edge-triggered devices which could otherwise double clock due to
a nonmonotonic edge. Ringing that occurs exclusively outside of the mid-range, that is,
above the high logic threshold or below the low, is not a violation of this monotonic rule.
January 2002
332
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
The following illustration shows non-monotonic and non-first Incident rules violations.
Driver
Receiver
Input
Switching
Thresholds
Non-monotonic edge
reversal in midrange
Propagation
Delay
3x, 5x, ... Propagation Delay
for NOT First incident
Distortion Computations
SigNoise analysis is controlled by user-defined criteria that establish the thresholds for delay
and distortion analysis. SigNoise includes both timing-oriented rules and the following checks
for voltage-related signal noise. You can limit each source of signal noise to a maximum
voltage level to detect high levels of a particular source of noise. Distortion criteria measured
by SigNoise include:
■
Overshoot
■
Noise Margin
■
Crosstalk
■
Simultaneous switching noise (SSN)
■
Differential mode electromagnetic interferance (EMI) in near and far field.
January 2002
333
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
Reflection Measurements
Reflections become prevalent when the signal rise or fall time is relatively small compared to
the propagation delay of the signal through the interconnecting etch or when
tr < 2td
wheret r is the rise/fall time andt d the one-way propagation delay through the etch. When
this is the case, the driver does not see the load. Consequently the proportion between
electric and magnetic energy (between voltage and current) is primarily determined by the
impedance of the transmission line connected to the driver. As the signal encounters a load
or another transmission line with different impedance, the proportion between voltage and
current is readjusted. This readjustment is the type of signal distortion called reflection.
“Reflection Measurements” on page 334 illustrates waveform reflection measurements.
Figure F-1 Reflection Measurements
High State Overshoot
High State Noise Margin
Vih
Vil
Low State
Noise Margin
Low State Overshoot
Reflection analysis in SigNoise produces overshoot and noise margin values. For reflection
analysis of a circuit, a transient simulation is performed, and the voltage waveform at each
January 2002
334
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
receiver pin is analyzed producing overshoot and noise margin data as shown in the previous
figure. Overshoot values (OV) are reported in reference to ground.
Crosstalk Measurements
When crosstalk simulations are run, multi-line circuits are built. The field solver extracts self
and mutual parasitics for routed interconnect, allowing coupled networks to be simulated in
the time domain. Waveforms for receiver pins on the victim net are analyzed to produce
crosstalk report data. Measurements are taken as follows based on the logic state of the
victim. Crosstalk for the victim held in the low (high) state is taken as the magnitude of the
delta between the highest (lowest) excursion of the receiver waveform minus the victims
steady state voltage. This is shown in the figure below.
Figure F-2 Crosstalk Measurements
Steady State High
High State
Crosstalk
Low State
Crosstalk
Steady State Low
Simultaneous Switching Noise Measurements
To measure the simultaneous switching noise associated with the net, SigNoise will:
■
Use the waveforms generated at the die for the driver device’s ground node and measure
the low state SSN value in the same manner as described for low state crosstalk in
“Crosstalk Measurements” on page 335.
■
Use the waveforms generated at the die for the driver device's power node and measure
the high state SSN value in the same manner as described for high state crosstalk in
“Crosstalk Measurements” on page 335.
January 2002
335
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Computations and Measurements
January 2002
336
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
G
Cadence Espice Language Reference
■
“Overview” on page 338
■
“About the Input Format” on page 339
■
“Espice Syntax Fundamentals” on page 344
■
“DC Path to Ground” on page 348
■
“Supported Circuit Elements” on page 352
■
“Basic Elements” on page 353
❑
“Passive Elements: Resistor, Capacitor, Inductor, Mutual Inductor” on page 353
❑
“Single Lossless Transmission Line” on page 353
❑
“DC Voltage Source” on page 354
❑
“Diodes” on page 357
■
“Controlled Source Elements” on page 358
■
“IBIS Behavioral Model Elements” on page 375
■
“Multi-Conductor Transmission Line Models” on page 388
■
“Control Statements” on page 391
■
❑
“END Statement” on page 391
❑
“ENDS Statement” on page 391
❑
“NODE_PARAM Statement” on page 391
❑
“NODE_PARM_DIFFERENTIAL Statement” on page 393
❑
“PRINT Statement” on page 393
“Creating Espice Models for use with SPECCTRAquest” on page 396
January 2002
337
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Overview
This appendix describes the native language of the simulator tlsim and it’s input file format,
Espice. The tlsim simulator is a time domain circuit simulator and employs algorithms similar
and in many cases identical to generic Spice.
Tlsim native language models may be embedded in the DML simulation model used by
SPECCTRAQuest and SigXplorer. You can elect to do this where the standard DML syntax
is not flexible enough to describe the behavior of a special device.
The language syntax of Espice (formerly known as Kspice) is very much like the generic
Spice syntax. The key difference between Espice and generic Spice is that Espice does not
yet support transistor level models. On the other hand Espice supports model types for
devices described by IBIS behavioral data. Espice also supports novel types of controlled
sources and latches. This allows for easy, accurate and efficient modeling of timing, signal
integrity, and electro-magnetic incompatibility (EMI) circuits entirely in the analog domain.
The first sections of this appendix introduce Espice and tlsim, and describe the syntax for
basic elements (resistors, capacitors, sources) and for more specific advanced elements
particular to Espice (IBIS behavioral models). The last section describes how to embed
Espice in a DML model.
January 2002
338
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
About the Input Format
The syntax of Espice is a relaxed form of that used by the popular Berkeley Spice simulator.
Statements
An Espice netlist is composed of a set of statements. Each statement starts on a separate
logical line. A logical line is composed of a physical line with directly following continuation
lines. Continuation lines have a ‘+’ character in the first position on the line.
An example of a statement on a single physical line is:
R1 2 3 4.7k
The same example using a continuation line:
R1 2 3
+ 4.7k
Note: A “+” character in the first position (column zero) on a line is always interpreted as a
continuation character. In any other position, “+” is interpreted as the plus operator.
Statements consist of text elements separated by space characters. (Tab characters may also
be used for the same purpose, since tab characters are internally converted to space
characters.) The case of the text is not significant. For example, the following are treated as
equivalent:
“GND”, “Gnd” and “gnd”
Standard Spice requires statements to start at the first physical position on the physical line.
Espice allows the text of statements to be indented with one or more spaces to improve
readability.
Blank lines may also be inserted for readability, but may not be used before continuation lines.
The following is legal:
R1 2 3
+
4.7k
R2
4
January 2002
5
339
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
+
6.8k
This is not (blank line preceding a continuation line)
R1 2 3
+
4.7k
R2
+
4
5
6.8k
Node Names
Statements may contain node names. In standard Spice, node names must be numeric.
Espice allows alphanumeric node names.
Following is an example of alphanumeric node names.
R1 first_node second_node 4.7k
The node names “0” and “gnd” are special and are interchangeably used as the absolute
reference node.
Note: Node names are scanned as character strings. Leading zeros and trailing alphas on
numeric node numbers are not ignored.
All of the following are distinct node names:
“0”, “00”, “000”, “0a”
January 2002
340
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Numeric Representation
Numbers in Espice can be represented in integer, floating point, scientific or engineering
format as shown in the following table.
Table G-1 Espice Numeric Examples
Format Type
Examples
Integer
“1”,“99”
Floating Point
“3.14”, “0.998”
Scientific
“1.23e-12”,” 5e12”
Engineering
“1.23m”, “1.0G”
The engineering scale factors that are recognized are shown in the following table.
Table G-2 Engineering Scale Factors
Scale Factor
Value
T
= 1e12
G
= 1e9
Meg
= 1e6
K
= 1e3
M
= 1e-3
U
= 1e-6
N
= 1e-9
P
= 1e-12
F
= 1e-15
Important
The case in engineering scale factors is not significant. This means that the
standard S.I. notation conventions are not strictly obeyed. In particular “M” is
interpreted as “milli” (i.e. 1e-3, not Meg = 1e6).
January 2002
341
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Datapoint Sections
Datapoint sections are tables of values. They are used for controlled sources, IBIS models
and lossy transmission lines.
Datapoint sections start with a “DATAPOINT” statement and end with an “END” statement.
The usual Espice syntax rules do no apply within the context of a datapoint section, in
particular, continuation “+” characters are not allowed.
See “Datapoints Statements” on page 366 for more detail on datapoint sections.
Statement Types
The first significant letter of a statement (ignoring preceding spaces) is generally used to
determine the statement type. The following describes the recognized statement types.
Table G-3 Espice Statement Types
Statement Type
Description
B
Behavioral I/O buffer model.
C
Capacitor instance.
D
Diode instance (unless start of Datapoints).
Datapoints
Start of datapoint section.
E
Voltage controlled voltage source (expression, piecewise linear,
rational function or non-linear inductor model).
F
K
Current controlled voltage source (expression, piecewise linear,
rational function or non-linear capacitor model).
Voltage controlled current source instance (expression, piecewise
linear, rational function or non-linear capacitor model).
Current controlled current source instance (expression, piecewise
linear, rational function or non-linear inductor model).
Mutual Inductor instance.
L
Inductor instance.
N
Single or multi-conductor lossy transmission line instance.
R
Resistor instance (simple or skin effect).
T
Single (lossless) transmission line instance.
G
H
January 2002
342
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Table G-3 Espice Statement Types
Statement Type
Description
V
Voltage source instance (simple, pulse, sinusoidal, exponential
or piecewise linear).
X
Sub-circuit instance.
.
Control Statement (see below).
*
Comment (unless followed by ‘|’).
*|
Proprietary simulator directive (do not use).
Note: Espice does not support the standard Spice transistor elements. The DML language
uses a semicolon “;” as a comment character.
Control Statements
The various Espice control statements are described in the following table.
Table G-4 Espice Control Statements
Control Statement
Description
.END
End of main circuit definition or datapoint section.
.ENDS
End of sub-circuit definition.
.INCLUDE
Include definitions from specified file to complete
circuit.
Specify common model parameters that can be applied
.MODEL
to one or more (diode) elements. See “Diodes” on
page 357 for an example.
Creates a parameter. See “PARAM Statement” on
.PARAM
page 391 for an example.
Assign measurements, logic thresholds, reference
.NODE_PARAM
node, node printing and node name for reports. See
“NODE_PARAM Statement” on page 391 for an
example.
.NODE_PARAM_DIFFERENTIAL Set node parameters for differential pairs. See
“NODE_PARM_DIFFERENTIAL Statement” on
page 393 for an example.
January 2002
343
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Table G-4 Espice Control Statements
Control Statement
Description
.PRINT
Print voltage or current at node (Alternate, preferred
mechanism is to set .node_param print option).
Marks named node as being the reference node for
timing measurements. (Alternate, preferred
mechanisms to set .node_param refnode option).
Start of subcircuit definition.
.REF_NODE
.SUBCKT
Espice Syntax Fundamentals
An Espice circuit contains two types of objects that represent the electrical circuit. They are:
■
nodes
■
elements
Elements represent the electrical components. The nodes provide information regarding the
way the electrical components are connected. This is best illustrated using the following
example.
Figure G-1 Simple Circuit
R1
node_1
V1
node_2
C1
* Simple circuit
* 5 Volt DC voltage source with negative terminal grounded
V1 node_1 5 gnd
* 10uF capacitor with one terminal grounded
C1 gnd node_2 10u
January 2002
344
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
* 50 Ohm resistor between the non-grounded terminals on
* the capacitor and voltage source
R 1 node_1 node_2 50
* Mark the end of the main circuit
.end
January 2002
345
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
The full syntax for the simple resistor, capacitor and voltage source will be given in later
chapters. However, it can be seen from this example that one syntax for these two terminal
devices is:
<element identifier (type given by first character)>
<first node name>
<second node name >
<element value>
and where two or more elements have node names that match, the nodes are assumed to be
connected.
Representing complicated electrical circuits as a flat netlist as given in the previous example
can be tedious. For this reason Espice provides a way to partition circuit functionality into
modules known as subcircuits which can then be assembled into the final circuit. Again, this
can be best illustrated by an example.
* The same simple circuit
* 5 Volt DC voltage source with negative terminal grounded
V1 node_1 5 gnd
* An instance of a subcircuit containing the RC elements
Xsub1 gnd node_1 my_rc_subcircuit
* Mark the end of the main circuit
.end
* Define the subcircuit
.subckt my_rc_subcircuit node_a node_b
* 10uF capacitor with one terminal grounded
C1 node_a node_c 10u
* 50 Ohm resistor between the internal terminals on
* the capacitor and the second external port
R 1 node_c nodeb 50
* Mark the end of the subcircuit
.ends
January 2002
346
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
In this case, the subcircuit instance syntax is:
<element identifier (starting with an X)>
<list of nodes connecting subcircuit with main circuit>
<name of subcircuit that this element is an instance of>
In this case, the subcircuit definition syntax is:
.subckt
<name of subcircuit>
< list of nodes connecting subcircuit with main circuit>
The complete syntax for subcircuit instances and definitions will be presented later. However,
it can be seen that nodes in the subcircuit instance are connected to those in the subcircuit
definition by order, rather than by name.
January 2002
347
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
DC Path to Ground
Parameters and Expressions
Espice allows constants to be given names. This is often used to keep actual component
values as a circuit in a single place while keeping circuit descriptions general. Parameters can
be created in a number of ways including the.param statement written in the following
format.
.param name=value
Example
* Simple circuit
.param Rval=50
.param Cval=IOu
V1 grd node_1 5
R1 node_1 node_2 Rval
C1 grd node_2 Cval
.end
Note: The preferred syntax for the.param statement is .param key=value. The “=” is
presently optional. However, for consistency, should be used in all new models.
Expressions can also be used in Espice. They must be enclosed in single forward
quotation marks.
Example
*Simple resistor
.param Rbase=50
.param Rscale=1.25
R1 node_1 node_2 ‘Rbase*Rscale’
Parameters can also be created within subcircuit calls and definitions. This is covered in the
next section.
Note: The circuit cannot contain a loop of voltage sources and/or inductors. Each node must
have a DC path to ground.
January 2002
348
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Subcircuits
Subcircuits are one of the most important constructs in Espice. Subcircuits enable you to
easily reuse portions of circuit. Espice extends the standard Spice subcircuit syntax to include
parameterized subcircuits. There are no limits on the size and complexity of subcircuits.
Subcircuits can be global (that is, beyond the circuit’s.end statement) or they can be locally
nested (hierarchical subcircuits).
Complex circuits can be partitioned and also can contain various levels of hierarchy. Espice
solves this problem by providing a powerful and compact construct called subcircuits. The
following figure illustrates the top level view of a Spice circuit.
Figure G-2 Spice Circuit Diagram
Top Level Main Circuit
Subcircuit partitions
Subcircuit hierarchy
(nested subcircuits)
*main ckt
....
x .....
.end
.subckt a ..
........
.subckt b ..
..
.ends b
.ends a
January 2002
subcircuit call
nested subcircuit
349
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Subcircuit Syntax
General Form
.param
Xyyyyyyy n1 n2 .... nk Subckt_Name param1=val1 param2=val2 ..
.........
.........
.END /* main or subckt definition ends here */
.SUBCKT Subckt_Name n1 n2 ... nk param1=default_val1 param2=default_val2
subckt description
.ENDS Subckt_Name
The keyword X identifies the element as a subckt with arbitrary number of external terminals
n1, n2 ..nk. The structure of the subckt is completely arbitrary and it is treated the same way
as the main circuit.
The parameters are very similar to function arguments in programming languages like C. The
best way to use them is to define them in the calling X statement. If it is not defined then the
parameters will be inherited by the following rule
Rules for determining parameter value:
1. If the parameter is defined in the calling X statement (or in a .param statement) then use
that value.
A simple example:
.subckt top 1 2
x1 node1 nested param1=60
.subckt nested 1
r1 1 0 param1
.ends nested
.ends top
A more complex example:
.subckt top 1 2
.param param1=50
x1 node1 nested param1=60
.subckt nested 1 param1=70
r1 1 0 param1
.ends nested
.ends top
The resistor r1 in both of these examples will be 60 ohms.
January 2002
350
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
2. Else inherit from the first definition of the parameter in the calling sequence
For example:
.subckt top 1 2
.param param1=50
x1 node1 nested
.subckt nested 1 param1=70
r 1 0 param1
.ends nested
.ends top
Here the param1 is defined in subckt top and is used without definition in the nested
subcircuit nested. Therefore, the resistor r1 will have a value of 50 ohms. The parameter
value will be inherited from the parent subcircuit “top”.
3. Else If 1 and 2 fail then the value is the default value defined in the.subckt statement line.
For example:
subckt top 1 2
x1 node1 nested
.subckt nested 1 param1=70
r 1 0 param1
.ends nested
.ends top
The resistor r1 in this example will be 70 ohms.
Parametrization of subcircuits
Tlsim gives you the ability to parameterize subcircuits. This is best illustrated with the
following example of a macromodel. In this subcircuit, the parasitics in the circuit are
parametrized subcircuit.
.subckt macromodel ibis_file=ibis_models.inc ibis_model=default_IO
. . . .
bmydrives 1 2 3 4 5 model= ibis_model file=ibis_file
. . . .
.ends
January 2002
351
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Supported Circuit Elements
The major difference between generic Spice and Espice is that Espice does not yet support
transistor-level devices. However, Espice supports efficient behavioral models, novel
controlled sources and latches, and frequency-dependent, multi-conductor transmission
lines. These additional elements make it possible to perform timing and signal integrity
simulation entirely in the analog domain.
The following are the major classes of devices described in Espice and supported in tlsim.
■
■
Basic elements
❑
Passive elements: resistors, capacitors, inductors and mutual inductors
❑
Single lossless transmission lines
❑
Voltage sources: DC voltage sources, pulsed AC voltage sources, PWL voltage
sources, sinusoidal voltage sources, and exponential voltage sources
❑
Diodes
Controlled source elements:
❑
Voltage controlled current source (VCCS)
❑
Voltage controlled voltage sources (VCVS)
❑
Current controlled voltage source (CCVS)
❑
Current controlled current source (CCCS)
❑
Voltage and current controlled non-linear capacitors and inductors
■
Behavioral active devices defined by IBIS data
■
Frequency-dependent multi-conductor transmission lines
■
Latches: time controlled and voltage controlled latches and hysteresis type latches
■
Linear controlled sources driven by rational transfer functions
■
Controlled sources defined by arbitrary expressions
January 2002
352
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Basic Elements
Basic Spice elements are described in this section.
Passive Elements: Resistor, Capacitor, Inductor, Mutual Inductor
General Forms
Rxxxxxxx
Cxxxxxxx
Lxxxxxxx
Kxxxxxxx
n1 n2
n1 n2
n1 n2
Lxxx1
value <L=value>
value
value
Lxxx2 value
The letters R, C, L are the keywords for resistor, capacitor and inductor, respectively. The
node numbers are n1 and n2. <..> indicates optional parameters
Examples
5 ohm resistance connected between nodes 1 and 2:
RS 1 2 5
5 pico farad capacitance connected between nodes 1 and 2:
C1 1 2 5PF
5 nano henry inductance connected between nodes 1 and 2:
L1 1 2 5NH
0.1 ohm resistance and 3n inductor connected between nodes 1 and 2
R 1 2 0.1 L=3n
Mutual Inductor driven by inductors LA and LB. The coupling coefficient should be 0<=k<=1.
K LA LB 0.8
Single Lossless Transmission Line
General Form
Txxxxxxx n1 n2 n3 n4 Z0=value TD=value
January 2002
353
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
N1 and n2 are the nodes at port 1 and n3 and n4 are the nodes at port 2. In signal applications
n2 and n4 are the reference nodes. They are usually set to 0, the absolute ground. Z0 is the
impedance in ohms. TD is the propagation delay of the transmission line.
Example
T1 2 0 3 0 Z0=50 TD=0.5NS
A 50 ohm, 0.5 nano second delay transmission line connected between 2 and 3 referenced
to ground.
DC Voltage Source
General Form
Vxxxxxxx n1 n2 value
The keyword V identifies in this case a DC voltage source connected between the positive
node n1 and negative node n2.
Example
VDC 5 0 -2
A -2 volt DC source connected between nodes 5 and 0.
Pulsed AC Voltage Source
General Form
Vxxxxxxx n1 n2 PULSE(V1 V2 TD TR TF PW PER)
The keyword PULSE specifies a pulsed AC voltage source with the following parameters:
■
V1 - Initial Value
■
V2 - Final Value
■
TD - Delay Time to Pulse Start
■
TR - Rise Time
■
TF - Fall Time
■
PW - Pulse Width
January 2002
354
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
PER - Period
■
Example
VIN 4 0 PULSE(0 3.5 0 1.7NS 1NS 10NS 30NS)
A 3.33 Mhz 3.5 volt pulsed source connected between positive terminal 4 and negative
terminal 0, with a rise time of 1.7ns and a fall time of 1ns. See the following figure.
Figure G-3 Pulsed AC Voltage Source
0
1.7n
1n
10 n
30
0
PWL Voltage Source
General Form
Vxxx n1 n2 PWL (T1 V1 <T2 V2 T3 V3......>)
Examples
vclk 7 5 PWL (0 -7 10n -7 11n -3 17n -3 18n -7 50n -7)
Vperiodic 7 5 PWL (0 -7 10n -7 11n -3 17n -3 18n -7 50n -7 ..)
The second statement shows that by adding two periods (..) at the end, the PWL statement
is made periodic. See the following figure. Also see “Controlled Source Elements” on
page 358 for a discussion of PWL (Piecewise Linear Tables).
Figure G-4 PWL Voltage Source
0
10 11
50
17 18
0V
January 2002
355
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Sinusoidal Voltage Source
General Form
Vin n1 n2 SIN(VO VA FREQ TD THETA)
Example
VSIG 10 5 SIN (0 .01V 100KHz 1mS 1E4 45)
■
VO (offset) Volts
■
VA (amplitude) Volts
■
FREQ (frequency) Hertz
■
TD (delay) seconds
■
THETA (damping factor) 1/seconds
The shape of the wave form is given by:
0 to Td VO
TD to TSTOP VO +
VA exp (-(t-Td)THETA) sin(2πFREQ(t + TD))
Exponential
General Form
VIN n1 n2 EXP (V1 V2 TD1 TAU1 TD2 TAU2)
Example
VRAMP 10 5 EXP (0V .2V 2uS 20us 40uS 20uS)
■
V1 (initial value) Volts
■
V2 (pulsed value) volts
■
TD1 (rise delay time) default=0 seconds
■
TAU1 (rise time constant) seconds
■
TD2 (fall delay time) seconds
January 2002
356
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
■
TAU2 (fall time constant) seconds
The shape of the waveform is given by:
0 to TD1 V1
TD1 to TD2 V1 + (V2 - V1)(1 - exp(-(t -TD1)/TAU1)
TD2 to TSTOP V1 + (V2 - V1)(1 - exp(-(t -TD1)/TAU1)
+ (V1 - V2)(1 - exp(-(t -TD2)/TAU2)
Diodes
The statement starting with the keyword D locates the diode in the circuit and identifies which
diode model is used.
General Form
Dxxxxxxx n1 n2 Model_Name
......
......
.MODEL Model_Name Dyyyyyyy IS=value
Specifying a diode requires two statements. At the end of the circuit description a model
control description is entered. This starts with the keyword MODEL and identifies a diode
model as indicated by the key letter D. IS is the saturation current parameter of the diode
which is definable.
Examples
D6 3 4 CUTOFF_0.7V
....
....
.MODEL CUTOFF_0.7V D IS=1e-14
A diode connected between positive node 3 and negative node 4 with a saturation current of
1e-14amperes.
January 2002
357
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Controlled Source Elements
Controlled source elements are fundamental to flexible and advanced multi-stage buffer
models, or macromodels. A skillful modeler can develop macromodels to accurately
represent devices containing hundreds or thousands of transistors. The key advantage of
macromodels is their computational efficiency which is an order of magnitude higher than that
of transistor-level models.
Espice has three major classes of controlled sources. Using these practically any engineering
system can be modeled. The three classes are:
■
Expression Driven Controlled sources
■
Controlled sources based on Expression Piecewise Linear Tables (PWL)
■
Based on Rational function with real coefficients
These will be described in the following sections.
Expression Driven Controlled Sources
Tlsim allows expression driven controlled sources for added flexibility. The expressions can
include arbitrary terminal voltages, element currents, symbolic parameters (which can be
passed through subcircuits). In additions expressions can be composed of differentials of any
order with respect of time. Expression can also contain special variables like TIME,
PrevTime, TimeStep.
Expressions can also include IF ELSEIF ELSE conditional statements, making them suitable
for implementation of complex equations.
General Form
Gxxx pos neg i=’<expression>’
Gxxx pos neg v=’<expression>’
In this case the key word can be G,E,H or F. The type of source is actually determined
by the key letters i or v in i=’<expression>’
The <expression> has to be contained within single quotes ‘’.
Let us examine a simple harmonic oscillator.
January 2002
358
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Harmonic oscillator - the expression implementation
In the expression format we can directly describe the second differential equation
e 2 0 v=’v(1) - L * C * ddt_2(v(2)) - R * C * ddt_1 (v(2))’
v(i,j) is the voltage difference between nodes i and j (not used in this example)
ddt_i (<expr>) is the ith differential of expression <expr>.
Following are a list of allowed syntactical elements in expressions.
Operators
Both arithmetic and logic operators are supported. They are in the convention of programing
languages C or C++.
Table G-5 Arithmetic Operators
Operator
Function
+
Sum
-
Difference
/
Divide
*
Multiply
^
Exponent
%
Percent
Table G-6 Logical Operators
Operator
Function
&
And
=
Equal
!=
Not equal
|
Or
>
Greater than
<
Less than
January 2002
359
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Table G-6 Logical Operators
Operator
Function
>=
Greater than or equal
<=
Less than or equal
Special functions
In general, the syntax for differentials and special function Prev is:
ddt_i ((<expr>) (ddtval_i ddtval_i-1.ddtval_1))
Prev_i ((<expr>)(prevval_i, prevval_i-1,..prevval_1))
The special function ddt_i and Prev_i can take either two or one argument in parenthesis.
ddt_i returns the ith derivative of the expression which should be the first argument. Prev_i
returns ith prev value of the expression. The second argument is optional and specifies the
initial values.
Special variables
The variable TIME returns the current time. The variable PrevTime returns the previous time.
TimeStep is a shortform for (Time - PrevTime).
The following example:
e pos neg v=’sin (2 * PI * Frequency * TIME)’
produces sinusoidal source.
Functions
Expressions can contain any of the following functions:
abs
acos
acosh
asin
January 2002
asinh
atan
atanh
cos
cosh
exp
ln
log
sin
sinh
sqrt
tan
360
tanh
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Conditional Expressions
The general format is:
IF (<expr1>) (<expr2>) ELSEIF (<expr3>) (<expr4>) ELSE (<expr5>)
If expr1 evaluates to greater or equal to 1, then expr2 is evaluated and so on. Expr1 and expr3
are logic expressions and C-like logic statements (i.e. IF, ELSE, ELSEIF) are allowed.
Examples
Following are few examples that give a flavor of expressions. While expressions can be used
for general circuit problems their generalized implementation makes it suitable for solving
variety of engineering and mathematical problems. Novel applications like solution of non
linear equations are entirely feasible.
Charge Storage Effects in IBIS behavior models.
IBIS 3.0 proposes to include a charge storage transit time parameter. This can be easily
retrofitted to even existing IBIS models using a macromodel subcircuit. A generic
implementation is shown. The transit time parameters are TT_pwr and TT_gnd.
* This is general subcircuit for bhvr model which implements charge storage
* effect defined by transit time parameters TT_pwr and TT_gnd
.subckt chargestoragebuff 1 2 3 4 5 6 7 ibis_file=ibis_models.inc
BUFF=myibisbuff TT_pwr=0 TT_gnd=0
* introduce current probes at the pwrclamp and gndclamp terminals
vpwrcl 60 6 0
vgndcl 7 70 0
* now attach the bhvr drvr - notice it is attched to nodes 60 and 70
bdrvr 1 2 3 4 5 60 70 Model=BUFF File=ibis_file
* now introduce charge storage cpacitor effect
gpwrcl 2 6 i='TT_pwr * ddt(vpwrcl)'
ggndcl 7 2 i='TT_gnd * ddt(vgndcl)'
.ends chargestoragebuff
January 2002
361
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Implementation of diode with expression
The following example is a relatively complex subcircuit which implements a diode containing
charge storage effects using expressions and parameters.
.subckt diode pos neg IS=1e-14 RS=1e-4 TT=0 VJ=1 M=0.5 FC=0.5 CJ0=0
rs pos pos2 RS
vp pos2 pos3 0
gd pos3 neg i='IS * (exp (1.6e-19 * v(pos3,neg)/(1.38e-23 * 298)) - 1)'
modifynewton=diodenewton
*gq pos2 neg i='if(TT != 0) (TT * ddt(i(vp))) else (0)' forcecktpartition
gq pos2 neg i='TT * ddt(i(vp))' forcecktpartition
* current due to diffusion charge
vf1 f1 0 '((VJ/(1-M))*(1-(1-FC)^(1-M)))'
vf2 f2 0 '(1-FC)^(1+M)'
vf3 f3 0 '1 - FC*(1+M)'
vfcj fcj 0 'FC * VJ'
gcd pos2 neg i='if (CJ0 <= 0) (0) elseif (v(pos3,neg) < v(fcj))
+ (CJ0 * ((1-(v(pos3,neg)/VJ))^(0-M)) * ddt(v(pos3,neg))) else
+ ((CJ0/v(f2)) * (v(f3) + ((M*v(pos3,neg))/VJ)) *ddt(v(pos3,neg)))'
.ends diode
Notice the example includes the usage of IF ELSEIF conditional expressions. Also notice the
additional keywords modifynewton=diodenewton. This instructs the simulator to use special
newton algorithm diodenewton. Only this algorithm is available in this version. More
specialized algorithms may be available in the future.
Similarly, when the current variable i(v) is used the simulator turns on the circuit partitioning
algorithm. Since in the diode case, it is known that the controlling current is in the same circuit
partition, the special instruction forcecktpartition is invoked to force circuit partitioning which
is more efficient.
January 2002
362
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Simple NMOS Transistor
* simple long channel mos device
* from Digital integrated circuits by Jan M. RabAey prentice hall 1996
.subckt mos_1 dr ga sr bu VT0=0.743 PHI=0.6 LAMDA=0.06 KP=2e-5 W=1u L=1u
GAMMA=0
eVT tvt 0 v='if (GAMMA <= 0) (VT0) else (VT0 + GAMMA * (sqrt (abs(v(sr,bu)PHI)) - sqrt(PHI)))'
gds dr sr i='if(v(ga,sr) < v(tvt)) (0) elseif(v(dr,sr) > (v(ga,sr) - v(tvt)))
((KP * W/(2 * L)) * ((v(ga,sr) - v(tvt)) ^ 2) * (1+LAMDA*v(dr,sr))) else ((KP
* W/L) *(((v(ga,sr) - v(tvt)) * v(dr,sr)) - ((v(dr,sr) ^ 2)/2)))'
modifynewton=diodenewton
.ends mos_1
Numerical Integrator
.subckt integ3 in out starttime=0 endtime=0e out 0
+v=’if (time <= starttime) (0)
+elseif ((endtime > 0) && (time > endtime)) (v(out))
+else (prev(v(out)) + (((prev(v(in)) + v(in))/2.0) * timestep))’.
ends integ3
January 2002
363
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Table Driven Controlled Sources
An important class of controlled sources implemented in Espice are based on Piecewise
Linear Tables (PWL), they can capture arbitrary non-linearities.
The type of PWL data is captured in DATAPOINTS statements. The datapoints statement is
flexible and allows for different types of data points including v-i (voltage-current), general vv (voltage-voltage, current-voltage, and current-current), voltage-coefficient, and voltageimpedance tables.
General Form
VCCS (voltage controlled current source):
Gxxxx pos neg PWL[SUM] node1 node2 ..
VCVS (voltage controlled voltage source):
Exxxx pos neg PWL[SUM] node1 node2 ..
CCVS (current controlled voltage source):
Fxxxx pos neg PWL[SUM] V1 V2..
CCCS (current controlled current source):
Hxxxx pos neg PWL[SUM] V1 V2 ..
Note: When PWLSUM is used instead of PWL, the multiplication in the above equations is
replaced by summation.
The keywords G,E,F,H identify VCCS, VCVS, CCCS and CCVS respectively. These sources
are connected between positive terminal (pos) and negative terminal (neg). The keyword
PWL identifies that the source is piecewise linear.
For the voltage controlled sources (VCCS and VCVS, keywords G and E respectively), the
node pairs following the PWL keyword are the controlling voltages.
For the current controlled sources, (CCVS and CCCS, keywords F and H respectively), the
voltage sources V1 and V2 provide the controlling currents. For the PWL keyword the value
of the voltage or current is given by:
I/V = f1(V(c1-c2)) * f2(V(c3-c4)) * . . for G and E elements
or
I/V = f1 (I(V1)) * f2 (I(V2)) *
January 2002
. . for F and H elements
364
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Non-linear Capacitors
General Form
Gxxxx pos neg PWLSUM c1 c2 ..capacitor=1
Fxxxx pos neg PWL V1 V2..capacitor=1
The elements G and F can also be used to model non-linear capacitors. When used in this
way, the PWL table describes the capacitance value. The redirection to capacitor modeling is
effected by adding parameter capacitor=1 in the primary statement.
Non-linear Inductors
General Form
Exxxx pos neg PWL c1 c2 ... inductor=1
Hxxxx pos neg PWL V1 V2 ..inductor=1
The elements E and H can be used to model non-linear inductors. The redirection to inductor
modeling is effected by adding parameter inductor=1in the primary statement.
January 2002
365
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Datapoints Statements
The functions f1, f2 and so on are described by tables of PWL data called DataPoints.
General Form
DATAPOINTS datapoints_type param1=val1 param2=val2 ..
.....
END [DATAPOINTS datapoints_type]
Note: The number of datapoints must be equal to the number of controlling voltages or
currents.
The datapoints_type can be:
■
IMPED - for impedance data
■
COND - admittance = 1.0/IMPED
■
VI - Voltage-current data
■
COEFF - coefficient table
■
VV - General voltage-voltage, current-voltage, current-current tables
■
TIMECOEFF - New dynamic time dependent coefficients which can be specified for
rising and falling states. The rise and fall states are determined by voltage threshold
parameters vlohi and vhilo.
Note: This new coeff should be used for latches and should supersede the following old
style (obsolete) latches.
■
COEFF_ON(OFF)_LATCH - voltage controlled latch
■
COEFF_ON(OFF)_LATCH_TIMECONTROLLED - time controlled latch
■
COEFF_HYSTLATCH - Latch with hysterisis
Non-embedded Datapoints
When the number of datapoints is very large, it may be convenient to keep them in a separate
file rather than in the main circuit description. Versions 13.0 and later allow such redirection
of datapoints.
e 5 0 pwl 1 0 2 0
datapoints vv VV file=dtapts.inc
datapoints coeff Cf file=dtapts.inc
January 2002
366
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
The VCVS uses datapoints in file dtapts.inc where they stored by name VV and Cf
datapoints vv VV
....
end vv
datapoints coeff Cf
..
..
end Cf
Examples of Controlled Source Elements
One Dimensional Voltage Controlled Impedance
GVI1 1 2 PWL 1 2
DATAPOINTS IMPED
-0.5 36
0 36
1.5 36
2.0 60
END DATAPOINTS IMPED
Figure G-5 One Dimensional Voltage Controlled Impedance
1
R
60
36
2
V
-0.5
1.5
2.0
The variable source is controlled by the voltage across it’s terminals. The v-z behavior of the
source is specified by the datapoints statement.
GVI 1 2 PWL 1 2
DATAPOINTS VI
-5 142ma
0 -132ma
2.5 -110ma
5 0
January 2002
367
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
6 64ma
8 118ma
END DATAPOINTS VI
Two Dimensional Voltage Controlled Impedance
GVI1 1 2 PWL 1 2 4 0
DATAPOINTS IMPED
-0.5 36
0 36
1.5 36
2.0 60
END IMPED
DATAPOINTS COEFF
1 0
1.25 0.3
5 1.0
END COEFF
Latches
Tlsim supports new timecontrolled coefficient which can be used to construct any kind of
dynamic latches. These are the preferred way to implement latches and other dynamic
effects.
Timecoeff
DATAPOINTS timecoeff vlohi=0.5 vhilo=3
rising
0 1
2n 2
falling
0 2
4n 1
end timecoeff
Timecoeff is the key word. Vlohi and Vhilo are parameters and at least one of them should be
present. The controlling voltage crossing vhilo with a positive slope will mark the beginning of
the rising edge and voltage crossing vlohi with a negative slope will mark the beginning of the
falling edge.Glitches (for example, crossing of vlohi followed by yet another crossing of vlohi)
will cause the time to be reset. The following figure shows the timecoeff (node 2) controlled
by input voltage (at node 1) assuming the previous example.
January 2002
368
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Figure G-6 Timecoeff
1
2ns
4R
2
Threshold Controlled Source
The threshold modifiers vlohi and vhilo also can be used in standard datapoints statements.
This allows you to model various types of hysterisis effects. The controlled source has two
sets of tables one for rising and another for falling.
Example 1
datapoints coeff vlohi=0.5 vhilo=0.5
rising
0 0
0.5 0
1 1
falling
1 1
0.5 0.5
0 0
end coeff
January 2002
369
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Example 2
* voltage controlled voltager source
* exhibiting hysterisis
vcntrl cntrl 0 pulse (0 1 0 2n 2n 3n 10n)
e 2 0 pwl cntrl 0
datapoints vv vlohi=0.2 vhilo=0.8
rising
0 -1
0.5 0
1 3
falling
1 2
0.5 -1
0 -1
end vv
Other Types of Latches
Latches are older style of datapoints and are superseded by the more general threshold
controlled sources. These are documented for backward compatibility. In a voltage (current)
controlled latch, the latch turn on (off) points are controlled by both the instantaneous value
and the slope. The shape of the latch is further controlled by additional parameters.
DATAPOINTS COEFF_ON(OFF)_LATCH <SWITCHONTIME=val> <SWITCHOFFTIME=val2>
<TRANSITIONINDEPENDENTLATCH=1 or 0> <DURATION=val3>
[Falling OR Rising]
* The first column specifies the controlling value at which the latch comes on.
The second on specifies the width of the on time
col1 col2
END COEFF_ON_LATCH
e_latch 1 2 pwl 3 4
DATAPOINTS COEFF_ON_LATCH SWITHCONTIME=0.1n SWITCHOFFTIME=0.2n
* This latch comes on only during falling transition
falling
* The first column specifies the controlling value at which the latch comes on.
The second on specifies the width of the on time
0.7 1n
end coeff_on_latch
This datapoint statement describes a latch which comes on when the controlling voltage
drops below 0.7 volt and which has a width of 1 nanoseconds. SWITCHONTIME,
SWITCHOFFTIME, and DURATION are optional parameters.
January 2002
370
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
If duration is specified, then the time value in the second column of the data is ignored. If the
flag TRANSITIONINDEPENDENTLATCH is set, then once the latch comes on it does not
turn off when the slope changes to its opposite value.
Time Controlled Latch
The time controlled latch is a special class of latch which turns on or off during falling and
rising transitions. A time controlled latch is sensitive only to the digital slope (that is rising or
falling) of the controlling voltage. For example:
datapoints coeff_on_latch_timecontrolled
rising
0 5n
end coeff_on_latch_timecontrolled
Both the values after the rising statement specify time. The relative time is reset to zero once
the controlling voltage starts falling.
Hysteresis Latch
The hysteresis latch is a VCVS (a voltage controlled voltage source). See “<Hot>General
Form‚” on page -364 for more information. The hysteresis latch comes on when the
controlling voltage crosses 0.2 volts and is rising. The VCVS reaches its maximum value of
1Volt after 2ns. It starts falling when the controlling voltage goes below 0.8 volt during the
falling transition and eventually reaches its minimum voltage of 0 after 0.5ns.
Ehyst 2 0 PWL 1 0
DATAPOINTS COEFF_HYSTLATCH RISETIME=2n FALLTIME=0.5n RISEVAL=1.0 FALLVAL=0.0
0.2 0.8
END DATAPOINTS COEFF_HYSTLATCH
Simple voltage controlled hysteresis is specified by the simple flag parameter. The datapoints
have both rising and falling sections. When the control value reaches the maximum in the
rising section, the controlling curve becomes a falling curve and vice versa.
Analog Hysterisis
During the rising section the transition from 0 to 2V is triggered at 0 volts while during falling
the transition is triggered at -0.5v.
ESS 2 0 PWL 3 0
DATAPOINTS VV HYSTERISIS=1
Rising
-2 0
January 2002
371
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
-1 0
0 0
0.499 2
0.5 2
Falling
2 2
0 2
-0.499 0
-2 0.5 0
END DATAPOINTS VV
* controlling voltage
vd 3 0 pwl(0 1 50n 1 60n 1m 80n 1m 90n 1 100n 1 120n -1 140n -1 150n -0.4 160n
-1 180n 0 200n -0.4 230n 1)
Figure G-7 Analog Hysterisis
January 2002
372
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Rational Function Controlled Source
Solutions of many important linear circuit problems like filters can be easily represented in
frequency domain. In general circuit variables like voltage and/or current can be represented
as:
I(s) = [H(s)]V(s)
where I is a vector of currents V is a vector of voltages and H is the transfer function matrix
and in this particular case where it relates voltages to current is called the Y parameter. In
general each element of the matrix H(s) can be represented as a rational function.
Σ
H(s) =
ai si
/Σ bi
si
where ai and bi are real coefficients. The rational function form is the algebraic or Laplace
representation of ordinary time domain differential equation meaning that in this form it can
be directly integrated in the time domain simulator.
General Form
Gxxxx
Exxxx
Hxxxx
Fxxxx
pos
pos
pos
pos
neg
neg
neg
neg
RATIONAL
RATIONAL
RATIONAL
RATIONAL
c1
c1
v1
v1
c2
c2
v2
v2
c3 c4 ..
c3 c4 ..
..
..
The syntax is very similar to PWLSUM with the keyword RATIONAL replacing PWLSUM. The
controlled value is a sum. For example let us take the kth element of the current vector in our
general equation.
Ik = Hk1 V1 + Hk2 V2 + .........
where Hki is the transfer function in the kth row and ith column of the H matrix and [V1 V2...]
is the voltage vector. Ik can be directly implemented with a G element. Just like the pwl/
pwlsum each controlling quantity must have a datapoints statement.
DATAPOINTS RATIONAL
NUMERATOR
a0 a1 a2 ..
DENOMINATOR
b0 b1 b2 ...
END DATAPOINTS RATIONAL
RATIONAL,NUMERATOR and DENOMINATOR are key words.
January 2002
373
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Harmonic Oscillator
Let us take the example of a second order harmonic oscillator. The oscillator contains resistor
R, inductor L and capacitor C connected in series. The transfer function between input
voltage and the output voltage at the capacitor is described by a second order differential
equation and its corresponding Laplace algebraic form
Figure G-8 Harmonic Oscillator
Vc(s)/Vo(s) = 1/(1 + sRC + s2LC)
R
1
Vo
L
R
2
C
Vo(s)
sL
1/sC
The implementation of the oscillator is:
e2 2 0 rational 1 0
datapoints rational
numerator
1
denominator
1 ‘R*C’ ‘L*C’
end datapoints rational
Notice that datapoints rational can accept parameters like R,L and C.
Y parameters
The rational controlled source is especially convenient for implementing Y parameters. With
general circuit order reduction techniques such as AWE, Complex Frequency Hopping (CFH)
and others large linear networks like power and ground structures can be reduced to Y
parameters where each element is represented by well behaved rational functions. Once
such an Y -parameter is available it is now straight forward to implement it in tlsim.
January 2002
374
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
IBIS Behavioral Model Elements
IBIS is an industry standard and captures essential performance data of buffers. Devices
containing hundreds of transistors can be accurately characterized in a few tables of data.
The data tables are:
■
Four DC v-i tables, one each for pulldown, pullup, power clamp and ground clamp.
■
v-t tables to capture transient behavior.
The basic behavioral model has 7 external terminals. (A more advanced 11 terminal model
can be used in conjunction with macromodels). This black box behavioral model is internally
implemented using the controlled sources. The following figure shows a schematic of the 7
terminal model
Figure G-9 The 7 Terminal IBIS Behavioral Model
Device
powerclamp putllup
Bdrvr
input
enable
output
V
V
pulldown
groundclamp
The pullup and pulldown sources are switched and turn on or off depending on the control
voltages at the input and enable terminals. The powerclamp and ground clamp are always
on. The switching from pullup to pulldown (or vice versa) is implemented by a switching
function. In the absence of voltage-time data, the shape of this function is fixed. Otherwise
the function is derived from the voltage-time data.
Behavioral Model Syntax
This section describes the operation of 7-terminal behavioral driver(receiver) models. You
can follow these model statements with data which describes the switching behavior: DC v-i
January 2002
375
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
data, rise/fall time data, logic low and high reference voltages, logic lo and hi state thresholds
(the crossing of these thresholds will be tracked by the simulator) and v-t data. Rather than
embed this much data in the main circuit file, it is recommended that you store the model data
in a separate file and that you specify the file name directly in the Bdrvr statement. (Note: This
differs from standard Spice practice where you insert the parameters for a model in a
separate Model statement)
Finally, please note the following:
■
The v-i tables are not required. If there are no v-i tables present, the device is a simple
capacitor or an open circuit.
■
Any number of v-t tables can be present. The recommended practice is to generate v-t
curves for resistive fixtures only (no reactive elements).
■
The number of datapoints is unrestricted. This is unlike IBIS which limits you to 100
datapoints per table.
General Form
BDRVR (terminals) Model=model_name
File=file_name
Note that when SPECCTRAQuest generates file_name from library data, the file is called
ibis_models.inc. Run any simulation, swing circuit files and you can see an example of
the file’s format and structure.
Note that the following format is permissible but not recommended.
BDRVR (terminals) Model=model_name
.....
.....
.....
.MODEL model_name BDRVR File=file_name
Both the driver and receiver models start with the keyword Bdrvr. Receivers can be modeled
with enable off which simply disables the pullup and pulldown sources.
BDRVRxxxxxxxx n1 n2 n3 n4 n5 n6 n7 [Model=Model_Name File=data_file]
* n1 - Vcc terminal
* n2 - device output
* n3 - Vgnd terminal
* n4 - device input
* n5 - device enable
* n6 - power clamp reference
* n7 - Ground clamp reference
January 2002
376
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Figure G-10 The 7 Terminal BDRVR Element Nodes
n1
n6
n4
n2
n5
cn
n7
n3
Optionally, you can store the behavioral driver data under the Model_Name in a data-file:
* start the driver data
DATAPOINTS BDRVR MODEL_NAME
* the device statement has to be followed by data section
* Required version number MODEL_VERSION=2.0
* Required Ac parameters
DATAPOINTS AC_PARAM
VHI_REF=value
VLO_REF=value
RISE_TIME=value
FALL_TIME=value
ENABLE_ON_VOLT=value
ENABLE_OFF_VOLT=value
DVGATEOPEN=value
DVGATECLOSE=value
* optional threshold switching parameters
VIN_LO_THREHHOLD=value
VIN_HI_THRESHHOLD=value
END AC_PARAM
* Logic parameters (optional)
DATAPOINTS LOGIC_PARAM
VHI_MIN=value
VHI_MAX=value
VLO_MIN=value
VLO_MAX=value
END LOGIC_PARAM
January 2002
377
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
* Optional data which specifies the references voltages for the DC v-i curves
PullUpReference=5.0
PullDownReference=0.0
PowerClampReference=5.0
GroundClampReference=0.0
* Required pull up data
* the syntax is
*DATAPOINTS data_points_type ibis-data-keyword
DATAPOINTS VI PULL_UP
-10
-0.142
-2
-0.098
-0.5 -0.038
0
0
1
0.064
5
0.137
...
END VI PULL_UP
*optional power clamp data
DATAPOINTS VI POWER_CLAMP
...
...
END VI POWER_CLAMP
*optional pull_up switching function
DATAPOINTS COEFF PULL_UP
*optional rising statement
RISING
...
...
*optional falling statement
FALLING
...
...
END COEFF PULL_UP
* Required pull down data
DATAPOINTS VI PULL_DOWN
-1
-0.07
0
0
0.5
0.07
1
0.127
...
END VI PULL_DOWN
January 2002
378
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
*optional ground clamp data
DATAPOINTS VI GROUND_CLAMP
...
...
END VI GROUND_CLAMP
*optional pull_down switching function DATAPOINTS COEFF PULL_DOWN
...
...
END COEFF PULL_DOWN
* optional parasitics data
DATAPOINTS PARASITICS
* component parasitics
C_COMP=value
END PARASITICS
* ibis 2.0 v-t specifications.
* IBIS 2.0 version allows the insertion of non-linear ramp data .
* These data can be included as
* a set of t-v curves generated in a test fixture. The generation
* of tv data is done for fixed set of parameters for the
* Device Under Test (DUT) and the test fixture. These parameters are
* Rdut, Ldut and Cdut for the DUT and R_fixture L_fixture, C_fixture
* and V_fixture for the fixture. The parameters R_fixture and V_fixture
* are required while the others are optional.
DATAPOINTS RISINGWAVEFORM R_fixture=60 V_fixture=3.3
0.0ns 0.608
2.5ns 0.607
...
...
6.5ns 3.3
END RISINGWAVEFORM
DATAPOINTS RISINGWAVEFORM R_fixture=100 V_fixture=3.3
...
...
END RISINGWAVEFORM
DATAPOINTS FALLINWAVEFORM R_fixture=60 V_fixture=3.3
...
...
END FALLINGWAVEFORM
January 2002
379
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Adding Terminators
You can add shunt terminators as described in IBIS 2.1
datapoints bdrvr mybuffer
..
Rpower=100000
Rgnd=100000
Rac=1000000
Cac=2
...
For a complete description refer to the IBIS specification.
Following is an example of a bdrvr model expressed in Espice. When using
SPECCTRAQuest version 14.0 or later, you can use this model in SigXplorer as an Ntermianl black box model or directly with an independant voltage source (contained in another
Espice black box).
Example
"e:\more_es_bdrvrs\es_bdrivers.dml"
(LibraryVersion 136.2 )
(PackagedDevice
(JB_ES_FAST
(ESpice ".subckt JB_ES_FAST 1 2 3 4 5 6 7
.node_param 1 print
.node_param 2 print
.node_param 3 print
.node_param 4 print
.node_param 5 print
.node_param 6 print
.node_param 7 print
*****************************************************
* driver
bdrvr2 101 102 103 104 105 106 107 Model=JB_IO_Fast thresholdswitch=1 vlohi=2.8
vhilo=2.0
.model JB_IO_Fast bdrvr
DATAPOINTS BDRVR JB_IO_Fast
MODEL_VERSION=2.0
January 2002
380
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
PullUpReference=5
PullDownReference=0
PowerClampReference=5
GroundClampReference=0
DATAPOINTS AC_PARAM
dVGateOpen=1
dVGateClose=0
ENABLE_ON_VOLT=1
ENABLE_OFF_VOLT=0
RISE_TIME=8e-10
FALL_TIME=8e-10
dVdtr=6.25e+09
dVdtf=6.25e+09
END AC_PARAM
DATAPOINTS LOGIC_PARAM
VHI_MIN=3.1
VLO_MAX=2.1
OUTPUT_VHI_MIN=4.5
OUTPUT_VLO_MAX=0.1
END LOGIC_PARAM
DATAPOINTS VI POWER_CLAMP
0 0
0.1 0
0.4 0.0001
0.5 0.0006
0.6 0.0012
0.7 0.0024
0.8 0.006
0.9 0.013
1 0.025
5 0.293
END VI POWER_CLAMP
DATAPOINTS VI ground_clamp
0 0
-0.1 0
-0.4 -0.0001
-0.5 -0.0005
January 2002
381
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
-0.6 -0.0012
-0.7 -0.0024
-0.8 -0.006
-0.9 -0.013
-1 -0.025
-5 -0.293
END VI ground_clamp
DATAPOINTS VI PULL_UP
-10 -0.147
-5 -0.142
-4.5 -0.138
-4 -0.133
-3.5 -0.128
-3 -0.123
-2.5 -0.115
-2 -0.103
-1.5 -0.088
-1 -0.069
-0.5 -0.043
0 0
1 0.069
2 0.103
3 0.123
4 0.131
5 0.142
END VI PULL_UP
DATAPOINTS VI pull_down
-5 -0.225
-4 -0.217
-3 -0.212
-2 -0.193
-1 -0.075
0 0
0.5 0.075
1 0.132
1.5 0.169
2 0.193
2.5 0.208
3 0.212
January 2002
382
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
3.5 0.215
4 0.217
4.5 0.219
5 0.22
10 0.225
END VI pull_down
DATAPOINTS PARASITICS
C_COMP=3e-12
END PARASITICS
END BDRVR JB_IO_Fast
Rpu 101 1 0.001
Rpkg 102 2 0.001
Rpd 103 3 0.001
Rin 104 4 0.001
Ren 105 5 0.001
Rpc 106 6 0.001
Rgc 107 7 0.001
*****************************************************
.ends JB_ES_FAST
" ) ) ) )
January 2002
383
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Charge Storage Parameters
The IBIS 3.0 charge storage parameters can be included. For example:
TTpower=1n
TTgnd=1
Refer to the IBIS 3.0 for a description of these parameters.
Advanced Behavior models: 11 terminal model
You can specify 11 terminals for behavior bdrvs models. The voltages at the extra 4 terminals
(with reference to absolute ground) directly multiply the pullup, pulldown, power clamp and
ground clamp vi tables respectively making it possible to dynamically control and scale these
current sources.
For example - boost pullup by 20 % and pulldown by 30 %
Bdrvr 1 2 3 4 5 6 7 8 9 10 11 Model=buff File=ibis_file
v_pullupx 8 0 1.2
v_pulldownx 9 0 1.3
v_powerclamp 10 0 1
v_groundclamp 11 0 1
Behavior Models: Modifying Switching Function
One of the important aspect of a behavior model is its switching behavior. i.e how it switches
from pullup to pulldown and vice versa. The basic model with no v-t curves given the default
switching is implemented as VCCS with the input voltage value controlling the switching
function. During switching, the coefficient monotonically increases from 0 to1 during the
duration of rise time for the pullup and vice versa for the pulldown. By default the input voltage
zero means the pullup is completely shutoff and 1 means the pull down is completely shut off.
In the presence of vt curves the switching function is timecoeff based rather than being
dependent on input voltage value. By default the start of rising is denoted by positive slope at
voltage 0 and negative slope at input voltage 1. A drawback of this approach is numerical
instability and false switching that can arise if the input node voltage is not a simple source or
floating as during simultaneous switching. A robust way to solve this problem is to make
switching a truly a threshold driven timecoeff by forcing the bdrvr switching to be based on
input voltage thresholds vlohi and vhilo which are defined in the IBIS data. Note that in this
case the input voltage has to swing from vgnd to Vcc or the full logic swing rather than 0 to 1
as in the default case. The modification to threshold switching is enabled by specifying
threholdswitch parameter in bdrvr statement.
January 2002
384
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
bdrvr 1 2 3 4 5 6 7 Model=buff file=ibis_file
thresholdswitch=1
It is also possible to modify/change the threshold parameters vlohi and vhilo on an instant by
instant basis in conjunction with the thresholdswitch parameter.
bdrvr 1 2 3 4 5 6 7 Model=buff file=ibis_file
thresholdswitch=1 vlohi=0.5 vhilo=0.5
The internal C_comp also can be scaled with the switch C_compX
bdrvr 1 2 3 4 5 6 7 Model=buff file=ibis_file
C_compX=0
Behavior Models: Prescaling VI and TV curves
We have already seen how the VI curves can be dynamically scaled. This is important in
applications like simultaneous switching where VI degradation takes place. But in other
applications like buffer design you may need a convenient way to prescale an existing buffer.
The VI and Tv curves in Bdrvrs can be scaled on an instance basis.
bdrvr 1 2 3 4 5 6 7 Model=buff file=ibis_file VIScale_pullup=1.2
TVScale_rise1=0.8
The prefix VIScale should be followed with an underscore. The 4 VI curve scaling keywords
are:
VIScale_pullup, VIScale_pulldown,
VIScale_powerclamp, VIScale_groundclamp
Note that the scaling is for the current.
TVScale scales or stretches the time in tv. Unlike the vi curves you can have any number of
tv curves and they can be individually scaled. The curves are identified by a name. For
example, the modifier:
TVScale_rise1=0.8
slows the time in the tv by a factor of 0.8 curve identified as rise1.
The rise1 label should be in the bdrvr model data in the form of:
DATAPOINTS TV rise1 v_fixture=1.5 r-fixture=50
..
END TV
January 2002
385
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
VI and TV prescaling at the model level
Modifying the Bdrvr statement affects the Vi and Tv curves of the model buffer only for that
particular instance. The original model is unaltered. if scaling is required on a more global
model level, a scaling section can be introduce the Datapoints Bdrvr buff model statement.
DATAPOINTS BDRVR buff
..
datapoints vi_scalingfactors
pullup=0.5
pulldown=0.5
end vi_scalingfactors
datapoints tv_scalingfactors
rise_1=0.5
rise_2=0.5
fall_1=0.2
fall_2=0.2
end tv_scalingfactors
..
end bdrvr buff
VT curves and Switching: a discussion
It is commonly assumed that merely by placing v-t curves switching can be completely
specified and more accurate. However this is not true i.e. the switching coefficient does not
uniquely fall out of vt curves. To derive switching coefficient a priori assumptions about
switching have to be made. Many different switching coefficients can exactly reproduce
switching behavior at the specified test fixture load. By default the switching coefficient
computed by the bdrvr models satisfy the following:
1. For devices with either only pullup or pulldown, the switching coefficient is a function of
time and voltage. In case of only one vt data /rise and fall this will reduce to a function of
time alone.
2. In models with both pullup and pulldown the switching function will be a function of time
only for upto 4 vt curves (2 rise and 2 fall curves). For more than 4 vt curves the switching
coeff is function of both time and voltage. This algorithm ensures correct operation for
both devices with slew control (distinct turn off and turn on time for pullup and pulldown)
and without. This algorithm can be modified at a global level (at tlsim command line) to
make the switching coeff a function of both time ad voltage by specifying the switch BhvrTvPreferDomtimedepcoeffOff.
January 2002
386
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
In devices with less than 4 vt curves and containing both pullup and pulldown the switching
coefficient operates in such a manner that provides continuous and smooth transitions
between pullup and pulldown. This can be changed to more discontinuous switching by
adding the instance specific parameter pullUpOnRisepulldownOnFall. This will ensure that
during pulldown only pullup is completely shutoff and vice versa.
Finally there is a general notion that vt curves, since they are generated for a particular load,
switching to be load dependent. This notion is incorrect. The coefficient in these behavioral
models is mainly time (i.e. relative rise and fall times) dependent (this equivalent to saying
that the transient behavior is primarily determined by the changes the gate to source voltage).
So first, the selection of a load for vt curve generation is not that critical and secondly just
adding more vt curves generated for different loads does not add to accuracy. It simply adds
to the overhead.
January 2002
387
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Multi-Conductor Transmission Line Models
The tlsim simulator implements advanced state of the art, multi-conductor, coupled
transmission line models. The following schematic shows the circuit model for a multiconductor line.
Figure G-11 Multi-conductorLine Circuit Model
Wa
Wb
G
Y
Y G
The internal implementation of the model consists of a frequency-dependent admittance
Matrix Y and a delayed controlled current source G at the input and output terminals.
The circuit parameters are derived from frequency-dependent RLGC parameters. These
parameters are specified in separate input files. Alternatively the RLGC parameters can be
embedded in the Spice file.
The syntax for a multi-conductor line follows:
Nxxxxxxxx (ni1 ni2 ....nri) (no1 no2 ..... nro)
L=length-in-meters [file=RLGC_input_file_name rlgc_name=data_name_tag
skin_cutoff_freq=fskin dielecloss_cutoff_freq=fdielec]
The optional parentheses separate the input and output terminals. The words nri and nro
denote the reference nodes. The field L= specifies the length of coupled transmission
line system in meters. If L=0 then the RLGC matrix will be treated as a lumped model.
Use the parameters skin_cutoff_freq and dielectric_cutoff_freq when only one RLGC
matrix (freq=0) is available but you need to model skin effect, or dielectric loss, or both.
Examples of Multi-Conductor Elements
NTL_2CONDUCTOR (1 2 0) (3 4 0) L=0.0005 [rlgc_name=Data-name-tag
file=RLGC_2COND_FILE ]
January 2002
388
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
RLGC_2COND_FILE entries
*Specify frequency in cycles/second
* Note: If the frequency statement is left out, it will be assumed that the
rlgc data is *frequency independent. In this case there SHOULD be only ONE set
of rlgc data
FREQUENCY=100HZ
* Now specify the matrix entries row by row
* Specify values per unit length
* for Rmatrix the value is in ohm/meter
* L = henries/meter
* c = farads/ meter
* G in Siemens (1/ohm)/meter
RMATRIX
1.2 0
0 1.2
LMATRIX
...
...
CMATRIX
...
...
GMATRIX
...
...
FREQUENCY=1000
....
....
Embedded ntl statements
An alternate way of entering the RLGC data is to embed it directly in the Spice file. In this
case the embedded data has to come after the n-conductor NTL statement. Note that the file
name is omitted from the NTL statement.
NTL_2CONDUCTOR (1 2 0) (3 4 0) L=0.0005
DATAPOINTS RLGC
FREQUENCY=1000
RMATRIX
1.2 0
0 1.2
LMATRIX
...
January 2002
389
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
...
CMATRIX
...
...
GMATRIX
...
...
FREQUENCY=100000
....
....
END RLGC
Optionally, you can specify frequency dependence using the keywords skin_cutoff_freq and
dielecloss_cutoff_freq. These become operational only if the number of frequency datapoints
in the DATAPOINTS section is 1.
The mathematical form for the skin_cutoff_freq keyword is the same as that in the skin effect
resistor. For example:
R = Rdc, where f <= fc
R = Rdc sqrt(f/fc), where f > fc
For the conductance, it is:
G = Gdc, where f <= fc
G = Gdc * f/fc, where f > fc
Lumped RLGC with L=0
The lumped RLGC matrix is a special case of multi-conductor line with the length of the multiconductor set to 0. The syntax is identical to that of a multi-conductor line with L=0.0
Nxxxxxxxx (ni1 ni2 ....nri) (no1 no2 ..... nro)
L=0.0 file=LC_input_file_name
January 2002
390
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Control Statements
Tlsim also supports spice like control statements. The control statements start with a period
(.) character. The following statements are supported.
END Statement
The .END statement identifies the end of the main program.
SUBCKT Statement
The .SUBCKT statement identifies the start of a subcircuit. For more detail, see “Subcircuits”
on page 349.
ENDS Statement
The .ENDS statement identifies end of subckt statement.
PARAM Statement
The .PARAM statement creates a parameter. The syntax is:
.param name=value
For more detail, see “Parameters and Expressions” on page 348.
NODE_PARAM Statement
The .NODE_PARAM statement is used to (re)assign name and logic values to circuit nodes.
The syntax is:
.node_param nodeid param1=value1 param2=value2
Nodeid is the original node id. The allowed parameter keywords are NAME, VHI_MIN,
VHI_MAX, VLO_MIN, VLO_MAX, CYCLE, VMEAS.
Note: VHI_MIN and VLO_MAX are particularly important. They are reserved keywords.
Using these values tlsim can define cycle measurements. Please note that for nodes which
are the output of an IBIS buffer, the VHI_MIN and VLO_MAX are usually defined in the buffer
January 2002
391
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
data. When this is true, these values will override the values defined in the node_param
statement.
The value of NAME is a string, the other values are floating point voltage values.
In addition two boolean parameters are supported: PRINT and REFNODE. The parameter
PRINT says the node values have to be printed and REFNODE identifies the node as the
reference node from which simple “flight” propagation delay measurements have to be made.
The boolean parameters need not be followed by the equal (=) sign.
Cycle Measurements
You can insert special cycle measurement controls in node_param statement. For example:
.node_param 2 cyclecount=3 print
will cycle measurement for the 3rd cycle.
.node_param 2 cycle=(2 5)
will print cycle measurements for the 2nd and the 5th cycle.
With the above statement the simulator will try to simulate till node 2 passes its maximum
cycle. It will also output cycle measurement in the cycle file. (which is by default cycle.sim).
The cycle measurement consists of the following:
Figure G-12 Cycle Measurement
Rise
Fall
Vhi_MIN
Vlo_Max
1 cycle
January 2002
392
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
TimeWindowMeasurements
Minimum and maximum voltage measurements can also be made in named time windows.
For example:
.node_param 2 timewindowpairs=(a 9.04n 10.72n b 16.32n 17.52n)
This will output the maximum and min voltages in windows (between 9.04 nanoseconds and
10.72 nanoseconds) and window b (16.32 n to 17.52n).
Arbitrary voltage crossings
Measurements can be made of crossing points of arbitrary voltage. The one requirement is
that these crossings have names other than reserved names like vlo_hi. for example
.node_param 2 v1.1=1.1
will measure the time crossing points of 1.1volt and the measurements will appear under the
label ‘v1.1’.
NODE_PARM_DIFFERENTIAL Statement
This statement is very similar to.NODE_PARAM except it measures the differential voltages
between two nodes, a primary and a secondary one.
.node_param_differential node1 node2 param1=value1 param2=value2
PRINT Statement
.PRINT statement
The standard Spice print statement is used to print currents through special zero voltage
sources. For example:
V_probe 1 2 0
.print I(V_probe)
Specifying derived names in node param statement
In some instances it may be necessary to use node param statements inside a subcircuit. The
standard syntax allows you to specify only one name. However, this presents a problem when
the subcircuit is used multiple times. For example:
x 1 sckt
x2 2 sckt
January 2002
393
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
.subckt sckt 1
.node_param 1 name=sckt_name print
.ends sckt
In the above case the printed output will contain value for only node 2 in the main circuit.
Espice solves this problem by allowing derived names in node_param statements.
x 1 sckt
x2 2 sckt
.node_param 1 name=firstnode
.node_param 2 name=secondnode
.subckt sckt 1
.node_param 1 name=(name(1)_derived) print
.ends sckt
January 2002
394
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Now two names will be created:
firstnode_derived and secondnode_derived. The statement name() acts like a function;
name(1) substitutes the name of node 1. The additional string “_derived” is merely appended.
(Naturally you can also prepend it).The enclosing parenthesis name=(..) is required to use
the name function.
Inheriting node parameters
You can also inherit parameters of another node, instead of repeating the same properties.
For example:
.node_param 2 inherit=(1)
.node_param_diff 2 3 inherit=(1 5)
The caveat is nodes 1 and 5 should have been defined first. The inherit will pull in all the cycle
values, and voltage values.
January 2002
395
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Creating Espice Models for use with SPECCTRAquest
Before SPECCTRAQuest and SigXplorer can be used to simulate, you must populate their
library with DML format models for all the active and passive parts in the nets to be
simulated.You may choose to obtain simulation models from third parties in DML format, or
they can be obtained in IBIS format and translated to DML using the Cadence IBIS import
utility. Alternatively, you may opt to directly create your own DML models. Note that if your
models are already in the Spice format, it is often very simple to represent them in Espice.
The creation of models using standard DML features is described in the appendix “DML
Syntax” on page 277. Since you are reading this, it is assumed that you need to create a
simulation model that has some atypical behavior that requires building a description in
Espice.
Espice simulation models can be included into DML libraries in a number of ways. Two
methods are described bellow.
Espice Packaged Part
You can create a packaged part whose behavior is wholly described in Espice using the
syntax in the examples below:
Example 1 - Simple RC filter
(PackagedDevice
(MyEspiceRcFilter
(ESpice
". MyEspiceRcFilter 2 1
R1 1 2 22
C1 0 2 20p
.ends MyEspiceRcFilter”
)
)
)
January 2002
396
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
Example 2 - Simple Series Resistor
(PackagedDevice
(MyESpiceResistor
(ESpice
".subckt MyESpiceResistor 2 1
R1 2 1 22
.ends MyESpiceResistor
"
)
(PinConnections
(1 2 )
(2 1 )
)
)
)
This example includes a PinConnections section that indicates that this part is a series
element that can electrically connect two PCB nets to create an extended net. The pin
connections section includes pin pairs. Entries are directional from the first pin to the second,
so if the connection is bi-directional (which is usual for passive devices) two entries should
exist for each pin pair.
Note: The external node names in the Espice subcircuit are used as the pin names in the
library component and must match those in the PCB symbol. Also, the whole of the Espice
description must be within double quotation marks. Comments can be written inside the
double quotations by starting thew comment with an asterisk (*).
You are free to use any name for the Espice subcircuit since the tool uses the packaged
device name to locate the correct library entry. For ease of readability, the subcircuit name is
usually set to be the same as the packaged device name.
Example 3 - A Thevenin Terminator Package
(PackagedDevice
(MyEspiceTerminator
(ESpice
".subckt MyEspiceTerminator G1 S1 S2 G2
R1 S1 G1 220
R1a S1 G2 330
R2 S2 G1 220
January 2002
397
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
R2a S2 G2 330
.ends MyEspiceTerminator"
)
(PinConnections
(S1 G1)
(S2 G2)
(S2 G1)
(S2 G2)
)
)
)
Example 4 - Alternative Version of a Thelvin Terminator package
(PackagedDevice
(MyEspiceTerminator
(ESpice
".subckt MyEspiceTerminator G1 S1 S2 G2
X1 S1 G1 G2 MyResistors
X2 S2 G1 G2 MyResistors
.ends MyEspiceTerminator
.subckt MyResistors 1 C1 C2
R1 1 C1 220
R2 1 C2 330
.ends MyResistors"
)
(PinConnections
(S1 G1)
(S2 G2)
(S2 G1)
(S2 G2)
)
)
)
Note: The same functionality can be obtained using a DML terminator model.
January 2002
398
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
How to use Sources and Other Functions in SigXplorer using Espice
Devices
General Notes / Warning About Using Espice Devices
■
You can use any/all spice elements, but the first one in the netlist must be either an R, L,
or C.
■
The nodes used on the .subckt line must be 1 and 2 (you can use any alphanumeric
nodes in the subcircuit).
■
There is no post-checking/format on your circuit, as such, be sure your syntax is good
and all spice elements begin in column 1.
Voltage Source
When studying the behavior of a certain interconnect (or for other reasons), it is often
desireable to use a simple voltage source (or Thevenin source) to drive the system. This can
be easily done using an Espice device and Custom Stimulus.
Here’s how:
1. Build the desired source.
2. Add a disabled driver to the circuit.
Step 2 is required because the simulation will be aborted if there are no eligible drivers in the
topology, and SigXplorer is not smart enough to realize that there’s an active Vsource that
takes the place of a driver. You can fool the tool by adding an IO (tri-stateable) driver and then
holding its ENABLE line low (to a zero level) until just prior to the end of the simulation. Use
Custom Stimulus to do this.
Here’s examples of two Vsources you can use (be sure to connect node 2 to ground)
implemented as PULSE and PWL:
(“ideal_source”
(“ESpice”
“.subckt ideal_source 1 2
Rdud 1 3 0.00001
V1 3 2 PULSE (0 2.5 0n 1n 1n 8n 20n)
.ends ideal_source
“)
)
January 2002
399
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
(“thevenin_source”
(“ESpice”
“.subckt thevenin_source 1 2
R1 1 3 50
V1 3 2 PWL (0 1 2e-008 1.0 2.1e-008 0 4e-008 0 4.1e-008 1.0 6e-008 1.0 6.1e-008 0
1e-007 0)
.ends thevenin_source
“)
)
Table-Driven (VI) Diode
SPECCTRAQuest does have Generic Element Diodes, however they are mostly ideal and
hard-coded (you can only set the saturation current and threshold voltage). Here’s an
example of a table-driven diode that you might want to use (repleace with your VI table) that
also embeds series resistance and junction capacitance:
(“table_diode”
(“ESpice”
“.subckt table_diode 1 2
Rseries 1 anode 0.2
Cjunction anode 0 1.2p
G1 anode 2 PWL 1 2
datapoints vi
0
0
0.6
0
0.65
3e-3
0.7
6e-3
1.0
15e-3
2.3
300e-3
end datapoints vi
.ends table_diode”)
)
January 2002
400
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
IO Buffer Model using an Espice Macrocell
Example 1 - Macromodel Starter File
(“macromodel_starter.dml”
; this is the filename
;
; This is a “starter” file to use when you need to build a macromodel.
; It is as simple as the tool will allow. Any arbitrary/complex circuit
; could be created in the subcircuit section below. The “starter” model
; implemented here is very simple, just embedding an output resistor in
; the default IO cell. You must have the default library loaded for this
; to work.
;
; Some tips:
;
1) Watch your parenthesis matching, the tool is picky about these.
;
2) When debugging, look in tlsim.log for clues. An error message
;
to the screen like “cycle.msm does not exist” probably means
;
the simulator failed to compile your subcircuit.
;
3) When testing/modifying the file, be careful. You can remove/
;
re-add the library dml, delete and replace the component, but
;
still not get the updated change. Unfortunately, the safest thing
;
to do is exit and re-enter the tool.
;
4) For guidance/examples, consult an updated “Kspice Syntax Specification”
;
and cds/share/pcb/signal/cds_macromodels.dml.
;
; Everything down to ‘(Subcircuits “‘ is wrapper info for your macromodel
; to make sure the tool uses it correctly, and it is integrated into the UI.
;
(IbisIOCell
; this says we’re doing buffers, not packages etc
(starter
; This is the name that appears in the library browser
; and must match the name in the .subckt defined below.
(Model
(ModelType IO ) ; will decide which SigXp symbol is used
)
(Ramp
; The dt values below control the input stimulus edge speed.
; They are programmed to 1,2,3 ns rise/fall since tr/f = dt/0.6.
; These must be here, or you will get a divide by zero error.
(Rise
(minimum
January 2002
401
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
(dt 0.6n
(typical
(dt 1.2n
(maximum
(dt 1.8n
(Fall
(minimum
(dt 0.6n
(typical
(dt 1.2n
(maximum
(dt 1.8n
) )
) )
) ) )
) )
) )
) ) ) )
;
; Define the various “Thresholds” if they will be used for measurements
;
;
(LogicThresholds
;
(Input
;
(High
;
(typical 1.2 ) )
;
(Low
;
(typical 0.8 ) ) )
;
(Output
;
(High
;
(typical 1.4 ) )
;
(Low
;
(typical 0.6 ) ) ) )
;
; The following reference voltages will probably be needed
; to ensure that the correct voltages are used.
;
(PullUp
(ReferenceVoltage
(maximum 3 )
(minimum 1 )
(typical 2 ) ) )
;
(PullDown
;
(ReferenceVoltage
;
(maximum 0 )
;
(minimum 0 )
;
(typical 0 ) ) )
;
(GroundClamp
January 2002
402
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
(ReferenceVoltage
(maximum 0 )
(minimum 0 )
(typical 0 ) ) )
(PowerClamp
(ReferenceVoltage
(maximum 1.5 )
(minimum 1.5 )
(typical 1.5 ) ) )
(MacroModel
(Parameters
(Buffers
; This section is mandatory, but can be faked if not needed.
(BUFF CDSDefaultIO)))
(NumberOfTerminals 7 )
; you can specify the # of terminals
(MacroType DiffIO )
; not clear on use/value of this - DiffI_SO
If there’s other terminals you want available for Custom Measurements
AND to be editable in the Stimulus Editor, add them here...
(PinTerminalsMap
(4 Data )
(5 Enable ) )
(SubCircuits “
The comment character inside the SubCircuits double quotes is a *.
*
*
* Handy bdrvr node cheat sheet:
*
power = 1
*
output = 2
*
ground = 3
*
input = 4
*
enable = 5
*
power-clmap_reference = 6
*
ground clamp reference = 7
* Node group 8-11 is optional:
*
scale factor: pullup = 8
*
scale factor: pulldown = 9
*
scale factor: powerclamp = 10
*
scale factor: groundclamp = 11
*
.subckt starter 1 2 3 4 5 6 7 ibis_file=ibis_models.inc BUFF=CDSDefaultIO
*
January 2002
403
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Cadence Espice Language Reference
bdrvr 1 20 3 4 5 6 7 model=BUFF file=ibis_file
Rout 2 20 30
*
* You can cause any node to be printed, and give it any name you like
* as shown here:
.node_param 4 name=(name(2).input) print
.node_param 20 name=(name(2).inside_resistor) print
*
.ends starter
“ ) ) ) ) )
January 2002
404
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
A
AC impedance
The combination of resistance, capacitive reactance, and inductive reactance seen by AC
and/or time-varying voltage. (See alternating current.)
alternating current (AC)
A current that varies with time. This label is commonly applied to a power source that switches
polarity many times per second, such as the power supplied by utilities. May take a sinusoidal
shape, but could be a square or triangular wave shape.
amplitude
The height or magnitude of a voltage signal as measured with respect to a reference plane,
such as signal ground.
attenuation
Reduction in the amplitude of a signal due to losses in the media through which it is
transmitted.
B
backporching
A term used to describe the reflections that follow a fast rise or fall time signal traveling down
a long transmission line that has not been properly terminated. Looks like a stair step.
busbar
A large copper or brass bar used to carry high power supply currents onto a printed board or
backplane.
January 2002
405
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
C
capacitance
A measure of the ability of two adjacent conductors separated by an insulator to hold a charge
when a voltage is impressed between them. Measured in Farads.
characteristic impedance
A value at a given instance in time of a transmission line that appears to an electrical signal
as a resistance (a voltage to current ratio). The resistance, capacitance, and inductance of a
transmission line combine to impede the charge flow.
coaxial
A term used to describe conductors that are concentric about a central axis. Takes the form
of a central wire surrounded by a conductor tube that serves as a shield and ground. May
have a dielectric other than air between the conductors.
crosstalk
Signal transmission from one conductor to another by mutual coupling of electromagnetic
fields. In a PCB layout, parallel etch can generate significant crosstalk. Crosstalk can be
categorized as forward or backwards.
current
Electrons traveling in a conductor as the result of a voltage difference between its ends.
D
decoupling
Absorbing noise pulses generated in the power supply lines by switching logic so as to
prevent them from disturbing other logic on the same power supply circuit. Usually done with
capacitors.
direct current (DC)
A current produced by a voltage source that does not vary with time. Normally provided by
power supplies to power electronic circuits.
January 2002
406
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
dissipation factor
A factor used to express the tendency of insulators or dielectrics to absorb some of the energy
in an AC signal.
dual-strip line
A stripline signal conductor that is embedded between two ground planes, and is not centered
between them (closer to one ground plane than the other).
E
edge rate
The rate of change in voltage with time of a logic signal transition. Usually expressed in volts
per nanosecond.
edge transition attenuation
The loss in sharpness of a switching edge caused by absorption of the highest frequency
components by the transmission line.
electromagnetic interference (EMI)
Radiated electromagnetic energy that couples into conductors where it is not wanted.
F
fall time
Time required for a logic signal to switch from its high state to its low state. Commonly
measured between the 80% and 20% voltage levels.
final settle delay
This is determined by subtracting the associated buffer delay from a simulation
measurement. For example, on a rising (falling) edge, the simulation measurement is from
time zero in the simulation to when the receiver crosses its Vih (Vil) switching threshold the
final time and settles into the high (low) logic state. The associated rising (falling) buffer delay
of the driving IOCell is subtracted from this measurement value to produce the reported final
settle delay.
January 2002
407
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
first switch delay
This is determined by subtracting the associated buffer delay from a simulation
measurement. For example, on a rising (falling) edge, the simulation measurement is from
time zero in the simulation to when the receiver first crosses its Vil (Vih) switching threshold.
The associated rising (falling) buffer delay of the driving IOCell is subtracted from this
measurement value to produce the reported first switch delay.
flat conductor
A rectangular conductor that is wider than it is high. Usually refers to signal conductors in a
printed wiring board.
G
ground
A term used to describe the terminal of a voltage source that serves as a measurement
reference for all voltages in the system. Often the negative terminal of the power source, but
sometimes the positive terminal.
I
impedance
The resistance to the flow of current represented by an electrical network. May be resistive
or reactive, or both.
inductance
The property of a conductor that allows it to store energy in a magnetic field induced by a
current flowing through it.
L
line coupling
Coupling between two transmission lines caused by their mutual inductance and the
capacitance between them.
January 2002
408
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
load capacitance
The capacitance seen by the output of a logic circuit or other signal source. Usually the sum
of distributed line capacitance and input capacitances of the load circuits.
logic
A general term used to describe the functional circuits used in computers and other digital
electronics to perform computational functions.
Logic Family
A collection of logic functions or ICs using the same form of electronic circuit to perform
computation.
lossy
A transmission line that has resistance, causing it to dissipate some power as current passes
through.
M
multi-line simulation
A simulation of two or more coupled networks, for example in a comprehensive simulation.
N
noise immunity
The worst-case difference between the output voltages produced by a driver pin and the input
voltages that a receiver pin still interprets correctly when operated in an ideal environment.
This presumes equal junction temperatures and no other sources of signal noise other than
typical device manufacturing variations. This value is calculated and supplied by part
manufacturers for a given logic family. For example, the noise immunity for Motorola 10KH
ECL technology is 150mV.
noise margin
For a receiver in the high (low) state, the magnitude of the delta between the lowest (highest)
excursion in the negative (positive) direction, and the Vih (Vil) voltage threshold.
January 2002
409
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
O
overshoot
Voltage swing beyond the steady state voltage. Voltages that exceed the logic range of the
receiver (for example, voltages greater than the maximum or lower than the minimum) can
damage devices.
P
PCB
Printed Circuit Board
parallel pair
Two conductors that travel side-by-side at a controlled spacing over a long distance.
permeability
A general term used to express various relationships between magnetic induction and
magnetizing force.
pin-to-pin connection
A signal path from a particular driver pin to a particular receiver pin. For example, a network
with two drivers and three receivers has six possible pin-to-pin connections.
power dissipation
Energy used by an electronic device in the performance of its function.
propagation delay
The delay in wave propagation due to the transmission wire.
pulse
A logic signal that switches from one state to the other and back in a short period of time, and
remains in the original state most of the time. Usually used as clocks for logic devices.
January 2002
410
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
R
reflection
When a signal meets a sudden change in characteristic impedance, some of the signal is
reflected backward toward the driver. This is similar to the splash-back caused when a stream
of water passes through a mesh screen. For a signal routed on a PCB, multiple reflections
are possible, producing ringing and overshoot.
rise time
Time required for a logic signal to switch from its low state to its high state. Commonly
measured between the 20% and 80% voltage levels.
S
signal line
Any conductor used to transmit a logic signal from one circuit to another.
simultaneous switching noise (SSN)
Fluctuations in a device’s power and ground rails, typically caused by inductance in the paths
from a die to its power supply and ground.
stub
A branch of the main line of a signal net usually used to reach a load that is not on the direct
signal path.
T
thermal shift
A temperature-induced change in operating voltage caused by thermal drift. The junction
temperature difference between driver and receiver is responsible for thermal shift in logic
devices.
January 2002
411
Product Version 14.2
SPECCTRAQuest Simulation and Analysis Reference
Glossary
transmission line
An electric conductor exhibiting series inductance and shunt capacitance distributed along its
length. A signal must charge up each chunk of inductance and capacitance before it is passed
along to the next chunk, thus reducing the propagation velocity.
U
undershoot
Voltage swing back into the midrange after the nominal steady state high or low level has
been crossed.
V
Vih
High state voltage threshold for a logic receiver.
Vil
Low state voltage threshold for a logic receiver.
W
waveform
Plot of voltage versus time for a given component pin.
January 2002
412
Product Version 14.2