+ All Categories
Home > Documents > Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Date post: 30-Nov-2021
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
311
Educational Services Group (ESG) September 27, 1994 Layout Editor Training Manual Version 4.3.2
Transcript
Page 1: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Educational Services Group (ESG)September 27, 1994

Layout EditorTraining ManualVersion 4.3.2

Page 2: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Educational Services Group (ESG)September 27, 1994

Layout EditorTraining ManualVersion 4.3.2

Page 3: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

1990-94 Cadence Design Systems, Inc. All rights reserved.Printed in the United States of America.

No part of this publication may be reproduced in whole or in part by any means (including photocopying or storage in an informationstorage/retrieval system) or transmitted in any form or by any means without prior written permission from Cadence Design Systems, Inc.(Cadence).

Information in this document is subject to change without notice and does not represent a commitment on the part of Cadence. The informationcontained herein is the proprietary and confidential information of Cadence or its licensors, and is supplied subject to, and may be used onlyby Cadence’s customer in accordance with, a written agreement between Cadence and its customer. Except as may be explicitly set forth insuch agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy orusefulness of the information contained in this document. Cadence does not warrant that use of such information will not infringe any thirdparty rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of such information.

RESTRICTED RIGHTS LEGEND Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph(c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013.

Cadence Design Systems, Inc. 555 River Oaks Parkway, San Jose, CA 95134, USA

Unpublished – rights reserved under the copyright laws of the United States.

In this manual the screen representation of “Framework” and any reference to it connotes Design Framework II software.

Other TrademarksFrameMaker is a registered trademark of Frame Technology Corporation.UNIX is a registered trademark of UNIX System Laboratories, Inc.X Window System is a trademark of the Massachusetts Institute of Technology.

Cadence TrademarksAccessAllegroAllegro-MCMAmadeusAnalog ArtistAnalog WorkbenchAnalyzerASIC WorkbenchAXLBitGradeCadence SPICECAEviewsCheckPlusCommunications ManagerComponent Information WorkbenchComposeComposerConceptConfirmConstructDantesDesign FrameworkDesign Framework ΙΙDesign ManagerDesign PlannerDF/Assembly

DFFabDF/Signal IntegrityDFTestprepDF/ThermaxDF/ViableDIVADLM Place & Route SystemDRACULAEDGEEnsembleGDSIIGEDHDL SynthesizerHierarchy ManagerINSIGHTIntegrator’s ToolkitLayDeLeapfrogLicense ManagerLogic WorkbenchMLM Place & Route SystemModuleMakerOpen HDL ToolkitOpenSim BackplaneOptimizerOpus

PIC DesignerPowerVHDLPRANCEPrance-XLPreviewProcess ManagerProfileRapidPARTRapidSIMRapidTESTSageSCALDsystemSimukitSKILLSmoke AlarmSpectreSPICE PLUSStructure CompilerSYMBADSynergySystemPGASystemPLDSystem WorkbenchTancellTansureTeam Design Manager

Test GeneratorTestGradeTest-intelligent Design SeriesTestScanTest SimulatorTest SynthesizerThermoSTATSTranscribeValidCOMPILERValidFrameValidGEDValidPACKAGERValidSIMValidTIMEVDoc 454Verifault-XLVerilogVerilog-XLVeritimeVeritoolsVHDL SynthesizerVHDL-XLVirtuosoWarp-4Warp GridXLProcessor

Page 4: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Table of Contents Layout Editor

9/27/94 Cadence Design Systems, Inc. iii

Table of Contents

Layout Editor

Module 1 Introduction

Cell Design Flow .................................................................................................................................... 1-6Create Technology File...................................................................................................................... 1-6Layout Cells ....................................................................................................................................... 1-6Parameterized Cells/Devices ............................................................................................................. 1-6Verify Layout..................................................................................................................................... 1-8BackAnnotation ................................................................................................................................. 1-8Create Complex Arrays...................................................................................................................... 1-8Plotting............................................................................................................................................... 1-8Stream Translation ........................................................................................................................... 1-10Abstract Generation ......................................................................................................................... 1-10

Module 2 Design Framework II

The X Window System............................................................................................................................ 2-4Starting the X Window System.......................................................................................................... 2-4The X Window System Environment ................................................................................................ 2-4Opening a New Xterm Window ........................................................................................................ 2-6Making a Window Active.................................................................................................................. 2-6

Using the X Window System................................................................................................................... 2-8Moving and Stretching Xterm Windows ........................................................................................... 2-8Expanding and Shrinking Xterm Windows ..................................................................................... 2-10Moving an Xterm Window to the Front .......................................................................................... 2-10Closing an Xterm Window .............................................................................................................. 2-10

Accessing Design Framework ............................................................................................................... 2-12Lab 2-1. X Window System................................................................................................................... 2-13Command Interpreter Window (CIW)................................................................................................... 2-16

Initial Window ................................................................................................................................. 2-16Menu Banner.................................................................................................................................... 2-16Output Field ..................................................................................................................................... 2-16Input Field........................................................................................................................................ 2-18Prompt Line and Mouse Button Cues.............................................................................................. 2-18

Entering SKILL Functions..................................................................................................................... 2-20Multiple Design Windows ..................................................................................................................... 2-22Lab 2-2. Command Interpreter Window................................................................................................ 2-23

Page 5: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor Table of Contents

iv Cadence Design Systems, Inc. 9/27/94

Editing a Form ....................................................................................................................................... 2-26Filling in a Form .............................................................................................................................. 2-26Standard Forms and Options Forms ................................................................................................ 2-26

Standard Forms ...................................................................................................................................... 2-28Using a Standard Form .................................................................................................................... 2-28Entering Data in a Standard Form ................................................................................................... 2-28

Options Forms........................................................................................................................................ 2-30Hiding Forms ................................................................................................................................... 2-30

Lab 2-3. Forms....................................................................................................................................... 2-31Library Structure Overview ................................................................................................................... 2-34

Library.............................................................................................................................................. 2-34Technology File ............................................................................................................................... 2-34Cells ................................................................................................................................................. 2-34Views ............................................................................................................................................... 2-34Cellviews.......................................................................................................................................... 2-34Directory Structure........................................................................................................................... 2-36Library Path ..................................................................................................................................... 2-36Library Name................................................................................................................................... 2-36Catalog File...................................................................................................................................... 2-36

Cells ....................................................................................................................................................... 2-38Logical Name................................................................................................................................... 2-38Multiple Views................................................................................................................................. 2-38Cell Attributes and Properties.......................................................................................................... 2-38

Views ..................................................................................................................................................... 2-40View Type........................................................................................................................................ 2-40Multiple Versions............................................................................................................................. 2-40View Attributes and Properties........................................................................................................ 2-40

Cellviews................................................................................................................................................ 2-42Cellview Attributes and Properties .................................................................................................. 2-42

Versions ................................................................................................................................................. 2-44Version Numbers ............................................................................................................................. 2-44Initial Version .................................................................................................................................. 2-44Default Version................................................................................................................................ 2-44Design File ....................................................................................................................................... 2-44

The Library Browser.............................................................................................................................. 2-46Accessing the Browser..................................................................................................................... 2-46Logical Objects ................................................................................................................................ 2-46

Page 6: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Table of Contents Layout Editor

9/27/94 Cadence Design Systems, Inc. v

Expand Cells .......................................................................................................................................... 2-48View Level................................................................................................................................. 2-48Expand by Cell........................................................................................................................... 2-48Expand by View......................................................................................................................... 2-48

Expand Versions .............................................................................................................................. 2-50Version 0.0................................................................................................................................. 2-50

Opening a Design................................................................................................................................... 2-52Method 1: Browser Method ............................................................................................................. 2-52Method 2: Form Method.................................................................................................................. 2-52

Design Window ..................................................................................................................................... 2-54Data Management of Cellviews............................................................................................................. 2-56Library Browser vs UNIX files.............................................................................................................. 2-58Creating a Bindkey ................................................................................................................................ 2-60Using Online Help ................................................................................................................................. 2-62Lab 2-4. Library Browser ...................................................................................................................... 2-63Lab 2-5. Controlling Versions ............................................................................................................... 2-63Lab 2-6. BindKeys ................................................................................................................................. 2-63Lab 2-7 Online help ............................................................................................................................... 2-63

Module 3 Layout Environment

Defining Layers ....................................................................................................................................... 3-4Setting Valid Drawing Layers ................................................................................................................. 3-6

Making Layers Valid ......................................................................................................................... 3-6Saving Changes.................................................................................................................................. 3-6

Selecting Layers and Objects with the LSW ........................................................................................... 3-8Setting the Drawing Layer in the LSW.............................................................................................. 3-8Making Pins and Instances Selectable ............................................................................................. 3-10

Setting the Drawing Layer ..................................................................................................................... 3-12Setting the Drawing Layer using Layer Tap.................................................................................... 3-12

Edit Layer Display ................................................................................................................................. 3-14Using Mouse Buttons............................................................................................................................. 3-16

Left Mouse Button ........................................................................................................................... 3-16Middle Mouse Button ...................................................................................................................... 3-16Right Mouse Button......................................................................................................................... 3-18Enterfunctions .................................................................................................................................. 3-18

Page 7: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor Table of Contents

vi Cadence Design Systems, Inc. 9/27/94

Using Strokes ......................................................................................................................................... 3-20Entering Strokes............................................................................................................................... 3-20Customizing Strokes ........................................................................................................................ 3-20

Lab 3-1. Defining Layers....................................................................................................................... 3-21Lab 3-2. Using the LSW ........................................................................................................................ 3-21Lab 3-3. Using Strokes .......................................................................................................................... 3-21Lab 3-4. Creating Strokes (Optional)..................................................................................................... 3-21Using the Editor Options Form.............................................................................................................. 3-24Using the Display Options Form ........................................................................................................... 3-26Using Viewports .................................................................................................................................... 3-30Panning and Zooming ............................................................................................................................ 3-32

Panning ............................................................................................................................................ 3-32Zooming........................................................................................................................................... 3-32

Technology File Contents ...................................................................................................................... 3-34View and View Properties ............................................................................................................... 3-34Display Layers, Colors, Stipples, and System Layer....................................................................... 3-34User Layers Properties..................................................................................................................... 3-34Tool Specific Information................................................................................................................ 3-34

Technology File Flow............................................................................................................................ 3-36Lab 3-5. Editor Options ......................................................................................................................... 3-37Lab 3-6. Display Options....................................................................................................................... 3-37Lab 3-7. Viewports ................................................................................................................................ 3-37Lab 3-8. Pan and Zoom.......................................................................................................................... 3-37Lab 3-9. Technology File....................................................................................................................... 3-37

Module 4 Layout Editor

Creating Shapes ....................................................................................................................................... 4-4Shapes ................................................................................................................................................ 4-4Labels................................................................................................................................................. 4-4

Snap Mode ............................................................................................................................................... 4-6Selecting Objects ..................................................................................................................................... 4-8Toggling Between Objects..................................................................................................................... 4-10Lab 4-1. Create Shapes .......................................................................................................................... 4-11Lab 4-2. Select Objects .......................................................................................................................... 4-11

Moving Objects to a New Layer...................................................................................................... 4-14Using the Mouse to Move Objects................................................................................................... 4-14

Copying Objects..................................................................................................................................... 4-16Copying to a New Layer .................................................................................................................. 4-16Creating Array Objects .................................................................................................................... 4-16Using Yank and Paste ...................................................................................................................... 4-16

Page 8: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Table of Contents Layout Editor

9/27/94 Cadence Design Systems, Inc. vii

Changing Orientation............................................................................................................................. 4-18Orientation ....................................................................................................................................... 4-18

Stretching Objects.................................................................................................................................. 4-20Stretching a Single Object ............................................................................................................... 4-20Stretching Multiple Objects ............................................................................................................. 4-20

Splitting Objects .................................................................................................................................... 4-22Properties ............................................................................................................................................... 4-24

Attributes.......................................................................................................................................... 4-24Parameters........................................................................................................................................ 4-24Connectivity..................................................................................................................................... 4-24

Lab 4-3. Move, Copy, Yank, and Paste ................................................................................................. 4-25Lab 4-4.Orientation Properties............................................................................................................... 4-25Lab 4-5.Stretch and Reshape ................................................................................................................. 4-25Lab 4-6. Properties................................................................................................................................. 4-25Choping Shapes ..................................................................................................................................... 4-28Modify Corner ....................................................................................................................................... 4-30Merge Shapes......................................................................................................................................... 4-32Make Cell............................................................................................................................................... 4-34Flatten Cells ........................................................................................................................................... 4-36Size Shapes ............................................................................................................................................ 4-38Attach Objects........................................................................................................................................ 4-40Convert To Polygon............................................................................................................................... 4-42Reference Point...................................................................................................................................... 4-44Lab 4-7.More Editing Commands ......................................................................................................... 4-45Lab 4-8.Reference Point ........................................................................................................................ 4-45Defining Contacts .................................................................................................................................. 4-48Creating Contacts................................................................................................................................... 4-50Creating Pins.......................................................................................................................................... 4-52Path Stitching ......................................................................................................................................... 4-54Creating Arrays...................................................................................................................................... 4-56Layer Generation ................................................................................................................................... 4-58

Boolean Functions ........................................................................................................................... 4-58Sizing Function ................................................................................................................................ 4-58

Lab 4-9.Edit contact definition in technology file ................................................................................. 4-59Lab 4-10.Contacts and Pins ................................................................................................................... 4-59Lab 4-11.Path Stitching ......................................................................................................................... 4-59Lab 4-12.Create Arrays.......................................................................................................................... 4-59Lab 4-13.Layer Generation.................................................................................................................... 4-59Search and Edit ...................................................................................................................................... 4-62

Page 9: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor Table of Contents

viii Cadence Design Systems, Inc. 9/27/94

Hierarchy Concept ................................................................................................................................. 4-64Display Levels ................................................................................................................................. 4-64

Create and Change Hierarchy ................................................................................................................ 4-66Hierarchical Editing ............................................................................................................................... 4-68

Edit in Place ..................................................................................................................................... 4-68Descend............................................................................................................................................ 4-68Return............................................................................................................................................... 4-68Return to Level ................................................................................................................................ 4-68

Lab 4-14.Search ..................................................................................................................................... 4-69Lab 4-15.Hierarchy ................................................................................................................................ 4-69Lab 4-16. Create Your Own Layout ...................................................................................................... 4-69

Module 5 Parameterized Cells

Why Use Pcells? ...................................................................................................................................... 5-4Enhanced Hierarchical Design........................................................................................................... 5-4Limitations of Parameterized Cells.................................................................................................... 5-4

Flow for Creating Parameterized Cells.................................................................................................... 5-6Parameterized Cell Features .................................................................................................................... 5-8

Graphic Definition of Parameters ...................................................................................................... 5-8Parameter Querying ........................................................................................................................... 5-8Using Logical Names....................................................................................................................... 5-10Using Algebraic Expressions........................................................................................................... 5-10Restrictions on SKILL Expressions................................................................................................. 5-12

Basic Parameters.................................................................................................................................... 5-14Stretch Lines .................................................................................................................................... 5-14Repeat Groups.................................................................................................................................. 5-14Conditional Groups.......................................................................................................................... 5-14

Stretch Lines .......................................................................................................................................... 5-16Drawing Stretch Lines ..................................................................................................................... 5-16Reference Dimension....................................................................................................................... 5-16Qualifying Stretch Lines .................................................................................................................. 5-18Reasons to Qualify a Stretch Line ................................................................................................... 5-18Stretching Repeated Objects ............................................................................................................ 5-18

Modifying Instance Parameters ............................................................................................................. 5-20Using Properties and Search ............................................................................................................ 5-20SKILL for Default Values ............................................................................................................... 5-20

Page 10: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Table of Contents Layout Editor

9/27/94 Cadence Design Systems, Inc. ix

Repeat Groups........................................................................................................................................ 5-22Direction for Repetition ................................................................................................................... 5-22Stepping Distance ............................................................................................................................ 5-22Number of Repetitions..................................................................................................................... 5-22Dependent Stretch Lines .................................................................................................................. 5-24Reserved Symbol Names ................................................................................................................. 5-24

Conditional Groups................................................................................................................................ 5-28Arithmetic and Logical Operators ................................................................................................... 5-28

Pcell User Interface................................................................................................................................ 5-30Defining Parameters......................................................................................................................... 5-30Modifying Parameter Definitions .................................................................................................... 5-30

Deleting Parameters ............................................................................................................................... 5-32Showing Parameters......................................................................................................................... 5-32Summarizing Parameters ................................................................................................................. 5-32

Accessing Technology File Values........................................................................................................ 5-34pcTechFile Function ........................................................................................................................ 5-34Global Technology Values .............................................................................................................. 5-34

Lab 5-1. Creating a CMOS Transistor Cell ........................................................................................... 5-35Lab 5-2. Modifying the Cell .................................................................................................................. 5-35Lab 5-3. Creating a Bipolar NPN Transistor (optional) ........................................................................ 5-35Lab 5-4. Accessing Technology File Values (optional) ........................................................................ 5-35

Module 6 Diva Tools

DIVA Tool Overview .............................................................................................................................. 6-4DIVA Tool Flow...................................................................................................................................... 6-6

Design Rule Checking ....................................................................................................................... 6-8Using DRC....................................................................................................................................... 6-10Using Hierarchical DRC.................................................................................................................. 6-14Analyzing DRC/Extractor Errors with Explain ............................................................................... 6-16Analyzing DRC/Extractor Errors with Search................................................................................. 6-18

Lab 6-1. Using Flat DRC and analyzing Errors..................................................................................... 6-19Lab 6-2. Using area DRC....................................................................................................................... 6-19Lab 6-3. Using Hierarchical DRC ......................................................................................................... 6-19

Extractor........................................................................................................................................... 6-22Extraction Methods.......................................................................................................................... 6-24Using the Extractor .......................................................................................................................... 6-26Using Probing .................................................................................................................................. 6-28Using Analog Probing...................................................................................................................... 6-30

Lab 6-4. Using basic extraction ............................................................................................................. 6-31Short Locator ................................................................................................................................... 6-34

Page 11: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor Table of Contents

x Cadence Design Systems, Inc. 9/27/94

Using Short Locator......................................................................................................................... 6-36Lab 6-5. Finding a contact short ............................................................................................................ 6-39

Layout Versus Schematic ................................................................................................................ 6-42Using LVS ....................................................................................................................................... 6-44Running LVS and Analyzing Results .............................................................................................. 6-48

Lab 6-6. .................................................................................................................................................. 6-51

Module 7 Plotting

Plotting Flow............................................................................................................................................ 7-4Technology File ................................................................................................................................. 7-4.cdsplotinit.......................................................................................................................................... 7-4Submit Plot Form............................................................................................................................... 7-4

Defining Plotters ...................................................................................................................................... 7-6Customizing Your Plotter Output ............................................................................................................ 7-8.cdsplotinit File ...................................................................................................................................... 7-10Submit Plot Form................................................................................................................................... 7-12

Display Type.................................................................................................................................... 7-12Plotter and Page Size ....................................................................................................................... 7-12Plot Size ........................................................................................................................................... 7-12Plotting Later ................................................................................................................................... 7-12

Plotter Options and Plot Job Queue ....................................................................................................... 7-14Display Options ............................................................................................................................... 7-14Plot Job Queue ................................................................................................................................. 7-14

Module 8 Stream Translation

What is Stream? ....................................................................................................................................... 8-4Stream Translation Flows ........................................................................................................................ 8-6

Stream In............................................................................................................................................ 8-6Templates........................................................................................................................................... 8-6Map Files ........................................................................................................................................... 8-6Technology File ................................................................................................................................. 8-6Stream Out ......................................................................................................................................... 8-8Text Dump ......................................................................................................................................... 8-8

Translation Steps.................................................................................................................................... 8-10Set Up............................................................................................................................................... 8-10Stream Execution ............................................................................................................................. 8-10Verifying .......................................................................................................................................... 8-10

Page 12: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Table of Contents Layout Editor

9/27/94 Cadence Design Systems, Inc. xi

Analyzing Data for Translation ............................................................................................................. 8-12Library.............................................................................................................................................. 8-12Technology Information .................................................................................................................. 8-12Design Hierarchy ............................................................................................................................. 8-12Data .................................................................................................................................................. 8-12

Retaining Reference Libraries ............................................................................................................... 8-14Specifying Unique Names ............................................................................................................... 8-14Using More Than Two Reference Libraries .................................................................................... 8-14Using the Retain Reference Library Option .................................................................................... 8-14

Retaining Reference Libraries ............................................................................................................... 8-16Mapping Layers ..................................................................................................................................... 8-18

Default for New Library .................................................................................................................. 8-18Default for Existing Library............................................................................................................. 8-18Layer Properties for Stream Out ...................................................................................................... 8-18

Mapping Design Hierarchy.................................................................................................................... 8-20Case Sensitivity................................................................................................................................ 8-20Cell Name Mapping......................................................................................................................... 8-20Array Expansion .............................................................................................................................. 8-20Hierarchy Depth Limit..................................................................................................................... 8-20Polygons and Boundaries................................................................................................................. 8-22Paths................................................................................................................................................. 8-22Text and Labels................................................................................................................................ 8-22Structure References and Instances ................................................................................................. 8-22Array References and Mosaics ........................................................................................................ 8-24Structures and Cellviews.................................................................................................................. 8-24Boxes and Rectangles ...................................................................................................................... 8-24Attributes and Properties.................................................................................................................. 8-24

Running Stream Translator .................................................................................................................... 8-26Saving and Loading Templates........................................................................................................ 8-26Run Directory................................................................................................................................... 8-26Input File.......................................................................................................................................... 8-26Top Cell Name................................................................................................................................. 8-28Output Format.................................................................................................................................. 8-28ASCII text Dump ............................................................................................................................. 8-28Technology File Creation ................................................................................................................ 8-28

Page 13: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor Table of Contents

xii Cadence Design Systems, Inc. 9/27/94

Stream Options....................................................................................................................................... 8-30Snap XY to Grid Resolution ............................................................................................................ 8-30Case Sensitivity................................................................................................................................ 8-30Error Message File........................................................................................................................... 8-30User Defined SKILL File................................................................................................................. 8-30User Defined Property Mapping File............................................................................................... 8-30

Lab 8-1. Running the Stream Out Translator......................................................................................... 8-31Lab 8-2. Running the Stream In Translator and Verifying Translation................................................. 8-31Lab 8-3. Converting Parameterized Cells Using Stream Format .......................................................... 8-31

Module 9 Customizing the Environment

The .cdsinit File ....................................................................................................................................... 9-4Human Interface Section.................................................................................................................... 9-4Setting the Search Path ...................................................................................................................... 9-4Bindkey Settings ................................................................................................................................ 9-4Resizing Windows ............................................................................................................................. 9-4

Cadence Initialization File – .cdsinit ....................................................................................................... 9-6Site .cdsinit (<install_dir>/local/.cdsinit) ......................................................................................... 9-6Project .cdsinit (./.cdsinit) .................................................................................................................. 9-6User .cdsinit (~/.cdsinit)..................................................................................................................... 9-6

Sample Files and Their Locations............................................................................................................ 9-8cdsuser Directory ............................................................................................................................... 9-8samples/local Directory ..................................................................................................................... 9-8samples/techfile Directory ................................................................................................................. 9-8Saving the Environment................................................................................................................... 9-10

9-1.Editing the .cdsinit File.................................................................................................................... 9-119-2.Saving the Environment .................................................................................................................. 9-11Creating Technology Files..................................................................................................................... 9-14

Write a SKILL file ........................................................................................................................... 9-14Using a Physical Translator ............................................................................................................. 9-14Using a Forward Translator ............................................................................................................. 9-14

Default Technology Files....................................................................................................................... 9-16techfile.def........................................................................................................................................ 9-16default.tf ........................................................................................................................................... 9-16

Setting Layout Editor Global Options ................................................................................................... 9-20

Page 14: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Table of Contents Layout Editor

9/27/94 Cadence Design Systems, Inc. xiii

View Properties...................................................................................................................................... 9-22Display Options ............................................................................................................................... 9-22Library Browser Properties.............................................................................................................. 9-22Technology File and View Properties.............................................................................................. 9-22View vs. Cellview Properties........................................................................................................... 9-22View Property Set by ViewType ..................................................................................................... 9-22

Appendix A Structure Compiler

Structure Compiler.................................................................................................................................. A-4Features of Structure Compiler............................................................................................................... A-6Flow for Complex Array Structure Compiler......................................................................................... A-8Examples of Complex Arrays............................................................................................................... A-10Example of Complex Array Structure .................................................................................................. A-14Preparing Layout Data for Structure Compiler..................................................................................... A-16Creating Personality Files ..................................................................................................................... A-18Example Personality File ...................................................................................................................... A-20Creating Templates ............................................................................................................................... A-22

Template Example–Plane Relationship .......................................................................................... A-24Plane Properties for Homogeneous Array ...................................................................................... A-26Plane Properties–Orientation Pattern.............................................................................................. A-28Plane Properties for Heterogeneous Array ..................................................................................... A-32

Running Structure Compiler ................................................................................................................. A-36Lab A-1. Creating a Template and Running the Structure Compiler ................................................... A-39

Appendix B Library Design

Overview..................................................................................................................................................B-4Defining Pins .........................................................................................................................................B-14Creating a Library ..................................................................................................................................B-24Guide Lines for Standard Cells..............................................................................................................B-26Standard Cell Abstracts for Two-Layer Routing ...................................................................................B-28Standard Cell Abstract for Three-Layer Routing...................................................................................B-30Guide Lines for Blocks ..........................................................................................................................B-50Flows for Creating Abstracts .................................................................................................................B-54Creating Abstracts for a Set of Cells......................................................................................................B-56Creating a Library Cell ..........................................................................................................................B-58Placing Cells in the Library Cell............................................................................................................B-60Adding Pins from Labels .......................................................................................................................B-62Setting Pin Properties.............................................................................................................................B-68Setting the Cell Type Property...............................................................................................................B-70Creating Abstracts..................................................................................................................................B-72

Page 15: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor Table of Contents

xiv Cadence Design Systems, Inc. 9/27/94

Checking the Library .............................................................................................................................B-74Creating an Abstract for a Single Cell ...................................................................................................B-78Adding Labels........................................................................................................................................B-80Creating Pins Interactively.....................................................................................................................B-82Adding Pin Properties ............................................................................................................................B-84Modifying Common Pin Properties .......................................................................................................B-86Setting Pin Connections.........................................................................................................................B-88Adding a Boundary ................................................................................................................................B-90Creating Obstructions on Abstracts .......................................................................................................B-92Lab B-1. Creating Abstracts for a set of Cells .......................................................................................B-93Lab B-2. Creating an Abstract for a Single Cell. ...................................................................................B-93Module Summary...................................................................................................................................B-96

Appendix C Database Translation

Edge Translation Programs......................................................................................................................C-4translate ..............................................................................................................................................C-4pdvtodiva............................................................................................................................................C-4ruletrans..............................................................................................................................................C-4skilltrans.............................................................................................................................................C-4menutrans...........................................................................................................................................C-4

Edge Translation Flow.............................................................................................................................C-6Prompts by Translate .............................................................................................................................C-12Warnings by Translate ...........................................................................................................................C-14Connectivity Differences .......................................................................................................................C-16Items to Watch Out For..........................................................................................................................C-18C-1. Edge Database Translation ............................................................................................................C-21C-2. Rules File Translation ....................................................................................................................C-21Lab Overview.........................................................................................................................................C-22Symbad Translation Programs...............................................................................................................C-24

symb2opus .......................................................................................................................................C-24tcTranslate........................................................................................................................................C-24spl2skill ............................................................................................................................................C-24

Symbad Conversion Flow......................................................................................................................C-26Technology File Conversion – tcTranslate ............................................................................................C-30Symbad Technology File .......................................................................................................................C-32Prompts by symb2opus ..........................................................................................................................C-34C-3. Converting Technology Files.........................................................................................................C-37C-4. Converting a Symbad Database .....................................................................................................C-37

Page 16: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Table of Contents Layout Editor

9/27/94 Cadence Design Systems, Inc. xv

Appendix D Microwave Design

Transmission Line Command................................................................................................................. D-4Bend Command ...................................................................................................................................... D-6Creating Tapers Command ..................................................................................................................... D-8Lab D-1. Creating Transmission Lines................................................................................................... D-9Microwave Extractor ............................................................................................................................ D-12Lab D-2. Run the Microwave Extractor ............................................................................................... D-13

Appendix E Customizing Window Size

Customizing Windows.............................................................................................................................E-4.Xdefaults ...........................................................................................................................................E-4

Customizing Windows Using SKILL......................................................................................................E-6Resizing the LSW Using SKILL .......................................................................................................E-6Resizing Windows by Window Number ...........................................................................................E-6Resizing the Library Browser ............................................................................................................E-8Finding the Maximum Screen Coordinates .......................................................................................E-8Setting Form Positions.....................................................................................................................E-10Using View Properties to Control Window Sizes............................................................................E-12

E-1. Using SKILL to Customize Window Sizes ...................................................................................E-13

Appendix F Openbook

Getting Help.............................................................................................................................................F-4OpenBook ..........................................................................................................................................F-6

Software Hierarchy ..................................................................................................................................F-8Lab F-1. Using OpenBook.......................................................................................................................F-9

Page 17: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Introduction 1-1

Introduction

Objectives

■ Understand the Layout Editor environment

■ Learn how to use the Layout Editor

■ Learn how to run interactive DRC and LVS

■ Learn how to create Parameterized Cells

■ Learn how to plot designs

■ Learn how to translate designs to Stream format

■ Learn how to customize the layout environment

9/27/94 Cadence Design Systems, Inc. 1-2

Page 18: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Introduction 1-3

Where to Go for More Information?

Reference Manual Training Course

Virtuoso Layout Editor (this course)

Virtuoso Compactor Layout Accelerator

DIVA Interactive Verification DIVA

Design Framework II Cadence Administration

Design Data Translators Cadence Administration

Module Maker User Guide Module Maker

System Admin User Guide Cadence Administration

Technology File Reference Cadence Administration

Preview Cell Ensemble Preview

Note: Also use online help for the Layout Editor and Openbook.

9/27/94 Cadence Design Systems, Inc. 1-4

Page 19: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Introduction 1-5

Detailed Cell Design Flow

Create SymbolsDE, Synthesizer

Layout CellsLayout, Compactor, LAS

Verify LayoutiDRC, iLVS

Create AbstractAbstract Editor

Cell translationStream

Back AnnotationiLPE, Dracula

Create Param Cells/DevicesParam Cell Compiler

Create Complex ArraysStructure Compiler

Create PlotsPlotting

SimulationSpice, SPECTRE

Create Technology FileSKILL

9/27/94 Cadence Design Systems, Inc. 1-6

Cell Design Flow

Most designers use Layout Editor to create cells. Layout Editor is also used to create blocks,arrays, and full custom integrated circuits. The flow you can use to create a cell design isshown above.

Create Technology File

Technology file creation is typically a system administrator task, but this course includes someinformation on how to use and modify the technology file. This information is in Module 2 -Design Framework, and Module 9 - Customizing. Details of technology file development arein the Cadence Administration course.

Layout Cells

Cells can be created using Layout Editor, with or without the Compactor. Creating symbolicdesigns is covered in the Layout Accelerators course. The basic Layout Editor is discussed inModule 4 of this course.

Parameterized Cells/Devices

Parameterized cells are a way of increasing layout productivity, and are also used to create userdefined symbolic devices. Creation of parameterized cells is discussed in Module 5.

Page 20: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Introduction 1-7

Detailed Cell Design Flow

Create SymbolsDE, Synthesizer

Layout CellsLayout, Compactor, LAS

Verify LayoutiDRC, iLVS

Create AbstractAbstract Editor

Cell translationStream

Back AnnotationiLPE, Dracula

Create Param Cells/DevicesParam Cell Compiler

Create Complex ArraysStructure Compiler

Create PlotsPlotting

SimulationSpice, SPECTRE

Create Technology FileSKILL

9/27/94 Cadence Design Systems, Inc. 1-8

Verify Layout

Interactive verification, using Diva, is covered in Module 6. Note that rules file developmentis covered in the Diva course. This course assumes that rules have been developed and arecomplete in the technology file.

BackAnnotation

The extraction of physical parameters from the layout, to be used for resimulation, is typicallycalled backannotation. This step is accomplished by Diva Layout Parameter Extraction(iLPE).

Create Complex Arrays

You can create complex arrays for PLAs and decoders using the Structure Compiler. Cellscreated using Layout Editor, and Parameterized Cells, can be used to create the complex array.

Plotting

You can output your designs to hardcopy using plotting software, set up for your specificplotter. Module 7 discusses types of plotters, and goes over a generic plotting flow using aLaserwriter Postscript plotter. Details of plotter set-up are covered in the CadenceAdministration course.

Page 21: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Introduction 1-9

Detailed Cell Design Flow

Create SymbolsDE, Synthesizer

Layout CellsLayout, Compactor, LAS

Verify LayoutiDRC, iLVS

Create AbstractAbstract Editor

Cell translationStream

Back AnnotationiLPE, Dracula

Create Param Cells/DevicesParam Cell Compiler

Create Complex ArraysStructure Compiler

Create PlotsPlotting

SimulationSpice, SPECTRE

Create Technology FileSKILL

9/27/94 Cadence Design Systems, Inc. 1-10

Stream Translation

You use the stream translator when you have cells which were designed outside of theCadence Framework. If the cells are complete and correct, you use the Abstract Editor tocreate abstract views. Otherwise, you edit and verify them following the usual flow.

Abstract Generation

You create abstract views of your completed layout cells for use with any of the Cadencerouters. Details are discussed in Appendix B.

Page 22: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Introduction 1-11

Course Outline and Schedule

Day 19:00 – 9:30 1: Introduction

9:30 –11:30 2: Design Framework

11:30-12:30 Lunch12:30-2:00 3: Layout Environment

2:00-5:00 4: Creating Layout

9/27/94 Cadence Design Systems, Inc. 1-12

Page 23: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Introduction 1-13

Course Outline and Schedule

Day 29:00 – 12:00 4: Creating Layout (cont’d)

12:00 - 1:00 Lunch

1:00 - 3:30 5: Parameterized Cells

3:30 - 5:00 6: Interactive Verification

Day 39:00 – 10:00 6: Interactive Verification (cont’d)

10:00-11:30 7: Plotting

11:30 - 12:30 Lunch

12:30 - 2:30 8: Stream Translation

2:30-5:00 9: User Customization

5:00 Course Evaluation

9/27/94 Cadence Design Systems, Inc. 1-14

Page 24: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-1

Design Framework II

Objectives

■ Learn how to use the X Window System

■ Learn how to start the Cadence software

■ Learn how to use forms and menus

■ Learn about the Cadence library structure

■ Learn how to use the Command Interpreter Window

■ Learn how to open libraries and cells

■ Learn how to use the online help

9/27/94 Cadence Design Systems, Inc. 2-2

Terms and Definitions

Library A collection of cells that corresponds to a specific process technology.

Cell A design object that forms an individual building block of a chip orsystem.

View A defined representation of a cell in the technology file with a registeredviewType property.

attachFiles A directory within the library structure that contains binary files attachedto the library, such as the binary technology file.

Search path A pointer to where the current working directory and working librariesreside.

CIW The Command Interpreter Window, which is the initial control windowthat appears when you start Design Framework II.

Current window The window that receives action from the CIW. The current windowmight or might not be the active window in the X Window System.

Attributes A predefined set of name–value pairs that describe a data object.

Reference library A collection of defined cells used by multiple libraries.

Page 25: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-3

The X Window System

After you type xinit or openwin, your screen displays the X Window Systemenvironment.

Console window

Parent window of allother xterm windows

cds2010-/Cadence/user1> Root MenuNew WindowBig WindowclockLockShuffle UpShuffle DownRefreshRestart

Pop-up menu

Displays commonX Window Systemcommands

9/27/94 Cadence Design Systems, Inc. 2-4

The X Window System

Starting the X Window System

Before you can start the Cadence software, you need to start the X Window System software.There are different versions of the X server. Do one of the following:

■ For the X11R4 and X11R5 server, type xinit in a UNIX window.

■ For the OpenWindows 3.0 server, type openwin -noauth in a UNIX window.

Whether you are using an X11 or OpenWindows server does not change the appearance of theX Window System, as long as your are running the same window manager. Cadence suppliesthe Motif window manager with the software. The examples in this book use the Motifwindow manager. You can also use the Open Look window manager, although your resultsmight differ from the results in this book.

The X Window System Environment

The default X Window System environment is customizable. The default environmentincludes a console window that displays system messages and a pop-up menu that lets youselect options to start a new window, lock your screen, and refresh your screen. In a latermodule, you will learn how to customize the X Window System environment.

Page 26: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-5

Opening a New Xterm Window

1.Select New Window fromthe pop-up menu to opena new window.

2.Move the cursor into the new xtermwindow to make the window active.

Root MenuNew WindowBig WindowclockLockShuffle UpShuffle DownRefreshRestart

Text entry

cds2010-/4.3.2>

pointer

9/27/94 Cadence Design Systems, Inc. 2-6

Opening a New Xterm Window

You can open an xterm window anywhere on the screen. When you press the middle mousebutton, a menu appears from which you can choose New Window or other commands.

Making a Window Active

A window is active when the commands you type appear in that window. Only one xtermwindow can be active at a time.

To make a window active, move the cursor into the xterm window.

■ The xterm window border changes color to show that this is the active window.

■ The cursor changes to the text entry pointer (as in the illustration) to show that you cantype in this window.

■ A highlighted rectangle appears to the right of the xterm window prompt, showingwhere you can type text.

Page 27: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-7

Using the X Window System

Press and drag anedge to stretch it.

Press and drag acorner to stretch it.

Press and drag on the title bar to move thewindow.

Use the left mouse button to resize windows.

cds2010-/4.3.2>ls

cds2010-/4.3.2>

9/27/94 Cadence Design Systems, Inc. 2-8

Using the X Window System

You can move, stretch, expand, and shrink xterm windows. Layout Editor windows are xtermwindows too, and you can move and stretch them like any other window.

Moving and Stretching Xterm Windows

You can move and stretch xterm windows by clicking on part of the window border.

■ Move windows by pressing and holding the left mouse button on the top title bar.

■ Stretch an edge by pressing and holding the left mouse button on an edge.

■ Stretch a corner by pressing and holding the left mouse button on a corner.

As you press the button and move the mouse, an outline of the window moves or stretches.

To stop any of these commands, release the mouse button.

Page 28: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-9

Using the X Window System

Click on thisbox to enlargethe windowand fill thescreen.

Click on this box tochange the windowto an icon.

Press and hold on this barto display a menu.

Click on any edgeof a window tobring it to the front.

cds2010-/4.3.2>

cds2010-/4.3.2>ls

9/27/94 Cadence Design Systems, Inc. 2-10

Expanding and Shrinking Xterm Windows

You can expand an xterm window to fill the screen or change the window to a small icon byclicking on the symbols in the right corner of the window banner.

■ Expand a window by clicking on the large square.

■ Return a window to its original size by clicking on the large square again.

■ Change a window to an icon by clicking on the small square.

■ Reopen a window from an icon by double clicking on the icon.

Moving an Xterm Window to the Front

You can move any xterm window to the front of other windows by clicking on an edge of thewindow you want to bring to the front.

Closing an Xterm Window

When you are finished using an xterm window, you can close it. Don’t close the window ifyou’re still running a program in it. This cancels the program, and you might lose your data.

xterm window icon

Page 29: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-11

Accessing Design Framework

Login:Password:

host>Console

1

X/Motif

CIW

Design tool

host> layoutPlus &console

2

Open Design Manager

mouse L: R:M:>

Tools Design Window Create Edit Verify Misc

LibA mycell layout 1.02

Quit . . .Library . . .Design . . .

Text Editor. . .Flow Browser

4

user1

3

UNIX

User types

User typesResult

User selects

Result

Result

9/27/94 Cadence Design Systems, Inc. 2-12

Accessing Design FrameworkTo enter the Design Framework II environment you will traverse each of the layers of supportsoftware.

Layer 1: UNIX

You log in to the system at the UNIX level. The system prompts you for a user name andpassword. From this environment, you can start the X Window System.

Layer 2: X Windows

Within the X window, you can use Motif Window Manager capabilities to open additionalwindows or start utilities, such as a clock or a calculator. From this environment, you can startthe Cadence software.

Layer 3: Cadence Software

The .cdsinit file is an optional ASCII file that lists the Cadence SKILL commands used to setyour Cadence environment. Your system administrator might have created a .cdsinit file foryou.

The Command Interpreter Window (CIW) gives you direct access to the Design FrameworkII environment. The CIW serves as a central command console for all framework operations.

Layer 4: Design Applications

From the CIW, you can start tool windows for any design activity: browsing through libraries,editing cells, viewing text files, listing properties, writing SKILL routines, and so forth.

Note: AccDesFram

Page 30: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-13

Labs in This SectionLab 2-1. X Window System

9/27/94 Cadence Design Systems, Inc. 2-14

Page 31: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-15

Command Interpreter Window (CIW)

Prompt line

Window

Mouse button cues

Output field:Running history of commands number

Input field:SKILL functions or expressions

Log: /usr1/mnt/user1/CDS.log

Adding ‘.’ to your library path.Adding /4.3.2/etc/cdslib to your library path.

Adding /4.3.2/etc/cdslib/sheets to your library path.

Adding /4.3.2/samples/cdslib to your library path.

Welcome to Layout Training class...user1

Log file Menubanner

9/27/94 Cadence Design Systems, Inc. 2-16

Command Interpreter Window (CIW)

Initial Window

When you start layoutPlus, the first tool window displayed is the Command InterpreterWindow (CIW). It is designated as window 1. (Windows are numbered in the upper right handcorner.) Each window is numbered in the order in which it is opened. The CIW can be moved,sized, minimized, and maximized the same way as all other windows.

Menu Banner

You can display command menus from the menu banner running across the top of the CIW.For example, you’ll often use the Open menu to access a library or to edit a specific schematicor layout design within a library.

Output Field

The output field displays a running history of the commands you’ve executed and their results.It also displays the results of evaluating a SKILL expression. All this information is recordedin a log file for later replay. The log file path appears on the CIW title bar.

Page 32: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-17

Command Interpreter Window (CIW) (continued)

Prompt line

Window

Mouse button cues

Output field:Running history of commands number

Input field:SKILL functions or expressions

Log: /usr/mnt/user1/CDS.log

Adding ‘.’ to your library path.Adding /4.3.2/etc/cdslib to your library path.

Adding /4.3.2/etc/cdslib/sheets to your library path.

Adding /4.3.2/samples/cdslib to your library path.

Welcome to Layout Training class...user1

Log file Menubanner

9/27/94 Cadence Design Systems, Inc. 2-18

Command Interpreter Window (CIW) (continued)

Input Field

The input field lets you enter and edit SKILL expressions, commands, and user-definedscripts. By using window numbers, you can direct SKILL commands to other tool windows.

Prompt Line and Mouse Button Cues

The prompt line at the bottom of the CIW reminds you what you need to do next to continuea command. The mouse button cues (L:, M:, R:) display what you can do with each mousebutton as you execute commands.

Page 33: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-19

Entering SKILL FunctionsYou can enter SKILL commands directly in the CIW.

This SKILL procedure creates a rectangle inthe current cellview and redraws the window.

cell=dbOpenCellView(“LE” “test” “layout”)

db:1234567

dbCreateRect( cell “poly1” list(0:0 10:10) )

db:7654321

geRefreshCellView( cell )

tt

Youenter

Entercommandshere.

Log: /usr/mnt/user1/CDS.log

9/27/94 Cadence Design Systems, Inc. 2-20

Entering SKILL Functions

Another way the CIW acts as a command console is when you direct SKILL functions to awindow. You can create a rectangle in a design window by entering a SKILL procedure:

dbCreateRect( cellID layer corner-point data )

This SKILL procedure produces the same effect as manually drawing the rectangle, but it hasthe advantage of programmability. You can place a series of regularly-spaced objects, such ascontacts or vias, through the use of a single iterative SKILL procedure.

Page 34: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-21

Multiple Design Windows

Framework Tools2

Create

Open Design Manager

mouse L: R:M:> Enter next corner:

CIW

Framework Tools Create

Layout3

Currentwindow

Schematic

Inactivewindow

mouse L: R:M:> Enter next corner:

mouse L: R:M:> Enter next corner:

Framework Tools

Schematic2

Create

mouse L: R:M:> Enter next corner:

Activewindow

9/27/94 Cadence Design Systems, Inc. 2-22

Multiple Design WindowsCurrent Window

Typically, you have more than one design window open on your screen. But only one of thewindows is the current window at any given time. The current window is designated by abanner with a different color.

A design window becomes current when you click in the window or move your cursor intothe window.

Design Prompts

The CIW keeps track of the current window. Thus, the CIW and design windows prompt youwhile you perform your design tasks. For example, as you drag out a rectangular piece oflayout you’ll be prompted to “Enter the next corner.”

Directed Commands

Another way the CIW acts as a command console is when you direct SKILL functions to atool window. For example, you can place a rectangular piece of layout in a design window byentering a SKILL procedure:

leHiCreateRect ( window #)

This SKILL command functions exactly the same as manually drawing the rectangle, but ithas the advantage of programmability. You can easily place a whole series of regularly-spacedobjects, such as contacts or vias, through the use of SKILL commands.

Page 35: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-23

Labs in This SectionLab 2-2. Command Interpreter Window

9/27/94 Cadence Design Systems, Inc. 2-24

Page 36: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-25

Editing a Form

The Return key functions the same as OK.The Escape key functions the same as Cancel.Cyclic Fields function the same as Radio Buttons.The Tab key moves the cursor to the next text entry box.

Commandbuttons

Togglebuttons

Radiobuttons

Cyclicfields

Text Entrybox

Display Options

9/27/94 Cadence Design Systems, Inc. 2-26

Editing a FormYou’ll often see a form pop up when you use a command. By filling in the form, you provideinformation needed to complete the command.

All menu commands followed by an ellipsis (...) summon a corresponding form. A typicalexample is the Open ➝ Design... command on the CIW.

You can move, resize, or lower forms like any other window. However, you cannot minimize,maximize, or restore forms due to their temporary nature. You close forms by clicking OK orCancel.

Filling in a FormYou can enter information into forms several different ways. Some items are entered as textstrings, such as library paths, cell names, custom colors, and font specifications. Other items,such as layer numbers and grid scales, are numerical. In addition to text fields, forms havetoggle buttons, radio buttons, and cyclic fields that you use to specify options.

Standard Forms and Options Forms

There are two types of forms:

■ Standard forms let you change command settings before you execute the command.

■ Options forms let you change command settings while you are running a command. Youcan choose to prevent options forms from displaying.

Page 37: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-27

Standard Forms

OK Cancel Defaults Apply Help

Executes thecommand andremoves theform.

Displaysdefault valuesfor options onthe form.

Removes the formwithout executingthe command.

Executes thecommand andleaves the form up.

Open Library

9/27/94 Cadence Design Systems, Inc. 2-28

Standard FormsIf you tried using the Open ➝ Library command discussed previously, you saw a formappear after you selected the command.

Using a Standard FormThe figure shows how the buttons on a standard form work.

■ Clicking OK executes the command and closes the form.

■ Pressing Return while the cursor is in a form is the same as clicking OK.

■ Clicking Cancel closes the form without executing the command.

■ Clicking Defaults sets the value for all options to the defaults values.

■ Clicking Help displays the online reference for the command.

Entering Data in a Standard FormMost forms contain text fields where you enter data.

■ Pressing Tab moves the cursor to the next field.

■ Double clicking on a word in a field highlights the word.

■ Triple clicking on a field highlights the entire field.

Page 38: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-29

Options Forms

Removes theform and letsyou go onwith the task.

Displays defaultvalues foroptions in theform.

Providesinformation aboutthe command.

Removes theform and stopsthe command.

Hide Cancel Defaults Help

9/27/94 Cadence Design Systems, Inc. 2-30

Options Forms

Some commands have a form called an “options form.” Options forms let you change valueswhile you are using a command. The values you select or enter take effect immediately.

The figure shows an options form for the Create ➝ Path command. You can leave the formon the screen while you draw a path and use it to change settings as you draw.

The buttons on an options form work as shown.

■ Clicking Hide moves the form to the back of the window display and lets you continuewith your task.

■ Clicking Cancel closes the form and stops the command.

■ Clicking Defaults sets the value for all options to the defaults values.

■ Clicking Help displays the online reference for the command.

Hiding Forms

Options forms appear automatically, whenever appropriate. You can make an options formappear or disappear while you use a command.

■ Click on the Hide button and the options form disappears.

■ To display the form, double click the middle mouse button.

Page 39: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-31

Labs in This SectionLab 2-3. Forms

9/27/94 Cadence Design Systems, Inc. 2-32

Page 40: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-33

Library Structure Overview

Library

Cell

View

Cellview2.0

1.0

0.0

3.0

Versions

Properties

xSnapSpacingDBUPerUUuserUnitsowner........

ownerworkingGroupownerAccess

Properties

..........

viewType

Properties

Maintain an attached technology file that contains layers, design rules, anddisplay characteristics.

9/27/94 Cadence Design Systems, Inc. 2-34

Library Structure OverviewLibrary

A library is a collection of cells that all reference the same technology file. The library also contains allthe different views associated with each of the cells. Component Description Format (CDF) propertiescan be assigned to a library of cells.

Technology FileAttached to every library is a technology file. This file is a large data file that specifies, in one centrallocation, all of the technology-dependent parameters associated with that particular library. Mask layernames and colors, design rules, symbolic device definitions, and parasitic values are some of thetechnology-specific parameters common to all cells in a library.

CellsA cell is a low level building block used to create a chip or logical system. A cell can be assigned CDFproperties individually, or it can inherit CDF properties from the library.

ViewsA view is a particular representation of a cell. Each cell can have a layout view, a schematic view, asymbolic view, and so forth.

CellviewsA cellview is a combination of a cell and a view. It does not reside in a library. A cellview designatesboth the cell and view, such as inverter layout.

Page 41: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-35

Library StructureCaution

Always rely on the Design Data Management System (DDMS) for physical relocation or modificationof design files. Never try to move or alter a design file using UNIX commands.

DDMS keeps track of the correspondence between the logical cell names andtheir physical paths within the UNIX file system.

Library.lib data

Physical path

path/lib/cell_1/layout_3.0

DDMS{ cell_1 layout 3.0 }

Logical name

9/27/94 Cadence Design Systems, Inc. 2-36

Library Structure

Directory StructureA library contains one or more cells. In addition, a library has various support files: atechnology file; other attached files, such as foreign database files; a data management file;and an audit trail file. A UNIX directory structure is necessary to keep all of these filestogether.

Library PathThe library path is the UNIX path for the parent directory for the library. For example:

~user1/Library_Path

Library NameBecause there can be more then one library in a library path, you need to use a library name toaccess a specific library. There might be more than one library in the same library path.

Catalog FileA binary catalog file, identified by a .lib suffix, resides with the library. The catalog file mapslogical cell names into physical access paths and controls the access by the owner, workinggroups, and the public. DDMS relies on the catalog file data to keep track of cells.

Caution

DDMS manages many low level details while it keeps track of the correspondence between logical cell names andphysical paths. You should never interfere with normal DDMS operation by moving, renaming, deleting, ormodifying design cells using operating system commands.

Page 42: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-37

Cells

Features of a cell:

• Logical name

• Multiple views

• Attached properties

A cell called “Inverter” withschematic, layout and symbolviews

9/27/94 Cadence Design Systems, Inc. 2-38

Cells

The cell is the design object that forms the building block of the system. Cells come in a widerange of sizes. Typical individual cells are inverters and buffers. Larger composite cells rangefrom decoders, registers, ALUs, and I/O pads, to ROMs, RAMs, and complete chips.

Logical Name

You access a cell by its logical name. This name is independent of the physical location of thecell. For performance tuning reasons, cells can be relocated to different UNIX paths ornetwork nodes without changing the way you access them.

Multiple Views

Each cell has one or more views. An inverter, for example, typically has a symbolic view, aschematic view, a layout view, a simulation view, and so forth.

Cell Attributes and Properties

A cell has a number of inherent attributes. These include its name, owner, creation time, andaccess privileges. The owner can attach additional property objects, such as powerconsumption and maximum frequency.

Page 43: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-39

Views

Library Cell View Version

mylib mycell layout 1.0 schematic 1.0 symbol 1.0

Features of a view:

■ View and type

■ Attached properties

■ Cellview properties override view properties

9/27/94 Cadence Design Systems, Inc. 2-40

ViewsA view is a representation of a cell. Most design tools manipulate one specific type of view.For example, the typical view for layout tools is maskLayout.

View TypeEach view has a specific name and a generic viewType. For example, a decoder cell mightincorporate two views named symbolic and layout. Both these views belong to the same basicviewType, maskLayout. Other default viewTypes include schematic, symbol, layout,symbolic, logic model, behavioral, and PCB. The viewType controls the applicationsavailable for that view. For example, schematic operations are not available to views with theviewType of maskLayout.

Multiple VersionsEach view of a cell, such as an inverter layout, has one or more numbered versions. Thissupports iterative designs. Earlier versions can be kept for backup purposes, regression testing,and for alpha or beta releases of a design.

View Attributes and PropertiesEach view has inherent attributes, such as view type, creation time, owner, and accessprivileges. Each view object has attached property objects that are specific to the view, suchas grid units (inches or microns), scale (database units per grid unit), and display of axes (onor off). Thus a schematic view has different properties from a layout view.

Page 44: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-41

Cellviews

Cellviews of “Inverter” cell

Features of a cellview:

• Multiple versions

• Attached properties

9/27/94 Cadence Design Systems, Inc. 2-42

Cellviews

Cellviews are editable design objects in Design Framework II. Only the combination of a celland view (cellview) can be opened for graphic editing. A cell by itself or a view by itselfcannot be graphically edited.

Cellview Attributes and Properties

A cellview contains the attributes inherent in both the cell and view. Properties attached to thecell or view are also attached to the cellview. When there is a conflict, cell properties overrideview properties.

Page 45: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-43

Versions

Versions of“Inverter”schematic

1.0 1.9 2.0 3.0. . .Each versioncorresponds toa design file.

Schematic Latestcreationtime

check-intime

•••

Time

0.0

Primary index Secondary index

9/27/94 Cadence Design Systems, Inc. 2-44

VersionsCell designs evolve throughout the design cycle. Each time a particular view of a cell isrevised, a new version is created. Versions are numbered so you can differentiate betweenthem. Usually the most recent version has the highest number.

Version NumbersTo keep track of all the different cell versions, a two-level numbering scheme is used: m.n.The primary index m is advanced by toggling Advance Primary Index on the VersionCheckin form. The secondary index n is advanced automatically whenever a revised cell ischecked back into its library.

Initial VersionThe initial version number given to a newly created cell is 0.0. When a cell is subsequentlyedited and checked in for the first time, its version number becomes 0.1 (or 1.0 if youspecifically advance the primary index).

Default VersionWhen you access a cell for editing without specifying a version number, the system uses eitherthe current checked out version or the last checked in version.

Design FileEach numbered version corresponds to a design file. For example, a cell called Inverter withthree different views, each having an initial version of 1.0 and a current version of 1.5, requiressix files for its description. Files are managed automatically by DDMS.

Page 46: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-45

The Library Browser and Search Path

■ Displays libraries found in the specified search path

■ Lets you expand cells and cellviews in the libraries

■ Lets you edit and view cells in the libraries

Library Browser

Set Library Search Path

9/27/94 Cadence Design Systems, Inc. 2-46

The Library Browser

The Library Browser provides a picture of the contents of a library, such as cell names, viewnames, version numbers, and properties. The library search path must be set before you canuse the Library browser.

Accessing the Browser

To access the Library Browser from the CIW, select Design Manager ➝ Library Browser.The Library Browser displays all library names found in the search path.

Logical Objects

The items displayed in the Library Browser (libraries, cells, views, versions) are all logicalobjects. The Library Browser displays the logical relationship between objects. It’s importantto understand that you’re seeing logical, not physical, data. The browser does not displayphysical directory structure, but logical relationships between libraries, cells, views, andversions.

The logical objects displayed in the browser are active in the sense that you can click on anobject and cause an action. Clicking the left mouse button displays the objects contained in thecurrent object. Clicking the middle mouse button displays a menu.

Page 47: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-47

Expand Cells

Expand all cells Expand cells withview name layout

Library Browser Library Browser

View options

Library Browser

9/27/94 Cadence Design Systems, Inc. 2-48

Expand CellsView Level

The banner in the Library Browser indicates the levels you are viewing. When you expand tothe library level, the window display reads Level:lib. You can expand to the cellview levelusing cells or views. The window display will read either Level: lib cell cellview or Level: libview cellview.

Expand by CellThere are two ways to expand cells of a library.

■ Click the left mouse button directly on top of the library name.

■ Press and hold the middle button on the library name. A pop-up menu appears. SelectExpand Cells.

Expand by ViewMembers of a design team might be grouped by function: schematic entry, simulation, masklayout, and so forth. Expanding by views displays only the cells of interest to a particular groupon the design team.

To expand library views, follow these steps:

■ Press the middle button on library name. A pop-up menu appears. Select Expand Views.The library views are displayed.

■ Click the left mouse button on the view name. The cellviews for this view type aredisplayed.

Page 48: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-49

Expand Versions

Versions

Library Browser

9/27/94 Cadence Design Systems, Inc. 2-50

Expand Versions

If you do not specify a version, the last checked out version or the last checked in version isshown by default. To specify an earlier version, press and hold the middle mouse button onthe view name and select Expand Versions. The browser expands to a fourth column,displaying the existing versions. Press and hold the middle mouse button on the versionnumber and select Edit or Read.

Version 0.0

Notice that version 0.0 always appears in the expanded display. This version numbercorresponds to the initial cell created prior to the check-out or check-in process.

The only browser you’ve encountered so far is the Library Browser. This browser gives you avisual glimpse into a library, displaying the cells, views, and versions in various formats.Often you might want a closer look at the available versions of a cell. This is especially truewhen design activity is ongoing, with an entire tree of temporary fixes, redesigns, and otherversions. The Version Browser displays the entire tree in easy-to-view graphic format. Toopen the Version Browser, press and hold the middle mouse button on the view name andselect Version Browser.

Page 49: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-51

Opening a Design

■ Method 1: Browser Method

■ Method 2: Form Method

Both methods open cellviews for edit or read access

Method 2Method 1Library Browser Open Design

9/27/94 Cadence Design Systems, Inc. 2-52

Opening a DesignTo access an individual cell for editing, you only need to specify its logical name. Physicaldetails, such as the number of design files and their current location within the UNIX filesystem, are handled automatically by the DDMS.

Let’s say you want to open the version 1.1 layout view of the Inverter cell for editing. To dothis, you need to specify a three-part logical name:

{ Inverter layout 1.1 }

This uniquely identifies the name, view, and version of the library cell you want to edit. (If noversion is specified, the most recent version is opened.)

There are two ways to specify the logical name: the browser method or the form method.

Method 1: Browser Method

Browse through the cell library and locate the cellview you want. With the middle mousebutton, press and hold on the cellview name, then select Edit or Read. This opens a windowwith the cellview you want displayed in edit or read mode.

Method 2: Form Method

From the CIW, select Open ➝ Design. The Open Design form lists the previously openedlibrary. Type in the cellname, viewname, and version number, then click OK to close the form.A design window opens, displaying version 1.1 of the layout of the Inverter cell.

Page 50: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-53

Design Window

9/27/94 Cadence Design Systems, Inc. 2-54

Design Window

When you select Edit from the Library Browser, or click OK in the Open Design form, thedesign window opens. Notice that the window banner specifies the library name, cell name,view name, and version number. The window banner also specifies whether the cell is openfor read or editing purposes.

Page 51: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-55

Data Management of Cellviews

Virtual memory(Design window)

Versions checked in

Read/edit

Save

Checkout

Version being edited

1.0

1.1

2.0

??

1.1

1.1

Checkin

MEMORY

DISK First edit(implicit checkout)

1.1%

co@<user>

9/27/94 Cadence Design Systems, Inc. 2-56

Data Management of CellviewsAs design objects evolve over time, the Cadence software keeps track of all versions.

■ A checkin operation is like an archival operation. Checked in versions are nevermodified. Only a copy is edited.

■ Checkout is the process of creating a copy of a cellview for edit. A cellview can bechecked out by editing the cellview when there are only checked in versions or byexplicitly checking out a cellview version.

■ Only one version of a cellview can be edited at a time. The edited cellview must bechecked in as a new version, or the edits cancelled and the checked out file deleted,before any other version of the same cellview can be edited.

■ A cellview version gets a definite version number only when it is checked in.

The Version Control System■ Version Identifier: The two level version number consisting of a primary and

secondary index of the format, m.n.

■ Forward Threads: The forward threads point to the versions derived from the previousversion.

■ You can increment the primary or secondary version number but cannot decide the exactversion number. The system maintains the version numbers and allocates the nextavailable version number. If a checked in version is deleted, the version number is notused again.

Page 52: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-57

Library Browser vs UNIX Files

Library Inv Schematic 1.0

0.0

2.0

Library

Inv_1

schemat_1.1_0schemat_1.2_0

attachFiles co@<user>

Inv_1

schemati_2.1_0

<acell_2>...

Library.lib

Browser

UNIX files

acell

schemati_2.2_0%

9/27/94 Cadence Design Systems, Inc. 2-58

Library Browser vs UNIX files

The Library Browser displays the names of cells, views, cellviews, and cellview versions youcreate.

The catalog file keeps track of how the names you enter are mapped to database files. Thereis a one to one correspondence between each cellview version and a database file. The filename is made up using the following values:

cell namecell_index (a number assigned to each cell on creation)view nameview_index (a number assigned to each view on creation)primary version numbersecondary version number

You can override this mapping scheme. For more information, refer to the SKILL functiondmRegMapFile description in the SKILL Reference Manual, Design Framework II Functions.

At creation time, a library directory and a library catalog file are created at the same path. Thisdirectory path is known as the library path. You only need to specify the path. The rest of theinformation is managed by DDM.

When cellviews are created, check-out directories and cellview version files are created. Whencellviews are checked in, cell directories are created as subdirectories of the library and thecellview files are placed in the cell directories.

Page 53: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-59

Creating a Bindkey

You can define your own custom bindkeys for a more efficient layout environment.

You can also define bindkeys in your .cdsinit file. The default bindkey file is located at

<installpath>/samples/local/leBindkey.il.

Key or Mouse Binding

Enter the name of the key and the SKILLcommand you want to bind to the key.

Layout Bindkeys

9/27/94 Cadence Design Systems, Inc. 2-60

Creating a Bindkey

Key or Mouse Binding Form

You can create your own bindkeys using the Set Options ➝ Bind Key command in the CIW.This command displays a form in which you can enter the key you want to define and theSKILL definition for the bindkey. You can also use the Show Bind Keys option to display allthe bindkeys and their definitions.

A sample definition is:

.cdsinit File

You can also define bindkeys by entering the definition directly in the .cdsinit file.

A sample SKILL procedure for defining a bindkey is:hiSetBindKey(“Layout”“<Key>Delete” “leHiDelete()”)

This sets the Delete key equivalent to the Edit ➝ Delete menu command. The menucommand calls the SKILL function leHiDelete().

Key or Mouse Binding <Key>Delete

Command leHiDelete()

Page 54: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-61

Using Online HelpOnline help is only available with the layout editor and is different from Openbook.

9/27/94 Cadence Design Systems, Inc. 2-62

Using Online Help

Online help is only for the Layout Editor and is task oriented. If you want to search for subjectssuch as Stream then us Openbook. Openbook contains information for all Cadence tools.Online help is only for the Layout Editor.

To bring up the Online Help hit the F1 key or the Help button in any of the Layout Editorforms. Click on the button About Help to find out how to use the Online help. Any words thatare colored (any color but black) are called “Hot Spots”. You can click on a “Hot Spot” to getmore information.

Page 55: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-63

Labs in This SectionLab 2-4. Library Browser

Lab 2-5. Controlling Versions

Lab 2-6. BindKeys

Lab 2-7 Online help

9/27/94 Cadence Design Systems, Inc. 2-64

Page 56: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Design Framework II 2-65

Module Summary■ You learned about UNIX, the X Window system, and Cadence software.

■ You learned how to use the CIW to open designs and enter SKILL functions.

■ You learned how to enter text and choose options on forms.

■ You learned about the library structure: cells, views, cellviews, and versions.

■ You learned how to use the Library Browser.

■ You learned how to check in and check out versions of a cellview.

■ You learned how to use bindkeys.

■ You learned how to use online help for the layout editor.

9/27/94 Cadence Design Systems, Inc. 2-66

Page 57: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-1

Layout Environment

Objectives

■ Learn to create layers in the technology file

■ Learn to use the Layer and Selection Window

■ Learn to use strokes

■ Learn to set editor and display options

■ Learn about the Technology File

9/27/94 Cadence Design Systems, Inc. 3-2

Terms and Definitions

Snap Mode Option specifying whether the cursor snaps to diagonal ororthogonal gridpoints or gridpoints at any angle from the firstpoint you enter.

Strokes Strokes are shapes you draw in a graphic design to start LayoutEditor commands.

Page 58: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-3

Defining Layers

Add Layer

Create new layers or change existing layersin the Technology File with these forms.

Select

Visible

Fill

Stipple

Colors

Technology File ➝ Graphic Display Options ➝ Layers

9/27/94 Cadence Design Systems, Inc. 3-4

Defining Layers

You can add a new layer to the technology file, change existing layers, or delete a layer usingthe Technology File ➝ Graphic Display Options ➝ Layers command.

You create layers in the technology file using the following function:tcfDefineLayer(LayerName Purpose Layer# FillStyle Priority Vis Sel Blink Valid)

The value for the argument Valid can be either t or nil.

Setting Layer Purpose

All layers must have a purpose. The default purpose is drawing. Layer purposes can also bewarning, error, boundary, net, pin, cell, label, and so forth. To add a new purpose to a layerin the Technology File, use the Add Layer form.

Setting Selectability

You can set layers to unselectable when you create them. These layers are always unselectableand are grayed out in the LSW. Layers that are set invisible in the Technology File areunaffected by setting visibility in the LSW.

Fill Style can be set to outline, solid, stipple, outlineStipple, or X fill (only rectangles can havean X fill). If you select a stipple fill style, you can choose from many different patterns.

You can use a contrasting color for outlines on layers or you can use the same color for boththe outline and the fill.

Page 59: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-5

Setting Valid Drawing LayersTo set the valid drawing layers, use the Set Valid Layers command. The LSWdisplays only valid layers.

Click the button to make this layer valid.

No layers valid

All layers validLSW

Set Valid Layers...Edit Layer Display...Load...Save...

9/27/94 Cadence Design Systems, Inc. 3-6

Setting Valid Drawing Layers

The LSW shows the valid drawing layers, which are all the user layers you defined in yourtechnology file with a layer purpose of drawing. The first time you open your library, theselayers you defined as drawing layers appear in the LSW. When you open a cellview fromanother library, the LSW changes to show the layers for the new library.

Making Layers Valid

To change the valid layers in the LSW, use the Set Valid Layers form. This form shows youall system and user layers in your library. To change the valid layers, click on the button nextto the layer to toggle it valid or invalid. If you want all system and user layers valid, click AllValid. After you click OK or Apply, the LSW is updated with the changes.

Saving Changes

To save changes you make, use Edit ➝ Save on the LSW menu. You can save thisinformation either to the technology file or to an ASCII text file. You can reload the filecontaining your layer information at a later date.

Page 60: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-7

Selecting Layers and Objects with the LSWThe Layer and Selection Window controls which layers and objects that areselectable.

All instances and No instances and pins

Note: Objects that are not visible cannot be selected.

Library name

pins selectable selectable

To make one layer visible Shift click with the middle mouse buttonTo maker one layer selectable Shift click with the right mouse button

9/27/94 Cadence Design Systems, Inc. 3-8

Selecting Layers and Objects with the LSW

You use the LSW to specify which layers are selectable or visible. You can also specifywhether you want instances or pins to be selectable.

Setting the Drawing Layer in the LSW

The LSW is displayed when you open a layout cellview and remains on the screen until youexit the Cadence software. Layout Editor commands use the drawing layer to draw objects. Toset the current drawing layer in the LSW, move your cursor to the LSW and click on the layername with the left mouse button. This layer is now displayed as the drawing layer at the topof the LSW.

Page 61: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-9

Selecting Layers and Objects with the LSW (continued)

The Layer and Selection Window controls which layers and objects that areselectable.

All instances and No instances and pins

Note: Objects that are not visible cannot be selected.

Library name

pins selectable selectable

9/27/94 Cadence Design Systems, Inc. 3-10

Making Layers Visible and Selectable (continued)

To set visibility of layers in the LSW, click with the middle mouse button on the layer name.To make all layers visible, click AV (All Visible). To make all layers invisible except thedrawing layer, click NV (None Visible). Names and color boxes of invisible layers are grayedin the LSW. Objects on invisible layers cannot be selected. You cannot make the currentdrawing layer invisible. To set visibility of a specific layer in the LSW, Shift click with themiddle mouse button on the layer name. The visible layer is now the current drawing layer. Toview only the visible layer you must redraw the screen.

To toggle selectability of layers in the LSW, click with the right mouse button on the layername. When you make a layer unselectable, the name of that layer is grayed in the LSW. Tomake all layers selectable, click AS (All Selectable). To make all layers unselectable, click NS(None Selectable). To set selectability of a specific layer in the LSW, Shift click with the rightmouse button on the layer name.

Making Pins and Instances Selectable

To set the selectability of instances and pins, click Pin and Inst.

Page 62: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-11

Setting the Drawing LayerSet the drawing layer in the Layer and Selection Window (LSW).

Path drawn on poly1 dg layer

The drawinglayer is poly1 dg

Note: The Layer Tap command is also used to set thedrawing layer.

9/27/94 Cadence Design Systems, Inc. 3-12

Setting the Drawing Layer

You choose which layer you want to draw on in two ways:

■ Set the drawing layer in the LSW.

■ Use the Layer Tap command to change the drawing layer to be the layer of an existingobject.

The layer you’re drawing on at any given moment is called the “current” drawing layer.

Setting the Drawing Layer using Layer Tap

You can use Misc ➝ Layer Tap to set the current drawing layer. When you use thiscommand, the CIW prompts you to point to the figure to be tapped. The LSW makes the layerof the object you point to the drawing layer.

Note that Layer Tap works only on data at the current editing level.

Page 63: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-13

Edit Layer DisplayChange layer display characteristics for “valid” layers through the LSW.

Set Valid Layers...Edit Layer Display...Load...Save...

Use the Edit Layer Display command from the Edit menu,or Shift click with the left mouse button on the layer in theLSW.

LE

cont

drawing

55

Edit Layer Display

9/27/94 Cadence Design Systems, Inc. 3-14

Edit Layer Display

Through the LSW you can change the layer display for a specific layer. You no longer needto bring up the Layers form from the Technology File ➝ Graphics DisplayOptions ➝ Layers menu. To bring up the Edit Layer Display form either Shift click with theleft mouse button on the layer in the LSW, or use the Set Valid Layer command from the Editmenu on the LSW.

The Edit Layer Display form has the same options as the Set Options form except for settingselectability and visibility. Any changes that are made are temporary until you save them tothe technology file by using the Technology File ➝ Save command.

Page 64: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-15

Using Mouse Buttons

Non-EnterFunctionsLeft Middle Right

Click Select objects(Shift) Selectadditional objects

Display LayoutEditor pop-upmenuSelectcommands onpop-up menu

Repeat previouscommandEnter commandsby drawing“strokes”

Double Click Displaycommandoptions form

Display helpwindow

Draw Through Select an area ofobjects(Shift) Selectadditional objects(Control)Deselect area ofselected objects

Zoom in(Shift) Zoom out

9/27/94 Cadence Design Systems, Inc. 3-16

Using Mouse Buttons

When your cursor is inside a graphic window, such as a layout window, the mouse buttons areset to perform the following functions. Mouse buttons are defined similar to bindkeys and canbe customized.

If mouse buttons or bindkeys don’t work, check to see that your Caps Lock is off. They won’twork with Caps Lock on.

Left Mouse Button

Use the left mouse button to select objects and enter points to draw shapes. You also use theleft mouse button to select commands from the menus.

Middle Mouse Button

Use the middle mouse button to display the pop-up menu. You can also click the middle mousebutton to display or hide a command form (same as F3).

Page 65: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-17

Using Mouse Buttons (continued)

Note: EnterFunctions prompt you for points when, for example, you create a polygon.

EnterFunctionLeft Middle Right

Click Enter points CommandModifier

Double Click Enter the lastpoint for thisobject

9/27/94 Cadence Design Systems, Inc. 3-18

Using Mouse Buttons (continued)

Right Mouse Button

Use the right mouse button to draw strokes, if the strokes have been loaded. You can also clickthe right mouse button to repeat the last command. After you have used Escape to terminatea repeating command, you can use the right mouse button to begin the command again. Theright mouse button also works as a command modifier for the Copy or Move commands(among others). While you are copying or moving objects, you can rotate them using the rightmouse button.

Enterfunctions

When you define a mouse button, you stipulate whether the button is set for EnterFunctionsor non-EnterFunctions. EnterFunctions prompt you for additional input, such as enteringpoints of a polygon, or moving or copying an object.

Page 66: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-19

Using Strokes

When you turn infix on, Copy, Move, and Delete strokes drawn on top of objectspreselect.

Pan strokes indicate the direction and coordinates for the pan.

Zoom strokes indicate the direction of the zoom and the size of the new window.

strokeFitWindow

strokeCopySelSet

strokeDeleteSelSet

strokeStretch

strokeMoveSelSet

strokeZoomIn

strokeZoomOut

strokePan (right)

9/27/94 Cadence Design Systems, Inc. 3-20

Using Strokes

Strokes are shapes you draw in a graphic design to start Layout Editor commands. Drawingstrokes takes the place of entering commands in the CIW or choosing commands from a menu.Note: You must choose to load Strokes or they will not be recognized by the Layout Editor.

Your feedback on the performance of strokes is important. Call Customer Support if you encounterproblems.

Entering Strokes

You enter strokes by drawing predefined shapes in the design window. You can draw theshapes on top of the data in your design. When you use the “Z” stroke to zoom in, the windowzooms to the size of the “Z” you draw. When you use the “––” stroke to pan, the objectslocated at the first coordinate of the stroke pan to the location of the last point of the stroke.

Customizing Strokes

The Layout Editor comes with a set of default strokes. You can change these strokes or defineyour own strokes for any Layout Editor command using the Stroke Editor.

Page 67: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-21

Labs in This SectionLab 3-1. Defining Layers

Lab 3-2. Using the LSW

Lab 3-3. Using Strokes

Lab 3-4. Creating Strokes (Optional)

9/27/94 Cadence Design Systems, Inc. 3-22

Labs in This Section

Page 68: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-23

Editor OptionsThe Editor Options form lets you set the way the Layout Editor works in yourcellview.

Types of objectsgravity snaps to

How many sidesfor convertedconics

Editor features

Gravity apertureand hierarchy

Editor Options

9/27/94 Cadence Design Systems, Inc. 3-24

Using the Editor Options Form

The Editor Options form lets you set global variables in the layout environment. Any changesyou make using this form can be saved to an ASCII file. These options can be set in your.cdsinit file. See <install_dir>/samples/local/leConfig.il for the correct syntax.

Editor Controls are the variables you can set in the layout environment.

Conic Sides is the number of sides that conics are converted to when you use the Convert ToPolygon or Merge commands.

Gravity Controls let you specify the type of objects the cursor snaps to when gravity is set on.

Aperture controls how close the cursor must be to an object for the Gravity Settings to takeeffect.

Depth specifies how many levels down in the hierarchy the cursor snaps.

Save To lets you save the current settings to a file that you can load later.

Load From indicates that you want to use the settings from a previously saved file.

Page 69: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-25

Using the Display Options FormThe Display Options form lets you set the way drawing objects and grid aredisplayed in your cellview.

Gridcontrols

Display levels

Types ofobjects todisplay

Arraydisplay

Snap modes

Display Options

9/27/94 Cadence Design Systems, Inc. 3-26

Using the Display Options Form

The Display Options form lets you set window environment variables such as the types ofobjects that display and the manner in which the grid is displayed. Changes you make in thisform can be saved to a specific cellview, to a view name, or to an ASCII file.

Display Controls specify the types of objects that are displayed in the cellview.

Show Name Of controls what name appears in each cell bounding box when you view just thebounding boxes of instances.

Array Display shows the Border, which is the perimeter of the array. Source, which shows 1to 4 cell instance placements of the array, or Full which shows the entire array.

Display Levels indicates the highest and lowest levels in the design hierarchy that can be seenin a detailed cellview.

Grid Controls specify the appearance of the cellview grid.

■ Minor Grid Spacing is the distance between each gridpoint.

■ Major Grid Spacing is the number of minor gridpoints between each major gridpoint.

■ X and Y Snap Spacing specifies how the cursor snaps to the gridpoints.

Snap Modes limits how the cursor snaps when you draw lines and shapes.

Page 70: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-27

Display Options (continued)

The Display Options form lets you set the way drawing objects and grid aredisplayed in your cellview.

Gridcontrols

Display levels

Types ofobjects todisplay

Arraydisplay

Snap modes

Display Options

9/27/94 Cadence Design Systems, Inc. 3-28

Display Options (continued)

Edit Snap Mode limits how the cursor snaps when you move, copy, and stretch objects.

Save To lets you save the current form settings.

Load From resets the form using settings from the file named in the File field.

Page 71: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-29

Using ViewportsViewport commands let you view previous, next, or saved viewport windows.

The viewport stack stores three windows. You can view these using Previousand Next.

You can store as many viewports as you want using the Save command. UseRestore to display these viewports.

Previous

Next

9/27/94 Cadence Design Systems, Inc. 3-30

Using Viewports

The Viewport commands let you save window display coordinates and return to thosecoordinates. This lets you move around a large design quickly, viewing only the areas ofinterest.

With the Save and Restore commands, you save window viewports to a viewport name andlater restore them by specifying the viewport name.

The viewport stack stores up to three window viewports. You can scroll through thesewindows using the Previous and Next commands.

Page 72: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-31

Pan and ZoomThe Pan and Zoom commands let you move around your design.

Zoom Out by 2 [Z]

Zoom In by 2 [^z]

Use the arrow keysto pan around your design.

9/27/94 Cadence Design Systems, Inc. 3-32

Panning and Zooming

Panning

The Pan command lets you move your viewing window to different areas of the design. Youcan use the Window ➝ Pan command from the menu or use the keypad keys to move aroundin your design.

The arrow keys let you pan vertically, horizontally, or diagonally. The center key centers thedesign in the window. The center key does not scale the design to fit in the window. It centersthe design in the window at the current zoom level.

Zooming

The Zoom commands let you zoom in or zoom out. You can use the Window ➝ Zoomcommands from the menu or use the zoom bindkeys. The bindkey, Shift-z lets you zoom outby a factor of 2. The bindkey, Control-z lets you zoom in by a factor of 2. The z bindkeyprompts you to draw a box around the area you want to display.

Note: You do not need to cancel repeating commands. They cancel when you select anotherrepeating command.

Page 73: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-33

Technology File ContentsThe Technology File is made up of different sections.

System Layers

User Layers

Diva Rules

Sym Rules

Devices

Display Devices,

& Wires

& Properties

Colors, Stipples

Views andView Properties

Abgen Rules

Common to all toolsIn default technology file

Users may customize

Varies per processUsed by physical design tools

9/27/94 Cadence Design Systems, Inc. 3-34

Technology File Contents

The first step in creating a Design Framework II library is creating a technology file. A technology fileis a SKILL format text file. Technology data can be described in a single file or in separate files that arecompiled into a library sequentially. Whenever a new library is created, the system starts with a set ofsystem defined technology data.

View and View Properties

For each view you can add view properties. For example you could set a grid of 1 micron for the layoutview, so that every time you brought up a cell with a layout view the grid would be set.

Display Layers, Colors, Stipples, and System Layer

This section of the technology file defines system and user layers. For each layer a stipple,color, and line style is defined.

User Layers Properties

User layers can have properties attached to them. These properties can be used with Diva,Stream, and other tools.

Tool Specific Information

Some of the other tools that use the technology file are Symbolic layout, Diva, and Abstractgeneration.

Page 74: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-35

Technology File FlowTechnology File can be dumped from a library, edited and then loaded back intothe library.

Existing Library

Dump

Load

Edit

Technology File

Technology File

Technology File

9/27/94 Cadence Design Systems, Inc. 3-36

Technology File Flow

Each Library has one Technology File that is attached to it. When you create a library you mustspecify a technology file that will be loaded into the library. This technology file may be adefault technology file. To edit the technology file, use the Technology File menu on the CIW.This allows you to dump certain sections of the technology file to an ASCII file. After youhave edited the dumped technology file load the file back into the library.

Page 75: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-37

Labs in This SectionLab 3-5. Editor Options

Lab 3-6. Display Options

Lab 3-7. Viewports

Lab 3-8. Pan and Zoom

Lab 3-9. Technology File

9/27/94 Cadence Design Systems, Inc. 3-38

Labs in This Section

Page 76: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Environment 3-39

Module SummaryIn this module you did the following:

■ You learned to define layers in the technology file.

■ You learned to use and create strokes in the Strokes Editor.

■ You learned to use the Editor Options and Display Options forms.

■ You set viewports and scrolled through a viewport stack.

■ You learned to use Pan and Zoom commands.

■ You learned how to dump the technology file from a library.

9/27/94 Cadence Design Systems, Inc. 3-40

Page 77: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-1

Layout Editor

Objectives

■ Learn how to draw shapes

■ Learn how to edit the properties of objects

■ Learn how to create contacts and “stitched paths”

■ Learn how to “search” the database

■ Learn how to traverse the hierarchy and edit in place

9/27/94 Cadence Design Systems, Inc. 4-2

Terms and Definitions

Instance Placement of a cell.

Array Multiple placements of a cell in an X-Y matrix.

Property Information associated with a cell or object. Common propertiesare attributes, parameters, or connectivity.

Parameter Information that controls values within a cell, such as width orlength of transistors, and repetition of specific objects. You canassign parameters using the Parameterized Cell program (Pcell)or Component Description Format (CDF).

Page 78: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-3

Creating ShapesThis bipolar pnp device was created using various shapes.

Bipolar pnp device with labels

Epi and buried layercreated with thePolygon command

Emitter createdwith the Circle andDonut commands

Emitter

Collector

BaseCollector and Basecreated with theRectangle command

9/27/94 Cadence Design Systems, Inc. 4-4

Creating Shapes

Use commands on the Create menu to draw shapes. Remember to select a drawing layerbefore you create a shape.

Shapes

Use Create ➝ Rectangle to create rectangles. The Layout Editor stores rectangles in thedatabase as four sided figures. Less efficient systems store rectangles as five point polygons.You might notice that rectangular shapes can be viewed with X fills, while other types ofshapes cannot.

Use Create ➝ Polygon or Create ➝ Conics ➝ (Circle, Donut, or Ellipse) to create polygons.When you chop a piece out of a path or add a piece to a rectangle the system sometimesconverts the shapes into polygons.

Use Create ➝ Path to create paths. Paths are wide lines represented by a centerline and awidth value. There are several different types of path endtypes: flush (path ends are even withthe path centerline), offset (path ends extend beyond the path centerline), octagon (path endsare tapered, not square), and variable (similar to offset, with different extensions on each end).

Labels

Use Create ➝ Label to create a label. The label is used to establish connectivity forverification programs, such as Dracula.

Page 79: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-5

Snap Mode

Snap Mode set

1

23

4

Snap Mode set to diagonal1 2

3

45

6

(45 or 90 degree angles only)

1 2

34

5Snap Mode set to

1

2

3

45

Snap Mode set to L90XFirst

orthogonal

to anyAngle

9/27/94 Cadence Design Systems, Inc. 4-6

Snap Mode

Create Snap Mode and Edit Snap Mode can be set globally on the Display Options form oras environment variables in the .cdsinit. You can change the Snap Mode interactively as youdraw a path or polygon.

■ anyAngle (default) draws segments at any angle.

■ diagonal draws segments parallel to the x or y axis, or 45-degrees to either axis.

■ orthogonal draws segments parallel to the x or y axis.

■ L90XFirst and L90YFirst draws two segments forming a 90-degree angle between thepoints you enter, beginning with a horizontal or vertical segment, respectively.

Note: To delete any points that you enter use the Back Space key.

Page 80: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-7

Selecting Objects

Click with the leftmouse button on theobject to be selected.

The selected object ishighlighted.

Shift–click with theleft mouse buttonto select additionalobjects.

Drag with the left mousebutton to select a group of objects.

Objects inside of the selection

Select all objects in an area

Select one object at a time

Note: As you move the cursor across the cellview, the objects andedges you can select are highlighted with a dashed white line.

area are selected.

9/27/94 Cadence Design Systems, Inc. 4-8

Selecting Objects

These charts are quick reference for selecting and deselecting objects and groups of objects.

To Select One Object

To Select All Objects in an Area

To Deselect Objects

One object Click left inside the object. (This deselects all previously selectedobjects.)

An additionalobject

Press and hold Shift and click left inside the object.

Edges or corners Press F4 to turn partial selection on, then use any selection method toselect edges or vertices.

A group Click left and draw a selection box around the group.(This deselects all previously selected objects.)

An additional group Press and hold Shift and draw a selection box around the objects.All objects Select Edit ➝ Other ➝ Select All [^a].

One object Press and hold Control and click left inside the object.A group Press and hold Control and draw a selection box around the

objects you want to deselect.All objects Click left outside of all objects or select

Edit ➝ Other ➝ Deselect All [^d].

Page 81: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-9

Toggling Between Objects

Click with the leftmouse buttonand the contactis selected.

Click again with theleft mouse button;the contact is deselectedand the path is selected.

Click with the left mouse buttoninside the objects, and theobject with an edge or vertexclosest to the cursor is selected.

Click again with the left mousebutton and the rectangleis selected.

Note: You can only toggle between two objects.

9/27/94 Cadence Design Systems, Inc. 4-10

Toggling Between Objects

There are times when it is difficult to select the correct object, for example when you haveobjects that are very close together or that overlap. When you select the wrong object, clickagain with the left mouse button to select another object. The closest object is selected, and thepreviously selected object is deselected.

If two objects overlap, the “closest object” is the one whose edge or vertex is closest to thecursor. If the cursor is the same distance from the edges of both objects, the object with thelower layer priority number is selected. The layer priority number is set in the technology file.

Page 82: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-11

Labs in This Section

Lab 4-1. Create Shapes

Lab 4-2. Select Objects

9/27/94 Cadence Design Systems, Inc. 4-12

Page 83: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-13

Moving ObjectsThe Move command lets you move objects in a cellview to another location orlayer in the same cellview or in a different cellview. You can also use the mouseto move objects.

Use the Change Layer option tomove an object and change itslayer from ndiff to pdiff.

Move Using the mouse to move objects

The cursor changes to four

objects. Press and hold the left mousebutton until the object is placed.

Press left on a startpoint

arrows indicating that you can move

Move

9/27/94 Cadence Design Systems, Inc. 4-14

Moving Objects

Moving Objects to a New Layer

To move an object from one layer to another, turn on the Change Layer option in the Moveoptions form. In the Move options form, select the layer you want to change to, then enter thepoints for the source and destination in the cellview. The object is moved to the new layer.

Using the Mouse to Move Objects

To move an object with the mouse button, you must first select the object. As you move thecursor, notice it has changed to the selected object, the cursor changes to the crosshair cursor.With the mouse button pressed, the object follows the movement of the mouse. The Moveoptions form is not available when you move objects with the mouse.

Page 84: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-15

Copying ObjectsYou can copy objects using either the Yank and Paste commands to copy part ofan object or a group of objects, or using the Copy command to copy to a newlayer or create a flat array.

Copy

Original

Copiedand

Use the Change Layer option to copy an objectand change the layer of the new object.

Yank and Paste

Pasted objects

Objects to be yanked arrayed

Copy

9/27/94 Cadence Design Systems, Inc. 4-16

Copying Objects

Copying to a New Layer

To copy an object from one layer to another, turn on the Change Layer option in the Copyoptions form. In the Copy options form, select the layer you want to change to, then enter thepoints for the source and destination in the cellview. The object is copied to the new layer.

Creating Array Objects

To array copied objects, specify the number of rows and columns in the Copy form. The firstpoint you enter is where the first object(s) is placed. The second point you enter is the x pitch.The third point you enter is the y pitch. This array places individual objects at the top level ofyour design, or at the current level if you’re nested in the hierarchy. The individual instancesare not nested inside an array cell.

Using Yank and Paste

You can use the Yank and Paste command to copy part of an object or group of objects andthen place the parts in a cellview. All objects and parts of objects inside the box are copied intoa special yank buffer in virtual memory. Yank cuts and copies objects throughout thehierarchy, flattening a copy of any instance that is partly inside the yank box.

Page 85: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-17

Changing Orientation

Orientations

R0

R90

R180

R270

Sideways

Upsidedown

Original

Firstrotation

Secondrotation

Thirdrotation

9/27/94 Cadence Design Systems, Inc. 4-18

Changing Orientation

You can change the orientation of any object by using the Move or Copy commands. Someobjects require orientation when you create them. The default orientation for instances, arrays,and text is no rotation (R0).

Orientation is an attribute of an instance. You can change this attribute with the Propertiescommand.

Another way to rotate objects is to use the Rotate command. The Rotate command lets youchange the orientation of geometric objects. You cannot rotate instances with the Rotatecommand. You specify what angle to rotate, and what angle to snap to.

Orientation

The options for specifying the orientation of an object in the Cadence environment aredisplayed in the orientation example.

Rotate Rotate 90 degrees counterclockwise

Sideways Mirror over the y axis

Upsidedown Mirror over the x axis

Page 86: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-19

Stretching ObjectsThe Stretch command lets you change the shape of an object.

Stretching Multiple Objects

Note: Use the Stretch commandfrom either the pull-down menu,the fixed menu, strokes, or bindkeys to stretch multiple objects.

Using the Cursor To Stretch

Press and drag the left mousebutton to stretch the object.

Press left on the start point.

After selecting an edgethe arrow appears.

9/27/94 Cadence Design Systems, Inc. 4-20

Stretching Objects

Stretching a Single Object

Stretching an object with the mouse is similar to moving an object with the mouse. If youselect the edge of an object, the cursor changes to an arrow. Press and drag the left mousebutton to stretch the object. The Stretch options form is not available when you stretch objectswith the mouse.

Stretching Multiple Objects

You must be in partial select mode to select the edges (F4). To stretch a group of edges, youmust select the edges first. To select the edges, draw a selection box with the left mouse button.After the edges are highlighted, specify source and destination point.

Page 87: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-21

Splitting ObjectsThe Split command lets you stretch a group of paths and maintain connections.

The split line crosses the paths at eachend of the segments that you want tostretch.

Stretch Line

Connections are not broken.

9/27/94 Cadence Design Systems, Inc. 4-22

Splitting Objects

The split command lets you stretch sections of a group of paths, adding new connectingsegments. You can use Split if, for example, you need to add a “dogleg” (90-degree bend) toseveral paths so that they wrap around an object. The split line should cross each path twice,once at each end of the segment you want to stretch. In the example above, the split line isdrawn at a 45-degree angle through the paths, so that the edges of the segments that stretch areoffset from each other. This prevents the path segments from overlapping when you stretchthem.

Page 88: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-23

Properties

Attribute

Parameter

Connectivity

Only parameterized cells haveparameters.

Pins only have connectivity.All objects have attributes.

Note: You can add, delete, or modify properties.Properties that have a common value canbe modified at the same time.Use the Next and Previous buttons to scrollthrough selected objects.

Edit Path Properties

Edit Instance Properties

Edit Rectangle Properties

9/27/94 Cadence Design Systems, Inc. 4-24

PropertiesYou can use the Properties command to display and edit properties. You can use the Next andPrevious buttons to cycle through the properties of an object. Use the Common button to listall properties that are the same for multiple selected objects. You can then modify the value ofa property for all selected objects.

AttributesAll objects must have attributes. The attributes of a rectangle or polygon are its layer andcoordinates. The attributes of a path are its layer, width, path type, extensions, and coordinates.The attributes of a contact are its contact type, justification, width and length, and rows andcolumns. The attributes of an instance are its library, cell, view, and instance name,magnification, orientation, and origin.

ParametersParameters are optional. Only instances can have parameters. Parameterized cells haveparameters specified when they are created. Component Description Format (CDF)parameters are assigned to a cell or library of cells. You can change the values of theseparameters with the Properties command.

ConnectivityThe connectivity property defines net information for pins.

PropertyYou can create your own properties and assign them to objects, modify, or delete them.

Page 89: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-25

Labs in This SectionLab 4-3. Move, Copy, Yank, and Paste

Lab 4-4. Orientation Properties

Lab 4-5. Stretch and Reshape

Lab 4-6. Properties

9/27/94 Cadence Design Systems, Inc. 4-26

Page 90: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-27

Chopping ShapesThe Chop command uses a cutter shape to break an object into multiple objects.You can use the Remove Chop option to delete the object inside the cuttershape.

Cutter shape

Resulting shape

The cutter shape can be a rectangle,polygon, or line. When the cutter shapeis a line, Remove Chop has no effect.

Chop

9/27/94 Cadence Design Systems, Inc. 4-28

Choping Shapes

The Chop command cuts one object, or multiple objects that intersect each other and are onthe same layer. The system use a shape you specify as a “cutter” to determine where to removepart of an object or where to break it into multiple objects. The cutter can be a rectangle,polygon, or line.

You specify if the chopped area is removed. When the cutter shape is a line, you cannotremove the chopped area. If Remove Chop is not selected, the object is broken into multipleshapes and none of the data is removed.

You can use the Chop command to cut a hole in a shape. When you cut a hole in a shape, theshape is converted to a polygon with a construction line. This database accepts this type ofshape. Chop does not create a shape with a donut hole in it because database does not acceptthis type of shape.

Any conic shape that is cut is converted to a polygon with the number of sides specified in theEditor Options form.

Chop creates this. Chop does not create this.

Page 91: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-29

Modify CornerReshapes corners of polygons and rectangles.

Radial Corner

Chamfer Corner5 units

Note: Units refers to the Radius or Distance option on the Modify Corner form.

Modify Corner

9/27/94 Cadence Design Systems, Inc. 4-30

Modify Corner

The Modify Corner command allows you to reshape the corners of polygons and rectangles.You can select a single corner or multiple corners for editing. There are two different types ofcorners that can be created, either radius or chamfer. The radius option converts the corner toa quarter-circle, while the chamfer option converts the corner to a diagonal. When you use theradius option you can specify the distance from the vertex to begin contouring. For thechamfer option you would specify a distance from the vertex to begin bevelling. Themaximum distance you can specify is half the length of the shortest adjacent line segment.

Page 92: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-31

Merge ShapesThe Merge command joins shapes on the same layer to form one object.

Rectangles and conics are nowone polygon.

Conic and rectangles are convertedto polygons before they are merged.

9/27/94 Cadence Design Systems, Inc. 4-32

Merge Shapes

Converts touching or overlapping shapes on the same layer into polygons and merges theminto one shape. Objects on different layers cannot be merged with the Merge command.However, you can use the Misc ➝ Layer Gen command to create a new layer by mergingobjects on different layers.

Any conic shape that is merged is converted to a polygon with the number of sides specifiedin the Editor Options form. Rectangles are converted to polygons with four sides before theyare merged.

Page 93: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-33

Make CellThe Make Cell command creates a new cell from the selected objects.

The selected objects can bereplaced with the new cell usingthe Replace Figures option.

Selectedobjects

Newcell

Make Cell

9/27/94 Cadence Design Systems, Inc. 4-34

Make Cell

You can use Make Cell to create a new cellview from selected objects in the current cellview.You use the Replace Figures option to replace the selected objects with the newly createdcell.

Be careful not to overwrite existing cellviews. If you give the new cell an existing cell name,a warning appears asking if you want to overwrite the existing cellview. Use the Browsebutton to view a list of existing cellviews.

Page 94: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-35

Flatten CellsThe Flatten command flattens a cell instance or array, moving the contents of thecell up one or more levels in the hierarchy.

pcells not

pcells flattened

flattened

Level 0 data

Level 1 data

The Flatten command flattenscells up through one or morelevels of the hierarchy. By default,pcells are not flattened.

LevelLevel2 data

1 data

All level0 data

Level 0 data

Pins can also be preserved.

9/27/94 Cadence Design Systems, Inc. 4-36

Flatten Cells

The Flatten command smashes a cell instance or array, moving the contents of the cell or arrayup one or more levels in the hierarchy. You can specify that you flatten just one level ofhierarchy or flatten to the level of hierarchy that you are viewing.

By default, parameterized cells are not flattened. Once a pcell is flattened, the parameters aregone. Pcells include the symbolic contact that is defined in the technology file.

Page 95: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-37

Size ShapesThe Size command stretches all vertices of the selected object by a specifiedamount in both the X and Y directions.

3

3

Size Value = 1

⇒ 5

5

5

5

7

7

9/27/94 Cadence Design Systems, Inc. 4-38

Size Shapes

You can use the Size command to resize objects by a positive or negative amount. Resizingany shape other than a polygon converts it to a polygon.

The Size command is not a multiplier. It stretches all vertices of the selected object by theamount of the Size Value in both the x and y directions.

Page 96: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-39

Attach ObjectsThe Attach command attaches one (child) object to another (parent) object.

VDD

child parent

VDD

When the parent moves, the child moves.

When the child moves, the parent is not affected.

VDD

9/27/94 Cadence Design Systems, Inc. 4-40

Attach Objects

When you attach an object to another object, the attached object is called the child. The objectit is attached to is called the parent. When you move, copy, or delete the parent object, thechild object is also moved, copied, or deleted. When you move, copy, or delete a child object,the parent object is not affected.

The most common use for this command is to attach text to a bus line.

To deattach objects start the Attach command, and select the attached objects, then click onan empty part of the cellview.

Page 97: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-41

Convert To PolygonThe Convert To Polygon command converts rectangles, paths, donuts, circlesand ellipses to polygons.

Circle converted to a polygonwith 20 sides

Path converted to polygonhas no centerline

9/27/94 Cadence Design Systems, Inc. 4-42

Convert To Polygon

Converts nonpolygonal shapes to polygons. By default, conics are converted to polygons with20 sides. You can specify the number of sides conics are converted to using the Editor Optionsform.

Nonpolygonal shapes are converted to polygons before they are merged or chopped. After youconvert a shape to a polygon, you cannot convert it back to its original shape.

Page 98: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-43

Reference Point

X: -3.0 Y: 12.0 (F)Select:0 dX: 5.0 dY: 0.0

Cursor

Reference

Window banner

Point

Origin (0:0)

9/27/94 Cadence Design Systems, Inc. 4-44

Reference Point

You can set the reference point display on or off using the Design ➝ Options ➝ Editorcommand.

The reference point works like a temporary origin. The window banner displays the delta Xand delta Y distance from the reference point. The X: and Y: values in the window bannerremain relative to the origin (0:0).

You can use the arrow keys on the right of the keyboard to move your cursor in preciseincrements from the reference point. Press and hold Shift to move the cursor using the arrowkeys.

Page 99: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-45

Labs in This Section

Lab 4-7. More Editing Commands

Lab 4-8. Reference Point

9/27/94 Cadence Design Systems, Inc. 4-46

Page 100: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-47

Defining ContactsAll contacts are symbolic devices defined in the technology file.

viaLayer viaPurpose

layer1 purpose1

layer2 purpose2

encByLayer1

encByLayer2

dot pin indicatingconnectivity

9/27/94 Cadence Design Systems, Inc. 4-48

Defining Contacts

All contact types are defined in the technology file using the tfcDefineSymContactDevicefunction. The syntax for this is:

tfcDefineSymContactDevice(name viaLayer viaPurpose layer1 purpose1 layer2 purpose2 w l(row column xPitch yPitch xBias yBias) encByLayer1 encByLayer2 legalRegion)

Contacts are used by the Create ➝ Contact or Create ➝ Path commands.

All contacts have a dot pin that connects the contact layer to layer1 and layer2 in the contactcell. You turn the visibility of this dot pin on or off in the technology file by setting the viewproperty dotsOn equal to t or nil.

Page 101: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-49

Creating ContactsContacts are defined in the technology file.

M1_P

M1_N

M1_POLY1

M2_M1

lowerLeft

centerCenter

upperRight

Contact Type lists all contactsdefined in the technology file.

Justification determineswhere to locate the originof a contact array.

Create Contact

9/27/94 Cadence Design Systems, Inc. 4-50

Creating Contacts

All contact types are defined in the technology file using the tfcDefineSymContactDevicefunction. The syntax for this function is:tfcDefineSymContactDevice(name viaLayer viaPurpose layer1 purpose1 layer2 purpose2 w l(row column xPitch yPitch xBias yBias) encByLayer1 encByLayer2 legalRegion)

Use Create ➝ Contact to place contacts or arrays of contacts. You can specify the followingoptions when you place a contact:

Auto Contact Places the appropriate type of contact at the junction of two paths.

Contact Type Specifies the type of contact to be placed. This information comes fromthe technology file. If you have no contacts specified in your technologyfile, you cannot place contacts.

Justification Specifies the placement of the origin of a contact array. There are ninedifferent justification types.

Width and Length Lets you change the width and length of a contact before placing it. TheWidth and Length are the default width and length taken in thetechnology file.

Rows and Columns Lets you create contact arrays. Contact arrays are contacts that arearrayed either in the x or y direction, or both.

Delta X/Y The x and y pitch is the stepping distance for contacts in a contact array.

Page 102: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-51

Creating PinsPins carry connectivity information.

Create Pin

Pin Name Display

GND

9/27/94 Cadence Design Systems, Inc. 4-52

Creating Pins

A pin is a shape that carries connectivity information and can be placed as either a rectangleor polygon pin. When you create a pin, the pin is placed on the current drawing layer set in theLSW. You must specify a terminal name before you create a pin. You can use the auto pinoption to place a rectangle pin at the end of a path.

Terminal Names Must be specified before placing or creating a pin.

Pin Shape Can be a rectangle or polygon pin, or a rectangle pin created bythe auto pin option.

Display Name Displays the Terminal Name on the text layer. The Pin NameDisplay form allows you to change the attributes of the pintext.

Snap Mode Specifies the angle at which pins are placed.

I/O Type Specifies the type of pin: input, output, and so forth. This isprimarily used with Place and Route tools.

Access Direction Specifies the direction of the pin: top, bottom, and so forth.This is primarily used with Place and Route tools.

Page 103: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-53

Path StitchingLets you change to another layer while creating a path.

Create → Path Change To

Change To

Change To lists only thelayers for which a

layer exists.

Contact Orientation determineswhere the contact is attachedto the centerline of the paths.

centerCenter lowerLeft

contact to the current

9/27/94 Cadence Design Systems, Inc. 4-54

Path Stitching

Path stitching creates a single path on multiple layers with connecting contacts between layers.

When you create a stitched path, you start a path on one layer, then use the Change To optionon the Create Path form to change the path to a different layer. A contact connecting the twolayers is placed at the junction.

The Change To cyclic field displays all the layers to which the first layer of the path can beconnected. For example, if you begin the path on the metal2 layer, the Change To field listsonly metal1 or metal3, because those are the only layers to which metal2 can be directlyconnected.

Contact Orientation specifies which part of the contact is attached to the centerline of thepath.

Page 104: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-55

Creating ArraysYou can place an instance as an array.

Create Instance

9/27/94 Cadence Design Systems, Inc. 4-56

Creating Arrays

Creating arrays is similar to placing a cell instance. An array is a single cell placement. Onlyone master cell can be used in an array, unless you use the Structure Compiler.

■ After specifying the cell that you want to place, you can give the array a unique name.If you don’t specify a name, the system automatically assigns a default name.

■ You can specify the number of rows and columns.

■ Delta X is the horizontal center-to-center distance between instances in a row. Thedefault is the size of the cell being arrayed so that there is no space between cells.

■ Delta Y is the vertical center-to-center distance between instances in a column. Thisdefaults to the size of the cell being arrayed so that there is no space between cells.

■ Arrays cannot be magnified, so the Mag field is grayed out.

Page 105: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-57

Layer GenerationUse logical functions to create a new layer.

Original shapes

AndNot Or XorAnd

Grow By

9/27/94 Cadence Design Systems, Inc. 4-58

Layer Generation

Boolean Functions

The Layer Generation command lets you use Boolean functions to create a new layer. Youcan choose between the five different functions on the Layer Generation form. The systemuses the first layer and performs the logical function with the second layer, creating a newobject on a third layer.

Sizing Function

To create a new object with a sizing operation, use the GROW BY option. This option issimilar to the Size command, except you specify the layer on which the sized object is created.A nonpolygonal shape is converted to a polygon.

Page 106: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-59

Labs in This Section

Lab 4-9. Edit contact definition in technology file

Lab 4-10. Contacts and Pins

Lab 4-11. Path Stitching

Lab 4-12. Create Arrays

Lab 4-13. Layer Generation

9/27/94 Cadence Design Systems, Inc. 4-60

Page 107: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-61

Search and EditTo locate specific data, such as all paths, use the Search command.

Only instances arehighlighted

9/27/94 Cadence Design Systems, Inc. 4-62

Search and Edit

To search for data by type, use the Search command. You first specify the type of object youwant to search for. After the search is complete and the objects are highlighted, you can specifyif you want to add one object at a time to the selected set or add all objects found in the search.Once the objects are selected, you can replace them with new values. The Search commandworks either in a cellview or hierarchically.

In the Search form, you specify the type of objects to search for, such as labels, instances, orspecific types of shapes. You then choose where in the hierarchy to look (current cellview, topto bottom, and so forth). When you click Apply, the system searches for all objects of thespecified type. You can then add these objects to a selected set and replace various criteriaassociated with them, or replace criteria without selecting them.

For example, you could search for all instances of the cell NAND2 in the current cellview andreplace them with the cell NOR2. You could also search the hierarchy from top to bottom forall paths of a certain width and change their widths. You could search for all rectangles on aspecific layer, add them to the selected set, and delete them.

Page 108: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-63

Hierarchy Concept

top_cell

latch

2NAND 2NOR INV

level 0

level 1

level 2

level 3P2OR 2NAND P2AND NTRAN PTRANN2AND

top cell—all levels displayed top cell—levels 0 and 1 displayed

Conceptual

Actual

9/27/94 Cadence Design Systems, Inc. 4-64

Hierarchy Concept

Hierarchy in the Cadence layout environment can be visualized as a tree structure with lowerlevels of hierarchy containing smaller parts of the design.

Display Levels

It is useful to control the levels of detailed display when working with hierarchical designs.This is accomplished using the Display Options form settings, or by using bindkeys Shift-f toview all levels of hierarchy and Control-f to view the top level of hierarchy.

Page 109: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-65

Creating, Changing, and Viewing Hierarchy

Inv

Cell Instance

Origin

Master reference

InstanceMake CellFlatten

Commands that affect hierarchy:

Library: LECell: InvView: layout

Tree (for listing only)

9/27/94 Cadence Design Systems, Inc. 4-66

Create and Change Hierarchy

Instance Creates a cell reference.

Make Cell Creates a cell and a reference.

Flatten Removes one level or more of hierarchy.

Tree Lists the hierarchy of the current cell.

Page 110: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-67

Hierarchical Editing

Edit in Place lets you edit a specified cell and view the surrounding data.

Return moves you back up in the hierarchy one level at a time.

Return to Level moves you up to the hierarchy level specified.

Descend lets you edit a specified cell, but shows no surrounding data.

top_cell

latch

2NAND 2NOR INV

level 0

level 1

level 2

level 3P2OR 2NAND P2AND NTRAN PTRANN2AND

Edit In Place

Return

9/27/94 Cadence Design Systems, Inc. 4-68

Hierarchical EditingThe Hierarchy commands let you traverse the hierarchy to edit data placed in the hierarchical design.

Edit in PlaceTo use the Edit in Place command, select a object that you want to edit. The cell is opened for editingand displayed in the context of the surrounding design; if the cell is rotated, you see it rotated; if it ismagnified, you see it at that scale.

DescendThe Descend command moves you down through the hierarchy one level at a time. When you use thiscommand, the cellview redraws to fit the cell descended into and you do not see the surrounding data.Only the cell you descend into is visible.

ReturnMoves you up through the hierarchy one level at a time. This command can be used with either Descendor Edit in Place.

Return to LevelDisplays a list of the hierarchy from the current level to the top. You choose which level you want toreturn to. This command redraws the cellview to fit the current level cell in the window. This commandcan be used with either Descend or Edit in Place.

Page 111: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-69

Labs in This Section

Lab 4-14. Search

Lab 4-15. Hierarchy

Lab 4-16. Create Your Own Layout

9/27/94 Cadence Design Systems, Inc. 4-70

Page 112: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Layout Editor 4-71

Module SummaryLet’s review what you learned in this module.

■ You learned how to create: rectangles, paths, polygons, and conics.

■ You learned how to select and deselect single objects and groups of objects usingthe mouse buttons, bindkeys, and menu commands.

■ You learned how to move, copy, yank and paste, change layers, and arrayobjects and instances.

■ You learned how to stretch and reshape objects.

■ You learned how to change the orientation of objects and cells.

■ You learned how to change the parameters of a pcell.

■ You learned how to chop, modify corner, merge, attach, size, split, convert topolygon, and flatten objects. You also learned how to create a new cell fromselected objects.

■ You learned how to use reference points.

■ You learned how to create auto contacts and auto pins.

■ You learned how to do path stitching by wiring an inverter.

■ You learned how to create new layers.

■ You learned how to search the hierarchy for specific objects and change theircriteria.

■ You learned how to descend into cells and move back up through the hierarchy.

9/27/94 Cadence Design Systems, Inc. 4-72

Page 113: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-1

Parameterized Cells

Objectives

■ Understand Parameterized Cells

■ Learn what Parameterized Cells can be used for

■ Learn how to create basic Parameterized Cells

■ Learn how to test and modify Parameterized Cells

9/27/94 Cadence Design Systems, Inc. 5-2

Terms and Definitions

Parameterized Cell A graphically entered, programmable cell. A special type ofcellview you can place with different parameter values.

Supermaster The source graphics and parameters of the parameterized cell.The supermaster is stored as a cellview in the library.

Submaster The representation of a supermaster placed with a specific set ofparameter values. The submaster is stored in virtual memory.

Page 114: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-3

Why Use Pcells?

Example of npn Device With Multiple Emitters and Feedthroughs

submaster (a)fthrus = 1emitters = 5

supermasterfthrus = 1emitters = 1

submaster (b) (R90)fthrus = 5emitters = 2

submaster (c)fthrus = 5emitters = 3

9/27/94 Cadence Design Systems, Inc. 5-4

Why Use Pcells?

Parameterized cells can be used to create a library of cells for similar parts that are all linkedto the same source. Edits to the source (supermaster) are automatically inherited by theinstances (submasters).

Enhanced Hierarchical Design

Parameterized cells can eliminate the need to create duplicate versions of the same functionalpart. For example, you can use one parameterized cell to create many variations of a bipolarnpn transistor. This speeds up the layout data entry phase and also eliminates the errors thatcan result when maintaining separate versions.

Similarly, the use of parameterized cells can eliminate the need to explode levels of hierarchyto change a small detail of a design. Parameterized cells can be used whenever the same basicdesign must vary in certain parameters when instantiated. Parameterized cells can also be usedas an alternative to developing “device generator” programs in SKILL.

Limitations of Parameterized Cells

Parameterized Cells are understood by Cadence tools within the Design Framework IIenvironment. For example, if translation to Stream format is done, each different version(submaster) of each parameterized cell is converted to a separate cell. This is because Streamdoes not have an equivalent to parameterized cells. For this reason, backups should be kept inCadence database format.

Page 115: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-5

Flow for Creating Parameterized Cells

Layout ➝ Create ➝ Instance

Pcell ➝ Define/Modify

Pcell ➝

Compile ➝ To Pcell

Layout ➝ Create

Layout ➝ Create ➝ Instance

Create or locate shapes tobe parameterized.

Add parameter definitionsto source (supermaster).

Test by pcell developer.

Use in layout by end user.

Compile after any changes.

9/27/94 Cadence Design Systems, Inc. 5-6

Flow for Creating Parameterized Cells

The first step is to create shapes to be parameterized. Typically, these are the minimumnumber of shapes and design rule dimensions. They will be parameterized to stretch or repeat,to create a larger version. This step is accomplished using Create commands. You can alsouse an existing cell.

The second step is to add the parameter definitions. The commands to do this are located onthe Param Cell pulldown menu, since they are specific to parameterized cells. Each type ofparameter has a definition command, which is described in detail later in this module.

The third step is to use the Compile ➝ To Pcell command. This creates the encrypted SKILLwhich is used to create the submaster. Note that it is also necessary to SAVE the supermasterdata after it is compiled successfully.

The fourth step is testing by the parameterized cell developer. This is necessary to debug anyerrors prior to letting users place cells. The testing is done in a scratch cell, and variations ofthe parameterized cell are placed and examined.

The final step is to use the parameterized cells by placing them in a layout.

Page 116: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-7

Parameterized Cell Features

Parameters are defined graphically.

■ Stretch lines are drawn on the stretch layer.

■ Shapes within groups are highlighted as selected.

Defined parameters can be queried graphically or summarized to a text file.

■ Show commands highlight shapes graphically.

■ The Summarize Parameters command creates a text file fordocumentation.

9/27/94 Cadence Design Systems, Inc. 5-8

Parameterized Cell Features

Graphic Definition of Parameters

Parameters are defined interactively. You select the shapes you want to include in groups, andyou draw stretch lines on the stretch layer. After you’ve defined the parameters, you can usethe Show commands to review the definitions.

Parameter Querying

Use the Show commands to graphically retrieve information about parameters. Use theSummarize Parameters command to display a textual summary. Both of these must be donedirectly in the supermaster cellview.

Page 117: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-9

Parameterized Cell Features (continued)

Parameters are defined using logical names.

■ Names are SKILL variables defined within a cell.

■ These names appear in forms. End users supply the values

■ Parameter values can be referenced by other parameter definitions

SKILL expressions can be used in parameter definition.

■ Basic SKILL commands

■ Arithmetic and logical operators (+, -, >, ==)

■ Database access functions (~>)

■ Database creation and modification functions

■ No application specific or user defined functions are allowed

9/27/94 Cadence Design Systems, Inc. 5-10

Parameterized Cell Features (continued)

Using Logical Names

The parameterized cell developer assigns logical names to the parameters. These names areused as variables and their values can be referenced in other parameter definitions. Forexample, when defining a stretch line that will stretch the length of a poly gate, it is typical togive the stretch line the logical name length. When defining the stepping distance for repeatedgates, the length parameter value can be referenced; for example, length +1.

Using Algebraic Expressions

In addition to the use of logical names, SKILL expressions can be used in parameterized celldefinitions. These include but are not limited to algebraic expressions. The syntax foralgebraic expressions and logical operators is included later in this module. Refer to the SKILLReference Manual for information on other SKILL syntax.

Page 118: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-11

Parameterized Cell Features (continued)

Parameters are defined using logical names.

■ Names are SKILL variables defined within a cell.

■ These names appear in forms. End users supply the values.

■ Parameter values can be referenced by other parameter definitions.

SKILL expressions can be used in parameter definition.

■ Basic SKILL commands

■ Arithmetic and logical operators (+, -, >, ==)

■ Database access functions (~>)

■ Database creation and modification functions

■ No application specific or user defined functions are allowed.

9/27/94 Cadence Design Systems, Inc. 5-12

Parameterized Cell Features (continued)

Restrictions on SKILL Expressions

Param Cell can use the following SKILL functions:

■ All basic SKILL, such as if(), car

■ Arithmetic and logical operators, such as +, -, >, ==

■ Database access functions, such as ~>

■ Database creation and modification functions, such as dbCreateRect

User defined and application functions are excluded because it is required that these functionsbe defined for database translators. This would make the translator program too large.

Page 119: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-13

Basic Parameters

■ Stretch lines

Move or stretch objects to desired dimensions

■ Repetition groups

Repeat groups of objects in X or Y, or both

■ Conditional Inclusion groups

Include or exclude groups of objects

9/27/94 Cadence Design Systems, Inc. 5-14

Basic Parameters

Stretch Lines

Stretch lines are drawn to define where a cell will be stretched. Stretch lines will stretch ormove any object in the direction of the stretch. For example, stretch lines can be used to createa transistor of varying lengths and widths. In this case the stretch lines would most likely benamed width and length.

Repeat Groups

Repeat groups are used to repeat groups of shapes in X, Y, or both. Repeat groups oftenreference stretch line parameter values to determine the number of repetitions. Repeat groupscan also control a stretch line (called a dependent stretch line) to move or stretch objects thatmust follow the repeat group.

Conditional Groups

Conditional groups are defined similarly to repeat groups, but the goal is to have the group ofshapes appear or disappear based on a condition being true or false. The condition can be asimple boolean value (on/off), or it can look at the value of another parameter and evaluate it.For example, a conditional group can be defined to disappear when the value of a repeat groupis less than (<) a certain number.

Page 120: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-15

Stretch Lines

Stretch line

Referencedimension

Direction = Right

Direction = Left

Direction = Right and Left

Stretch in X

Supermaster

Actual dimension Actual dimension

Actual dimension

9/27/94 Cadence Design Systems, Inc. 5-16

Stretch Lines

Drawing Stretch LinesThe stretch line is drawn perpendicular to the stretch direction. In this example, the stretch lineis drawn in the X direction. The options for stretching in X are right, left, or left and right. Forstretching in the Y direction, the options are up, down, or up and down. All objects in thedirection of the stretch are affected, unless they are excluded using the Qualify command.Objects intersected by a stretch line will stretch, objects in the stretch direction (notintersected) will move.

Stretch lines can be jogged, as long as the end segments are perpendicular to the direction ofthe stretch. Stretch lines cannot intersect parallel edges of stretchable shapes.

Reference DimensionThe reference dimension should be selected by the pcell developer to match the size of a shapein the supermaster. The logical name of the stretch line should identify the dimension beingused as reference. In this example, the length of the transistor is determined by the size of thepoly layer, so the poly layer’s size is used for the reference dimension.

The default reference dimension is chosen by the Stretch command to be the smallest shapecrossed by the stretch line. If this is not the shape you want to reference, change the referencedimension value to match the shape you want to use.

The amount of stretch is the difference between the reference dimension and the specifieddimension. The amount of stretch is split equally for a two dimensional stretch.

Page 121: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-17

Stretch Control LinesExample—Qualified Stretch Control Line

■ Qualify can be used to prevent the stretching of objects.

■ By default, any object in a repeat group is not stretched.

■ The reference dimension should be altered in this example, since contactsare not affected by the Stretch command.

Supermaster Before Qualify –Contacts Stretch

After Qualify –Contacts Unaffected

9/27/94 Cadence Design Systems, Inc. 5-18

Qualifying Stretch Lines

In specific cases the developer might want to exclude shapes from the effect of a stretchcontrol line. This must be done as a separate step after the stretch line has been drawn. TheStretch ➝ Qualify command requires that the developer select the objects which are to beincluded in the stretch, rather than specifically exclude objects. Once a stretch line has beenqualified, this is stated in the parameter summary, and repeating the qualify command willcause the included objects to highlight. (By default all objects are included, so they will nothighlight unless the stretch line is qualified.)

Reasons to Qualify a Stretch Line

Usually, it is possible to draw a stretch line and exclude edges that should not be stretched.This might require putting the stretch line on a finer grid than the design shapes. If there areseveral coincident edges, and you want to stretch some but not all, use the Qualify command.

Stretching Repeated Objects

Control over stretching repeated objects is part of the stretch line definition. By default,repeated objects are NOT stretched.

Page 122: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-19

Stretch Control LinesExample—Stretching Transistor Width and Length

■ Parameters width and length are properties of the cell instance.

■ The Properties or Search command can be used to change the valuesafter the cell is placed.

Supermaster

Stretch in X (right)Name = length

Stretch in Y (up)Name = width

Reference dimensionfor parameter length

Reference dimensionfor parameter width

Placed cellwidth = 6length = 3

default value = 3

default value = 2

9/27/94 Cadence Design Systems, Inc. 5-20

Modifying Instance Parameters

Using Properties and Search

The parameter names and values become properties of the cell instance. You can use theProperties command to modify one instance at a time, or use the Search command to modifymultiple instances at a time.

SKILL for Default Values

When using SKILL to modify the parameters of a submaster instance, you should be awarethat any param cell placed with default values does not actually have the property attached tothe instance. Instead, it is inherited directly from the supermaster. This is intentional so thatyou can change the supermaster and automatically change any param cells placed with defaultvalues. It also reduces the size of the database. The Properties and the Modify commandsshow you the property of the supermaster. If you change the value using these commands, theyattach the property to the instance.

Page 123: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-21

Repetition GroupsExample—Repeat in Y

The repeat group can refer to the stretch line value. In this case, the number ofcontacts varies dependent on the value of width.

Supermaster Placed cell

Objects in Y repeat group (contacts)Stepping distance = 2

Number of repetitions = fix((width - 1)/pcStep))

width = 12

9/27/94 Cadence Design Systems, Inc. 5-22

Repeat Groups

This is the second type of basic parameter that can be used. Repeat groups and stretch linesoften reference each other and work together to create a result. In this example, the repeatgroup references the value of the stretch line width to determine how many contacts to placeinside the diffusion layer. The diffusion layer is the reference dimension for the stretch line.

Direction for Repetition

Repeat groups can be in X, Y, or both X and Y (arrayed). Negative numbers are used for thestepping distance to repeat in the negative direction.

Stepping Distance

A stepping distance is specified for the repeat pattern delta distance. This can be either a fixednumber, a variable name (the value must be supplied by the user or by another parameter), oran expression.

Number of Repetitions

The number of repetitions can be specified by the user, or can be calculated based on the valueof a stretch line. If the number of repetitions is calculated, the fix() function can be used toensure that the value is rounded down to the nearest integer.

Page 124: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-23

Repetition GroupsExample—Repeat in X

Repeat groups can have dependent stretch lines.

■ The dependent stretch amount is defined by a repeat group.

■ Used to stretch layers relative to repeated objects.

Supermaster Placed cell

gates = 4Object in X repeat group (poly)Stepping distance = 2Number of repetitions = gatesDependent stretch = stretchRightAdjustment to stretch = (gates - 1) * pcStep

9/27/94 Cadence Design Systems, Inc. 5-24

Dependent Stretch Lines

Repeat groups can control the action of a stretch line. This is accomplished by specifying thestretch line by name in the repeat group definition, as a dependent stretch line. This stretch linethen takes all of its values (except direction) from the expression in the repeat group. In thiscase, the adjustment to stretch field specifies the actual amount of the stretch (not a referencedimension).

Reserved Symbol Names

Notice the adjustment to stretch expression in the example. It references the variable namepcStep.This is one of the reserved symbol names that are predefined within every repeat group.Whenever you want to refer to a value within the repeat group, the symbol names in thefollowing list are recommended. (They shorten the length of the expressions, and make themeasier to change.)

The complete list of reserved symbol names are:pcStep ............Stepping distance (one dimensional)

pcRepeat ........Number of replications (one dimensional)

pcStepX .........Horizontal stepping distance

pcStepY .........Vertical stepping distance

pcRepeatX .....Number of horizontal replications

pcRepeatY .....Number of vertical replications

pcIndexX .......Horizontal replication loop variable

pcIndexY .......Vertical replication loop variable

Page 125: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-25

Repetition Groups - Repeating Gates and Contacts

Note:Stretch lines width and length are defined as in the previous examples

Supermaster

Objects repeated in X (poly, metal)

Object repeated in Y (contact)

Object repeated in X and Y (contact)

Placed cell

width = 12length = 1gates = 2Dependent

stretch lineName = stretchRight

Repeat group X (poly, metal)Stepping distance = 6Number of repetitions = gatesDependent Stretch = stretchRightAdjustment to Stretch = (gates - 1)*pcStep

Repeat group X and Y (contact)X Stepping distance = 6Y Stepping distance = 2Number of X Repetitions = gatesNumber of Y Repetitions = ((width - 1)/pcStep

Parameter Summary

9/27/94 Cadence Design Systems, Inc. 5-26

Example — Repeating Gates and Contacts

This example is a combination of the last two examples. The only new parameter is the twodimensional repeat group for the contacts. Notice that the stepping distance and number ofrepetitions are specified separately for X and Y.

Summary of Example Parameters

Total of three stretch lines:

1. Width2. Length3. stretchRight (dependent on repeat group)

Total of three repeat groups:1.Poly and metal are repeated in X direction

Stepping distance is 6Number of repetitions is prompted for as “gates”Dependent stretchline is “stretchRight”Adjustment to stretch is:

(Number of gates minus the one gate that is already there) times stepping distance

2.Left contact is repeated in Y directionStepping distance is 2Number of repetitions is:

(Value of width minus the one contact that is already there) times stepping distance

3.Right contact is repeated in X and Y directions (arrayed)X stepping distance is the same as the gate repeat groupY stepping distance is the same as the left contact repeat groupNumber of X repetitions is the same as the number of gatesNumber of Y repetitions is the same as the left contact repeat group

Page 126: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-27

Conditional Groups

■ Condition can have a value of “yes” or “no.”

■ Condition can reference another parameter value.

Value can be checked for equal (==), not equal (!=), less than (n1<n2), greater than

(n1>n2), etc.

Supermaster

Four objects in conditional group(Contacts and metal)

Placed cell

contacts? = no

Condition = contacts?

9/27/94 Cadence Design Systems, Inc. 5-28

Conditional Groups

The third type of basic parameter is the conditional group. This group of shapes appears ordisappears when the cell is placed, based on a parameter value being true or false.

Arithmetic and Logical Operators

The following is syntax used for logical and arithmetic operators in parameterized celldefinitions. These are commonly used in the conditional group, but can be used in anyexpression.

Operator Function (Example)

** Exponent (n1 ** n2)

*, / Times, quotient (n1 * n2, n1 / n2)

+, - Plus, difference (n1 + n2, n1 - n2)

<,> Less than, greater than (n1 < n2, n1 > n2)

<=, >= Less than or equal to, greater than or equal to (n1 <= n2, n1>= n2)

==, != Equal, not equal (g1 == g2, g1 != g2)

: Range (g1 : g2)

Page 127: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-29

User Interface■ The Pcell menu appears when you select Tools ➝ Pcell.

■ The Pcell menu appears automatically for any previously compiled pcell.

■ You select the parameter to be created from the Pcell menu.

■ To define a group of objects

— Preselect or postselect objects

— When post-selecting, use Return or double click left to complete thegroup.

■ To change a defined parameter use Modify.

9/27/94 Cadence Design Systems, Inc. 5-30

Pcell User Interface

Defining Parameters

When you select a parameter type, the command prompts you to either draw a stretch line orselect shapes. If a group is being defined, there are special considerations.

Modifying Parameter Definitions

Each type of parameter has a Modify command. This command prompts for a stretch line, orthe member of a group to identify the parameter to be modified. If there is a group, shapes canbe added or removed, just as when they were defined. After modifying any parameter orchanging group members, recompile to see the changes take affect.

Page 128: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-31

User Interface■ Use Delete to remove a parameter.

— The Exception is for stretch lines, which are deleted using Layoutcommands.

■ Use Show to highlight members of a parameter group.

— Each group of that type is highlighted sequentially.

— Details about the group are also listed.

■ Use Parameters ➝ Summarize to display a report on all parameters.

— It is recommended that you save the resulting file and add any commentsneeded for future maintenance of the pcell library.

9/27/94 Cadence Design Systems, Inc. 5-32

Deleting Parameters

Each type of parameter has a Delete command, except for stretch parameters. Stretch lines areselected and removed using Layout Editor delete commands. For any other type of parameter,the Delete command prompts you to select an object to identify the group. A form appearsfrom which you can delete the parameter.

Showing Parameters

Each type of parameter has a Show command that can be used to examine the parameterdefinitions. It also highlights members of groups and displays list boxes showing details.

Summarizing Parameters

The Summarize command summarizes all the parameters of a specific supermaster. The othercommands on the Parameters slider are for controlling the data type of parameters and are foradvanced users.

Page 129: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-33

Accessing Technology File Valuestechfile (original)lambda = 1.0tfcDefineLayerProp(poly1 drawing minSpacing (lambda * 1.0)))

techfile (new)lambda = 0.8tfcDefineLayerProp(poly1 drawing minSpacing (lambda * 1.0)))

X stepping distance for gate repeat grouppcTechFile( dbGetLayer (dbGetq( pcLib list(“poly1” “drawing”))~>minSpacing) + lengthdependent stretch -- default expression

length =1.0

minSpacing = 1.0

length = 1.0

minSpacing = 0.8

9/27/94 Cadence Design Systems, Inc. 5-34

Accessing Technology File Values

pcTechFile Function

Use the pcTechFile function to access a value in the technology file. This value is looked atwhenever the parameterized cell submaster is created, so there is no recompile necessary.Note: After changing the technology file, close and re-open the library to update all the parameterized cells.

Syntax:pcTechFile( dbGetLayer( pcLib list( “poly1”“drawing”))~>minSpacing)

Note: Currently, any properties attached to the “all” purpose will not be found by the Pcell program when“drawing” purpose is specified. You must alter the parameterized cell expression to point to the “all”purpose if that is where the property actually resides.

Global Technology Values

You can use global variables within the technology file and reference them for each dimensionthat you want to change. For these variables to be intact the technology file must be kept inSKILL, not dumped.

Page 130: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-35

Labs in This Section

Lab 5-1. Creating a CMOS Transistor Cell

Lab 5-2. Modifying the Cell

Lab 5-3. Creating a Bipolar NPN Transistor (optional)

Lab 5-4. Accessing Technology File Values (optional)

9/27/94 Cadence Design Systems, Inc. 5-36

Page 131: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Parameterized Cells 5-37

Module SummaryIn this module you did the following:

■ You learned what a parameterized cell is.

■ You learned what a supermaster and submaster are.

■ You learned how to create stretch lines.

■ You learned how to qualify objects to a stretch line.

■ You added objects to repetition groups.

■ You learned how to include and exclude objects using the Conditionalparameter.

■ You used the Summarize Parameters command to view the parameters ina text window.

■ You compiled your parameterized cell using the Compile command.

■ You placed the parameterized cell using the Instance command on theCreate menu.

■ You learned how to access the technology file to change parameterized cellvalues.

9/27/94 Cadence Design Systems, Inc. 5-38

Page 132: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-1

Diva Tools

Objectives

■ Understand what Diva tools do

■ Learn how to use Diva tools

■ Learn to find errors

9/27/94 Cadence Design Systems, Inc. 6-2

Terms and Definitions

DRC Design Rule Check – checks physical layout data againstfabrication-specific rules.

ERC Electrical Rule Check – checks for electrical violations such asopen circuits or floating devices and nets.

LVS Layout Versus Schematic – compares a physical layout design tothe schematic from which it was designed.

Short Typically, an inadvertent connection made between one or morelayers, usually resulting in malfunction of the physical part.

Hierarchy Organization of design data where cells contain other cells.

Flat The absence of hierarchy in a design where all data shares onelevel.

DIVA Design Interactive Verification Automation.

Remote A method of execution where the program runs on a centralserver but is started from a local workstation.

Page 133: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-3

DIVA Tool Overview

1 12

DRC

LVS

Short Locator

9/27/94 Cadence Design Systems, Inc. 6-4

DIVA Tool Overview

DRC

■ Design Rule Checks highlight deviations from physical design constraints set forth byprocess standards. Typical checks include material spacing, enclosure, and overlap.

Extractor

■ Device parameters and connectivity are extracted from the layout in order to performERC, Short Locator, LVS, and post-layout simulation and analysis.

Short Locator

■ Short Locator allows the user to find shorts by interactively placing labels.

LVS

■ Layout Versus Schematic performs design matching of nets, devices, and deviceparameters. LVS compares any combination of physical or schematic designs.

Page 134: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-5

DIVA Tool Flow

Circuit integrity anddesign matching

Layout design rulecorrect

DesignedDevices

LPE/PREand

DesignedDevices

Shortlocator

ERC

LVS

Post-layoutsimulation

DRC

Extractor

schematicviews

layoutviews

9/27/94 Cadence Design Systems, Inc. 6-6

DIVA Tool FlowThere are several directions the physical verification flow may take. Layout data may bechecked for physical design constraints to fix basic construction flaws. The traditionalapproach has been to first perform DRC, then check the circuit consistency of basic electricalfunctions with ERC, and finally, perform comparison checks with LVS.

In the product flow shown, designs are handled differently for different verification products.Layout designs are input directly to DRC and are independent of other products. If ERC orLVS is required, then you need to use Extraction to prepare the original layout for verification.Extraction can also be used to prepare a circuit for post-layout simulation.

Schematic data plays a part only with LVS. You have the option of comparing the data againsta second schematic with LVS. LVS can also compare a layout against another layout.

Page 135: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-7

Design Rule Checking

DRC

drcExtractRulesprocedure and layer

properties

Markers/Explain

layoutviews

DRClog file

9/27/94 Cadence Design Systems, Inc. 6-8

Design Rule Checking

The design rules that control DRC operation are specified in the technology file. Thetechnology file is a collection of design-related properties and functions that are an integralpart of the design database.

Page 136: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-9

Using DRC

9/27/94 Cadence Design Systems, Inc. 6-10

Using DRC

Start DRC with the Apply or OK buttons.

Checking Methods

■ flat checks designs as though the hierarchy were flattened.

■ hierarchical checks each file in the design’s hierarchy one time optimizing each cell’speripheral checks with a pattern recognition algorithm (optimization).

■ hierarchical without optimization works the same as hierarchical but doesn’t use patternrecognition. All cell-to-cell errors are reported.

Checking Limits

■ full checks all data.

■ incremental checks areas enclosed by the changedLayer layer since the last DRC.

■ by area checks areas you define with a rectangle - use drcZeroHalo(t) either in the CIWor in your Diva rules file to eliminate the unwanted halo created during area DRC.

In the Switch Names field you name parts of the DRC rules you want to execute.

In the Run-Specific Command File field you name a file that executes any SKILL command.All commands execute before DRC runs.

Page 137: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-11

Using DRC

9/27/94 Cadence Design Systems, Inc. 6-12

Using DRC (continued)

In the Inclusion Limit field you give a number that includes or excludes cells for DRC. Thisworks with the ivIncludeValue property stored in a cell’s property list. If the number you giveis greater than the value of the property the cell will be included.

Turn on Join Nets with Same Name to short disjoint nets to avoid false connection errors.

You turn on Echo Commands to see DRC commands run in the CIW.

Machine

■ You select local to run your own system

■ You select remote to run on a remote server

— Select Remote Setup to name a remote machine and directory mapping file.

Page 138: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-13

Using Hierarchical DRC

Composite to composite

Cell to cell

Cell to composite

Intra-cell

9/27/94 Cadence Design Systems, Inc. 6-14

Using Hierarchical DRC

Hierarchical processing decreases runtimes for designs using repetitive cell patterns throughthe hierarchy. Because hierarchical processing involves program overhead, runtimes canincrease when you process a design with no hierarchy.

Intra-cell Checks

Each cell of the design hierarchy is checked independently, and errors found are written onceto the cellview of the instance.

Cell to Cell Checks

Diva checks cell to cell on the same level of hierarchy and writes the errors to the parent cellin which both the checked cells are placed.

Cell to Composite and Composite to Composite Checks

Checks are performed where top level data interacts with cell data in the design rule halo. Thedesign rule halo is an area determined by the largest value specified in a rule for a layer that isused in the data. Composite to composite checks are also made. Errors are written to the toplevel.

Pattern Recognition and Optimization

DRC recognizes repeated patterns of cell to cell interaction at a single level of hierarchy. Ifthese patterns are encountered, they are checked only once.

Page 139: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-15

Analyzing DRC/Extractor Errors With Explain

Shorts...

Probe...Markers... ➝ Explain

Find...

DeleteDelete All...

9/27/94 Cadence Design Systems, Inc. 6-16

Analyzing DRC/Extractor Errors with Explain

Errors are displayed after DRC finishes.

When you select Explain, the Marker Text window opens showing messages attached toDRC errors you point to. You define these messages with the drc command in thedrcExtractRules procedure. The Explain command repeats until you cancel it or start anothercommand.

Find

Find opens the Find Marker form, which has options for probing DRC and extraction-basederrors. You use the same form for schematics.

Zoom to Markers focuses the window on the specific error being analyzed.

Access Mode opens designs that are probed hierarchically in either read or write mode.

Severity shows errors of either warning or error purpose. DIVA uses only error purpose.

Search Scope probes errors in one of three modes:

■ cellview probes the current design only.

■ hierarchy starting from probes hierarchically either from the top cellview or thecurrent cellview.

■ library probes errors existing in all designs of the specified library.

Page 140: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-17

Analyzing DRC/Extractor Errors with Search

Undo

RedoMove

Other ->

Edit VerifyCreate

Search...

9/27/94 Cadence Design Systems, Inc. 6-18

Analyzing DRC/Extractor Errors with Search

Search shows messages attached to errors found by the search filter you define.

■ With Search you create filters to search for any specific object(s).

■ You use the drcWhy or extractWhy properties and their values to find specific errortypes.

■ All objects or their properties can also be replaced by Search.

Page 141: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-19

Labs in This SectionLab 6-1. Using Flat DRC and analyzing Errors

Lab 6-2. Using area DRC

Lab 6-3. Using Hierarchical DRC

9/27/94 Cadence Design Systems, Inc. 6-20

Page 142: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-21

Extractor

DesignedDevices

LPE andPRE

drcExtractRulesProcedure

extractedviews

layoutviews

9/27/94 Cadence Design Systems, Inc. 6-22

Extractor

Applications

You can use the extractor for several purposes:

■ Device and connectivity information can be extracted for ERC or LVS programs.

■ Netlists can be created from extracted views.

■ Creation of layout netlists with parasitic components for simulation analysis.

Tool Flexibility

Designs can be extracted on a flat, hierarchical, or macro basis to reduce runtimes. As thedesign changes, extraction can be run incrementally, cell by cell.

Technology Independence

Diva can handle any design type. In addition, Diva can use a single command procedure withseveral technologies.

Page 143: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-23

Extraction Methods

Macro CellFlat Hierarchical

9/27/94 Cadence Design Systems, Inc. 6-24

Extraction Methods

Flat

Creates a single level extracted view, irrespective of the design hierarchy of the layout.

Hierarchical

Creates an extracted view of each individual cell. The higher levels are extracted as flat(except for cell instances placed in them), and each cell has an excell view created (to be usedas an instance that is placed in higher level cells).

Macro

Creates a flat level extracted view. Stops the extraction at the cell level for all cells designatedas macro cells.

Page 144: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-25

Using the Extractor

9/27/94 Cadence Design Systems, Inc. 6-26

Using the Extractor

Running Extraction

Selecting Verify ➝ Extract opens the Extractor form. The Apply button starts extraction.

There are four Extract Methods. flat flattens and extracts the design hierarchy. macro cellextracts data not inside macro cells. full hierarchical extracts each cell once. incrementalhierarchical only extracts cells which have been edited since their last extraction.

Options

Join Nets with Same Name can be used to wire a connection between disjoint nets in orderto avoid false errors.

Echo Command outputs commands to the CIW during extraction. This feature is on bydefault.

You use Switch Names to run specific parts of the extraction rules in the drcExtractRulesprocedure. If you are using the analog extractor then four select buttons are shown. Thesebuttons are hard-coded and start designated sections of an extract file.

The Run-Specific Command File allows you to specify external text that you want placed inthe design, the set ability to join specific nets, and the set ability to change specific net names.

Inclusion Limit includes or excludes cells according to the ivIncludeValue property attachedto the cell. If the ivIncludeValue property is greater than the Inclusion Limit, the cell is notextracted.

Page 145: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-27

Using Probing

9/27/94 Cadence Design Systems, Inc. 6-28

Using Probing

The Probing form highlights device or net objects. Probing works only in extracted andschematic views.

Probe Settings

Probing Method - single probe is used for any application where you want to see the entirepath of a net, to see the name of a net or device, or check a net for connectivity.cross probe is used exclusively for LVS to highlight nets or devices in two different cellviewsthat have been compared.Probing Scope - for displaying probes for LVS choose between matched, unmatched or all(both matched and unmatched objects). For non-LVS applications matched is always used.Probe Type - either devices or nets can be probed. Global settings are device or net, deviceonly and net only.

Probe Buttons (Probe buttons are dependent on Probe Type settings)

Add Device or Net probes nets or devices.Add Nets for Device probes nets connected to the device you indicate.Add Devices for Net probes devices connected to the net you indicate.Remove Device or Net removes probed nets or devices.Remove Nets for Device removes probed nets.Remove Devices for Net removes probed devices.Remove All removes all nets or devices.

Page 146: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-29

Using Analog Probing

9/27/94 Cadence Design Systems, Inc. 6-30

Using Analog Probing

The Probing form highlights device or net objects. Probing works only in extracted andschematic views.

Probing MethodUse single probe all to see matched or unmatched nets or an devices.Use single probe matched to see devices or nets hilighted.Use single probe unmatched to see devices or nets hilighted that have not been matched byLVS.Use cross probe matched to see devices or nets that have been matched by LVS.

Add Device probes devices.Add Net probes nets.Add Nets for Dev probes nets connected to specified devices.Add Devs for Net probes devices connected to the net you indicate.Remove Net removes probed nets.Remove Dev removes probed devices.Remove Nets for Device removes probed nets.Remove Devices for Net removes probed devices.Remove All removes all net or device probes.Show Probe Info displays a text window listing all probed nets and devices.

With Explain you display information about nets or devices.

Page 147: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-31

Labs in This SectionLab 6-4. Using basic extraction

9/27/94 Cadence Design Systems, Inc. 6-32

Page 148: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-33

Short Locator

Short Locatorlog file

layoutviews

extractedviews

Run

ShortLocator

Analysis

9/27/94 Cadence Design Systems, Inc. 6-34

Short Locator

Short Locator highlights the precise location of a short between two nets. It does not find netsthat are shorted, so you must provide the net names. Short Locator runs in both layout andextracted views.

How Short Locator works

You run the Short Locator with interactive label placement. When you place the labelsstrategically, the Short Locator can isolate the short. To optimize the Short Locator algorithms,you need to use good technique.

After Short Locator runs, the entire net is highlighted to display two of four different purposeson the hilite layer. Of the four purposes on the hilite layer, two highlight active layers and twohighlight inactive layers. After a Short Locator run, the net is highlighted to indicate objectsthat are resolved (not affiliated with the short) and shorted (involved with the short).

You start by placing labels on two parts of the net you know are distinct and run Short Locator.You iteratively place labels and rerun to narrow down the shorted region.

You use two modes to locate shorts. 1) Default mode to find shorts between different layers.2) Polygon mode to find bridging shorts, between different parts of the same layers.

