13
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

Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 2: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 3: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 4: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 5: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 6: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 7: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 8: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 9: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 10: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 11: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 12: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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

Page 13: Eldo Platform Eldo Control Language · consequential damages whatsoever (including but not limited to lost profits) arising out of or related to this publication or the information

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