Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
2018 Mentor Graphics Corporation
All rights reserved.
This document contains information that is trade secret and proprietary to Mentor Graphics Corporation or its licensors and
is subject to license terms. No part of this document may be photocopied, reproduced, translated, distributed, disclosed or
provided to third parties without the prior written consent of Mentor Graphics.
Eldo® Platform Eldo Control Language
Student Workbook
This document is for information and instruction purposes. Mentor Graphics reserves the right to make
changes in specifications and other information contained in this publication without prior notice, and the reader
should, in all cases, consult Mentor Graphics to determine whether any changes have been made.
The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in written
agreements between Mentor Graphics and its customers. No representation or other affirmation of fact
contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor Graphics
whatsoever.
MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE.
MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR
CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS)
ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT, EVEN
IF MENTOR GRAPHICS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
U.S. GOVERNMENT LICENSE RIGHTS: The software and documentation were developed entirely at private
expense and are commercial computer software and commercial computer software documentation within the
meaning of the applicable acquisition regulations. Accordingly, pursuant to FAR 48 CFR 12.212 and DFARS
48 CFR 227.7202, use, duplication and disclosure by or for the U.S. Government or a U.S. Government
subcontractor is subject solely to the terms and conditions set forth in the license agreement provided with the
software, except for provisions which are contrary to applicable mandatory federal laws.
TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of Mentor
Graphics Corporation or other parties. No one is permitted to use these Marks without the prior written consent
of Mentor Graphics or the owner of the Mark, as applicable. The use herein of a third- party Mark is not an
attempt to indicate Mentor Graphics as a source of a product, but is intended to indicate a product from, or
associated with, a particular third party. A current list of Mentor Graphics’ trademarks may be viewed at:
www.mentor.com/trademarks.
The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus
Torvalds, owner of the mark on a world-wide basis.
End-User License Agreement: You can print a copy of the End-User License Agreement from:
www.mentor.com/eula.
Mentor Graphics Corporation
8005 S.W. Boeckman Road, Wilsonville, Oregon 97070-7777
Telephone: 503.685.7000
Toll-Free Telephone: 800.592.2210
Website: www.mentor.com
SupportNet: supportnet.mentor.com/
Send Feedback on Documentation: supportnet.mentor.com/doc_feedback_form
Part Number: 073789
Table of Contents
Eldo Platform Eldo Control Language I
Module 1: Introduction to Eldo ........................................................................... 13
Objectives ........................................................................................................................................... 14
Design New Challenges Due to Nanometer Effects .......................................................................... 15
Simulation New Challenges ............................................................................................................... 16
Eldo Platform Industry Proven Circuit Verification Platform for Analog-Centric ICs .................... 17
Impractical Without Eldo Platform Quality & Reliability Verification Tools ................................... 18
Environment Integrations ................................................................................................................... 19
Course Objectives .............................................................................................................................. 20
Module 2: ECL Presentation ................................................................................ 21
Objectives ........................................................................................................................................... 22
Eldo Control Language — ECL ......................................................................................................... 23
ECL Use Case Example 1 – Characterization of an OpAmp ............................................................. 24
ECL Use Case Example 2 – Characterization of an ICO ................................................................... 25
Characterization of an ICO – ECL Script Outputs ............................................................................. 26
ECL Use Case Example 3 – Setup Time Measurement ..................................................................... 27
Objectives ........................................................................................................................................... 28
Some Typical Problems You Can Solve With ECL .......................................................................... 29
More Typical Problems You Can Solve With ECL ........................................................................... 30
ECL - A User Friendly Language ...................................................................................................... 31
Objectives ........................................................................................................................................... 32
ECL Mains Constructs Overview ...................................................................................................... 33
Where to Start? ................................................................................................................................... 34
Global Structure of an ECL Netlist .................................................................................................... 35
Lab Time ............................................................................................................................................ 36
Table of Contents
Eldo Platform Eldo Control Language II
Module 3: ECL Essentials .................................................................................... 37
Objectives ........................................................................................................................................... 38
Testbench Summary ........................................................................................................................... 39
Testbench Definition & Instantiation ................................................................................................. 40
Testbench Definition Example (Without Parameter) ......................................................................... 41
Testbench Definition Example (With a Parameter) ........................................................................... 42
Testbench Definition and Instantiation .............................................................................................. 43
Objectives ........................................................................................................................................... 44
Task Characteristics ........................................................................................................................... 45
Simulation Tasks Responsibilities ..................................................................................................... 46
Task Definition & Example ............................................................................................................... 47
Task With Parameters ........................................................................................................................ 48
Task With Main Netlist ...................................................................................................................... 49
Task With Main Netlist and Simulation Output ................................................................................. 50
Task Definition and Instantiation – Summary ................................................................................... 51
Objectives ........................................................................................................................................... 52
Scalar Simulation Results Reusable in a Task ................................................................................... 53
Vector Simulation Results Reusable in a Task .................................................................................. 54
Collecting Simulation Results in a Task ............................................................................................ 55
Collecting Waveform Simulation Results in a Task .......................................................................... 56
Simple Task Example With Scalar Results ........................................................................................ 57
Simple Task Example With Vector Results ....................................................................................... 58
Assembling Base Netlist and Testbenches for Simulation ................................................................. 59
Simple Task Example With Vector Results & Testbench ................................................................. 60
Objectives ........................................................................................................................................... 61
Table of Contents
Eldo Platform Eldo Control Language III
Simulation() Default Behavior ........................................................................................................... 62
ECL Management of Temporary Files ............................................................................................... 63
Simulation() Parameters and Return Value ........................................................................................ 64
Simple Task Example ......................................................................................................................... 65
Simulation Return Data Structure ...................................................................................................... 66
Simulation Example ........................................................................................................................... 67
Simple Task Example ......................................................................................................................... 68
Objectives ........................................................................................................................................... 69
Debugging ECL Tasks ....................................................................................................................... 70
Simulation Options ............................................................................................................................. 72
ECL Limitations ................................................................................................................................. 73
Lab Time ............................................................................................................................................ 74
Module 4: Detailed Task Syntax .......................................................................... 75
Objectives ........................................................................................................................................... 76
ECL Comments & Line Breaks - Spice Syntax ................................................................................. 77
ECL Comments - Task Syntax ........................................................................................................... 78
ECL Line Breaks - Task Syntax ......................................................................................................... 79
ECL Comments & Line Breaks - Summary ....................................................................................... 80
Writing Easy to Read and Maintain ECL Code ................................................................................. 81
Objectives ........................................................................................................................................... 83
Variables ............................................................................................................................................. 84
File Output With fprint ....................................................................................................................... 86
fprint – f Format Caveat ..................................................................................................................... 89
Complex Numbers .............................................................................................................................. 90
Strings ................................................................................................................................................. 91
Table of Contents
Eldo Platform Eldo Control Language IV
Waveforms ......................................................................................................................................... 92
Post-Processing a Waveform ............................................................................................................. 93
Vector ................................................................................................................................................. 94
One-Dimensional Vector .................................................................................................................... 95
Vectors and Memory Management .................................................................................................... 99
Multi-Dimensional Vector ............................................................................................................... 100
Constants .......................................................................................................................................... 101
Objectives ......................................................................................................................................... 102
Flow Control .................................................................................................................................... 103
Flow Control — While and For Loops ............................................................................................ 104
Flow Control — Incremental Loop .................................................................................................. 105
Flow Control — Linear Step ............................................................................................................ 106
Flow Control — Log Step ................................................................................................................ 107
Flow Control — List Step ................................................................................................................ 108
Objectives ......................................................................................................................................... 109
Function ............................................................................................................................................ 110
Recursive Function and Task Example ............................................................................................ 111
Library of Built-in Functions ........................................................................................................... 112
System() Function ............................................................................................................................ 113
Objectives ......................................................................................................................................... 114
Parallelism in ECL ........................................................................................................................... 115
Parallelism in ECL (New in AMS13.1) ........................................................................................... 116
Avoiding Concurrency Issues With ECL ......................................................................................... 117
Parallel Task Example ...................................................................................................................... 118
Objectives ......................................................................................................................................... 119
Table of Contents
Eldo Platform Eldo Control Language V
Complete ECL Example ................................................................................................................... 120
With a Drawing… ............................................................................................................................ 121
Measurements ................................................................................................................................... 122
Simplified Flow ................................................................................................................................ 124
Step #1 Uses the run_nominal() Testbench ...................................................................................... 125
Step #2 Uses the run_optim() Testbench ......................................................................................... 126
Complete Run() Task ....................................................................................................................... 127
Global Structure of the Netlist ......................................................................................................... 128
Lab Time .......................................................................................................................................... 129
Module 5: Advanced Topics ............................................................................... 131
Objectives ......................................................................................................................................... 132
Simulation Dynamic Control – The Need ........................................................................................ 133
Simulation Dynamic Control ........................................................................................................... 134
Simulation Dynamic Control – Callback Mechanism ...................................................................... 135
Simulation Dynamic Control – Callback Call Criteria .................................................................... 136
Simulation Dynamic Control – Callback Definition ........................................................................ 137
Simulation Dynamic Control – Extended Simulation Functions ..................................................... 138
Simulation Dynamic Control – Callback vs. ESF Example ............................................................. 139
Objectives ......................................................................................................................................... 140
ECL and Monte-Carlo Simulations .................................................................................................. 141
ECL & Monte-Carlo Simulations: Eldo Controls the Loop ............................................................. 142
ECL & .MC Simulations: Eldo Controls the Loop - Example ......................................................... 143
ECL & Monte-Carlo Simulations: ECL Controls the Loop ............................................................. 144
ECL & .MC Simulations: ECL Controls The Loop - Example ....................................................... 145
Controlling Monte-Carlo Simulation With ECL .............................................................................. 146
Table of Contents
Eldo Platform Eldo Control Language VI
Simple Example of Trimming With Statistical ESF ........................................................................ 147
Trimming With Statistical ESF – Simple example Code (1) ........................................................... 148
Trimming With Statistical ESF – Simple Example Code (2) .......................................................... 149
Monte-Carlo Simulation Fine Control Flow .................................................................................... 150
Objectives ......................................................................................................................................... 151
Example – PLL Lock Time .............................................................................................................. 152
Eldo Control Language .................................................................................................................... 153
ECL .................................................................................................................................................. 154
ECL Text Output .............................................................................................................................. 157
Build Waveform ............................................................................................................................... 158
ECL Scenario ................................................................................................................................... 159
ECL Code – Load the Netlist ........................................................................................................... 160
ECL Code – Run N Cycles .............................................................................................................. 161
ECL Code – Retrieve the Crossing Times ....................................................................................... 162
ECL Code – Compute the Jitter ....................................................................................................... 163
ECL Code – Decide to Run Another N Cycles, or Stop .................................................................. 164
ECL – Simple Waveform Creation .................................................................................................. 165
ECL Code – wset_values ................................................................................................................. 166
Execution .......................................................................................................................................... 167
Graphical Outputs ............................................................................................................................ 168
Lab Time .......................................................................................................................................... 169
Objectives ......................................................................................................................................... 172
ILT/ODT Title & Content Slide ....................................................................................................... 173
ODT Title & Content Slide .............................................................................................................. 174
Summary .......................................................................................................................................... 175
Table of Contents
Eldo Platform Eldo Control Language VII
Module 6: Conclusion ......................................................................................... 177
Objectives ......................................................................................................................................... 178
Eldo Platform Summary ................................................................................................................... 179
Release Conventions ........................................................................................................................ 180
What About the Next Releases? ....................................................................................................... 181
Mentor Graphics Support ................................................................................................................. 182
Documentation ................................................................................................................................. 183
Search Results Example ................................................................................................................... 184
Stemming Support ............................................................................................................................ 185
Appendix A: Multiple Models: Eldo, Spectre, Hspice ..................................... 187
Objectives ......................................................................................................................................... 188
Model Libraries Introduction ........................................................................................................... 189
Model Library Syntax ...................................................................................................................... 190
MOS Model - Binning ...................................................................................................................... 191
More and More Effects Are Included .............................................................................................. 193
Model File Selection ........................................................................................................................ 194
Library Overview ............................................................................................................................. 195
.INCLUDE Command ...................................................................................................................... 196
.INCLUDE and Monte Carlo ........................................................................................................... 197
Simple Definition With .LIB ............................................................................................................ 198
Library Definition With .LIB KEY ................................................................................................. 200
Delete Library With .DEL ................................................................................................................ 201
Basic Library Encryption ................................................................................................................. 202
Advanced Library Encryption .......................................................................................................... 203
IP Protection for the Foundry ........................................................................................................... 204
Table of Contents
Eldo Platform Eldo Control Language VIII
IP Protection for the User ................................................................................................................. 205
Objectives ......................................................................................................................................... 206
Using Behavioral Verilog-A Models Within Eldo ........................................................................... 207
Use of a Verilog-A Model in a Netlist ............................................................................................. 208
Example - Verilog-A Model in a Netlist .......................................................................................... 209
Hierarchical Verilog-A Model Example .......................................................................................... 210
Verilog-A Model Example ............................................................................................................... 211
Generic and Param Usage ................................................................................................................ 212
Compilation ...................................................................................................................................... 213
Case of Compiled Library Not in the Current Directory ................................................................. 214
CommLib QuickStart Verilog-A ...................................................................................................... 215
.HDL Command for VerilogA as X-Statements .............................................................................. 216
Objectives ......................................................................................................................................... 217
Spectre Compatibility ....................................................................................................................... 218
Spectre Language Support Overview ............................................................................................... 219
Working With Multiple Languages .................................................................................................. 220
Spectre Eldo Hybrid Mode ............................................................................................................... 221
Objectives ......................................................................................................................................... 222
HSPICE Compatibility Mode ........................................................................................................... 223
Hybrid Compatibility Mode ............................................................................................................. 224
Appendix B: EZwave Essentials ........................................................................ 225
Objectives ......................................................................................................................................... 226
Quick Reference Card ...................................................................................................................... 227
Basic EZwave Features .................................................................................................................... 229
A True Mixed-Signal and RF Waveform Viewer ............................................................................ 230
Table of Contents
Eldo Platform Eldo Control Language IX
EZwave Viewer Features at a Glance .............................................................................................. 231
EZwave Graphical Post-Processing ................................................................................................. 232
Getting Started Tutorials .................................................................................................................. 233
Objectives ......................................................................................................................................... 234
Invoking EZwave ............................................................................................................................. 235
EZwave Integration in Artist Link ................................................................................................... 236
How to Start EZwave in Artist Link ................................................................................................ 237
Joint Waveform Database (JWDB) .................................................................................................. 238
.wdb and .swd Files .......................................................................................................................... 239
Loading Databases ........................................................................................................................... 240
Searching Databases ......................................................................................................................... 241
EZwave - Waveform List Filtering .................................................................................................. 242
Plot ................................................................................................................................................... 243
Windows and Workspaces ............................................................................................................... 244
Zoom ................................................................................................................................................ 245
Strokes .............................................................................................................................................. 246
Various Cursors Types ..................................................................................................................... 247
Cursors Example .............................................................................................................................. 248
Waveform Groups ............................................................................................................................ 249
Grouping Example ........................................................................................................................... 250
Plot Difference ................................................................................................................................. 251
Plotting Wave_1 vs. Wave_2 ........................................................................................................... 252
Plotting Measure vs. Parameter ........................................................................................................ 253
Waveform Representation ................................................................................................................ 256
EZwave Configuration ..................................................................................................................... 257
Table of Contents
Eldo Platform Eldo Control Language X
Documentation Color Scheme ......................................................................................................... 258
Objectives ......................................................................................................................................... 259
Pick-Point Tool Presentation ............................................................................................................ 260
Pick-Point Tool Example ................................................................................................................. 261
Pick Points Capabilities .................................................................................................................... 262
Pick Points Default Settings ............................................................................................................. 264
Pick Points Specific Behavior .......................................................................................................... 265
Measurement Tool Presentation ....................................................................................................... 266
How to Use Measurement Tool ....................................................................................................... 267
Measurements Tools Capabilities .................................................................................................... 268
Waveform Calculator Introduction .................................................................................................. 269
Waveform Calculator Layout ........................................................................................................... 270
EZwave Calculator Features ............................................................................................................ 271
Calculator Window .......................................................................................................................... 273
Calculator Mouse and Key Binding ................................................................................................. 274
Appendix C: EZwave Advanced ........................................................................ 275
Objectives ......................................................................................................................................... 276
Parametric Analysis .......................................................................................................................... 277
Waveform Types .............................................................................................................................. 278
Smith Chart ...................................................................................................................................... 279
Statistical Analysis ........................................................................................................................... 280
Multiple Runs (PVT, MC) ............................................................................................................... 281
Multiple Runs – Multiple Colors ..................................................................................................... 282
Multiple Runs – Filtering a Large Multiple Run Database .............................................................. 283
Eye Diagram ..................................................................................................................................... 284
Table of Contents
Eldo Platform Eldo Control Language XI
Jitter .................................................................................................................................................. 286
Waveform Compare Presentation .................................................................................................... 287
Waveform Compare Example .......................................................................................................... 288
Waveform Compare Tool Setting .................................................................................................... 289
Available Comparison Options ........................................................................................................ 290
Navigate to Differences .................................................................................................................... 291
Comparison Text Report .................................................................................................................. 292
Display Tolerance Tube ................................................................................................................... 293
Spectral Waveform Compare ........................................................................................................... 294
Edge Waveform Compare ................................................................................................................ 295
Plotting All the Waveforms With the Same Name .......................................................................... 296
Tandem Mode Example ................................................................................................................... 297
Tandem Mode vs. Iterative Simulation ............................................................................................ 298
Objectives ......................................................................................................................................... 299
Scripting Environment ..................................................................................................................... 300
TCL Scripts ...................................................................................................................................... 301
EZwave TCL Scripting .................................................................................................................... 302
TCL Scripting ................................................................................................................................... 303
Loading/Saving TCL From UI ......................................................................................................... 304
TCL Scripting With Measurement Tool .......................................................................................... 305
Window and Measurements Saving ................................................................................................. 306
WFC TCL Scripting ......................................................................................................................... 307
User Defined Functions .................................................................................................................... 308