As a prerequisite for running short locator you must extract the layout, and the command filethat extracted the layout must incorporate the geomConnect and saveInterconnect commands.

Page 149: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-35

Using Short Locator

9/27/94 Cadence Design Systems, Inc. 6-36

Using Short Locator

Label Height

The height of labels can be changed during a session.

The match existing option uses the current default text height for Short Locator labelplacement. The user-defined option uses the specified value for text height.

Net Name

You must specify a net name before running the Short Locator. Type in the name of the net orselect Sel by Cursor and point to the net. Text placed as a part of the design is used for theinitial run.

Run Mode

The Run button starts Short Locator. There are three modes of operation:

The new run option starts the first run.

The rerun option starts all subsequent runs.

The polygon option analyzes single polygons rather than multiple layers. A single polygonmust be identified as unresolved before this mode can be used. The default run mode cannotbe used for the current session after polygon mode has been initiated.

Page 150: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-37

Using Short Locator

9/27/94 Cadence Design Systems, Inc. 6-38

Using Short Locator (continued)

Labels

You place labels with the Add Label for Short Locator form. Type the label, select Apply,then point to the net where the label should be placed. Remove labels with the Remove Labelbutton. Point to the label to remove.

Fit Short zooms in on the shorted part of the net.

The Save button pops up the Save Short Locator Status form. Type the log file name inSave Run Data in File.

The Restore button pops up the Restore Saved Run Status form. Type the log file name ofthe run previously saved in Restore Run from File.

Finish terminates the current Short Locator run.

Active Layers

Layers can be turned on or off for label placement and net highlighting. If a layer is not active,labels cannot be placed on it even though it may be visible. Inactive layers are defined in thesaveInterconnect command specified in the extraction file.

Page 151: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-39

Labs in This SectionLab 6-5. Finding a contact short

9/27/94 Cadence Design Systems, Inc. 6-40

Page 152: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-41

Layout Versus Schematic

schematicviews

Netlistcreation

Netlistcomparison

Netlistcreation

LVS

Probing/Explain

extractedviews

lvsRulesprocedure

Errordata

9/27/94 Cadence Design Systems, Inc. 6-42

Layout Versus Schematic

Layout Versus Schematic (LVS) checks the consistency of connectivity and devices betweenthe extracted cellview of a layout and the schematic it was designed from. Any combinationof cellviews may be checked, either extracted or schematic.

Executing LVS

After layout extraction is complete, you can run LVS. Before running LVS, you need to setvarious options. You then start the program be selecting LVS ➝ Run LVS.

Using the Job Monitor

After executing LVS, you use the Job Monitor to maintain the DIVA job queue. SelectLVS ➝ Job Monitor.

Explaining Errors

Each error found by the LVS program can be viewed individually with the Explain Errorcommand.

Page 153: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-43

Using LVS

9/27/94 Cadence Design Systems, Inc. 6-44

Using LVS

The Run Directory can be a relative or full path.

Select both layout and schematic buttons for the first LVS run. Select cellviews by pointingto their windows or type the names of the cellviews in the form.

For subsequent LVS runs select Generate New Netlist only for the design that has beenmodified. This speeds up LVS.

Page 154: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-45

Using LVS (continued)

9/27/94 Cadence Design Systems, Inc. 6-46

Using LVS (continued)

Correspondence Points

To resolve ambiguity in LVS, correspondence points can be set up between extracted andschematic cellviews. These points establish a starting place for the comparison. Nets ordevices can be used as correspondence points. They can be created in two ways: by usingmenu commands, which creates a file of correspondence pairs, or by placing terminals in thelayout and extracting it.

Add adds the correspondence point to the correspondence points file.Remove selectively removes correspondence points from both the compared cellviews. Thiscommand removes the correspondence point from the correspondence points file.Display shows specified correspondence points in both cellviews that are compared.Display All Pts shows all correspondence points in both cellviews that are compared.Clear All Pts removes correspondence points in both of the cellviews that you compared.

LVS Options

Choose cross reference file for optional post-LVS processing.You use Apply device fixing to disable pin swapping on specified cells. To fix these pins, youplace a fix property containing the names of the pins on the schematic cellview.Rewire allows automatic rewiring of the circuit terminals during comparison.

Job Priority

The priority of an LVS run can be set in advance and changed with the Job Monitor.

Page 155: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-47

Running LVS and Analyzing Results

Analog LVS Form

Standard LVS Form

(Backannotate andParasitic Simulationis not covered here)

9/27/94 Cadence Design Systems, Inc. 6-48

Running LVS and Analyzing Results

Run

Select Run to start the LVS program.

Using the Job Monitor

After starting the run, the Job Monitor can be used to maintain the Diva job queue. Each jobis shown by run directory name. You must select the job before using the following functions.

Show Run Log displays the job log in a text window, Set Priority changes the job priority onthe local machine, Kill stops the job permanently, Suspend stops the job temporarily,Continue starts a job that was stopped with Suspend, and Delete removes a job from the JobMonitor.

Show Run Info

This form is used for analysis of DIVA verification. Results are shown in a text window.Output displays the output file si.out. Log displays a progress record called si.log. SchematicNetlist displays the schematic netlist file run_dir/schematic/netlist. Layout Netlist displaysthe layout netlist file run_dir/layout/netlist.

Machine

The local option specifies the local machine for job execution. The remote option specifiesthe remote machine for job execution and starts Remote DIVA. Remote Setup pops up a formfor specifying the remote machine name and remote map file.

Page 156: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-49

Running LVS and Analyzing Results (continued)

9/27/94 Cadence Design Systems, Inc. 6-50

Running LVS and Analyzing Results (continued)

Displaying LVS Errors

The Probing/Display LVS Errors form provides tools to display graphic LVS errors. Theseerrors can be displayed only in extracted or schematic views.

Display Errors

Each of these errors are shown with a different purpose on the hilite layer. Show all errors withall and clear all errors from the screen with none.

Unmatched – nets shows nets that cannot be matched from schematic to layout, instancesshows devices that cannot be matched from schematic to layout, parameters showsdevice-based properties that cannot be matched from schematic to layout, and terminalsshows rewired nets and unmatched pins.

Pruned – nets and instances show objects that you want LVS to ignore.

Merged – nets shows nets that, if connected, would compare correctly between views.

Explain Error

Explain displays the name or error of any probed or displayed object. An object can be a net,device, or probe. The display can be redirected to the CIW with on CIW or to a text windowwith on text window.

Page 157: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Diva Tools 6-51

Labs in This SectionLab 6-6.

■ Set up and run LVS

■ Analyzing errors and cross probing

9/27/94 Cadence Design Systems, Inc. 6-52

Page 158: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-1

Plotting

Objectives

■ Understand the plotting flow

■ Learn about the .cdsplotinit file

■ Learn how to add a display type for plotting in the technology file

■ Learn how to use the plot menu

9/27/94 Cadence Design Systems, Inc. 7-2

Terms and Definitions

raster plotter A device which creates plots using an electrostatic method.Raster plotters can be either color or black and white.

pen plotter A device which creates plots using colored pens.

Postscript A language which specifies the output to a printer device.

Page 159: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-3

Plotting Flow

Technology File

Display = versateccDefine layers, colors, fills,

DesignTo Plot

.cdsplotinit

Specify plotter name

Set OptionsinSubmit Plot form

Plotter

and linestyles

9/27/94 Cadence Design Systems, Inc. 7-4

Plotting Flow

Technology File

You specify the plotter device type and layer information inside of the technology file. Oncethe technology file is loaded into the library, you can then edit the layers through the Layersform.

.cdsplotinit

Each time you plot, the configuration files are read. You only need one configuration file. Ifthere are more than one configuration file, all are read. If there are identical entry names ineach file, the plotter interface uses the entry from the last file. This means that a user canoverride the entries defined in the site configuration file. The location of the .cdsplotint file is<install_dir>/tools/dfII/etc/plot/.cdsplotinit.

Submit Plot Form

To invoke the Submit Plot form select Design ➝ Plot ➝ Plot Cell View. You specify size ofthe plot, if you want to plot now or later, or you can save a plot to a file. You can also canceljobs, or look at the job queue.

Page 160: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-5

Defining PlottersDefine the printers and plotters in the technology file that will be used.

tfcDefineDisplay(

;(DisplayName #Colors #Stipples #LineStyles )

(hp8 9 9 9

(hp6 7 7 7)

(versatecc 32 32 32)

(versatecb 2 32 32)

(psb 2 32 32)

(display 256 256 256))

Layers FormTechnology File➝ Graphic Display Options➝ Layers...

9/27/94 Cadence Design Systems, Inc. 7-6

Defining Plotters

The sample technology file <install_dir>/samples/techfile/mpu.tf, includes definitions for thefollowing printers and plotters:

PostScript black and white printers “psb”

Versatec black and white printers “versatecb”

Versatec color plotters “versatecc”

HP plotters with six pens “hp6”

HP plotters with eight pens “hp8”

For example the mpu.tf defines the following for HP six-pen plotters:

■ A display device named “hp6” that has seven colors, seven line styles, and seven stipplepatterns.

■ The six colors drawn by each pen, plus white (no pen). The index number listed for eachcolor correspond to the plotter pen numbers.

■ The stipple patterns.

■ The color of the background layer when plotted, to map the default black background ofCadence windows to white.

If your technology file does not include printer or plotter definitions, in most cases you cancopy the sample definitions from mpu.tf to an ASCII file and load it in your technology file.

Page 161: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-7

Customizing Your Plotter OutputSet layer appearance for specific layers.

Control the layer color

Choose a line style forthe outside edge of the layer

Choose a stipple pattern

You can set these itemsdifferently for any printer orplotter. (Color settings donot apply to black andwhite printers.)

Controls whether objectsdrawn on this layer areprinted

Controls whether the layeris solid, or filled with astipple pattern

Changing these itemsaffects the layer appearanceon screen and for all printersand plotters

9/27/94 Cadence Design Systems, Inc. 7-8

Customizing Your Plotter Output

Once the plotter device definitions are set in the technology file, you can set the layerappearance for specific layers. Any layers that aren’t set will plot the same way they appearon your screen.

You can set the layer stipple pattern, line style, and color differently for any printer or plotter.You can change the visibility and fill style for the layer, but this resets the layer’s visibility andfill style for all display devices, including your monitor screen.

Page 162: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-9

.cdsplotinit FileThe Cadence software uses the .cdsplotinit file to identify each printer or plotteron your network.

Color Versatec 8936-2E in Building 4|8936-2:\:spool=lpr -Pvt: \:query=lpq -Pvt: \:remove=lprm -Pvt $3: \:type=intCLR: \:manufacturer=Xerox Engineering Systems: \:maximumPages#10: \:resolution#200: \:compress::residentFonts: \:outtype=RPM_VCGL: \:tmpdir=/usr/tmp: \:script=/usr/mnt/myfiles/vpsSave: \:paperSize=”36 inches wide” 0 6848:

Menu Name on plotter

Plotter_Model

Page size shown onplotter form

form

9/27/94 Cadence Design Systems, Inc. 7-10

.cdsplotinit File

menu_name

Name of the plotter as displayed by the software in the plot forms. There can be nospaces between the menu_name and plotter_model. If you do not specify amenu_name, the list of plotters does not display this plotter.

Caution

Do not change the plotter_model. You can only use plotter models recognized by Cadence. The sample file<install_dir>/tools/dfII/etc/plot/.cdsplotinit has sample entries for several plotter models.

outtype

Used only for Versatec and Calcomp. Specifies desired format.

instdir

Full path of the installation directory on the plot server. Example: /usr/cds

cds2versa and cds2calcomp expect files to be in instdir/tools/dfII/bin,instdir/tools/dfII/etc/plot, and instdir/share/license.

script (optional)

Script to postprocess the output from cds2versa. You can write a script to save theraster file on disk, move the vector file to a servWare node or to run other scripts orprograms. Specify the full path to the script to prevent the software from looking forthe file in <install_dir>/tools/dfII/bin.

Page 163: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-11

Submit Plot Form

The Plot Cell View Area command brings up the Submit Plot form afterspecifying the area that you want to plot.

Design➝ Plot➝ Plot Cell View

Choose the type ofplotter as defined inthe technology file

Choose a specificplotter and pagesize

Prints out namecellview namedate, mag., andnumber of pages

Submit Plot

9/27/94 Cadence Design Systems, Inc. 7-12

Submit Plot Form

Display Type

This field lists monitors and plotters defined in the technology file.

Plotter and Page Size

Theses fields include all plotters from your .cdsplotinit file.

Plot Size

You can control the plot size by setting a scale factor or specifying the plot height or width.

Plotting Later

If you have a large design or the plotter is currently in use, you might want to plot yourcellview at a later time. You can set the system to automatically plot the cellview at a specifictime. Create a file that you can plot later with UNIX commands. Or you can save the currentplot form settings and use them to plot later.

Type the scale factor,width, or heightTurn on user defined

Page 164: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-13

Plotter Options and Plot Job Queue

Display Options

9/27/94 Cadence Design Systems, Inc. 7-14

Plotter Options and Plot Job Queue

Display Options

On the Submit Plot form, click on the Display Options button to bring up the Display Optionsform. These options apply only to the plot.

The Display Controls and Array Border control the appearance of instances and arrays in theplot. The Display Levels control how many levels of hierarchy appear in the plot.

Plot Job Queue

There are two ways you can look at or cancel any of the print jobs you have sent to a plotter.

■ You can use UNIX commands such as lpq or lprm.

■ You can use the Plot Queue command.

The Plot Job Queue form lets you do the following.

■ View jobs that are running from a specific plotter.

■ Type in a job number.

■ Cancel a plot job from the job number.

Page 165: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Plotting 7-15

Labs In This Section

Lab 7-1. Setting Plot Options, Saving a Template, Running a Plot

Lab 7-2. Setting up a Versatec Color Plotting Library

9/27/94 Cadence Design Systems, Inc. 7-16

Page 166: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-1

Stream Translation

Objectives

■ Understand stream translation flow

■ Learn how to plan, run, and verify translation

■ Learn how to use templates

■ Learn how to create Map files

■ Learn how to translate with different options

9/27/94 Cadence Design Systems, Inc. 8-2

Terms and Definitions

Stream A de facto data format used to transfer physical design data fromone CAD system to another.

Datatype The Stream equivalent of a layer purpose

SREF The Stream equivalent of an instance placement

Page 167: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-3

Stream TranslationWhat is Stream Translation?

■ Data translation program to convert physical data to a common format.

■ Used to transfer designs to and from CAD systems with different internaldata formats.

■ Stream is a de facto standard, public domain format, originally developed byCalma for GDSII archive.

9/27/94 Cadence Design Systems, Inc. 8-4

What is Stream?

Stream format was originally developed for archiving Calma GDSII data. It has since evolvedinto an unofficial industry standard for transferring physical designs.

The primary use of Stream is to transfer data from one CAD system to another. It is also usedas an archiving format, although some data found in Cadence libraries is dropped whenconverted to Stream. It is better to use UNIX backup commands to archive Cadence librariesintact.

One of the reasons not to use stream to archive your database, is if you are using parameterizedcells. Parameterized cells loose their parameters during stream.

Page 168: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-5

Stream In Translation Flow

strmin

Cadencelibrary

technologyfile

template

map filesStream

textdump

file

9/27/94 Cadence Design Systems, Inc. 8-6

Stream Translation Flows

Stream InIf you have a Stream format file and want to create a Cadence library, you use the stream inversion of the physical data translator (pipo program). First, create any support files which areneeded. Next, run the translator to generate the Cadence library. Finally, verify the results.

TemplatesIt is recommended that prior to running the translator, you save the run information in atemplate file. If there is a need to change one option and rerun, the template can be loaded andused instead of specifying all the options again.

Map FilesMap files are used to create a correspondence between Cadence and stream layers, cell names,and text height. An example is a layer map, which specifies the stream layers to be translatedand their corresponding Cadence layer name. By default, all layers will be translated andassigned layer names which match the layer numbers.

Technology FileAn alternative to using a layer map file is to create a technology file using the techfilegeneration option. The technology file can be edited to give the layers specific names, as wellas customizing colors and adding technology information. If a technology file was created andmodified, then that technology file will be loaded when the library is created.

Page 169: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-7

Stream Out Translation Flow

Cadencelibrary

strmout

template

map files

Streamfile(or textdump)

9/27/94 Cadence Design Systems, Inc. 8-8

Stream Out

If you have a Cadence library and want to create a stream file, then you will use the stream outversion of the physical data translator. You must use a map file to specify what layers toconvert, and their corresponding stream layers, or attach layer properties to each layer with thesame information. In most cases, the same map files can be used for both stream in and streamout.

Text Dump

Both stream in and stream out have options to create an ASCII text dump. In both cases, theascii text file is an image of the stream format. So, if a text file is generated for stream out, thedata is actually translated to stream format and then to text.

Page 170: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-9

Translation Steps

Set Up VerifyingCorrect

Output Not Correct

StreamExecution

9/27/94 Cadence Design Systems, Inc. 8-10

Translation Steps

Set Up

To accomplish a successful conversion it is often necessary to spend time planning. The inputdata may need to be analyzed, and decisions made on what will be output. Any limitations ofthe target program for the output data should be considered. Stream translation can filter thedata to make it more acceptable to the target program if necessary. When using stream in, theresult is a Cadence library. The structure and content of that library can be controlled duringtranslation, rather than attempting to do it afterwards which may be time consuming.

Stream Execution

During this stage the translator program is run. Run specific information must be supplied,such as input and output file names, and the error log file name. A run directory can be set up.To make rerunning easier, template files can be set up and saved.

Verifying

The final step is to verify that the translation went correctly. This should be done prior to doingany work on the output data. If the data is not correct, a rerun with new options may berequired.

Page 171: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-11

Analyzing Data for TranslationStream In Data Mapping

Stream Out Data Mapping

Stream Data Type Design Framework II Data Type

library library

structure cellview

boundary polygon

path path

sref instance

aref mosaic

text label

box rectangle

Design Framework II Data Type Stream Data Type

ellipse boundary

circle boundary

circle path path

arc path path

rectanglesymbolic device

boxgeometric data

9/27/94 Cadence Design Systems, Inc. 8-12

Analyzing Data for TranslationThe Cadence database and the stream database contain differences in format and content.During the planning stage, these differences should be analyzed to determine the appropriatetranslator options to use.

LibraryThe library related information includes primary library name and reference library names.Reference library names are limited to two for stream. The database unit information is storedin the library header for stream format, and in the view property in the Cadence library.

Technology InformationThere is no technology information stored in the stream format. Each shape is on a particularlayer and data type, but there is no description of the layer which compares to the Cadencelibrary technology file. This is why it is necessary to supply this information when translatingstream data into Cadence library format.

Design HierarchyThe design hierarchy for both stream and Cadence library is created by instantiation of cellsreferring to master cells. So, there is no one spot where it can be found in either format. But itis possible to alter the hierarchy when cell name mapping or lower to upper case conversionis specified during translation. Another important difference is that the Cadence instancecontains a reference to a particular library, while the stream format does not.

DataThe rest of the differences are in the data format itself. One major difference is that stream hasno equivalent of complex arrays. Another difference is text mag vs. text height.

Page 172: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-13

Retaining Reference LibrariesTo retain reference libraries you must do the following:

■ Make sure that all cells have unique names.

■ Stream Out will issue a warning message when you translate a cell thatuses more than two reference libraries.

■ Turn on the Retain Reference Library option in the Stream form.

9/27/94 Cadence Design Systems, Inc. 8-14

Retaining Reference Libraries

The term “reference libraries” refers to any cell that is placed into another library. The firstlibrary is referenced to the second library.

Specifying Unique Names

Before you translate designs containing reference library cells, make sure your cells haveunique names, even if they are in different libraries. If you translate a Design Framework IIdatabase file that contains two cells from different libraries but with the same cell name,Stream Out changes the names in the Stream File. When you translate back to DesignFramework II format, the application is not able to locate the cells in the reference librarybecause the names have changed.

Using More Than Two Reference Libraries

Stream Out writes a warning message to your error file when you translate a cell that uses morethan two reference libraries. Stream Out still translates the cell names and placementinformation for the cells from the remaining reference libraries.

Using the Retain Reference Library Option

When you translate a Stream file to Design Framework II format, you need to know whetherit contains complete information or reference information. If you created the Stream file sothat it retains the reference library structure, the referenced cells are not completely definedand you must translate the file to Design Framework II format with the Retain ReferenceLibrary option set on.

Page 173: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-15

Retaining Reference Libraries (continued)

To retain reference libraries you must do the following:

■ Make sure that all cells have unique names.

■ Stream Out will issue a warning message when you translate a cell thatuses more than two reference libraries.

■ Turn on the Retain Reference Library option in the Stream form.

9/27/94 Cadence Design Systems, Inc. 8-16

Retaining Reference Libraries

When you set the Retain Reference Library option on, your Stream file will contain completestructure definitions for the geometric and text objects in your design, as well as the instancesplaced from the current library. Instances placed from other libraries, whether they are listedas reference libraries in the refLib property or not, are translated with only the cell name,origin, orientation, magnification and number or rows and columns.

When you set Retain Reference Library off, your Stream file will contain complete structuredefinitions for all objects in your design. Stream Out merges the structure definitions fromyour reference libraries into the Stream file to define the referenced cells. Complete structuredefinitions contain cell name, origin, orientation, magnification, creation date, date of lastchange, object type, stream layer number, stream data type, coordinates, and properties onobjects.

Page 174: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-17

Mapping Layers

Stream LayersCadence Layers

1 0nwell

2 0diff

3 0poly

drawing

drawing

drawing

contact

metal1

drawing

power

5

6

0

1

Layer Layer #Purpose Datatype #

groundmetal1 6, 5 2

9/27/94 Cadence Design Systems, Inc. 8-18

Mapping LayersDefault for New Library

The default for stream in to a new library is to create a Cadence layer for every stream layer.The layer names are defined as L#, where the # is the stream layer number. For example, dataon stream layer 5 will be on Cadence layer L5.

Default for Existing Library

The default for stream in to an existing library is to attempt to match the internal Cadence layernumber to the stream layer number. For example, if a Cadence library contained a layer named“poly1” and it’s internal number was 5, then stream data on stream layer 5 would be placedon the layer “poly1”.

Layer Properties for Stream Out

Stream out translation will use the layer properties to determine what stream layer to put dataon. These properties can be accessed and changed using the Technology File pulldown menu.

Layer Mapping TableA layer mapping table can be used for both stream in and stream out. If you specify a layermap table Stream In translates only the layers that are listed. For example:#Cadence Layer Layer purpose Stream layer Stream Datatypenwell drawing 1 0diff drawing 2 0cont drawing 3 0poly1 drawing 6 0

Page 175: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-19

Mapping Design Hierarchy

Stream FileMaster Cells (structures)

CHIPARRAYCOREPADCELL_ACELL_B

CHIP

ARRAY PAD

CORE

CELL_A CELL_B

Cadence LibraryMaster Cells (cellviews)

chip layoutarray layoutTop layoutpad layoutcell_a layoutcell_b symbolic

chip

array pad

core

cell_a cell_b

Hierarchy Depth Limit

0-20 levels

Cell Mapping Table

Yes

Convert Arrayto SimpleMosaic?

9/27/94 Cadence Design Systems, Inc. 8-20

Mapping Design Hierarchy

In most cases the design hierarchy remains the same after translation. There are options whichcan alter the cell naming (and therefore the hierarchy) and also result in a different hierarchyif this is desired.

Case SensitivityThe original Calma GDSII system did not recognize any difference between upper and lowercase. Within the Design Framework II environment there is a difference, and the default istypically lower case. The stream in and stream out option for case sensitivity defaults to thisconvention (lower case for stream in, upper case for stream out). If you prefer to preserve casesensitivity, you can set that option, but be aware that there is a chance of naming conflict onthe target system.

Cell Name MappingThe use of a cell name mapping file is optional, unless there is a name conflict which must beresolved. For example, the cellviews “Sarray layout” and “sarray layout” are named uniquelywithin the Cadence environment, but when translated to a system without case sensitivity theywould have the same name and only one would be recognized. Another example is fordifferent views of the same cell, for example “Sarray layout” and “Sarray compacted.” If bothcellviews were to be translated into one stream file, then mapping would be required.

Array ExpansionThe stream in and stream out option for Convert Array to Simple Mosaic will explode arraysto individual cell placements. If this is desired, set this option on. By default it is off.

Hierarchy Depth LimitBy default this is set to 20 levels so all levels convert. It can be limited if desired.

Page 176: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-21

Mapping Data

Non-rectilinear Orientation and Absolute Rotation or Magnification are notsupported in the DFII database.

Width

Parameterized CellsSymbolic Devices

PathType (#)

Properties (name)Attributes (#)

Complex Arrays

Polygons (BOUNDARY)

Paths

Structure References (SREF)

Array References (AREF)

Structures

Text

Polygons

Paths

Instances

Mosaics

Cellviews

Label

Coordinates 200 - 4000 Coordinates 4000

Magnification

PathType(name)

Instance Name

Mosaic Name

Height (User Units)

each submaster

TextMapping

9/27/94 Cadence Design Systems, Inc. 8-22

Mapping Data

The lowest level of mapping between stream and Cadence formats is at the data level. Thisillustration shows some of the differences which you may encounter. See the Design DataTranslators Reference Manual for more details.

Polygons and Boundaries

The default number of vertices to stream out is 200, but you can set this number up to 4000.The default number of vertices to stream into is 4000. Stream out will warn if you try totranslate polygons which are too large.

Paths

A difference in paths is the way the end style is designated. For stream this is a number, forCadence it is a name. Rounded end paths also appear octagonal in the Cadence database.

Text and LabelsThe size of text is designated by a magnification factor in stream. Also, the text fonts are userdefinable and bound to a particular library, so there is no standard size. Cadence text (or labels)have a specified height in user units. A text mapping table is used to correlate these two values.

Structure References and InstancesStream structure references (SREF’s) may have orientation which is non-rectilinear. Cadenceonly recognizes rectilinear orientations (R0, R90, R180, R270, MR90, MR270, MX,MY).This orientation (called ANGLE in stream) is translated to the closest Cadencerectilinear orientation. SREF’s and AREF’s may also have an absolute magnification orabsolute orientation. This information is not translated.

Page 177: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-23

Mapping Data (continued)

Non-rectilinear Orientation and Absolute Rotation are not supported in the DFIIdatabase.

Width

Parameterized CellsSymbolic Devices

PathType (#)

Properties (name)Attributes (#)

Complex Arrays

Polygons (BOUNDARY)

Paths

Structure References (SREF)

Array References (AREF)

Structures

Text

Polygons

Paths

Instances

Mosaics

Cellviews

Label

Coordinates 200 - 4000 Coordinates 4000

Magnification

PathType(name)

Instance Name

Mosaic Name

Height (User Units)

each submaster

TextMapping

9/27/94 Cadence Design Systems, Inc. 8-24

Mapping Data (continued)

Array References and MosaicsStream array references (AREF’s) may have magnification not equal to 1. This is only allowable for instances in theCadence database. If you are translating using stream in and know that this type of array exists, turn OFF the ConvertArray to Simple Mosaic option. Cadence complex arrays (created by Structure Compiler) have no equivalent instream, and stream out automatically converts them to individual cell (SREF) placements.

Structures and CellviewsStream structures are always converted to Cadence cellviews. For Cadence cellviews, parameterized cells are alwaystranslated at the submaster level. This results in the same physical data, but the parameterization of the cellviews isremoved. Cadence symbolic devices, which are really parameterized cells, are treated similarly, unless they weresmashed during Convert to Geo (Compactor Post Processing). One exception is Cadence symbolic pins, which aretranslated either into text, geometry, or dropped, depending on the special stream out option selected.

Boxes and RectanglesStream boxes can be translated into rectangles (optionally). Cadence rectangles are always translated into polygons(BOUNDARIES). Any polygon from stream format which is actually a rectangle is converted to a Cadence rectangleduring stream in.

Attributes and PropertiesStream attributes can be used to approximate a small part of the Cadence property functionality. Often, the streamattribute is used to archive some property value which may be needed later. Currently, only pin properties aretranslated to stream attributes. Select the attribute number to hold the pin properties prior to streaming out.

Page 178: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-25

Running Stream Translator

Type the stream file youwant to translate.

To convert only part ofthe hierarchy, list thetop cells for all parts ofthe stream hierarchyyou want to convert.

You can convert thedata to a DFII library,an ASCII text file, or atechnology filedefining all layers inthe stream file.Depending on whichoption you pick, fill inthe DFII library, ASCIIfile, or technology filename.

Stream In

9/27/94 Cadence Design Systems, Inc. 8-26

Running Stream TranslatorUnless stated otherwise, all these options apply to both stream in and stream out. All thestream forms are located in Translators ➝ Physical in the Command Interpreter Window.

Saving and Loading TemplatesTemplate files save the run specific information from the form. They are text files which canbe edited with a text editor. All the fields on the stream forms have a corresponding “streamkey” in the template. Template files (and all other files) are created and loaded from the RunDirectory. The pipo program can be run standalone in UNIX using a saved template file. Thisis sometimes useful for debugging. The syntax is as follows:pipo strmin template_name(or)pipo strmout template_name

Run DirectoryThe default run directory is “.” or the same as your Cadence software working directory.Because of the amount of support files sometimes required for stream, it is common to createa subdirectory to contain the stream related information. If this is the case, specify the nameof the subdirectory you are using here. You must create the subdirectory using UNIXcommands; stream will not create it for you.

Input FileThe input file is the name of the stream file to be converted (stream in only). It should alreadybe loaded from tape or other media to the UNIX file system.

Page 179: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-27

Running Stream Translator (continued)

You can list any mapfiles you want to use tocontrol how cells,layers, and text areconverted.

Default units aremicrons, with a screenresolution of 1000database units permicron.

Stream In

9/27/94 Cadence Design Systems, Inc. 8-28

Running Stream Translator (continued)

Top Cell NameIf you want to convert only part of the stream cell hierarchy, specify the name or names in this field. For multiple cellnames, specify them separated by a semi-colon. If no view name is specified, then layout is used. For example:

Top Cell = CHIP

The stream cell named CHIP and all children cells are translated. The default view name of layout is used.Top Cell = CELL_A symbolic; CELL_B symbolic

The stream cells CELL_A and CELL_B are translated along with any child cells placed in them. The view name usedis symbolic.

Output FormatThe options for output format are mutually exclusive. In other words, you can choose to create only one of thefollowing: a database (stream or Cadence), a text dump, or a technology file (stream in only). Typically the option isset to create a database (target DB).

ASCII text DumpSpecifying this option creates an ASCII text dump of the stream format. This is useful in debugging problems, andthis file can also be used as input to user written programs.

Technology File CreationSpecifying technology file as the output format will generate a technology file containing definitions for each layerfound in the stream file. This can be used as a debugging aid, or as a technology file for a new Cadence library whichwill be created by translation.

Library NameThe Library Name for stream in/out is the library to contain the translated data (stream in) or the source library (streamout). Note that this library will be created by stream if it does not exist. If it does exist, the data translated by streamin will append to what is there already. During the append, it is possible that cellviews can be overwritten.(continued)

Page 180: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-29

Stream Options

To map DFIIproperties tostream attributenumbers, type thename of theproperty map file.

Check this field tosee where errormessages will besaved. If you runstream more thanonce, you mightwant to changethe filename soyou don’toverwriteprevious errorfiles.

9/27/94 Cadence Design Systems, Inc. 8-30

Stream Options

Snap XY to Grid ResolutionThis option looks at the minGridResolution property for the view. When on, it will snap vertices ofshapes to the nearest minimum grid.

Case SensitivityYou can specify all lower, all upper, or to retain case sensitivity. If you choose to retain case sensitivity,then the CAD system you will be loading the data is also case sensitive, or you may encounter cell nameconflicts.

Error Message FileAll the warnings and errors found during translation, along with statistical information, will be writtento this file. The file will be overwritten if it already exists, so it is a good idea to give it a unique name,unless there will only be one in the run directory.

User Defined SKILL FileYou can specify a SKILL procedure to do layer and cell mapping if you like.

User Defined Property Mapping FileYou can map properties to stream attributes using this mapping file. You create the mapping file for theproperty name and the attribute number. You use this if you want to archive data in stream format andretain properties.

Page 181: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Stream Translation 8-31

Labs in This SectionLab 8-1. Running the Stream Out Translator

Lab 8-2. Running the Stream In Translator and Verifying Translation

Lab 8-3. Converting Parameterized Cells Using Stream Format

9/27/94 Cadence Design Systems, Inc. 8-32

Page 182: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-1

Customizing the Environment

Objectives

■ Understand how your set up your .cdsinit file

■ Learn how to save a design environment

■ Learn how to create your own technology files and libraries

■ Learn how to set view and cellview properties

9/27/94 Cadence Design Systems, Inc. 9-2

Terms and Definitions

dot file Files beginning with a period (dot); used for environment set upin the UNIX system.

Page 183: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-3

The .cdsinit File The .cdsinit file is the startup file for Design Framework II.

;Human Interface EnvironmenthiiSetFont(“text” “-adobe-courier-bold-r-*-*-12-*”hiSetFormPosition(1000:0)hiShowOptionsForm = nilhinestLimit = 5window(1)->infix = nil;;;;BindKey Settingsload(prependInstallPath(“samples/local/schBindKeys.il”)load(prependInstallPath(“samples/local/leBindKeys.il”);;;Set Search PathdbSetPath( “.” )dbSetPath(strcat(dbGetPath() “ “ prependInstallPath( “samples/cdslib”))))dbSetPath(strcat(dbGetPath() “ “ prependInstallPath( “etc/artist/cdslib”))));;;Resize CIWhiFlush()hiResizeWindow(window(1) list(3:3 750:0:180))

9/27/94 Cadence Design Systems, Inc. 9-4

The .cdsinit File

The .cdsinit file is read when you invoke layoutPlus or Layout. The different sections of the.cdsinit file are described below.

Human Interface Section

The options that are in the User Preferences form can be set through the .cdsinit file. Forexample, if you always want infix turned on, you can turn it on in the .cdsinit file (instead ofalways turning it on in the User Preferences form.)

Setting the Search Path

The search path is set to the current directory and then to specific directories. TheprependInstallPath is the install path to the directory.

Bindkey Settings

The bindkeys are not loaded automatically, so specify what bindkeys are to be loaded in the.cdsinit.

Resizing Windows

Any window can be resized in the .cdsinit. This includes the library browser and forms.

Page 184: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-5

Cadence Initialization File – .cdsinit■ SKILL format

■ Used to set bindkeys, library search path, SKILL search path, globaloptions.

■ Automatically searched for during Cadence software startup

■ Searching order is

— <install_dir>/local/.cdsinit (site .cdsinit)

— ./.cdsinit (project .cdsinit)

— ~/.cdsinit (user .cdsinit)

■ Default is to stop and only load the first .cdsinit found. User can override thisby specifying other files to load.

9/27/94 Cadence Design Systems, Inc. 9-6

Cadence Initialization File – .cdsinitCadence software looks for a .cdsinit file whenever it starts up. Since this is a SKILL format file, it can contain anycommands or user created procedures that you would like to include. You must be careful about trying to accessapplication functions which may not be loaded yet (typically they load when the application is invoked). You can getaround this by including a load application context command in the .cdsinit. Other than that, there is almost no limiton what you can put in the .cdsinit.

Site .cdsinit (<install_dir>/local/.cdsinit)

The default order for searching is to look first in the <install_dir>/local directory. This is also called the site directory,because it is created at each site by the system administrator. If you want to have an entry in the .cdsinit affect all theusers, you put it in this file.This file may contain instructions to load the user .cdsinit and/or the project .cdsinit. Anexample of site specific customization would be the loading of user created SKILL programs.

Project .cdsinit (./.cdsinit)

The next directory that is searched is the current working directory. This is where the Cadence software was startedfrom, and can be found by typing getWorkingDir() in the CIW. The .cdsinit file found here is called the project.cdsinit, because it can be specific to a particular project which exists in the same directory. An example of a settingfound in this .cdsinit file would be the search path to the reference libraries used with this design process.

User .cdsinit (~/.cdsinit)

The last directory that is searched looking for the .cdsinit is the user’s home directory. Any user specific customizationshould be included in this file. An example of user customization would be a specific plotter device for output, or userpreferences for global options.

Page 185: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-7

Sample Files and Their LocationsCadence provides a set of sample files for you to use in setting up yourenvironment. They are found in the following locations

■ <install_dir>/cdsuser contains examples of all the dot files whichgo in the user’s home directory(.cshrc, .mwmrc, .Xdefaults, .xinitrc,.cdsinit)

■ <install_dir>/samples/local contains examples for site customization,including bindkeys and optional menus.(cdsinit, leConfig.il, uiConfig.il, andleBindKeys, etc.)

■ <install_dir>/samples/tutorial contains the Cell Design Tutorial.

■ <install_dir>/samples/techfile contains SKILL source technology files.

9/27/94 Cadence Design Systems, Inc. 9-8

Sample Files and Their Locations

cdsuser Directory

The cdsuser directory contains a complete set of dot files for a new user’s home directory. You will need to edit the.cshrc file to point to the correct location for the Cadence software. Other than that, you are not required to changeanything, but you may want to look at the comments to see what options are available.

samples/local Directory

This directory contains the samples for things that the system administrator might want to customize for the site, orindividual users. There is a cdsinit file which is intended to be copied to the <install_dir>/local (site directory) andrenamed .cdsinit. This file also loads project and user .cdsinit files, in that order.

The samples/local directory also contains “config” files which have the SKILL format for all the global optionsavailable. For example, look at leConfig.il to see what global options can be changed for Layout Editor. These filesare not automatically loaded. You can cut and paste from these files into your .cdsinit (site or user), or modify theconfig files and specify that they be loaded in the .cdsinit.

The <install_dir>/samples/local directory also contains bindkey files. These are separate by application. Look atleBindKeys.il for a complete listing of the Layout Editor bindkeys. The bindkey files are not automatically loaded –you must specify loading in the .cdsinit file.

samples/techfile Directory

This directory contains example technology files in SKILL format. Some of the technology files are specific to plotterdevices or specific applications, and are intended to be loaded in addition to some basic technology file. Others, suchas mpu.tf are complete of themselves.

Page 186: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-9

Saving the EnvironmentThe Save Environment command saves environment variables

■ Creates a ~/.cdsenv file

■ The .cdsenv file is read when Layout, LayoutPlus, or icfb is invoked.

■ Application dependent

■ Mostly used with User Preferences and Log Filter form

9/27/94 Cadence Design Systems, Inc. 9-10

Saving the Environment

The Save Environment command is found on the Utilities menu. This is primarily used to savethe options on the User Preference form.When you invoke Layout or LayoutPlus the .cdsenvfile is automatically loaded.

Page 187: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-11

Labs in This Section9-1. Editing the .cdsinit File

9-2. Saving the Environment

9/27/94 Cadence Design Systems, Inc. 9-12

Page 188: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-13

Creating Technology FilesBefore doing any physical design in a library, you must create user layers in thetechnology file. Your source for this can be any one of the following:

■ Write SKILL using a text editor. Use sample files to cut and paste.

■ Translators, such as Stream In, create a starter technology file in SKILLformat. Each layer that exists in the stream file will be defined usingrandomly assigned display characteristics.

■ Forward translators, such as Edge translation, create a binary technologyfile containing ALL the information in the Edge layers file. You can thendump this to SKILL and modify it as you wish.

9/27/94 Cadence Design Systems, Inc. 9-14

Creating Technology Files

Before doing any physical design in a library you must define user layers. You may also wantto define design rules, contacts, and properties. There are several ways for you to go about this.

Write a SKILL file

Using the <install_dir>/samples/techfile examples, create your own SKILL sourcetechnology file. This has the advantage of letting you use SKILL looping functions, if you callthe base SKILL technology file commands (vs. the table format commands that are dumpedout).

Using a Physical Translator

The stream translator has an option to create a SKILL source technology file withouttranslating the data. You then modify this to meet your needs prior to using it to create the newlibrary.

Using a Forward Translator

Translation from Edge creates a binary technology file during the translation. This contains allthe information found in the Edge layers “display” file. If you have a “plotter” layers file, youmust translate that separately. Once the translation is complete, you can dump the technologyfile to SKILL and edit it if you wish.

Page 189: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-15

Default Technology InformationSome technology information exists in default technology files. You can eliminatethis from your own SKILL source technology files, if you are satisfied using theCadence supplied files.

■ <install_dir>/etc/techfile.def

— Binary format file

— Always loaded when any library is created.

■ <install_dir>/samples/techfile/default.tf

— SKILL format file

— Contains all the information in techfile.def

— Also contains view definitions and properties

— Default for Create Library form, user can override loading.

9/27/94 Cadence Design Systems, Inc. 9-16

Default Technology Files

There are two technology files which are defaults for the system. The user can override theloading of one, but not both, of these files.

techfile.def

The techfile.def file is found in the <install_dir>/etc directory. It is the seed technology filethat is always used to initiate new libraries. If this file does not exist, or gets corrupted, youwill not be able to create libraries! This file is in binary format, so you cannot directly see thecontents of it. It contains a default color display device, system layers, and default colors,stipples, and line styles.

default.tf

This file is found in the <install_dir>/samples/techfile directory. It’s primary purpose is tocontain all the view definitions needed for all Cadence tools. The view information is not partof the binary attached technology file, and so must be kept in SKILL source. This file alsocontains a duplicate SKILL format of the techfile.def. You may want to copy default.tf andremove some of the view definitions that you may not need. Then, substitute your edited filefor the technology file in the Create Library Form.

Page 190: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-17

Labs in This Section9-3. Looking at the Sample Technology File – mpu.tf

9-4. Creating your own Technology File

9/27/94 Cadence Design Systems, Inc. 9-18

Page 191: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-19

Setting Layout Editor Global OptionsYou can preset command options for Layout Editor. Use the leSetEnv() function.You can use leGetEnv() to retrieve a current setting.

For example

leSetEnv(“modalCommands” nil)leSetEnv(“numSides” 90)leSetEnv(“gravityOn” t)leSetEnv(“autoContact” t)

See <install_dir>/samples/local/leConfig.il for a complete list.

This type of setting is typically put into the user’s .cdsinit.

9/27/94 Cadence Design Systems, Inc. 9-20

Setting Layout Editor Global Options

You can set global options for Layout Editor using SKILL. The procedure for this isleSetEnv(). You must know the keyword and arguments for each variable you want to set. Youcan refer to the <install_dir>/samples/local/leConfig.il file, or use the SKILL referencedocumentation.

Page 192: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-21

View PropertiesView properties control the window variables for cellviews.

■ Display Options can be saved to the view. Library Browser can use edit viewproperties.

■ View properties can be overridden by cellview properties of the same name.

■ View properties can be set using technology file SKILL, but are actuallystored in the library catalog (*.lib) file. Because of this they are alwaysautomatically saved.

■ View properties can be set by view name or view type in the technology file.Example: view name layout, view type maskLayout (includes layout,extracted, compacted, symbolic, abstract).

9/27/94 Cadence Design Systems, Inc. 9-22

View PropertiesDisplay Options

All the options in the Layout Editor Display Options form can be saved as view or cellviewproperties. You would do this to make the changes permanent. However, when you use thisform to save properties to a view or cellview, you are copying everything on the form (or inthe current window variable settings) to the view.

Library Browser PropertiesThe view properties can be seen and edited individually using the Library Browser, expandedto the view level. Select Properties over the view name to see the current properties and theirsettings. If a property does not exist for a given view, then the system default is used.

Technology File and View PropertiesAlthough views and view properties can be created using technology file SKILL, they are notactually stored in the attachFiles/technology file. Instead, they are part of the library cataloguefile (.lib file). The only difference that most users will notice is that views and view propertiesdo not have to be explicitly saved, and they cannot be restored using technology file restore.

View vs. Cellview PropertiesWhenever a property is explicitly stored to a cellview, it overrides the property that isautomatically inherited from the view definition. You should use caution in doing this!Forward translators (Edge to Opus) eliminate redundant view/cellview property information.

View Property Set by ViewTypeWhen setting view properties using technology file SKILL, you can use the View Type optionto set properties for all views of a particular view type.

Page 193: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-23

Labs in This Section9-5. Practice Setting Layout Editor Global Options

9-6. Exploring View Properties

9/27/94 Cadence Design Systems, Inc. 9-24

Page 194: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing the Environment 9-25

Page 195: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Appendix A

Structure Compiler

Page 196: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-1

Structure Compiler

Objectives

■ Learn about homogeneous and heterogeneous arrays.

■ Learn how to create a personality file.

■ Learn how to run the structure compiler.

9/27/94 Cadence Design Systems, Inc. A-2

Terms and Definitions

Complex ArrayStructure

The output of the structure compiler which consists of one ormore arrays in a specific relationship.

Template A cellview which contains a graphic sketch of the arrayrelationships for the complex array structure.

Plane Each array in the template is represented by a plane, whichcontains properties to be generated in that location.

Page 197: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-3

Structure Compiler

Why use Structure Compiler?

■ Array creation can be automated to eliminate errors and increaseproductivity.

■ Structures generated are more efficiently stored.

■ Arrays can be easily recreated with slightly different parameters (number ofrows, columns, cell arrangement).

■ Expands on simple array functionality—orientation patterning, and differentstepping distances.

9/27/94 Cadence Design Systems, Inc. A-4

Structure Compiler

Page 198: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-5

Features of the Structure Compiler■ Arrays can consist of many different master cells.

■ Arrays can be row or column biased.

■ Stepping distances can be set for each cell.

■ Orientation patterns can be specified for each array.

■ Parameterized cells can be used and values can be passed to the structurecompiler.

9/27/94 Cadence Design Systems, Inc. A-6

Features of Structure Compiler

Page 199: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-7

Flow for Complex Array Structure Creation

Template Personality File

Complex ArrayStructure

Struct Comp ›Compile Array...

Graphic Text

Master Cells

Layout Editor

Graphic

Struct Comp ›Draw Plane

(Text Editor)

9/27/94 Cadence Design Systems, Inc. A-8

Flow for Complex Array Structure Compiler

Page 200: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-9

Examples of Complex Arrays

Homogeneous Array

A A A A

A A A A

A A A A

One master cell,orientation may vary.

Heterogeneous Array

Many master cells,defined in personalityfile. Stepping distancevaries based onmaster cells’ size.

A A

K K

A B B

G

B

A AA B B B

K G H

I FE FD F

K K G K G H

Homogeneous and Heterogeneous

9/27/94 Cadence Design Systems, Inc. A-10

Examples of Complex Arrays

Page 201: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-11

Examples of Complex Arrays (continued)

Row Biased Array

A B A

C C

Cells in the same rowhave the same height,

Column Biased Array

D XA

but rows may havedifferent lengths.

Cells in the same columnhave the same width,but columns may havedifferent heights.

.bias rowABACCADX

.bias columnBABACCAYCC

A

B

A

BC

CY

A

C

C

Personality filecommand forbias by row orcolumn.

Row or Column Biased

9/27/94 Cadence Design Systems, Inc. A-12

Examples of Complex Arrays (continued)

Page 202: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-13

Example of Complex Array Structure

Each block will be defined as a separate plane in the template. Structure compilerwill create a complex array structure consisting of complex arrays in a specificarrangement.

OR Block

OR Pre-charge Block

Interface Block

Output Inverter Block

AND Block

Input BufferBlock

AN

D P

re-c

har

ge

Blo

ck

Inte

rfac

e B

lock

Complex Array Structure (PLA)

9/27/94 Cadence Design Systems, Inc. A-14

Example of Complex Array Structure

Page 203: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-15

Preparing Layout Data for Structure Compiler■ Layout cells as usual.

■ Add the align layer, purpose drawing to each cell.

■ You may have to use Set Valid Layers... to enable drawing on this layer.The default is off, because it is a system layer.

■ The align layer will determine how cells abut and stepping distance for cells.

■ Any misalignment will be reported as a warning during compilation. Thelocations will be flagged on the marker layer.Use Verify ➝ Markers ➝ Explain to get details.

9/27/94 Cadence Design Systems, Inc. A-16

Preparing Layout Data for Structure Compiler

Page 204: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-17

Creating Personality Files■ Personality file is required for heterogeneous arrays.

— Defines cell composition for array.

— Contains option specification (row or column bias, spacer cells).

— Personality file names are referenced in the plane property list.

■ Personality file syntax.

— A “.” signifies the start of a command.A “#” is used for a comment character.

— File consists of commands followed by blocks of data.

— Data blocks contain characters representing one or more master cells.

— Data is arranged in rows and columns which correspond to the rows andcolumns of the array block.

9/27/94 Cadence Design Systems, Inc. A-18

Creating Personality Files

Page 205: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-19

Example Personality File

Note:The characters 1,2,3,4 do not represent any cells at this point. This information will beassigned in the plane property list.

.plane OR11234411333342144444444411234411

.plane AND1234432111223344

personality plane namedata block

9/27/94 Cadence Design Systems, Inc. A-20

Example Personality File

Page 206: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-21

Creating Templates■ Templates are typically created with a view name of template, which must

be of view type maskLayout.

■ Compiled arrays can be used as templates for new arrays.

■ A template contains planes which correspond to each array in the complexarray structure.

■ Each plane is drawn to show its relationship to other planes (arrays) in thestructure.

■ Properties for each plane specify details about the internal structure of thatarray (master cells, personality file, orientation, etc.)

9/27/94 Cadence Design Systems, Inc. A-22

Creating Templates

Page 207: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-23

Template Example—Plane Relationship

This template consists of three planes. Corners of arrays should align aftercompilation. If not, structure compiler will generate a warning.

AND

OR_AND_Precharge

OR

Plane names:ORANDOR_And_Precharge

9/27/94 Cadence Design Systems, Inc. A-24

Template Example–Plane Relationship

Page 208: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-25

Plane Properties for Homogeneous Array

9/27/94 Cadence Design Systems, Inc. A-26

Plane Properties for Homogeneous Array

■ A unique name for the plane must be supplied.

Example:OR_AND_precharge

■ Type of array is homogeneous.

■ Number of rows and columns. (Heterogenous is derived from personality file and iconaliases.)

Algebraic expressions and references to personality file can be made in rows andcolumns fields, even for homogeneous arrays.

Example:Number of Rows = 2, Number of Columns = OR + AND / 2

■ Master(s) correspondence defines master cellview name.

Example:pullup layout

■ Orientation pattern specifies a pattern to be repeated throughout the array.

Page 209: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-27

Plane Properties—Orientation Pattern

Syntax:

origin: ncolumns mrows T1 T2 ... Tn*m

Example:

LL: 3 2 R0 MY R90 MX R180 MR90

■ Optional uppercase letters define the corner of the array to start in. Defaultis lower left (LL).

■ First two numbers define the number of rows and columns for the repeatedpattern.

■ Remainder of fields are for orientations (R0, R90, R180, R270, MX, MY,MR90, MR270).

9/27/94 Cadence Design Systems, Inc. A-28

Plane Properties–Orientation Pattern

Page 210: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-29

Plane Properties—Orientation Pattern (continued)

Syntax:

origin: ncolumns mrows T1 T2 ... Tn*m

Example:

LL: 3 2 R0 MY R90 MX R180 MR90

= master

R0 MY R90

MX R180 MR90

Orientation Pattern Example

9/27/94 Cadence Design Systems, Inc. A-30

Plane Properties–Orientation Pattern (continued)

Page 211: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-31

Plane Properties for Heterogeneous Array

9/27/94 Cadence Design Systems, Inc. A-32

Plane Properties for Heterogeneous Array

■ A unique name for the plane must be supplied.

Example:OR

■ Personality file data block name must be supplied.

Example:OR

■ Type of array is heterogeneous.

■ Master(s) correspondence defines correspondence between icon aliases and cellviews.

Example:N:ntran layout; P:ptran layout;

■ Icon aliases maps personality file characters to intermediate “icon” characters.

Example:1:NNNP; 2:NNPN; 3:NPNN; 4:NNNN;

Page 212: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-33

Plane Properties for Heterogeneous Array (continued)

Orientation pattern specifies a pattern to be repeated throughout the array (sameas homogeneous array).

Personality file

.plane AND

1234

4321

1122

3344

icon aliases:

1:NNNP;

2:NNPN;

3:NPNN;

4:NNNN

N: ntran layout; P: ptran layout

N N N P N N P N N P N N N N N N

1 2 3 4

Example of complex array using icon aliases.

Orientation pattern:2 1 R0 MX

R0 MX R0 MX

9/27/94 Cadence Design Systems, Inc. A-34

Plane Properties for Heterogeneous Array (continued)

Page 213: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-35

Running Structure Compiler

Structure Compiler Menu

■ Select Tools ➝ Structure Compiler.

■ Draw the planes and assign properties.

■ Edit planes using StructComp menu.

StructComp

Draw Plane...

Resize Plane

Delete Plane

Edit Fields...

Compile Array...

Set Global Values...

9/27/94 Cadence Design Systems, Inc. A-36

Running Structure Compiler

Page 214: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-37

Running Structure Compiler (continued)

■ Select StructComp ➝ Compile Array...

Change the input and output cellviews if desired. Specify the personality fileif using one.

■ Any errors found during compilation will be reported in the CIW, and also inthe compiled array on the marker layer.

■ Use Verify ➝ Markers ➝ Explain to get details. Fix and recompile.

■ Use Open ➝ Design to view the compiled array, and specify the outputarray cellview name.

9/27/94 Cadence Design Systems, Inc. A-38

Running Structure Compiler (continued)

Page 215: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-39

Labs in This SectionLab A-1. Creating a Template and Running the Structure Compiler

9/27/94 Cadence Design Systems, Inc. A-40

Labs in This Section

Page 216: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Structure Compiler A-41

Page 217: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Appendix B

Library Design

Page 218: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-1

Library Design

Objectives

■ Provide overview of

— Preparing the library for the place and route environment.

— What abstracts are and how are they used.

— What pins are and how are they used.

■ Discuss the characteristics of a optimum cell library for place and route.

■ Discuss design flow of

— How to create abstracts from a set of cells in the library.

— How create an abstract from a single cell.

9/27/94 Cadence Design Systems, Inc. B-2

Terms and DefinitionsLayout view A cell containing all the physical characteristics of logic in a design.

Abstract view Created from a layout or autoLayout view, contains mainly pins,properties, and a cell boundary. Preview uses abstracts for the placingand routing.

Standard cell Also called leaf cell. Usually contains digital logic of components likenands, nors, and inverters.

Block Also called macro cell. Usually contains complex designs of digital oranalog circuits. May be a placed and routed design or custom design.

Pins Layout objects that contain connectivity information. Pins are used asconnection points by the router for each net in the design.

autoLayoutview

Created from the logic netlist containing netlist information andabstracts. Used in the place and route environment.

Symbolicdesign

Contains topological data. Created using symbolic devices, wires, pinsand contacts that are defined in the library technology file.

LayoutSynthesis(LAS)

Layout Synthesis (LAS) is a cell generator which is based on input froma schematic or netlist. The design can be a standard cell or block. Theoutput from LAS contains symbolic data. An abstract view can becreated from this symbolic design and used in the place and routeenvironment.

Page 219: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-3

Overview

Othertools

library

Createtechnology

Create abstracts

abstracts

Cadencetools

Stream in cells Create cells

files

Prepare layout

library checkerStandard cell

Create

Edit Abstracts

Input netlist CreateautoLayout

9/27/94 Cadence Design Systems, Inc. B-4

Overview

Create Technology Files

Before creating a new library in the Design Framework II environment you must create atechnology file. Each cell library is linked with technology file data. The technology filedefines layers, views, design rules and symbolic devices for the library.

You can create a new technology file or edit an existing file. The ASCII technology file iscompiled into binary format and linked with the library. The technology file can be loaded intoa new library or appended to an existing library.

Create the Library

A new library can be created for each technology. A technology file is loaded at the time ofcreation. Cells can be translated from other libraries or new cells can be created using theCadence design tools. Cells can also be translated into the library from other design tools usingavailable translators.

Page 220: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-5

Overview (continued)

Othertools

library

Createtechnology

Create abstracts

abstracts

Cadencetools

Stream in cells Create cells

files

Prepare layout

library checkerStandard cell

Create

Edit Abstracts

Input netlist CreateautoLayout

9/27/94 Cadence Design Systems, Inc. B-6

Overview (continued)

Translating Cells from Other Tools

Use the Stream In Translator to convert the cell data to the Cadence format. If you areunfamiliar with Stream In, refer to Module 8 for more information.

Creating Cells using Cadence Tools

Standard cells and blocks can be created using one of the Cadence design tools.

Cadence Tools Standard Cells Block Designs

Virtuoso Layout Editor Data can be geometricor symbolic

Data can be geometric orsymbolic

Virtuoso LayoutSynthesis (LAS)

Creates a symbolicdesign from schematic

Creates a symbolic designfrom schematic

Cell Ensemble Not used here Place and route block design

Block Ensemble Not used here Place and route block design

Cell3 Ensemble Not used here Place and route block design

Gate Ensemble Not used here Place and route block design

Page 221: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-7

Overview (continued)

Othertools

library

Createtechnology

Create abstracts

abstracts

Cadencetools

Stream in cells Create cells

files

Prepare layout

library checkerStandard cell

Create

Edit Abstracts

Input netlist CreateautoLayout

9/27/94 Cadence Design Systems, Inc. B-8

Overview (continued)

Preparing the Layout for Abstract Generation

The abstract view is used by the place and route environment to perform automatic layout andanalysis. The abstract view is created from the layout or autoLayout view of each cell in thedesign. Pins, pin properties, a place and route boundary, and cell properties are added to thelayout or autoLayout views before creating the abstract view.

Pins are connection points for the router. Geometric pins can be created from the LayoutEditor menus or Abstract Editor menu. Use the Abstract Editor menu to add the boundary, celltype property, and create the abstract views.

If you have translated your cells from another system, and you don’t have the Virtuoso LayoutEditor, you can use the commands from the Abstract Editor menu to prepare the cells forabstract generation.

Page 222: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-9

Overview (continued)

Othertools

library

Createtechnology

Create abstracts

abstracts

Cadencetools

Stream in cells Create cells

files

Prepare layout

library checkerStandard cell

Create

Edit Abstracts

Input netlist CreateautoLayout

9/27/94 Cadence Design Systems, Inc. B-10

Overview (continued)

Create the Abstracts

Use Abstract ➝ Abgen to create the abstract view. The pins, pin properties and attributes,cell properties, and a place and route boundary are copied from the layout view or autoLayoutview when you run the Abgen command.

Editing the Abstracts

The abstract view can be edited to add routing obstructions or to change pin and cellproperties.

Standard Cell Library Checker

Use Abstract ➝ Library Checking on standard cell designs to analyze the cells for possibledesign rule violations and problems that could occur in the place and route environment.

Page 223: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-11

Overview (continued)

Othertools

library

Createtechnology

Create abstracts

abstracts

Cadencetools

Stream in cells Create cells

files

Prepare layout

library checkerStandard cell

Create

Edit Abstracts

Input netlist CreateautoLayout

9/27/94 Cadence Design Systems, Inc. B-12

Overview (continued)

Input the Netlist

Create a logical netlist as a schematic using the Composer Design Entry tools or translate thenetlist using Translator ➝ Edif In from the CIW on an EDIF 200 format netlist. Import aVerilog HDL description using Translator ➝ Verilog In from the CIW.

Create the autoLayout View

When the logical netlist is converted into a physical netlist, another cell view called theautoLayout view is created. The autoLayout view is the initial view used for placing androuting. The autoLayout view contains the abstract views of the cells in the design plusconnectivity information.

When this conversion takes place, the hierarchy of the design is searched for abstract viewswhich are equivalent to cells and blocks in the netlist. The existence of these abstracts are whatstops the search down the netlist hierarchy. There must be abstracts that represent all of thelogic in the netlist to complete the creation of the autoLayout view.

For more information on how to prepare cells for place and route, please refer to the PreviewFundamentals Reference Manual from Openbook.

Page 224: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-13

Defining Pins

Symbol A Abstract A

Terminal = Logical (netlist)Pin = PhysicalNet = Interconnect

D Q

Q_

A

CLK

CLK_

R

DQ

Q_

A

CLKCLK_

R

R

D

CLK

CLK_

A

7 terminal (logical) connections 7 terminal (logical) connections12 pin (physical) connections

pin1

pin1

pin1 pin1

pin1

pin1

pin1 pin2

pin2 pin2 pin2

pin2

9/27/94 Cadence Design Systems, Inc. B-14

Defining Pins

Pin, Terminal, or Net

The terminal is the logical or netlist data. The pin is a physical geometry used to connect aterminal to a net by the routers. A terminal can have more then one pin as a connection pointfor the router. The router uses the net as a guide to connect the pins of all the terminals in adesign.

In this example, twelve pins represent seven terminals in the design which means that some ofthe nets enter or exit the design in more then one location.

Page 225: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-15

Defining Pins (continued)

■ The place and route environment accepts

— Geometric pins

— Symbolic pins

■ Geometric pins are

— Rectangles with attributes and properties.

— Created with the Layout Editor or Abstract Editor commands.

— Used in standard cells and custom blocks as connection points.

— Most designs use geometric pins.

9/27/94 Cadence Design Systems, Inc. B-16

Defining Pins (continued)

There are two types of pins available.

Geometric Pins

Use geometric pins when you create standard cells and custom blocks using geometric data.You create geometric pins on the same layers as the routing layers with a purpose of drawingor pin. The Abgen command copies the pins to the pin purpose layer of the routing layers inthe abstract view.

You can add pins in different ways. Geometric pins can be created by using commands locatedon the Layout Editor menus or Abstract Editor menu.

You can interactively create pins using commands from the Layout Editor menus or from theAbstract Editor menu. Pin properties are also added using these commands.

The Layout Prep command on the Abstract Editor menu will automatically place geometricpins if labels are present that represent the terminal name of each net in the design. A SKILLfile that defines the pins and pin properties can be read from the Layout Prep command togenerate pins if labels are not present.

Page 226: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-17

Defining Pins (continued)

■ Symbolic pins are

— Created through the technology file.

— programmable for size and properties.

— Symbolic views containing pin information.

■ Symbolic pins are used by automatic tools for lower level blocks.

— Used in autoLayout views as input and output terminals.

— Used in soft blocks as input and output terminals.

— Used by Layout Synthesis (LAS) as input and output terminals.

9/27/94 Cadence Design Systems, Inc. B-18

Defining Pins (continued)

Symbolic Pins

Symbolic pins are placed by the tools that automatically create block designs. You specifywhich symbolic pins you want placed. When you create a lower level block as a autoLayoutview using Preview symbolic pins are automatically placed as I/O pins. Softblocks created byPreview have symbolic pins automatically placed as I/O pins. Softblocks represent a block inthe design that has netlist information but the layout has not been completed. Symbolic designswhich are created using Layout Synthesis (LAS) have symbolic pins automatically placed asI/O pins.

You define symbolic pins in the technology file in the section called tfcDefineSymPinDevice().Once created, these pins are actually symbolic views that reside in your library. You can viewthe cells from the library browser by expanding the view name symbolic. These cellviews areparameterized cells (programmable cells) meaning that their attributes and properties areprogrammable.

Symbolic pins can be single-layer pins or two-layer pins. If two-layer symbolic pins are placedin a design, the router chooses which routing layer to connect to. The property prRoutedLayeris attached to the pin layer that the detail routers use.

Page 227: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-19

Defining Pins (continued)

■ Pins contain attributes and properties used in the place and routeenvironment.

■ Geometric pins and symbolic pins have the same pin attributes andproperties.

■ Pin attributes and properties include

— Access directions of top, bottom, left, or right.

— Terminal type of input, output, inputOutput, or jumper.

— Signal type of supply, ground, or signal.

— Optional Resistance and capacitance values.

9/27/94 Cadence Design Systems, Inc. B-20

Defining Pins (continued)

Pin Attributes and Properties

You must add pin attributes and properties to the pins. You can add them when you create thepins or you can select the pins and edit the properties.

Symbolic pins have the same pin attributes and properties set as geometric pins. Pin attributesand properties are attached to the instance of the symbolic view and not to the master.

The Access Direction attributes specify the direction or directions available for routing.Available directions are top, bottom, left, and right side of the pin. Cell Ensemble ignores pinsthat do not have access directions set. Block Ensemble looks for the side of the pin that isclosest to the prBoundary in cell master if the access directions are not assigned.

The Terminal Direction property tells the router what the terminal type is. Available types areinput, output, inputOutput, and jumper. Signals are set to type inputOutput. Terminal directionof jumper is for feedthru pins. The global router assigns feedthru pins to nets. In top leveldesigns using Cell Ensemble uses terminal type input for power/ground signals from the corearea and output for the same signals in the I/O area. The I/O rings nets are type inputOutput.

The Signal Type property specifies whether the terminal is type signal, supply, or ground.Resistance and capacitance properties are optional and are used for extracting parasitics.

Page 228: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-21

Using Pins

1 3

2 4

Poly

Four pins of the same net

Equivalent pins

Must-connect pin

Not connectedinternally

9/27/94 Cadence Design Systems, Inc. B-22

Using Pins

The router assumes all pins of the same terminal are equivalent if they are internallyconnected. The router may only connect to one of the equivalent pins or many use anyavailable pins to feed through the cell and connect to another terminal of the same net in thedesign. The equivalent pins of a terminal have a status of strong.

If you use the poly layer for routing you may want to limit the use poly by setting a propertyin the tfcDefineLayerProperty section of your technology file. Set the eqPinLimit property toa value of 1 limits the routers to use one poly pin per terminal.

If you have to connect all pins or certain pins of a terminal, you would want to make the pinsmust-connect pins.

Pin 4 in this example is a must-connect pin because it is not internally connected to the otherpins of the same terminal. The must-connect property is established on this pin when you runthe Abgen command and use abgenRules that you create for the technology file data.

Abgen uses the geomConnect statements and buildRoute statements from abgenRules to checkthe connectivity. If the pins are joinable through layers established in the geomConnectstatement they are equivalent. The buildRoute statement checks for these joinable layers. If thepins are not joinable they are must-connects.

You can also make a pin a must-connect pin by selecting the pin and changing the status ofstrong to must-connect. Use the Abstract ➝ Set Pin Connection command to change thestatus.

Page 229: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-23

Creating a LibraryThis section describes

■ Guide lines of an optimum cell library for the place and route environment.

■ Guide lines for standard cells and how to avoid problems.

■ Guide lines for blocks.

9/27/94 Cadence Design Systems, Inc. B-24

Creating a Library

The Preview, Block Ensemble, and Cell Ensemble tool set is a gridless system that can exceptpins that are not on a specific grid, variable height and width cells, and tightly designed cells.However, this type of data does not produce the smallest design size.

Use the guide lines in this section to create standard cells and blocks in the library that areoptimum for place and route. If your library is already created, you might want to go throughthe cells to see if they should be re-designed for the best die size. The guide lines are the samefor two-layer and three-layer routing.

Routing Layer Conventions

Typical routing layer conventions for the direction of routing.

3-layer route HVH Convention; metal1 horizontal, metal2 vertical, metal3 horizontal.

3-layer route VHV Convention; metal2 horizontal, metal1 vertical, metal3 horizontal.Used by Block Ensemble for block routing.

2-layer route HV Convention; metal1 horizontal, metal2 vertical.

2-layer route VH Convention; metal2 horizontal, metal1 vertical. Used by BlockEnsemble for block routing.

2 1/2 layerrouting

HVV; metal1 horizontal, metal2 vertical, and poly used vertically at thesame pitch as metal2. Poly is considered half-layer because used minimally.

Page 230: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-25

Guide Lines for Standard CellsThis section describes

■ Recommendations for two-layer and three-layer routing include

— Create pins on a Minimum Pin Grid (MPG).

— Make the cell widths a multiple of the MPG.

— Maximize vertical routing potential with feedthru pins.

— Minimize variation in cells widths.

— Minimize the number of different cell heights in the library.

■ Two additional recommendations for three-layer routing include

— Create pins in the center of the cell (same Y coord).

— Maximize porosity of the cell.

9/27/94 Cadence Design Systems, Inc. B-26

Guide Lines for Standard Cells

The recommended guide lines are the same for two-layer and three-layer routing with twoadditional guide lines for three-layer routing.

If you follow the additional guide lines for three-layer routing you can optimize the libraryfor two-layer and three-layer designs.

Page 231: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-27

Standard Cell Abstracts for Two-Layer Routing

A

B C

Y

A B C Y

A B C Y

F1

F1

F1

MPG

areOK

Pins

Bothstyles

Routing to pin

vdd!

gnd!

vdd!

gnd!

9/27/94 Cadence Design Systems, Inc. B-28

Standard Cell Abstracts for Two-Layer Routing

Both examples of abstracts are acceptable for the place and route environment. The same rulesfor standard cells apply for two-and-one-half layer routing.

■ There are two conventions for two-layer routing.

— HV convention where metal1 routes horizontally and the pins have the AccessDirection attribute set to right and left. metal2 routes vertically and the pins have theAccess Direction attribute set to top and/or bottom.

— VH convention where metal2 routes horizontally and the pins have right and leftaccess directions. metal1 routes vertically and the pins have top and/or bottom accessdirections. This convention is not widely used and the metal2 power and ground railswould block the cell for three-layer routing.

For two-and-one-half layer routing, poly pins would have the same access directions as metal2and should be at the same pitch as metal2.

You can use these abstracts for three-layer routing, but the lack of over-the-cell routingresources due to metal2 pins blocking horizontal tracks in the cell limits the use of metal3 inthe cell area.

Page 232: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-29

Standard Cell Abstract for Three-Layer Routing

Metal 3

Metal 3

Metal 3

Metal 3

Metal 3

Metal 3

Metal 3

Metal 3

A B C Y

F1

MPG

Blocked trackPins

Routing

vdd!

gnd!

9/27/94 Cadence Design Systems, Inc. B-30

Standard Cell Abstract for Three-Layer Routing

The guide lines for two-layer metal designs also apply to three-layer metal designs.

Use metal1 in the horizontal direction; metal2 in the vertical direction and metal3 in thehorizontal direction.

It is recommended to place the metal2 pins in the center of the cell for maximum over-the-cellroutability. Avoid using other metal2 geometries in the cell design which would be consideredobstructions or blocked tracks by the router.

Page 233: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-31

Create Pins on a Minimum Pin Grid

MPG MPG MPGoror

line-to-via via-to-via via-to-vialine-to-vialine-to-line

(M2width)/2 + M2spacing + (M2via)/2 = MPG

9/27/94 Cadence Design Systems, Inc. B-32

Create Pins on a Minimum Pin Grid

Minimum Pin Grid = MPG

It is recommended to use this calculation when creating the pins in standard cells.

(M2w)/2 + M2s + (M2v)/2 = MPG

where M2w is the metal2 width rule; M2s is the metal2 separation rule; M2v is the size ofmetal2 within the largest of either via12 or via23.

Use only line-to-line pin spacing on processes where the via is the same width as the metal.

Place the first pin one-half of the MPG from the left boundary of the cell. When cells areplaced next to each other the total will be 1 MPG. Since the first pin is placed at one-half ofMPG, make the MPG value an even multiple of the manufacturing grid.

For example, MPG is calculated to be 4.1 microns and the manufacturing grid is 0.1 microns.The first pin center would be 2.05 microns and the edges of the pin would be on a 0.05 micronsresolution, which is smaller than the manufacturing grid. Increase MPG to 4.2 microns and thepin center will be 2.1 microns.

Increasing MPG will increase the area of the cell but the routing area will compact to be amuch smaller overall result because you are avoiding a stair-stepping problem in the channels.Stair-stepping is a term that refers to small jogs in the routing that expand the channel area. Anexample of this is on the next page.

Page 234: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-33

Avoid the Stair-Stepping Problem

Stair-SteppingChannel mustexpand to makeroom for routingin the directionarrows.

Standard cell

Standard cell

9/27/94 Cadence Design Systems, Inc. B-34

Avoid the Stair-Stepping Problem

Putting pins on MPG, in combination with the other guide lines suggested, will keep therouting from stair-stepping. If the pins are off grid, small jogs are introduced to compensatefor pins not aligned vertically and can also lead to longer run times.

If the MPG is not the same on all cells in your design, the result of the routing might producestair-stepping.Without a well-defined MPG, the height of the channel area expands causing alarger design size.

If poly is a routing layer, putting the poly pins on the same pitch as metal2 will help to avoidstair-stepping.

Page 235: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-35

Make Cell Widths a Multiple of the MPG

Problem cell

Cell width is not a multiple of MPG.

cells

Pinsaligned

Pinsnot

aligned

Standard

evenly

9/27/94 Cadence Design Systems, Inc. B-36

Make Cell Widths a Multiple of the MPG

It is recommended that cell widths are created at an even multiple of the MPG. If the pins areon a defined MPG and the cell widths are not on a multiple of the same grid then setting theMPG for pins is useless.

Each placement of the cells without the width set correctly causes the pins to shift and resultin a stair-stepping problem.

When you run the automatic placer in Cell Ensemble, set the Placement Snap Grid to the MPGvalue. Otherwise use the Snap to Grid command after placement and before routing.

Page 236: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-37

Maximize Vertical Routing with Feedthru Pins

A

B C

Y

A B C Y

A B C Y

F1

F1

F1

MPG

Feedthru pins

Routing

Bothabstracts

OKare

9/27/94 Cadence Design Systems, Inc. B-38

Maximize Vertical Routing with Feedthru Pins

Use feedthru pins to maximize vertical routing potential. Feedthru pins are pins that are notassigned to a net. During routing, the feedthru pin is assigned to a net that needs to get fromone channel to another. By inserting as many feedthru pins as possible, you can avoid routingaround the end of the cell rows. Feedthru pins are placed at the same MPG as the other pins inany open tracks that are available. Avoid using metal2 as internal data in the cell for more opentracks.

Feedthru pins have a Terminal Type of jumper. If placed in the middle of the cell, feedthrupins should have top and bottom access directions for the router. If pins are placed separatelyon the top and bottom of the cell, one would have an access direction of top and the otherbottom, with a geometry as an internal connection between the two pins.

A good rule of thumb is to place one feedthru pin for each three to four input and output pins.If your typical netlist has more then two pins per net, insert as many feedthru pins as possible.It can even be beneficial to make the cell slightly larger and add a feedthru pin to each side ofthe cell.

Feedthru pins can be added automatically when you run the Abstract ➝ Abgen command tocreate the abstracts. Toggle on Insert feedthrus, select the pin layer, and the minimum pingrid value.

You can also create glue cells, called feedthru cells, containing feedthru pins that are insertedduring placement.

Page 237: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-39

Minimize Variation of Cell Widths and Heights■ Minimize the variation in cell widths

— of each standard cell from the average standard cell width.

— to be less then 5:1 ratio of the smallest to widest cell.

■ Varying the cell widths can cause

— Uneven row lengths that make the x-dimension of design larger.

■ Minimize the number of different height cells in the library by

— Creating cells of uniform height as a general rule.

■ Varying the cell heights can cause congested channels because

— Two taller cells placed across the channel from each other can “pinch”the channel.

9/27/94 Cadence Design Systems, Inc. B-40

Minimize Variation of Cell Widths and Heights

Minimize the Variation in Cell Widths

The initial placer uses a Cluster-based Min-Cut placement algorithm that divides theplacement area into columns and rows, called “bins”. The bins fill with clusters of cells, leftto right. Each bin has a limited area, so only a certain number of cells can fit. As the bin fills,it reaches a point where there is area remaining but not enough for another cell. The cell is putinto the next bin. The remaining area in the bin is shifted to the end of the row on the right sidecausing unequal row lengths which could make the x-dimension of the chip larger.

Minimize the Number of Different Height Cells in the Library

The placer does not consider the height of a cell during placement. Two taller cells placedacross the routing channel from each other pinch the channel. The same number of nets willmust go through the channel and can expand the channel vertically.

The placement improver can re-assign the nets to another channel but to many “tall” cellseventually use the channel area and expand the design.

Page 238: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-41

Additional Guide Lines for Three-Layer Routing■ Create pins in the center of the cell

— At the same coordinate on the Y axes.

— To free up horizontal tracks.

■ Maximize porosity of the cell by

— Avoiding drawing metal2 geometries in the cell.

9/27/94 Cadence Design Systems, Inc. B-42

Additional Guide Lines for Three-Layer Routing

Create Pins in the Center of the Cell

As discussed earlier, center the pins in the cell at the same Y (vertical) coordinate to use fewerhorizontal routing tracks. Using fewer tracks allows a maximum number of over-the-cellrouting tracks in the horizontal direction for metal3. Use the same MPG value to place the pins.

Maximize Porosity of the Cell

Avoid drawing internal data on metal2 to allow the router to drop vias (via23) from metal2 tometal3 in the cell for more over-the-cell routing on metal3.

Page 239: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-43

Using Stub Routing

Stub pins route horizontally to each other.

Standard cell Standard cell

pinsVertical routing

9/27/94 Cadence Design Systems, Inc. B-44

Using Stub Routing

You can turn on stub routing if the library has stub pins. Stub pins are pins with left or rightaccess direction located as the last pin on the side of a cell.

The Stub Router makes horizontal connections between stub pins of cells that are placed nextto each other. Each connection made by stub routing saves a routing track in the channel.

The placer does not take into account the possible stub connections during placement. Thismeans that stub routing happens only randomly. Because only a few stub pins might becomeconnected, creating them might not be worthwhile.

One situation where stub pins make a difference, is in cells that are frequently used in a regulartype of structure.

Be careful not to imbed the stub pin too far into the cell. If another pin is closer to the right orleft side of the cell with the Access Direction attribute set to top or bottom, the routing to thesepins could cross and a short would occur.

Page 240: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-45

Creating Glue Cell Abstracts

vdd!gnd!

vdd!

I/O cornerEndcapabstract

Feedthru abstract

Bar cell

Power rail pins

Feed1vdd! gnd!

Ground rail pins

metal1 pin

metal2 pin

gnd!

cell abstractabstract

9/27/94 Cadence Design Systems, Inc. B-46

Creating Glue Cell Abstracts

Used by Cell Ensemble, these cells are not part of the netlist but serve a function in the design.Bar cells and endcap cells are used for power routing in the standard cell rows. Feedthru cellsare inserted in standard cell rows when you invoke the automatic placer command. I/O cornercells are used to complete the I/O ring for chip level designs.

Bar, Endcap, and Feedthru Cells

Set the Cell Type property prCellType to standard. All of the pins in these cells have TerminalType set to jumper.

For HVH convention, horizontal power/ground rail pins are metal1 with left and right accessdirections. Make the power rails at the same pitch and width as the power rails in the standardcells. The vertical power/ground pins are in metal2 with top and bottom access directions.Make the width of the vertical pins the same width as your power/ground routing. Name theterminals the same global signal names as in the standard cells.

IO Corner Cells

The prCellType of I/O corner cell is set to corner, and the Terminal Type is jumper. Use metal2power/ground pins. Set the width and terminal names to be the same as the ring net. Set theaccess direction on the right side to right and on the top to top. When you insert these cellsthey will be rotated and placed in all four corners of the design.

Draw all of these cells as layout views and use the Abgen command to create the abstractview.

Page 241: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-47

Creating Abstracts for I/O Cells

vdd!

gnd!

vdd!

Core pin

I/O power cell

I/O ring pins

metal1

metal2

9/27/94 Cadence Design Systems, Inc. B-48

Creating Abstracts for I/O Cells

Create pins for the core terminal and the power/ground ring terminals in the layout view of theI/Os and use the Abgen command to create the abstract view.

For HVH convention, use metal1 for the core pin and metal2 for the IO ring nets. Set the widthand terminal name for each to be the same as the global signal.

Set the Cell Type property prCellType to be IO.

For the ring pins, set the Terminal Type direction to be inputOutput and the access directionto left on the left side and right on the right side.

For the core pin, set the Terminal Type to be output and the Access Direction attribute to top.

Page 242: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-49

Guide Lines for Blocks■ Create pins on the via-to-via pin grid.

■ Put pins on HVH or VHV layers for two-layer routing.

■ Metal2 pins are suggested for three-layer routing.

■ Maximize porosity for Over-The-Block routing.

9/27/94 Cadence Design Systems, Inc. B-50

Guide Lines for Blocks

Create pins on the via-to-via pin grid

Create the pins of a block at a via-to-via separation. Now nets can connect from the pin on arouting layer, drop a via and switch to the next layer in the first track outside the block. Theoverall result is to reduce the number of tracks needed surrounding the block.

Pins on HVH layer for two-layer routing

If the block always has the same orientation, create the pins so that the pins match the intendedHVH or VHV routing direction preferences when the cellview is an instance.

Use metal2 pins for three-layer routing

Metal2 runs vertically in the routing areas of the design, referred to as channels. The verticalrouting direction in the channels always points toward the blocks. If the pins are metal2, therouter should not need to switch to another layer until the direction of routing changes.

Maximize porosity for Over-The-Block (OTB) routing

Minimize the use metal2 or metal3 geometries in the blocks to allow over-the-block (OTB)routing. If there is blockage on any of the routing layers, add obstructions in the block to serveas keep-out areas in the block.

Page 243: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-51

Guide Lines for Blocks (continued)

Ideal Block Abstract

via-to-via

metal2pins

Use

Use

pitch

Leave open areasfor over-the-blockrouting.

9/27/94 Cadence Design Systems, Inc. B-52

Guide Lines for Blocks (continued)

Ideal Block Abstract

In this example, the metal2 pins are placed at a via-to-via pitch. There are no obstructions onmetal2 in the center of the cell. The open area is available for over-the-block routing.

Over-The-Block Routing

Block Ensemble has over-the-cell routing (OTB), that will route over open areas of a block.Set the option Over-The-Block routing on the Route-All-Nets form to use these open areas.You select which routing layer you want to use as the feed through layer. For more informationon OTB, refer to the routing module for Block Ensemble.

Feedthru Pins

Blocks can contain feedthru pins but are not typically designed with them. If created, usemetal2 feedthru pins in open tracks. Make sure that the routing will not cross metal2geometries in the cell. Create at the same via-to-via separation. Set Terminal Direction type tojumper.

Block Ensemble only handles feedthru pins with one Access Direction attribute per pin in thisversion of the software. Two pins are needed. This will be fixed in version 4.3.2, which willallow up to two Access Directions attributes per pin, top and bottom or, left and right.

Page 244: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-53

Flows for Creating Abstracts■ Create standard cell and block abstract views

— One cell at a time.

— For set of cells in a library.

— For a library.

■ Create pins and pin properties using the Layout Editor or Abstract Editor.

■ Create the abstract view of a layout view using the Abstract Editor.

■ Create an abstract view of an autoLayout view using the Abstract Editor orPreview.

9/27/94 Cadence Design Systems, Inc. B-54

Flows for Creating Abstracts

There are three methods for creating abstract views of designs. We will look at a how to createabstract views from a set of cells using a library cell and how to create an abstract view froma single cell.

You can use library cell to create abstracts for an entire library. The flow is the same as for aset of cells. If you prepare each cell for abstract creation by adding the additional informationfor abstracts, you can run the Abgen command on the entire library at once.

You can interactively create pins from the Layout Editor menus or from the Abstract Editormenu. Pin properties are also added using these commands.The Layout Prep command on theAbstract Editor menu will automatically place geometric pins if labels are present thatrepresent the terminal name of each net in the design.

Use the Abstract Editor menu to add the boundary, Cell Type property, and create the abstractviews.

If you have translated the cells from another system, and you don’t have the Virtuoso LayoutEditor, use the commands from the Abstract Editor menu to prepare the cells for abstractcreation.

If the design is a lower level block that has been placed and routed as a autoLayout view, usethe Create Abstract command from the Preview menus, or the Abgen command from theAbstract Editor menu to create an abstract view.

Page 245: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-55

Creating Abstracts for a Set of CellsThis flow demonstrates how to create abstracts on a set of cells that have labelsfor terminal names, using a library cell.

1. Select a set of cells or a library to prepare for abstract creation.

2. Create the library cell to place the set of cells.

3. Automatically add pins at the origin of the labeled terminals.

4. Add access directions to the pins for routing directions.

5. Set the Cell Type for each cell.

6. Run the Abgen command to create the abstract views.

7. Edit the abstract views to add obstructions if three-layer routing is used.

The following pages describe the commands used in this flow.

9/27/94 Cadence Design Systems, Inc. B-56

Creating Abstracts for a Set of Cells1. Select a set of cells or a library to prepare for abstract creation.

Select a set of cells of a library to be placed in a library cell.

2. Create the library cell and place the set of cells.

Use the Lib Cell command to place the set of cells in a library cell. The followingcommands will work on all of the cells placed in the library cell.

3. Automatically add pins at the origin of the labeled terminals.

The Layout Prep command places pins on the labeled terminals.

4. Add the Access Directions attributes to the pins for routing directions.

Use Set Pin Properties command or Property List Editor to set access directions.

5. Set the Cell Type property for each cell.

Set the prCellType property to IO, macro, standard, or corner.

6. Run the Abgen command to create the abstract view.

7. Edit the abstract view to add obstructions if three-layer routing is used.

— Add obstructions if there is metal2 geometries in the cellviews.

Page 246: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-57

Creating a Library Cell

9/27/94 Cadence Design Systems, Inc. B-58

Creating a Library Cell

This section will cover how to create abstracts on a set of cells using a library cell.

1. To create a library cell, open an another layout cellview to access the Abstract Editormenu or open an empty layout cellview. Use Open ➝ Design from the CIW to open anew cellview. A typical convention is to call the new cell libcell with a view type oflayout.

2. Select Tools ➝ Abstract to access the Abstract Editor menu from the Tools menu.

Page 247: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-59

Placing Cells in the Library Cell

9/27/94 Cadence Design Systems, Inc. B-60

Placing Cells in the Library Cell

The Lib Cell command places instances of cells in a library cell. The library cell serves as apalette that lets you select a set of cells or all cells of a library.

Library Name of Library Cell specifies the name of the library containing the library cell.

Cell Name of Library Cell specifies the name of the library cell.

View Name of Library Cell specifies what view type will be placed in the library cell.

Creation mode is used to add cells to an existing library cell or you can create a new librarycell with this command.

Library Cell Width in X specifies the X coordinate used to contain the cells. The system willplace the cells in rows if needed to maintain this X coordinate.

Gap Between Adjacent Cells places the cells with a gap between them.

The Library Name of Cells specifies the source library of the cells being placed.

Create Library Cell From specifies how to find the cells. Specified Text File displays a newtext field (not shown here) to list a ASCII file with cell names. The format is very simple, onecell name per line. Cell Type lets you pick the cells by Cell Type.

After running Abgen to create abstract views, you could create a new library cell with a viewtype of abstract and place the same list of cells, but with their view type of abstract. This is agood way to check the results of abstract generation on all the cells at once.

Page 248: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-61

Adding Pins from Labels

9/27/94 Cadence Design Systems, Inc. B-62

Adding Pins from Labels

Use the Layout Prep command to automatically create pins from labels or from a SKILLcommand file that you create.

Library Info File is an optional SKILL command file that controls label processing, propertyprocessing, and pin generation. Most of the options you can set with this file are availablethrough the Library Information form. The Library Information form appears when youleave the Library Info File field blank and select Apply or OK on the Layout Prep form. Createa Library Info File if you want to refer to each cellview individually.

Pin Info File is an optional SKILL command file that lets you add, modify or delete pins, pinproperties, and terminal properties. Here is an example used in a command file.

absAddPin(“inv layout” “IN” “metal2” 13.5:10.5 “top” “res .3”“cap .2”)

This line adds a metal2 pin called IN at location 13.5:10.5 with an access direction of top, aresistance value of .3 ohms and a capacitance value of .2 picofarads.

Page 249: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-63

Adding Pins from Labels (continued)

9/27/94 Cadence Design Systems, Inc. B-64

Adding Pins from Labels (continued)

Library Preparation Form

Save Modified Layout saves the modified layout to a different view name if you want theoriginal view to not be effected.

Output View Name sets the view name of the modified views.

Process Layout for selects the cellviews to be processed.

■ Current Cell View (not shown here) is displayed if you are editing a single cell view.

■ Selected Cells, use this if you create a library cell and select the cellviews to place inthe library cell.

■ Library displays new fields on the form.

— Input Library Name is the name of the library from which to read the cellviews. Thecurrent library name is the default.

— Input View Name selects all of the cells with that view name from the library.

■ Lib Info Cell List selects cells from Library Info File. The names are listed as one cellname per line.

Page 250: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-65

Adding Pins from Labels (continued)

This form appears when Library Info File field is not filled in on Layout Prep form.

9/27/94 Cadence Design Systems, Inc. B-66

Adding Pins from Labels (continued)

Snap to Routing Grid specifies whether the system places pin locations on the routing grid.

Truncate at Characters truncates strings in the input from the characters you specify to theend of the word. Remove Characters deletes the specified characters from the input file afterthe system performs truncation.

Power/Ground Pin Names specifies the names of the power pins.

Text Pin Layer Map matches geometry layers to their text layers. If you do not specify thelayer mappings, the system tries to map text layers to routing layers according to the masksequence. If the text is already on a routing layer and is overlapped by shapes on the routinglayer, the system assigns the text to the routing layer. You can attach text to a specific layerusing a SKILL library information file. An example would be:

absSetTextMap(“m2text metal2 drawing” “m1text metal1”)

This line specifies text layer, attached layer, and attached layer purpose. If a mapped routinglayer is not specified, the program looks in the technology file for all layers that have theproperty function, with the value of conduction, and generates a mapping priority accordingto the layer property maskNumber. The highest maskNumber is the highest priority.

Layer Min-Pin-Size specifies the minimum pin width on specified routing layers. Theexample below specifies that metal2 pins have a width of 1.8 microns.

absSetLayerMinPinSize(“metal2 1.8”)

Page 251: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-67

Setting Pin Properties

9/27/94 Cadence Design Systems, Inc. B-68

Setting Pin Properties

Select all of the cell instances and use Set Pin Props command to set the Access Directionsattribute on the pins in each selected cells. The selected cellviews will be listed on the formwith a space between each name and will not be editable (grayed out).

Set the Access Directions attributes for the pins with top and bottom routing access by listingall of the terminal names that should have these access directions. Make sure that you knowall of the terminal names to include. Some of the terminal names listed may not be in all of thecells, but all terminal names that are found will receive the selected access directions. Checkthe warnings listed in the CIW about pins not found in cells. Next, set the Access Directionsattributes on pins with left and right routing access. Or you could also select one cell at a timeto add the Access Directions attributes to the pins for that cell.

Cellview Name specifies what cellviews you are running the command on.

Terminal Name specifies the terminals you are running the command on. Separate the nameswith spaces. Check for case sensitivity.

Terminal Direction specifies the type of terminal. Types include input, output, inputOutput,or jumper. Type jumper is for feedthru pins.

Signal Type specifies the signal type. Use signal for all but power and ground. Use supply forpower and ground for ground.

Pin Access Directions specifies the Access Direction attributes which tells the router whichside or sides of the pin to route to.

Page 252: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-69

Setting the Cell Type Property

9/27/94 Cadence Design Systems, Inc. B-70

Setting the Cell Type Property

If you are using a library cell, select all the standard cells and set the Cell Type to standard.Select any blocks (macros) and set the Cell Type to Macro.

Cell Type tells the placer which area of the design the cell will be placed in. This property iscalled prCellType.

Macro is a block that is not placed in the standard cell regions. You must interactivelyplace blocks when creating a mixed block and cell design using Cell Ensemble. All blockdesigns are automatically placed if Block Place is used from the Floorplanning menu inPreview.

Standard is a standard cell which is placed in standard cell regions by the Cell Ensembleplacer. Block Ensemble is not appropriate for standard cell placement.

Corner is a cell that is placed in the corner of the I/O frame. Used by Cell Ensemble forchip-level design.

IO is a cell placed in the I/O frame for chip level designs.

Cell Class is used by Cell3.

Placement Class assigned a Placement Class property to the cell masters for Cell3. Thisshould not be used here. We will be assigning Placement Class to instances in Cell Ensemble.

Cell Shape is used by Block Ensemble. If set to L Shape, Block Ensemble will use the open(notched) area for routing. If set to Rectangle, Block Ensemble sees this area as blocked.

Page 253: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-71

Creating Abstracts

9/27/94 Cadence Design Systems, Inc. B-72

Creating Abstracts

The Abgen command creates abstract views from layout views or autoLayout views. Run thiscommand after adding pins, pin properties, a boundary, and cell properties to the cellviews.

If you want to check connectivity, copy labels, and create obstructions in the abstract viewsyou would need to create the abgenRules section of the technology file data.

Generate From controls whether you create an abstract for the current cellview, selectedcellviews or the whole library. The form fields change depending on what you have open.

Selected Cells appears when you are editing a library cell.

Cellview appears when you are editing a single cellview.

Library is for the whole library and makes the Input View name field available.

Output View name is typically abstract, Generate Physical Hierarchy looks for abstractviews by default when create the autoLayout cellview.

Copy Pins Only does not use abgenRules. Copies the pins and boundary to the abstract view.

Insert Feedthrus will insert feedthru pins if toggled on, in open areas of the cell. On Layerspecifies what layer you want the feedthru pins to be on.

Grid Size specifies the pitch for placing feedthru pins and Offset specifies the offset from theright edge of the cell.

Set On Grid to the Minimum Pin Grid (MPG) and Offset to one-half the MPG.

Page 254: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-73

Checking the LibraryThe Library Checking command checks for

■ Cell power pitch sizes that are not standard.

■ Cell heights that vary more than 20 percent from the average cell.

■ Cell widths that are not a multiple of the grid size.

■ Cells with different sets of global net terminals.

■ Cells that have no global net terminals.

■ Cells that do not have feedthru pins or have space for feedthru pins.

■ Cells that do not have the prCellType property set.

■ Pins off grid, when the library specifies a grid size.

■ Pins that are non-rectangular.

■ Pins with improper or no access direction, or duplicate pins.

■ Pins with a spacing of less than line-to-via distance when a grid size is notspecified.

9/27/94 Cadence Design Systems, Inc. B-74

Checking the Library

The Library Checking command analyzes one or more standard cell abstracts for possibledesign rule violations. You can check the current cell view, a group of cells in a library cell,or all the cells of the library. Abstract views are examined, so you must create abstracts foreach cell.

When you run Library Checking on a single cell, any errors will be reported in the CIW andflagged in the cell view. No information is written to the CIW if errors do not exist.

When you run Library Checking on a set of cells or an entire library, the information is storedin the report file listed on the form. This file is located in the current working directory unlessa full path is listed.

Page 255: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-75

Checking the Library (continued)

9/27/94 Cadence Design Systems, Inc. B-76

Check the Library (continued)

The Library Checking command can be executed from a layout view or abstract view, butchecks the abstract view of each cell. Create the abstract view before running this command.

Select the cells in the library cell and toggle on the Selected Cell field to check all of the cellsat once.

Check From specifies what cells you want checked.

Cell View (not shown here) is for a single cell view, open for editing.

Selected Cell specifies a set of cells to check.

Library specifies a library to check.

Input View is always set to abstract (filled).

On Grid specifies the Minimum Pin Grid value (MPG) and Offset specifies one-half the MPGfrom the left side of the cell. This will check the pin placements.

Set the global Power and Ground net names to check for consistency in each cell.

Report File specifies the log file.

Page 256: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-77

Creating an Abstract for a Single CellFollow these steps to create an abstract for a single cellview.

1. Edit a layout cellview.

2. Add pins interactively or run the Layout Prep command on a cell that haslabels.

3. Add access direction properties on the pins.

4. Set the Cell Type of the cell.

5. Add the place and route boundary.

6. Run the Abgen command to create the abstract.

The following pages review commands not already covered by the section calledCreating Abstracts for a set of Cells.

9/27/94 Cadence Design Systems, Inc. B-78

Creating an Abstract for a Single Cell

This section describes

■ Adding Labels to a layout view.

■ Creating Pins Interactively in the layout view. If you use the Layout Prep commandto create pins, refer to the previous section.

■ Adding Pin Properties to the pins in a layout view.

■ Modifying Common Pin Properties using the Property List Editor.

■ Setting Pin Connections for pins that are used as must-connect pins.

■ Adding a Boundary to the layout view for place and route.

■ Creating Obstructions in cells for three-layer routing.

Page 257: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-79

Adding Labels

1

2

9/27/94 Cadence Design Systems, Inc. B-80

Adding Labels

As discussed earlier, you can draw pins interactively or create pins automatically if labels arepresent that represent terminal names of the design. Pins names are the same as the labels. Theorigin of the labels are the center of the pins. A third option is to write a SKILL Pin Info fileto generate pins. The Pin Info file is used when you run the Layout Prep command.

Use the Create Label command to specify the input, output, power and ground nodes in yourcells. Create Label works on the current level of hierarchy. If you are editing a library cellthen you will want to use Edit-in-place or Decend from Design ➝ Hierarchy menu to editeach cell. You will be prompted to select a cell to decend into.

You may want to add labels for viewing purposes. If you have created an abgenRules sectionin the technology file, you can specify a rule to copy the label layer to the abstract view whenyou run the Abgen command.

Label specifies the text that will be placed.

Drafting specifies how text rotates. If toggled off, text can rotate in all directions. Toggled on,text can only rotate 90 degrees from normal orientation so it’s always readable.

Attached specifies if the text is attached to a specific geometry. If attached, the text will movewhen the geometry is moved and will be removed when the geometry is deleted.

The height is in user units and is used for visibility.

Page 258: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-81

Creating Pins Interactively

9/27/94 Cadence Design Systems, Inc. B-82

Creating Pins Interactively

You may want to add pins to the cell views instead of adding text and running Layout Prep tocreate pins.

You can interactively create pins with Create ➝ Pin command from the Layout Editor menuor the Create Pin command from the Abstract Editor menu. Pin properties are also addedusing these commands.

Terminal Name specifies each terminal. More than one terminal name can be specified witha space between each name. The system steps through the list as you create each pin.

Pin Shape rectangle prompts you, from the CIW, to draw a pin shape.

Pin Shape polygon prompts you from the CIW, to draw a polygon shape.

Pin Shape auto pin automatically places a pin at the end of paths.

Display Name displays the pin name on each pin. Without this set, the pin name is notdisplayed. Select Set Name Display to set the height and location of the pin name.

I/O Type specifies the signal type.

Access Direction specifies the direction that the router can connect to the pin.

Page 259: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-83

Adding Pin Properties

9/27/94 Cadence Design Systems, Inc. B-84

Adding Pin Properties

To add properties to pins of a cell, select the pins then use the Set Pin Properties commanddiscussed earlier in this module, or the Property List Editor.

In the LSW, make everything non-selectable including layers and instances. Make Pin theselectable object. Then drag the left mouse button across the pins that you want to select foran area selection.

Page 260: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-85

Modifying Common Pin Properties

9/27/94 Cadence Design Systems, Inc. B-86

Modifying Common Pin Properties

Type q to bring up the Property List Editor. The Property list Editor has a new field calledCommon. Toggle Common on to change properties on all selected objects at once.

If pins are the selected objects, you can change their access directions, pin type, net criticality(priority) of each net, and their connection status, all at once.

Select feedthru pins separately and change the I/O Type to be jumper.

The Common field also works on selected cells to change properties like the Cell Typeproperty.

Page 261: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-87

Setting Pin Connections

9/27/94 Cadence Design Systems, Inc. B-88

Setting Pin Connections

If you run the Abgen command and do not use abgenRules, all pins of the same terminal areconsidered equivalent pins. If you want multiple pins of a net to always be connected, you caninteractively make them must-connect pins.

Pins are set as strong-connects by default. If multiple pins of a terminal exist, they are allstrong-connects. One of these pins will be connected by the routers and other pins of the sameterminal may be connected by the routers as committed feedthrus. This has the same meaningas equivalent pin. To force multiple pins of a terminal to be connected by the routers, set themto be must-connect pins.

Select the pins you want to set to must-connect pins and use the command Set Pin Connectioncommand. This command will bring up a text file window that contains the pin informationfor this cellview.

Change the selected pins to must-connect pins by selecting the button Must. The text filewindow will update to show you the new information.

The must-connect pins will have a new property call absCPin set which is used only by Cell3.This will appear on the Property List Editor under Property. You can ignore this property.

Page 262: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-89

Adding a Boundary

vdd!

gnd!

Geometric pins

prBoundary

Boundary abuts

Sets the boundary to one-half design rule above geometry.

power rail

Standard cell

9/27/94 Cadence Design Systems, Inc. B-90

Adding a Boundary

Use the Auto Boundary command to add a boundary around the geometries in the layoutview. Well geometries are ignored.

The Auto Boundary command creates a place and route boundary on the prBoundary layer.In the layout view, the prBoundary layer has a purpose of drawing. When you run the Abgencommand, prBoundary is copied to the abstract view and has a purpose of boundary.

For standard cells, the system places the boundary at the left and right edges of the power andground rails. The top and bottom edges are spaced at one-half the maximum design rule awayfrom the top or bottom geometry of a layer has a function property set in the technology file.

For blocks, the boundary is spaced one-half the maximum design rule away from geometriesthat are drawn on layers which have the function property.

Page 263: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-91

Creating Obstructions on Abstracts

9/27/94 Cadence Design Systems, Inc. B-92

Creating Obstructions on Abstracts

If you have metal2 or metal3 geometries in the cellviews and you are using three-layer routing,you should add obstructions on these layers. The router will not route over obstructions. Youmust use the Create Obstruction command on the abstract view.

Obstructions can be automatically created when you run Abgen if, you have abgenRules in thetechnology file that locate geometries on the routing layers and copies these geometries to newobstruction layers.

Create Rectangular Obstruction on Layer specifies which layer the obstruction should bedrawn on. The choices are the routing layers with a purpose of boundary. A message in theCIW prompts you to enter the first and second coordinates of the rectangle.

Page 264: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-93

Labs for This ModuleLab B-1. Creating Abstracts for a set of Cells

To convert standard cells into abstracts using a design flow.

Lab B-2. Creating an Abstract for a Single Cell.

Interactively add pins and boundary information to a single cell. Createan abstract and check the cell.

9/27/94 Cadence Design Systems, Inc. B-94

Labs for this Module

Lab 4-1: Objective

You will use the flow discussed in this module to create abstracts from a set of cells in a librarycell.

Lab 4-2: Objective

You will interactively create pins and a boundary in a cell view. Then you will run Abgen onthe single cell view to create an abstract.

Page 265: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-95

Module Summary■ You have learned the characteristics of a good library for the place and route

environment.

■ You have learned the difference between a layout view and an abstract viewand how the abstract view is used.

■ You have learned about pins.

■ You have learned how to create an abstract view using a design flow.

■ You have learned how to check the library abstracts using the LibraryChecking command.

9/27/94 Cadence Design Systems, Inc. B-96

Module Summary

Page 266: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Library Design B-97

Page 267: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Appendix C

Database Translation

Page 268: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-1

Database Translation

Objectives

■ Learn what translators are available.

■ Learn how to translate Edge databases.

■ Learn how to translate Symbad databases.

9/27/94 Cadence Design Systems, Inc. C-2

Terms and Definitions

translator A program that translates data, rules, or programs from oneformat to another.

Edge Cadence Design Framework. Release 2.1 and earlier.

Symbad A group of products that include layout, a floor planner, and arouter. They all share the same database format, similar to theEdge tools.

Page 269: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-3

Edge Translation Programs

translate Converts an Edge database to a Design Framework II database

pdvtodiva Converts PDV design rules and abstract extraction rules

ruletrans Converts Cell Ensemble rule.tech and contact.tech

skilltrans Converts Edge SKILL to Design Framework II SKILL procedures

menutrans Converts Edge menus to a Design Framework II menu library

Draculatodiva Converts Dracula design rules

9/27/94 Cadence Design Systems, Inc. C-4

Edge Translation Programs

translateThis is the main program to translate Edge 2.1 databases into Design Framework II 4.3 libraries. Notethat there is also a translate program in your Edge software – this program is for translating Edge 1.5libraries into Edge 2.1 format. You might have to first run the Edge translate program, followed by theDesign Framework II translate program, if you have old Edge databases.

pdvtodivaThis program translates PDV rules to DIVA rules. Translation is complete except for concatenating therules into one procedure, which is required by the 4.3 technology file. You can use a text editor toaccomplish this.

ruletransThis program translates the Cell Ensemble rule files to a Design Framework II library.

skilltransThis program translates Edge SKILL to 4.3 SKILL. All constructs might not be completely translated.You can specify rules for the SKILL translator to aid in this process.

menutransThis program translates Edge fixed and pop-up menus to Design Framework II menus.

Note: See the Edge/Symbad to DF II 4.X Conversion Guide for more information on running these programs.

Page 270: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-5

Edge Translation Flow

Opus 4.3Library

tcTranslateTechnologyFile

Symbolic

translate

Edge 2.1Blocks

Edge

FileLayers

SKILL

TechnologyFile

4.3

Binary

TechnologyAttached

File

9/27/94 Cadence Design Systems, Inc. C-6

Edge Translation Flow

■ Creates Design Framework II library.

■ Converts Edge block/reps to 4.3 cellviews.

■ Converts layer file information into a binary technology file.

■ Attaches 4.3 technology file if specified. Converts a symbolic technology file if foundand referenced in the representations property list.

■ Translates sdatemplate/<repname>/current files into views, if found in the search path.

■ If sdatemplate is not found in the search path, uses the first of each type of rep found tocreate views. For example, the schematic view and properties are extracted from the firstschematic rep found in the search path.

■ If a 4.x library is in the translate directory, the Edge database is not translated. You mustdelete the 4.x library first.

Page 271: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-7

Running Edge Database Translation

translate - <install_dir>/tools/dfII/bin/translate

-Path Specifies list of directories to find blocks. Default = “.”

-Tech <filename> Specifies layers file on the command line

-Level # Translates levels of the hierarchy.

-Log Creates a translate.log file

-h Gives help

-v Gives more verbose messages

cds122>translate -v -Log -Level 3 -Tech layers/display/current

used 3204 Kbytes while translating

cds122>

9/27/94 Cadence Design Systems, Inc. C-8

Running Edge Database Translation-Path

List of directories to look for Edge database files. This list is called the search path. If you donot specify the search path in the command line, translate prompts for it.

-Tech

The layers file to use to associate Edge layer numbers with layer names and assign colors tolayers. In Edge you can have more than one layers file - a layers files for display, and a layersfile for plotting. You can only specify one layers file when translating to Design Framework II.

-Level

The translate program translates the files <block>/<rep>/current. The program looks twodirectories down from the search path for the file current. If you want to translate database filethat are more than two directories down from the search path, you must use the -Level optionwhen you start translate.

Page 272: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-9

Running Edge Database Translation (continued)

-NoPerm Does not translate Edge permanent revisions

-DBU Database units and user units for the Design Framework IIlibraries created

Format: xxx.x/yyyy - xxx.xis a floating point numberspecifying the number of database units per user unityyyy is one of “micron”, “centimeter”, “meter”, “mil”,or “inch”

Example:

cds122> translate -v -Log -Level 3 -Tech layers/display/current

9/27/94 Cadence Design Systems, Inc. C-10

Running Edge Database Translation (continued)

-DBU

The -DBU option sets the number of database units per user units for any views that do nothave this information already defined in the sdatemplate.

Example:-DBU 1000.0/microns

-NoPerm

If you have different versions, all versions are converted if you do not use the NoPerm option.

Page 273: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-11

Prompts by Translate

If translate is invoked without any options, the program prompts for inputs.

Reps to process as “schematic”: schematicReps to process as “schematicSymbol”: symbolOpus 4.0 symbolic device techfile name:Search path :Layer file (default = layers/display/current) :Library name for ‘.’ :

You must specify reps that are of type schematic or symbol but are not calledschematic or symbol (for example, cmos.sch) as answers to the first twoquestions. Unknown reps are translated to viewType maskLayout.

9/27/94 Cadence Design Systems, Inc. C-12

Prompts by Translate

Page 274: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-13

Warnings by Translate

■ The Edge 2.1 layer purpose pair numbers might not be the same as 4.xlayer purpose pair numbers.

■ Edge 2.1 system layer purpose pairs are mapped to corresponding 4.x layerpurpose pairs.

■ When the Edge and Design Framework II 4.x layer purpose numbers aredifferent, a warning is output.

Example:

WARNING* 2.1 Layer/purpose ‘pin(241)/pin(251) is mappedinto 4.0 ‘pin(229)/drawing(252)’

9/27/94 Cadence Design Systems, Inc. C-14

Warnings by Translate

Page 275: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-15

Connectivity Differences■ Edge and Design Framework II have differences in the connectivity models

— Path Connectivity in Design Framework II is center line rather than edgebased

— Different algorithm for naming wire segments

■ SKILL routine, fixEdgeSch.il, accounts for connectivity differences

■ fixEdgeSch.il is in <install_dir>/tools/dfII/etc/tools/schematic

■ Run fixEdgeSch.il before checking translated schematics

9/27/94 Cadence Design Systems, Inc. C-16

Connectivity Differences

The connectivity models in Edge and Design Framework II are similar, but not identical. Widewires in Edge connect to any other pin, wire, or path if these objects intersect the edge of thepath. In Design Framework II, wide wires connect to objects if the objects intersect the centerline of the wide wire.

Wire segments are named differently in Edge and Design Framework II. These differencesmight effect the success of a schematic connectivity update in Design Framework II eventhough the schematic was successfully extracted in Edge.

The database translator does not correct these problems. The SKILL routine, fixEdgeSch.il,corrects these problems. The fixEdgeSch.il SKILL program is in the<install_dir>/tools/dfII/etc/tools/schematic directory.

You must run the fixEdgeSch.il SKILL program on the translated database, in DesignFramework II, before you check the translated database. If you update the connectivity, thisprogram does not work correctly.

Page 276: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-17

Items to Watch Out For■ If a Design Framework II library already exists in any of the directories in the

search, the Edge blocks in those directories are not converted.

■ The search path performs two functions:

— Converts all Edge blocks in given search paths to Design Framework IIlibraries.

A Design Framework II library is created in each search path.

— Adds appropriate reference libraries (Library property refLibs) to newlycreated libraries if they use instances not in their directories.

■ You must set the Edge representation type correctly

■ All cellviews (Edge representations) in a library use the same viewproperties. Each Edge representation has its own properties.

9/27/94 Cadence Design Systems, Inc. C-18

Items to Watch Out For

Example:Search path = . /usr/cadence/9401/tools/dfII/etc/cdslib

The directory /usr/cadence/9401/tools/dfII/etc/cdslib has the library basicp, containing partsthat are used by block Top in the current directory.

In the current directory, the conversion process creates a library NEWLIB to contain Top andother blocks. It also adds basic as a reference library to NEWLIB because some instances usedin Top are not found in the current directory but are found in basic.

If the search path is incorrect, required instances might not be found during conversion. If thathappens, the program outputs warning messages. There are two ways to correct the problem.

■ Delete the Design Framework II library and rerun the conversion with the correct searchpath.

■ After opening the newly created library, add the path containing the reference library tothe Design Framework II library search path, add the reference library to the libraryproperty refLibs, open the design, select all the unresolved instances, and update thesource library name.

If the conversion does not take too long or take up too much disk space, the first methodis a better way to create a correct Design Framework II library.

Page 277: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-19

Items to Watch Out For (continued)

■ If a Design Framework II library already exists in any of the directories in thesearch, the Edge blocks in those directories are not converted.

■ The search path performs two functions:

— Converts all Edge blocks in given search paths to Design Framework IIlibraries.

A Design Framework II library is created in each search path.

— Adds appropriate reference libraries (Library property refLibs) to newlycreated libraries if they use instances not in their directories.

■ You must set the Edge representation type correctly

■ All cellviews (Edge representations) in a library use the same viewproperties. Each Edge representation has its own properties.

9/27/94 Cadence Design Systems, Inc. C-20

Items to Watch Out For (continued)

■ Each representation must have its representation type set correctly for correctconversion. The representations are converted to the corresponding cellview in DesignFramework II. The representation type determines the viewType of the converted view.Each Design Framework II view has the property viewType, which triggers the relevantapplication.

If the Edge representation type is not set, the newly created Design Framework view hasthe viewType property set to maskLayout. This means the application window openedis the Layout Editor window.

■ Unlike Edge, all cellviews belonging to a given view read the same view propertiestemplate in Design Framework II. The view properties are loaded into the applicationwindow when you open a cellview. All Edge blocks with the same representation shoulduse the same scale factor if they reference one another.

For example, the Cadence supplied libraries basic (<install_dir>/tools/dfII/etc/cdslib)and sample (<install_dir>/tools/dfII/samples/cdslib) use 160 database units/inch forthe schematic and symbol views. These two libraries are the equivalent of the schemablock path in Edge. Any schematic cellviews using these two libraries should also usethe same scale factor for instances and wires to be positioned correctly.

Page 278: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-21

Labs in This SectionC-1. Edge Database Translation

C-2. Rules File Translation

9/27/94 Cadence Design Systems, Inc. C-22

Lab Overview

Page 279: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-23

Symbad Translation Programs

symb2opus Converts a Symbad database to a Design Framework IIdatabase

tcTranslate Converts an Edge/Symbad technology file toDesign Framework II

spl2skill Converts Symbad procedures to SKILL

9/27/94 Cadence Design Systems, Inc. C-24

Symbad Translation Programs

symb2opus

This program is the main database translator for Symbad libraries.

tcTranslate

This program translates Symbad format text technology file to SKILL 4.3 format. Theresulting file can be edited before loading it into a Design Framework II library.

spl2skill

This program translates Symbad Programming Language (SPL) to SKILL. It might nottranslate all constructs completely.

See the Edge/Symbad to DF II 4.x Conversion Guide for more information on running theseprograms.

Page 280: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-25

Symbad Conversion Flow

Binary

TechnologyAttached

File

Design

4.3 Library

tcTranslateTechnologyFile

Symbad

symb2opusSymbad 1.5eLibrary

SKILL

TechnologyFile

4.3

Framework II

9/27/94 Cadence Design Systems, Inc. C-26

Symbad Conversion Flow■ Converts the Symbad library and cells to a Design Framework II 4.3 library.

■ Maps all Symbad cells to

— Cell Name = Cellname— View Name = layout if cell extension is .CEL

— View Name = extension if cell extension is not .CEL

■ Converts all cell names to lowercase letters.

■ The Symbad database maintained the net names as capitalized. Net name capitalizationis retained during conversion.

■ Instance names were capitalized in Symbad and the capitalization is retained inDesign Framework II.

■ The constraint file will be consistent because of instance names used. However, padsmust not be specified.

Page 281: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-27

Symbad Conversion Flow (continued)

Binary

TechnologyAttached

File

Design

4.3 Library

tcTranslateTechnologyFile

Symbad

symb2opusSymbad 1.5eLibrary

SKILL

TechnologyFile

4.3

Framework II

9/27/94 Cadence Design Systems, Inc. C-28

Symbad Conversion Flow (continued)

■ Power/Ground spec file cell names must reflect the real cell name.

Example:Symbad Design Framework IIcell JKFF.CEL jkff layoutcell JKFF.CP jkff cpnet NET123 NET123instance ABCIN ABCIN

■ Creates binary technology information from the SKILL-format ASCII technology file

■ Creates library cells from the Symbad library

■ Adds netlist information from the Symbad library

Page 282: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-29

Technology File Conversion

tcTranslate - <install_dir>/tools/dfII/bin/tcTranslate

Converts a Symbad/Edge technology file to Design Framework II SKILL formattechnology file.

Technology file to be translated?

Translate to Cadence’s technology file?

Case sensitive and pin maskable? (y or [n])

Echo source file? (y or [n])

Technology file compilation completed successfully

9/27/94 Cadence Design Systems, Inc. C-30

Technology File Conversion – tcTranslate■ Technology file to be translated?

— Type the Symbad/Edge technology file name

■ Translate to Cadence’s technology file?— Type the new Design Framework II SKILL format technology file name.

■ Case sensitive and pin maskable? (y or [n])— No generates non-maskable pins.— Yes generates maskable pins.— No converts all layers and pin types to lowercase letters.— Yes does not convert case at all.— Yes is recommended for an Edge technology file, No for Symbad

Example:

Symbad Design Framework IIMETAL1 metal1M1_T m1_t

■ Echo source file? (y or [n])— Specifies whether the program echoes the technology file onto the screen as it

processes it.

■ Technology file compilation completed successfully— Last program response, signifying successful completion.

Page 283: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-31

Symbad Technology File

■ You must add or verify that you have WIDTH statements in the 1.5etechnology file for the routing layers.

WIRE:met met 3.0 0.5

*DESIGN_RULEWIDTH met GE 3.0

■ Pseudo Layers are supported. Pseudo Wires are not.

9/27/94 Cadence Design Systems, Inc. C-32

Symbad Technology File

Page 284: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-33

Running symb2opussymb2opus

[SYMBAD]

[1] Enter the SYMBAD library name: Not Specified Yet

[2] Enter the SYMBAD cell name: All cells in library

[3] Enter the SYMBAD reference libraries: Not Specified Yet

[OPUS]

[5] Enter the Opus library name: Not Specified Yet

[6] Enter the Opus technology file name: No initialization

[7] Enter the view name mapping file: Not Specified Yet

[Block Ensemble]

[10] Turn on Block Ensemble Translator: NO

[11] Output the physical data: YES

9/27/94 Cadence Design Systems, Inc. C-34

Prompts by symb2opus[1] SYMBAD library name Must be specified

[2] SYMBAD cell name Default is all cells. If cell name is specified without an extension,defaults to extension .cel

[3] SYMBAD reference libraries Optional

[5] Opus library name Must be specified

[6] Opus technology file name If specified, new library is created. If Design Framework IIlibrary already exists, conversion does not proceed. If notspecified, the Design Framework II library specified to prompt[5] must exist.

[7] View name mapping file Optional. If not specified, cells with extension .cel are translatedto a layout view. All other cells are translated to viewname =extension.

[10] Block Ensemble Translator Choose netlist generation

[20] Check technology file consistency Ignored if new library is created. Used to check consistency ofcellviews if adding cellviews to an existing Design Framework IIlibrary.

[22] Set SKILL search path List of paths to find SKILL routines. Defaults to . and<install_dir>/tools/dfII/etc/context. The technology filespecified in [6] must be in the search path. The context directorycontains the necessary Cadence software to load the technologycompiler.

Page 285: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-35

Running symb2opus

Design Framework II library with all cellviews translated

[CONTROL]

[20] Check technology file consistency: NO

[21] Overwrite existing OPUS cellview: NO

[22] Set SKILL search path: . /usr/cadence/4.3/etc/context

[23] Set OPUS DB search path: . ~

[COMMAND]

[90] Submit the SYMBAD to OPUS execution

[91] Help

[99] Exit

Enter the option number ...

Output files:

symb2opus.cmd answers to symb2opus prompts

symb2opus.log symb2opus run log

symb2opus.term

9/27/94 Cadence Design Systems, Inc. C-36

Page 286: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-37

Labs in This SectionC-3. Converting Technology Files

C-4. Converting a Symbad Database

9/27/94 Cadence Design Systems, Inc. C-38

Page 287: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Database Translation C-39

Page 288: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Appendix D

Microwave Design

Page 289: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-1

Microwave Design

Objectives

■ Learn how to create transmission lines

■ Learn how to create bends

■ Learn how to create tapers

■ Learn how to use the Microwave Extractor

9/27/94 Cadence Design Systems, Inc. D-2

Page 290: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-3

Transmission Line CommandCreates a transmission line with either a normal, chamfer, or radial bend.

Bend

Radial

9/27/94 Cadence Design Systems, Inc. D-4

Transmission Line Command

You use the Trl command to create a transmission line. There are three bend styles you canchoose from when creating bends: Bend, Chamfer, and Radial. You use the following optionsto specify details about the bends:

■ The Bend Factor specifies the maximum width allowed in a standard bend, before thebend is automatically chamfered.

■ The Chamfer Factor specifies the fraction of the corner that is removed in a chamferbend.

■ The Radius Factor specifies the ratio of the centerline bend width to the transmissionline width in a radial bend.

When you create a transmission line, the length is displayed next to the transmission line.When you stretch a transmission line, the length is also displayed.

When transmission lines are streamed out, they lose all their property information. Whentransmission lines are streamed back into the DFII database, they are converted to lines.

Page 291: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-5

Bend CommandThe Bend Command creates a two-segment bend.

9/27/94 Cadence Design Systems, Inc. D-6

Bend Command

You use the Bend command to create a two-segment bend. If you want to create a transmissionline that has more than two segments, use the Create ➝ Trl command. Some of the featuresof the Bend command include:

■ You can create either a bend, chamfer, or radial transmission line.

■ You can specify a different width for each segment.

Side one is the first segment that is drawn. Side 2 is the last segment that is drawn.

■ The length of the transmission line is displayed while you are creating it.

Page 292: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-7

Tapers CommandThe Create Tapers command creates a tapered line that you use to interconnecttransmission lines.

Tapered Line

9/27/94 Cadence Design Systems, Inc. D-8

Creating Tapers Command

You use the Taper command to connect transmission lines that have different widths. Theillustration for creating bends shows a taper with a width of 10 microns at one end, connectingto a transmission line of 30 microns on the other end.

Tapers can be linear or exponential. When you create an exponential taper, use the Resolutionoption to control the number of points per side.

Page 293: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-9

Labs in This SectionLab D-1. Creating Transmission Lines

9/27/94 Cadence Design Systems, Inc. D-10

Page 294: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-11

Microwave Extractor■ You can use the Microwave Extractor to simulate your design from the

layout cellview.

■ The Extractor recognizes microstrip elements (open, line, and tee) that areformed by the interconnecting shapes.

■ The Extractor establishes the electrical connectivity of the layout so that youcan simulate the layout with a microwave simulator.

■ The extracted data is placed in the layout view.

■ Transmission lines must abut (touch), but not overlap, the edges of theinstance pins.

9/27/94 Cadence Design Systems, Inc. D-12

Microwave Extractor

To simulate your design from the layout cellview, you must first use the Microwave Extractor.The Extractor recognizes microstrip elements that are formed by the interconnecting shapes.The Extractor also establishes the electrical connectivity of the layout so that you can simulatethe layout with a microwave simulator.

During simulation from layout, library components (active devices, lumped elements, andsome distributed components) are simulated using the same models that you use when yousimulate from the schematic.

The interconnections between the library components are simulated as microstrip componentsfrom the microwave library, including lines, bends, tees, crosses, steps, tapers, and stubs. Theresult is a detailed simulation of the layout that includes all interconnect discontinuities.

The Microwave Extractor models electrical connectivity for microwave frequencies, however;it does not consider coupling between structures.

Page 295: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-13

Labs in This SectionLab D-2. Run the Microwave Extractor

9/27/94 Cadence Design Systems, Inc. D-14

Labs in This Section

Page 296: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Microwave Design D-15

Page 297: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Appendix E

Customizing Window Size

Page 298: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-1

Customizing Window Size

Objectives

■ Learn how to set up and customize the environment

9/27/94 Cadence Design Systems, Inc. E-2

Page 299: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-3

Customizing WindowsYou can control window sizes and locations using the X Window System or SKILLcommands. SKILL may be preferable because you can query the screencoordinates and use the result in an equation.

■ .Xdefaults file contains Design Framework II resources for

— CIW width, height, and location (x,y)

— Form position relative to windows or CIW

— Size of LSW, as follows

Opus*LSWGeometry:width x height + x + y

Example:

Opus*LSW Geometry:115x620+0+0 positions the LSW in the upper leftcorner. (0,0 is upper left for X-Windows)

9/27/94 Cadence Design Systems, Inc. E-4

Customizing Windows

.Xdefaults

There are Design Framework II resources in the .Xdefaults which can be used to controlCadence windows and form placement. See the <install_dir>/cdsuser/.Xdefaults file forexamples. Note that any options set in the .Xdefaults file will override the settings in the.cdsinit using SKILL.

Page 300: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-5

Customizing Windows Using SKILLAll the options available in .Xdefaults are also available in SKILL. The onlydifference is that the .Xdefaults variables can override the SKILL settings. Thecoordinate system is also different; SKILL considers 0,0 to be the lower left.

■ LSW sizing can be done using the SKILL commandleResizeLSW(list(upper_left lower_right))Note: The LSW must be displayed for this to work.

■ Any numbered window can be resized using the SKILL commandhiResizeWindow(window(#) list(x:y x:y))Note: It is occasionally necessary to use hiFlush() just prior to using hiResizeWindow. Also, theCIW is always window(1).

9/27/94 Cadence Design Systems, Inc. E-6

Customizing Windows Using SKILL

You can customize windows and forms using SKILL. An advantage to this method is that youcan interactively set options, create a new window or call a form, and see the effect.

Resizing the LSW Using SKILL

Use the SKILL command leResizeLSW().

Resizing Windows by Window Number

You can use hiResizeWindow() to change the size of any window. First, you identify thewindow, for example, using this SKILL sequence

win=hiGetCurrentWindow()

hiResizeWindow(win list(0:0 750:230))

The CIW is always window (1) and can be referred to as such.

Page 301: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-7

Customizing Windows Using SKILL (continued)

■ You can resize the Library Browser using the following

dmbColorInit()dmb.window = list((x y) (x y))

■ You can find out the maximum screen coordinates using

hiGetMaxScreenCoords()car(hiGetMaxScreenCoords()) will give you the X dimensioncdr(hiGetMaxScreenCoords()) will give you the Y dimension

Note: SKILL does not consider the Motif border to be part of the window dimensions. You mayneed to add or subtract the border width to get windows to align exactly.

9/27/94 Cadence Design Systems, Inc. E-8

Resizing the Library Browser

The Library Browser is not a window or a form. It’s size and location are set separately, usingthe dmb.window function.

Finding the Maximum Screen Coordinates

You can use SKILL to find out the maximum screen coordinates.

Page 302: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-9

Customizing Windows Using SKILL (continued)

■ You can set the form position using the following SKILL command

hiSetFormPosition(X:Y)

Example:

hiSetFormPosition(1000:0) puts forms at the top right of the screen.

9/27/94 Cadence Design Systems, Inc. E-10

Setting Form Positions

You cannot change form sizes, only the position relative to the screen.

Page 303: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-11

Using View Properties to Set Window Sizes■ You can set graphic window sizes as view properties. These are properties

of type illist.

( schematic defaultWindowBox ’((756 506) (1145 879)) )

( maskLayout defaultWindowBox ’((123 258) (750 879)) )

dmb.window=list(756:5 1047:482))hiResizeWindow(window(1) list(3:3 750:230))

hiResizeLSW(list(3:879 115:1500)

hiSetFormPosition(1000:0)

9/27/94 Cadence Design Systems, Inc. E-12

Using View Properties to Control Window Sizes

You can set a window size for any view or view type as a property of that view. All cellviewsof that name or type will then automatically open with that window size. These properties areof type illist when set interactively using the view property form.

Caution

Setting the default window box property incorrectly can result in the inability to open any graphic windows for thatview name. If this happens, delete the defaultWindowBox property from the view using the Library Browser.

Page 304: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-13

Labs in This SectionE-1. Using SKILL to Customize Window Sizes

9/27/94 Cadence Design Systems, Inc. E-14

Labs in This Section

Page 305: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Customizing Window Size E-15

Page 306: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Appendix F

Openbook

Page 307: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Using the Design Framework II Environment F-1

Openbook

Objectives

■ Learn how to use Openbook

9/16/94 Cadence Design Systems, Inc. F-2

Page 308: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Using the Design Framework II Environment F-3

Getting HelpYou can get help with Cadence software from the following sources

■ Help button on forms and windows

■ OpenBook utility

■ Installation manuals and Product Notes

■ Known Problems and Solutions (KP&S)

■ Reference manuals

■ Training guides

■ Customer Response Center (CRC)

9/16/94 Cadence Design Systems, Inc. F-4

Getting HelpOnline Help

■ The help button on Design Framework II windows and forms shows the referencemanual pages corresponding to the window or form. The help pages are subsets of thecomplete online reference manuals. Help pages are set up when you install theapplication software.

■ You start OpenBook from a UNIX shell. OpenBook allows you to look at all the onlinereference manuals. The OpenBook utility is sent with the application software and mustbe installed separately from the application software.

Hardcopy

■ Installation manual, product notes and KP&S are hardcopy pages and are sent with theproduct shipment to the customer contact for your site.

■ Reference manuals are on CD-ROM or hardcopy format. You can copy the referencemanuals on CD-ROM to a file system. You can view the reference manuals onCD-ROMs or on a file system using OpenBook.

■ Training guide (this manual is an example) can supplement reference manual.

Personal Contact

■ If you cannot find the necessary information with any of the above methods, you can callthe Customer Response Center at 1-800-CADENC2.

Page 309: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Using the Design Framework II Environment F-5

OpenBook■ Utility for reading

— Online Reference Manuals

— Known Problems and Solutions (KP&S)

— Installation instructions

— Product Notes

— User manuals

■ Finds manuals using

— Menus

— Keywords

— Text search

■ Has powerful text search mechanisms

9/16/94 Cadence Design Systems, Inc. F-6

OpenBook

■ The online documentation is shipped as compressed PostScript files. The OpenBookutility can read the compressed format. You can read and print all the online manualssupplied in this format.

■ Your documentation files can be anywhere on your network but must be accessible tothe OpenBook utility.

■ Access documents by menu, text search or keyword.

■ Keyword example:

openbook anasim - opens the Analog Artist Simulation Environment Reference

Keywords are in the Appendix of the OpenBook User Guide.

■ Text search is limited to single document.

■ Full-Text Search spans the complete document set.

— You can restrict full-text search using boolean operation, proximity controls andattribute selection.

— Full-Text Search examples:

analog artist |analog workbench - boolean operation

<TITLE analog artist> - attribute selection

analog:simulation - proximity control. Finds pages with the word analogclose to the word simulation.

Page 310: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Using the Design Framework II Environment F-7

Software Hierarchy

<install_dir>

tools.sun4

share license

license scripts<license file>aliases.localclientskeymapprerequisites

binetcframedoc/helpsamplescdsuserlocal

dfII

cds_rootopenbooklicense daemons

bin

tools

symboliclink

other productsdoc

9/16/94 Cadence Design Systems, Inc. F-8

Software Hierarchy■ All Cadence products are installed under a single hierarchy.

■ All products use the same licensing scheme.

■ Required files

— <install_dir>/tools/bin/cds_root - returns installation directory.Used by all products to help the product find the license directory.

— License daemons are in <install_dir>/tools/bin

■ The products are in <install_dir>/tools.<platform_architecture>/product.

■ As part of the software installation, you create the symbolic link <install_dir>/tools topoint to <install_dir>/tools.<platform_architecture>.

■ OpenBook

— startup script is <install_dir>/tools/bin/openbook

— The documentation and other setup files are in <install_dir>/share/doc

Page 311: Layout Editor Training Manual (Ver 猀椀漀渀 㐀⸀㌀⸀㈀⤀ഀ ‥Ȁ ‥Ȁ

Using the Design Framework II Environment F-9

Lab Overview

Lab F-1. Using OpenBook

9/16/94 Cadence Design Systems, Inc. F-10

Lab Overview


Recommended