1070
Cadence ® Design Framework II SKILL Functions Reference Product Version 6.3 July 2004

Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

  • Upload
    lynga

  • View
    571

  • Download
    18

Embed Size (px)

Citation preview

Page 1: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence® Design Framework II SKILLFunctions Reference

Product Version 6.3July 2004

Page 2: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

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

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

Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained inthis document are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’strademarks, contact the corporate legal department at the address shown above or call 1-800-862-4522.

All other trademarks are the property of their respective holders.

Restricted Print Permission: This publication is protected by copyright and any unauthorized use of thispublication may violate copyright, trademark, and other laws. Except as specified in this permissionstatement, this publication may not be copied, reproduced, modified, published, uploaded, posted,transmitted, or distributed in any way, without prior written permission from Cadence. This statement grantsyou permission to print one (1) hard copy of this publication subject to the following conditions:

1. The publication may be used solely for personal, informational, and noncommercial purposes;2. The publication may not be modified in any way;3. Any copy of the publication or portion thereof must include all original copyright, trademark, and other

proprietary notices and this permission statement; and4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be

discontinued immediately upon written notice from Cadence.

Disclaimer: Information in this publication is subject to change without notice and does not represent acommitment on the part of Cadence. The information contained herein is the proprietary and confidentialinformation of Cadence or its licensors, and is supplied subject to, and may be used only by Cadence’scustomer in accordance with, a written agreement between Cadence and its customer. Except as may beexplicitly set forth in such agreement, Cadence does not make, and expressly disclaims, anyrepresentations or warranties as to the completeness, accuracy or usefulness of the information containedin this document. Cadence does not warrant that use of such information will not infringe any third partyrights, nor does Cadence assume any liability for damages or costs of any kind that may result from use ofsuch information.

Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forthin FAR52.227-14 and DFAR252.227-7013 et seq. or its successor.

Page 3: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Typographic and Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Single Characters Used with Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Orientation Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

1Graphics Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Design Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36geChangeCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37geChangeEditMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38geDiscardEdits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39geNewWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40geReturn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41geReturnToLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42geSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43geSaveAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Automatic Menu Enabling SKILL Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46geGetDisabledMenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48geGetEnablePredicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50geGetWindowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51geSetEnablePredicate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52geSetWindowStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53geUpdateWindowMenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Edit/Display Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55geCopySelSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56geDeleteSelSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58geEditSelSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59geEditSingleObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60geEditToWindowPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61geEquivWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

July 2004 3 Product Version 6.3

Page 4: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

geEquivWindowSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64geFindPathToCellViewInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65geGetCellViewWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66geGetEditCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67geGetEditRep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68geGetHierMemInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69geGetInstHier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70geGetInstHierPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71geGetObjectSelectedSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72geGetTopLevelCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73geGetWindowBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74geGetWindowCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75geGetWindowRep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76geWindowToEditPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Refresh Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79geRefresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79geRefreshCellViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80geRefreshWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81geRefreshWorldView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

View Level Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83geDeleteAllAreaViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83geDeleteAllInstViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84geDeleteAreaViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85geDeleteInstViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86geGetAllAreaViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87geGetAllInstViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88geGetAreaViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89geGetInstViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90geSetAreaViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91geSetInstViewLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Viewport Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94geRestoreWinView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94geSaveWinView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Procedural Level Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96geEditInPlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96gePush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

July 2004 4 Product Version 6.3

Page 5: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

geSwitch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Window Scrolling Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

geCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102geGetScrollPercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103geScroll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104geSetScrollPercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105geShift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106geZoomToGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Selection Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Selected Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Point Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Single Mode Point Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Area Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110SKILL-Level Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112geAddSelectBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113geAddSelectPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114geCycleSelectNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115geDeselectAll . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116geDeselectAllFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117geDeselectAllObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118geDeselectArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119geDeselectFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120geDeselectFigNoFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121geDeselectFigPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122geDeselectObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123geDeselectObjectNoFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124geDeselectObjectPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125geDeselectPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126geGetSelSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127geGetSelectedSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128geGetSelSetCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129geGetSelSetFigPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130geHiDragFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131geIsFigAllSelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134geIsFigPartiallySelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

July 2004 5 Product Version 6.3

Page 6: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

geIsFigSelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136geIsObjectAllSelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137geIsObjectPartiallySelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138geIsObjectSelected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139gePointQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140gePointToFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141geSelectAllFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142geSelectArea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143geSelectFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144geSelectFigNoFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145geSelectFigPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146geSelectObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147geSelectObjectNoFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148geSelectPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149geSetEnterFunctionSelectionMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151geSingleSelectBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152geSingleSelectPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153geSubSelectBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154geSubSelectPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155geToggleFilterSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156geTogglePartialSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Highlight Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158geAddHilightArc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159geAddHilightCircle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160geAddHilightDonut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161geAddHilightDot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162geAddHilightEllipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163geAddHilightFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164geAddHilightLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165geAddHilightLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167geAddHilightPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168geAddHilightPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169geAddHilightRectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170geCreateHilightSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171geDeleteHilightObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172geDeleteHilightSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

July 2004 6 Product Version 6.3

Page 7: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

geDrawHilightSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174geGetCurrentHilightSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175geGetFigHilightObjectId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176geIsValidHilightObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177geIsValidHilightSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178gePopHilightStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179gePushHilightStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Marker Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181geCreateMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181geCreateMarkerByBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183geCreateMarkerByPoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185geDeleteAllMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187geGetMarkerDisplayText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188geGetMarkerOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189geGetMarkerReason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190geGetMarkerType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191geHasMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192geHiCommonFindMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193geHiDeleteAllMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194geHiDeleteMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195geHiExplainMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196geHiFindMarker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197geIsMarkerShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

Probing Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199Probe Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

SKILL Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206geAddInstProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208geGetAdjustedPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210geAddNetProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212geAddPathProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214geAddTermProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216geDeleteAllProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218geDeleteInstProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219geDeleteNetProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220geDeletePathProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221geDeleteProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

July 2004 7 Product Version 6.3

Page 8: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

geDeleteTermProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223geExplainProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224geGetAllProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225geGetCrossProbeValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226geGetProbeNetStopLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227geGetProbeUserLPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228Probe File Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229geLoadNextProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231geLoadProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233geMakeProbeWithColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235geMakeProbeWithLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238geMakeProbeWithOnColor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241gePrintAllProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243geProbeP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244geRegCrossProbeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245geSaveProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246geSetCrossProbeValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247geSetProbeNetStopLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248geSetProbeUserLPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249geiLoadProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250geiSaveProbe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

Icon Creation and Loading Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252geCellViewToDlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252geLoadIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253geSaveIcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255geUnRegCrossProbeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

Utility Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257geClosePolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257geCompressPointArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258geCoordp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259geGetInstTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260geInstIdToFileSpec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261geIsPathReentrant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263geIsPolygonReentrant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265geOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266geQuerySelSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

July 2004 8 Product Version 6.3

Page 9: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

geResetCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269geTransformUserBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270geTransformUserPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271geValidateWindow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272geWriteCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

Microwave Object Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274geCreateBend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274geCreateTaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276geCreateTrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278

Mouse Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280mouseAddPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281mouseAddSelectPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282mouseFinishPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283mousePopUp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284mouseSingleSelectPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285mouseSubSelectPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286mouseUndoPt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

2Database Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Data Stored as Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290Database Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290dbGetDatabaseType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290Object Identifier (dbObject) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291Object Types and Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291Relationships Among Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293Access Function Argument Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293dbIsId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298dbValidP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299dbobjectp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300

Database Access Functions for Inherited Connections . . . . . . . . . . . . . . . . . . . . . . . . . 301dbCreateSigNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302dbCreateTermNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303dbCVHasInheritedSig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304dbCVHasInheritedTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

July 2004 9 Product Version 6.3

Page 10: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbCVHasNetSetProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306dbDeleteSigNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307dbFix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308dbDeleteTermNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309dbGetCellViewInheritedSig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310dbGetCellViewInheritedTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311dbGetSigNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312dbGetTermNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313dbIsValidSigNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314dbIsValidTermNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315dbIsSigInherited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316dbIsTermInherited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317dbParseSigNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318dbParseTermNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319dbReplaceSigNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320dbReplaceTermNetExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321Net and Terminal Name Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322Instance Name Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324

Cellview Input/Output Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325dbAllCellViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326dbCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327dbCheckRecursion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328dbClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329dbComputeBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330dbComputeBBoxNoNLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331dbCompactCellView - CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332dbCopyCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334dbCreateLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336dbDefineProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337dbFindOpenCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338dbFlattenInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339dbFullPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341dbGetAnyInstSwitchMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342dbGetCellViewDdId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344dbGetOpenCellViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345dbOpenAutoSavedCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

July 2004 10 Product Version 6.3

Page 11: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbOpenCellViewByType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348dbOpenHier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351dbOpenPanicCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352dbProduceMemName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354dbPurge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355dbReopen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356dbRegPostSaveTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358dbRegPurgeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359dbRefreshCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360dbSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361dbSearchCDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363dbSetAutoSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364dbUndefineProc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366dbUnregPostSaveTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367dbUnregPurgeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368dbWriteSkill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369dbWriteSkillWithLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373

Shape Creation and Retrieval Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375dbCreateLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376dbCreatePath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377dbCreatePolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378dbCreateRect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379dbCreateEllipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380dbCreateArc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381dbCreateDonut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382dbCreateDot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383dbCreateLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384dbCreateTextDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386dbGetAssociateTextDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

Shape Conversion Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390dbConvertArcToLine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391dbConvertDonutToPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392dbConvertEllipseToPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393dbConvertPathToPolygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394dbConvertLineToPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395dbCompressPointArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

July 2004 11 Product Version 6.3

Page 12: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

Instance Creation and Retrieval Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397dbCreateInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398dbCreateParamInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400dbDumpPcDefinePcell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402dbFindAnyInstByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403dbFindMemInstByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404dbGetInstByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406dbGetInstanceByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407dbGetInstNameNumInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408dbIsAnyInstBaseNameUsed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409dbCreateInstByMasterName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410dbCreateParamInstByMasterName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412dbDumpPcell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414dbDumpPcellWithLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415dbCreateViaShapeArray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416dbSetInstHeaderMasterName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418dbIsSameMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419dbIsObjectBound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

Mosaic Creation and Retrieval Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421dbCreateSimpleMosaic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422dbCreateSimpleMosaicByMasterName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424dbFindMosaicByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

Figure Creation and Retrieval Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427dbCopyFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428dbMoveFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429dbGetOverlaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430dbGetTrueOverlaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433dbGetNeighbor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436dbGetNeighborList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438dbGetMaxHierDepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440dbProduceOverlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441dbProduceOverlapInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443

Property Creation and Modification Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444dbCreateProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445dbCreateRangeProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446dbCreateEnumProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448

July 2004 12 Product Version 6.3

Page 13: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbCreateHierProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449dbFindProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450dbGetPropByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451dbReplaceProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452dbReplaceRangeProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453dbReplaceEnumProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455dbReplaceHierProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456dbCopyProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457dbDeletePropByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458dbCopySingleProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459dbMergeSingleProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460dbReplacePropList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461dbSearchPropByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

Group Creation and Modification Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463dbAddObjectToGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464dbChangeGroupType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465dbCreateGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466dbDeleteGroupByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467dbDeleteObjectFromGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468dbMoveGroupMember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469dbDeleteGroupMemberFromGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470

Connectivity Creation and Modification Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471dbCreateNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472dbMakeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474dbMergeNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475dbCreateUniqueNamedNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476dbSetNetNameDescend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478dbIsNetNameDescend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479dbDeleteAllNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480dbCreateTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481dbCreateInstTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482dbCreatePin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484dbCreateInstPin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485dbCreateInstPinByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486dbCreateConn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487dbCreateConnByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488

July 2004 13 Product Version 6.3

Page 14: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbCreateConnByNewName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489dbSubFigFromNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490dbAddFigToNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491dbConnectObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492dbDisconnectObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493dbIsObjectConnected . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494dbObjectHasConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495

Object Deletion Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496dbDeleteObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497

Shape Transformation Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498dbTransformPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499dbTransformBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500dbConcatTransform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501

Bounding Box Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502lowerLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503upperRight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504leftEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505rightEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506bottomEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507topEdge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508centerBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509isLocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510isBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511

Connectivity Access Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512dbFindNetByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513dbFindTermByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514dbFindSigByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515dbFindSigByAlias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516dbGetMemNetSig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517dbGetMemNetSigName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518dbGetNetTerms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519dbGetSigNameMemNets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520dbIsSigNameGlobal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521dbGetMemName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522dbExpandToMemNameExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523dbGetMaxNumBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524

July 2004 14 Product Version 6.3

Page 15: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbGetNameNumBit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525Pin Connection Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526

External, Strong, and Weak Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Strong Pin Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526Must Connections Pin Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527Pin Connections Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528dbCreateStrongGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529dbExternallyConnectPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531dbGetPinConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533dbGetStrongGroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535dbHasExternalConnections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536dbHasMustConnections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537dbMergeStrongGroups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538dbMustConnectPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539dbStronglyConnectPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540dbWeaklyConnectPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541

Attribute Retrieval Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542dbGetq, dbGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542Retrieving the List of Attribute Names for a dbObject . . . . . . . . . . . . . . . . . . . . . 544Retrieving the List of Attributes/Values for a dbObjects . . . . . . . . . . . . . . . . . . . . . . 544

Attribute Modification Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545dbSetq, dbSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

Property Bag Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547dbOpenBag - CDBA version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548dbOpenBag - OpenAccess version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549dbReOpenBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550dbGetBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551dbGetBagOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552dbCloseBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553dbDumpBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554dbDumpBagWithLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555dbPurgeBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556dbRefreshBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557dbMakeBagCurrent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558dbSaveBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559dbIsBagReadable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

July 2004 15 Product Version 6.3

Page 16: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbIsBagWritable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561dbGetBagTimeStamp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562dbFindOpenBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563dbGetBagDdId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564dbGetOpenBags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565dbIsBagId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566

Layer Boolean Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567dbLayerAnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568dbLayerAndNot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569dbLayerOr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570dbLayerXor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571dbLayerSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572dbLayerTile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573dbLayerStraddle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574dbLayerNoHoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575dbLayerHoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576dbLayerInside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577dbLayerOutside . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578dbLayerEnclose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579

Hierarchy Database Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580hdbAddConfigToBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581hdbBind . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582hdbCloseConfigsInBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584hdbCreateConfigBag . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585hdbCreatePathVectorStack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586hdbExplainBinding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587hdbExplainSignature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589hdbExplainStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590hdbGetPathStackStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591hdbGetPathStr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592hdbGetPathVectorStackTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593hdbIsAtStopPoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594hdbIsConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595hdbIsOpenConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596hdbPopPathVect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597hdbPushPathVect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598

July 2004 16 Product Version 6.3

Page 17: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

hdbSaveAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599hdbClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600hdbOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601hdbCreatePathVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602hdbDestroyPathVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603hdbGetCellName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604hdbGetLibName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605hdbGetTopCellName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606hdbGetTopLibName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607hdbGetTopViewName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608hdbGetViewName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609hdbPopCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610hdbPushCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611

Parent/Child Database Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612pcdbClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613pcdbGetInstGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614pcdbGetInstMasterGen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615pcdbInstMasterCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616pcdbInstMasterCellFixed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617pcdbInstMasterLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618pcdbInstMasterLibFixed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619pcdbInstMasterView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620pcdbInstMasterViewFixed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621pcdbInstName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622pcdbInstWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623pcdbNextInst . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624pcdbNextInstMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625pcdbOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626pcdbSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627

OpenAccess Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629Miscellaneous OpenAccess functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630dbCreateXformPCell – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630dbDebugStats2 – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631dbEvalParamCell – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 632dbGetBuildInfo – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633dbGetFileDatabaseType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634

July 2004 17 Product Version 6.3

Page 18: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbGetVersion – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635dbHasShortedTerminals – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636dbNetIsSig – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637dbReplaceParam – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638dbSetNIMsgMode – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639dbSetTextDisplayNameValueVisible – OpenAccess only . . . . . . . . . . . . . . . . . . . . . 640dbTransformCellView – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641

Description of Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642Attribute Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642Figure Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644Mosaic Tiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665

3Design Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685

Library Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686Concurrence Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687

Attributes of Data Management Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 688Library Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690

Files in the Library Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690Temporary Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691The cds.lib File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691Location of cds.lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693Library Path Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694

Triggering Function Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695Setting the Trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695Multiple Triggers for the Same Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695Setting Pretriggers and Posttriggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696Trigger Names Allowed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696Adding a PreObjAccess Trigger to ddGetObj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697Adding a PreAutoCheckout Trigger to ddAutoCheckout . . . . . . . . . . . . . . . . . . . . . . 698

Design Management Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699

July 2004 18 Product Version 6.3

Page 19: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

ddAmUsingDM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699ddAutoCheckin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700ddAutoCheckout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702ddAutoCtlGetVars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704ddAutoCtlSetVars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705ddCheckin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707ddCheckout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708ddClearLibUnmanaged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709ddCreateLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710ddDeleteObj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712ddDeleteLocal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714ddDumpLibList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715ddGetForcedLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717ddGetLibList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718ddGetObj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719ddGetObjAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726ddGetObjAccessEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728ddGetObjChildren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729ddGetObjChildrenEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730ddGetObjDMSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731ddGetObjFiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732ddGetObjFilesEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733ddGetObjGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734ddGetObjGroupEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735ddGetObjLastModify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736ddGetObjLastModifyEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737ddGetObjLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738ddGetObjName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739ddGetObjOwner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740ddGetObjOwnerEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741ddGetObjParent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742ddGetObjReadPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743ddGetObjReadPathEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744ddGetObjSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745ddGetObjSizeEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746ddGetObjType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747

July 2004 19 Product Version 6.3

Page 20: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

ddGetObjWritePath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748ddGetObjWritePathEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749ddGetPathDMSys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750ddGetStartup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751ddGetTmpdirWarn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753ddGetTriggerList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754ddGetUpdatedLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755ddIsId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 756ddIsObjLibMarked . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 757ddIsObjReadable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758ddIsObjReadableEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759ddIsObjWritable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760ddIsObjWritableEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761ddIsPathManageable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762ddIsPathManaged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763ddLibHasTmpDir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764ddLockDescribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 765ddLockFree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766ddLockGetStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767ddLockPath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768ddLockSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769ddMapGetDataTypeFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771ddMapGetDataTypeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772ddMapGetFileDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773ddMapGetFileTool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774ddMapGetFileViewType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775ddMapGetToolNameDataType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776ddMapGetToolNameList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777ddMapGetToolNameViewType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778ddMapGetViewTypeFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779ddMapGetViewTypeList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780ddMapIsFileNameKnown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781ddMapIsToolLegal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782ddMapIsToolNameKnown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783ddMarkObjMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784ddNeedCheckout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785

July 2004 20 Product Version 6.3

Page 21: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

ddObjHasNamedObj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786ddObjHasNamedObjEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788ddObjIsInMaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789ddObjIsInTmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790ddProduceObjRelNames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791ddProduceObjRelNamesEx – CDBA only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793ddRegTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795ddReleaseObj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 797ddSetForcedLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 798ddSetLibUnmanaged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799ddSetTmpdirWarn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800ddUnregTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801ddUpdateLibList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802

Design Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804Library Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804Hierarchy Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804Current Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805Synchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805Integrating Your Own Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806Registering the Custom Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807SKILL Procedural Interface Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807Customizing CIW Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807ciwAddTranslatorItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808ciwCreateMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809ciwCreatePulldown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810ciwHiExit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811ciwMenuInit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812ciwMenuInstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813ciwMenuLoadFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814ciwRemoveTranslatorItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815ddsAboutDFII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816ddsBrowserAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817ddsCheckinPreferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819ddsCheckoutPreferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820

July 2004 21 Product Version 6.3

Page 22: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

ddsCheckSessionName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821ddsCloseLibManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822ddsEditProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 823ddsEndSyncWithForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824ddsGetCurrentLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825ddsGetCustomLibSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826ddsGetServiceName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827ddsHiCloseData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828ddsHiCreateLibrary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829ddsHiDefragCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830ddsHiDefragLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831ddsHiMakeReadOnly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832ddsHiOpenCdsLibEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833ddsHiPreferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834ddsHiRefresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835ddsLEWhatsNewAtStartup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836ddsOnLineHelp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837ddsOpenConvertToolBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838ddsOpenLibManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839ddsProgramName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840ddsRegCustomLibSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841ddsServSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843ddsSyncWithForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844ddsUnregCustomLibSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847ddsUpdateSyncWithForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848ddsViewDDProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849ddsWhatsNew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850xcamCameraPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851xcamCameraRas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852

Custom Library Browser Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853dmb Compatibility Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861

dmbGetCurrentLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 862dmbLibBrowserFormDone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863dmbOpenLibBrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 864dmbSetBrowserInteractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865dmbSyncWithForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867

July 2004 22 Product Version 6.3

Page 23: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dmbSyncWithCellForm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 870dmbUpdateBrowser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873

Cell Category Functions (ddCat Interface) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875ddCatOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 876ddCatOpenEx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878ddCatAddItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880ddCatSubItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881ddCatSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882ddCatRemove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 883ddCatClose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884ddCatGetCatName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885ddCatGetCatMembers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886ddCatGetLibCats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 887ddCatFindCat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888ddCatGetCellsNotInCat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889ddCatIsObjInCat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 890

Old Cell Category Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891dmAddCellToCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892dmCreateCellCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893dmRemoveCellCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894dmRemoveCellFromCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895

Design Editor SKILL Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896Registering and Unregistering Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896deRegApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897deUnRegApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 901deRegUserTriggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902deUnRegUserTriggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904deInheritEnabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905deUnInheritEnabling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 906deInheritMenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907deUnInheritMenus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 908deRegProbeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909deUnRegProbeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910deGetProbeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 911deGetAppInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 912

Client Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915

July 2004 23 Product Version 6.3

Page 24: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

deOpen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915deNew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920deNewCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 923deOpenCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925dePush . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 927deSwap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 929deEditInPlace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 931deReturn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 933deCopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934Trigger Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935dataTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 937appTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 939userAppTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943enableTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944menuTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945userMenuTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946postInstallTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947userPostInstallTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948probeTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949

Design Editor Support Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951deGetCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 952deGetEditCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953deSetCellView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954deGetViewType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955deGetEditViewType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 956deGetRootType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957deGetEditRootType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958deGetContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 959deGetEditContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 960deIsEditInContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 961deSetContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 962deGetMaxInContextLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963deGetConfigId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964deSetConfigId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965deGetVector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 966deGetEIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967

July 2004 24 Product Version 6.3

Page 25: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

deGetPushed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968deGetProbeContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969deSetProbeContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 970deGetEditLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971deGetMaxEditLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 972deEnableApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 973deDisableApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974deInstallApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975deGetAllViewTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976deGetAllRootTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977deViewTypeIsRegistered . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978

Extended Design Editor Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 979

4OpenAccess Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985

Blockage Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 986dbCreateBlockage – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987

Boundary Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 989dbCreateClusterBoundary – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990dbCreatePRBoundary – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 991dbCreateSnapBoundary – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 992dbFindClusterBoundaryByName – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . 993dbSetBoundaryEdge – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 994

Cluster Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 995dbCreateCluster – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996dbFindClusterByName – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997

Marker Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998dbCreateMarker – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999dbAddObjectsToMarker – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1001dbRemoveObjectsFromMarker – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . 1002

Route Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1003dbDisassembleRoute – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005

Route Specification Header Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1007dbFindRouteSpecHeaderByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008

Row Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009

July 2004 25 Product Version 6.3

Page 26: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

dbCreateRow – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010dbFindRowByName – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011

Row Header Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012dbFindRowHeader – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1013

Track Pattern Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014dbCreateTrackPattern – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015

Via Header Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1016dbFindViaHeaderByName – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017

Cellview Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1018dbGetCellViewSiteDef - OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019dbGetCellViewSiteDefName - OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . 1020dbSetCellViewSiteDefName - OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . 1021dbIsCellViewStdViaMaster - OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022

Counter Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023dbDisableCellViewCounter - OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . 1023dbEnableCellViewCounter – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . 1024dbGetCellViewCounter – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025dbGetFileTimeStamp – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026dbIsConnCurrent – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1027dbSetConnCurrent – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1028dbSetInstHeadersCounter – OpenAccess only . . . . . . . . . . . . . . . . . . . . . . . . . . . 1029

Access and Modification of Object Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1030Accessing Blockage Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1031Accessing Boundary Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033Accessing Cluster Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035Accessing Marker Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037Accessing Route Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041Accessing Route Specification Header Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1047Accessing Row Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048Accessing Row Header Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1050Accessing Steiner Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1051Accessing Track Pattern Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1053Accessing Via Header Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055Accessing Cellview Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1059Accessing Net Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061Accessing Shape Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062

July 2004 26 Product Version 6.3

Page 27: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

Accessing Pin Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1063Accessing Instance Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064Accessing Terminal Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065Accessing Instance Terminal Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066Accessing Connecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067Accessing Cluster Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1068Accessing Objects Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069

July 2004 27 Product Version 6.3

Page 28: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

July 2004 28 Product Version 6.3

Page 29: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

Preface

The Cadence Design Framework II SKILL Functions Reference manual providesdetailed information about the SKILL functions that interface to Design Framework IIapplications.

Details about each function include its syntax, argument descriptions, values returned, andexamples.

The preface discusses the following:

■ Related Documents on page 29

■ Typographic and Syntax Conventions on page 30

■ Single Characters Used with Data Types on page 31

■ Orientation Abbreviations on page 33

Related Documents

Given below is a list of related manuals.

■ Product Installation is documented in the following manual:

❑ The Cadence Installation Guide tells you how to install the product.

■ Other Sources of Information:

❑ The Cadence Design Framework II User Guide gives reference informationabout the Design Framework II graphic user interface of menus, commands, andforms. Design Framework II Help gives procedures for working in the DesignFramework II environment.

❑ The Inherited Connections Flow Guide describes how to use inheritedconnections and net expressions with various Cadence® tools in the design flow.

❑ The Virtuoso Schematic Composer User Guide describes connectivity andnaming conventions for inherited connections and how to add and edit netexpressions in a schematic or symbol cellview.

■ The SKILL programming language is documented in the following manuals:

July 2004 29 Product Version 6.3

Page 30: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferencePreface

❑ SKILL Language User Guide

❑ SKILL Language Reference Manual

❑ SKILL Development Functions Reference

❑ SKILL Development Help

■ SKILL access to other applications is provided in the following manuals:

❑ Technology File and Display Resource File SKILL Reference Manual

❑ Component Description Format User Guide

❑ Custom Layout SKILL Functions Reference

❑ Virtuoso Schematic Composer SKILL Functions Reference

❑ Cadence User Interface SKILL Functions Reference

❑ Cadence Abstract Generator SKILL Command Reference

❑ Virtuoso Preview SKILL Functions Reference

❑ Cadence Analog Design Environment SKILL Language Reference

❑ Interprocess Communication SKILL Functions Reference

Typographic and Syntax Conventions

This list describes the syntax conventions used for SKILL Functions.

literal Nonitalic words indicate keywords that you must enter literally.These keywords represent command (function, routine) oroption names.

z_argument Words in italics indicate user-defined arguments for which youmust substitute a name or a value. The characters before theunderscore (_) in the word indicate the data types that thisargument can take. Note that names are case sensitive. Do nottype the underscore (z_) before your arguments.

| Vertical bars separate possible choices for a single argument.They take precedence over any other character.

July 2004 30 Product Version 6.3

Page 31: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferencePreface

[ ] Brackets denote optional arguments. When used with verticalbars, they enclose a list of choices from which you can chooseone.

{ } Braces are used with vertical bars and enclose a list of choicesfrom which you must choose one.

... Three dots (...) indicate that you can repeat the previousargument. If they are used with brackets, you can specify zero ormore arguments. If they are used without brackets, you need tospecify at least one argument, but you can specify more.

argument...specify at least one, but more are possible

[argument]... you can specify zero or more

,... A comma and three dots together indicate that if you specifymore than one argument, you must separate those arguments bycommas.

=> A right arrow precedes the possible values that can be returnedby a SKILL function. This character is created with a specialsymbol font in the publishing tool. It is represented in ASCII withan equal sign and greater than sign (=>).

/ A slash separates the possible values that can be returned by aSKILL function.

Important

Any characters not included in the list above are required by the language and mustbe entered literally.

Single Characters Used with Data Types

SKILL supports several data types, including integer and floating-point numbers, characterstrings, arrays, and a highly flexible linked list structure for representing aggregates of data.

For symbolic computation, SKILL has data types for dealing with symbols and functions thatrepresent the type of value you can assign to the field.

July 2004 31 Product Version 6.3

Page 32: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferencePreface

Note: To view this list online, in the Command Interpreter Window (CIW), type the SKILLfunction _iliShowTypeChars.

Prefix Internal Name Data Type

a array array

b ddUserType Boolean

C opfcontext OPF context

d dbobject Cadence database object (CDBA)

e envobj environment

f flonum floating-point number

F opffile OPF file ID

g general any data type

G gdmSpecIlUserType gdm spec

h hdbobject hierarchical database configuration object

l list linked list

m nmpIlUserType nmpIl user type

M cdsEvalObject —

n number integer or floating-point number

o userType user-defined type (other)

p port I/O port

q gdmspecListIlUserType gdm spec list

r defstruct defstruct

R rodObj ROD object

s symbol symbol

S stringSymbol symbol or character string

t string character string (text)

u function function object, either the name of a function (symbol) ora lambda function body (list)

U funobj function object

v hdbpath —

July 2004 32 Product Version 6.3

Page 33: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferencePreface

Orientation Abbreviations

w wtype window type

x integer integer number

y binary binary function

& pointer pointer type

Abbreviation Description

R0 no orientation

R90 rotates 90 degrees

R180 rotates 180 degrees

R270 rotates 270 degrees

MX mirrors about the X axis

MXR90 mirrors about the X axis 90 degrees

MY mirrors about the Y axis

MYR90 mirrors about the Y axis 90 degrees

Prefix Internal Name Data Type

July 2004 33 Product Version 6.3

Page 34: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferencePreface

July 2004 34 Product Version 6.3

Page 35: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

1Graphics Editor

This chapter describes the SKILL interface of the Graphics Editor. The Graphics Editorprovides user-level functions for editing, edit-in-place, transformations, selecting,environment, and so forth. This approach ensures that all basic editing functions are done inan identical manner across all applications. Application functions created from this commoncore also behave similarly across the product line.

This chapter contains the following sections:

■ Design Functions on page 36

■ Automatic Menu Enabling SKILL Functions on page 46

■ Edit/Display Functions on page 55

■ Refresh Functions on page 79

■ View Level Functions on page 83

■ Viewport Functions on page 94

■ Procedural Level Functions on page 96

■ Window Scrolling Functions on page 102

■ Selection Functions on page 108

■ Highlight Functions on page 158

■ Marker Functions on page 181

■ Probing Functions on page 199

■ Probe File Format on page 229

■ Icon Creation and Loading Functions on page 252

■ Utility Functions on page 257

■ Microwave Object Functions on page 274

July 2004 35 Product Version 6.3

Page 36: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

■ Mouse Functions on page 280

Design Functions

A design can be opened for reading or editing. To open a design, you select Open from theFile menu in the command interpreter window (CIW). A form is displayed for you to specifythe library, cell, and view name of the design and the access mode, which can be edit orread.

■ Edit mode excludes other users from editing the same file, although they can still viewthe old copy saved to disk.

■ Read mode allows users to share design files.

Whether a design is opened in edit or read mode, all designs under the hierarchy of thatdesign are opened in read mode. The only exception is edit-in-place, where both the topdesign and the design being edited can be modified; the other designs maintain their non-modifiable status.

After a design is opened, you can change the mode from read to edit. If a design has alreadybeen modified, changing the mode from edit to read forces the system to prompt you to saveor discard the changes made. If you choose the discard option, the changes are ignored andthe original design is brought back from the disk. You cannot make a cell editable if you donot have write permission.

The name of the current design and its mode are displayed in the window banner.

July 2004 36 Product Version 6.3

Page 37: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geChangeCellView

geChangeCellView([ w_windowId ][ t_libName ][ t_cellName ][ t_viewName ][ t_accessMode ])=> w_windowId

Description

Opens a design in an existing window.

It is exactly like geOpen; however, if the window is not specified, the current window is used.geChangeCellView does not create a new window. If you have modified the currentdesign in the window, a form is displayed asking you what to do with the design. If the libraryis not in the search path, a form is displayed, prompting you to change the search path.

Arguments

w_windowId Object ID of the window containing the cellview.

t_libName Name of the library for the design.

t_cellName Name of the cell for the design.

t_viewName Name of the view for the design.

t_accessMode Access mode.Valid Values: r (read), a (edit)

Value Returned

w_windowId Returns the database ID of the window passed in.

ExamplegeChangeCellView( win2 "testLib" "testCell" "testView" "a")

Returns win2.

July 2004 37 Product Version 6.3

Page 38: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geChangeEditMode

geChangeEditMode(t_newMode[ w_windowId ])=> t / nil

Description

Sets the mode of a design, allowing you to edit or view the design.

Arguments

t_newMode New access mode.r (read), a (edit).

w_windowId Database ID of window containing the design you want tochange.

Value Returned

t The mode is changed.

nil The mode is not changed.

ExamplegeChangeEditMode( "r" win3 )

Changes the mode in win3 to read.

July 2004 38 Product Version 6.3

Page 39: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDiscardEdits

geDiscardEdits([ w_windowId ])=> t / nil

Description

Discards all edits made to a design.

Arguments

w_windowId Database ID of window whose edits are to be discarded. If notspecified, the current window is used.

Value Returned

t The edits are discarded.

nil The edits are not discarded.

ExamplegeDiscardEdits( win3 )

Discards the edits in win3.

July 2004 39 Product Version 6.3

Page 40: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geNewWindow

geNewWindow([ w_windowId ])=> w_windowId / nil

Description

Makes a copy of a window.

The copy window views the same design and uses the same viewing parameters as thesource window. You can change the pan, zoom, and other parameters of the new windowindependently of the old window.

Arguments

w_windowId Database ID of the source window for the copy. If not specified,the current window is used.

Value Returned

w_window The name of the new window is copied.

nil The name of the new window is not copied.

ExamplegeNewWindow( win3 )

Copies win3 (returns win4 if it is successful).

July 2004 40 Product Version 6.3

Page 41: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geReturn

geReturn([ w_windowId ])=> t / nil

Description

Returns to the previous (parent) level displayed in a window before a descend, edit in place,or switch was done.

Arguments

w_windowId Database ID of the window containing the cellview.

Value Returned

t The display returns to the previous level.

nil The display does not return to the previous level.

ExamplegeReturn( getCurrentWindow( ) )

Returns to the previous level in the current window.

July 2004 41 Product Version 6.3

Page 42: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geReturnToLevel

geReturnToLevel(w_windowId)=> nil

Description

Displays a list box containing the levels to which you can return.

Arguments

w_windowId Database ID of the window containing the design.

Value Returned

nil Always returns nil.

ExamplegeReturnToLevel( getCurrentWindow( ) )

Displays a list box of the levels you can return to in the current window.

July 2004 42 Product Version 6.3

Page 43: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSave

geSave([ w_windowId ])=> t / nil

Description

Saves a design.

Arguments

w_windowId Database ID of the window containing the design to save. If notspecified, the current window is used.

Value Returned

t The cellview is saved.

nil The cellview is not saved.

ExamplegeSave( win2 )

Saves the design in win2.

July 2004 43 Product Version 6.3

Page 44: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSaveAs

geSaveAs([ w_windowId ][ t_libName ][ t_cellName ][ t_viewName ])=> t / nil

Description

Saves a design under another name.

If t_cellName, t_viewName, and t_libName are valid strings, the design is savedunder that name. If any of these arguments is not specified or is not a valid string, a form isdisplayed for you to enter new names or cancel. The form displays the current names asdefaults. If you enter a new name in the form, click on Apply to save the design under thatname. If the filename already exists, you are warned and given a chance to cancel or save toa different name. The window continues to view the design with the old name; you must openthe design with the new filename if you want to see the new copy in a window.

Arguments

w_windowId Database ID of the window containing the design to save. If notspecified, the current window is used.

t_libName Library name into which the cellview is saved.

t_cellName New cell name for the design.

t_viewName New view name for the design.

Value Returned

t The cellview is saved.

nil The cellview is not saved.

ExamplegeSaveAs( win2 "newLibName" "newCellName" "newViewName" )

July 2004 44 Product Version 6.3

Page 45: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Returns t. The data is saved in newLibName with cell name newCellName and viewname newViewName. The design in win2 retains the old name and library.

July 2004 45 Product Version 6.3

Page 46: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Automatic Menu Enabling SKILL Functions

The menu update system is a maintainable, extensible mechanism for specifying when amenu in the Virtuoso Layout Editor is enabled or disabled. Several applications such as thelayout editor itself and Virtuoso® XL Layout Editor can define update policies simultaneously.

For each menu, you can define an enable predicate that specifies when the menu is to beenabled. The enable predicate is an integer (fixnum) whose bits correspond to status bits ina status mask defined by your application. When the Virtuoso tool updates the windowmenus, it Boolean ANDs each menu item’s enable predicates with the corresponding windowstatus. Each window can have more than one window status mask. For example, one layoutwindow might have a status mask for the layout editor, a separate status mask for the XLlayout editor, and a third user status mask. Likewise a menu item can have a separate enablepredicate that corresponds to each window status mask. A menu item is enabled if all thestatus flags specified by all of the menu item’s enable predicates are TRUE. That isdetermined by bitwise ANDing each enable predicate with the corresponding window status.

To define an update policy in your application, you

1. Decide what status flags your application needs.

For example, thelLayout editor defines the following flags:

layoutIsEditable = 2layoutIsModified = 4shapeIsSelected = 8

Note: The status flags must be powers of two so that each corresponds to one bit in thestatus number.

2. Set the enable predicate on one or more menus items. The enable predicate is a bitmask. The bitmask is formed by combining the status flags using the bitwise ORoperator.

For example, the createShapeMenu and the deselectAllMenu enablepredicates are set as follows:

geSetEnablePredicate(createShapeMenu "LayoutApp" layoutIsEditable)

geSetEnablePredicate(deselectAllMenu "LayoutApp" shapeIsSelected)

Note: You must pass the menu object, not the menu’s symbolic name, togeSetEnablePredicate.

3. Use geSetWindowStatus to set the current status whenever your application’sstatus changes. The Virtuoso tool enables or disables your menus according to thepolicy you define.

currentStatus = geGetWindowStatus(windowId "LayoutApp")

July 2004 46 Product Version 6.3

Page 47: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

currentStatus = if(cellview~>modifiedButNotSavedthen currentStatus | layoutIsModifiedelse currentStatus & ~layoutIsModified

)

geSetWindowStatus(windowId "LayoutApp" currentStatus)

July 2004 47 Product Version 6.3

Page 48: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetDisabledMenus

geGetDisabledMenus(w_windowId[ l_menuList ])=> l_disabledMenus

Description

Given a windowId, returns all the disabled submenus for all banner menus on that window.If menuList is specified, only the disabled submenus on those banner menus are returned.

The returned list contains one sublist for each banner menu specified. Each sublist containsthe symbolic names of all the disabled submenus of the banner menu, or nil if thecorresponding banner menu does not contain any disabled submenus. If a slider-menu itemis disabled, the slider-menu’s submenus are omitted from the sublist. Each sublist is sortedalphabetically by symbolic name.

geGetDisabledMenus is useful for testing a menu disabling policy such as thatimplemented by geUpdateWindowMenus.

Arguments

w_windowId The ID of the window containing the menus you want.

l_menuList A list of the symbolic names of banner menus or the symbolicname of one banner menu. If specified, only the disabledsubmenus of the menus in l_menuList are returned.

Value Returned

l_disabledMenus A list that contains one sublist for each banner menu specified.Each sublist contains the symbolic names of all the disabledsubmenus of one banner menu. Each sublist is sortedalphabetically. If a banner menu does not have any disabledsubmenus, the corresponding sublist is nil.

ExamplewindowId = window(2)=> window:2deGetRootType(windowId)

July 2004 48 Product Version 6.3

Page 49: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

=> "maskLayout"geGetDisabledMenus(windowId)=> (nil

(leDesignDescendItem leDesignEditInPlaceItem leDesignResetItem leDesignReturnItem leDesignReturnToLevelItem leDesignSaveItem)nil(leCreateConicsItem leCreateContactItem leCreateInstItem leCreateLabelItem leCreatePathItem leCreatePinItem leCreatePolygonItem leCreateRectItem leCreateSymDevItem)(leEditAttachItem leEditChopItem leEditConnectivityItem leEditConvertToPolygonItem leEditDeleteItem leEditDeselectAllItem leEditFlattenItem leEditMakeCellItem leEditMergeItem leEditReshapeItem leEditRotateFigItem leEditSizeItem leEditSplitItem leEditStretchItem leModifyCornerItem)(leVerifyDRCItem leVerifyExtractItem)(leMiscLayerGenItem leMiscMoveOriginItem leMiscYankPasteItem)

)

Note:

■ The sublists correspond to the banner menus in the Virtuoso tool.

■ Some sublists are nil.

■ Sublists are sorted alphabetically .

■ The Create – Conics menu containing Circle, Ellipse, and Donut is not included in theCreate banner menu sublist because its parent menu, leCreateConicsItem, isdisabled.

July 2004 49 Product Version 6.3

Page 50: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetEnablePredicate

geGetEnablePredicate(r_menut_appName)=> n_enablePredicate

Description

Returns the enable predicate of the menu for the application named appName or nil ifundefined.

Arguments

r_menu The array, not the symbolic name, of a menu that is returned byhiCreateMenuItem or hiCreateSliderMenuItem.

t_appName The text or symbolic name used to uniquely identify yourapplication’s menu update system.

Value Returned

n_enablePredicate The enable predicate of the menu for the application appName.

nil Undefined

ExampleleCreateConicsItem=> array[8]:108643592geGetEnablePredicate(leCreateConicsItem ’default)=> 2

July 2004 50 Product Version 6.3

Page 51: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetWindowStatus

geGetWindowStatus(w_windowIdt_appName)=> n_status

Description

Returns the status for the application named appName on the window windowId.

Arguments

w_windowId The ID of the window whose status you want.

t_appName The text or symbolic name used to uniquely identify yourapplication’s menu update system.

Value Returned

n_status The status for application named appName on windowwindowId.

nil The status for appName is undefined.

ExamplewindowId = window(2)=> window:2geGetWindowStatus(windowId ’default)=> 66geGetWindowStatus(windowId "UndefinedApplication")=> nil

July 2004 51 Product Version 6.3

Page 52: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetEnablePredicate

geSetEnablePredicate(r_menut_appNamen_enablePredicate)=>

Description

Sets the enable predicate of the r_menu for t_appName to n_enablePredicate.

The enable predicate is a bit mask that specifies when menu should be enabled. Each bit inn_enablePredicate corresponds to an application-defined status, for example “windowis editable” or “can create instances.”

Each application can set its own enable predicate, which means menu can have multipleenable predicates. For menu to be enabled, all the status bits for all enable predicates mustbe TRUE. When geUpdateWindowMenus is called, the enable predicates of menu arecompared, logically ANDed, with the corresponding window status for appName. When allthe status bits specified in the enable predicates for all applications are TRUE, menu isenabled. Otherwise, menu is disabled.

Arguments

r_menu The menu whose enable predicate you want to set. This is anarray name, not the symbolic name, of a menu that is returnedby hiCreateMenuItem or hiCreateSliderMenuItem.

t_appName The text or symbolic name of the application for which this enablepredicate is set.

n_enablePredicate An integer bit mask that specifies when menu needs to beenabled in t_appName.

ExampleleCreateConicsItem=> array[8]:108643592geSetEnablePredicate(leCreateConicsItem ’default lecLayoutIsEditable)=> 2

July 2004 52 Product Version 6.3

Page 53: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetWindowStatus

geSetWindowStatus(w_windowIdt_appNamen_status)=> n_previousStatus

Description

Sets the status for w_windowId and t_appName to n_status.

n_status is a bit field that indicates the current status of the window. Each bit correspondsto a status such as “window is editable” or “can create instances.” Each application can defineits own status field. When geUpdateWindowMenus is called, the enable predicate of eachmenu is compared with the corresponding status. If all the enable predicates on a menu areTRUE, the menu is enabled. Otherwise, the menu is disabled.

Arguments

w_windowId The ID of the window whose status you want to set.

t_appName The text or symbolic name of the application whose status youwant to set.

n_status A fixed number that specifies the current state of t_appName inw_windowId.

Value Returned

n_previousStatus Previous status for appName on w_windowId or ~0 if theprevious status was undefined.

ExamplewindowId = window(2)=> window:2

geSetWindowStatus(windowId ’default 64)=> 66

Note: The menus are not updated until geUpdateWindowMenus is called.geUpdateWindowMenus is automatically called by the layout editor.

July 2004 53 Product Version 6.3

Page 54: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geUpdateWindowMenus

geUpdateWindowMenus(w_windowId)=>

Description

Updates the enabled status of all the menu items in the window’s banner menu hierarchy andall of the window’s fixed menu items.

Whether a menu item is enabled or disabled is determined by comparing that menu item’senable predicates with the corresponding application status in the window. The enablepredicates are matched to the status value according to the appName specified withgeSetEnablePredicate and geSetWindowStatus. The comparison used is

(enablePredicate & status) == enablePredicate

If all of the comparisons are TRUE, the menu item is enabled. Otherwise, the menu item isdisabled.

If a menu item does not have an enable predicate, the menu item’s enabled state is notchanged. The menu is neither enabled or disabled. However, the menu item’s submenus, ifany, are updated.

If a menu item is disabled, the menu item’s submenus are not updated. Otherwise, if the menuitem is enabled, that menu’s submenus are updated.

If an application’s current status is undefined and ~0 is used for the application’s status, allstatus bits are TRUE.

Note: Layout window menus are automatically updated after every HI event. So you do notneed to explicitly call geUpdateWindowMenus to update the menus.

Arguments

w_windowId The ID of the window whose menus you want to update.

Value Returned

Returns a list of all the menu update system applications that changed since the last call togeUpdateWindowMenus.

July 2004 54 Product Version 6.3

Page 55: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Edit/Display Functions

A cellview is a specific view of a particular cell. There are many different ways of viewing acell and manipulating the design. The following functions help you get the cellview you want,determine the instance hierarchy, and assign a cellview to a particular window.

July 2004 55 Product Version 6.3

Page 56: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCopySelSet

geCopySelSet([ w_windowId ][ l_sourcePt ][ l_destPt ])=> t / nil

Description

Procedural interface to copy the selected set.

Arguments

w_windowId Window ID of the window to use. If not specified, the currentwindow is used.

l_sourcePt The starting point for the copy.

l_destPt The destination point for the copy.

Value Returned

t The selected objects are copied.

nil The selected objects are not copied.

ExamplegeCopySelSet(hiGetCurrentWindow()list(456.7 234.5)list(678.9 567.8))

Copies objects in the selected set from the current window to the current window.

Interactive Function

geCopySelSet([ w_windowId ])=> t / nil

July 2004 56 Product Version 6.3

Page 57: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Enter this function with only the window ID argument; the system prompts you for the startingand destination point that encloses the objects to be copied. If w_windowId is not specified,the current window is used.

July 2004 57 Product Version 6.3

Page 58: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteSelSet

geDeleteSelSet([ w_windowId ])=> t / nil

Description

Deletes all selected objects in the specified window. If w_windowId is not specified, thecurrent window is used.

Arguments

w_windowId Window ID of the window to use. If not specified, the currentwindow is used.

Value Returned

t The selected objects are deleted.

nil The selected objects are not deleted.

July 2004 58 Product Version 6.3

Page 59: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geEditSelSet

geEditSelSet([ d_cellViewId ])=> t / nil

Description

Displays and edits the properties of each object in the selected set in a cellview.

Arguments

d_cellViewId Database ID of the cellview containing the selected set. If notspecified, the cellview from the current window is used.

Value Returned

t The selected objects are found.

nil The selected objects are not found.

ExamplegeEditSelSet( geGetEditCellView( ) )

Displays the Property List Editor form for the objects in the selected set in the current cellview.

July 2004 59 Product Version 6.3

Page 60: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geEditSingleObject

geEditSingleObject(d_objectId)=> t / nil

Description

Displays and edits the properties of an object.

Arguments

d_objectId Database ID of the object to edit.

Value Returned

t The object is found.

nil The object is not found.

ExamplefigId = car( geGetSelectedSet( ) )geEditSingleObject( figId )

Displays the Property List Editor form for the object whose database ID is figId, or for thefirst object in the selected set.

July 2004 60 Product Version 6.3

Page 61: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geEditToWindowPoint

geEditToWindowPoint(w_windowIdl_editCellViewPoint)=> l_windowCellViewPoint

Description

Translates coordinate values when you are using edit in place. geWindowToEditPointapplies the top-level cellview’s coordinates to the cellview being edited;geEditToWindowPoint does the reverse.

All SKILL functions apply to the cellview being edited in the current window. When you areediting in place, this cellview is not the same one as the top-level cellview being displayed inthe window. Coordinate values passed to SKILL functions are always expressed with respectto the cellview being displayed, even when you are editing in place. Database accessinquiries, however, always return coordinate values in terms of the coordinate system of thecellview being interrogated, regardless of the context that cellview is used in.

The role of geWindowToEditPoint and geEditToWindowPoint is to translate betweenthe two coordinate systems.

geEditToWindowCoords expects an argument consisting of a coordinate pair list. Itinterprets the coordinates with respect to the coordinate system of the currentl_editCellview and returns the corresponding list, taking all intermediate locations andtransformations into account.

geWindowToEditPoint performs the translation in the opposite direction. Given acoordinate pair list, it interprets the coordinates with respect to the window-cellview andreturns the corresponding list expressed in terms of the edit-cellview’s coordinate system.You can use this function, for example, to determine where an object placed at a givenlocation in the window-cellview is situated in the edit-cellview.

Arguments

w_windowId Database ID of the window containing the cellview being edited.

l_editCellViewPointCoordinate pair expressed in edit-cellview units(geEditToWindowPoint).

July 2004 61 Product Version 6.3

Page 62: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Value Returned

l_windowCellViewPointCoordinate pair expressed in window-cellview units(geEditToWindowPoint).

Example

Assume you are editing in place an instance placed at 12.5:10.25.

geWindowToEditPoint(window(4) 12.5:10.25)

Returns 0:0, because this is the origin of the instance.

geEditToWindowPoint( window(4) 0:0 )

Returns 12.5:10.25

July 2004 62 Product Version 6.3

Page 63: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geEquivWindow

geEquivWindow(w_windowId)=> w_windowEquiv / nil

Description

Returns the ID of a window that has the same edit cellview as the specified window.

If w_windowId is the only window with this edit cellview, w_windowId is returned.

Arguments

w_windowId Database ID of the window whose equivalent you want to find.Defaults to the current window.

Value Returned

w_windowEquiv The window with the same edit cellview as w_windowId if itexists.

nil The window does not exist.

Example

Assume that window(2) and window(3) both are editing the same cellview.

geEquivWindow( window(2) )

Returns window:3.

July 2004 63 Product Version 6.3

Page 64: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geEquivWindowSet

geEquivWindowSet(w_windowId)=> l_windowList

Description

Returns a list of all windows that have the same edit cellview as the specified window.

If w_windowId is the only window with this edit cellview, a list containing onlyw_windowId is returned.

Arguments

w_windowId Database ID of the window whose equivalent you want to find.Defaults to the current window.

Value Returned

l_windowList List of windows with the same edit cellview as w_windowId.

Example

Assume that window(2) and window(3) both are editing the same cellview.

geEquivWindowSet(window(2))

Returns (window:2 window:3).

July 2004 64 Product Version 6.3

Page 65: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geFindPathToCellViewInst

geFindPathToCellViewInst(d_cellViewIdd_masterId)=> l_hierPath / nil

Description

Returns a hierarchical path of one of the references to a particular master in a cellview. Thisfunction returns the closest reference with the fewest levels of hierarchy.

Arguments

d_cellViewId Database ID of the cellview.

d_masterId Database ID of the master.

Value Returned

l_hierPath The path to the master cellview.

nil The cellview is not found.

July 2004 65 Product Version 6.3

Page 66: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetCellViewWindow

geGetCellViewWindow(d_cellViewId)=> w_windowId / nil

Description

Returns the ID of a window in which the specified cellview is displayed.

If the cellview is displayed in more than one window, the first window found is returned.

Arguments

d_cellViewId Database ID of the cellview.

Value Returned

w_windowId The database ID of the window if the cellview is displayed.

nil The cellview in not displayed.

ExamplegeGetCellViewWindow( cell3 )

Returns win3.

July 2004 66 Product Version 6.3

Page 67: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetEditCellView

geGetEditCellView([ w_windowId ])=> d_cellViewId

Description

Returns the ID for the cellview being edited.

This value is normally the same as that returned by geGetWindowCellView. Only when youare editing a cell in place do the two functions return different results. If you know whatwindow you are interested in, a shorthand equivalent to this function may be used:window(n)->editCellView.

Arguments

w_windowId Database ID of the window of the cellview being edited.

Value Returned

d_cellViewId Database ID of the cellview being edited in the window.

ExamplegeGetEditCellView( getCurrentWindow( ) )

Returns db:654321, which is the edited cellview.

July 2004 67 Product Version 6.3

Page 68: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetEditRep

geGetEditRep([ w_windowId ])=> d_cellViewId

Description

An alias for geGetEditCellView. Returns the ID for the cellview being edited.

Arguments

w_windowId Database ID of the window of the cellview being edited.

Value Returned

d_cellViewId Database ID of the cellview being edited in the window.

July 2004 68 Product Version 6.3

Page 69: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetHierMemInst

geGetHierMemInst([ w_windowId ])=> l_list / nil

Description

Returns a list describing the hierarchy of instances that have been descended into or edited-in-place to arrive at the cellview in the window.

The list is in the form

dbInst1 3dbInst2 4

Each element in the list represents the database ID of the instance and iteration number ofthe instance that was descended into or edited-in-place at a higher level of the window. If thecellview currently occupying the window is the top-level cellview—that is, no descends oredits-in-place have been done to arrive at it—then the list returned by geGetHierMemInstis nil.

Arguments

w_windowId Database ID of the window from which the hierarchy informationis wanted.

Value Returned

l_list Instance hierarchy description for this window displayed in a list.The first element in the list is the instance ID. The secondelement in the list is the iteration number of the instance.

nil The current window is empty or if the current window isundefined.

ExamplegeGetHierMemInst( getCurrentWindow( ) )

Returns

db:01234567 0db:45678900 1

July 2004 69 Product Version 6.3

Page 70: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetInstHier

geGetInstHier([ w_windowId ])=> t_instance-hierarchy / nil

Description

Returns a string describing the hierarchy of instances that have been descended into oredited-in-place in the current window to arrive at the cellview in the window.

The string is in the form

/dbinst1/dbinst2/dbinst3/...

Slashes separate the string into components. Each component represents the name of theinstance and possibly the iteration number of the instance that was descended into or edited-in-place at a higher level of the window. If the cellview currently occupying the window is thetop-level cellview, that is, no descends or edits-in-place have been done to arrive at it, thenthe string returned by geGetInstHier is /.

The results of this function can be used in the Hierarchy item in the Open Design form.

Arguments

w_windowId Database ID of the window from which the hierarchy informationis wanted.

Value Returned

t_instance-hierarchyInstance hierarchy description for this window.

nil The current window is empty or the current window is undefined.

ExamplegeGetInstHier( getCurrentWindow( ) )

Returns /db:13240512/db:13405278.

July 2004 70 Product Version 6.3

Page 71: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetInstHierPath

geGetInstHierPath(w_windowId)=> t_instance-hierarchy / nil

Description

Similar to geGetInstHier but returns additional information for mosaic instances.

This function returns a string describing the hierarchy of instances that have been descendedinto or edited-in-place in the current window to arrive at the cellview in the window. The stringcontains the following information for each instance:

(dbinst memInst row column)

where dbinst is the database name of the instance, memInst is the iteration number, rowis the row position, and column is the column position of the instance.

If the cellview currently occupying the window is the top-level cellview, that is, no descends oredits-in-place have been done to arrive at it, then the string returned by geGetInstHier is().

Arguments

w_windowId Database ID of the window for which you want the hierarchyinformation.

Value Returned

t_instance-hierarchyInstance hierarchy description for this window.

nil The current window is empty or undefined.

ExamplegeGetInstHierPath( hiGetCurrentWindow( ) )

Returns ((db:13240512 0 0 0) (db:13402578 1 4 2)).

July 2004 71 Product Version 6.3

Page 72: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetObjectSelectedSet

geGetObjectSelectedSet([ d_cellViewId ])=> list(

list(d_selectedObjectlist(

list(d_instId x_memInst x_row x_column))list(d_instId x_memInst x_row x_column))...

)list(d_selectedObject

list(list(d_instId x_memInst x_row x_column))list(d_instId x_memInst x_row x_column))...

)...

)=> l_selectedSet

Description

Returns a list of lists describing objects selected in the hierarchy of the given cellview. If thecellview is omitted, the current edit cellview of the current window is used. For each object inthe selected set, the path to it consisting of the instance ID, the member instance, the row,and the column is given.

Arguments

d_cellViewId Database ID of the top-level cellview in the window.

Values Returned

l_selectedSet A list of lists describing objects selected in the hierarchy of thegiven cellview.

Example

Select a pin on an instance in a schematic.

geGetObjectSelectedSet()((db:3865864

((db:38370404 0 0 0)) ) )

July 2004 72 Product Version 6.3

Page 73: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetTopLevelCellView

geGetTopLevelCellView([ w_windowId ])=> d_cellViewId / nil

Description

Returns the ID of the top-level cellview displayed in a window.

This function returns nil if the current window is empty or if no current window is defined.Only if you descend in the hierarchy or do an edit in place would the top-level cellview bedifferent from the edit and display cellviews. If you know the window you are interested in, ashorthand equivalent to this function can be used:window(n)->topCellView.

Arguments

w_windowId Database ID of the window in which the cellview is at the toplevel.

Value Returned

d_cellViewId Database ID of top-level cellview in the window.

nil The current window is empty or no current window is defined.

ExamplegeGetTopLevelCellView( hiGetCurrentWindow( ) )

Returns db:664422, which is the top-level cellview.

July 2004 73 Product Version 6.3

Page 74: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetWindowBox

geGetWindowBox(w_windowId)=> l_bBox / nil

Description

Returns the lower left and upper right coordinates of the current window display.

Arguments

w_windowId Database ID of the window.

Value Returned

l_bBox The coordinates are found.

nil The coordinates are not found.

ExamplegeGetWindowBox( window(2) )

Returns (0:0 1200:1000).

July 2004 74 Product Version 6.3

Page 75: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetWindowCellView

geGetWindowCellView([ w_windowId ])=> d_cellViewId / nil

Description

Returns the ID of the cellview displayed in a window.

This function returns nil if the current window is empty or if no current window is defined.The cellview being displayed in the window can be different from the cellview being edited, asreturned by geGetEditCellView, if you are currently editing a cell in place.

You can use the database identifier returned by geGetWindowCellView in subsequentfunction calls to access the properties of the cellview in the current window (as described inchapter two, Database Access. If you know what window you are interested in, a shorthandequivalent to this function can be used: window(n)->displayCellView.

Arguments

w_windowId Database ID of window displaying the cellview whose objectidentifier you want.

Value Returned

d_cellViewId Database ID of the object displayed in the window.

nil The current window is empty or no current window is defined.

ExamplegeGetWindowCellView( hiGetCurrentWindow( ) )

Returns db:123456, which is the displayed cellview.

July 2004 75 Product Version 6.3

Page 76: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetWindowRep

geGetWindowRep([ w_windowId ])=> d_cellViewId / nil

Description

An alias for geGetWindowCellView. Returns the ID of the cellview displayed in a window.

This function returns nil if the current window is empty or if no current window is defined.The cellview being displayed in the window can be different from the cellview being edited, asreturned by geGetEditCellView, if you are currently editing a cell in place.

You can use the database identifier returned by geGetWindowCellView in subsequentfunction calls to access the properties of the cellview in the current window (as described inchapter two, Database Access. If you know what window you are interested in, a shorthandequivalent to this function can be used: window(n)->displayCellView.

Arguments

w_windowId Database ID of window displaying the cellview whose objectidentifier you want.

Value Returned

d_cellViewId Database ID of the object displayed in the window.

nil The current window is empty or if no current window is defined.

July 2004 76 Product Version 6.3

Page 77: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geWindowToEditPoint

geWindowToEditPoint(w_windowIdl_windowCellViewPoint)=> l_editCellViewPoint

Description

Translates coordinate values when you are using edit in place. geWindowToEditPointapplies the top-level cellview’s coordinates to the cellview being edited;geEditToWindowPoint does the reverse.

All SKILL functions apply to the cellview being edited in the current window. When you areediting in place, this cellview is not the same one as the top-level cellview being displayed inthe window. Coordinate values passed to SKILL functions are always expressed with respectto the cellview being displayed, even when you are editing in place. Database accessinquiries, however, always return coordinate values in terms of the coordinate system of thecellview being interrogated, regardless of the context that cellview is used in.

The role of geWindowToEditPoint and geEditToWindowPoint is to translate betweenthe two coordinate systems.

geEditToWindowCoords expects an argument consisting of a coordinate pair list. Itinterprets the coordinates with respect to the coordinate system of the current edit-cellviewand returns the corresponding list, taking all intermediate locations and transformations intoaccount.

geWindowToEditPoint function performs the translation in the opposite direction. Given acoordinate pair list, it interprets the coordinates with respect to the window-cellview andreturns the corresponding list expressed in terms of the edit-cellview’s coordinate system.You can use this function, for example, to determine where an object placed at a givenlocation in the window-cellview is situated in the edit-cellview.

Arguments

w_windowId Database ID of the window containing the cellview being edited.

l_windowCellviewPointCoordinate pair expressed in window-cellview units(geWindowToEditPoint).

July 2004 77 Product Version 6.3

Page 78: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Value Returned

l_editCellViewPointCoordinate pair expressed in edit-cellview units(geWindowToEditPoint).

Example

Assume you are editing in place an instance placed at 12.5:10.25.

geWindowToEditPoint(window(4) 12.5:10.25)

Returns 0:0, because this is the origin of the instance.

geEditToWindowPoint( window(4) 0:0 )

Returns 12.5:10.25.

July 2004 78 Product Version 6.3

Page 79: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Refresh Functions

geRefresh

geRefresh()=> t / nil

Description

Redraws all areas of all windows that have not been updated since the last redraw and needredrawing.

Arguments

None.

Value Returned

t The windows are redrawn.

nil The windows are not redrawn.

ExamplegeRefresh( )

Redraws all areas of all windows that need updating.

July 2004 79 Product Version 6.3

Page 80: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geRefreshCellViews

geRefreshCellViews(d_cvId)=> t / nil

Description

Displays a form that shows all cellviews from the specified cellview that have been modifiedby another process but not reread from disk. You can then select which ones should berefreshed. The top-level cellview is also checked for modification.

Arguments

d_cvId Cellview ID of the cellview to be redrawn.

Value Returned

t Cellview is successfully refreshed.

nil Cellview is not refreshed.

ExamplegeRefreshCellViews( cell1 )

Redraws cell1.

July 2004 80 Product Version 6.3

Page 81: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geRefreshWindow

geRefreshWindow([ w_windowId ][ l_bBox ])=> t / nil

Description

Refreshes a window. If a bounding box is specified, only that area is refreshed.

Arguments

w_windowId Database ID of the window to be refreshed. If not specified, thecurrent window is used.

l_bBox Specifies the area to be refreshed.

Value Returned

t The window is refreshed successfully;

nil The window is not refreshed successfully.

ExamplegeRefreshWindow( win2 )

Redraws win2.

July 2004 81 Product Version 6.3

Page 82: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geRefreshWorldView

geRefreshWorldView(w_windowId)=> t | nil

Description

Refreshes the worldView window.

Arguments

Value Returned

w_windowId The worldView window ID.

t The window is refreshed.

nil The window is not refreshed.

July 2004 82 Product Version 6.3

Page 83: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

View Level Functions

geDeleteAllAreaViewLevel

geDeleteAllAreaViewLevel([ w_windowId ])=> t / nil

Description

Removes all area view levels from a window.

Arguments

w_windowId Database ID of the window where you want to delete area viewlevels. If w_windowId is not specified, the current window isused.

Value Returned

t Area view levels were deleted.

nil No area view levels were deleted.

ExamplegeDeleteAllAreaViewLevel( window(3) )

Deletes all area view levels in window(3).

July 2004 83 Product Version 6.3

Page 84: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteAllInstViewLevel

geDeleteAllInstViewLevel(w_windowId)=> t / nil

Description

Removes all instance-specific view levels from a window.

Arguments

w_windowId Database ID of the window from which you want to remove theinstance view levels.

Value Returned

t View levels are found and deleted.

nil No view levels are found.

ExamplegeDeleteAllInstViewLevel( )

Deletes all the instance view levels in the current window.

July 2004 84 Product Version 6.3

Page 85: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteAreaViewLevel

geDeleteAreaViewLevel([ w_windowId ]l_bBox)=> t / nil

Description

Removes from a window all area view levels located in l_bBox.

Arguments

w_windowId Database ID of the window where you want to delete area viewlevels. If w_windowId is not specified, the current window isused.

l_bBox Bounding box containing the view levels to delete.

Value Returned

t An area view level is deleted.

nil No area view level is deleted.

ExamplegeDeleteAreaViewLevel( window(3) list(0:0 400:400) )

Deletes the area view levels located in the bounding box specified by the coordinates 0:0400:400.

July 2004 85 Product Version 6.3

Page 86: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteInstViewLevel

geDeleteInstViewLevel([ w_windowId ]d_instId)=> t / nil

Description

Removes all instance-specific view levels associated with an instance ID.

Arguments

w_windowId Database ID of the window from which you want the instanceview levels removed. If w_windowId is not specified, thecurrent window is use otherwise, it returned.

d_instId Database ID of the instance that has its view levels removed.

Value Returned

t A view level was found and deleted.

nil A view level was not found and deleted.

ExamplegeDeleteInstViewLevel( instance4 )

Deletes the view levels associated with instance4. The instance is then displayed using thewindow start level and stop level.

July 2004 86 Product Version 6.3

Page 87: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetAllAreaViewLevel

geGetAllAreaViewLevel(w_windowId)=> l_bBoxStartStop / nil

Description

Retrieves all area view levels set for a window. The view levels are returned as a list with thestart level and stop level for the areas.

Arguments

w_windowId Database ID of the window for which you want the view levels.

Value Returned

l_bBoxStartStop A list consisting of the bounding box for the area and the startlevel and stop level.

nil No areas were found.

ExamplegeGetAllAreaViewLevel( window(3) )

Returns a list of the bounding boxes and start levels and stop levels for all area views inwindow(3).

July 2004 87 Product Version 6.3

Page 88: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetAllInstViewLevel

geGetAllInstViewLevel(w_windowId)=> l_instStartStop / nil

Description

Retrieves the start level and stop level assigned within a window. The start level and stop levelare returned as a list of integers. If no start level and stop level are defined, then nil isreturned.

Arguments

w_windowId Database ID of the window where you want the view levels.

Value Returned

l_instStartStop If the instances in w_windowId have view levels associatedwith them, then a list with each instance and the start level andstop level of each instance view level is returned.

nil There are no view levels available.

ExamplegeGetAllInstViewLevel( )

Lists all instances associated with a view level and the start level and stop level for eachinstances in the current window.

July 2004 88 Product Version 6.3

Page 89: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetAreaViewLevel

geGetAreaViewLevel([ w_windowId ]l_bBox)=> l_startStop / nil

Description

Retrieves an area view level overlapping a bounding box. The view level is returned as a listwith the start level and stop level for that area. If more than one area overlaps the given box,the first area found is used.

Arguments

w_windowId Database ID of the window in which you want the view levels foran area. If w_windowId is not specifed, the current window isused.

l_bBox Bounding box in which to check for an area view level.

Value Returned

l_startStop A list consisting of the start level and stop level for the first areaencountered that is located in l_bBox.

nil No area view level was found located in l_bBox.

ExamplegeGetAreaViewLevel( window(3) list(0:0 200:200) )

Returns (0 20), the start level and stop level for the area found in the bounding box 0:0200:200 in window(3).

July 2004 89 Product Version 6.3

Page 90: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetInstViewLevel

geGetInstViewLevel([ w_windowId ]d_instId)=> l_startStop / nil

Description

Retrieves the start level and stop level of an instance. The start level and stop level arereturned as a list of integers. If start level and stop level are not defined for the choseninstance, nil is returned.

Arguments

w_windowId Database ID of the window where you want the view levels ford_instId. If w_windowId is not specified, the currentwindow is used.

d_instId Database ID of the instance for which you want the view levels.

Value Returned

l_startStop If d_instId has view levels associated with it inw_windowId, then a list with the start level and stop level isreturned.

nil d_instId has no view levels associated with it inw_windowId.

ExamplegeGetInstViewLevel( )

Prompts you to point at an instance in the current window. Assuming that the instance hasstart level 0 and stop level 20, it returns (0 20).

July 2004 90 Product Version 6.3

Page 91: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetAreaViewLevel

geSetAreaViewLevel([ w_windowId ]l_bBox[ n_start ][ n_stop ])=> t / nil

Description

Sets display start and stop threshold levels for an area independently of the window levels.

The start level and stop level specified apply only to l_bBox and only in w_windowId. Ifn_start or n_stop is not specified, a form comes up asking you to supply values for thesearguments.

Arguments

w_windowId Database ID of the window in which you want the area viewlevels changed. If w_windowId is not specified, the currentwindow is used.

l_bBox Box that is to have its own view level.

n_start Starting hierarchy level for display in l_bBox. Must be less thanor equal to n_stop.Valid Values: between 0 and 20 inclusive.

n_stop Stopping hierarchy level for display in l_bBox.Valid Values: between 0 and 20 inclusive.

Value Returned

t The start level and stop level are set

nil The start level and stop level are not set.

ExamplegeSetAreaViewLevel( window(3) list(0:0 120:120) 0 10 )

July 2004 91 Product Version 6.3

Page 92: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Sets the display of the area bounded by the coordinates 0:0 and 120:120 to view 10 levels ofhierarchy in window(3).

July 2004 92 Product Version 6.3

Page 93: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetInstViewLevel

geSetInstViewLevel(w_windowIdd_instIdn_startn_stop)=> t / nil

Description

Sets display start and stop threshold levels for an instance independently of the windowlevels.

The start level and stop level specified apply only to d_instId and only in w_windowId.

Arguments

w_windowId Database ID of the window in which you want the area viewlevels changed.

d_instId Database ID of the instance that is to have its own view level.

n_start Starting hierarchy level for display in l_bBox. Must be less thanor equal to n_stop.Valid Values: between 0 and 20 inclusive.

n_stop Stopping hierarchy level for display in l_bBox.Valid Values: between 0 and 20 inclusive.

Value Returned

t The start level and stop level are set

nil The start level and stop level are not set.

ExamplegeSetInstViewLevel( window(3) nil 0 20)

Sets the display of that instance to view all levels of hierarchy in window(3).

July 2004 93 Product Version 6.3

Page 94: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Viewport Functions

geRestoreWinView

geRestoreWinView(w_windowId)=> t / nil

Description

Restores the view saved with geSaveWinView.

Arguments

w_windowId Database ID of the window to restore.

Value Returned

t The window is restored.

nil The window is not restored.

ExamplegeRestoreWinView( newwin )

Restores the window newwin.

July 2004 94 Product Version 6.3

Page 95: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSaveWinView

geSaveWinView([ w_windowId ][ t_name ])=> t / nil

Description

Saves the current view of w_windowId to t_name.

Arguments

w_windowId Database ID of the window containing the view to save. Ifw_windowId is not specified, the current window is used.

t_name Name of the saved window view. If t_name is not specified, aform is displayed where you can enter the name.

Value Returned

t The window view is saved.

nil The window view is not saved.

ExamplegeSaveWinView( win3 "newwin" )

Saves win3 to newwin.

July 2004 95 Product Version 6.3

Page 96: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Procedural Level Functions

geEditInPlace

geEditInPlace(w_windowIdt_accessModed_instIdx_iterationx_rowx_colg_cancel)=> t / nil

Description

Edits an instance in place.

w_windowId must be a valid Graphics Editor window with at least one stack element, andd_instId must be an instance in the edit cellview in w_windowId.

■ If d_instId is an iterated instance, x_iteration is the particular iteration that isedited in place.

■ If d_instId is an arrayed instance, x_row and x_col indicate the particular elementthat is edited in place.

Arguments

w_windowId Database ID of the window in which to do the edit in place.

t_accessMode Access mode used to open the instance master.Valid Values: r (read) or a (append)

d_instId Database ID of the instance to edit in place.

x_iteration Desired iteration of the given instance.Default: 0

x_row Row of the arrayed instance.

x_col Column of the arrayed instance.

July 2004 96 Product Version 6.3

Page 97: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

g_cancel Specifies whether active enterFunctions are canceled beforedoing the operation.

Value Returned

t The instance is edited in place.

nil The instance is not edited in place.

ExamplegeEditInPlace( win3 "a" inst5 1 3 3 nil )

Opens the master of inst5 in win3 in edit mode before editing it in place. It opens iteration1 in row 3, column 3 and does not cancel enterFunctions.

July 2004 97 Product Version 6.3

Page 98: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

gePush

gePush(w_windowIdt_accessModed_instIdx_iterationx_rowx_colg_cancel)=> t / nil

Description

Pushes into an instance.

w_windowId must be a valid Graphics Editor window with at least one stack element, andd_instId must be an instance in the edit cellview in w_windowId.

■ If d_instId is an iterated instance, x_iteration is the particular iteration that ispushed.

■ If d_instId is an arrayed instance, x_row and x_col indicate the particular elementthat is pushed.

Arguments

w_windowId Database ID of the window in which to do the push.

t_accessMode Access mode used to open the instance master.Valid Values: r (read) or a (append)

d_instId Database ID of the instance to push into.

x_iteration Desired iteration of the given instance.Default: 0

x_row Row of the arrayed instance.

x_col Column of the arrayed instance.

g_cancel Specifies whether active enterFunctions are canceled beforedoing the operation.

July 2004 98 Product Version 6.3

Page 99: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Value Returned

t The instance is pushed into.

nil The instance is not puched into.

ExamplegePush( win3 "a" inst5 1 3 3 nil )

Opens the master of inst5 in win3 in edit mode before pushing it on the stack. Opensiteration 1 of the instance in row 3, column 3 without canceling enterFunctions.

July 2004 99 Product Version 6.3

Page 100: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSwitch

geSwitch(w_windowIdt_accessModed_instIdx_iterationx_rowx_colg_cancel)=> t / nil

Description

Switches into an instance.

w_windowId->viewNameList is used as a switch for the instance. w_windowId mustbe a valid Graphics Editor window with at least one stack element, and d_instId must bean instance in the edit cellview in w_windowId.

■ If d_instId is an iterated instance, x_iteration is the particular iteration that isswitched to.

■ If d_instId is an arrayed instance, x_row and x_col indicate the particular elementthat is switched to.

Arguments

w_windowId Database ID of the window in which to do the switch.

t_accessMode Access mode used to open the instance master.Valid Values: r (read) or a (append)

d_instId Database ID of the instance to switch into.

x_iteration Desired iteration of the given instance.Default: 0.0

x_row Row of the arrayed instance.

x_col Column of the arrayed instance.

g_cancel Specifies whether active enterFunctions are canceled beforedoing the operation.

July 2004 100 Product Version 6.3

Page 101: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Value Returned

t The instance is switched into.

nil the instance in not switched into.

ExamplegeSwitch( win3 "a" inst5 2 3 3 nil )

Opens the master of inst5 in win3 in edit mode and switches it to iteration 2 of the instancein row 3, column 3 without canceling enterFunctions.

July 2004 101 Product Version 6.3

Page 102: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Window Scrolling Functions

geCenter

geCenter([ w_windowId ])=> t / nil

Description

Pans the display so that the edit cellview is centered in the window.

Arguments

w_windowId Database ID of the window in which to center the design. Ifw_windowId is not specified or nil, the current window isused.

Value Returned

t The display is panned.

nil The display is not panned.

ExamplegeCenter( window(3) )

Centers the design in window(3).

July 2004 102 Product Version 6.3

Page 103: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetScrollPercent

geGetScrollPercent()=> x_percent

Description

Obtains the percentage used by geScroll when shifting the drawing.

Arguments

None.

Value Returned

x_percent Percentage of the display to scroll.

ExamplegeGetScrollPercent( )

Returns the scroll percentage.

July 2004 103 Product Version 6.3

Page 104: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geScroll

geScroll([ g_windowId ][ t_dir ][ g_zoom ])=> t / nil

Description

Scrolls a view.

This percentage can be set and read using geSetScrollPercent andgeGetScrollPercent.

Arguments

g_windowId Database ID of the window in which to pan the design. If notspecified, the current window is used.

t_dir The map direction of the scroll.Valid Values: n, ne, e, se, s, sw, w, nw.

g_zoom If t, pan all the way to the edge in the given direction. If nil, panby the current scroll percentage. SeegeSetScrollPercent.

Value Returned

t The display is panned.

nil The display is not panned.

ExamplegeScroll( window(3) "ne" t )

Pans the design in window(3) so that the upper right hand corner is visible.

July 2004 104 Product Version 6.3

Page 105: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetScrollPercent

geSetScrollPercent(n_percent)=> n_percent

Description

Controls the percentage of the drawing currently visible that is shifted when geScroll isactivated.

The value can be set between 1 percent and 100 percent.

Arguments

n_percent New percentage of the display to scroll.

Value Returned

n_percent New percentage of the display to scroll.

ExamplegeSetScrollPercent( 25 )

Returns 25 and sets the new percentage to 25 percent.

July 2004 105 Product Version 6.3

Page 106: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geShift

geShift([ w_windowId ][ t_dir ])=> t / nil

Description

Shifts w_windowId in the direction t_dir.

geshift() is a wrapper function written on top of geScroll() in order to facilitate a slightlydifferent use mode. geshift() uses the same mechanism as geScroll(), but gives youaccess to e, w, n, s directions in the form of right, left, up, and down.

Arguments

w_windowId Database ID of the window to be shifted.

t_dir Direction to shift the window.Valid Values: right, left, up, down

Value Returned

t The window shifts.

nil The window does not shift.

ExamplegeShift( win2 "up" )

Shifts the window win2 one screen dimension in the upward direction.

July 2004 106 Product Version 6.3

Page 107: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geZoomToGrid

geZoomToGrid(w_windowId)=> t / nil

Description

Zooms in on a subject up to the last point at which the major grid is still visible.

Arguments

w_windowId Database ID of the window that displays the subject.

Value Returned

t The subject is displayed successfully.

nil The subject is not displayed successfully.

July 2004 107 Product Version 6.3

Page 108: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Selection Functions

With the selection functions you can

■ Point at specific objects to be selected

■ Select all objects within a specified area

■ Select all objects in a specified cellview

You can select objects individually (point selection) or in groups (area selection) and addthem to other selected groups of objects. You can subtract objects from a selected set (submode) or define certain objects to be unselectable (selection filter).

Selected Set

A group of objects selected together, either by point selection or area selection, is a selectedset.

Point Selection

Point selection is the most commonly used method of selection. The modes for point selectionare

■ Single (selects one object at a time)

■ Add (adds one object at a time to the selected set)

■ Sub (subtracts one object at a time from the selected set)

Each of these modes can be used to select entire objects or vertices of objects. All modes ofpoint selection affect only one object at a time. The object selected is the object with the edgeclosest to the point of selection that also passes the selection filter. You can select edges andlines that are off-grid as long as the point of selection is on the closest snap grid location.

Selecting the vertices of objects is referred to as partial selection. For partial selection,

■ Only the closest edge to the selection point is selected

■ If the selection point is a vertex, only the vertex is selected

■ Instances, mosaics, dots, and labels cannot be partially selected

■ Selecting the vertices of this type of object selects the entire object

July 2004 108 Product Version 6.3

Page 109: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Single Mode Point Selection

The single mode of selection is useful when you want to select a specific object. It selects thespecified object (edge or vertex for partial selection) and deselects all previously selectedobjects. All previously selected objects are deselected even if they would not pass theselection filter.

Add Mode Point Selection

The add mode of selection is identical to the single mode, except that currently selectedobjects are not deselected. The add mode is useful when you are trying to select a group ofspecific objects.

Sub Mode Point Selection

The sub mode of selection is identical to the add mode, except that the specified object (edgeor vertex for partial selection) is deselected. The sub mode is useful when you have selecteda group of objects and you want to remove one of them.

Interactive Function

When a selection point (l_point) is specified as an argument in any point selectionfunction, SKILL uses that point to evaluate the function and select the indicated object. If youdo not specify a value for l_point, the function behaves interactively and prompts you toenter a selection point.

Area Selection

Like point selection, area selection supports three modes:

■ Single (selects objects in one area at a time)

■ Add (adds objects in an area to the selected set)

■ Sub (subtracts objects in an area from the selected set)

Area selection is most useful when you want to select multiple objects at the same time. Allobjects that are completely enclosed within the selection area and also pass the selectionfilter are selected. Area selection can also be used to partially select shapes. If partialselection is enabled, all vertices of overlapped shapes are selected.

July 2004 109 Product Version 6.3

Page 110: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Single Mode Area Selection

The single mode of selection is useful when you want to select a specific group of objects. Itselects all completely overlapped objects (plus all overlapped vertices for partial selection)that pass the selection filter, and deselects all previously selected objects. The deselectionoperation deselects all previously selected objects even if they would not pass the selectionfilter.

Add Mode Area Selection

The add mode of selection is identical to the single mode, except that currently selectedobjects remain selected. The add mode is useful when you are trying to select a group ofspecific objects.

Sub Mode Area Selection

The sub mode of selection is identical to the add mode, except that all completely overlappedobjects (plus all overlapped vertices for partial selection) are deselected. The sub mode isuseful when you want to remove specified objects from a selected set.

Interactive Function

When a selection area (l_bBox) is specified as an argument in any area selection function,SKILL uses the coordinates for that area to evaluate the function and select the enclosedobjects. If you do not specify a value for l_bBox, the function behaves interactively andprompts you to enter coordinates for a selection area.

User Interface

Both selection by point and selection by area are supported directly using standard mousebindings. Selection by point is accomplished by clicking the left mouse button, and selectionby area is accomplished by drawing a selection rectangle with the left mouse button. Thethree modes of selection are supported using modifier keys. These bindings are described inthe table.

Standard Selection Mouse Bindings

Modifier Left mouse click Left mouse drag

None Single-Select Point Single-Select Box

July 2004 110 Product Version 6.3

Page 111: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Partial selection is controlled via function key F4. This key toggles partial selection on and off.Both partial point selection and partial area selection are affected. This key binding togglesthe window environment variable partialSelect.

Shift Add-Select Point Add-Select Box

Ctrl Sub-Select Point Sub-Select Box

Standard Selection Mouse Bindings

Modifier Left mouse click Left mouse drag

July 2004 111 Product Version 6.3

Page 112: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

SKILL-Level Access

The following sections describe the functions available at the SKILL level for creating,maintaining, and accessing selected sets. There are four categories of selection functions.

Point Selection

These functions implement the interactive selection by point. These functions can beinteractive if the point information is not passed as an argument.

geSingleSelectPointgeAddSelectPointgeSubSelectPoint

Area Selection

These functions implement the functions for interactive selection by area. These functionscan be interactive if the area (bBox) information is not passed as an argument.

geSingleSelectBoxgeAddSelectBoxgeSubSelectBox

Figure Selection

These functions allow you to select and deselect objects and portions of objects. Thesefunctions are separate from the point and area selection functions and do not use any of theselection modes.

geSelectFig geSelectFigPointgeSelectAllFig geDeselectAllgeDeselectAllFig geDeselectAllObjectgeDeselectArea geDeselectFiggeDeselectFigNoFilter geDeselectFigPointgeDeselectObject geDeselectObjectNoFiltergeDeselectObjectPoint geDeselectPointgeIsFigSelected geIsFigAllSelectedgeIsFigPartiallySelected geGetSelectedSetFigPointgeGetSelectedSet geGetSelSetgeGetSelSetCount

Selection Queries

These functions allow you to query the contents of the selected set.

geIsFigSelectedgeIsFigAllSelectedgeIsFigPartiallySelectedgePointQuery

July 2004 112 Product Version 6.3

Page 113: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddSelectBox

geAddSelectBox([ w_windowId ][ g_partial ][ l_bBox ])=> t / nil

Description

Implements the add mode of area selection. With no arguments given, it prompts you to enterthe area to be selected in the current window. Partial selection is performed only when thewindow environment variable partialSelect is set and the stretch command is active.Partial selection lets you select an edge, vertex, or endpoint of an object to stretch.

Arguments

w_windowId Database ID of the window containing the objects.

g_partial Partial selection is used only in conjunction with the stretchcommand. In this case, this function indicates whether partialselection (t) or full selection (nil) should be performed. If youuse partial selection with the move command, the selectionmode is always set to full selection and cannot be overriden.Valid Values: t, nil

l_bBox The bBox to be used for selection. When no bBox is specified,this function operates interactively.

Value Returned

t The selection is performed.

nil The selection is not performed.

ExamplegeAddSelectBox( win1 nil list(0:0 25:25) )

Selects the objects in win1 enclosed in the bBox described by the coordinates 0:0, 25:25 andadds them to the selected set. Partial selection is not performed.

July 2004 113 Product Version 6.3

Page 114: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddSelectPoint

geAddSelectPoint([ w_windowId ][ g_partial ][ l_point ])=> t / nil

Description

Implements the add mode of point selection.

With no arguments, it prompts you to point to the object to be selected in the current window.Partial selection is performed if the window environment variable partialSelect is set.

Arguments

w_windowId Database ID of the window containing the object.

g_partial Whether partial selection should be performed.Valid Values: t, nil

l_point List of points to be used for selection. When no points arespecified, this function operates interactively.

Value Returned

t The selection is performed.

nil The selection is not performed.

ExamplegeAddSelectPoint( win3 nil list(0:0 10:10) )

Selects the objects in win3 located at the coordinates 0:0 and 10:10. Partial selection is notperformed.

July 2004 114 Product Version 6.3

Page 115: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCycleSelectNext

geCycleSelectNext([ w_windowID ])=> t / nil

Description

Cycles to the next object at the current selection point.

Arguments

w_windowID Optional argument specifies the window to be used.

Value Returned

t Next object is selected.

nil No other objects are selected.

July 2004 115 Product Version 6.3

Page 116: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectAll

geDeselectAll([ w_windowId ])=> t / nil

Description

Deselects everything in the specified window. If w_windowId is not specified, the currentwindow is used.

Arguments

w_windowId Database ID of the window containing the object.

Value Returned

t Everything is deselected.

nil Everything is not deselected.

July 2004 116 Product Version 6.3

Page 117: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectAllFig

geDeselectAllFig([ d_cellViewId ])=> t / nil

Description

Deselects all objects in a cellview.

Does not use the selection filter, so all objects are deselected.

Arguments

d_cellViewId Database ID of the cellview containing the objects you want todeselect. If no cellview is specified, the current cellview is used.

Value Returned

t The objects are deselected.

nil The objects are not deselected.

July 2004 117 Product Version 6.3

Page 118: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectAllObject

geDeselectAllObject([ d_cellViewId ])=> t / nil

Description

Deselects everything in the specified cellview.

Arguments

d_cellViewId Database ID of the cellview containing the objects you want todeselect. If no cellview is specified, the current cellview is used.

Value Returned

t The objects are deselected.

nil The objects are not deselected.

July 2004 118 Product Version 6.3

Page 119: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectArea

geDeselectArea([ w_windowId ][ l_bBox ])=> t / nil

Description

Calls geSubSelectBox to deselect objects within the specified bounding box in thespecified window.

Arguments

w_windowId Window ID of the window to use. If not specified, the currentwindow is used.

l_bBox The area to deselect.

Value Returned

t The objects within the bounding box were deselected.

nil The objects were not deselected.

ExamplegeDeselectArea(hiGetCurrentWindow() list(list(0 0) list(100 100)))

Deselects objects within the specified area and returns t.

Interactive Function

geDeselectArea ([ w_windowId ])=> t / nil

Enter this function with only the window ID argument; the system prompts you to point to thearea to deselect and returns t. If w_windowId is not specified, the current window is used.

July 2004 119 Product Version 6.3

Page 120: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectFig

geDeselectFig(d_figId)=> t / nil

Description

Removes an object from the selected set if the object passes the selection filter.

Arguments

d_figId Database ID of the object you want to deselect.

Value Returned

t The object passes the selection filter and is deselected.

nil The object does not pass the selection filter and is not.

ExamplegeDeselectFig( fig3 )

Deselects fig3.

July 2004 120 Product Version 6.3

Page 121: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectFigNoFilter

geDeselectFigNoFilter(d_figId)=> t / nil

Description

Deselects the specified figure.

Arguments

d_figId The figure to be deselected.

Value Returned

t The figure is deselected.

nil The figure is not deselected.

ExamplegeDeselectFigNoFilter( figId )

Deselects figId.

July 2004 121 Product Version 6.3

Page 122: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectFigPoint

geDeselectFigPoint(d_figIdl_vertex)=> t / nil

Description

Removes vertices from the selected set if they pass the selection filter.

For vertex deselection, rectangles are considered to have four vertices, starting with the lowerleft point and moving counterclockwise.

Instances, dots, and labels cannot be partially selected, so this function cannot be used onthese types of objects.

Arguments

d_figId Database ID of the object you want to select.

l_vertex A list of Booleans, corresponding to the list of points for theobject. Each Boolean specifies whether the correspondingvertex of the object should be deselected or not. If there arefewer points in l_vertex than in the object, they are applied tothe first vertices in the object and the remaining vertices areunaffected.Valid Values: t, nil

Value Returned

t The object passes the selection filter and the vertices aredeselected.

nil The function failed.

ExamplegeDeselectFigPoint( fig3 list(t nil t nil t nil) )

Deselects every other vertex of fig3.

July 2004 122 Product Version 6.3

Page 123: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectObject

geDeselectObject(d_figId[ l_path ])=> t / nil

Description

Deselects the specified object at the specified hierarchical path, if it passes the selection filter.

Arguments

d_figId The figure to be deselected.

l_path Hierarchical path to d_figId, in the following format:

list(list(instId memInst x y)list(instId memInst x y)

.

.

.)

x and y are integers defining the row and column in caseinstId is a mosaic.

Value Returned

t The specified figures are deselected.

nil The specified figures are not deselected.

ExamplegeDeselectobject( figId list((list(instId 7 0 0 )))

If the seventh member of instId passes the selection filter, deselects the object.

July 2004 123 Product Version 6.3

Page 124: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectObjectNoFilter

geDeselectObjectNoFilter(d_figId[ l_path ])=> t / nil

Description

Deselects the specified object at the specified hierarchical path.

Arguments

d_figId The figure to be deselected.

l_path Hierarchical path to d_figId, in the following format:

list(list(instId memInst x y)list(instId memInst x y)

.

.

.)

x and y are integers defining the row and column in caseinstId is a mosaic.

Value Returned

t The specified figure is deselected.

nil The specified figure is not deselected.

ExamplegeDeselectobject( figId list((list(instId 7 0 0 )))

Deselects the seventh member of the specified instId.

July 2004 124 Product Version 6.3

Page 125: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectObjectPoint

geDeselectObjectPoint(d_figIdl_pathl_points)=> t / nil

Description

Deselect the specified vertices of the specified figure if it passes the selection filter.

Arguments

d_figId The figure to be deselected.

l_path Hierarchical path to d_figId, in the following format:

list(list(instId memInst x y)list(instId memInst x y)

.

.

.)

x and y are integers defining the row and column in caseinstId is a mosaic.

l_points The list of the points to be deselected.

Value Returned

t The specified vertices of the specified figure are deselected.

nil The specified vertices of the specified figure are not deselected.

ExamplegeDeselectObjectPoint(fig list(list(inst 0 1 2)) -> list(1.0:2.0))

Deselects the object at x 1 y 2.

July 2004 125 Product Version 6.3

Page 126: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeselectPoint

geDeselectPoint([ w_windowId ][ l_point ])=> t / nil

Description

Calls geSubSelectPoint to deselect the figure at the specified point in the specifiedwindow. This might deselect just a vertex or edge, or the whole figure, depending on the stateof the partialSelect window environment variable. Use the F4 key to toggle thisvariable. You can see the state of partialSelect in the window banner.

Arguments

w_windowId Window ID of the window to use. If not specified, the currentwindow is used.

l_point The point to deselect.

Value Returned

t The figure is deselected.

nil The figure is not deselected.

ExamplegeDeselectPoint(hiGetCurrentWindow() list(34.7 12.6))

Deselects the figure at 34.7x 12.6y in the current window and returns t.

Interactive Function

geDeselectPoint ([ w_windowId ])=> t / nil

Enter this function with only the window ID argument; the system prompts you to point to thefigure to deselect and returns t. If w_windowId is not specified, the current window is used.

July 2004 126 Product Version 6.3

Page 127: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetSelSet

geGetSelSet([ w_windowId ][ d_cellViewId ])=> l_selectedSet / nil

Description

Returns a list of the currently selected objects in a window or cellview.

If nothing is specified, the edit cellview of the current window is used. If a window is specified,its edit cellview is used.

Arguments

w_windowId Window ID of the window to use.

d_cellViewId The cellview ID.

Value Returned

l_selectedSet A list of the selected objects.

nil The function failed.

ExamplegeGetSelSet()

Returns a list of selected objects in the edit cellview of the current window.

July 2004 127 Product Version 6.3

Page 128: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetSelectedSet

geGetSelectedSet([ d_cellViewId ])=> l_figs / nil

Description

Returns a list of selected objects in a cellview.

Arguments

d_cellViewId Database ID of the cellview you want to query. If no cellview isspecified, the current cellview is used.

Value Returned

l_figs A list containing all objects that are selected (completely orpartially) in the specified cellview.

nil No objects are selected in the cellview.

July 2004 128 Product Version 6.3

Page 129: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetSelSetCount

geGetSelSetCount([ d_cellViewId ])=> n_count / 0

Description

Counts selected objects in a cellview.

Arguments

d_cellViewId Database ID of the cellview you want to query. If no cellview isspecified, the current cellview is used.

Value Returned

n_count The number of objects in the selected set.

0 No objects are in the selected set.

July 2004 129 Product Version 6.3

Page 130: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetSelSetFigPoint

geGetSelSetFigPoint(d_figId)=> l_selPoints / nil

Description

Returns a list indicating whether points are selected for an object.

The list contains Booleans corresponding to the point list of object d_figId. Each Booleanis t if the corresponding object point is selected; otherwise, it is nil. Since instances,mosaics, labels, and dots cannot be partially selected, the list contains a single Booleanspecifying whether the object is selected or not.

Arguments

d_figId Database ID of the object you want to select.

Value Returned

l_selPoints A list containing Booleans corresponding to the point list ofobject d_figId. Each Boolean is t if the corresponding objectpoint is selected; otherwise, it is nil.

nil No objects are selected.

July 2004 130 Product Version 6.3

Page 131: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geHiDragFig

geHiDragFig(w_windowIDr_formt_srcPromptt_dstPromptt_cmdNamet_SelSetg_useMultiWindow[ l_firstPoint ])

Description

Used in conjunction with other SKILL functions to implement the dragging of selecteddatabase figures.

Arguments

w_windowID Window ID.

r_form Form data structure.Valid Values: hiGetCurrentForm or any other valid form ofdata structure if there is a form, 0 if there is no form.

t_srcPrompt Prompt string for the origin or source point.

t_dstPrompt Prompt string for the destination point.

t_cmdName The command name depends on the dragging action you desire,such as copy, move, or stretch. The command name could beany string or empty string, and the behavior is the same.Valid Values: Copy, Move, Stretch, or any other string orempty string.

t_SelSet Specifies which selected set or object’s image is to be dragged.Its value could be a selected set, a selected object, or nil. Ineach case, the return value is the same. It prompts you to specifythe first point with the mouse (source point in source cellview),then it prompts you to specify the second point with the mouse(destination point in the destination cellview). The return value isa list:((source_point_CV source_point_coordination)

July 2004 131 Product Version 6.3

Page 132: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

(destination_point_CVdestination_point_coordination))If the argument is nil, a dragging image does not appear on thescreen; otherwise, a dragging image appears and can be movedwith the mouse. You can use geGetSelSet to get the value ofthe selected set or object. It returns nil if nothing is selected.Valid Values: geGetSelSet or any valid selected set or nil.

g_useMultiWindow Supports multiple windows. If you set this argument to nil, youcannot use snap mode. If you set this argument to t, the snapmode is only respected in the source window.Valid Values: t (supports multiple windows), nil (does notsupport multiple windows).

l_firstPoint First source point specified as a list.

Example 1 with Returned Value:selSet = geGetSelSet()

geHiDragFig(window(2) 0 "Enter Origin Point" "Enter Destination Point" "Copy"selSet t)

The example above returns the value

((db:21429292 (-0.4375 0.8125))(db:21429292 (-0.4375 -0.1875))

)

Example 2 with Returned Value:selSet = geGetSelSet()

geHiDragFig(window(2) hiGetCurrentForm() "Enter Origin Point""Enter Destination Point" "Copy" selSet t)

The example above returns the value

((db:21429292 (-0.5 0.8125))(db:21429292 (-0.4375 -0.3125))

)

MultiWindow Example:selSet = geGetSelSet()

geHiDragFig(window(2) hiGetCurrentForm() "Enter Origin Point""Enter Destination Point" "Move" selSet t)

nil

July 2004 132 Product Version 6.3

Page 133: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

>

hiSetCurrentWindow(window(2))

t

mouseAddPt()

-0.25:0.875

t

hiSetCurrentWindow(window(3))

t

mouseAddPt()

1.5:-1.125

t

(

(db:21267500

(-0.25 0.875)

)

(db:21258284

(1.5 -1.125)

)

)

The image which is dragged into another window is just an image, not a real object. You cannot select or save it. The window is not edited. It disappears after you use the redraw or thefit command.

July 2004 133 Product Version 6.3

Page 134: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsFigAllSelected

geIsFigAllSelected(d_figId)=> t / nil

Description

Checks whether an object is completely selected.

Arguments

d_figId Database ID of the object you want to select.

Value Returned

t d_figId is completely selected.

nil d_figId is not completely selected.

July 2004 134 Product Version 6.3

Page 135: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsFigPartiallySelected

geIsFigPartiallySelected(d_figId)=> t / nil

Description

Checks whether an object is partially, but not completely, selected.

Argument

d_figId Database ID of the object you want to select.

Value Returned

t d_figId is partially selected.

nil d_figId is not partially selected.

July 2004 135 Product Version 6.3

Page 136: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsFigSelected

geIsFigSelected(d_figId)=> t / nil

Description

Checks whether an object is at least partially selected.

Arguments

d_figId Database ID of the object you want to select.

Value Returned

t Object d_figId is at least partially selected.

nil Object d_figId is not at least partially selected.

July 2004 136 Product Version 6.3

Page 137: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsObjectAllSelected

geIsObjectAllSelected(d_figId[ l_path ])=> t / nil

Description

Tests if the specified figure is fully selected.

Arguments

d_figId The figure to be tested.

l_path Hierarchical path to the d_figId, in the following format:

list(list(instId memInst x y)list(instId memInst x y)

.

.

.)

x and y are integers defining the row and column in caseinstId is a mosaic.

Value Returned

t The specified figure is fully selected.

nil The specified figure is not fully selected.

ExamplegeIsObjectAllSelected(figId)

Checks to see if figId is selected.

July 2004 137 Product Version 6.3

Page 138: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsObjectPartiallySelected

geIsObjectPartiallySelected(d_figId[ l_path ])=> t / nil

Description

Tests if the specified figure is partially selected.

Arguments

d_figId The figure to be tested.

l_path Hierarchical path to the d_figId, in the following format:

list(list(instId memInst x y)list(instId memInst x y)

.

.

.)

x and y are integers defining the row and column in caseinstId is a mosaic.

Value Returned

t The specified figure is paritally selected.

nil The specified figure is not partially selected.

ExamplegeIsObjectPartiallySelected(figId)

Checks to see if figId is partially selected.

July 2004 138 Product Version 6.3

Page 139: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsObjectSelected

geIsObjectSelected(d_figId[ l_path ])=> t / nil

Description

Tests if the specified figure is partially or fully selected.

Arguments

d_figId The figure to be tested.

l_path Hierarchical path to the d_figId, in the following format:

list(list(instId memInst x y)list(instId memInst x y)

.

.

.)

x and y are integers defining the row and column in caseinstId is a mosaic.

Value Returned

t The specified figure is partially or fully selected.

nil The specified figure is neither partially nor fully selected..

ExamplegeIsObjectSelected(figId)

Checks to see if figId is partially or fully selected.

July 2004 139 Product Version 6.3

Page 140: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

gePointQuery

gePointQuery(w_windowIdl_pointt_filterProc)=> d_figId / nil

Description

Returns the ID of the object found at the point l_point.

This function searches the database of the cellview in the window w_windowId at the pointl_point. It chooses the object with the edge closest to the point. The point must be insidethe object. It is the same as geSingleSelectPoint except it doesn’t modify the selectedset.

Arguments

w_windowId Database ID of the window containing the object.

l_point Location of the point used for the search.

t_filterProc The name of a user-defined procedure which accepts ad_figID and returns t if this object is acceptable, and nil if itis not. For example the following will consider only rectangles.

procedure (myFilterProc(fig)fig ~> objType == "rect"

)

Value Returned

d_figId The ID of the object found in the query.

nil No object is found.

ExamplegePointQuery( win3 0:0 nil )

Returns the ID of the database object found at the point 0:0 without filtering any objects.

July 2004 140 Product Version 6.3

Page 141: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

gePointToFig

gePointToFig([ w_windowId ][ g_ignoreSelect ][ l_list ])=> d_figure / nil

Description

Returns the ID of the object located at the coordinates given in l_list.

This function is like geSingleSelectPoint, except the object indicated is returned ratherthan added to the selection. If no figure satisfies the selection criteria, nil is returned. If set,the Boolean g_ignoreSelect tells the function to ignore whether objects are currentlyselected when searching the database.

Arguments

w_windowId Database ID of the window containing the objects.

g_ignoreSelect Specifies whether to ignore objects currently selected whensearching for the object.Valid Values: t, nil

l_list List of X and Y coordinates in user units to specify locations tolook for objects.

Value Returned

d_figure Database ID of the first object satisfying the selection criteria.

nil No objects satisfy the selection criteria.

ExamplegePointToFig( win2 list(0:0 10:10) )

Returns the object IDs of the objects located at the given coordinates.

July 2004 141 Product Version 6.3

Page 142: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectAllFig

geSelectAllFig([ d_cellViewId ])=> t / nil

Description

Selects all objects in a cellview that pass the selection filter.

Arguments

d_cellViewId Database ID of the cellview you want to select. If not specified,the current cellview is used.

Value Returned

t The objects pass the selection filter and are selected.

nil The objects do not pass the selection filter and are not selected.

ExamplegeSelectAllFig( cell3 )

Selects all objects in cell3.

July 2004 142 Product Version 6.3

Page 143: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectArea

geSelectArea([ w_windowId ][ l_bBox ])=> t / nil

Description

Calls geAddSelectBox to add selected objects within the specified bounding box in thespecified window.

Arguments

w_windowId Window ID of the window to use. If not specified, the currentwindow is used.

l_bBox The area to select.

Value Returned

t The objects within the bounding box are added to the selection.

nil The objects within the bounding box are not added to theselection.

ExamplegeSelectArea(hiGetCurrentWindow() list(list(0 0) list(100 100))

Adds the objects within the specified bounding box to the selection.

Interactive Function

geSelectArea([ w_windowId ])=> t / nil

Enter this function with only the window ID argument; the system prompts you to point to thearea to select and returns t. If w_windowId is not specified, the current window is used.

July 2004 143 Product Version 6.3

Page 144: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectFig

geSelectFig(d_figId)=> t / nil

Description

Adds an object to the selected set if it passes the selection filter.

Arguments

d_figId Database ID of the object you want to select.

Value Returned

t The object passes the selection filter and is selected.

nil The object does not pass the selection filter and is not selected.

ExamplegeSelectFig( fig35 )

Selects fig35 and adds it to the selected set.

July 2004 144 Product Version 6.3

Page 145: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectFigNoFilter

geSelectFigNoFilter(d_figId)=> t / nil

Description

Selects the specified figure regardless of the selection filter.

Arguments

d_figId The figure to be selected.

Value Returned

t The specified figure is selected.

nil The specified figure is not selected.

ExamplegeSelectFigNoFilter( figId )

Ignores all selection filters and selects figId.

July 2004 145 Product Version 6.3

Page 146: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectFigPoint

geSelectFigPoint(d_figIdl_vertex)=> t / nil

Description

Adds vertices of an object to the selected set if they pass the selection filter.

For vertex selection, rectangles are considered to have four vertices, starting with the lowerleft point and moving counterclockwise.

Instances, mosaics, dots, and labels cannot be partially selected, so this function cannot beused on these types of objects.

Arguments

d_figId Database ID of the object you want to select.

l_vertex A list of Booleans, corresponding to the list of points for theobject. Each Boolean specifies whether the correspondingvertex of the object should be selected or not. If there are fewerpoints in l_vertex than in the object, they are applied to thefirst vertices in the object and the remaining vertices areunaffected.Valid Values: t, nil

Value Returned

t The object passes the selection filter and is selected.

nil The object does not pass the selection filter and is not selected.

ExamplegeSelectFigPoint( fig35 list(t nil t nil t nil t nil) )

Selects every other vertex on fig35.

July 2004 146 Product Version 6.3

Page 147: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectObject

geSelectObject(d_figId[ l_path ])=> t / nil

Description

Selects the specified figure at the specified hierarchical path, if it passes the selection criteria.

Arguments

d_figId The database ID of the figure to be selected.

l_path A path in the format( (d_instId x_memInst x_rowx_column)(d_instId x_memInst x y) ...)x_memInst is used for an iterated instance. x and y are usedfor mosaic instances.

Value Returned

t Selects the specified figure at the specified hierarchical path, if itpasses the selection criteria.

nil Does not select the specified figure.

July 2004 147 Product Version 6.3

Page 148: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectObjectNoFilter

geSelectObjectNoFilter(d_figId[ l_path ])=> t / nil

Description

Selects the specified figure at the specified hierarchical path.

Arguments

d_figId Database ID of the figure to be selected.

l_path The optional path in the format( (d_instId x_memInst x_rowx_column)(d_instId x_memInst x y) ...)x_memInst is used for an iterated instance. x and y are usedfor mosaic instances.

Value Returned

t Selects the specified figure at the specified hierarchical path.

nil Does not select the specified figure.

July 2004 148 Product Version 6.3

Page 149: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSelectPoint

geSelectPoint([ w_windowId ][ l_point ])=> t / nil

Description

Uses the given point to select the object. If there is no object at that location, no object isselected and nil is returned.

It is recommended that geAddSelectPoint be used in place of this function.

Arguments

w_windowId Window ID of the window to use. If not specified, the currentwindow is used.

l_point The location of the point to select. If not specified, the user willbe prompted to specify one by clicking in the design window.

Value Returned

t The point is used to select the object.

nil The point is not used to select the object.

ExamplegeSelectPoint( hiGetCurrentWindow() list(70 70) )

Selects the object at 70x 70y in the current window.

Interactive Function

geSelectPoint([ w_windowId ])=> t / nil

July 2004 149 Product Version 6.3

Page 150: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Enter this function with only the window ID argument; the system prompts you to point to theobject to add to the selection and returns t. If w_windowId is not specified, the currentwindow is used.

July 2004 150 Product Version 6.3

Page 151: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetEnterFunctionSelectionMode

geSetEnterFunctionSelectionMode(w_windowIdx_mode)=> t / nil

Description

Sets the selection mode for the enterfunction associated with the specified window.

Arguments

w_windowId Window ID.

x_mode Sets the selection mode as follows:0 = no select option1 = select override1 = full select override2 = partial select3 = partial select override4 = selection highlight

Value Returned

t Default or if the windowID has an enterfunction and the modewas set

nil The selection mode is not set.

ExamplegeSetEnterFunctionSelectionMode(hiGetCurrentWindow() 2)geSetEnterFunctionSelectionMode(window(6) 2)

Both of these examples set the selection mode to 2 (partial select) for the enterfunctionassociated with the current window (window 6).

July 2004 151 Product Version 6.3

Page 152: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSingleSelectBox

geSingleSelectBox([ w_windowId ][ g_partial ][ l_point ])=> t / nil

Description

Implements the single mode of area selection.

With no arguments, it prompts you to enter the area to be selected in the current window.Partial selection is performed if the window environment variable partialSelect is set.

Arguments

w_windowId Database ID of the window containing the objects.

g_partial Whether partial selection should be performed.Valid Values: t, nil

l_point The bounding box to be used for selection. When no boundingbox is specified, this function operates interactively.

Value Returned

t The objects are selected.

nil The objects are not selected.

ExamplegeSingleSelectBox( win1 nil list(0:0 25:25) )

Selects the objects in win1 enclosed in the bBox described by the coordinates 0:0, 25:25.Partial selection is not performed.

July 2004 152 Product Version 6.3

Page 153: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSingleSelectPoint

geSingleSelectPoint([ w_windowId ][ g_partial ][ l_point ])=> t / nil

Description

Implements the single mode of point selection.

With no arguments specified, it prompts you to point at the object to be selected in the currentwindow. Partial selection is performed if the window environment variable partialSelectis set.

Arguments

w_windowId Database ID of the window containing the objects.

g_partial Whether partial selection should be performed.Valid Values: t, nil

l_point Point to be used for selection. When no point is specified, thisfunction operates interactively.

Value Returned

t The objects are selected.

nil The objects are not selected.

ExamplegeSingleSelectPoint( win3 nil list(0:0) )

Selects the object in win3 located at the coordinate 0:0. Partial selection is not performed.

July 2004 153 Product Version 6.3

Page 154: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSubSelectBox

geSubSelectBox([ w_windowId ][ g_partial ][ l_bBox ])=> t / nil

Description

Implements the sub mode of area selection.

With no arguments, it prompts you to enter the deselection area in the current window. Partialdeselection is performed if the window environment variable partialSelect is set.

Arguments

w_windowId Window ID of the window containing the objects.

g_partial Whether partial selection should be performed.Valid Values: t, nil

l_bBox The bounding box to be used for deselection. When no boundingbox is specified, this function operates interactively.

Value Returned

t The deselection is performed.

nil The deselection is not performed.

ExamplegeSubSelectBox( win1 nil list(0:0 25:25) )

Deselects the objects in win1 enclosed in the bBox described by the coordinates 0:0, 25:25.Partial selection is not performed.

July 2004 154 Product Version 6.3

Page 155: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSubSelectPoint

geSubSelectPoint([ w_windowId ][ g_partial ][ l_bBox ])=> t / nil

Description

Implements the sub mode of point selection.

With no arguments, it prompts you to point at the object to be deselected in the currentwindow. Partial deselection is performed if the window environment variablepartialSelect is set.

Arguments

w_windowId Database ID of the window containing the objects.

g_partial Whether partial selection should be performed.Valid Values: t, nil

l_bBox The point to be used for deselection. When no point is specified,this function operates interactively.

Value Returned

t The deselection is performed.

nil The deselection is not performed.

ExamplegeSubSelectPoint( win3 nil list(0:0) )

Deselects the object in win3 located at the coordinate 0:0. Partial selection is not performed.

July 2004 155 Product Version 6.3

Page 156: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geToggleFilterSize

geToggleFilterSize( )

Description

Rotates the value of the graphic environment variable filterSize between the values 0.0,3.0, 10.0, 25.0, and 50.0. This function is bound to the F9 bindkey in the default layout editorbindkeys.

filterSize is used to control the size of the smallest features displayed and to controlinstance masters read in when opening or displaying a design. Larger values give fasterdisplay or read-in but less detail.

Arguments

None.

Value Returned

None.

ExamplegeToggleFilterSize()\i geToggleFilterSize\t Set filterSize to 10.000000\r 10.0\p >\i aa = geToggleFilterSize\t Set filterSize to 25.00000

July 2004 156 Product Version 6.3

Page 157: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geTogglePartialSelect

geTogglePartialSelect()=> t / nil

Description

Toggles partial selection off and on.

This is the equivalent of pressing the F4 key.

Arguments

None.

Value Returned

t partialSelect is on.

nil partialSelect is off.

July 2004 157 Product Version 6.3

Page 158: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Highlight Functions

You can use the highlight functions to highlight shapes on specific layers of a cellview. Thehighlight functions are cellview based and highlight shapes in all windows containing thecellview.

The highlight functions use a “highlight set” to determine which shapes are highlighted in acellview. A highlight set can be global or nonglobal. Global highlight sets are automaticallydrawn in the cellview. Nonglobal highlight sets are drawn when you usegePushHilightStack.You can only draw one nonglobal highlight set at a time.

To highlight shapes in a cellview, follow these steps:

1. Create a highlight set using geCreateHilightSet. Indicate the cellview and layeron which to draw the shapes. You can also indicate that the set is nonglobal by settingg_notGlobal to t.

2. Add shapes to the highlight set with the geAddHilight functions. You can alsoremove shapes from a highlight set with the geDeleteHilight functions.

3. Enable the highlight set by setting the enable attribute withhlSetId->enable = t

4. If the highlight set is nonglobal, use gePushHilightStack to draw the highlight setand gePopHilightStack to remove the highlight set from cellview.

5. If you want to change the layer of a highlight set, set the attribute withhlSetId->layer = list("layer_name" "layer_purpose")

6. If you want to disable the highlight set, reset the enable attribute withhlSetId->enable = nil

July 2004 158 Product Version 6.3

Page 159: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightArc

geAddHilightArc(g_hlSetIdl_ellipsebBoxl_arcbBox)=> g_hlObjectId / nil

Description

Adds an arc to a highlight set.

l_ellipsebBox and l_arcbBox specify the location of the arc.

Arguments

g_hlSetId Database ID of the highlight set.

l_ellipsebBox List of points used to describe the ellipse.

l_arcbBox List of points used to describe the arc.

Value Returned

g_hlObjectId The arc is added to the set.

nil The arc is not added to the set.

ExamplegeAddHilightArc( set1 list(0:0 10:10) list(0:8 10:8) )

Adds an arc to the highlight set set1 and returns the object ID of the arc.

July 2004 159 Product Version 6.3

Page 160: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightCircle

geAddHilightCircle(g_hlSetIdl_centern_radius)=> g_hlObjectId / nil

Description

Adds a circle to a highlight set.

l_center specifies the location of the circle, and n_radius specifies the size of the circle.

Arguments

g_hlSetId Database ID of the highlight set.

l_center Specifies the center of the circle.

n_radius Specifies the size of the circle.

Value Returned

g_hlObjectId The circle is added to the set.

nil The circle is not added to the set.

ExamplegeAddHilightCircle( set1 0:0 10 )

Adds a circle to the highlight set set1 whose centerpoint is 0:0 and whose radius is 10.Returns the object ID of the circle.

July 2004 160 Product Version 6.3

Page 161: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightDonut

geAddHilightDonut(g_hlSetIdl_centern_outRn_holeR)=> g_hlObjectId / nil

Description

Adds a donut to a highlight set.

l_center specifies the center of the donut. The outer radius and hole radius are specifiedby n_outR and n_holeR.

Arguments

g_hlSetId Database ID of the highlight set.

l_center Specifies the center of the donut.

n_outR Specifies the outer radius of the donut.

n_holeR Specifies the inner radius of the donut.

Value Returned

g_hlObjectId The donut is added to the set.

nil The donut is not added to the set.

ExamplegeAddHilightDonut( set1 0:0 10 2 )

Adds a donut to the highlight set set1 whose centerpoint is 0:0, whose outer radius is 10,and whose inner radius is 2. Returns the object ID of the donut.

July 2004 161 Product Version 6.3

Page 162: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightDot

geAddHilightDot(g_hlSetIdl_pointn_widthn_height)=> g_hlObjectId / nil

Description

Adds a dot to a highlight set.

l_point specifies the location of the dot. The display size of the dot is specified byn_width and n_height.

Arguments

g_hlSetId Database ID of the highlight set.

l_point Point used to locate the dot.

n_width Width of the dot.

n_height Height of the dot.

Value Returned

g_hlObjectId The dot is added to the set.

nil The dot is not added to the set.

ExamplegeAddHilightDot( set1 list(0:0) 5 5 )

Adds a 5x5 dot to the highlight set set1 with the centerpoint at 0:0, and returns the object IDof the dot.

July 2004 162 Product Version 6.3

Page 163: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightEllipse

geAddHilightEllipse(g_hlSetIdl_bBox)=> g_hlObjectId / nil

Description

Adds a ellipse to a highlight set.

The points in l_bBox specify the location of the ellipse.

Arguments

g_hlSetId Database ID of the highlight set.

l_bBox List of points used to describe the ellipse.

Value Returned

g_hlObjectId The ellipse is added to the set.

nil The ellipse is not added to the set.

ExamplegeAddHilightEllipse( set1 list(0:0 10:10) )

Adds an ellipse to the highlight set set1 and returns the object ID of the ellipse.

July 2004 163 Product Version 6.3

Page 164: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightFig

geAddHilightFig(g_hlSetIdd_figId[ g_drawAll ])=> g_hlObjectId / nil

Description

Adds a figure to a highlight set.

If g_drawAll is t, and the figure is an instance, all figures in the master of the instance aredrawn.

Arguments

g_hlSetId Database ID of the highlight set.

d_figId Database ID of the figure added to the highlight set.

g_drawAll Specifies whether all figures in the instance are drawn.Valid Values: t, nil

Value Returned

g_hlObjectId The figure is added to the set.

nil The figure is not added to the set.

ExamplegeAddHilightFig( set1 fig3 nil )

Adds fig3 to the highlight set set1 and does not draw the objects. Returns the object ID offig3.

July 2004 164 Product Version 6.3

Page 165: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightLabel

geAddHilightLabel(g_hlSetIdl_origint_labelt_justt_orientt_fontn_heightg_draftingP[ g_overBar ])=> g_hlObjectId / nil

Description

Adds a label to a highlight set.

l_origin specifies the location of the label. Other attributes of the label are specified byt_label, t_just, t_orient, t_font, n_height, g_draftingP, andg_overbar.

Arguments

g_hlSetId Database ID of the highlight set.

l_origin Specifies the location of the label.

t_label Specifies the text of the label.

t_just Specifies the justification of the label.Valid Values: upperLeft, upperCenter, upperRight,centerLeft, centerCenter, centerRight, lowerLeft,lowerCenter, lowerRight

t_orient Specifies the orientation of the label.Valid Values: R0 (no rotation), R90 (rotate 90 degrees), R180(rotate 180), R270 (rotate 270), MX (mirror over the x axis), MYy(mirror over the y axis), MXR90 (mirror over the x axis and rotate90 degrees), MYR90 (mirror over the y axis and rotate 90degrees)

July 2004 165 Product Version 6.3

Page 166: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

t_font Specifies the font style used for the label.Valid Values: europe, gothic, roman, script, stick

n_height Specifies the height of the label.

g_draftingP Determines how you can rotate text. t allows the text to rotate90 degrees, nil allows rotation in all directions.

g_overBar Determines whether the label has an overbar or not.Valid Values: t, nilDefault: nil

Value Returned

g_hlObjectId The label is added to the set.

nil The label is not added to the set.

ExamplegeAddHilightLabel( set1 list(0:0) "mytext" "lowerLeft" "R0" "stick" 2 )

Adds a label to the highlight set set1 with the origin at 0:0. The text is mytext, thejustification is lowerleft, the font style is stick, and the height of the text is 2 user units.Returns the object ID of the label.

July 2004 166 Product Version 6.3

Page 167: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightLine

geAddHilightLine(g_hlSetIdl_points)=> g_hlObjectId / nil

Description

Adds a line to a highlight set.

The points in l_points specify the location of the line.

Arguments

g_hlSetId Database ID of the highlight set.

l_points List of points used to describe the line.

Value Returned

g_hlObjectId The line is added to the set.

nil The line is not added to the set.

ExamplegeAddHilightLine( set1 list(0:0 10:0 10:10) )

Adds a line to the highlight set set1 and returns the object ID of the line.

July 2004 167 Product Version 6.3

Page 168: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightPath

geAddHilightPath(g_hlSetIdl_pointsn_width)=> g_hlObjectId / nil

Description

Adds a path to a highlight set.

The points in l_points specify the location of the path, and n_width specifies the widthof the path.

Arguments

g_hlSetId Database ID of the highlight set.

l_points List of points used to describe the polygon.

n_width Width of the path.

Value Returned

g_hlObjectId The path is added to the set.

nil The path is not added to the set.

ExamplegeAddHilightPath( set1 list(0:0 10:10 5:10 0:5) 5 )

Adds a path to the highlight set set1 and returns the object ID of the path.

July 2004 168 Product Version 6.3

Page 169: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightPolygon

geAddHilightPolygon(g_hlSetIdl_points)=> g_hlObjectId / nil

Description

Adds a polygon to a highlight set.

The points in l_points specify the location of the polygon.

Arguments

g_hlSetId Database ID of the highlight set.

l_points List of points used to describe the polygon.

Value Returned

g_hlObjectId The polygon is added to the set.

nil The polygon is not added to the set.

ExamplegeAddHilightPolygon( set1 list(0:0 10:10 5:10 0:5) )

Adds a polygon to the highlight set set1 and returns the object ID of the polygon.

July 2004 169 Product Version 6.3

Page 170: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddHilightRectangle

geAddHilightRectangle(g_hlSetIdl_bBox)=> g_hlObjectId / nil

Description

Adds a rectangle to a highlight set.

The points in l_bBox specify the location of the rectangle.

Arguments

g_hlSetId Database ID of the highlight set.

l_bBox List of points used to describe the rectangle.

Value Returned

g_hlObjectId The rectangle is added to the set.

nil The rectangle is not added to the set.

ExamplegeAddHilightRectangle( set1 list(0:0 10:10) )

Adds a rectangle to the highlight set set1 and returns the object ID of the rectangle.

July 2004 170 Product Version 6.3

Page 171: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCreateHilightSet

geCreateHilightSet(d_cellViewIdl_layerPurposePair[ g_notGlobal ])=> g_hlSetId / nil

Description

Creates a highlight set.

The cellview specified by d_cellViewId must be displayed in a window. The objects willbe drawn using the layer specified by l_layerPurposePair. The g_notGlobalargument is an optional Boolean argument; if it is not specified, the highlight set is added tothe global list of the cellview. If the g_notGlobal argument is equal to t, the highlight isnot added to the global list and it must be pushed into the cellview’s highlight stack in orderfor it be drawn. When the highlight set is first created, it is disabled. The application mustenable the set and refresh the window to see the highlight objects.

Arguments

d_cellViewId Database ID of the cellview in which to create the highlight set.

l_layerPurposePair Layer-purpose pair used to create the highlight objects.

g_notGlobal Specifies whether the highlight set is added to the global list.Valid Values: t, nil

Value Returned

g_hlSetId The highlight set is created.

nil The highlight set is notcreated.

ExamplegeCreateHilightSet( cell3 list("layer1" "purpose1") nil )

Creates a highlight set in cell3 on layer1 with purpose1 and adds the set to the globallist.

July 2004 171 Product Version 6.3

Page 172: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteHilightObject

geDeleteHilightObject(g_hlObjectId)=> t / nil

Description

Deletes the highlight object from the highlight set.

Arguments

g_hlObjectId Database ID of the highlight object.

Value Returned

t The object is deleted.

nil The object is not deleted.

ExamplegeDeleteHilightObject( object2 )

Deletes object2.

July 2004 172 Product Version 6.3

Page 173: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteHilightSet

geDeleteHilightSet(g_hlSetId)=> t / nil

Description

Deletes a highlight set.

The highlight set is removed from any highlight stack that contains it before the set is deleted.

Arguments

g_hlSetId Database ID of the highlight set.

Value Returned

t The set is deleted.

nil The set is not deleted.

ExamplegeDeleteHilightSet( set2 )

Deletes set2.

July 2004 173 Product Version 6.3

Page 174: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDrawHilightSet

geDrawHilightSet([ w_windowId ][ g_hlSetId ])=> t / nil

Description

Redraws a highlight set from a specified window ID.

If no highlight set is provided, the highlight set from the specified window ID is redisplayed. Ifno window ID is provided, the highlight set from the current window is redisplayed.

Arguments

w_windowId The window ID.

g_hlSetId Database ID of the highlight set.

Value Returned

t The set is redrawn.

nil The set is not redrawn.

Example

July 2004 174 Product Version 6.3

Page 175: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetCurrentHilightSet

geGetCurrentHilightSet(d_cellViewId)=> g_hlSetId / nil

Description

Retrieves the current highlight set.

The highlight stack in the cellview is specified by d_cellViewId.

Arguments

d_cellViewId Database ID of the cellview containing the highlight stack.

Value Returned

g_hlSetId The highlight set is retrieved.

nil The cellview is not valid or the stack is empty.

ExamplegeGetCurrentHilightSet( cell3 )

Returns the highlight set ID of the current highlight set in cell3.

July 2004 175 Product Version 6.3

Page 176: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetFigHilightObjectId

geGetFigHilightObjectId(g_hlSetIdd_figId)=> g_hlObjectId / nil

Description

Returns the highlight object ID of the object d_figId in the highlight set g_hlSetId.

Arguments

g_hlSetId Database ID for the highlight set.

d_figId Database ID for the object.

Value Returned

g_hlObjectId The highlight object ID for the specified object.

nil The highlight object ID is not found.

ExamplegeGetFigHilightObjectId( set1 fig2 )

Returns the highlight object ID for the object fig2 in the highlight set set1.

July 2004 176 Product Version 6.3

Page 177: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsValidHilightObject

geIsValidHilightObject(h_hlObjectId)=> t / nil

Description

Determines whether the highlighted object is valid.

A valid highlighted object has the format of the g_hlObjectId value returned from any ofthe geAddHilight functions.

Arguments

h_hlObjectId Any highlighted object ID returned from any of thegeAddHilight functions.

Value Returned

t The highlighted object is valid.

nil The highlighted object is not valid.

ExampleshlObjectId = geAddHilightPolygon( set1list( 0:0 10:0 10:10 0:10 ) )

geIsValidHilightObject( hlObjectId )

Returns t.

geIsValidHilightObject( geGetEditCellView( ) )

Returns nil.

July 2004 177 Product Version 6.3

Page 178: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsValidHilightSet

geIsValidHilightSet(h_hlSetId)=> t / nil

Description

Determines whether a highlight set is valid.

A valid highlight set has the format of the h_hlSetId value returned from thegeCreateHilightSet function.

Arguments

h_hlSetId Any highlight set ID returned from geCreateHilightSet.

Value Returned

t The highlight set is valid.

nil The highlight set is not valid.

ExampleshlSetId = geCreateHilightSet( geGetEditCellView( )list( "hilite" "drawing" ) )

geIsValidHilightSet( hlSetId )

Returns t.

geIsValidHilightSet( geGetEditCellView( ) )

Returns nil.

July 2004 178 Product Version 6.3

Page 179: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

gePopHilightStack

gePopHilightStack(d_cellViewId)=> t / nil

Description

Pops the current highlight set out of the highlight stack.

The next highlight set in the stack becomes current. If there are no more highlight sets in thestack, the current highlight set is nil.

Arguments

d_cellViewId Database ID of the cellview containing the highlight stack.

Value Returned

t The highlight set is popped out of the stack.

nil The highlight set is not popped out of the stack

ExamplegePopHilightStack( cell1 )

Pops the current highlight set out of the stack in cell1.

July 2004 179 Product Version 6.3

Page 180: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

gePushHilightStack

gePushHilightStack(g_hlSetId)=> t / nil

Description

Pushes a highlight set into the highlight stack of the cellview to which the highlight belongs.

The highlight set being pushed becomes the current highlight set. If a highlight set is alreadyin the global list of the cellview, it cannot be pushed into the highlight stack.

Arguments

g_hlSetId Database ID of the highlight set.

Value Returned

t The highlight set is pushed into the highlight stack.

nil The highlight set is not pushed into the highlight stack

ExamplegePushHilightStack( set13 )

Pushes highlight set set13 into the stack.

July 2004 180 Product Version 6.3

Page 181: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Marker Functions

geCreateMarker

geCreateMarker(d_dbobjectIdt_severityt_ownert_reasont_displayText)=> d_shapeId / nil

Description

Creates a box-shaped marker whose size and position are determined by the software.

The marker shape is placed on the marker layer with error purpose if t_type is error.Otherwise, the marker shape is placed on the marker layer with warning purpose. Ifd_dbobjectId is a cellview, the marker shape is a box at the lower left corner of thecellview. Otherwise, the marker shape is a box that surrounds the object d_dbobjectIdas described below and glues the marker to the object.figId The bounding box of the shape is used for the marker.

instId The bounding box of the instance is used for the marker.

instHeaderId The bounding box of the first instance for the instance header is usedfor the marker.

instTermId The bounding box of the figure representing the first pin found on theinstance terminal is used. If no pin exists on the instance terminal, ageneric box at the origin of the instance is used.

netId The bounding box of the figures attached to the net is used for themarker. If no figures exist on the net, a generic box in the lower leftcorner of the design is used.

pinId The bounding box of the figure representing the pin is used for themarker.

termId The bounding box of the figure representing the first pin found on theterminal is used. If no pin exists on the terminal, a generic box in thelower left corner of the design is used.

July 2004 181 Product Version 6.3

Page 182: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

After the marker is created, the t_owner, t_reason, and t_displayText values arestored as properties on the marker. The t_owner value identifies the tool that identified theproblem and is creating the marker. The t_reason value is the warning/error message thatdescribes the problem causing the marker. The t_displayText value is a brief warning/error message that is displayed with the marker shape.

Arguments

d_dbobjectId Database ID of the cellview to contain the marker.

t_severity Severity of the marker.Valid Values: warning, error

t_owner Owner of the marker.Valid Values: any valid owner name

t_reason Reason for the violation.

t_displayText Text associated with the marker.

Value Returned

d_shapeId The shape representing the marker, if the marker is created.

nil The marker is not created.

ExamplegeCreateMarker( cell2 "warning" "PDV" "physical rule violation" "mytext" )

Creates a marker in the cellview cell2. The marker severity is warning and the markerowner is PDV. physical rule violation is the reason for the marker. Mytext isdisplayed with the marker. Returns the database ID of the marker shape.

July 2004 182 Product Version 6.3

Page 183: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCreateMarkerByBBox

geCreateMarkerByBBox(d_cellViewIdt_typet_ownert_reasont_displayTextl_bBox)=> d_shapeId / nil

Description

Creates a rectangular marker whose size you define with l_bBox.

Arguments

d_cellViewId Database ID of the cellview to contain the marker.

t_type Severity of the marker.Valid Values: warning, error

t_owner Owner of the marker.Valid Values: DLE, PDV, or any marker owner

t_reason Reason for violation.

t_displayText Message displayed with the marker.

l_bBox Bounding box that defines the marker shape.

Value Returned

d_shapeId The shape representing the marker, if the marker is created.

nil The marker is not created.

ExamplegeCreateMarkerByBBox( cell2 "warning" "PDV" "poly-poly spacing violation" "mytext"list(12:10 20:18) )

July 2004 183 Product Version 6.3

Page 184: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Creates a marker in the cellview cell2 using the coordinates in the list. The marker severityis warning and the marker owner is PDV. Poly-poly spacing violation is the reasonfor the marker. Mytext is displayed with the marker. Returns the shape ID of the markershape.

July 2004 184 Product Version 6.3

Page 185: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCreateMarkerByPoints

geCreateMarkerByPoints(d_cellViewIdt_typet_ownert_reasont_displayTextl_points)=> d_shapeId / nil

Description

Creates a polygon-shaped marker.

Arguments

d_cellViewId Database ID of the cellview to contain the marker.

t_type Severity of the marker.Valid Values: warning, error

t_owner Owner of the marker.Valid Values: any marker owner

t_reason Reason for violation.

t_displayText Message displayed with the marker.

l_points List of points defining the marker.

Value Returned

d_shapeId The shape representing the marker, if the marker is created.

nil The marker is not created.

ExamplegeCreateMarker( cell2 "warning" "PDV" "metal1-metal1 spacing violation" "mytext"list(12:10 20:10 20:18 10:18 10:14 12:14) )

July 2004 185 Product Version 6.3

Page 186: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Creates a marker in the cellview cell2 using the coordinates in the list. The marker severityis warning and the marker owner is PDV. Mytext is displayed with the marker. Returns theshape ID of the marker shape.

July 2004 186 Product Version 6.3

Page 187: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteAllMarker

geDeleteAllMarker(d_cellViewId[ l_owner ][ l_severity ])=> t / nil

Description

Deletes all markers in d_cellViewId that have owner l_owner and severityl_severity.

If l_owner is specified, l_severity must be specified.

Arguments

d_cellViewId Database ID of the cellview containing the markers.

l_owner List of marker owners.Valid Values: any valid owner name

l_severity List of marker severities.Valid Values: warning error

Value Returned

t The markers are deleted.

nil The markers are not deleted.

ExamplegeDeleteAllMarker( cell3 list("DLE" "PDV") "error" )

Deletes all markers in cell3 that are of severity error and owned by DLE or PDV.

July 2004 187 Product Version 6.3

Page 188: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetMarkerDisplayText

geGetMarkerDisplayText(d_figId)=> t_string / nil

Description

Displays the text associated with a marker.

Arguments

d_figId Database ID of the marker.

Value Returned

t_string The text associated with the marker, if the marker text is found.

nil The marker text is not found.

ExamplegeGetMarkerDisplayText( marker2 )

Returns the text associated with marker2.

July 2004 188 Product Version 6.3

Page 189: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetMarkerOwner

geGetMarkerOwner(d_figId)=> t_string / nil

Description

Displays the owner of a marker.

Arguments

d_figId Database ID of the marker.

Value Returned

t_string The name of the marker owner.

nil The marker is not found.

ExamplegeGetMarkerOwner( d_figId )

Returns DLE, the name of the marker owner.

July 2004 189 Product Version 6.3

Page 190: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetMarkerReason

geGetMarkerReason(d_dbobjectId)=> t_reason / nil

Description

Displays the reason for a marker.

Arguments

d_dbobjectId Database ID of the marker.

Value Returned

t_reason The marker reason.

nil The marker is not found.

ExamplegeGetMarkerReason( marker2 )

Returns the reason for marker2.

July 2004 190 Product Version 6.3

Page 191: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetMarkerType

geGetMarkerType(d_figId)=> t_type / nil

Description

Displays the type of a marker.

Arguments

d_figId Database ID of the marker.

Value Returned

t_type The marker type, either warning or error.

nil The marker is not found.

ExamplegeGetMarkerType( marker2 )

Returns the marker type of marker2.

July 2004 191 Product Version 6.3

Page 192: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geHasMarker

geHasMarker(d_cellViewId[ l_owner ][ l_type ])=> t / nil

Description

Queries whether the cellview contains any markers with owner l_owner and type l_type.

Arguments

d_cellViewId Database ID of the cellview queried.

l_owner Owner of the markers to query.Valid Values: any marker owner

l_type Type of markers to query.Valid Values: warning, error

Value Returned

t The cellview contains the specified markers.

nil The cellview does not contain the specified markers.

ExamplegeHasMarker( cell2 "PDV" "error" )

Checks whether cell2 contains any markers owned by PDV of the type error.

July 2004 192 Product Version 6.3

Page 193: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geHiCommonFindMarker

geHiCommonFindMarker()=> t / nil

Description

Opens the Find Marker form and highlights the current marker in the current window.

Arguments

None.

Value Returned

t The form opens and gives marker status.

nil The function failed.

July 2004 193 Product Version 6.3

Page 194: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geHiDeleteAllMarker

geHiDeleteAllMarker()=> t / nil

Description

Displays a form that prompts you to select the markers to be deleted from the current cellview.

Arguments

None.

Value Returned

t The function succeeded.

nil The function did not succeed.

July 2004 194 Product Version 6.3

Page 195: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geHiDeleteMarker

geHiDeleteMarker()=> t / nil

Description

Deletes the current marker in the current window.

Arguments

None.

Value Returned

t The current marker is deleted.

nil The current marker is not deleted.

July 2004 195 Product Version 6.3

Page 196: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geHiExplainMarker

geHiExplainMarker()=> t / nil

Description

Explains the current marker in the current cellview.

Arguments

None.

Value Returned

t The current marker is explained.

nil The current marker is not explained.

July 2004 196 Product Version 6.3

Page 197: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geHiFindMarker

geHiFindMarker()=> t / nil

Description

Highlights the current marker in the current window.

Arguments

None.

Value Returned

t The current marker is found.

nil The current marker is not found.

July 2004 197 Product Version 6.3

Page 198: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsMarkerShape

geIsMarkerShape(d_dbobjectId)=> t / nil

Description

Checks whether a shape was created as a marker.

Arguments

d_dbobjectId Database ID of the cellview containing the shape.

Value Returned

t The shape is a marker.

nil The shape is not a marker.

ExamplegeIsMarkerShape( shape2 )

Checks if shape2 is a marker.

July 2004 198 Product Version 6.3

Page 199: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Probing Functions

This section describes the concepts used in the probing functions. The probing functionsavailable in the SKILL level are also described.

Probing allows you to find and highlight certain types of objects. These objects can be nets,terminals, and instances. When two terminals are probed together, the fligh tline (objectsbetween the terminals) is shown as well. Probing is a way to show the logical connectivitybetween objects or to show objects that can have correspondence with other objects in adifferent representation of the same design.

The following is a graphic description of the logical data model.

GraphicsEditorKernel

Top-LevelCellview

Cellview Probe Object

dbId Display Property

cellviewId probes

displayArgsobjectId

pathListpathObjectNameshortPathListshortPathNameobjectIdprobeTypecrossProbeList

July 2004 199 Product Version 6.3

Page 200: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

The path to the probe is an important concept. Two probes are the same if the memInst textstring path to the probes are equal and if the top-level cellviews of each probe are the same.

The probe spans through the hierarchy. Thus, when a probe is done in a cell that has beendescended into, the probe is still drawn at other levels of the hierarchy, for example, when yougo up the hierarchy. Also, the probe shows in multiple windows even if the windows are atdifferent hierarchical levels of the same top-level design. If the object probed is at a lower level

B

I1

I2I3

A

D E

B

I1

I2 I3

I4 I5

A, B, C, D, E are alllayout views.

D E

I3

I4 I5

switch

schematic

symbol symbolschematic

symbol symbol

Note that a switch was done on C.

CC

I1

I2

I3

D E

I3

I4 I5

switch

schematic

symbol symbolschematic

symbol symbol

D E

I2

I4 I5

schematic

symbol symbol

switch

Probe1 (“I1” “I2” “I5”) Probe2 (“I1” “I3” “I5”)

Note that the probes are not the same since the top-level cellviews are notequal (views are different). The probes in the schematic and layout docorrespond (useful for cross-probing applications).

Probe1 and Probe2 are not equal even though the same physical object wasprobed because the paths to the object are different.

A

A

CCC

CC

July 2004 200 Product Version 6.3

Page 201: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

than you are currently displaying, the instance containing the object probed is highlighted soyou know which instances contain probes.

C

BBB

Window 2 containing Block Awith Instance of Block B

Window 1 containing Block B withInstance of Block C Probed

Block ABlock B

Multiwindow with Different Levels of Hierarchy

July 2004 201 Product Version 6.3

Page 202: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Probe Types

There are four types of probes: net, instance, path, and terminal.

Net Probe

The net probe draws a user-specified net. There are two display modes associated with netprobes. The flight lines of the net can be displayed so that a spanning tree contains all theterminals in the net. The other display mode is to display the actual objects in this net.

Net Probe with Flightline Display

Net Probe with Object Display

July 2004 202 Product Version 6.3

Page 203: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Instance Probe

The instance probe highlights the user-specified instance. When you are at a level abovethis instance, the instance(s) in all equivalent windows that containing the chosen instanceare highlighted to show that they contain a probe.

Path Probe

The path probe draws a flight line between two user specified terminals. These terminals donot have to be on the same net. This also means that the terminals do not have to bephysically connected.

Instance Probe

Path Probe

July 2004 203 Product Version 6.3

Page 204: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Terminal Probe

The terminal probe draws the user specified terminal. When you descend into or edit inplace the instance containing this terminal, all the corresponding pins of the master arehighlighted.

The probe object holds all the necessary information for finding the probe in the hierarchyas well as information about displaying the probe. The probe is a combination of the probeobject and the display arguments or attributes.

Each probe has only one display argument associated with it. A multiple probe is needed ifyou want more than one display argument. The multiple probe is created when you specify aprobe with the same path as one previously specified. You only need to specify the displayarguments needed. With the possibility of multiple probes in the system, a unique probe isidentified by the pathname to the probe and the probe name and the probe argument typecombination in the display arguments.

This probe object is logically described below.

Probe ObjectpathListpathObjectNameobjectIdprobeTypeprobeDisplayStyle (only for net probes)displayArgs

DisplayArgs PropertiesprobeNameprobeArgType

Choose one of the following:

probeColorprobeLabelprobeLabelNameprobeLabelColorprobeLabelOffset

Terminal Probe

July 2004 204 Product Version 6.3

Page 205: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

probeLabelFontprobeLabelFontSizeprobeLabelJustprobeLabelOrientprobeOnColorWhenDisplay

The pathname of the probe is a list of strings that describe how to get to the probed objectfrom the top level. The pathname is derived by combining the pathList andpathObjectName attributes of the probe object. The pathList is a list of strings with eachstring being the instance name (in memInst format) of the instance used to get to the probeobject and not including the name of the object itself. The memInst format is“instance_name” for instances, “instance_name<iteration_number>” for iterated instances,and “instance_name(row,column)” for mosaics.

The pathObjectName is the name of the probe object at the level it was probed. ThepathObjectName is useful for describing an object that can be represented by differentdatabase IDs in different representations.

The objectId is the database ID of the object in the representation being probed.

The probeType can be a path, net, terminal, or instance. These types have been describedearlier.

The probeDisplayStyle is either the flight or object display style and has meaning only fornet probes. Flight display style displays the flight lines between terminals. For net probes, theflight lines that span all the terminals of a net once are displayed. Path probes have a similarconcept to flight display style because a flight line is drawn between the two terminals (whichdo not have to be on the same net). For object display style (which can apply to all the typesof probes), the physical objects in the probe are highlighted.

The displayArgs is a logical property list containing the various display attributes associatedwith the probe object. Listed here are the properties that are provided.

The probeName is an attribute that gives a name to a display argument of the probe. Thisname is used to identify what the display argument does. Examples of such names are“resistance” and “capacitance.”

The probeArgType identifies the type of display argument used. There are threepossibilities: “label,” “color,” and “onColor.”

The probeColor is the color (or layer-purpose pair) that the probed objects are to bedisplayed on. All net objects, terminals, and instances of the probe are highlighted in thiscolor.

July 2004 205 Product Version 6.3

Page 206: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

The probeLabel is a label that is to be displayed when the probe is displayed. One of theimportant attributes of the probeLabel is the probeLabelOffset, which is the offset from thedefault location that the probeLabelName is to be drawn. If no offset is specified, the defaultlocation is calculated with an algorithm based on the type of probe. The default setting forinstance probes is in the center of the instance bounding box. For net probes, the labeldisplays by default at the center of the longest flight line for flight probeDisplayStyle or atthe center of the largest segment of the net for object probeDisplayStyle. The terminalprobe has the label at the center of the terminal. Path probes display by default at the centerof the flightline. The probeLabelColor, probeLabelFont, probeLabelFontSize,probeLabelJust, and probeLabelOrient attributes all describe how the probeLabelNamedisplays.

The probeOnColorWhenDisplay is a color (or layer-purpose pair) turned on for visibility sothat preexisting icons in this color can be displayed when an instance probe is displayed.

SKILL Interface

This section describes the SKILL interface to the probing functionality available in theGraphics Editor. Probing is a mechanism for showing items that are logically equivalent. Forexample, all the objects in a net are highlighted because they are all logically connected.

Most of the attributes of a probe object are accessible and can be set through SKILL by usingthe -> access operator. For example,

probeList = geGetAllProbe(window(3))foreach(p probeListprintln(p—>pathObjectName) ;print out probe obj names)

The attributes that can be set by the SKILL access operator -> are restricted to probeNameprobeColor, probeLabel and other probeLabel attributes, probeDisplayStyle, andprobeOnColorWhenDisplay because the other attributes are fixed.

You can add your own properties on the probe by using a new property and setting it to avalue. For example, p—>myProperty = "critical" adds the property myProperty tothe probe p and sets it to the string “critical.” Property names with the prefix probe arereserved since there might be additional attributes available in the future.

When println(p->pathObjectName) is done in the example above, all the accessibleattributes are listed with their values. All of these attributes vary with the types of probe:

probeNamepathListpathObjectNametopLevelCellViewIdobjectIdprobeType

July 2004 206 Product Version 6.3

Page 207: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

probeArgTypeprobeColorprobeLabelprobeLabelColorprobeLabelOffsetprobeLabelFontprobeLabelFontSizeprobeLabelJustprobeLabelOrientprobeOnColorWhenDisplayprobeDisplayStyle

July 2004 207 Product Version 6.3

Page 208: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddInstProbe

geAddInstProbe([ w_windowId ][ l_lpp ][ lt_probeSpec ])=> o_probe

Description

Adds an instance probe to a window.

The instance probe is displayed using the attributes of layer-purpose pair l_lpp. If l_lppis defaulted, a layer-purpose pair is chosen from the reserved layers y0 through y9 withpurpose “drawing.”

These default probing layers are cycled through so that successive probes can be highlightedin different colors. Any of the geAdd*Probe functions causes the layer to cycle to the nextone. geSetProbeUserLPP overrides this layer rotation. See the description of that function.

lt_probeSpec is either a point or a string. If a point is specified, the instance at thatlocation is probed. If a string is specified, the instance with that hierarchical path name isprobed. The string should be in the format of“/instname/instname/ .../objectName.” If lt_probeSpec is not specified, youare prompted to select an instance to probe.

Arguments

w_windowId Database ID of the window in which to add the probe. Thecurrent window is used if w_windowId is defaulted.

l_lpp Layer-purpose pair on which to display the probe.

lt_probeSpec Location in user units to probe at, or a string describing theprobed object.

Value Returned

o_probe The probe object created.

July 2004 208 Product Version 6.3

Page 209: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Examplem = geAddInstProbe( window(3) list( "y0" "drawing" ) )

Prompts you for a point, and creates an instance probe in window(3) using layer (y0drawing).

July 2004 209 Product Version 6.3

Page 210: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetAdjustedPath

geGetAdjustedPath(w_winIdt_pathList[ d_cellViewId ][ t_viewnameList ])=> t_adjustedPathList

Description

Reduces the given hierarchical net path to the shortest hierarchical name that is equivalentto this net.

Arguments

w_winId Window ID used to find the top-most point of the hierarchy for thename reduction.

t_pathList A single concatenated string for the instance hierarchy with "/"as the hierarchy separator in the string in version 4.4.3 of designframework II. (In version 4.3.4, this was a list of strings ofinstance names for the instance hierarchy.)

d_cellViewId Database Id of a cellview to be used as the top-level cellviewspecified by w_winId. If this value is specified, the minimizedname is relative to this cellview, rather than the topmost cellview.Specifying the value returned by geGetTopCellViewName asthis third argument is the same as omitting the third argument.

t_viewnameList A string specifying views to switch into when descending thehierarchy specified in t_pathList. If not specified, the defaultvalue of “schematic” is used.

Value Returned

t_adjustedPathList The reduced net name. If the net is local to this cell view only, thereduced net name is the same as the provided net name.

July 2004 210 Product Version 6.3

Page 211: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Examplenetpath = buildString(foreach(mapcar igeGetHierMemInst(hiGetCurrentWindow()) car(i)->name) "/" )netPath = strcat("/" netPath "/" "gnd")geGetAdjustedPath( hiGetCurrentWindow() netPath)=> "/gnd"

Assumes the currently displayed cellview has a net called "gnd". This code reduces thisname to the smallest hierarchically correct name to reach this net. Since the gnd net isconnected from this point up to the top level of hierarchy, the return value is simply "/gnd".

July 2004 211 Product Version 6.3

Page 212: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddNetProbe

geAddNetProbe([w_windowId][l_lpp][lt_probeSpec])=> o_probe

Description

Adds a net probe to a window.

The net probe is displayed using the attributes of layer-purpose pair l_lpp. If l_lpp isdefaulted, a layer-purpose pair is chosen from the reserved layers y0 through y9 with purposedrawing. These default probing layers are cycled through so that successive probes can behighlighted in different colors. Any of the geAdd*Probe functions causes the layer to cycleto the next one. geSetProbeUserLPP overrides this layer rotation. See the description ofthat function.

lt_probeSpec is either a point or a string. If a point is specified, the instance at thatlocation is probed. If a string is specified, the instance having that hierarchical path name isprobed. The string should be in the format of “/instname/instname/ .../objectName.”

If lt_probeSpec is defaulted, you are prompted to select an instance to probe. Note thatthe display of the net probe is affected by the net stop level.

Arguments

w_windowId Database ID of the window to probe. The current window is usedif w_windowId is defaulted.

l_lpp Layer-purpose pair on which to display the probe.

lt_probeSpec Location in user units to probe at, or a string describing theprobed object.

Value Returned

o_probe Probe object created.

July 2004 212 Product Version 6.3

Page 213: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Examplem = geAddNetProbe( window(3) list( "y0" "drawing" ) )

Prompts for a point, and creates a net probe in window(3) using layer (y0 drawing).

July 2004 213 Product Version 6.3

Page 214: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddPathProbe

geAddPathProbe([ w_windowId ][ l_lpp ][ lt_probeSpec1 ][ lt_probeSpec2 ])=> o_probe

Description

Adds a path probe to a window.

The path probe is displayed using the attributes of layer-purpose pair l_lpp. If l_lpp isdefaulted, a layer-purpose pair is chosen from the reserved layers y0 through y9 with purposedrawing. These default probing layers are cycled through so that successive probes can behighlighted in different colors. Any of the geAdd*Probe functions causes the layer to cycleto the next one. geSetProbeUserLPP will override this layer rotation.

lt_probeSpec1 is either a point or a string. If a point is specified, then the terminal at thatlocation becomes the first of the two terminals in the path probe. If a string is specified, thenthe terminal having that hierarchical path name is the first terminal. The string should be inthe format of “/instname/instname/ .../objectName.” If lt_probeSpec1 isdefaulted, you are prompted to select the first terminal to probe. Similarly, lt_probeSpec2either selects the second terminal, or if defaulted, causes you to be prompted to point at thesecond terminal.

Arguments

w_windowId Database ID of the window to probe. The current window is usedif w_windowId is defaulted.

l_lpp Layer-purpose pair on which to display the probe.

lt_probeSpec1 Location in user units to look for the first terminal of the path at,or a string describing the first terminal.

lt_probeSpec2 Location in user units at which to look for the second terminal ofthe path, or a string describing the second terminal.

July 2004 214 Product Version 6.3

Page 215: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Value Returned

o_probe Probe object created.

Examplem = geAddPathProbe( window(3) )

Prompts for two points, and creates a path probe between the two terminals in window(3)using the next layer in the probe layer rotation sequence.

July 2004 215 Product Version 6.3

Page 216: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geAddTermProbe

geAddTermProbe([ w_windowId ][ l_lpp ][ lt_probeSpec ])=> o_probe

Description

Adds a terminal probe to a window.

The terminal probe is displayed using the attributes of layer-purpose pair l_lpp. If l_lppis defaulted, a layer-purpose pair is chosen from the reserved layers y0 through y9 withpurpose drawing. These default probing layers are cycled through so that successive probescan be highlighted in different colors. Any of the geAdd*Probe functions causes the layerto cycle to the next one. geSetProbeUserLPP overrides this layer rotation. See thedescription of that function.

lt_probeSpec is either a point or a string. If a point is specified, then the instance at thatlocation is probed. If a string is specified, then the instance having that hierarchical path nameis probed. The string should be in the format of “/instname/instname/ .../objectName.” If lt_probeSpec is not specified, you are prompted to select a terminal toprobe.

Arguments

w_windowId Database ID of the window to probe. The current window is usedif w_windowId is not specified.

l_lpp Layer-purpose pair on which to display the probe.

lt_probeSpec Location in user units to probe at, or a string describing theprobed object.

Value Returned

o_probe The probe object created.

Examplem = geAddTermProbe( window(3) )

July 2004 216 Product Version 6.3

Page 217: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Prompts for a point, and creates a terminal probe in window(3) using the next layer in theprobe layer rotation sequence.

July 2004 217 Product Version 6.3

Page 218: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteAllProbe

geDeleteAllProbe([ w_windowId ][ g_crossProbeFlag ])=> t / nil

Description

Removes all the probes from a window.

If g_crossProbeFlag is not nil, all the cross probes associated with the probes inw_windowId are deleted.

Arguments

w_windowId Database ID of the window from which to remove probes.

g_crossProbeFlag If set, all cross probes associated with the probes in a windoware also deleted.

Value Returned

t The probes are deleted.

nil The probes are not deleted.

ExamplegeDeleteAllProbe( hiGetCurrentWindow( ) )

Deletes all probes in the current window.

July 2004 218 Product Version 6.3

Page 219: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteInstProbe

geDeleteInstProbe([ w_windowId ][ lt_probeSpec ])=> t / nil

Description

Deletes an instance probe from a window.

lt_probeSpec is the same type of probe specification used for adding a probe with thegeAdd*Probe functions.

Arguments

w_windowId Database ID of the window to probe. The current window is usedif w_windowId is not specified.

lt_probeSpec Location in user units to look at for an instance probe to delete,or a string describing the instance probe to delete.

Value Returned

t An instance probe was found and deleted.

nil An instance probe was not found and deleted.

Examplem = geDeleteInstProbe( window(3) )

Prompts for a point and deletes the instance probe under that point.

July 2004 219 Product Version 6.3

Page 220: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteNetProbe

geDeleteNetProbe([ w_windowId ][ lt_probeSpec ])=> t / nil

Description

Deletes a net probe from a window.

lt_probeSpec is the same type of probe specification used for adding a probe with thegeAdd*Probe functions.

Arguments

w_windowId Database ID of the window to probe. The current window is usedif w_windowId is not specified.

lt_probeSpec Location in user units to look at for a net probe to delete, or astring describing a net probe to delete.

Value Returned

t A net probe was found and deleted.

nil A net probe was not found and deleted.

Examplem = geDeleteNetProbe( window(3) "/I1/NET10" )

Deletes the net probe associated with NET10 in instance I1 of the top level of window(3).

July 2004 220 Product Version 6.3

Page 221: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeletePathProbe

geDeletePathProbe([ w_windowId ][ lt_probeSpec ])=> t / nil

Description

Deletes a path probe from a window.

lt_probeSpec is the same type of probe specification as that used for adding a probe withthe geAdd*Probe functions.

Arguments

w_windowId Database ID of the window to probe. The current window is usedif w_windowId is not specified.

lt_probeSpec Location in user units to look at for a path probe to delete, or astring describing a path probe to delete.

Value Returned

t A probe was found and deleted.

nil A probe was not found and deleted.

Examplem = geDeletePathProbe( window(3) )

Prompts for a point and deletes the path probe under that point in window(3).

July 2004 221 Product Version 6.3

Page 222: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteProbe

geDeleteProbe(w_windowIdo_userType[ g_crossProbeFlag ])=> t / nil

Description

Removes a probe from a set of probes in a window.

If g_crossProbeFlag is not nil, all the cross probes associated with the probe aredeleted.

Arguments

w_windowId Database ID of the window from which to remove the probe.

o_userType Handle to the probe object.

g_crossProbeFlag Indicates if the crossProbes associated with the probe shouldalso be deleted.Valid Values: t, nilDefault Value: nil

Value Returned

t The probe is removed.

nil The probe is not removed.

ExamplegeDeleteProbe( getCurrentWindow( ) probe )

The probe is deleted from the current window.

July 2004 222 Product Version 6.3

Page 223: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geDeleteTermProbe

geDeleteTermProbe([ w_windowId ][ lt_probeSpec ])=> t / nil

Description

Deletes a terminal probe from a window.

lt_probeSpec is the same type of probe specification as that used for adding a probe withthe geAdd*Probe functions.

Arguments

w_windowId Database ID of the window to probe. The current window is usedif w_windowId is not specified.

lt_probeSpec Location in user units to look at for a terminal probe to delete, ora string describing a terminal probe to delete.

Value Returned

t A probe was found and deleted.

nil A probe was not found and deleted.

ExamplegeDeleteTermProbe( window(3) )

Prompts for a point and deletes the term probe under that point in window(3).

July 2004 223 Product Version 6.3

Page 224: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geExplainProbe

geExplainProbe([ w_windowId ][ lt_probeSpec ])=> t / nil

Description

Explains the probes in a window.

A viewfile window with information on each of the probes described by lt_probeSpec isdisplayed for you to view. lt_probeSpec is the same kind of specification used for thegeAdd*Probe functions. If a point is specified, all probes within the selection aperture of thespecified point are explained.

Note: The information for the file shown is put into a temporary file in /tmp.

Arguments

w_windowId Database ID of the window containing the probes you wantexplained. The current window is used if w_windowId is notspecified.

lt_probeSpec Location in user units to look at for probes to explain, or a stringdescribing a probe to explain.

Value Returned

t A probe was found and explained.

nil A probe was not found and explained.

ExamplegeExplainProbe( window(3) 10:10 )

Explains any probes under the point 10:10 in window(3).

July 2004 224 Product Version 6.3

Page 225: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetAllProbe

geGetAllProbe([ w_windowId ])=> l_probes / nil

Description

Gets a list of all the probes in a window.

Arguments

w_windowId Database ID of the window containing the probes.

Value Returned

l_probes Alist of all the probes in w_windowId.

nil There are no probes in the window.

Exampleprobe_list = geGetAllProbe( GetCurrentWindow( ) )

July 2004 225 Product Version 6.3

Page 226: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetCrossProbeValue

geGetCrossProbeValue(t_viewTypeName)=> g_value / nil

Description

Queries the view type to see if it is set.

If this function is called before the cross probe form is created, a list of defaults areaccumulated. During the creation of the cross probe form, the default list is checked to see ifthe value on the form defaults to true.

Arguments

t_viewTypeName Name of a view type to cross probe. The cross probe form isinitialized with this value if the form is not created yet, or the formhas a value corresponding to this value set on the existing crossprobe form.Valid Values: all, none

Value Returned

g_value The cross probe value.

nil The cross probe value is not set.

ExamplegeGetCrossProbeValue( "graphic" )

Returns t.

July 2004 226 Product Version 6.3

Page 227: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetProbeNetStopLevel

geGetProbeNetStopLevel()=> x_netDisplayStopLevel

Description

Gets the display stop level of net probes.

Arguments

None.

Value Returned

x_netDisplayStopLevelDisplay stop level of net probes.

ExamplemyValue = geGetProbeNetStopLevel( )

Returns 20.

July 2004 227 Product Version 6.3

Page 228: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetProbeUserLPP

geGetProbeUserLPP()=> l_lpp / nil

Description

Gets the layer-purpose pair to be used by the geAdd*Probe functions if no layer-purposepair is passed into these functions.

Arguments

None.

Value Returned

l_lpp The layer-purpose pair to be used for probing operations.

nil No layer-purpose pair exists.

ExamplegeGetProbeUserLPP( )

Returns (“marker” “error”).

July 2004 228 Product Version 6.3

Page 229: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Probe File Format

This section describes the probe file format written and read by the geSaveProbe andgeLoadProbe functions, respectively. In addition, an application you integrate into theCadence framework can use this format to graphically annotate the design with informationabout certain aspects. For example, a simulator could output error messages using this fileformat, and you can later request a display of the errors found. This simplifies the process oflocating and correcting errors found by analysis tools.

Each line in the file specifies the property list of one probe. This list must contain propertyname and property value pairs:

(propName propValue propName propValue...)

The following is a list of the possible property names you can store in the probe file:

explainprobeNamepathListpathObjectNameprobeTypeprobeArgTypeprobeColorprobeLabelprobeLabelColorprobeLabelFontSizeprobeOnColorWhenDisplay

The property name value pairs can be in any order, except for the explain property, whichmust come first if specified. In addition to these predefined property names, user-specifiedproperties can also be stored in the probe list. User-defined properties must appear beforeany of the predefined property names. The minimal probe list must include the type of theobject to be probed in the probeType property and the name of the object to probe in thepathObjectName property. Following is an example of the minimum information required ineach line of the probe file:

(probeType "instance" pathObjectName "Inst3")

The following is an example of a complete probe file.

(probeType "instance" pathObjectName "I3")

(explain "Instance Inst3 input A is not driven" probeType "instance" pathObjectName "Inst9")

(explain "Line 1 message\nLine 2 message" probeType "instance" pathObjectName "Inst4")

(probeType "instance" pathList "/I0" pathObjectName "I2" probeArgType "probeColor")

(probeType "net" pathObjectName "I0.Y")

(probeType "net" pathObjectName "I1.Y" probeArgType "probeColor" probeColor ("y4" "drawing"))

July 2004 229 Product Version 6.3

Page 230: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

(probeType "net" pathList "/I3" pathObjectName "Y" probeArgType "probeColor" probeColor ("y4" "drawing"))

(probeType "terminal" pathObjectName "select")

(probeType "terminal" pathObjectName "/I3/D" probeArgType "probeColor")

(probeType "path" pathList "/I1" pathObjectName "A" otherPathList "/I3" otherObjectName "Y")

(probeType "path" pathObjectName "/I3/B" otherObjectName "/I1/Y")

(probeType "instance" pathObjectName "I2" probeArgType "probeLabel" probeLabel "myName")

(probeType "instance" pathObjectName "I1" probeArgType "probeLabel" probeLabel "newName" probeLabelFontSize 0.1)

July 2004 230 Product Version 6.3

Page 231: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geLoadNextProbe

geLoadNextProbe([ w_window ][ p_port ][ s_prop ][ s_cond ][ g_value ][ s_loadCount ])=> t / nil

Description

Loads a probe into a window. Identical to geLoadProbe except that s_loadCount is asymbol containing the index of the probe to be loaded.

s_loadCount is incremented if successful.

Arguments

w_window Database ID of the window containing the probes you wantloaded.

p_port Port to load the probe information through.

s_prop Property to be examined to decide whether to load probe.

s_cond Condition that must be satisfied if the probe is to be loaded.

g_value Value of the property tested against the condition to decidewhether to load the probe.

s_loadCount Variable containing the index of the probe to load.

Value Returned

t A probe was found and loaded.

nil A probe was not found and loaded.

July 2004 231 Product Version 6.3

Page 232: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Examplem = infile( "/tmp/myProbes.out" )

ct = 0

geLoadNextProbe( window(3) m ’myProp ’equal "critical" ’ct)

Loads the first probe in file /tmp/myProbes.out that has the user-defined propertymyProp equal to the string critical, then increments ct to 1.

July 2004 232 Product Version 6.3

Page 233: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geLoadProbe

geLoadProbe([ w_windowId ][ p_port ][ s_prop ][ s_cond ][ g_value ])=> t / nil

Description

Loads probes into a window.

The probes are recreated by reading the necessary information in the property list saved froma geSaveProbe call. This property list also allows the restoring of any user-defined orapplication-specific properties that might have been put on the probes.

The optional parameters s_prop, s_cond, and g_value conditionally load probes.s_prop is a symbol representing a property name. s_cond is a SKILL symbol representingthe condition. g_value is the reference value. The probe is loaded only if s_prop is relatedto g_value by s_cond.

Arguments

w_windowId Database ID of the window containing the probes you wantloaded. If not specified, the current window is used.

p_port Port to load the probe information through. If p_port is notspecified, the probes are read from the file probe.out.

s_prop Property to be examined in deciding whether to load probe.

s_cond Condition that must be satisfied if the probe is to be loaded.

g_value Value of the property tested against the condition to decidewhether to load the probe.

Value Returned

t A probe was found and loaded.

July 2004 233 Product Version 6.3

Page 234: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

nil A probe was not found and loaded.

Examplem = infile( "/tmp/myProbes.out" )

geLoadProbe( window(3) m ’myProperty ’equal "critical")

Loads all probes in file /tmp/myProbes.out that have the user-defined propertymyProperty equal to the string critical.

July 2004 234 Product Version 6.3

Page 235: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geMakeProbeWithColor

geMakeProbeWithColor(?window w_windowId?name t_name?object g_object?otherObject g_otherObject?color g_color?probeType t_probeType?displayStyle t_displayStyle?viewTypeList l_viewTypesToCrossProbe[ ?message t_messageString ])=> o_probeObject

Description

Creates a probe of the specified type and gives it the specified color.

The object is highlighted when found using the display attributes of layer g_color.

The probe type can be inferred from g_object if it is an object Id and is not a terminal. Aterminal can be part of either a terminal probe or a net probe, so the probe type cannot bederived in that case. If g_object is a path list, t_probeType must be specified since thetype cannot be derived from the name.

A single probe can have only one of the three display arguments (color, label, oronColor), and this function sets the color attribute. A multiple probe (same object anddifferent display argument) can specify multiple display arguments. If g_object has alreadybeen probed, the probe becomes a multiple probe.

Arguments

w_windowId Database ID of the window to contain the probe.

t_name Name of the probe.

g_object Object to be probed. It can be an instance, a net, or a terminal,and is specified either by the database ID of the object or by a listof strings describing a path to the object. The strings are inmemInst format, which is needed for iterated instances andmosaics. If the database ID of the object is used, the path isderived from the hierarchical path from the top level ofw_windowId to the object.

July 2004 235 Product Version 6.3

Page 236: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

g_otherObject Second object specified only for path probes, which require twoterminal objects.

g_color Layer on which to display the probe.

t_probeType Type of the probe.Valid Values: net, path, terminal, instance.

t_displayStyle Used to determine whether to display the probe using flight linesor objects. Display style object highlights the physical objectsassociated with the probe. Display style flight highlights theterminals and draws straight flight lines between the terminals ofthe net.If t_probe_type = net, this is the way the net is displayed.Valid Values: object, flightDefault: object

l_viewTypesToCrossProbeA list of strings that indicates the view types that should becrossProbed.If nil, no cross-probes.If a list of strings, the list of view types to cross-probe.If all, cross-probe all possible view types.

t_messageString String passed to the C-level cross probe functions.

Value Returned

o_probeObject Database ID of the new probe object.

Examplesprobe = geMakeProbeWithColor(?name "myProbe"?color list( "y0" "drawing")?object list( "I1" "I2")?probeType "instance")

Probes instance I2 contained within instance I1 within the top level of the current window. Theprobe is drawn on layer (y0 drawing).

probe = geMakeProbeWithColor(?name "myProbe"?color list( "marker" "error")?object list( "/I1/I5/NET10")?probeType "net")

July 2004 236 Product Version 6.3

Page 237: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Probes net NET10 contained within instance I5 within instance I1 within the top level of thecurrent window. The probe is drawn on layer (marker error).

July 2004 237 Product Version 6.3

Page 238: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geMakeProbeWithLabel

geMakeProbeWithLabel(?window w_windowId?name t_name?object g_object?otherObject g_otherObject?label g_label?probeType t_probeType?displayStyle t_displayStyle?viewTypeList g_viewTypesToCrossProbe?message t_messageString?labelName t_labelName?labelColor l_labelColor?labelOffset l_labelOffset?labelFont t_labelFont?labelFontSize f_labelFontSize?labelJust t_labelJust?labelOrient t_labelOrient)=> o_probeObjectId

Description

Creates a probe and gives it the specified label.

The object is highlighted when found using the display attributes of the layer specified ing_label or l_labelColor. t_probeType can be net, path, terminal, orinstance. The probe type can be inferred from g_object if it is an object ID and is not aterminal.

A terminal can be part of either a terminal probe or a net probe, so the probe type can’t bederived in that case. If g_object is a path list, t_probeType must be specified since thetype cannot be derived from the name. For net probes, t_displayStyle is used todetermine whether to display the probe using flight lines or objects. Display style objecthighlights the physical objects associated with the probe. Display style flight highlights theterminals and draws straight flight lines between the terminals of the net. The default displaystyle is object.

The probe label may be specified either as g_label, which is a list of label attributes, or byspecifying specific label attributes as arguments to geMakeProbeWithLabel. The latter isusually more convenient if the predefined defaults are acceptable.

A single probe can have only one of the three display arguments (color, label, oronColor), and this function sets the label attribute. A multiple probe (same object and

July 2004 238 Product Version 6.3

Page 239: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

different display argument) can specify multiple display arguments. If g_object has alreadybeen probed, the probe becomes a multiple probe.

Arguments

w_windowId Database ID of the window that is to contain the probe.

t_name Name of the probe.

g_object Object to be probed. If a list of strings is used to specify aninstance terminal name, the list must have two elements for eachterminal name. The first element is a string of the instance name.The second element is a string of the terminal name.

g_otherObject Second object specified only for path probes, which require twoterminal objects.

g_label Label of the probe.Valid Values: t_labelName, l_labelColor,l_labelOffset, t_labelFont, f_labelFontSize,t_labelJust, t_labelOrient.These attributes are the same as those that can be specifieddirectly, and are described below. The default location of thelabel is calculated based on the type of probe.

t_probeType Type of the probe.Valid Values: instance, net, path, terminal

t_displayStyle If t_probe_type = net, then this is the way the net isdisplayed.Valid Values: object and flight.

l_viewTypesToCrossProbeA list of strings that indicates the view types that should be crossprobed.If nil, no cross-probes.If list of strings, the list of view types to cross-probe.If all, then cross-probe all possible view types.

t_messageString String passed to the C-level crossProbe functions.

t_labelName Text of probe label.

July 2004 239 Product Version 6.3

Page 240: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

l_labelColor Layer-purpose pair to be used for displaying probe label.

l_labelOffset Offset in user units from the default location to place the label.

t_labelFont Name of font to use for label.

f_labelFontSize Height in user units for the probe label.

t_labelJust Justification of probe label.

t_labelOrient Orientation of the probe label.

Value Returned

o_probeObjectId Database ID of the new probe object.

Exampleprobe = geMakeProbeWithLabel(?window getCurrentWindow( )?name "probe2"?object list("I2" "A1")?labelName "labelName"?labelColor list("y0" "drawing")?probeType "terminal"?displayStyle "object")

Probes terminal A1 on instance I2 of the current window.

probe = geMakeProbeWithLabel(?name "myProbe"?labelName "myProbeLabel"?labelColor list("y0" "drawing")?labelOffset 10:10?labelFont "gothic"?labelFontSize 100.?labelJust "centerCenter"?labelOrient "R90"?object list( "I1" "I2")?probeType "instance")

Has exactly the same effect as the previous example.

July 2004 240 Product Version 6.3

Page 241: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geMakeProbeWithOnColor

geMakeProbeWithOnColor(?window w_windowId?name t_name?object g_object?otherObject g_otherObject?onColor g_onColor?probeType t_probeType?displayStyle t_displayStyle?viewTypeList g_viewTypesToCrossProbe?message t_messageString)=> o_probeObjectId

Description

Creates an instance probe and gives it the specified color.

The object is highlighted when found using the display attributes of layer g_onColor. Thisfunction only works with instance probes. You can specify other types of probes, but they willnot display. t_probeType can be net, path, terminal, or instance. The probe typecan be inferred from g_object if it is an object ID and is not a terminal.

A terminal can be part of either a terminal probe or a net probe, so the probe type can’t bederived in that case. If g_object is a path list, t_probeType must be specified becausethe type cannot be derived from the name. For net probes, t_displayStyle is used todetermine whether to display the probe using flight lines or objects. Display style objecthighlights the physical objects associated with the probe. Display style flight highlights theterminals and draws straight flight lines between the terminals of the net. The default displaystyle is object.

g_viewTypesToCrossProbe is a list of strings that indicates the view types that shouldbe cross probed. t_messageString is an optional string to be passed to C-level probefunctions.

A single probe can have only one of the three display arguments (color, label, oronColor), and this function sets the onColor attribute. A multiple probe (same object anddifferent display argument) can specify multiple display arguments. If g_object has alreadybeen probed, the probe becomes a multiple probe.

Arguments

w_windowId Database ID of the window that is to contain the probe.

July 2004 241 Product Version 6.3

Page 242: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

t_name Name of the probe.

g_object Object to be probed. It can be an instance, a net, or a terminal,and is specified either by the database ID of the object or by a listof strings describing a path to the object. The strings are inmemInst format, which is needed for iterated instances andmosaics. If the database ID of the object is used, the path isderived from the hierarchical path from the top level ofw_windowId to the object.

g_otherObject Second object specified only for path probes, which require twoterminal objects.

g_onColor Layer on which to display the probe.

t_probeType Type of the probe.Valid Values: instance, net, path, terminal

t_displayStyle If t_probe_type = net, then this is the way the net isdisplayed.Valid Values: object or flight.

g_viewTypesToCrossProbeIf nil, no cross-probes.If list of strings, the list of view types to cross-probe.If all, then cross-probe all possible view types.

t_messageString String passed to the C-level crossProbe functions.

Value Returned

o_probe_objectId Database ID of the new probe object.

Exampleprobe = geMakeProbeWithOnColor(?name "myProbe"?onColor list( "y0" "drawing")?object list( "I1" "I2")?probeType "instance")

Probes instance I2 contained within instance I1 within the top level of the current window. Theprobe is drawn on layer (y0 drawing).

July 2004 242 Product Version 6.3

Page 243: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

gePrintAllProbe

gePrintAllProbe([ w_windowId ][ p_port ])=> t / nil

Description

Prints a list of the probes in a window.

All the attributes of the probe are printed.

Arguments

w_windowId Database ID of the window from which you want a list of probes.The default is the current window.

p_port SKILL port printed out to.Default: p_port

Value Returned

t The list of probes is created,.

nil There are no probes in the window.

Exampleport = outfile( "myFile")gePrintAllProbe( hiGetCurrentWindow( ) port)

The attributes of all probes in the current window are printed in a text file called myFile inthe current directory.

July 2004 243 Product Version 6.3

Page 244: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geProbeP

geProbeP(o_probe)=> t / nil

Description

Checks if the value passed in is a probe.

Arguments

o_probe Handle to a probe object.

Value Returned

t The object passed in is a probe.

nil The object passed is not a probe.

Exampleif( geProbeP( myObject) thenwarn( "Object %L is not a probe\n" myObject ) )

July 2004 244 Product Version 6.3

Page 245: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geRegCrossProbeTrigger

geRegCrossProbeTrigger(g_ilFuncx_priorityt_name)=> t / nil

Description

Registers a trigger function for cross probing.

Arguments

g_ilFunc The symbol of the client’s cross probe trigger function.

x_priority An integer representing the trigger priority.

t_name A string used for identification only.

Value Returned

t Registers a trigger function for cross probing.

nil Does not register a trigger function.

Example:geRegCrossProbeTrigger(’myXProbeTrigger 1 "DEMO")

Registers the trigger function myXProbeTrigger as priority 1 for cross probing.

July 2004 245 Product Version 6.3

Page 246: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSaveProbe

geSaveProbe([ w_windowId ][ p_port ])=> t / nil

Description

Saves probes to a port.

The probes are saved in the file by dumping out the entire property list associated with theprobe. This enables the probe to be restored because the necessary information is in theproperty list. This also allows the restoring of any user defined or application-specificproperties that might have been put on the probes.

Arguments

w_windowId Database ID of the window containing the probes you wantsaved. If not specified, the current window is used.

p_port Port to save the probe information through. If p_port is notspecified, the probes are stored into the file probe.out.

Value Returned

t A probe was found and saved.

nil A probe was not found and saved

Examplem = outfile( "/tmp/myProbes.out" )

geSaveProbe( window(3) m )

Writes out all probes in window(3) to the file /tmp/myProbes.out.

July 2004 246 Product Version 6.3

Page 247: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetCrossProbeValue

geSetCrossProbeValue(t_viewTypeName[ g_value ])=> t / nil

Description

Sets the view types to cross-probe.

The crossProbe form is created only on the first addProbe menu command. If this function iscalled before the crossProbe form is created, then a list of defaults is accumulated. Duringthe creation of the crossProbe form, the default list is checked to see if the value on the formdefaults to true.

Arguments

t_viewTypeName Name of a view type to cross-probe. The crossProbe form isinitialized with this value if the form is not created yet or if the formhas a value corresponding to this value set on the existingcrossProbe form. This argument can be set to all or none.

g_value Value assigned to crossProbe.

Value Returned

t Returns t by default.

nil If t_viewTypeName is all or none, this value is ignored.

ExamplegeSetCrossProbeValue( "graphic" t )

Set to cross probe graphic view types by default.

July 2004 247 Product Version 6.3

Page 248: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetProbeNetStopLevel

geSetProbeNetStopLevel(x_netDisplayStopLevel)=> t / nil

Description

Sets the display stop level of net probes.

Since a net can traverse many levels of hierarchy, this function controls how many levels thenet probe should traverse. This stop level is relative to the current level of the hierarchy. Thus,the default setting of 0 only shows the net probe in the current level. This stop level is a globalvariable, and thus affects all net probes in all windows.

Arguments

x_netDisplayStopLevelDisplay stop level of net probes relative to the current level ofhierarchy.

Value Returned

t The display stop level is set.

nil The display stop level is not set.

ExamplegeSetProbeNetStopLevel( 20 )

Causes all net probes to be displayed to the lowest level of hierarchy.

July 2004 248 Product Version 6.3

Page 249: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSetProbeUserLPP

geSetProbeUserLPP(l_lpp)=> t / nil

Description

Sets the layer-purpose pair to be used by the geAdd*Probe functions if no layer-purposepair is passed in to these functions.

This function overrides the cycling of layers y0 through y9 with purpose drawing. This is aglobal variable.

Arguments

l_lpp Layer-purpose pair to use for successive probing operations.

Value Returned

t The layer was set.

nil The layer was not set.

ExamplegeSetProbeUserLPP( list( "marker" "error" ) )

Sets the default probe layer to be the error marker layer.

July 2004 249 Product Version 6.3

Page 250: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geiLoadProbe

geiLoadProbe([ w_windowId ])=> t

Description

Displays the Load Probes form.

The probe file name is specified in this form. All probes saved in this file are loaded in thewindow.

Arguments

w_windowId Database ID of the window.

Value Returned

t The Load Probes form is displayed.

July 2004 250 Product Version 6.3

Page 251: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geiSaveProbe

geiSaveProbe([ w_windowId ])=> t

Description

Displays the Save Probes form.

The probe file name is specified in this form. All probes in the window are saved in this file.

Arguments

w_windowId Database ID of the window.

Value Returned

t The Save Probes form is displayed.

July 2004 251 Product Version 6.3

Page 252: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Icon Creation and Loading Functions

geCellViewToDlist

geCellViewToDlist(d_cellViewId)=> l_dlist / nil

Description

Returns a display list of all the objects in a cellview.

The display list contains a display function for each object in d_cellViewId and in allinstances contained within its hierarchy.

Arguments

d_cellViewId Database ID of the cellview whose contents are to berepresented as a list.

Value Returned

l_dlist Returns a list representing the contents of d_cellViewId.

nil Returns nil if the cellview contains no objects.

ExamplegeCellViewToDlist( window(2)—>editCellView )

Returns a list made from the objects in the cellview being edited in window(2).

July 2004 252 Product Version 6.3

Page 253: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geLoadIcon

geLoadIcon([ t_iconName ][ t_fileName ][ x_width ][ x_height ][ x_bgColor ])=> t / nil

Description

Creates an icon from a SKILL file.

This function loads SKILL code in t_fileName and takes the resulting Dlist, which musthave the name t_iconName, and creates an icon with dimensions x_width andx_height, and using pixel value x_bgColor for the background. If any of the argumentsare defaulted, a form is displayed prompting you to enter those values. The actual backgroundcolor of the icon depends on which color (if any) is mapped to pixel value x_bgColor in thecurrent technology file. The newly created icon is assigned to the symbol t_iconName. Thisicon can be used in any user interface function that takes an icon as an argument.

Arguments

t_iconName Name given to the icon.

t_fileName File in which the icon data is to be found.

x_width Pixel width of the new icon.

x_height Pixel height of the new icon.

x_bgColor Background pixel value of the new icon.

Value Returned

t The icon was successfully loaded.

nil The icon was not successfully loaded.

July 2004 253 Product Version 6.3

Page 254: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

ExamplegeLoadIcon( "myIcon" "myIconFile" 40 40 2 )

Loads icon data from the file myIconFile, creates an icon named myIconwhich is 40 pixelssquare and has pixel value 2 as its background color.

July 2004 254 Product Version 6.3

Page 255: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geSaveIcon

geSaveIcon([ w_windowId ][ t_iconName ][ t_fileName ])=> t / nil

Description

Saves a cellview as a SKILL icon file.

This function creates a Dlist from w_windowId->editCellView, and stores the Dlist int_fileName. The file contains SKILL code which recreates the Dlist when loaded. TheSKILL code assigns the recreated Dlist to a symbol with t_iconName as its print name. Ifw_windowId is defaulted, the current window is used. If t_iconName or t_fileNameis defaulted, a form is displayed allowing you to enter these values.

Arguments

w_windowId Database ID of the window containing the cellview to be savedas an icon file.

t_iconName Name given to the icon.

t_fileName File in which to save the icon data.

Value Returned

t The icon was successfully written.

nil The icon was not successfully written.

ExamplegeSaveIcon( window(2) "myIcon" "myIconFile" )

Writes icon data derived from the edit cellview in window(2) to the file myIconFile andnames the icon myIcon.

July 2004 255 Product Version 6.3

Page 256: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geUnRegCrossProbeTrigger

geUnRegCrossProbeTrigger(s_ilFunc)=> t / nil

Description

Removes the cross probe trigger, if one is registered.

Arguments

s_ilFunc The symbol of the client’s cross probe trigger function.

Value Returned

t The cross probe trigger is removed.

nil The cross probe trigger is not removed.

July 2004 256 Product Version 6.3

Page 257: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Utility Functions

geClosePolygon

geClosePolygon(d_cellViewIdl_pointst_snapMode)=> t / nil

Description

Creates a closed polygon from a list of points.

The function assumes that the last point is the same as the first point specified.

Arguments

d_cellViewId Database ID of the cellview to contain the polygon.

l_points Lists of points used to create the polygon.

t_snapMode Specifies whether snap mode is on.

Value Returned

t The polygon is created.

nil The polygon is not created.

ExamplegeClosePolygon( cell3 list(0:0 10:0 10:10) nil )

Creates a right triangle in cell3.

July 2004 257 Product Version 6.3

Page 258: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCompressPointArray

geCompressPointArray(d_cellViewIdl_pointsg_closedList)=> l_pointList / nil

Description

Searches a point list in a cellview for colinear points and deletes the intermediate colinearpoints.

Arguments

d_cellViewId Database ID of the cellview to search.

l_points List of points to search.

g_closedList Either t or nil to specify whether the list is a closed list or not.

Value Returned

l_pointList A list of coordinates representing the compressed point array.

nil The intermediate colinear points are not deleted.

ExamplegeCompressPointArray( geGetEditCellView( ) list(0:0 10:0 20:0 20:20 0:20 0:0) t )=> ((0.0 0.0)(20.0 0.0)(20.0 20.0)(0.0 20.0))

Deletes the vertex at the point 10:0 from the closed list in the cellview returned bygeGetEditCellView.

July 2004 258 Product Version 6.3

Page 259: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCoordp

geCoordp(coord)=> t / nil

Description

Determines whether the data supplied bycoord is a point coordinate.

Arguments

coord Data to check.coord can be of any type.

Value Returned

t The data is the coordinates of a point.

nil The data is not the coordinates of the point.

ExamplesgeCoordp(10:10)

Returns t.

geCoordp("myCell")

Returns nil.

July 2004 259 Product Version 6.3

Page 260: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geGetInstTransform

geGetInstTransform(d_InstId)=> list( list( xOffset yOffset ) rotation magnification )

or

geGetInstTransform(list( dbInstId dbInstId ...))=> list( list( xOffset yOffset ) rotation magnification )

Description

Evaluates a path to an instance returned by dbGetTrueOverlaps and concatenates theoverall offset, transform, and magnification of the instance placed within the design hierarchy.The value returned by geGetInstTransform is a three member list containing the valuesof the three variables mentioned above. This transform list can be passed to the functionsdbCopyFig or dbMoveFig as their third argument to copy or move the shape to thecellView passed to dbGetTrueOverlaps as its first argument.

Arguments

d_InstId This can be a single instId, or a list of instIds in order fromtop to bottom which describes a hierarchical path to an instanceat a lower level.

Value Returned

xOffset yOffset The float values of the x and y offsets.

rotation A string that is the value of the rotation.

magnification The amount of magnification as a float.

ExamplegeGetInstTransform(list(topInstId middleInstId bottomInstId))=> ((-3.1 0.9) "R0" 1.0)

July 2004 260 Product Version 6.3

Page 261: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geInstIdToFileSpec

geInstIdToFileSpec(d_instIdt_mode)=> l_fileSpec

Description

Creates a fileSpec (disassociated property list) from the data in an instance and the givenmode.

Arguments

d_instId Database ID of the instance.

t_mode Mode used in the fileSpec.Valid Values: r (read), a (append), w (overwrite).

Value Returned

l_fileSpec The filled-out fileSpec. fileSpec contains the followinginformation:list(nil’libName instId~>libName’libId instId~>master~>lib’viewName instId~>viewName’viewType

instId~>master~>cellViewType’viewId instId~>master~>view’cellName instId~>cellName

’configName instId~>master~>lib~>openedConfig~>name’viewNameList nil’accessMode mode’instId instId’hierarchy ""))

July 2004 261 Product Version 6.3

Page 262: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

ExamplegeInstIdToFileSpec( inst3 "a" )

Creates a fileSpec of the instance inst3 with append mode.

July 2004 262 Product Version 6.3

Page 263: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsPathReentrant

geIsPathReentrant(d_cellViewIdl_pointsn_width[ t_style ][ n_beginExt ][ n_endExt ])=> t / nil

Description

Determines whether a path is self-intersecting.

In a self-intersecting path, one part of the path overlaps another part of the path. The systemcalculates the outline of the path using the other arguments.

Arguments

d_cellViewId Database ID of the cellview containing the path to check.

l_points List of points making up the path.

n_width Width of the path.

t_style String defining an optional path style. If no style is given, thedefault is truncateExtend.Valid Values: truncateExtend, extendExtend,roundRound, varExtendExtend

n_beginExt Beginning path extension.Default: 0.0

n_endExt Ending path extension.Default: 0.0

Value Returned

t The path is self-intersecting.

nil The path is not self-intersecting.

July 2004 263 Product Version 6.3

Page 264: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

ExamplesgeIsPathReentrant( geGetEditCellView( ) list( 0:0 10:10 0:10 10:0 ) 3.0"truncateExtend" 1.0 0 )

Returns t.

geIsPathReentrant( geGetEditCellView( ) list( 0:0 10:10 0:10 3.0 )

Returns nil.

July 2004 264 Product Version 6.3

Page 265: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geIsPolygonReentrant

geIsPolygonReentrant(d_cellViewIdl_points)=> t / nil

Description

Determines whether a polygon is self-intersecting.

In a self-intersecting polygon, one part of the polygon overlaps another part of the polygon.Self-touching is not considered self-intersecting.

Arguments

d_cellViewId Database ID of the cellview containing the polygon to check.

l_points List of polygon points.

Value Returned

t The polygon is self-intersecting.

nil The polygon is not self-intersecting.

ExamplegeIsPolygonReentrant( geGetEditCellView( ) list( 0:0 10:0 10:5 5:5 5:0 0:5 ) )

This polygon is self-touching, but not self-intersecting. Returns nil.

geIsPolygonReentrant( geGetEditCellView( ) list( 0:0 10:010:5 5:5 5:-5 0:-5 ) )

This polygon is self-intersecting. Returns t.

July 2004 265 Product Version 6.3

Page 266: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geOpen

geOpen(?window w_windowId?lib t_lib?cell t_cell?view t_view?viewType t_viewType?mode t_mode)=> t / nil

Description

Opens a design in a new window.

The cell has the library t_lib, cell name t_cell, and view name t_view. Versiont_version of the cell is opened in access mode t_mode.

Arguments

w_windowId Database ID of the window in which to open the cell.

t_lib Name of the library containing the cell.

t_cell Name of the cell.

t_view View of the cell. For example: layout, symbol, or schematic.

t_viewType Type of data to open. For example: maskLayout,schematic.

t_mode Access mode of the cell.Valid Values: r (read), a (append)

Value Returned

t The cell opens.

nil The cell does not open.

July 2004 266 Product Version 6.3

Page 267: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

ExamplegeOpen( ?windowi hiGetCurrentWindow( ) ?lib "mylib"?cell "mycell" ?view "layout" ?viewType "maskLayout" ?mode "a" )

=> window:3

Opens the layout view of mycell in window:3 in edit mode.

July 2004 267 Product Version 6.3

Page 268: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geQuerySelSet

geQuerySelSet([ w_windowId ])=> t / nil

Description

Displays the properties of each object in the selected set.

Arguments

w_windowId Database ID of the window containing the selected set. If now_windowId is specified, the current window is used.

Value Returned

t Selected objects are found.

nil Selected objects are not found.

ExamplegeQuerySelSet( window3 )

Displays a properties form for each object in the selected set in window3.

July 2004 268 Product Version 6.3

Page 269: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geResetCellView

geResetCellView(d_cellViewId)=> t / nil

Description

Redisplays the last saved version of a cellview.

Arguments

d_cellViewId Database ID of the cellview to reset.

Value Returned

t The cellview is reset.

nil The cellview is not reset.

ExamplegeResetCellView( cell2 )

Reverts to the last saved cellview of cell2.

July 2004 269 Product Version 6.3

Page 270: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geTransformUserBBox

geTransformUserBBox(l_pointl_list)=> l_bBox_new

Description

Transforms a coordinate pair or list of coordinate pairs by the displacement and rotationpassed in. Similar to geTransformUserPoint but always uses exactly two coordinate pairsas arguments and always resolves the resulting pair of coordinate pairs such that the firstcoordinate pair is the lower left corner and the second coordinate pair is the upper right cornerof the resulting box.

Arguments

l_point Coordinate pair to be transformed.

l_list List of the following: displacement vector for the transformation,rotation or reflection for the objects, and magnification of theobject.

Value Returned

l_bBox_new The bounding box resulting from transformation.

ExamplegeTransformUserBBox(list(1.5:2.5 0:10) list(10:20 "R90"))

=> (0.0 21.5) (7.5 20.0)

July 2004 270 Product Version 6.3

Page 271: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geTransformUserPoint

geTransformUserPoint(d_pointl_list)=> l_point / nil

Description

Transforms a coordinate pair by the displacement and rotation passed in.

For each coordinate pair defined by the first argument, the corresponding coordinate pair inthe result is derived by

■ Rotating or reflecting the coordinate pair about the point (0,0)

■ Translating the result of the reorientation by the displacement vector

geTransformUserPoint performs calculations and is not related to any database object.It can be used in calculating, for example, where a certain shape (such as a pin on the master)within an instance of a cell ends up, given the location and orientation of the cell.

Arguments

d_point Point to be transformed.

l_list List of the following: displacement vector for the transformation(offset), rotation or reflection for the objects (orientation), andoptional magnification.Valid values for rotation and reflection: R90, R180, R270, MX, MY

Value Returned

l_point A list of points is returned if the transformation occurs.

nil No transformation occurs.

ExamplegeTransformUserPoint((1.5:2.5) list(0:10 "R90"))

=> (-2.5 11.5)

July 2004 271 Product Version 6.3

Page 272: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geValidateWindow

geValidateWindow([ w_windowId ])=> w_windowId / nil

Description

Verifies the database ID of a window.

Verifies that a graphics cellview is installed in the window. Returns an error if w_windowIdis not a graphics window.

Arguments

w_windowId Database ID of the window.

Value Returned

w_windowId The window exists.

nil The window does not exist.

ExamplegeValidateWindow( window10 )

Returns window:123456, the database ID of window10.

July 2004 272 Product Version 6.3

Page 273: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geWriteCellView

geWriteCellView(d_cellViewIdt_libNamet_cellNamet_viewName[ t_version ][ d_contextId ])=> t / nil

Description

Creates a copy of a cellview.

Arguments

d_cellViewId Database ID of the window containing the design to copy.

t_libName Library name in which the cellview is created.

t_cellName New cell name for the design.

t_viewName New view name for the design.

t_version This argument is ignored in 4.4 and 5.0, but is left in forcompatibility.

d_contextId Database ID of the context for the cell.

Value Returned

t The cellview is written.

nil The cellview is not written.

ExamplegeWriteCellView( cell1 "mylib" "mycell" "layout" )

Creates a copy of the cellview cell1 in mylib with the name mycell and the view layout.

July 2004 273 Product Version 6.3

Page 274: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Microwave Object Functions

geCreateBend

geCreateBend(d_cellViewIdtx_layer[ t_purpose ]l_pointsf_width1f_width2t_bendStylef_bendFacf_radFacf_chamFacx_nPtsToPI)=> d_bendId / nil

Description

Creates a transmission line bend in a cellview.

Arguments

d_cellViewId Database ID of the cellview in which the transmission line bendis created.

tx_layer Layer on which the transmission line bend is created.Valid Values: any valid layer name

t_purpose Optional purpose for the transmission line bend.Valid Values: any valid SKILL layer purpose

l_points List of points used to create the transmission line bend. The pointlist must contain exactly three points.

f_width1 Specifies the width of the first end of the bend.Valid Values: any number greater than zero in user units

f_width2 Specifies the width of the second end of the bend.Valid Values: any number greater than zero in user units

July 2004 274 Product Version 6.3

Page 275: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

t_bendStyle Specifies the type of corner to be use for the bend. (Refer to theVirtuoso Layout Editor User Guide for descriptions andillustrations of the bend styles available.)Default Value: bendValid Values: bend, chamfer, or radial

f_bendFac The maximum width allowed in a standard bend before the bendis automatically chamfered. (Refer to the Virtuoso LayoutEditor User Guide for further details.)Default Value: 1Valid Value: any number

f_radFac The ratio of the centerline bend width to the transmission linewidth for a radial bend.Valid Value: any number

f_chamFac The fraction of the corner that is removed in a chamfer bend.Valid Value: a number between 0 and 1

x_nPtsToPI The number of segments in a 180-degree radial bend.Default Value: 20Valid Value: any integer greater than 1

Value Returned

d_bendId The database ID of the dbLine that represents the transmissionline bend if the transmission line bend is created.

nil The transmission line is not created.

ExamplegeCreateBend( "cell2" "metal1R" list(4:4 8:12 4:20) 4.0 6.0 "radial"1 3.0 0.6 20.0)

Creates a transmission line bend in cellview cell2 on layer metal1R along the coordinates4:4, 8:12, and 4:20. The width of the first end of the bend is 4 and the width of the secondend of the bend is 6. The bend style is radial. Returns the database ID of the dbLine thatrepresents the transmission line.

July 2004 275 Product Version 6.3

Page 276: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCreateTaper

geCreateTaper(d_cellViewIdtx_layerl_pointsf_width1f_width2t_taperStylex_nPtsToTaper)=> d_taperId / nil

or

geCreateTaper(d_cellViewId( tx_layer [ t_purpose ] )l_pointsf_width1f_width2t_taperStylex_nPtsToTaper)=> d_taperId / nil

Description

Creates a tapered transmission line in a cellview.

Arguments

d_cellViewId Database ID of the cellview containing the transmission linetaper.

tx_layer Layer on which to create the transmission line taper.Valid Values: any valid layer name

t_purpose Optional purpose for the transmission line taper.Valid Values: any valid layer purpose

l_points Points used to create the transmission line taper. The point listmust contain exactly two points.

f_width1 Specifies the width of the first end of the taper.Valid Values: any number greater than zero in user units

July 2004 276 Product Version 6.3

Page 277: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

f_width2 Specifies the width of the second end of the taper.Valid Values: any number greater than zero in user units

t_taperStyle Specifies the type of taper to be created. (Refer to the VirtuosoLayout Editor User Guide for descriptions and illustrations ofthe taper styles available.)Default Value: linear.Valid Values: linear and exponential.

x_nPtsToTaper The number of segments to use in approximating the shape ofthe taper.Valid Value: any integer greater than 1

Value Returned

d_taperId The database ID of the dbLine that represents the taperedtransmission line if the transmission line taper is created.

nil The transmission line taper is not created.

ExamplegeCreateTaper( cell2 "metal1R" list(0:0 12:12) 4 6 linear 20)

Creates a tapered transmission line in the cellview cell2 on layer metal1R from 0:0 to12:12. The width of the first end of the taper is 4, and the width of the second end of the taperis 6. The bend style is linear and 20 segments are used to approximate the shape of thetaper. Returns the database ID of the dbLine the represents the tapered transmission line.

July 2004 277 Product Version 6.3

Page 278: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

geCreateTrl

geCreateTrl(d_cellViewIdtx_layert_purposel_pointsf_widtht_bendStylef_bendFacf_radFacf_chamFacx_nPtsToPI)=> d_trlId / nil

or

geCreateTrl(d_cellViewId( tx_layer [ t_purpose ] )l_pointsf_widtht_bendStylef_bendFacf_radFacf_chamFacx_nPtsToPI)=> d_trlId / nil

Description

Creates a transmission line in a cellview.

Arguments

d_cellViewId Database ID of the cellview in which the transmission line iscreated.

tx_layer Layer on which to create the transmission line.Valid Values: any valid layer name

t_purpose Optional purpose for the transmission line.Valid Values: any valid layer purpose

l_points List of points used to create the transmission line.

July 2004 278 Product Version 6.3

Page 279: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

f_width Width of the transmission line.Valid Values: any number greater than zero in user units

t_bendStyle Bend style for the transmission line. (Refer to the VirtuosoLayout Editor User Guide for descriptions and illustrations ofthe bend styles available.)Default Value: bendValid Values: bend, chamfer, and radial.

f_bendFac The maximum width allowed in a standard bend before the bendis automatically chamfered. (Refer to the Virtuoso LayoutEditor User Guide for further details.)Default Value: 1Valid Value: any number

f_radFac The ratio of the centerline bend width to the transmission linewidth for a radial bend.Valid Value: any number

f_chamFac The fraction of the corner that is removed in a chamfer bend.Valid Value: a number between 0 and 1

x_nPtsToPI The number of segments in a 180-degree radial bend.Default Value: 20Valid Value: any integer greater than 1

Value Returned

d_trlId The database ID for the dbLine that represents the transmissionline if the transmission line is created.

nil The transmission line is not created.

ExamplegeCreateTrl( cell2 "metal1R" list(0:0 10:0 10:10) 4 radial 1 3 0.6 20)

Creates a transmission line in cellview cell2 on layer metal1R along the coordinates 0:0,10:0, and 10:10. The width of the transmission line is 4 and the bend style is radial.Returns the database ID of the dbLine that represents the transmission line.1pf

July 2004 279 Product Version 6.3

Page 280: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

Mouse Functions

Mouse functions change the mode of the point selection in the current window. Thesefunctions are set up to be used as mouse bindkeys.

July 2004 280 Product Version 6.3

Page 281: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

mouseAddPt

mouseAddPt( )

Description

Adds the point at the location where you clicked the mouse button to the enterfunction in thecurrent window.

Arguments

None.

July 2004 281 Product Version 6.3

Page 282: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

mouseAddSelectPt

mouseAddSelectPt( )

Description

Performs an add mode point selection at the point you click in the current window.

Arguments

None.

July 2004 282 Product Version 6.3

Page 283: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

mouseFinishPt

mouseFinishPt( )

Description

Adds the point at the location where you clicked the mouse button to the enterfunction in thecurrent window and completes the enterfunction, if possible.

Arguments

None.

July 2004 283 Product Version 6.3

Page 284: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

mousePopUp

mousePopUp( )

Description

Displays the popup menu associated with the given windowId, which must be a valid datastructure returned by a call to hiOpenWindow or hiCreateWindow.

Arguments

None.

July 2004 284 Product Version 6.3

Page 285: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

mouseSingleSelectPt

mouseSingleSelectPt( )

Description

Performs a single mode point selection at the point you click in the current window.

Arguments

None.

July 2004 285 Product Version 6.3

Page 286: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

mouseSubSelectPt

mouseSubSelectPt( )

Description

Performs a submode point selection at the point you click in the specified window.

Arguments

None.

July 2004 286 Product Version 6.3

Page 287: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

mouseUndoPt

mouseUndoPt( )

Description

Deletes the point at the location where you clicked the mouse button to the enterfunction andcancels the enterfunction in the current window.

Arguments

None.

July 2004 287 Product Version 6.3

Page 288: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceGraphics Editor

July 2004 288 Product Version 6.3

Page 289: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

2Database Access

Before reading this chapter, you need to be familiar with the basics of the SKILL languageand the concepts used in the design framework II unified database. This chapter describesthe SKILL functions used to create, modify, and delete Cadence® database objects.

■ Data Stored as Objects on page 290

■ Database Access Functions for Inherited Connections on page 301

■ Cellview Input/Output Functions on page 325

■ Shape Creation and Retrieval Functions on page 375

■ Shape Conversion Functions on page 390

■ Instance Creation and Retrieval Functions on page 397

■ Mosaic Creation and Retrieval Functions on page 421

■ Figure Creation and Retrieval Functions on page 427

■ Property Creation and Modification Functions on page 444

■ Group Creation and Modification Functions on page 463

■ Connectivity Creation and Modification Functions on page 471

■ Object Deletion Function on page 496

■ Shape Transformation Functions on page 498

■ Connectivity Access Functions on page 512

■ Pin Connection Functions on page 526

■ Attribute Retrieval Functions on page 542

■ Attribute Modification Functions on page 545

■ Property Bag Functions on page 547

■ Layer Boolean Functions on page 567

July 2004 289 Product Version 6.3

Page 290: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

■ Hierarchy Database Functions on page 580

■ Parent/Child Database Functions on page 612

■ OpenAccess Functions on page 629

■ Description of Database Objects on page 642

Data Stored as Objects

All Cadence tools use the Design Framework II unified database; a binary database thatstores data as “objects.” There are many types of objects, each representing a distinctconcept in the world of electronic design automation. Examples of object types includerectangles, terminals, instances, and cellviews.

The Design Framework II database can store both physical and logical information about adesign. Physical information is stored in objects such as geometrical shapes and an IC layout.Logical information is stored in objects such as nets or schematics, which can exist withoutany corresponding physical realizations.

Database Types

Design Framework II now supports two database types, CDBA and OpenAccess. There is afunction to determine which database type is supported by the current executable.

dbGetDatabaseType

dbGetDatabaseType()=> CDBA / OpenAccess

Description

Returns CDBA when called from a regular CDBA executable, and OpenAccess when calledfrom an OpenAccess executable.

Arguments

None.

July 2004 290 Product Version 6.3

Page 291: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

CDBA When called from a regular CDBA executable.

OpenAccess When called from OpenAccess.

Object Identifier (dbObject)

To access an object in the database, you must use a label known as the object identifier orID. Each ID uniquely identifies a database object and is represented by the special typedbObject. Only database routines can create IDs, and you cannot alter IDs directly. When youuse a function that operates on a database object, you must also give the ID as an argumentto the function.

In programming terms, a variable of dbObject type represents the ID of an object in thedatabase. If you delete the database object identified by a dbObject variable, that dbObjectvariable is invalid and cannot be used to do any database operation.

The delete and inter-cellview move commands in the Graphics Editor can destroy existingdatabase objects and invalidate a dbObject ID. In addition, closing the last reference to acellview (for example, closing the last Graphics Editor window the cellview is displayed in ordirectly calling dbClose or dbPurge) purges the cellview from virtual memory. This actionmakes obsolete all IDs of database objects stored in that cellview.

Object Types and Classes

Each object is associated with a type, and each object type has a set of attributes thatdescribe the object.

An object class is a data-type abstraction that groups related object types into a class. Objectclasses are created when a number of distinct object types share enough attributes that theycan be discussed as a single class, without being concerned about the exact object type.

The different types and classes of objects form a class hierarchy. At the top of the hierarchyis a class containing all types. At the bottom of the hierarchy, each leaf node represents anobject type that can be created, deleted, and saved on disk. Each node in the hierarchy hasattributes that are common to all of its children. Geometrical shapes, for example, have thecommon attributes of layer, purpose, and bounding box.

July 2004 291 Product Version 6.3

Page 292: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Object Attributes

Each object type has a predefined set of attributes that you can retrieve using type-specificaccess functions. There are three types of attributes:

■ Mandatory

Mandatory attributes must be specified at the time you create an object. Most attributesfall into this category.

■ Optional

Optional attributes may or may not exist for a particular object. These attributes do notneed to be specified at the time you create an object. You can add them to the object atany time.

■ Derived

These attributes are derived from the object’s other attributes. You have read-onlyaccess to derived attributes. Derived attributes cannot be stored in the database, butthey play an important role in speeding up repetitive computation.

A complete list of attributes is found starting with Figure 2-2 on page 642.

Object Properties

An object property has a name and a value, such as a Boolean value, an integer, a floating-point number, a string, or a representation of time. You can attach an arbitrary number ofproperties to an object. Use properties to store different kinds of information and asmechanisms for extending the basic schema of the database.

Differences Between Attributes and Properties

The most important distinction between attributes and properties is that attributes arepredefined and managed by the database, while properties are defined and managed byapplications built on top of the database. This distinction is often blurred because someinformation currently stored as properties is also essential to the system’s operation.

Properties are not mandatory as far as the database is concerned; however, some propertiesare essential to the operation of certain applications (for example, netlisting, Place and Route,and so forth). Within these applications, such properties can be considered mandatory.

The database access operator (~>) works on both attributes and properties associated witha given database object. Because the name of an attribute or a property can be specified onthe right-hand side of the operator, attributes and properties share a single name space. For

July 2004 292 Product Version 6.3

Page 293: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

this reason, in earlier documentation attributes and properties were lumped together andreferred to as “properties.” For the “~>” operator, attributes always have precedence overproperties, which means that you cannot access a property that has the same name as anattribute using the “~>” operator.

Relationships Among Objects

The Cadence database stores many predefined relationships among different types ofobjects. Some relationships are automatically kept by the database, while other inter-objectrelationships must be explicitly created and maintained by applications.

Some relationships in the database are mandatory, for example, each terminal must beattached to a net. Application programs cannot, therefore, create a terminal withoutspecifying the net it connects to. Mandatory relationships are very often unidirectional; forexample, it is acceptable to have a net that does not connect to a terminal.

Some relationships in the database are optional. Objects can be created independently nowwith a relationship created later by an application.

When a predefined relationship is one-to-one or many-to-one, there is an access function (inthe form of a pseudo-attribute) to go from the source object to the object it relates to. Whena predefined relationship is a one-to-many relationship, there is an access function (in theform of a pseudo-attribute) that returns a list of the objects contained in the relationship.

Access Function Argument Types

A function argument is of a particular type, which are generally obvious from the name of theargument. The following list describes those types that are not obvious from the functiondescription.

Type l_bBox

A list of two l_point arguments describing the bounding box of an object. The first point in thelist is the xy coordinates of the lower-left corner of the bounding-box; the second point is thexy coordinates of the upper-right corner.

Examples:

list(list(0 0) list(10 100))list(0:0 10:100)

July 2004 293 Product Version 6.3

Page 294: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Type l_group

A list of strings describing a group’s type. See Figure 2-2 on page 678 that describes groupattributes. The recognized strings and their definitions are

Type l_LP

A list containing the layer and purpose. See Figure 2-2 on page 653 that describes layer-purpose pair (LP) attributes.

Example:

list( tx_layer tx_purpose)

Type l_point

A list of two coordinates describing an xy location. Each coordinate is defined as an integer.

Examples:

list(0 100)0:100

A list of l_point arguments.

collection The group can contain a dbObject more than once.

set The group can contain a dbObject only once.

ordered The order of the group members is significant. You establish andmaintain the ordering through calls to add dbObjects to a groupand calls to move group members within an ordered group. Theinitial order is determined by the sequence in which dbObjects areadded to the ordered group.

unordered The order of the group members is insignificant.

nonUniqueName Many groups within the same cellview have the same name.

uniqueName Each group within the same cellview has a unique name.

deleteNever Do not delete the group automatically.

deleteFirst Automatically delete the group when the first group member isdeleted.

deleteLast Automatically delete the group when the last group member isdeleted.

July 2004 294 Product Version 6.3

Page 295: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Examples:

list(list(0 0) list(10 10) list(100 100))list(0:0 10:10 100:100)

Type l_string

A list of strings. There is no restriction on the string values.

Example:

list("dog" "cat" "horse" "")

Type l_transform

A list describing the transformation. The list contains the following elements in the specifiedorder:

Examples:

list(10.0:2.0 "R90" 2.0)list(list(10.0 2.0) "R90")

Type tx_layer

A string or integer describing a layer. See Figure 2-2 on page 674 that describes therecognized strings for layers.

Example:

"hilite" or 254

Type t_direction

A string describing a terminal’s direction. The recognized strings are input, inputOutput,jumper, output, switch, unused, powerInput, powerOutput, and bidir. See Figure 2-2 onpage 668 that describes terminal attributes for an explanation of the different directions.

offset The offset from the object’s origin described as an l_point.

orient The orientation of the object described as a t_orient.

mag The magnification of the object described as a floating-point number. Thisargument is optional. If it is not specified, it defaults to 1.0.

July 2004 295 Product Version 6.3

Page 296: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Type t_font

A string describing a label’s font. The recognized strings are euroStyle (or Europe), gothic,math, roman, script, stick, swedish, fixed, and raster. See Figure 2-2 on page 657 thatdescribes label attributes for an explanation of the different fonts.

Type t_just

A string describing a label’s justification. The recognized strings are lowerLeft, lowerCenter,lowerRight, centerLeft, centerCenter, centerRight, upperLeft, upperCenter,upperRight, leftTop, leftCenter, leftBottom, centerTop, centerBottom, rightTop,rightCenter, and rightBottom. See Figure 2-2 on page 657 that describes label attributesfor an explanation of the different justifications.

Type t_orient

A string describing an object’s orientation. The recognized strings are 0, 90, 180, 270,sideways, sideways&90, upsideDown, sideways&270, R0, R90, R180, R270, MY,MYR90, MX, and MXR90. See Figure 2-2 on page 657 that describes label attributes for anexplanation of the different orientations.

Type t_pathStyle

A string describing a path’s style. The recognized strings are extendExtend, roundRound,truncateExtend, varExtendExtend, squareFlush, squareOffset, and octagonEnded.See Figure 2-2 on page 660 that describes path attributes for an explanation of the differentstyles.

Type t_prop

A string describing a property’s type. The recognized strings are: boolean, int, fileName,float, hierProp, ILExpr, ILList, NLPExpr, string, time, fixnum, integer, flonum, Boolean,ilExpr, nlpExpr, property, and ilList. See Figure 2-2 on page 677 for an explanation of thedifferent property types.

Type tx_purpose

A string or number describing a purpose. See Figure 2-2 on page 680 that describes therecognized strings for purposes.

July 2004 296 Product Version 6.3

Page 297: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Example"drawing" or 252

July 2004 297 Product Version 6.3

Page 298: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsId

dbIsId(d_id)=> t / nil

Description

Returns t if the argument is a valid database object ID, otherwise, it returns nil.

Arguments

d_id Database object ID.

Value Returned

t The argument is a valid database object ID in the currentsession.

nil The argument is an invalid database object ID in the currentsession.

ExampledbIsId( instID )

July 2004 298 Product Version 6.3

Page 299: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbValidP

dbValidP(d_id)=> t / nil

Description

Determines if the argument is a valid database object ID.

The two functions dbValidP and dbIsId perform the same action. Both are kept active forcompatability.

Arguments

d_id Database ID of the object.

Value Returned

t The argument is a valid database object ID.

nil The argument is not a valid database object ID.

July 2004 299 Product Version 6.3

Page 300: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbobjectp

dbobjectp(d_id)=> t / nil

Description

Determines if its argument is a database object.

Arguments

d_id The object can be an instance, a net, or a terminal, and isspecified either by the database ID of the object or by a list ofstrings describing a path to the object. If the database ID of theobject is used, the path is derived from the hierarchical path fromthe top level of w_windowId to the object.

Return Values

t The argument is a valid database object

nil The argument is not a valid database object.

Exampledbobjectp( netId ) => t

July 2004 300 Product Version 6.3

Page 301: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Database Access Functions for Inherited Connections

Inherited connections is an extension to the connectivity model that allows you to createglobal signals and override their names for selected branches of the design hierarchy. Thisflexibility allows you to use

■ Multiple power supplies in a design

■ Overridable substrate connections

■ Parameterized power and ground symbols

To learn about using inherited connections and net expressions with various Cadence® toolsin the design flow, refer to the Inherited Connections Flow Guide.

To learn about connectivity and naming conventions for inherited connections and how to addand edit net expressions in a schematic or symbol cellview, refer to the Composer: DesignEntry User Guide.

The following section deals with the Design Framework II SKILL Access Functions forinherited signals and inherited terminals.

July 2004 301 Product Version 6.3

Page 302: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateSigNetExpr

dbCreateSigNetExpr(d_sigIdt_netExpression)=> t / nil

Description

Given an inherited net expression in t_netExpression and a signal id in d_sigId, thisfunction attaches the inherited net expression to the given signal and adds the signal to theset of signals having inherited net expressions.

Arguments

d_sigId Specifies a signal that has the inherited net expression attachedto it.

t_netExpression Specifies the inherited net expression that gets attached to thesignal.

Value Returned

t The inherited net expression is successfully attached to thesignal.

nil The given signal does not exist, the given net expression is ofillegal syntax, or if the signal already has an inherited netexpression associated with it.

July 2004 302 Product Version 6.3

Page 303: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateTermNetExpr

dbCreatTermNetExpr(d_termIdt_netExpression)=> t / nil

Description

Given an inherited net expression in t_netExpression and a term ID, in d_termId, thisfunction attaches the inherited net expression to the given terminal and adds the terminal tothe set of terminals having inherited net expressions.

Arguments

d_termId Specifies a terminal that has the inherited net expressionattached to it.

t_netExpression Specifies the inherited net expression that attaches itself to theterminal.

Value Returned

t The operation is successful.

nil The given terminal does not exist, the given net expression is ofillegal syntax, or if the terminal already has an inherited netexpression associated with it.

July 2004 303 Product Version 6.3

Page 304: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCVHasInheritedSig

dbCVHasInheritedSig(d_cellViewid)=> t / nil

Description

Given d_cellViewId, this function checks if there is any inherited signal in the givencellview.

Argument

d_cellViewId Specifies the cellview ID.

Value Returned

t There is an inherited signal in the given cellview.

nil There is no inherited signal or the given cellview cannot beaccessed.

July 2004 304 Product Version 6.3

Page 305: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCVHasInheritedTerm

dbCVHasInheritedTerm(d_cellViewId)=> t / nil

Description

Checks whether there is any inherited terminal in the given cellview.

Arguments

d_cellviewId Specifies the cellview ID.

Values Returned

t There is an inherited terminal in the given cellview.

nil There is no inherited terminal, or the given cellview cannot beaccessed.

July 2004 305 Product Version 6.3

Page 306: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCVHasNetSetProp

dbCVHasNetSetProp(d_cellviewId)=> t / nil

Description

Determines if the netSet property is set on a cellview.

Arguments

d_cellviewId ID of the source cellview.

Value Returned

t The property is set on the cellview.

nil The property is not set.

Examplecv = dbOpenCellViewByType( “netSetLib” “test1” “schematic” “schematic” “w”)dbCVHasNetSetProp(cv) ==> t

July 2004 306 Product Version 6.3

Page 307: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeleteSigNetExpr

dbDeleteSigNetExpr(d_sigId)=> t / nil

Description

Given a signal IDin d_sigId, this function deletes any existing inherited net expressionassociated with this signal and removes it from the set of inherited signals.

Arguments

d_sigId Specifies a signal that has the inherited net expression attachedto it.

Values Return

t The inherited net expression exists on the object and issuccessfully deleted.

nil No inherited net expression belongs to the object, or if the givensignal cannot be found.

July 2004 307 Product Version 6.3

Page 308: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFix

dbFix(d_cellViewId[ ?reBind g_reBind ])=> t / nil

Description

Fixes data corruption in inherited connectivity, rectangle, and instance header.

Arguments

d_cellViewId Specifies the cellview ID.

g_reBind Specifies whether rebinding is needed.

Values Returned

t The data corruption was fixed.

nil The data corruption was not fixed.

July 2004 308 Product Version 6.3

Page 309: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeleteTermNetExpr

dbDeleteTermNetExpr(d_termId)=> t / nil

Description

Given d_termId, this function deletes any existing inherited net expression associated withthis terminal and removes it from the set of inherited terminals.

Arguments

d_termId Specifies a terminal that has the inherited net expressionattached to it.

Values Returned

t The inherited net expression exists on the object and issuccessfully deleted.

nil No inherited net expression belongs to the object, or if the giventerminal cannot be found.

July 2004 309 Product Version 6.3

Page 310: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetCellViewInheritedSig

dbGetCellViewInheritedSig(d_cellViewId)=> l_sigId / nil

Description

Retrieves from the given cell view all signals to which inherited net expressions are attached.

Arguments

d_cellViewId Specifies the cellview ID.

Value Returned

l_sigId A list of signals that have inherited expressions.

nil There are no inherited signals in the given cellview.

July 2004 310 Product Version 6.3

Page 311: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetCellViewInheritedTerm

dbGetCellViewInheritedTerm(d_cellViewId)=> l_termId / nil

Description

Retrieves from the given cell view all terminals to which inherited net expressions areattached.

Arguments

d_cellViewId Specifies the cellview ID.

Value Returned

l_termId A SKILL list of terminals that have inherited expressions.

nil There are no inherited terminals in the given cellview.

July 2004 311 Product Version 6.3

Page 312: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetSigNetExpr

dbGetSigNetExpr(d_sigId)=> t_netExpression / nil

Description

Retrieves any inherited net expression found attached to the signal.

Arguments

d_sigId A signal.

Value Returned

t_netExpression The inherited net expression.

nil No inherited net expression is found, or the given signal cannotbe found.

July 2004 312 Product Version 6.3

Page 313: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetTermNetExpr

dbGetTermNetExpr(d_termId)=> t_netExpression / nil

Description

Retrieves any inherited net expression found attached to the terminal.

Arguments

d_termId A terminal.

Value Returned

t_netExpression The inherited net expression.

nil No inherited net expression is found, or the given terminal cannotbe found.

July 2004 313 Product Version 6.3

Page 314: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsValidSigNetExpr

dbIsValidSigNetExpr(t_netExpression)=> t / nil

Description

Given an inherited net expression in the t_netExpression associated with a signal, thisfunction checks whether its syntax is valid. This function does as much local checking aspossible, but it does not detect whether the given default net name is global, nor whether theevaluation of the property results in a valid CDBA net name.

Arguments

t_netExpression The inherited net expression that gets attached to a signal.

Value Returned

t The syntax is valid.

nil The given inherited net expression is of illegal syntax.

Example[@vdd:%:vdd!] is valid syntax.

[@vdd:%] is illegal because the required default net name is missing.

[&vdd:%:vdd!] is illegal because the & character is not a valid search scopedesignator.

July 2004 314 Product Version 6.3

Page 315: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsValidTermNetExpr

dbIsValidTermNetExpr(t_netExpression)=> t / nil

Description

Given an inherited net expression in t_netExpression associated with a terminal, thisfunction checks whether its syntax is valid. This function does as much local checking aspossible, but it does not detect whether the given default net name is global nor whether theevaluation of the property results in a valid CDBA net name.

Arguments

t_netExpression The inherited net expression that gets attached to a terminal.

Value Returned

t The syntax is valid.

nil The given inherited net expression is of illegal syntax.

Example[@bulk:%:gnd!] is legal syntax.

[@bulk:%] is illegal because the required default net name is missing.

[&bulk:%:bulk!] is illegal because the & character is not a valid search scopedesignator.

July 2004 315 Product Version 6.3

Page 316: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsSigInherited

dbIsSigInherited(d_sigId)=> t / nil

Description

Given a signal id in sigId, this function checks if there is an inherited net expressionattached to it.

Arguments

d_sigId A signal.

Value Returned

t An inherited net expression is found to be attached to the givensignal.

nil There is no inherited net expression attachedto the signal, or thegiven signal cannot be found.

July 2004 316 Product Version 6.3

Page 317: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsTermInherited

dbIsTermInherited(d_termId)=> t / nil

Description

Checks whether there is an inherited net expression attached to the given terminal.

Arguments

d_termId A terminal.

Value Returned

t An inherited net expression is found to be attached to the giventerminal.

nil There is no inherited net expression attached to the signal, or thegiven terminal cannot be found.

July 2004 317 Product Version 6.3

Page 318: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbParseSigNetExpr

dbParseSigNetExpr(t_netExpression)=> t_searchScope

t_propNamet_formatStringt_defaultNetName / nil

Description

Parses the expression and returns the individual components of the expression that includethe search scope, the property name to be used in searching, the format string, and thedefault net name.

Arguments

t_netExpression The inherited net expression that gets attached to a signal.

Value Returned

t_searchScope Search scope.

t_propName The property name to be used in searching.

t_formatString The format string.

t_defaultNetName The default net name.

nil The given inherited net expression is of illegal syntax.

Example

Given the net expression found in the schematic view of the cell inv, [@vdd:%:vdd!], thisfunction returns

list("@" "vdd" "%" "vdd!")

July 2004 318 Product Version 6.3

Page 319: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbParseTermNetExpr

dbParseTermNetExpr(t_netExpression)=> t_searchScope

t_propNamet_formatStringt_defaultNetName / nil

Description

Parses the expression and returns the individual components of the expression that includethe search scope, the property name to be used in searching, the format string, and thedefault net name.

Argument

t_netExpression The inherited net expression that gets attached to a terminal.

Value Returned

t_searchScope Search scope.

t_propName Property name to be used in searching.

t_formatString Format string.

t_defaultNetName Default net name.

nil The given inherited net expression is of illegal syntax

Examplelist("@" "vdd" "%" "vdd!")

Given the net expression found in the schematic view of the cell inv, [@vdd:%:vdd!], thisfunction returns

July 2004 319 Product Version 6.3

Page 320: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplaceSigNetExpr

dbReplaceSigNetExpr(d_sigIdt_netExpression)=> t / nil

Description

Replaces any existing inherited net expression already associated with the signal. If noneexists, t_netExpression is attached to the given signal and adds the signal to the set ofsignals having inherited net expressions.

Arguments

d_sigId A signal.

t_netExpression The inherited net expression that gets attached to a signal.

Value Returned

t The inherited net expression exists on the object and issuccessfully replaced or created.

nil The given signal cannot be found, or the given inherited netexpression is of illegal syntax.

July 2004 320 Product Version 6.3

Page 321: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplaceTermNetExpr

dbReplaceTermNetExpr(d_termIdt_netExpression)=> t / nil

Description

Replaces any existing inherited net expression already associated with the terminal. If noneexists, t_netExpression is attached to the given terminal and adds the terminal to theset of terminals having inherited net expressions.

Arguments

d_termId A terminal.

t_netExpression The inherited net expression that gets attached to a terminal.

Value Returned

t The inherited net expressions exists on the object and issuccessfully replaced or created.

nil The given terminal cannot be found, or if the given inherited netexpression is of illegal syntax.

July 2004 321 Product Version 6.3

Page 322: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Net and Terminal Name Syntax

The following section describes name syntax for both net and terminal names. The namesyntax furnished below is in Backus Nour Format.

Examples:

nameExpr ::= [ < *N > ] nameTerm { , nameExpr }

nameTerm ::= baseName [ < vectExpr > ] | < nameExpr >

vectExpr ::= vectTerm [ *N ] { , vectExpr }

vectTerm ::= N [ : N [ : N ] ] | < vectExpr >

[ ] Items enclosed in brackets are optional where zero or, at most, one item ispresent.

{ } Items enclosed in curly braces are also optional, but zero or more itemscan be present.

| The vertical bar means or.

N Defined as a nonnegative integer less than 64K (65535).

nameExpr A string containing a name term optionally prefixed with the <*N>construct. This construct is also referred to as a prefix repeat operator.This means the name term is repeated (enumerated) N times. Nameexpressions can be concatenated to form a comma-separated list.

nameTerm A base name optionally followed by a vector expression contained in anglebrackets. A name term can also be a name expression enclosed inparenthesis.

baseName A string of printable ASCII characters which does not include reservedspecial characters such as angle brackets (< >), parentheses (()), comma(,), slash (/), or white space. Parentheses (()) are allowed in a base nameonly if they enclose a number.

vectExpr Either a single or repeated vector term. The optional *N suffix on a vectorterm is called a suffix repeat operator. It indicates N repetitions of each bitof the vector term. The value of N must be greater than zero. Vectorexpressions can also be concatenated to form a comma-separated list.

vectTerm A single number or a range of numbers. A range of numbers can beexpressed with a starting, ending, and increment number separated bycolons. A vector term can also be a vector expression enclosed inparentheses. In this case, the innermost term is expanded first and therepeat operator is then applied to repeat the entire expanded termenclosed in parentheses.

July 2004 322 Product Version 6.3

Page 323: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Figure 2-1 illustrates how name and vector expressions are expanded.

As shown, the expanded form of a name is semantically equivalent to the originalspecification. This form is created by expanding the range specifications, applying repeatoperators, and removing parentheses.

To determine the Nth member name, use a zero-based counting scheme to find the Nthelement in the expanded form. For example, member zero of <*2>(a,<*2>b) is a, memberone is b, member two is b, and so on. If the name contains a vector expression, such asb<0:1,2:2>, then member zero in this case is called b<0>, member one is b<1>, and membertwo is b<2>.

Figure 2-1 Expanded Net/Terminal Names

Name Members Expanded format

clk 1 clk

data<2> 1 data<2>

<*1>base 1 base

<*2>term 2 term,term

<*2>(a,b),c 5 a,b,a,b,c

<*2>(a,<*2>b) 6 a,b,b,a,b,b

b<0:2> 3 b<0,1,2> or b<0>,b<1>,b<2>

b<0:2:1> 3 b<0,1,2>

b<3:0:2> 2 b<3,1>

b<0:2*2> 6 b<0,0,1,1,2,2,>

b<(0:2)*2> 6 b<0,1,2,0,1,2>

b<0,2*2> 3 b<0,2,2>

b<(0,2)*2> 4 b<0,2,0,2>

b<0,1:3:4*1,2:2> 3 b<0,1,2>

b<0:1,2:2> 3 b<0,1,2>

July 2004 323 Product Version 6.3

Page 324: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Instance Name Syntax

The following section describes an instance name syntax. The name syntax furnished belowis in Backus Nour Format.

[ ] Items enclosed in brackets are optional items where zero or, atmost, one item is present.

{ } Items enclosed in curly braces are also optional, except zero ormore items can be present.

| The vertical bar means or.

N Defined as a nonnegative integer less than 64K (65535).

instName An instance name consists of a base name optionally followed by

Shape Transformation Functions

Connectivity Access Functions

Pin Connections API Functions

Attribute Retrieval Function

Attribute Modification Function

Property Bag Creation and Access Functions

July 2004 324 Product Version 6.3

Page 325: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Cellview Input/Output Functions

Before you can access the database, you need to set the cds.lib file so the database canlocate the cells in your design. You can then open various cellviews in different librarieslocated in directories listed in the cds.lib file. When you open a cellview, you can use otherdatabase functions to examine and modify the contents of the cellview. After you finish witha cellview, close it so the memory associated with that cellview can be reused.

July 2004 325 Product Version 6.3

Page 326: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbAllCellViews

dbAllCellViews(g_libt_cellName[ d_contextCellView ])=> l_viewName / nil

Description

Lists all the view names of a cell.

The cell name is defined by t_cellName. If g_lib is nil, then search the library of thed_contextCellView. Once the cell is found, the names of the views associated with thatcell are returned.

Arguments

g_lib The ddId of the library to search for the cell.

t_cellName The cell name.

d_contextCellView A library’s dbCellViewId to search for the cell if g_lib is notspecified.

Value Returned

l_viewName A list of view names.

nil The view names are not listed.

ExampledbAllCellViews(libId "74LS169")

=> ("schematic" "symbol")

July 2004 326 Product Version 6.3

Page 327: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCheck

dbCheck({ d_cellView | nil })=> t / nil

Description

Checks for data corruption.

If you get a message reporting a corrupted database, you can periodically call dbCheck toidentify the function corrupting the database. If no argument is specified, or nil is specified,all cellviews currently open are checked. Otherwise only the specified cellview is checked.

dbCheck returns t if the database is OK and nil if it is corrupted. If the database iscorrupted, you should contact Cadence after you have isolated the problem.

Arguments

d_cellView The cellview to check.

nil All cellviews currently open are checked.

Value Returned

t The database is valid.

nil The database is completed.

Example

Open “decoder” schematic in scratch mode, delete all the nets in that cellview, and check thecellview data integrity after the deletion.

cv = dbOpenCellViewByType("test" "decoder" "schematic" nil "a")dbDeleteAllNet(cv)dbCheck(cv)

July 2004 327 Product Version 6.3

Page 328: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCheckRecursion

dbCheckRecursion(d_cellViewId)=> t / nil

Description

Checks for occurrence of the given top cellview in the hierarchy of the instHeader mastersor any other recursion inside the instHeader master’s hierarchy.

So whether the hierarchy is A->B->C->A or A->B->C->B, dbCheckRecursion(A) catchesthe recursion.

Arguments

d_cellViewId Top cellview to check if there is recursion.

Value Returned

t There is no recursion.

nil There is recursion along with warning messages.

ExampledbCheckRecursion( topCellView )

July 2004 328 Product Version 6.3

Page 329: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbClose

dbClose(d_cellView)=> t / nil

Description

Closes a cellview.

When the number of closes to the cellview equals the number of opens, the cellview is purgedfrom virtual memory, freeing the memory so it can be reused in subsequentdbOpenCellViewByType calls. Internally, the system maintains the count for the number ofopenings and closings.

Only one user at a time can open a cellview for append or write. It is recommended that youclose all cellviews that you open.

In OpenAccess, dbClose has been modified to close the cellview twice when the referencecount is two (2), thereby removing the cellview from virtual memory.

Arguments

d_cellView The cellview to be closed.

Value Returned

t The cellview is closed.

nil The cellview is not closed.

Example

Save the changes and close the cellview.

dbSave(cellview)dbClose(cellview)

July 2004 329 Product Version 6.3

Page 330: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbComputeBBox

dbComputeBBox(d_cellViewId)=> t / nil

Description

Recomputes the given cellview’s bounding box.

Arguments

d_cellViewId The cellview ID.

Value Returned

t The computation is successful

nil The given cellview id is invalid

Examplecv = dbOpenCellViewByType( "test" "myBBox" "layout" )

dbComputeBBox(cv) => t

July 2004 330 Product Version 6.3

Page 331: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbComputeBBoxNoNLP

dbComputeBBoxNoNLP(d_cellViewId)=> l_bBox / nil

Description

Computes the given cellview’s bounding box, but excludes all the bounding boxes of the nlplabels in the given cellview itself and its reference cellviews.

Arguments

d_cellViewId The cellview ID.

Value Returned

l_bBox A bBox.

nil Errors were encountered.

Examplecv = dbOpenCellViewByType ("test" "hasNLP" "layout" "maskLayout" "w")

myLabel = dbCreateLabel (cv 67 5:-21 "label1" "lowerLeft" "RO" "stick" 0.75 )

myLabel~>labelType = "NLPLabel"

myBoxNoNLP = dbComputeBBoxNLP(cv)

July 2004 331 Product Version 6.3

Page 332: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCompactCellView - CDBA only

dbCompactCellView(d_cellView[ t_libName t_cellName t_viewName[ t_version [ d_contextCellView ] ] ])=> t / nil

Description

Saves a cellview in a compacted format.

Compacted cellviews are faster to read, open, and display because they are smaller in sizeand have fewer page faults than other cellviews. They are smaller because they do notcontain free spaces vacated by deleted objects. They have fewer page faults because closelyrelated objects are moved closer to each other.

Optionally, a different cellview can be specified where the data is to be saved. If you do specifya different cellview, its contents overwrite the old cellview. The specification for the destinationcellview is identical to the fourth form of dbSave.

This function is not implemented for OpenAccess. OpenAccess automatically removes openspace that is created by deleting objects.

Arguments

d_cellView Source cellview to save in a compacted format.

t_libName Destination library name. The specification and description forthis argument and the rest are identical to those of dbSave anddbOpenCellViewByType.

t_cellName Specifies the cell name.

t_viewName Specifies one or more view names. It is a string containing oneor more view names separated by spaces, such as “viewAviewB". Cellviews of cell t_cellName are searched for aname matching one from the list. If a match is found, that cellviewis opened.

t_version This argument is perserved for compatibility with earlier versionsof the software and should be nil if specified.

July 2004 332 Product Version 6.3

Page 333: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

d_contextCellView Specifies the context cellview. The context cellview specificationis preserved for compatibility with earlier versions of thesoftware.

Value Returned

t The cellview is saved.

nil The cellview is not saved.

Examples

Save the given cellview in a compacted format.

dbCompactCellView(cellview)

Save the compacted format to the specified destination.

dbCompactCellView(cellview "lib" "cell" "layout")

July 2004 333 Product Version 6.3

Page 334: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCopyCellView

dbCopyCellView(d_srcCVIdt_libNamet_cellNamet_viewName[ t_version[ g_contextId[ b_overwrite ] ] ])=> d_cellViewId / nil

Description

Copies a cellview to a destination cellview.

Arguments

d_srcCVId Source cellview to be copied.

t_libName Destination library to which the file is to be copied.

t_cellName Destination cell name.

t_viewName Destination view name.

t_version This argument is preserved for compatibility with earlier versionsof the software and should be nil if specified.

g_contextId This argument is preserved for compatibility with earlier versionsof the software and its contents is ignored.

b_overwrite Specifies whether a cellview in the destination library is to beoverwritten. If this argument is nil (the default value), nocellviews are overwritten. If this argument is t, the cellviews areoverwritten.

Value Returned

d_cellViewId The destination cellview ID.

nil The cellview is not copied.

July 2004 334 Product Version 6.3

Page 335: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Example

In the following example, cellview A is copied to library test8, cell A2, view layout. If cellviewA already exists in the destination library, it is overwritten.

dbCopyCellView(A1 "test8" "A2" "layout" "" nil t)=> t

July 2004 335 Product Version 6.3

Page 336: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateLib

dbCreateLib(t_libName[ t_libPath ])=> ddId_libId / nil

Description

Creates a library named t_libName.

If t_libPath is specified, the t_libPath is appended to the t_libName. This pathis created in the cds.lib file. No t_libName directory is created. If t_libPath isomitted, a directory named t_libName is created, but its libPath in cds.lib does notinclude the t_libName itself.

Arguments

t_libName The library name to be created.

t_libPath Library path to be appended to the library name.

Value Returned

ddId_libId If the library is created successfully, the ddId of the library isreturned.

nil Otherwise nil is returned.

ExampleslibId = dbCreateLib( "myLibrary" )

libId = dbCreateLib( "myLibrary" "/tmp" )

July 2004 336 Product Version 6.3

Page 337: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDefineProc

dbDefineProc(d_cellViewt_fileName)= t / nil

Description

Changes the cellview specified by the d_cellView to be a parameterized cell. Thespecified file name should be the name of a file containing unencrypted SKILL code definingprocedure pcGenCell. The cellview should have a hierarchical property named parameters,which should be a hierarchical property list containing the default values for the parameters.

Arguments

d_cellView The cellview ID.

t_fileName The file which contains unencrypted SKILL code definingprocedure pcGenCell.

Value Returned

t The cellview gets changed to a paramaterized cell successfully.

nil There is a severe error in the SKILL procedure or the propertyparameters areillegal.

July 2004 337 Product Version 6.3

Page 338: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindOpenCellView

dbFindOpenCellView(g_libIdt_cellNamet_viewName[ t_version ])=> d_cellViewId / nil

Description

Finds an opened cellview.

Arguments

g_libId Specifies the ddId of the library that contains the specifiedcellview.

t_cellName Cell name of the cellview.

t_viewName View name of the cellview.

t_version This argument is preserved for compatibility with earlier versionsof the software and should be nil if specified

Value Returned

d_cellViewId The cellview ID of the cellview with the specified libId, cell,and view if the cellview has been opened.

nil The cellview is not found open.

Examplecv = dbFindOpenCellView( lib "abc" "schematic" )

Finds the schematic cellview abc from the library lib.

July 2004 338 Product Version 6.3

Page 339: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFlattenInst

dbFlattenInst(d_instIdx_levels[ g_flattenPCells ][ g_preservePins ][ g_preserveRODobjs ])=> t / nil

Description

Flattens instance d_instId up through x_levels of hierarchy.

Arguments

d_instId Database ID of the instance to flatten.

x_levels Number of levels of hierarchy through which to flatten theinstance.Valid Values: an integer between 0 and 32

g_flattenPCells Specifies whether pcells are flattened.Valid Values: t, nilDefault: nil

g_preservePins Specifies whether pin information is preserved.Valid Values: t, nilDefault: nil

g_preserveRODobjs Specifies whether ROD properties are preserved.Valid Values: t, nilDefault: nil

Value Returned

t The instance is flattened.

nil The instance is not flattened.

July 2004 339 Product Version 6.3

Page 340: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

ExampledbFlattenInst( instance1 2 nil )

Flattens the instance instance1 through two levels of the hierarchy and does not flatten anypcells contained in the instance.

July 2004 340 Product Version 6.3

Page 341: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFullPath

dbFullPath(d_cellView)=> t_fullPath / nil

Description

Returns the full path of a cellview.

Arguments

d_cellView The cellview.

Value Returned

t_fullPath Full path for cellview d_cellView.

nil There is an error.

Example

Get the full path of a cellview through dbFullPath(cellView) andcellview~>fileName, which should yield identical results.

dbFullPath(cellview)cellview~>fileName

July 2004 341 Product Version 6.3

Page 342: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetAnyInstSwitchMaster

dbGetAnyInstSwitchMaster(d_anyInstt_viewList)=> d_cellView / nil

Description

Switches into a different view of a master cell instance and opens the corresponding cellview.

The cell and library names are the same as the ones for the master of instance d_anyInst.If the cellview to switch into is not a parameterized cell, this function behaves the same wayas opening that cellview through dbOpenCellViewByType. If it is a parameterized cell, thecellview returned has the same values as d_anyInst.

OpenAccess behaves differently than CDBA when choosing which view to open based on aninstance’s switch master.

■ In CDBA, the dbGetAnyInstSwitchMaster function uses the instance’s library andcell names to access the list of view names, and opens the first view that contains CDBAdata; the function returns a handle to the cellview. In addition, for pcells, the system useseach parameter on the instance to check whether it is a parameter of the matchingcellview, and returns a handle to a submaster.

■ OpenAccess simply opens the first view in the list of views that matches. If the matchingview does not contain OpenAccess data, the system issues a warning message and thefunction returns NULL. DFII on OpenAccess does not search the list of views for a viewcontaining OpenAccess data; it stops when it finds the first view in the list of view nameson disk.

Arguments

d_anyInst Instance of a master from which a different view is desired.

t_viewList A string listing view names to switch into.

Value Returned

d_cellView A different view of a master cell instance if successful.

nil No other view exists or an error occurs.

July 2004 342 Product Version 6.3

Page 343: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Example

Switch into a schematic view from a symbol.

schCV = dbGetAnyInstSwitchMaster(inst "schematic")

July 2004 343 Product Version 6.3

Page 344: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetCellViewDdId

dbGetCellViewDdId(d_dbCellViewId)=> ddId_cellViewId / nil

Description

Returns a ddId associated with the cellViewId. This ddId contains the path to thelibrary, cell, view, and file name.

Arguments

d_dbCellViewId A database cellview ID.

Value Returned

ddId_cellViewId A ddId associated with the cellViewId.

nil No cellview ID exists or if an error occurs.

ExampledbGetCellViewDdId( d_cvId ) => ddId

July 2004 344 Product Version 6.3

Page 345: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetOpenCellViews

dbGetOpenCellViews()=> (d_cv d_cv d_cv ...) / nil

Description

Returns all opened cellviews in virtual memory.

Arguments

None.

Value Returned

d_cv d_cv ... All opened cellviews in virtual memory.

nil No cellview is opened.

July 2004 345 Product Version 6.3

Page 346: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbOpenAutoSavedCellView

dbOpenAutoSavedCellView(t_libNamet_cellNamelt_viewName[ t_version ])=> d_cellView / nil

Description

Reads the auto-saved file.

The auto-save file cannot be opened if the cellview is open. This file can only be opened forreading. After the file is read in, the database-checking function makes sure that the data isnot corrupt. If the check fails, you are advised that the file is corrupt. If the check succeedsand you want to save the data, use dbReopen to change to edit mode to save the file backto disk. The physical panic file is the cellview file name appended by a plus (+) sign.

Arguments

t_libName Library name.

t_cellName Cell name.

lt_viewName One or more view names in one of two forms:

l_viewName is a SKILL list of view names, such aslist(“viewA” “viewB”)

t_viewName is a string containing one or more view namesseparated by spaces, such as "viewA viewB".

Cellviews of the cell t_cellName are searched for a name matching one from the list. If amatch is found, that cellview is opened.

t_version This argument is preserved for compatibility with earlier versionsof the software and should be nil if specified.

Value Returned

d_cellView The dbObject of the open cellview.

July 2004 346 Product Version 6.3

Page 347: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

nil An error is detected.

Example

Open the auto-saved file for the layout view of cellA from the test library.

cellview = dbOpenAutoSavedCellView("test" "cellA" "layout")

July 2004 347 Product Version 6.3

Page 348: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbOpenCellViewByType

dbOpenCellViewByType({ gt_lib | nil }t_cellNamelt_viewName[ t_viewTypeName[ t_mode[ d_contextCellView ] ] ])=> d_cellView / nil

Description

Opens a cellview.

The cellview can be opened for read, append, write, or scratch mode. If you open thecellview for the read mode, the cellview must exist. if you open the cellview for other modes,the cellview is created if it does not exist.

Arguments

gt_lib | nil Specifies the ddId of a library, the name of a library t_lib, ornil. If it is nil, then a search is made for the library of contextcellview d_contextCellView. If the name of a library isgiven, the library must exist in the libList.

t_cellName Specifies the cell name.

lt_viewName Specifies one or more view names in one of two forms.

Cellviews of cell t_cellName are searched for a namematching one from the list. If a match is found, that cellview isopened.

In thel_viewNameform

It is a SKILL list that has t_viewNames,such as list("viewA" "viewB").

In thet_viewNameform

It is a string containing one or more viewnames separated by spaces, such as"viewA viewB".

July 2004 348 Product Version 6.3

Page 349: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

t_viewTypeName Specifies the view type. If it is omitted or entered as nil or“*.cdb”, the cellview must exist.

t_mode Specifies the access mode to the cellview. The mode can be oneof the following values:

d_contextCellView Specifies the context cellview. The context cellview specificationis preserved for compatibility with earlier versions of thesoftware.

The specified libraries are searched for the cellview, according to the following search rules

r Opens the cellview in read mode. The cellview mustalready exist.

a Opens the existing cellview in append mode. If thecellview does not exist, it is created.

w Opens the cellview in write mode. If the cellview does notexist, it is created. If the cellview already exists, itscontents is truncated in virtual memory.

s Opens the existing cellview in scratch mode. If the cellviewdoes not exist, it is created. A cellview opened in “s” modecannot be saved to disk using dbSave.

wc Same as “w,” except that the cellview is not created as themaster. This mode creates the cellview even if there isalready a master under the cell and view.

wd Same as “wc,” except that the context cellview must bespecified. LibName is ignored if specified. The library isderived from the context cellview.

ac Same as “a” if the cellview already exists. If the cellviewdoes not exist, this mode is the same as “wc” mode.

ad Same as “a” if the cellview already exists. If the cellviewdoes not exist, this mode is the same as “wd” mode.

sc Same as “s” if the cellview already exists. If the cellviewdoes not exist, this mode is the same is “wc” mode, exceptthe cellview cannot be saved to disk.

sd Same as “s” if the cellview already exists. If the cellviewdoes not exist, this mode is the same as “wd” mode,except the cellview cannot be saved to disk.

July 2004 349 Product Version 6.3

Page 350: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

■ If both gt_lib and d_contextCellView are specified, library gt_lib is ignored.The library where the context cellview resides is searched.

■ If only gt_lib is specified, only that library is searched. The named library must existin the libList.

■ If only d_contextCellView is specified, only the library of the context cellview issearched.

Value Returned

d_cellView The dbObject of the cellview opened.

nil Any error is detected.

Examples

If cell “cellA” with view “layout” exists in library “test,” open the cellview for read.

cellview = dbOpenCellViewByType(“test” "cellA" "layout")

Open cell “cellA” with view “layout” in library “test” for “append” mode. Create the cellview if itdoes not exist.

cellview = dbOpenCellViewByType("test" "cellA" "layout" "maskLayout" "a")

Open cell "cellA" with view "layout" in library "test" for "append" mode only if the cellviewalready exists.

cellview = dbOpenCellViewByType("test" "cellA" "layout" "" "a")

July 2004 350 Product Version 6.3

Page 351: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbOpenHier

dbOpenHier(d_cellViewx_numLevels)=> t

Description

Opens and binds masters of instances that constitute a design hierarchy.

The starting point is the cellview specified by d_cellView. If x_numLevels is 0 (zero),no action is taken and t is returned. If x_numLevels is 1, masters of instances containedin cellview d_cellView are opened and bound. If x_numLevels is 2, masters ofinstances contained in each of the masters in level 1 are opened and bound. And so on foreach level specified.

Arguments

d_cellView Cellview that represents level 0 (zero) of a design hierarchy.

x_numLevels Number of design hierarchy levels to open.

Value Returned

t Always returns t and reports errors as encountered.

Example

dbOpenCellViewByType does not automatically open and bind the masters.

cellview = dbOpenCellViewByType("lib" "decoder" "schematic")

Opens the design hierarchy up to and including level one, which means open and bind themaster of instances contained in the given cellview.

dbOpenHier( cellview 1 )

July 2004 351 Product Version 6.3

Page 352: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbOpenPanicCellView

dbOpenPanicCellView(gt_libt_cellNamet_viewName[ t_version[ t_mode[ d_contextCellView ] ] ])=> d_cellView / nil

Description

Opens the panic file for a cellview.

This function reads the panic file. After the panic file is read in, the database checking functionmakes sure that the data is not corrupted. If the check fails, you are advised to contactCadence because you have a corrupted cellview and the read-in cellview is purged. If thecheck succeeds, the panic file is switched to the current cellview. You can then call thedbReopen() function to reopen it in the append mode and then call the dbSave function tosave the cellview back to disk. The physical panic file name is the cellview file name with theextension .cd-.

Arguments

gt_lib Specifies the ddId of a library or the name of a library t_lib.Specifies which library to search the cellview. It must exist in thecds.lib file.

t_cellName Specifies the cell name.

t_viewName Specifies the view name.

t_version This argument is preserved for compatibility with earlier versionsof the software and should be nil if specified.

t_mode This argument is preserved for compatibility with earlier versionsof the software and should be r if specified. The cellview openedby this function is always in "read" mode.

d_contextCellView This argument is preserved for compatibility with earlier versionsof the software and its content is ignored.

July 2004 352 Product Version 6.3

Page 353: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

d_cellView The dbObject of the cellview opened.

nil Any error is detected.

Example

If cell “cellA” with view “layout” exists in library “test,” open the cellview for read.

cellview = dbOpenPanicCellView(“test” "cellA" "layout")

July 2004 353 Product Version 6.3

Page 354: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbProduceMemName

dbProduceMemName(t_name)=> list( <memName> ... <memName> ) / nil

Description

Returns a list of the member names for the given name.

Arguments

t_name Name whose members will be generated.

Value Returned

list Returns list of the member names.

<memName> Member names.

nil There are errors.

ExampledbProduceMemName("A<2:0>,B,C<3:4>")=> ("A<2>" "A<1>" "A<0>" "B" "C<3>" "C<4>")

July 2004 354 Product Version 6.3

Page 355: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbPurge

dbPurge(d_cellView)=> t / nil

Description

Forces a cellview to close and removes it from virtual memory.

The dbPurge function should be used very carefully because all changes made, but notsaved, are lost. Furthermore, in the graphics environment, purging a cellview empties anywindow in which the cellview is being displayed.

Arguments

d_cellView Cellview to purge.

Value Returned

t The cellview is closed.

nil The cellview is not closed.

Example

Purge this cellview.

dbPurge(cv)

July 2004 355 Product Version 6.3

Page 356: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReopen

dbReopen(d_cellViewt_mode)=> t / nil

Description

Changes the mode of the specified to the given mode.

CDBA and OpenAccess respond differently when you change from edit to read-only modeusing the dbReopen function.

■ In CDBA, when you open a cellview in edit mode, edit the cellview, and then change toread mode using the dbReopen function, your changes are retained in virtual memory(VM). When the edited cellview is purged from VM or you exit the editing session, thechanges are lost. You can preserve your changes by saving the cellview under a newname (Save As).

■ In OpenAccess, when you use the dbReopen function to change from edit to read-onlymode, your changes are discarded immediately.

In both CDBA and OpenAccess, when you use the graphical user interface to change fromedit to read-only mode, the system displays a dialog box asking if you want to save yourchanges.

Arguments

d_cellView A cellview ID.

t_mode A character representing the new mode.Valid Values: r (read), a (append), or w (write)

Value Returned

t The mode change is successful.

nil The mode change is not successful.

July 2004 356 Product Version 6.3

Page 357: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Examplecv = dbOpenCellViewByType("lib" "decoder" "schematic" "" "r")

Re-open the cellview for append mode.

cv = dbReopen(cv "a")cv~>mode=> "a"

July 2004 357 Product Version 6.3

Page 358: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbRegPostSaveTrigger

dbRegPostSaveTrigger(S_triggerFunc[x_priority])=> t / nil

Description

Allows users to register a trigger function that is to be called after dbSave. If dbSave fails,this trigger will not be launched. This trigger will be called only after saving the db cellviews.The post save trigger will be called with the db cellview ID.

Note: The trigger function must not call dbSave again or it will cause infinite looping.

Arguments

S_triggerFunc User-defined trigger function.

x_priority Priority of the trigger functions registered. This argument isoptional. The default is the lowest priority. The priority argumentenables users to control which trigger function is to be launchedfirst. It should be specified as a positive number, and 0 is thehighest priority.

Note: The trigger function can be defined after calling dbRegPostSaveTrigger, but, in thatcase, you will get a warning message.

Value Returned

t The trigger function gets registered successfully.

nil The registration fails.

July 2004 358 Product Version 6.3

Page 359: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbRegPurgeTrigger

dbRegPurgeTrigger(S_triggerFunc[ x_priority ])=> t / nil

Description

Registers a user-defined trigger function.

The trigger functions registered are invoked when the cellview is purged.

Arguments

S_triggerFunc User-defined trigger function.

x_priority Priority of the trigger functions registered. This argument isoptional. The default is the lowest priority.

Value Returned

t The trigger function gets registered successfully.

nil The registration fails.

Exampleprocedure( myTrigFunc(cv) printf("cellview - %d\n", cv) )

dbRegPurgeTrigger(’myTrigFunc 10)

July 2004 359 Product Version 6.3

Page 360: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbRefreshCellView

dbRefreshCellView(d_cellViewId)=> t | nil

Description

Refreshes the cellview in virtual memory with the most current copy from disk. If there wereany changes to the cellview, this function purges the cellview from virtual memory andreopens the cellview.

Arguments

d_cellViewId The database ID of the cellview.

Value Returned

t The cellview was refreshed.

nil The cellview was not refreshed.

July 2004 360 Product Version 6.3

Page 361: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSave

dbSavedbSave(d_cellViewd_destCellView)=> t / nil

dbSave(d_cellViewt_libNamet_cellNamet_viewName)=> t / nil

Description

Saves the results of a modified cellview that has been opened for write or append mode.

Optionally, a different cellview can be specified where the data is to be saved. If you specifya different cellview, its contents overwrites the old cellview. The specification for thedestination cellview is identical to dbOpenCellViewByType, but mode is omitted. A cellviewthat has been opened in read or scratch mode cannot be saved or overwritten.

Arguments

d_cellView The cellview to be saved.

d_destCellView Specifies a cellview to save the data into. In the first form, thisdestination cellview is specified by a dbObject.

t_libname The Library name.

t_cellName Specifies the cell name.

t_viewName Specifies one or more view names in one of two forms. In thel_viewName form, it is a SKILL list of t_viewName’s, such aslist(“viewA” “viewB”). In the t_viewName form, it is astring containing one or more view names separated by spaces,such as “viewA viewB". Cellviews of cell t_cellName aresearched for a name matching one from the list. If a match isfound, that cellview is opened.

July 2004 361 Product Version 6.3

Page 362: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

t The cellview is saved.

nil The cellview is not saved.

Examples

Saves over the original cellview.

dbSave(cellview)

Saves to an opened destination cellview.

destCV = dbOpenCellViewByType(lib "cellName" "schematic""schematic" "w")dbSave(cellview destCV)

Saves to a destination cellview in a different library.

dbSave(cellview "libName" "cellName" "viewName")

July 2004 362 Product Version 6.3

Page 363: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSearchCDF

dbSearchCDF(g_status)=> t

Description

Sets and unsets a flag that will cause CDF to be searched for parameter values.

Arguments

Value Returned

g_status Sets the flag.

Valid Values: t (sets), nil (unsets the flag)

t The operation was successful.

July 2004 363 Product Version 6.3

Page 364: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSetAutoSave

dbSetAutoSave(g_isAutoSaveSet[ x_saveInterval ])=> t / nil

Description

Enables or disables the automatic save feature.

With the automatic save feature enabled, the current active cellview is saved after a numberof database edit actions occur. The default, which is 500 actions, can be set with this function.

Arguments

g_isAutoSaveSet Specifies whether or not to set the automatic save feature. Thedefault value is nil, which means the feature is not set; t setsthe save feature.

x_saveInterval Number of database edit actions that activates the automaticsave feature. The default is 500. This means that data isautomatically saved after 500 database edit actions occur.

Value Returned

t The automatic save feature has been set successfully.

nil The automatic save feature has not been set successfully.

Examples

Set the automatic save option so that data is saved automatically after every 500 databaseedit actions.

dbSetAutoSave(t)=> t

Turn off the automatic save option.

dbSetAutoSave(nil)=> t

July 2004 364 Product Version 6.3

Page 365: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Set the automatic save option so that data is saved automatically after every 100 databaseedit actions.

dbSetAutoSave(t 100)=> t

July 2004 365 Product Version 6.3

Page 366: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbUndefineProc

dbUndefineProc(d_cellView)= t / nil

Description

Changes the parameterized cell specified by the d_cellView to be a regular cellview.

Arguments

d_cellView Specifies the cellview ID.

Value Returned

t The parameterized cell gets changed to a regular cellsuccessfully.

nil Errors are encountered.

July 2004 366 Product Version 6.3

Page 367: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbUnregPostSaveTrigger

dbUnregPostSaveTrigger(s_triggerFunc)=> t / nil

Description

Unregisters the post save trigger function from dbSave.

Arguments

s_triggerFunc User-defined trigger function.

Value Returned

t The function is unregistrered.

nil The function is not unregistered.

July 2004 367 Product Version 6.3

Page 368: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbUnregPurgeTrigger

dbUnregPurgeTrigger(s_triggerFunc)=> t / nil

Description

Unregisters a user-defined trigger function.

Arguments

s_triggerFunc User-defined trigger function.

Value Returned

t The trigger function gets unregistered successfully.

nil The unregistration fails.

ExampledbUnregPurgeTrigger(’myTrigFunc)

July 2004 368 Product Version 6.3

Page 369: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbWriteSkill

dbWriteSkill(d_cvIdt_fileNamet_modet_release[ g_conn ][ g_ref ])=> t / nil

Description

Creates a file that contains all the SKILL commands needed to recreate a cellview, so thatthe design can be recreated in the current or previous release by loading the file in the currentor previous release, respectively.

To avoid painfully traversing the customer design hierarchy, the g_ref option allows you totraverse the cellview hierarchy from a source cellview and to generate the SKILL functions torecreate all the database objects of all the reference cellviews which the source cellviewdirectly and indirectly referenced.

dbWriteSkill creates two files for a procedural pcell—one with the cell’s design data andthe other with the procedure.

Arguments

d_cvId ID of the source cellview.

t_fileName Target SKILL filename.

t_mode Modes.Valid Values: w (overwrite), a (append)

Using a mode, you can dump a few designs into one file.

t_release The release in which the file will be loaded.

g_conn The default is to dump out everything. If this argument is set toTRUE, then only the connectivity of the given cellview will bewritten out.

July 2004 369 Product Version 6.3

Page 370: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

g_ref The default is to not dump the reference cellviews. If thisargument is set to t, then all the cellviews that the sourcecellview directly or indirectly referenced will be written out.

Value Returned

t The function was successful.

nil The function failed.

Example

In the 4.4 release, do

dbWriteSkill(cvId "/tmp/foo.il" "w" "4.4")

In the 4.3 release, do

load "/tmp/foo.il"

Example

In the 4.4 release, do

dbWriteSkill(cvId "/tmp/bar.il" "w" "4.3")

In the 4.3 release, do

load "/tmp/bar.il"

If you are dumping with the reference cellview option (g_ref), a SKILL procedure is definedfor each cellview to modularize all the database objects of each cellview. Because the numberof database objects is unlimited but the line number of a SKILL procedure is limited, split theprocedure if the line number in each procedure is more than PROCMAXLINE (that is, 2000lines). The procedure name is based on the ID of the cellview in memory. Append thenumbers starting from 0 when spliting multiple procedures.

For example:

procedure( dbD_10056748Ref0() ... )procedure( dbD_10055724Ref0() ... )procedure( dbD_10055724Ref1() ... )procedure( dbD_10055724Ref2() ... )procedure( dbD_10055724Ref3() ... )

July 2004 370 Product Version 6.3

Page 371: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Note: The sequence of recreating the cellviews in the hierarchy is important. Create the leafnode cellviews first, then go up to the source cellview. This ensures that when any databaseobject that references another cellview is created, it will not fail.

For example, create cellview A with the following reference cellviews:

A / \

B C/ \ / \

D E / F/ / \/

G H I

In this example, the sequence of creating cellviews is G, D, H, I, E, B, F, C, and A.

Limitation

There is a size limitation with the g_ref option when you load a huge SKILL file that isgenerated from a very big design. In this case, avoid dumping from the top level cellview, andtry to dump from lower level cellviews.

Example 3

Given below is an example for a procedural pCell.

pcell cvId = dbOpenCellViewByType("myLib" "myPcell" "layout")

dbWriteSkill(cvId "/tmp/dumpFile.il" "w" "4.4")

creates two files in /tmp:

dumpFile.il

myLib_myPcell_layout_pCell.il

dumpFile.il contains design data for the cell.

myLib_myPcell_layout_pCell.il contains the pCell procedure.

Follow these steps, substituting your names for the example names:

1. Execute dbWriteSkill.

2. Run the SKILL Code Checker on dumpFile.il.

3. Make the necessary changes to myLib_myPcell_layout_pCell.il.

4. Recreate the pCell.

July 2004 371 Product Version 6.3

Page 372: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Note: Do not use the load command or the pcell compiler to re-create the cell. You losegraphical data if you use load and you lose parameters if you recompile. For information aboutloading pcells, refer to the Virtuoso Parameterized Cell Reference Manual. Forinformation about loading techfile devices, refer to the Technology File and DisplayResource File User Guide.

July 2004 372 Product Version 6.3

Page 373: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbWriteSkillWithLib

dbWriteSkillWithLib(d_cvIdt_fileNamet_modet_release[ g_conn ][ g_ref ])=> t / nil

Description

Creates a file that contains all the SKILL commands needed to recreate a cellview.

The difference between dbWriteSkill and dbWriteSkillWithLib is the library nameis not written in the SKILL code when using dbWriteSkillWithLib. Instead a SKILLvariable, dbD_NewLibNameForDump, is written whose value can be set to the name of thetarget library before loading the SKILL file.

Arguments

d_cvId ID of the source cellview.

t_fileName Target SKILL filename.

t_mode Modes.Valid Values: w (overwrite) or a (append)

Using a mode, you can dump a few designs into one file.

t_release The release in which the file will be loaded.

g_conn The default is to dump out everything. If this argument is set toTRUE, then only the connectivity of the given cellview will bewritten out.

g_ref The default is to not dump the reference cellviews. If thisargument is set to t, then all the cellviews that the sourcecellview directly or indirectly referenced will be written out.

July 2004 373 Product Version 6.3

Page 374: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

t The file was created.

nil The file was not created.

ExampledbD_1be4c2c=dbOpenCellViewByType(dbD_NewLibNameForDump"Inv2nand""layout""maskLayout" "w")

July 2004 374 Product Version 6.3

Page 375: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Shape Creation and Retrieval Functions

The following database functions create new shapes in the database.

July 2004 375 Product Version 6.3

Page 376: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateLine

dbCreateLine(d_cellView( tx_layer [ t_purpose ] )l_points)=> d_line / nil

Description

Creates a line.

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to all.

l_points Points list, must contain at least two points.

Value Returned

d_line The dbObject of the line.

nil The line is not created.

ExamplesdbCreateLine(cv list( 68 "drawing") list(0:0 1:5) )

dbCreateLine(cv 1 list(1:1 2:5))

dbCreateLine(cv list("wire" "drawing") list(-4:1 2:2))

July 2004 376 Product Version 6.3

Page 377: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreatePath

dbCreatePath(d_cellView( tx_layer [ t_purpose ] )l_pointsx_width[ t_pathStyle ])=> d_path / nil

Description

Creates a path.

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to all.

l_points Point list; must contain at least two points.

x_width Path width specified in user units.

t_pathStyle Path style, defaults to truncateExtend.

Value Returned

d_path The dbObject of the path.

nil The path is not created.

ExamplesdbCreatePath(cv 2 list(0:0 0:1 1:1 1:0) 4 "extendExtend")

dbCreatePath(cv list("background" "drawing") list(1:6 1:1 2:1) 2 )

dbCreatePath(cv list ("background") list(0:0 1:0 1:2 2:3) 2 "squareFlush")

July 2004 377 Product Version 6.3

Page 378: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreatePolygon

dbCreatePolygon(d_cellView( tx_layer [ t_purpose ] )l_points)=> d_polygon / nil

Description

Creates a polygon.

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to all.

l_points The point list must contain at least three points and should notbe self-intersecting. The point list does not have to explicitlyclose because the database assumes that there is always animplicit boundary segment between the first and last points.

Value Returned

d_polygon The dbObject of the polygon.

nil The polygon is not created.

ExamplesdbCreatePolygon(cv "background" list(0:0 0:1 1:1 1:0))

dbCreatePolygon(cv list(11 "drawing") list(5:10 0:10 0:0))

July 2004 378 Product Version 6.3

Page 379: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateRect

dbCreateRect(d_cellView( tx_layer [ t_purpose ] )l_bBox)=> d_rect / nil

Description

Creates a rectangle.

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to all.

l_bBox Defines the lower left and upper right corners of the boundingbox.

Value Returned

d_rect The dbObject of the rectangle.

nil The rectangle is not created.

ExampledbCreateRect(cv list(87 "pin") list(0:0 2:2))

July 2004 379 Product Version 6.3

Page 380: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateEllipse

dbCreateEllipse(d_cellView( tx_layer [ t_purpose ] )l_bBox)=> d_ellipse / nil

Description

Creates an ellipse.

Arguments

d_cellView Name of the cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to all.

l_bBox Defines the bounding box of the ellipse.

Value Returned

d_ellipse The dbObject of the ellipse.

nil The ellipse is not created.

ExampledbCreateEllipse(cv 1 list(0:0 2:3))

July 2004 380 Product Version 6.3

Page 381: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateArc

dbCreateArc(d_cellView( tx_layer [ t_purpose ] )l_ellipse_bBoxl_arc_bBox)=> d_arc / nil

Description

Creates an arc.

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to all.

l_ellipse_bBox Bounding box of the ellipse containing the arc.

l_arc_bBox Bounding box of the arc.

Value Returned

d_arc The dbObject of the arc.

nil The arc is not created.

ExampledbCreateArc(cv list("background" "drawing") list(0:0 2:2) list(1:1 2:2))

July 2004 381 Product Version 6.3

Page 382: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateDonut

dbCreateDonut(d_cellView( tx_layer [ t_purpose ] )l_pointx_outRx_holeR)=> d_donut / nil

Description

Creates a donut (two concentric circles).

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to drawing.

l_point Defines the center of the donut.

x_outR Outer circle radius, must be larger than x_holeR.

x_holeR Inner circle radius.

Value Returned

d_donut The dbObject of the donut.

nil The donut is not created.

ExampledbCreateDonut(cv 1 0:0 100 50)C

July 2004 382 Product Version 6.3

Page 383: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateDot

dbCreateDot(d_cellView( tx_layer [ t_purpose ] )l_point)=> d_dot / nil

Description

Creates a dot.

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, defaults to all.

l_point Defines the location of the dot.

Value Returned

d_dot The dbObject of the dot.

nil Tthe dot is not created.

ExampledbCreateDot(cv ("background") 1:1)

July 2004 383 Product Version 6.3

Page 384: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateLabel

dbCreateLabel(d_cellView( tx_layer [ t_purpose ] )l_pointt_labelt_justt_orientt_fontx_height)=> d_label / nil

Description

Creates a graphic text-string label.

Arguments

d_cellView The cellview.

tx_layer Either the layer name or number.

t_purpose Purpose, if not specified, defaults to drawing.

l_point Defines the label’s origin.

t_label Text string for the label.

t_just Justification string for the label.

t_orient Orientation string for the label.

t_font Font style string for the label.

x_height Height of the label, must be given as a positive number.

Value Returned

d_label The dbObject of the label.

nil The label is not created.

July 2004 384 Product Version 6.3

Page 385: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

ExampledbCreateLabel(cv 4 1:1 "myLabel" "centerLeft" "R0" "roman" 2)

Creates a label in a particular cellview cv with specified layer 4, purpose drawing, origin1:1, text myLabel, justification centerLeft, orientation R0, font roman, and height 2.

July 2004 385 Product Version 6.3

Page 386: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateTextDisplay

dbCreateTextDisplay(d_associateIdd_ownerId( tx_layer [ t_purpose ] )l_displayFlagsl_pointt_justt_orientt_fontx_height[ g_isDrafted [ g_isOverbar [ g_isVisable [ g_isNameVisible [g_isValueVisible [ t_attrOrParamName [ g_isParamAssoc ] ] ] ] ] ] ])=> d_textDisplay / nil

Description

Creates a text display object.

Arguments

d_associateId Associate of the text display. This can be a label in a mastercellview, a property, or a dbObject whose attributet_attrName is to be displayed. See the attribute tables later inthis chapter for lists of displayable attributes for objects. Likelabels, properties and attributes of master cellviews andterminals can be the associates of text displays that you createin the cellview where that master is instantiated. Such textdisplay objects are called cross-cellview text displays.

d_ownerId Owner of the text display. This ca n be any database objectexcept properties or groups.

tx_layer Either the layer name or number.

t_purpose Purpose of the text display. The default is all.

l_displayFlags Display characteristics of the label associate that are to beoverridden by the text display. For properties and for attributeassociates, every display characteristic must be specified;therefore, t must be specified here, followed by a specificationfor each of the display characteristics listed below.

July 2004 386 Product Version 6.3

Page 387: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

l_point Origin of the text display. This must be specified for propertiesand for object attribute associates.

t_just Justification string for the text display. This must be specified forproperties and for object attribute associates.

t_orient Orientation string for the text display. This must be specified forproperties and for object attribute associates.

t_font Font style string for the text display. This must be specified forproperties and for object attribute associates.

x_height Height of the text display that must be given as a positivenumber. This must be specified for properties and for objectattribute associates.

g_isDrafted Specifies whether or not drafting is set for the text display. Thedefault is nil.

g_isOverbar Specifies whether or not overbar is set for the text display. Thedefault is nil.

g_isVisible Specifies whether or not the text display is visible. The default ist.

g_isNameVisible Specifies whether or not the property or attribute name is visible.The default is t. This argument applies only to a text display witha property or attribute as its associate.

g_isValueVisible Specifies whether or not the property or attribute value is visible.The default is t. This argument applies only to a text display witha property or attribute as its associate.

t_attrOrParamName Name of the attribute or the CDF parameter of the associateobject specified in d_associateId.

g_isParamAssoc Specifies whether or not t_attrOrParamName is a CDFparameter name. The default is nil.

Value Returned

d_textDisplay The dbObject of the text display.

July 2004 387 Product Version 6.3

Page 388: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

nil The text display is not created.

ExamplesdbCreateTextDisplay(label inst list("instance" "label") list("justify" "orient")list(0 0) "centerCenter" "R0" "roman" 2)

dbCreateTextDisplay(net net list("wire" "label") t list(0 0)"centerCenter" "R0" "roman" 2 nil nil t t t "name")

dbCreateTextDisplay(prop net list("wire" "label") tlist(0 0) "centerCenter" "R0" "roman" 2)

dbCreateTextDisplay(inst inst list("instance" "label")t list(0 0) "centerCenter" "R0" "roman" 2 nil nil t t t"name" t)

July 2004 388 Product Version 6.3

Page 389: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetAssociateTextDisplay

dbGetAssociateTextDisplay(d_associateIdd_ownerId)=> d_textDisplay / nil

Description

Checks if a text display object exists for a given associate and owner.

There can be more than one text display object for the specified owner and associate. Forexample, a net might have its name displayed in two different locations. In this case, there aretwo text display objects owned by and associated with that net. This function returns only thefirst text display object with the specified associate and owner.

Arguments

d_associateId Associate of the text display (label).

d_ownerId Owner of the text display (instance).

Value Returned

d_textDisplay The dbObject of the text display.

nil The text display does not exist.

ExampledbGetAssociateTextDisplay(labelId instId)

July 2004 389 Product Version 6.3

Page 390: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Shape Conversion Functions

The following functions convert shapes from one form to another.

July 2004 390 Product Version 6.3

Page 391: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbConvertArcToLine

dbConvertArcToLine(d_arcx_nSides)=> d_line / nil

Description

Converts an arc to a line. A line is defined as a number of connecting segments.

Arguments

d_arc The arc to be converted.

x_nSides Number of segments to be created.

Value Returned

d_line The dbObject of the line if the conversion is successful.

nil The arc is not converted.

ExampledbConvertArcToLine(arcId 5)

July 2004 391 Product Version 6.3

Page 392: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbConvertDonutToPolygon

dbConvertDonutToPolygon(d_donutx_nSides)=> d_polygon / nil

Description

Converts a donut to a polygon.

Both the inner and outer circles describing the donut are converted into a single polygon. Asingle line segment connects to two subpolygons corresponding to the concentric circles,forming one polygon.

Arguments

d_donut The donut to be converted.

x_nSides Number of sides created for each circle.

Value Returned

d_polygon The dbObject of the polygon if the conversion is successful.

nil The donut is not converted.

ExampledbConvertDonutToPolygon(donutId 7)

July 2004 392 Product Version 6.3

Page 393: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbConvertEllipseToPolygon

dbConvertEllipseToPolygon(d_ellipsex_nSides)=> d_polygon / nil

Description

Converts an ellipse to a polygon.

Arguments

d_ellipse The ellipse to be converted.

x_nSides Number of sides defining the polygon.

Value Returned

d_polygon The dbObject of the polygon if the conversion is successful.

nil The ellipse is not converted.

ExampledbConvertEllipseToPolygon(ellipseId 7)

July 2004 393 Product Version 6.3

Page 394: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbConvertPathToPolygon

dbConvertPathToPolygon(d_path)=> d_polygon / nil

Description

Converts a path to a polygon with the same number of points as the path.

Arguments

d_path The path to be converted.

Value Returned

d_polygon The dbObject of the polygon if the conversion is successful.

nil The path is not converted.

ExampledbConvertPathToPolygon(pathId)

July 2004 394 Product Version 6.3

Page 395: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbConvertLineToPath

dbConvertLineToPath(d_linex_width[ t_pathStyle ])=> d_path / nil

Description

Converts a line to a path.

Arguments

d_line The line to be converted.

x_width Path width of the path specified in user units.

t_pathStyle Path style of the path, defaults to “truncateExtend”.

Value Returned

d_path The dbObject of the path if the conversion is successful.

nil The line is not converted.

ExampledbConvertLineToPath(lineId 4)

July 2004 395 Product Version 6.3

Page 396: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCompressPointArray

dbCompressPointArray(l_pointArrayx_isClosed[ f_DBUPerUU ])=> l_newPointArray

Description

Compresses colinear points in a list of points.

Arguments

l_pointArray Point array to be compressed.

x_isClosed Either t or nil specifying that the figure is closed or not.

f_DBUPerUU Number of database units in one user unit. The default is 1.0.

Value Returned

l_newPointArray Compressed point array.

Examplel1 = list((0:0) (0:1) (0:2) (0:3))

l2 = dbCompressPointArray(l1 nil)=> ((0:0) (0:3))

July 2004 396 Product Version 6.3

Page 397: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Instance Creation and Retrieval Functions

The following functions create and retrieve instances and their attributes from the database.

July 2004 397 Product Version 6.3

Page 398: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateInst

dbCreateInst(d_cellViewd_mastert_namel_pointt_orient[ x_numInst ])=> d_inst / nil

Description

Creates an instance (of cellview d_master) in the cellview d_cellView with an origin andorientation specified by l_point and t_orient.

Arguments

d_cellView Cellview where the instance is placed.

d_master Master cellview of the instance to be created.

t_name If specified, the instance is named by t_name; if nil theprogram assigns a unique name to the instance. t_name mustobey the syntax of instance names as defined at the beginningof this chapter.

l_point Origin of the new instance.

t_orient Orientation of the new instance.

x_numInst Number of instances; if t_name is given, it overrides any valuespecified by x_numInst (that is, the number of instances isderived from the name instead of taken from the x_numInstargument). If not specified, the default is one.

Value Returned

d_inst The dbObject of the instance.

nil The instance is not created.

July 2004 398 Product Version 6.3

Page 399: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

ExampledbCreateInst(inCellView masterCV "inst1" list(0 0) "R0" 1)

July 2004 399 Product Version 6.3

Page 400: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateParamInst

dbCreateParamInst(d_cellViewd_mastert_namel_pointl_orient[ x_numInst[ l_params ] ])=> d_inst / nil

Description

Creates a parameterized cell instance (of cellview d_master) in the cellview d_cellViewwith an origin and orientation specified by l_point and t_orient.

The values and types of the parameters for this instance may be optionally specified inl_params. Parameters not specified in l_params are defaulted to the ones defined in themaster cellview d_master. Similarly, if l_params is not specified, the instance is createdwith the same parameters defined in its master.

Arguments

d_cellView Cellview the instance is placed in.

d_master Parameterized cell master cellview of the instance to create. Therest of the arguments are identical to those of dbCreateInstexcept l_params.

t_name If specified, the instance is named by t_name; if nil theprogram assigns a unique name to the instance. t_name mustobey the syntax of instance names as defined at the beginningof this chapter.

l_point Origin of the new instance.

l_orient Orientation of the new instance.

x_numInst Number of instances; if t_name is given, it overrides any valuespecified by x_numInst (that is, the number of instances isderived from the name instead of taken from the x_numInstargument). If not specified, the default is one.

July 2004 400 Product Version 6.3

Page 401: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

l_params List of l_param, where l_param is list(t_propNamet_propType g_value).

Value Returned

d_inst The dbObject of the instance.

nil The instance is not created.

ExampledbCreateParamInst(inCellView masterCV "inst1" list(0 0) "R0" 1 list(list("w""float" 2.0) list("l" "float" 5.0)))

July 2004 401 Product Version 6.3

Page 402: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDumpPcDefinePcell

dbDumpPcDefinePcell(d_cvIdt_pCellFile)=> t / nil

Description

Writes out three lists to the file specified: The first list is a list of library names, cell names,and view names of the given cellviewId; the second list is of the parameter value; the last listis the skill procedure attached to the given cellviewId.

Arguments

d_cvId Must be a parameterized cell.

t_pCellFile Name of the output file.

Values Returned

t The output file is successfully created.

nil With warning messages if any errors are encountered.

July 2004 402 Product Version 6.3

Page 403: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindAnyInstByName

dbFindAnyInstByName(d_cellViewt_name)=> d_inst / nil

Description

Retrieves an instance or mosaic.

The use of this function is more efficient than searching through the list of instances on thecellview for the correct one and is preferred when a specific instance is needed.

Note: dbFindAnyInstByName is also defined as dbGetInstanceByName forcompatibility with earlier versions of software.

Arguments

d_cellView Name of the cellview.

t_name Name of the instance.

Value Returned

d_inst The dbObject of the instance.

nil The instance or mosaic is not retrieved.

ExamplesdbFindAnyInstByName(inCellView "inst1")

dbFindAnyInstByName(inCellView "myInv<0:1>")

July 2004 403 Product Version 6.3

Page 404: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindMemInstByName

dbFindMemInstByName(d_cellViewt_name)=> ( d_inst x_index ) / nil

Description

Retrieves an instance or mosaic and returns its member index.

Unlike the dbFindAnyInstByName function described earlier, dbFindMemInstByNamereturns not only the instance dbObject, but also the member index of the instance to whichthe name applies. This member index is applicable to iterated instances.

Arguments

d_cellView Name of cellview.

t_name Name of the instance.

Value Returned

d_inst x_index The dbObject and the member index of the instance as a list.

nil The instance or mosaic is not retrieved.

Examplesinst = dbCreateInst(cvSch cvSym "myInst" list(0 0) "R0" 2)dbFindMemInstByName(cvSch "myInst") => (db:<dbId#> 0)dbFindMemInstByName(cvSch "myInst<1>") => nilinst = dbCreateInst(cvSch cvSym "myInst" list(0 0) "R0")dbFindMemInstByName(cvSch "myInst") => (db:<dbId#> 0)dbFindMemInstByName(cvSch "myInst<1>") => nilinst = dbCreateInst(cvSch cvSym "m<0:3>" list(0 0) "R0")dbFindMemInstByName(cvSch "m<0>") => (db:<dbId#> 0)dbFindMemInstByName(cvSch "m<1>") => (db:<dbId#> 1)dbFindMemInstByName(cvSch "m<3>") => (db:<dbId#> 3)dbFindMemInstByName(cvSch "m<4>") => nildbFindMemInstByName(cvSch "m") => nilinst = dbCreateInst(cvSch cvSym "m<3>" list(0 0) "R0")dbFindMemInstByName(cvSch "m<0>") => nildbFindMemInstByName(cvSch "m") => nil

July 2004 404 Product Version 6.3

Page 405: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindMemInstByName(cvSch "m<2>") => nildbFindMemInstByName(cvSch "m<3>") => (db:<dbId#> 0)

July 2004 405 Product Version 6.3

Page 406: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetInstByName

dbGetInstByName(d_cellViewt_name)=> d_inst / nil

Description

Retrieves an instance or mosaic.

dbGetInstByName is maintained only for backward compatibility; you should now usedbFindAnyInstByName.

Arguments

d_cellView Name of the cellview.

t_name Name of the instance.

Value Returned

d_inst The database object of the instance.

nil The instance or mosaic is not retrieved.

July 2004 406 Product Version 6.3

Page 407: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetInstanceByName

dbGetInstanceByName(d_cellViewt_name)=> d_inst / nil

Description

Retrieves an instance or mosaic.

dbGetInstanceByName is maintained only for backward compatibility; you should now usedbFindAnyInstByName.

Arguments

d_cellView Name of the cellview.

t_name Name of the instance.

Value Returned

d_inst The database object of the instance.

nil The instance or mosaic is not retrieved.

July 2004 407 Product Version 6.3

Page 408: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetInstNameNumInst

dbGetInstNameNumInst(t_name)=> x_numInst / nil

Description

Retrieves the number of instances of an instance or mosaic

Arguments

t_name Name of the instance.

Value Returned

x_numInst The number of instances.

nil The number cannot be retrieved.

ExamplesdbGetInstNameNumInst("i") 1

dbGetInstNameNumInst("i<3>") 1

dbGetInstNameNumInst("i<0:3>") 4

July 2004 408 Product Version 6.3

Page 409: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsAnyInstBaseNameUsed

dbIsAnyInstBaseNameUsed(d_cellViewt_name)=> t / nil

Description

Check if the name is used as instance basename in the cellview.

Arguments

d_cellView Cellview within which to check the base name.

t_name Base name of the instance.

Value Returned

t The name is used as instance base name in the cellview.

nil The name is not used as instance base name in the cellview.

ExampledbIsAnyInstBaseNameUsed(cv "myInst")

July 2004 409 Product Version 6.3

Page 410: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateInstByMasterName

dbCreateInstByMasterName(d_cellViewt_libNamet_cellNamet_viewNamet_instNamel_origint_orient[ x_numInst ])=> d_inst / nil

Description

Creates an instance (of cellview—t_libName/t_cellName/t_viewName) ind_cellView with an origin and orientation specified by l_point and t_orient.

Arguments

d_cellView Cellview where the instance is placed.

t_libName Library name of the master cellview.

t_cellName Cell name of the master cellview.

t_viewName View name of the master cellview.

t_instName If specified, the instance is named by t_name; if nil theprogram assigns a unique name to the instance. t_name mustobey the syntax of instance names as defined at the beginningof this chapter.

l_origin Origin of the new instance.

t_orient Orientation of the new instance.

x_numInst Number of instances; if t_name is given, it overrides any valuespecified by x_numInst (that is, the number of instances isderived from the name instead of taken from the x_numInstargument). If not specified, the default is one.

July 2004 410 Product Version 6.3

Page 411: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

d_inst The dbObject of the instance.

nil The instance is not created.

ExampledbCreateInstByMasterName(cv "basic" "nand2" "symbol" "inst1" list(0 0) "R0" 1)

July 2004 411 Product Version 6.3

Page 412: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateParamInstByMasterName

dbCreateParamInstByMasterName(d_cellViewt_libNamet_cellNamet_viewNamet_namel_originl_orient[ x_numInst[ l_params ] ])=> d_inst / nil

Description

Creates a parameterized cell instance (of cellview t_libName t_cellNamet_viewName) in d_cellView with an origin and orientation specified by l_point andt_orient.

The values and types of the parameters for this instance may be optionally specified inl_params. Parameters not specified in l_params are defaulted to the ones defined in themaster cellview d_master. Similarly, if l_params is not specified, the instance is createdwith the same parameters defined in its master.

Arguments

d_cellView Cellview in which the instance is placed.

t_libName Library name of the master cellview.

t_cellName Cell name of the master cellview.

t_viewName View name of the master cellview.

t_instName If specified, the instance is named by t_name; if nil theprogram assigns a unique name to the instance. t_name mustobey the syntax of instance names as defined at the beginningof this chapter.

l_origin Origin of the new instance.

l_orient Orientation of the new instance.

July 2004 412 Product Version 6.3

Page 413: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

x_numInst Number of instances; if t_name is given, it overrides any valuespecified by x_numInst (that is, the number of instances isderived from the name instead of taken from the x_numInstargument). If not specified, the default is one.

l_params List of l_param, where l_param is list( t_propNamet_propType g_value).

Value Returned

d_inst The dbObject of the instance.

nil The instance is not created.

ExampledbCreateParamInstByMasterName(inCellView "basic" "nand" "symbol" "inst1"list(0 0) "R0" 1 list(list("w" "float" 2.0) list("l" "float" 5.0)))

July 2004 413 Product Version 6.3

Page 414: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDumpPcell

dbDumpPcell(d_cvIdt_outputFilet_pCellFile)=> t / nil

Description

The dbDumpPcell function is used in the implementation of the keepPcell option, duringstreamIn and streamOut. Pcells are preserved by writing the pcells to SKILL files (duringStreamOut) which are loaded back into CDBA/Virtuoso (during StreamIn).

Note: Dumping parameterized cell devices defined in a technology file is not supported inthis function.

Arguments

d_cvId Must be a valid cellview ID and pcell.

t_outputFile Output file which can be reloaded to recreate the pcell.

t_pCellFile Output file for the SKILL procedure attached to the pcell, this filewill be given to dbDefineProc when reloading outputFile.

Value Returned

t The files are dumped successfully.

nil The files are not dumped successfully.

July 2004 414 Product Version 6.3

Page 415: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDumpPcellWithLib

dbDumpPcellWithLib(d_cvIdt_outputFilet_pCellFile)=> t / nil

Description

Same functionality as dbDumpPcell, which preserves pcells through StreamIn andStreamOut by writing the pcells to SKILL files. dbDumbPcellWithLib does not directlywrite the library name in the SKILL code, instead writes a SKILL variable,dbD_NewLibNameForDump whose value can be set to the name of the target librarybefore loading the SKILL file.

Note: Dumping parameterized cell devices defined in a technology file is not supported inthis function.

Arguments

d_cvId Must be a valid cellview ID and pcell.

t_outputFile Output file which can be reloaded to recreate the pcell.

t_pCellFile Output file for the SKILL procedure attached to the pcell, this filewill be given to dbFefineProc when reloading outputFile.

Value Returned

t The files are dumped successfully.

nil The files are not dumped successfully.

July 2004 415 Product Version 6.3

Page 416: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateViaShapeArray

dbCreateViaShapeArray(d_techCVIdg_viaLayerd_netIdf_xf_yf_xPitchf_yPitchf_wf_lengthx_rowx_column)=> l_xy / nil

Description

Creates an array of via shapes (rectangles) on the given layer in the technology cellview andadds all the shapes to the given net.

Arguments

d_techCVId ID of the technology cellview.

g_viaLayer Layer on which to create the via shape array.

d_netId ID of the net to add the via shapes to.

f_x X coordinate of the starting point.

f_y Y coordinate of the starting point.

f_xPitch Length along the X axis allocated to one shape, including thewidth of the rectangle and the space along the X axis betweentwo adjacent rectangles.

f_yPitch Length along the Y axis allocated to one shape, including thelength of the rectangle and the space along the Y axis betweentwo adjacent rectangles.

f_w Width (along the X axis) of the rectangle.

July 2004 416 Product Version 6.3

Page 417: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

f_length Length (along the Y axis) of the rectangle.

x_row Number of rows along the Y axis.

x_column Number of columns along the X axis.

Value Returned

l_xy List of X and Y. x = x + xPitch * column and y = y + yPitch * row.

nil The via shape array is not created successfully.

ExampledbCreateViaShapeArray( cvId “contact” netId 10 10 5 6 3 4 2 3 )==>list(25 22)

July 2004 417 Product Version 6.3

Page 418: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSetInstHeaderMasterName

dbSetInstHeaderMasterName(d_instHeadert_libNamet_cellNamet_viewName)=> t / nil

Description

Changes the instance header’s master library name, cell name, and view name.

Arguments

d_instHeader Instance header whose master library name, cell name, and viewname are being replaced by the specified names.

t_libName New master library name. If it is nil, use the one from theinstHeader.

t_cellName New master cell name. If it is nil, use the one from theinstHeader.

t_viewName New master view name. If it is nil, use the one from theinstHeader.

Value Returned

t The library name/cell name/view name of the master is setsuccessfully.

nil The library name/cell name/view name of the master is not setsuccessfully.

ExampledbSetInstHeaderMasterName(instH1 "basic" "nand2" "symbol")

July 2004 418 Product Version 6.3

Page 419: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsSameMaster

dbIsSameMaster(d_anyInst1d_anyInst2)=> t / nil

Description

Determines if two instances or mosaics are instantiated from the same cellview master.

Both the instances passed in should be instantiated in the same cellview. If two instancesfrom different cellviews are passed in, even if they are instances of the same master, nil isreturned.

Arguments

d_anyInst1 First instance.

d_anyInst2 Second instance.

Value Returned

t The two instances are in the same cellview and have the samemaster.

nil The two instances are not in the same cellview or if they do nothave the same master.

ExampledbIsSameMaster(instId1 instId2)

July 2004 419 Product Version 6.3

Page 420: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsObjectBound

dbIsObjectBound(g_object)=> t / nil

Description

Determines whether or not an object is bound. If the master cell view of the object is opened,the object is bound. Otherwise it is not bound.

Arguments

g_object An instance, a mosaic instance, an instance header, an instancepin, or an instance terminal.

Value Returned

t The object is bound.

nil The object is not bound.

July 2004 420 Product Version 6.3

Page 421: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Mosaic Creation and Retrieval Functions

The following functions creates a simple mosaic in the database.

July 2004 421 Product Version 6.3

Page 422: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateSimpleMosaic

dbCreateSimpleMosaic(d_cellViewd_masterCellViewt_namel_pointt_orientx_rowsx_colsx_rowSpacingx_colSpacing)=> d_mosaic / nil

Description

Creates a simple mosaic in the cellview from the master d_masterCellView.

Arguments

d_cellView Name of the cellview.

d_masterCellView Name of the master cellview.

t_name If specified, the instance is named t_name; if nil, the programassigns a unique name to the instance.

l_point Origin of the lower left instance in the array.

t_orient Orientation of the instance.

x_rows Number of rows defining the size of the array.

x_cols Number of columns defining the size of the array.

x_rowSpacing Spacing between the origins of the mosaic elements inx-direction.

x_colSpacing Spacing between the origins of the mosaic elements iny-direction.

July 2004 422 Product Version 6.3

Page 423: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

d_mosaic The dbObject of the mosaic.

nil The mosaic is not created.

ExampledbCreateSimpleMosaic(cv masterTile "myMos" 0:0 "R0" 5 7 3 2)

July 2004 423 Product Version 6.3

Page 424: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateSimpleMosaicByMasterName

dbCreateSimpleMosaicByMasterName(d_cellViewIdg_masterLibNameg_masterCellNameg_masterViewNameg_mosaicNamel_origint_orientx_rowsx_colsx_rowSpacingx_colSpacing)=> d_mosaic / nil

Description

Creates a simple mosaic in the cellview by master name. It will take library name, master cellname, and view name of the master cellview in place of the master ID and will create a simplemosaic

Arguments

d_cellViewId ID of the cellview.

g_masterLibName Library name of the master cell view.

g_masterCellName Cell name of the master cell view.

g_masterViewName View name of the master cell view.

g_mosaicName Name of the mosaic to be created.

l_origin Origin of the mosaic in the form X:Y.

t_orient Orientation of the mosaic.

x_rows Number of rows defining the size of the array.

x_cols Number of columns defining the size of the array.

July 2004 424 Product Version 6.3

Page 425: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

x_rowSpacing Spacing between the origins of the mosaic elements in theX-direction.

x_colSpacing Spacing between the origins of the mosaic elements in theY-direction.

Value Returned

d_mosaic ID of the mosaic created.

nil The mosaic is not created.

Examplem1 = dbCreateSimpleMosaicByMasterName(cvYes "test" "masterSM2" "layout2""MyMosaic" 10:10 "R0" 2 3 3 4)

Creates a mosaic by the name MyMosaic is cellview cvYes. The master of this mosaic istest/masterSM2/layout2. The origin of this mosaic is at 10:10 and the orientation is R0.It has 2 rows and 3 columns. The spacing between the origins of the mosaic elements in theX-direction is 3 and 4 in the Y-direction.

July 2004 425 Product Version 6.3

Page 426: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindMosaicByName

dbFindMosaicByName(d_cellViewIdt_name)=> d_mosaicId / nil

Description

This function returns a mosaic Id if a mosaic with the given name is found in the cellviewspecified. Otherwise, nil is returned.

Arguments

d_cellViewId The database cellview ID.

t_name The name of the mosaic.

Value Returned

d_mosaicId A mosaic ID if a mosaic with the given name is found in thecellview specified.

nil Otherwise, nil is returned.

July 2004 426 Product Version 6.3

Page 427: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Figure Creation and Retrieval Functions

The following functions create and retrieve figures (both shapes and instances, includingmosaics) from the database.

July 2004 427 Product Version 6.3

Page 428: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCopyFig

dbCopyFig(d_figd_cellView[ l_transform ])=> d_fig / nil

Description

Copies and transforms a figure and places it in a cellview.

If d_cellView is nil, the figure is copied in the same cellview as the original figure.

Arguments

d_fig Original dbObject of the instance to be copied.

d_cellView The cellview the figure is copied to; if nil, the figure is copied tothe same cellview.

l_transform Describes the transformation the original figure performs duringthe copy process, such as offset, rotation, and/or magnification.

Value Returned

d_fig A new dbObject.

nil The figure is not copied or transformed.

ExampledstFig = dbCopyFig(srcFig, dstCellView, list(0:0 "R90" 2.0))

July 2004 428 Product Version 6.3

Page 429: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMoveFig

dbMoveFig(d_figd_cellView[ l_transform ])=> d_fig / nil

Description

Moves and transforms a figure and places it in a cellview.

If d_cellView is nil, the figure is moved to the same cellview as the original figure andkeeps the same ID. If d_cellView is not nil, the figure is copied to the specified cellview,the original figure is deleted, and the new figure has a different ID.

Arguments

d_fig Original dbObject of the instance to be moved.

d_cellView The cellview the figure is moved to; if nil, the figure is movedwithin the same cellview.

l_transform Describes the transformation the figure performs during themove, such as offset, rotation, and/or magnification.

Value Returned

d_fig The figure’s dbObject.

nil The figure is not moved or transformed.

ExampledstFig = dbMoveFig(srcFig, nil, list(-1:2 "R180"))

July 2004 429 Product Version 6.3

Page 430: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetOverlaps

dbGetOverlapsdbGetOverlaps(d_cellViewl_bBox[ xt_layer ][ lx_level ][ g_doRowCol ])=> ld_fig

dbGetOverlaps(d_cellViewl_bBox[ l_layerPurposePair ][ lx_level ][ g_doRowCol ])=> ld_fig

Description

Returns a list of all the objects (such as, shapes, instances, and mosaics) in a cellview whosebounding boxes overlap the area specified by l_bBox. The overlap includes bounding boxesthat are enclosed by, butt against, or intersect with l_bBox.If the object comes from a lower level in the hierarchy, istead of a plain object ID, the objectis represented by a list (potentially a nested list, if it comes from more than one level down).Each level of the list has the ID of the instance in the corresponding level in the hierarchy.For example, if there is a rectangle in a master cellview two levels down, for this rectangle, inthe top cellview, dbGetOverlaps will return a nested list.

Arguments

d_cellView Specifies the cellview.

l_bBox The searching box.

xt_layer Layer specification with drawing purpose; only the boundingboxes of the shapes on this layer-drawing pair are checkedagainst the searching box.

xt_purpose Layer-purpose pair specification; only the bounding boxes of theshapes on this layer-purpose pair are checked against thesearching box.

July 2004 430 Product Version 6.3

Page 431: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

lx_level Search level. It can be a list of two integers (start and stop levelfor the search), or a single integer (stop level, start level is zero).If no level argument is specified, the start and stop levels areboth zero, so that only the top-level figures are returned.

l_layerPurposePair The layer-purpose pair.

g_doRowCol If set to true, displays row and column value, if the overlapedobject is a mosaic instance.

Value Returned

ld_fig A list identifying all the objects encountered in the search. If theobject is in the given cellview, it is identified by its own ID.Otherwise, the object is identified by its hierarchical path,represented as a list of object IDs where the length of the list isone greater than the level of the object. If nil is explicitly givenas the third argument together with the lx_level argument,only the overlapping mosaics and instances are returned.

nil An error occurs.

Examples

shapeList finds all the shapes on the device layer with drawing purpose on the top level.

shapeList = dbGetOverlaps(cv cv~>bBox "device")

shapeList finds all the shapes on the device layer (with any purpose) on the top level.

shapeList = dbGetOverlaps(cv cv~>bBox list("device"))

shapeList finds all the shapes on the device layer with pin purpose on the top level.

shapeList = dbGetOverlaps(cv cv~>bBox list("device" "pin"))

figList finds all the mosaics and instances on the top level.

figList = dbGetOverlaps(cv cv~>bBox nil)

figList finds all the shapes, mosaics and instances on the top level.

figList = dbGetOverlaps(cv cv~>bBox)

figList finds all the shapes, mosaics and instances from the top level to the level 5.

July 2004 431 Product Version 6.3

Page 432: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

figList = dbGetOverlaps(cv cv~>bBox t 0:5)

figList finds all the mosaics and instances on the top level.

figList = dbGetOverlaps(cv cv~>bBox nil)

figList finds all the mosaics and instances from the top level to the level 3.

figList = dbGetOverlaps(cv cv~>bBox nil 3)

The illustration below shows that l_bBox overlaps the bounding boxes of B, C, D, and E.

A

B

C

E

l_bBox

D

July 2004 432 Product Version 6.3

Page 433: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetTrueOverlaps

dbGetTrueOverlapsdbgetTrueOverlaps(d_cellViewl_bBox[ tx_layer | t | nil [ lx_level ] ][ g_doRowCol ])=> ld_fig | nil

dbGetTrueOverlaps(d_cellViewl_bBox[ l_layerPurposePair ][ lx_level ][ g_doRowCol ])=> ld_fig | nil

Description

Returns a list of all objects in a cellview that overlap the area specified by the specifiedbounding box.

This function uses the actual geometry of the shape to do the overlapping analysis and thusmight be slower than dbGetOverlaps. We suggest you not use this function if performanceis critical. Currently, this function is applicable to paths and polygons only.

Arguments

d_cellView Name of the cellview.

l_bBox The searching box.

g_doRowCol If set to ‘true’, displays row and column value, if the overlapedobject is a mosaic instance.

tx_layer Specifies the layer name or number. If t, dbGetTrueOverlapsproduces instances, mosaics, or shapes (the default). If nil,dbGetTrueOverlaps produces only instances and mosaics.

tx_purpose Specifies the layer purpose.

July 2004 433 Product Version 6.3

Page 434: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

lx_level Search level. It can be a list of two integers (start and stop levelfor the search), or a single integer (stop level, start level is zero).If no level argument is specified, the start and stop levels areboth zero, so that only the top-level figures are returned.

l_layerPurposePair Specifies the layer purpose pair.

g_doRowCol If set to ‘true’, displays row and column value, if the overlapedobject is a mosaic instance.

Value Returned

ld_fig A list identifying all the objects encountered in the search. If theobject is in the given cellview, it is identified by its own ID.Otherwise, the object is identified by its hierarchical path,represented as a list of object IDs where the length of the list isone greater than the level of the object.

nil An error occurs.

Examples

shapeList finds all the shapes on the device layer with drawing purpose on the top level.

shapeList = dbGetTrueOverlaps(cv cv~>bBox "device")

shapeList finds all the shapes on the device layer (with any purpose) on the top level.

shapeList = dbGetTrueOverlaps(cv cv~>bBox list("device"))

shapeList finds all the shapes on the device layer with pin purpose on the top level.

shapeList = dbGetTrueOverlaps(cv cv~>bBox list("device" "pin"))

figList finds all the mosaics and instances on the top level.

figList = dbGetTrueOverlaps(cv cv~>bBox nil)

figList finds all the shapes, mosaics, and instances on the top level.

figList = dbGetTrueOverlaps(cv cv~>bBox)

figList finds all the shapes, mosaics, and instances from the top level to the level 5.

figList = dbGetTrueOverlaps(cv cv~>bBox t 0:5)

July 2004 434 Product Version 6.3

Page 435: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The illustration below shows that l_bBox overlaps the actual perimeters of B, C, and D.

A

B

C

E

l_bBox

D

July 2004 435 Product Version 6.3

Page 436: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetNeighbor

dbGetNeighbor(d_cvIdl_bBoxt_direction[ ( t_layer [ t_purpose ] ) ][ x_depth ])=> d_figId / nil

Description

Returns the closest neighboring object in the specified direction of the given layer-purposepair.

Objects that overlap the searching box are ignored.

Arguments

d_cvId Cellview.

l_bBox Searching box.

t_direction Direction to search for the neighboring object. The followingstrings identify the directions that can be specified:T, t, or top Above the searching box.B, b, or bottom Below the searching box.L, l, or left To the left of the searching box.R, r, or right To the right of the searching box.

t_layer Layer specification with drawing purpose. Only the boundingboxes of the shapes on this layer-drawing pair are checkedagainst the searching box.

t_purpose Layer-purpose pair specification. Only the bounding boxes of theshapes on this layer-purpose pair are checked against thesearching box.

x_depth Search level. This can be either two integers specifying the startand stop levels for the search or a single integer specifying thestop level for the search (when the start level is zero). If no levelargument is specified, the start and stop levels are both zero, sothat only the top-level figures are returned.

July 2004 436 Product Version 6.3

Page 437: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

d_fig The dbObject of the object closest to the bounding box in thespecified direction.

nil An error occurs.

ExampleclosestID = dbGetNeighbor(abcID ((10 5)(25 12)) T)

In this example, the dbGetNeighbor function returns the object ID of B because B is theclosest object above the specified searching box. Objects D and E are ignored because theyare fully or partially within the searching box. Object F is ignored because it is below thesearching box. Although object A is above the box, it is ignored because it is not the closestobject in that direction. Object C is not returned because it is to the left of the left edge of thebox.

A

B

D

E

F

searching box

C

July 2004 437 Product Version 6.3

Page 438: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetNeighborList

dbGetNeighborList(d_cellViewl_areat_direction[ ( t_layer [ t_purpose ] ) ][ lx_depth ])=> ( l_instlist )

Description

Lists neighboring objects in the specified direction of the given layer-purpose pair.

Objects that overlap the searching box are ignored.

Arguments

d_cellView Cellview.

l_area Searching box.

t_direction Direction in which to search for neighboring objects. Thefollowing strings identify the directions that can be specified:T, t, or top Above the searching box.B, b, or bottom Below the searching box.L, l, or left To the left of the searching box.R, r, or right To the right of the searching box.

t_layer Specifies layer with the drawing purpose. Only the boundingboxes of the shapes on this layer-drawing pair are checkedagainst the searching box.

t_purpose Specifies layer-purpose pair. Only the bounding boxes of theshapes on this layer-purpose pair are checked against thesearching box.

lx_depth Search level. This can be either a list of two integers thatspecifies the start and stop level for the search, or a singleinteger that specifies the stop level for the search (when the startlevel is zero). If no level argument is specified, the start and stoplevels are both zero, so that only the top-level figures arereturned.

July 2004 438 Product Version 6.3

Page 439: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Value Returned

l_instlist A list of all objects in the search space. The list is in no specificorder, but you can put the list into order of increasing distancewith a sorting function.

ExampleclosestIDs = dbGetNeighbor(abcID ((10 5)(20 12)) T)

In this example, the dbGetNeighborList function returns the object IDs of A and Bbecause both objects are above the specified searching box. Objects D and E are ignoredbecause they are fully or partially within the searching box. Object F is ignored because it isbelow the searching box. Object C is not returned because it is to the left of the left edge ofthe box.

A

B

D

E

F

searching box

C

July 2004 439 Product Version 6.3

Page 440: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetMaxHierDepth

dbGetMaxHierDepth()=> x_maxHierDepth

Description

Returns the dbcMaxHierDepth constant in SKILL.

Arguments

None.

Value Returned

x_maxHierDepth The dbcMaxHierDepth constant.

July 2004 440 Product Version 6.3

Page 441: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbProduceOverlap

dbProduceOverlap(d_cellViewl_bBox[ lx_level[ l_layerPurposePair ] ])=> ld_shape / nil

Description

Returns a list of all the shapes in a cellview whose bounding boxes overlap the area specifiedby l_bBox. This function interface is simpler than dbGetOverlaps if you are onlyinterested in finding the overlapping shapes.

Arguments

d_cellView The cellview.

l_bBox Searching box.

lx_level Search level. It can be two integers (start and stop level for thesearch), or a single integer (stop level, start level is zero). If nolevel argument is specified, the start and stop levels are bothzero, so that only the top-level shapes are returned.

l_layerPurposePair Layer purpose pair. Defaults to all if not specified.

Value Returned

ld_shape A list identifying all the overlapping shapes.

nil An error occured.

Examples

shapeList finds all the shapes on the top level.

shapeList = dbProduceOverlap(cv cv~>bBox)

shapeList finds all the shapes from level 1 to level 5.

shapeList = dbProduceOverlap(cv cv~>bBox 1:5)

July 2004 441 Product Version 6.3

Page 442: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

shapeList finds all the shapes from the top level to level 4.

shapeList = dbProduceOverlap(cv cv~>bBox 4)

shapeList finds all the shapes on device layer with drawing purpose from the top level to level4.

shapeList = dbProduceOverlap(cv cv~>bBox 4 "device")

July 2004 442 Product Version 6.3

Page 443: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbProduceOverlapInst

dbProduceOverlapInst(d_cellViewl_bBox[ lx_level ])=> ld_inst / nil

Description

Returns a list of all the instances in a cellview that overlap the area specified by l_bBox.This function interface is simpler than dbGetOverlaps if you are only interested in findinginstances.

Arguments

d_cellView The cellview.

l_bBox Searching box.

lx_level Search level. Must be two integers (start and stop level for thesearch). If no level argument is specified, the start and stoplevels are both zero, so that only the top-level instances arereturned.

Value Returned

ld_inst A list identifying all the overlapping instances.

nil An error occurs.

Examples

instList finds all the instances on the top level.

skillinstList = dbProduceOverlapInst(cv cv~>bBox)

instList finds all the instances from level 1 to level 5.

instList = dbProduceOverlapInst(cv cv~>bBox 1:5)

instList finds all the instances from the top level to level 4.

instList = dbProduceOverlapInst(cv cv~>bBox 4:4)

July 2004 443 Product Version 6.3

Page 444: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Property Creation and Modification Functions

The following functions create and replace properties in the database.

July 2004 444 Product Version 6.3

Page 445: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateProp

dbCreateProp(g_objectt_namet_propTypeg_value)=> d_prop / nil

Description

Creates a scalar property for an object. If a property named t_name already exists on thespecified object, it returns nil.

Arguments

g_object Specifies an object the property is to be associated with. Theobject can be a dbId, ddId, or dbBagId.

t_name Name of the property.

t_propType Type of the property.

g_value Value of the property (must be consistent with t_propType).

Value Returned

d_prop A scalar property belonging to the database object;.

nil A property named t_name already exists on the specified objector an error occurs.

ExamplesdbCreateProp(cv "prop1" "boolean" t)

dbCreateProp(cv "DBUperUU" "float" 1.0)

July 2004 445 Product Version 6.3

Page 446: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateRangeProp

dbCreateRangeProp(g_objectt_namet_propTypeg_valueg_lBoundg_uBound)=> d_prop / nil

Description

Creates a range property for an object.

If a property named t_name already exists on the specified object, it returns nil.

Arguments

g_object The database object which can be a dbId, ddId, or dbBagId.

t_name Name of the property.

t_propType Type of the property.

g_value Value of the property.

g_lBound Lower bound of the range of values.

g_uBound Upper bound of the range of values.

Value Returned

d_prop A range property belonging to the database object.

nil A property named t_name already exists on the specifiedobject, or if the value passed in is not within the specified range.Also returns nil if an error occurs, such as an invalid argument,or if d_object is not a hierarchical property.

July 2004 446 Product Version 6.3

Page 447: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

ExamplesdbCreateRangeProp(cv "prop1" "int" 5 3 8)

dbCreateRangeProp(cv "prop1" "float" 100.0 0 "infinity")

July 2004 447 Product Version 6.3

Page 448: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateEnumProp

dbCreateEnumProp(g_objectt_namet_valuel_string)=> d_prop / nil

Description

Creates an enumerated property for an object.

If a property named t_name already exists on the specified object, it returns nil. Anenumerated property can have only string values.

Arguments

g_object The database object which can be a dbId, ddId, or dbBagId.

t_name Name of the property.

t_value Value of the property.

l_string Array of strings enumerating the possible values of the property,one of which must equal t_value.

Value Returned

d_prop An enumerated property belonging to the database object.

nil A property named t_name already exists on the specifiedobject, or if the initial value is not in the enumerated propertyrange passed in. Also returns nil if an error occurs.

ExamplesdbCreateEnumProp(cv "prop1" "apple" list("apple" "pear" "peach"))

dbCreateEnumProp(cv "prop1" "float" list("sink" "float" "beach" "pool"))

July 2004 448 Product Version 6.3

Page 449: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateHierProp

dbCreateHierProp(g_objectt_name)=> d_prop / nil

Description

Creates a hierarchical property for an object.

If a property named t_name already exists for the specified object, it returns nil. Ahierarchical property is the only kind of property that can have other properties associatedwith it.

Arguments

g_object The database object which can be a dbId, ddId, or dbBagId.

t_name Name of the property.

Value Returned

d_prop A hierarchical property belonging to the database object.

nil A property named t_name already exists on the specified objector if d_object is invalid or is not a hierarchical property.

ExampledbCreateHierProp(dbId "HProp")

July 2004 449 Product Version 6.3

Page 450: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindProp

dbFindProp(d_objectt_name)=> d_propId / nil

Description

If a property of the given name is found on the object specified, propId of the property isreturned; otherwise, nil is returned. This function has the same functionality asdbGetPropByName.

Argument

d_object Can be a dbId, propBagId, or ddId.

t_name Name of the property to be searched.

Value Returned

d_propId PropId if property of the given name is found on the object

nil Returns nil otherwise.

ExamplepropId = dbFindProp(instId "myProp")

July 2004 450 Product Version 6.3

Page 451: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetPropByName

dbGetPropByName(d_objectt_name)=> d_propId / nil

Description

If a property of the given name is found on the object specified, propId of the property isreturned; otherwise, nil is returned.

Argument

d_object Can be a dbId, propBagId, or ddId.

t_name Name of the property to be searched.

Value Returned

d_propId PropId if the property of the given name is found on the object.

nil Returns nil otherwise.

ExamplepropId = dbGetPropByName(instId "myProp")

July 2004 451 Product Version 6.3

Page 452: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplaceProp

dbReplaceProp(g_objectt_namet_propTypeg_value)=> d_prop / nil

Description

Replaces a scalar property for an object.

This function is similar to dbCreateProp, except that if a property named t_name alreadyexists on the specified object, its type and value are replaced by the ones specified int_propType and g_value.

Arguments

g_object The database object which can be a dbId, ddId, or dbBagId.

t_name Name of the property. If t_name exists and is a range orenumerated property, it is replaced by a scalar property.

t_propType Type of the property.

g_value Value of the property; must be consistent with t_propType.

Value Returned

d_prop A scalar property belonging to the database object.

nil Any argument is in error, or d_object is not a hierarchicalproperty.

ExamplesdbReplaceProp(dbId "netNumber" "int" 12)

dbReplaceProp(dbId "drawGrid?" "boolean" t)

July 2004 452 Product Version 6.3

Page 453: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplaceRangeProp

dbReplaceRangeProp(g_objectt_namet_propTypeg_valueg_lBoundg_uBound)=> d_prop / nil

Description

Replaces a range property for an object.

This function is similar to dbCreateRangeProp except that if a property named t_namealready exists on the specified object, it is replaced by the one specified as t_propType,g_value, g_lBound, and g_uBound.

Arguments

g_object The database object which can be a dbId, ddId, or dbBagId.

t_name Name of the property.

t_propType Type of the property.

g_value Value of the property. g_value, g_lBound, and g_uBoundmust be consistent with t_propType.

g_lBound Lower bound of the range of values.

g_uBound Upper bound of the range of values.

Value Returned

d_prop A range property belonging to the database object.

nil The value is not in the given range or if d_object is not ahierarchical property.

July 2004 453 Product Version 6.3

Page 454: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

ExamplesdbReplaceRangeProp(dbId "prop" "float" 120.0 0 nil)

dbReplaceRangeProp(dbId "prop" "int" 5 3 12)dbReplaceRangeProp

July 2004 454 Product Version 6.3

Page 455: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplaceEnumProp

dbReplaceEnumProp(g_objectt_namet_valuel_string)=> d_prop / nil

Description

Replaces an enumerated property for an object.

This function is similar to dbCreateEnumProp except that if a property named t_namealready exists on the specified object, it is replaced by the one specified as t_value andl_string. An enumerated property can only have values that are strings.

Arguments

g_object The database object which can be a dbId, ddId, or dbBagId.

t_name Name of the property.

t_value Value of the property.

l_string Array of strings enumerating the possible values of the property,one of which must equal t_value.

Value Returned

d_prop An enumerated property belonging to the database object.

nil The value is not in the enumerated property range or ifd_object is not a hierarchical property.

ExampledbReplaceEnumProp(dbId "prop" "grape" list("orange" "grape" "apricot"))

July 2004 455 Product Version 6.3

Page 456: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplaceHierProp

dbReplaceHierProp(g_objectt_name)=> d_prop / nil

Description

Replaces a hierarchical property for an object.

This function is similar to dbCreateHierProp except that if a property named t_namealready exists on the specified object, its value is deleted as are the properties associatedwith it if it is a hierarchical property. A hierarchical property can be defined to have otherproperties associated with it.

Arguments

g_object The database object which can be a dbId, ddId, or dbBagId.

t_name Name of the property.

Value Returned

d_prop A hierarchical property belonging to the database object.

nil d_object is not valid or t_name is not a string.

ExampledbReplaceHierProp(inst "prop1")

July 2004 456 Product Version 6.3

Page 457: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCopyProp

dbCopyProp(g_object1g_object2)=> t / nil

Description

Copies all the properties of one database object to another database object.

Arguments

g_object1 Database object the properties are copied from. The object canbe a dbId,ddId, or dbBagId.

g_object2 Database object the properties of the first database object arecopied to. The object can be a dbId, ddId, or dbBagId.

Value Returned

t The copy is successful.

nil The properties are not copied or if they are only partially copied.

ExampledbCopyProp(dbId1 dbId2)

July 2004 457 Product Version 6.3

Page 458: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeletePropByName

dbDeletePropByName(g_objectt_name)=> t / nil

Description

Deletes a property from an object.

Arguments

g_object The database object can be a dbId, ddId, or dbBagId.

t_name Name of the property.

Value Returned

t The property is not found or if the property is found and deleted.

nil The property is not deleted.

Note: This function might return t even if an error occurred.

ExampledbDeletePropByName(dbId1 "myProp")

July 2004 458 Product Version 6.3

Page 459: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCopySingleProp

dbCopySingleProp(d_srcPropIdg_dstObjId)=> d_dstPropId

Description

Copies a single property to a destination object.

If the property already exists on the destination object, it is overwritten with the copiedproperty. This function differs from the dbCopyProp function, which copies all propertiesfrom the source object.

Arguments

d_srcPropId ID of the source property to be copied.

g_dstObjId Destination object where the property is to be copied. Thisdestination object can be a property, dbId, ddId, or dbBagId.

Value Returned

d_dstPropId The property ID of the destination property.

Example

This example copies the property prop from cellview cv1 to cellview cv2.

cv1 = dbOpenCellViewByType("test" "abc" "layout" "maskLayout" "a")

cv2 = dbOpenCellViewByType("test" "xyz" "layout" "" "a")

prop = dbCreateProp(cv1 "width" "int" 10)

dstProp = dbCopySingleProp(prop cv2)

July 2004 459 Product Version 6.3

Page 460: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMergeSingleProp

dbMergeSingleProp(d_srcPropIdg_dstObjId)=> d_dstPropId

Description

Merges a property with a destination object without overwriting the property if it already exists.

Arguments

d_srcPropId Source property to be merged.

g_dstObjId Destination object where the property is to be merged. Thedestination object can be a property, dbId, ddId, or dbBagId.

Value Returned

d_dstPropId The property ID of the merged property.

Example

A property on cellview cv1 is created and copied to cellview cv2.

cv1 = dbOpenCellViewByType("test" "abc" "layout" "maskLayout" "a")

cv2 = dbOpenCellViewByType("test" "xyz" "layout" "" "a")

prop = dbCreateProp(cv1 "width" "int" 10)

dstProp = dbCopySingleProp(prop cv2)

dstProp1 = dbMergeSingleProp(prop cv2)

The same property is merged from cv1 to cv2. The return values, dstProp anddstProp1, have the same property ID because the merge process does not overwrite aproperty that already exists.

July 2004 460 Product Version 6.3

Page 461: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplacePropList

dbReplacePropList(d_objectl_params)=> t / nil

Description

Replaces a list of properties of a given object with the specified list of properties. This functionshould not be used to replace properties of a pcell instance because the pcell parameters willnot be evaluated by this function.

Arguments

d_object Database object for which the given list of properties will bereplaced.

l_params List of properties.

Value Returned

t The properties are replaced successfully.

nil The function fails.

ExampledbReplacePropList(cv list( list("prop1" "int" 100)list("prop2" "string" "hello") ) )

July 2004 461 Product Version 6.3

Page 462: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSearchPropByName

dbSearchPropByName(d_objectt_name)=> propId / nil

Description

Searches for the specified property.

The function uses the following search rules:

■ If the given ID is an instance, the function looks for the specified property on the instancefirst, then on the instance’s parent cellview bag, then on the cell bag and/or the librarybag.

■ If the given ID is a cellview, the function looks for the specified property on the cellviewfirst, then on the cellview bag, then on the cell bag and/or the library bag.

■ If the given ID is a ddId, the function searches its bag first, then the bag at the next-higher level, up to and including the library-level bag.

■ If the given ID is a bagId, the function searches the given bag first, then the bag at thenext-higher level, up to and including the library bag.

Note: For property bag-related functions, please see the "Property Bag Functions" sectionsof this chapter.

Arguments

d_object Database object for which the given list of properties will bereplaced.

t_name List of properties.

Value Returned

propId The properties are replaced successfully.

nil The properties are not replaced successfully.

July 2004 462 Product Version 6.3

Page 463: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Group Creation and Modification Functions

The following functions create and replace groups in the database. A group collects anynumber of different objects in a cellview, thus allowing user-defined relationships to existbetween database objects. A group contains groupMember objects, which in turn refer to theactual database objects kept as part of the group.

July 2004 463 Product Version 6.3

Page 464: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbAddObjectToGroup

dbAddObjectToGroup(d_groupd_object)=> d_groupMem / nil

Description

Adds a database object to a group.

For compatibility, the parameters are also accepted in the opposite order, unless d_objectis itself a group.

Arguments

d_group Database object of the group.

d_object Database object to be added to the group.

Value Returned

d_groupMem The dbObject of the group member if the database issuccessfully added to the group.

nil The object is not added.

ExampledbAddObjectToGroup(groupId objId)

July 2004 464 Product Version 6.3

Page 465: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbChangeGroupType

dbChangeGroupType(d_groupIdl_groupType)=> t / nil

Description

Changes the type of a group.

Arguments

d_groupId ID of the group to be changed.

l_groupType List of group attributes.Valid values:collection and set—to define the attribute groupType.ordered and unordered—to define the attribute ordered.nonUniqueName and uniqueName—to define the attributeuniqueName.deleteNever, deleteFirst, and deleteLast—to define theattribute deleteWhen.

Value Returned

t The group type is successfully changed

nil The group type is not changed.

July 2004 465 Product Version 6.3

Page 466: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateGroup

dbCreateGroup(d_cellViewt_namel_groupType)=> d_group / nil

Description

Creates a group in a cellview.

Arguments

d_cellView The database object.

t_name Name of the group.

l_groupType A list of strings defining the type and properties of the group. Atleast one valid string must be passed, but there are defaults forall types and properties.

Value Returned

d_group The dbObject of the group if the creation is successful.

nil The group is not created.

ExampledbCreateGroup(cv "myGroup" list("collection" "ordered"))

July 2004 466 Product Version 6.3

Page 467: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeleteGroupByName

dbDeleteGroupByName(d_cellViewt_name)=> t / nil

Description

Deletes a group and its members from a cellview.

Arguments

d_cellView Cellview from which the group is to be deleted.

t_name Name of the group.

Value Returned

t The group does not exist or it is found and successfully deleted.

nil The group is not deleted

ExampledbDeleteGroupByName(cv "GROUP")

July 2004 467 Product Version 6.3

Page 468: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeleteObjectFromGroup

dbDeleteObjectFromGroup(d_groupd_object)=> t / nil

Description

Deletes an object from a group.

Note: For the sake of compatibility, the parameters are also accepted in the opposite order,unless d_object is itself a group. If the group has the type deleteNever, the group will notbe deleted even if the last member is deleted. If it is of type deleteFirst, the entire group willbe deleted if d_object is a member of the group. If the group is of type deleteLast, it will bedeleted if no other members remain after deleting d_object.

Arguments

d_group Database object of the group.

d_object Database object to be deleted from the group.

Value Returned

t The object is deleted.

nil The object is not deleted.

ExampledbDeleteObjectFromGroup(groupId objId)

July 2004 468 Product Version 6.3

Page 469: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMoveGroupMember

dbMoveGroupMember(d_groupMem1[ d_groupMem2 ])=> t / nil

Description

Moves group member d_groupMem1 immediately after group member d_groupMem2.

Moving group members within a group is how members of ordered groups are reorganized.Group must be ordered and both members must belong to the same group.

Arguments

d_groupMem1 dbObject of the group member to be moved to a new position.

d_groupMem2 dbObject of the group member whose position is right befored_groupMem1 when the move is completed. If not passed ornil, d_groupMem1 is moved to the first position of the list.

Value Returned

t The move was successful or if d_groupMem1 equalsd_groupMem2.

nil The group member is not moved.

Examplesg = dbCreateGroup(cv "GROUP" list("set" "ordered"))

a = dbAddObjectToGroup(g obj1)

b = dbAddObjectToGroup(g obj2)

c = dbAddObjectToGroup(g obj3)

d = dbAddObjectToGroup(g obj4)

dbMoveGroupMember(b c)

dbMoveGroupMember(d)

July 2004 469 Product Version 6.3

Page 470: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeleteGroupMemberFromGroup

dbDeleteGroupMemberFromGroup(d_groupMemId)=> t / nil

Description

Deletes a particular group member from the group to which it belongs.

Arguments

d_groupMemId The group member ID.

Return Values

t The group member is deleted.

nil The group member is not deleted.

ExampledbDeleteGroupMemberFromGroup(groupMemId) => t

July 2004 470 Product Version 6.3

Page 471: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Connectivity Creation and Modification Functions

The following database functions create and modify connectivity objects in the database.

July 2004 471 Product Version 6.3

Page 472: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateNet

dbCreateNet(d_cellViewt_name[ d_parentNet ])=> d_net / nil

Description

Creates a new net in a cellview. If the net already exists, returns nil.

To create a child net, the d_parentNet object must not be nil. If t_name is an emptystring or nil, the name of the parent net is used. A unique name for the child net is notrequired.

To create a new top-level net, t_name must be specified as a valid name string andd_parentNet is either nil or unspecified.

Arguments

d_cellView Cellview the net is created within.

t_name Name of the net. For a child net, it can be an empty string or nil.

d_parentNet To create a new top-level net, d_parentNet is either nil orunspecified. To create a child net, the d_parentNet objectmust not be nil.

Value Returned

d_net A new net in the cellview, if one does not already exist.

nil The net is not created or the net already exists.

Examples

Create a top-level net.

parentNet = dbCreateNet(cellview "parentNet")

Create a child net.

July 2004 472 Product Version 6.3

Page 473: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

childNet = dbCreateNet(cellview "childNet" parentNet)

July 2004 473 Product Version 6.3

Page 474: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMakeNet

dbMakeNet(d_cellViewt_name[ d_parentNet ])=> d_net / nil

Description

Creates a new net in a cellview. If the net already exists, it returns the dbObject of the net.

To create a child net, this function works identically to dbCreateNet.

Arguments

d_cellView Cellview the net is created within.

t_name Name of the net. For a child net it can be an empty string or nil.

d_parentNet To create a new top-level net, d_parentNet must be eithernil or unspecified. To create a child net, the d_parentNetobject must not be nil.

Value Returned

d_net The new net or the existing top-level net t_name.

nil The net is not created.

Examples

Make a top-level net.

parentNet = dbMakeNet(cellview "parentNet")

Make a child net.

childNet = dbMakeNet(cellview "childNet" parentNet)

July 2004 474 Product Version 6.3

Page 475: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMergeNet

dbMergeNet(d_netId1d_netId2)=> dnetId1 / nil

Description

Merges one netId2 into netId1. The pins, terminals, connections, figures, properties, andsignals of the merging net (netId2) are merged into the surviving net (netId1), andmember nets of netId2’s signals become members of netId1’s signals. Only one of thenets may already be attached to a terminal, not both; both nets must have the same numberof bits. If the two nets are in the same net hierarchy, netId1 must not be a descendent ofnetId2. If the merge is successful, netId1 is returned; otherwise, nil is returned.

Arguments

d_netId1 The surviving net to which the merging net gets merged into.

d_netid2 The net that is going to get merged into the surviving net.

Value Returned

dNetId1 The merge is successful.

nil Otherwise, nil is returned.

July 2004 475 Product Version 6.3

Page 476: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateUniqueNamedNet

dbCreateUniqueNamedNet(d_cellViewt_prefixx_numBits)=> d_net / nil

Description

Creates a new net with a unique name.

A unique name for the net is automatically generated. The name is composed of the givent_prefix followed by a unique number as specified by x_numBits.

Arguments

d_cellView Cellview within which the net is created.

t_prefix Prefix used in auto-naming the net. nil or an empty stringdefaults to dbNet.

x_numBits Integer specifying the number of bits for the net. If x_numBitsis 1, the name is t_ prefix followed by a unique number. Ifx_numBits is greater than 1, t_prefix is followed by<0:numBits-1>. If x_numBits is less than -1, t_prefix isfollowed by <abs(numBits)-1:0>.

Value Returned

d_net The net that is created.

nil The net is not created.

Examples

Create a single bit net named Nx where x is a unique number.

net = dbCreateUniqueNamedNet(cellview "N" 1)=> N1

Create a new net named N<0:3>.

net = dbCreateUniqueNamedNet(cvId "N" 4)=> N<0:3>

July 2004 476 Product Version 6.3

Page 477: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Create a bus named B<30:0>.

bus = dbCreateUniqueNamedNet(cellview "B" -31)=> B<30:0>

July 2004 477 Product Version 6.3

Page 478: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSetNetNameDescend

dbSetNetNameDescend(d_cellViewg_mode)=> t / nil

Description

Sets a mode, descending or accending, which determines the direction of the net namevector expression.

This mode is mainly used in dbCreateUniqueNameNet together with the sign of numBitto determine the direction of the net name vector expression.

Arguments

d_cellView Cellview within which the mode is set.

g_mode Mode to be set. Either t or nil.

Value Returned

t The mode is set successfully.

nil The function fails.

ExampledbSetNetNameDescend(cellview t)

July 2004 478 Product Version 6.3

Page 479: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsNetNameDescend

dbIsNetNameDescend(d_cellView)=> t / nil

Description

Checks if the net name descend mode is set or not.

Arguments

d_cellView Cellview within which the mode is checked.

Value Returned

t The mode is set.

nil The mode is not set.

ExampledbIsNetNameDescend(cellview)

July 2004 479 Product Version 6.3

Page 480: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeleteAllNet

dbDeleteAllNet(d_cellView)=> t / nil

Description

Deletes all nets from a cellview.

Arguments

d_cellView Specifies the cellview.

Value Returned

t The nets are deleted.

nil The nets are not deleted.

ExampledbDeleteAllNet(cellview)

July 2004 480 Product Version 6.3

Page 481: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateTerm

dbCreateTerm(d_nett_namet_direction)=> d_term / nil

Description

Creates a terminal for a net.

The direction of the terminal is specified by a string t_direction. A list of validt_direction specifiers is available in the section “Access Function Argument Types.”

The terminal name must be unique within a given cellview. Member terminals propagating thesame signal must have the same name.

Arguments

d_net Name of the net.

t_name Name of the terminal to create. If t_name is nil or an emptystring, the default is to use the same name as the net d_net.

t_direction A string specifying the direction of the terminal. See “AccessFunction Argument Types” for valid terminal directions.

Value Returned

d_term The new terminal.

nil The terminal is not created.

Example

Create a terminal named the same as the net (that is, CLK).

net = dbCreateNet(net "CLK")

term = dbCreateTerm(net "" "input")

July 2004 481 Product Version 6.3

Page 482: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateInstTerm

dbCreateInstTerm(d_netd_instd_term)=> d_instTerm / nil

Description

Creates an instance terminal on the instance d_inst for the master terminal d_term.

The instance d_inst cannot be a mosaic instance. Instance terms are not supported inmosaic instances.

Terminal d_term must exist in the master cellview of the instance d_inst. If d_net is nil,the instance terminal is simply created. If d_net defines a valid net, then an attempt is madeto connect the instance terminal to the net. If the instance terminal already exists, theattempted connection still takes place. There can be only one instance terminal of a givenmaster terminal on an instance of a master cellview.

Arguments

d_net Net to be connected to the instance terminal. If nil, the instanceterminal created is left unconnected.

d_inst Instance of a master cellview where d_term is defined.

d_term Terminal defined in the master cellview of the instance d_inst.

Value Returned

d_instTerm The new or existing instance terminal.

nil The terminal is not created.

Examples

Create a terminal in the master cellview.

net = dbCreateNet(master "A")term = dbCreateTerm(master "" "input")

July 2004 482 Product Version 6.3

Page 483: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Create an instance of the master.

inst = dbCreateInst(cellview master "" list(0 0) "R0" 1)

Create a net, an instance terminal of terminal "A", and connect the net to the instanceterminal.

inNet = dbCreateNet(cellview "inNet")instTerm = dbCreateInstTerm(inNet inst term)

July 2004 483 Product Version 6.3

Page 484: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreatePin

dbCreatePin(d_netd_fig[ t_name ])=> d_pin / nil

Description

Creates a pin for d_net with d_fig.

The figure of a pin represents physical implementation and graphical rendering for the pin. Apin cannot exist without being attached to a terminal. A terminal cannot exist without beingattached to a net. Therefore, if the root-net (the top-most parent) of net d_net does not havea terminal, one is created automatically.

Pin name t_name is optional. If specified, it must be unique among pins of the sameterminal. A unique name is automatically generated if t_name is not given.

Arguments

d_net Net for the pin.

d_fig Figure of the pin. The figure purpose attribute is left unchanged.

t_name Pin name. nil or an empty string produces an automaticallygenerated name.

Value Returned

d_pin The new pin.

nil The pin is not created.

Examplepin = dbCreatePin(net fig)

July 2004 484 Product Version 6.3

Page 485: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateInstPin

dbCreateInstPin(d_netd_instTermd_pin)=> d_instPin / nil

Description

Creates an instance pin for the instance terminal d_instTerm and the master pin d_pin.

There can be only one instance pin per master pin on a given instance terminal. If d_net isnil, the instance pin is simply created. If d_net represents a valid net, a connection fromthe net to the instance pin is attempted. If the instance pin already exists, connection is stillattempted.

For the connection to be successful, the net must be either the same net as the oneconnected to the instance terminal or a child of that net.

Description

d_net Net to be connected to the instance pin. If nil, the instance pinis left unconnected.

d_instTerm Instance terminal the instance pin is created under.

d_pin Master pin defined for the master terminal of the instanceterminal d_instTerm.

Value Returned

d_instPin The new or existing instance pin.

nil The pin is not created.

Example

Create instance terminal and its instance pin.

instTerm = dbCreateInstTerm(net inst term)instPin = dbCreateInstPin(net instTerm pin)

July 2004 485 Product Version 6.3

Page 486: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateInstPinByName

dbCreateInstPinByName(d_netd_instTermt_name)=> d_instPin / nil

Description

Similar to dbCreateInstPin, but the master pin is defined by its name instead of thedbObject of the pin.

Arguments

d_net The net to connect to the instance pin. If nil, the instance pin isleft unconnected.

d_instTerm Instance terminal the instance pin is created under.

t_name The name of the master pin defined for the master terminal of theinstance terminal d_instTerm.

Value Returned

d_instPin The new or existing instance pin.

nil The master pin is not created.

Examples

Create instance terminal of master terminal term on instance inst and connect it to net.

instTerm = dbCreateInstTerm(net inst term)

Create instance pin of master pin apin on instance terminal instTerm and connect it to net.

instPin = dbCreateInstPinByName(net instTerm "apin")

July 2004 486 Product Version 6.3

Page 487: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateConn

dbCreateConn(d_netd_instd_term)=> d_instTerm / nil

Description

Identical to dbCreateInstTerm, except the net d_net defines a valid net to be connectedto the instance terminal of a master terminal d_term.

Arguments

d_net Net to be connected to the instance terminal.

d_inst Instance of the master cellview where terminal d_term isdefined. d_inst cannot be a mosaic instance. Instance termsare not supported in mosaic instances.

d_term Terminal defined in the master cellview of instance d_inst.

Value Returned

d_instTerm The connected instance terminal.

nil The instance is not connected.

Exampleconn = dbCreateConn(net inst term)

Creates an instance terminal of master terminal term on instance inst and connect it tonet.

July 2004 487 Product Version 6.3

Page 488: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateConnByName

dbCreateConnByName(d_netd_instt_name)=> d_instTerm / nil

Description

Similar to dbCreateConn, except the master terminal is defined by t_name instead of beingspecified by the master terminal’s dbObject.

Arguments

d_net Net to be connected to the instance terminal.

d_inst Instance of the master cellview where terminal d_term isdefined. d_inst cannot be a mosaic instance. Instance termsare not supported in mosaic instances.

t_name The name of a terminal defined in the master cellview of instanced_inst.

Value Returned

d_instTerm The connected instance terminal.

nil The instance terminal is not connected.

Exampleconn = dbCreateConnByName(net inst "A")

Creates an instance terminal of master terminal A on instance inst and connect it to thenet.

July 2004 488 Product Version 6.3

Page 489: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateConnByNewName

dbCreateConnByNewName(d_netd_instt_name)=> d_instTerm / nil

Description

Similar to dbCreateConnByName, except t_name can refer to a master terminal to becreated in the master cellview of instance d_inst.

In that case, the instance terminal created is left unbound to its master. If terminal t_nameexists on the instance’s master cellview, this function behaves the same asdbCreateConnByName.

Arguments

d_net Net to be connected to the instance terminal.

d_inst Instance of the master cellview where terminal t_name isdefined. d_inst cannot be a mosaic instance. Instance termsare not supported in mosaic instances.

t_name Name of a new or existing terminal in the master cellview ofinstance d_inst.

Value Returned

d_instTerm The connected instance terminal.

nil Tthe instance terminal is not created.

Example

Create an instance terminal of a non-existing master terminal named ToBeOrNotToBe.

unbound = dbCreateConnByNewName(net inst "ToBeOrNotToBe")

July 2004 489 Product Version 6.3

Page 490: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSubFigFromNet

dbSubFigFromNet(d_figId)=> t / nil

Description

Removes the given figure object from the net object with which it is already associated.

Arguments

d_figId The given figure object.

Value Returned

t The figure object was removed.

nil The figure object was not removed.

ExampledbSubFibFromNet(figId)

When the above command is successful you can verify the result using

netId~>figs=>list(figs...)

Where figId is not a member of the returned list.

July 2004 490 Product Version 6.3

Page 491: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbAddFigToNet

dbAddFigToNet(d_figIdd_netId)=> t / nil

Description

Assigns the given figure object to a specified net object. If the figure is already associatedwith a different net, the figure will be detached from that net before being assigned to thegiven net object.

Arguments

d_figId The given figure object.

d_netId The specified net object.

Value Returned

t The figure object was assigned.

nil The figure object was not assigned.

ExampledbAddFigToNet(figId netId)

When the above execution is successful, you can verify that the figure is added using

netId~>figs=>list(figs...)

Where figId will be a member of the returned list.

July 2004 491 Product Version 6.3

Page 492: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbConnectObject

dbConnectObject(d_objId1[ g_isStart1 ]g_objId2[ g_isStart2 ])=> t / nil

Description

Creates a physical connection relationship between the given object pair. If the pair is alreadyconnected, FALSE is returned. The given isStart flag is provided to indicate whether theconnection is to be made at a starting (ie. TRUE) end point of a path. If the object is not apath then this flag is ignored. This relationship is only valid between the following objecttypes: pins, instPins, figures of pins and/or nets. Figures in this case can only be instancesor shapes that are attached to pins or nets. FALSE is returned otherwise.

Arguments

d_objId1 The first object.

g_isStart1 Whether the connection is to be made at a starting end point ofa path if the first object is a path.

g_objId2 The second object.

g_isStart2 Whether the connection is to be made at a starting end point ofa path if the second object is a path.

Return Values

t The two objects are successfully connected.

nil The two objects can not be connected or they are alreadyconnected.

ExampledbConnectObject(netFig t pin1Fig) => t

July 2004 492 Product Version 6.3

Page 493: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDisconnectObject

dbDisconnectObject(d_objId1d_objId2)=> t / nil

Description

Removes the physical connection relationship between the given object pair if any.

Arguments

d_objId1 The first object.

d_objId2 The second object.

Return Values

t The pair is not physically connected at the first place or thephysical connection is successfully removed.

nil An error is detected when removing the physical connection.

ExampledbDisconnectObject(netFig pin2Fig) => t

July 2004 493 Product Version 6.3

Page 494: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsObjectConnected

dbIsObjectConnected(d_object1d_object2)=> t / nil

Description

Determines whether d_object1 is physically connected to d_object2.

Arguments

d_object1 The first object.

d_object2 The second object.

Value Returned

t d_object1 is physically connected to d_object2.

nil They are not physically connected.

July 2004 494 Product Version 6.3

Page 495: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbObjectHasConnection

dbObjectHasConnection(d_object)=> t / nil

Description

Determines whether d_object is physically connected to at least one other object.

Arguments

d_object The given object.

Value Returned

t The given object is physically connected to at least one otherobject.

nil The given object is not physically connected to at least one otherobject.

July 2004 495 Product Version 6.3

Page 496: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Object Deletion Function

The following is the database function for deleting different types of database objects.

July 2004 496 Product Version 6.3

Page 497: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDeleteObject

dbDeleteObject(d_object)=> t / nil

Description

Deletes one of the following objects: shapes, nets, terminals, instance terminals, pins,instance pins, mosaics, instances, mosaic instances, properties, groups, and groupmembers. Any other object type produces an error.

If the object is a mosaic, the associated mosaic instance list and personality array are alsodeleted. If the object is a net, the net’s terminal is automatically deleted and the instanceterminals are disconnected from the net. If the object is a terminal, all of the associated pinsare automatically deleted and corresponding instance terminals and instance pins areunbound. If the object is a pin, the instance pins are unbound and the figure is detached fromthe pin but not deleted.

Note: Other functions that delete database objects, documented elsewhere in this chapter,are dbDeletePropByName, dbDeleteObjectFromGroup and dbDeleteAllNet.

Arguments

d_object The object to be deleted; can be shapes, nets, terminals,instance terminals, pins, instance pins, mosaics, instances,mosaic instances, properties, groups, and group members. Anyother object type produces an error.

Value Returned

t The object is deleted.

nil The object is not deleted.

ExampledbDeleteObject(net)

July 2004 497 Product Version 6.3

Page 498: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Shape Transformation Functions

The following functions let you transform a shape or object by specifying modifications to thecoordinates of the shape or object.

July 2004 498 Product Version 6.3

Page 499: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbTransformPoint

dbTransformPoint(l_pointl_list)=> l_point / nil

Description

Transforms a coordinate pair.

Using the location and orientation you specify, this function calculates how a certain shape(such as a pin on the master) in an instance of a cell is repositioned. This function performscalculations and is not related to any database object.

Arguments

l_point Coordinate pair to be transformed.

l_list List of the following: displacement vector offset, rotation orreflection of the object, and magnification (optional).

Valid values for rotation are R0, R90, R180, and R270.Valid values for reflection are MX, MXR90, MY, and MYR90.

Value Returned

l_point The coordinate pair of the location of the object after thetransformation.

nil The transformation is not successful.

ExampledbTransformPoint( (1.5:2.5) list(0:10 "R90" 2.5) )=> (-6.250000 13.750000)

July 2004 499 Product Version 6.3

Page 500: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbTransformBBox

dbTransformBBox(l_pointl_list)=> l_bBox_new

Description

Transforms a bounding box.

Arguments

l_point List of two coordinate pairs to be transformed.

l_list List of the following: displacement vector for the transformation,rotation or reflection of the objects, and magnification (optional).

Valid values for rotation are R0, R90, R180, and R270.Valid values for reflection are MX, MXR90, MY, and MYR90.

Value Returned

l_bBox_new A list of the coordinates of the new bounding box.

ExampledbTransformBBox(list(1.5:2.5 0:10) list(10:20 "R90"))=> ((-10.000000 11.500000) (-2.500000 10.000000))

July 2004 500 Product Version 6.3

Page 501: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbConcatTransform

dbConcatTransform(l_list1l_list2)=> l_list_new

Description

Merges two transformations into a new transformation.

Arguments

l_list1 First list of the following: displacement vector for thetransformation, rotation or reflection of the objects, andmagnification (optional).

l_list2 Second list of the following: displacement vector for thetransformation, rotation or reflection of the objects, andmagnification (optional).

Valid values for rotation are R0, R90, R180, and R270.Valid values for reflection are MX, MXR90, MY, and MYR90.

Value Returned

l_list_new A list of the results of the merged transformations.

ExampledbConcatTransform(list(0:0 "R90") list(1.5:2.5 "R90"))=> ((1.500000 2.500000) "R180" 1.000000)

July 2004 501 Product Version 6.3

Page 502: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Bounding Box Functions

Figure 2-2 Bounding Box Points for a Polygon

You can abbreviate bounding box point names as follows:upperLeft or uL lowerLeft or lL

upperCenter or uC lowerCenter or lC

upperRight or uR lowerRight or lR

centerLeft or cL centerCenter or cC

centerRight or cR

X lowerRight

upperRight

centerRight

X

X

X

lowerCenter

centerCenter

upperCenter

X

X

X

lowerLeft

upperLeft

centerLeft

X

X

July 2004 502 Product Version 6.3

Page 503: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

lowerLeft

lowerLeft(l_bBox)=> l_list

Description

Returns the lower left point of the given bounding box. The bounding box is not validated andassumed to be correct.

Note: This function must not be used with pcells.

Arguments

l_bBox A list representing a bounding box.

Value Returned

l_list A list representing the lower left point of the bounding box.

ExamplelowerLeft( list( list(0 0) list(5 5)) => list(0 0)

July 2004 503 Product Version 6.3

Page 504: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

upperRight

upperRight(l_bBox)=> l_list

Description

Returns the upper right point of the given bounding box. The bounding box is not validatedand is assumed to be correct.

Note: This function must not be used with pcells.

Arguments

l_bBox A list representing a bounding box.

Value Returned

l_list A list representing the upper right point of the bounding box.

ExampleupperRight( list( list(0 0) list(5 5)) => list(5 5)

July 2004 504 Product Version 6.3

Page 505: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

leftEdge

leftEdge(d_object)=> g_coordinate / nil

Description

Returns the lower left point’s X coordinate of the figure’s bounding box.

Note: This function must not be used with pcells.

Arguments

d_object A database figure

Value Returned

g_coordinate The Y coordinate of the lower left point of the bounding box.

nil The object is not a database figure or it does not have a boundingbox.

July 2004 505 Product Version 6.3

Page 506: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

rightEdge

rightEdge(d_object)=> g_coordinate / nil

Description

Returns the upper right point’s X coordinate of the figure’s bounding box.

Note: This function must not be used with pcells.

Arguments

d_object A database figure

Value Returned

g_coordinate The X coordinate of the upperright point of the bounding box.

nil The object is not a database figure or it does not have a boundingbox.

July 2004 506 Product Version 6.3

Page 507: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

bottomEdge

bottomEdge(d_object)=> g_coordinate / nil

Description

Returns the lower left point’s Y coordinate of the figure’s bounding box.

Note: This function must not be used with pcells.

Arguments

d_object A database figure.

Value Returned

g_coordinate The Y coordinate of the lower left point of the bounding box.

nil The object is not a database figure or it does not have a boundingbox.

July 2004 507 Product Version 6.3

Page 508: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

topEdge

topEdge(d_object)=> g_coordinate / nil

Description

Returns the upper right point’s Y coordinate of the figure’s bounding box.

Note: This function must not be used with pcells.

Arguments

d_object A database figure.

Value Returned

g_coordinate The Yy coordinate of the upper right point of the bounding box.

nil The object is not a database figure or it does not have a boundingbox.

July 2004 508 Product Version 6.3

Page 509: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

centerBox

centerBox(l_bBox)=> l_point / nil

Description

Returns the center point of the given bounding box. The bounding box is not validated and isassumed to be correct.

Arguments

l_bBox A list representing a bounding box.

Value Returned

l_point A list representing the center point of the bounding box.

nil The bounding box is not valid.

ExamplecenterBox( list( 0:0 9:9 ) ) => ( 4 4 )

centerBox( list(0.0:0.0 9.0:9.0 ) ) => ( 4.5 4.5 )

July 2004 509 Product Version 6.3

Page 510: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

isLocation

isLocation(l_point)=> t / nil

Description

Validates that the given point is properly defined.

Note: This function must not be used with pcells.

Arguments

l_point A list representing a point.

Value Returned

t The point is properly defined.

nil The point is not properly defined.

ExampleisLocation( list( 0 0 )) => t

July 2004 510 Product Version 6.3

Page 511: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

isBBox

isBBox(l_bBox)=> t / nil

Description

Validates that the given bounding box is properly defined.

Note: This function must not be used with pcells.

Arguments

l_bBox A list representing a bounding box.

Value Returned

t The bounding box is properly defined.

nil The bounding box is not properly defined.

ExampleisLocation( list( list( 0 0 ) list(5 5)) ) => t

July 2004 511 Product Version 6.3

Page 512: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Connectivity Access Functions

A net contains one or more signals. A signal can be in more than one net. A net namedA<0:1> contains two signals, A<0> and A<1>, while a net named A<1*2> contains tworeferences to one signal, A<1>. The syntax for net names is described in more detail earlierin this chapter. This section contains a group of functions for accessing the connectivityinformation between nets, signals, and terminals.

July 2004 512 Product Version 6.3

Page 513: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindNetByName

dbFindNetByName(d_cellViewt_name)=> d_net / nil

Description

Retrieves a net in a cellview.

Arguments

d_cellView Cellview within which the net is located.

t_name Name of the net.

Value Returned

d_net The net named t_name if found.

nil The net is not retrieved.

Examplenet = dbFindNetByName(cellview "FindMe")

July 2004 513 Product Version 6.3

Page 514: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindTermByName

dbFindTermByName(d_cellViewt_name)=> d_term / nil

Description

Finds a terminal in a cellview.

Arguments

d_cellView Name of the cellview.

t_name Name of the terminal to search for.

Value Returned

d_term The terminal.

nil The terminal is not found.

Exampleterm = dbFindTermByName(cellview "FindMe")

July 2004 514 Product Version 6.3

Page 515: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindSigByName

dbFindSigByName(d_cellViewt_name)=> d_sig / nil

Description

Finds a signal in a cellview.

Arguments

d_cellView Name of the cellview.

t_name Name of the signal.

Value Returned

d_sig The signal found.

nil The signal is not found.

Examplesig = dbFindSigByName(cellview "VDD")

July 2004 515 Product Version 6.3

Page 516: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindSigByAlias

dbFindSigByAlias(d_cellViewt_name)=> d_sig / nil

Description

Finds a signal in a cellview by an alias.

A signal’s possible alias names are the corresponding names of the bits of the member netsthis signal belongs to. Signal aliases might be different from the signal name because twodifferent nets carrying two different sets of signals can be merged into one net.

Arguments

d_cellView Cellview the signal is residing within.

t_name The alias name for the signal.

Value Returned

d_sig The signal found.

nil The signal is not found.

Examplesig = dbFindSigByAlias(cellview "PWR")

July 2004 516 Product Version 6.3

Page 517: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetMemNetSig

dbGetMemNetSigdbGetMemNetSig( ( d_net x_index ) )

=> d_sig / nil

dbGetMemNetSig( d_net x_index )=> d_sig / nil

Description

Retrieves the signal carried by bit number x_index of net d_net.

The pair (d_net x_index)is called the member net of the signal. A signal can be carriedby one or many member nets. The function accepts the arguments separately or as a list.

Arguments

d_net A net carrying the signal.

x_index An integer representing a bit number in the net d_net.

Value Returned

d_sig The signal carried by the specified member net.

nil The member net specification is invalid.

Examples

Create a net carrying two signals “a” and “b”.

net = dbCreateNet(cellview "a,b")

Get signal “a” then signal “b” from net “a, b.”

sigA = dbGetMemNetSig(list(net 0))sigB = dbGetMemNetSig(net 1)

July 2004 517 Product Version 6.3

Page 518: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetMemNetSigName

dbGetMemNetSigNamedbGetMemNetSigName( d_net x_index )

=> t_name / nil

dbGetMemNetSigName( ( d_net x_index ) )=> t_name / nil

Description

Similar to dbGetMemNetSig, except it returns the name of the signal instead of the signalobject.

Arguments

d_net A net carrying the signal.

x_index An integer representing a bit number in the net d_net.

Value Returned

t_name The name of the signal carried by the specified member net.

nil The member net specification is invalid.

Examples

Create a net carrying two signals “a” and “b”.

net = dbCreateNet(cellview "a,b")

Get signal “a” then signal “b” from net “a,b”.

sigNameA = dbGetMemNetSigName(list(net 0))sigNameB = dbGetMemNetSigName(net 1)

July 2004 518 Product Version 6.3

Page 519: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetNetTerms

dbGetNetTerms(d_net)=> d_term / nil

Description

Returns the IDs of the terminals attached to the specified net.

Arguments

d_net The name of the net.

Value Returned

d_term The id of any terminal attached to the net.

nil No terminals are attached to the net.

July 2004 519 Product Version 6.3

Page 520: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetSigNameMemNets

dbGetSigNameMemNets(d_cellViewt_sigName)=> ( (t_netName x_index) ...) / nil

Description

Lists the member nets within the cellview that contain the signal.

The member net is output as a list of lists, each sublist containing the name of the net and theindex representing the net member containing the signal.

Arguments

d_cellView Cellview where signal t_sigName resides.

t_sigName The name of the signal.

Value Returned

t_netName x_index The name of the net and the index representing the net membercontaining the signal.

nil Signal t_sigName does not exist in cellview d_cellView.

Example

Creates a net containing two signals “a” and “b.”

net = dbCreateNet(cellview "a,b")

Gets member net for signal “a.”

dbGetSigNameMemNets(cellview "a")=> (("a,b" 0))

July 2004 520 Product Version 6.3

Page 521: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsSigNameGlobal

dbIsSigNameGlobal(d_cellViewt_name)=> t / nil

Description

Tests if the signal t_name is a global signal.

Arguments

d_cellView Cellview where signal t_name resides.

t_name The name of the signal.

Value Returned

t Signal t_name is global.

nil The signal is not global.

ExampleisGlobal = dbIsSigNameGlobal(cellview "VDD!")

July 2004 521 Product Version 6.3

Page 522: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetMemName

dbGetMemName(t_namex_index)=> t_memName

Description

Retrieves the name of the x_index member from t_name.

The members are numbered in increasing order from left to right starting from zero. The namedefined by t_name is parsed according to the syntax rules of net and terminal names (ofwhich instance names is a subset). If no errors occur during parsing and the name is valid, astring defined by t_memName is returned that corresponds to the nth member defined in thename (where n is x_index). In case of an error, the member name returned is composedof t_name suffixed by <x_index>.

Arguments

t_name Name string adhering to the net, terminal, or instance namesyntax.

x_index Integer representing member to retrieve.

Value Returned

t_memName The name of the x_index member from t_name. In case of anerror, the member name returned is composed of t_namesuffixed by <x_index>.

Example

In the following example, member 0 refers to one<2>, member 1 refers to one<3>, andmember 2 refers to four<5>.

memName = dbGetMemName("one<2:3>,four<5>" 2)

July 2004 522 Product Version 6.3

Page 523: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbExpandToMemNameExpr

dbExpandToMemNameExpr(t_bundleName)=> l_memNameExpr

Description

Expands a bundle name to a list of member-name-expression strings.

Member-name-expression strings are returned in the following form:

baseName[<vector-expression>]

Arguments

t_bundleName Valid CDBA name expression.

Value Returned

l_memNameExpr List of member-name-expression strings contained in thespecified bundle.

ExampledbExpandToMemNameExpr("A,B<3:0>,<*2>D<1>,D<2>")=> ("A" "B<3:0>" "D<1>" "D<2>")

July 2004 523 Product Version 6.3

Page 524: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetMaxNumBit

dbGetMaxNumBit()=> x_numbit

Description

Returns the maximum width allowed for a net.

Arguments

None.

Value Returned

x_numbit The maximum net width, expressed as an integer.

July 2004 524 Product Version 6.3

Page 525: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetNameNumBit

dbGetNameNumBit(t_name)=> x_numBit

Description

Parses a string and returns the number of bits in the net, terminal, or instance named.

The name defined by t_name is parsed according to the syntax rules of net and terminalnames (of which instance names is a subset).

Arguments

t_name Name string adhering to the net, terminal, or instance namesyntax.

Value Returned

x_numBit Number of bits in t_name. Returns zero if an error is detected.

Example

The following name returns 3 as the number of bits.

numBit = dbGetNameNumBit("one<2:3>,four<5>")

July 2004 525 Product Version 6.3

Page 526: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Pin Connection Functions

The following SKILL functions provide an Application Programming Interface (API) thatdefines how pins on a terminal within an instance are connected. This information is used bya router to route the connections between the pins.

External, Strong, and Weak Pin Connections

You can specify that pins are to be strongly connected to each other within a device orexternally connected (this is a compulsory requirement) to each other outside a device. Youcan also specify that pins are weakly connected.

If two pins are strongly connected, the router attempts to route a connection between thosepins within the instance. If the two pins are externally connected, the router routes theconnection between those pins outside of the device. By default, all the pins on a terminal arestrongly connected to each other.

If two pins are weakly connected, then the router does not route current through thatconnection.

For example, if you have a device with a power bus on the top and bottom of the device, therouter attempts to route a strong connection between those two power buses. But, if youdefine the pins on each bus as externally connected, the router delays routing and connectsthose buses outside of the device after the device has been instantiated and placed.

Strong Pin Groups

A set of pins that are strongly connected to each other is called a strong group. A terminalcan have one or more strong groups of pins. Each strong group of pins can be externallyconnected or weakly connected to all the other strong groups on the terminal.

Using the example of a device with a power bus on the top and bottom of the device, the pinsat the top of the power bus constitute one strong group of pins that is externally connected tothe strong group of pins at the bottom of the power bus.

If a strong group is weakly connected to all of the other strong groups on the terminal, the therouter routes only one path to that strong group of pins. Routing only one path to a weaklyconnected strong group prevents current from flowing through a weak connection, such as ahighly resistive path, to other pin groups.

July 2004 526 Product Version 6.3

Page 527: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

You can create new strong groups and merge existing strong groups. When you create a newstrong group, you can specify whether that new strong group is externally connected orweakly connected to the other strong pin groups on the same terminal.

The Define Pin Connections API includes functions for defining the relationship between pinsin terms of pin connections or in terms of strong groups.

The Pin Connection functions and the Strong Group functions are equivalent. Use whicheverone applies to your situation.

Must Connections Pin Functions

"Must Connections" are synonymous with "external connections." If two pins are mustconnected, then the router must connect those pins outside of the device. In other words, thepins are externally connected.

Two must connect functions are provided here. Use the function that you are mostcomfortable with.

The symbol ’dbcMustConnected has also been added. ’dbcMustConnected isequivalent to ’dbcExternallyConnected and can be used instead of’dbcExternallyConnected.

Example

dbCreateStrongGroup(pinList ’dbcMustConnected)

is equivalent to

dbCreateStrongGroup(pinList ’dbcExternallyConnected)

Pin Connection Functions Equivalent Strong Group Functions

dbStronglyConnectPins() dbMergeStrongGroups(

dbExternallyConnectPins() dbCreateStrongGroup()

Must Connection Functions EquivalentExternal Connection Functions

dbMustConnectPins dbExternallyConnectPinsd

dbHasMustConnections dbHasExternalConnections

July 2004 527 Product Version 6.3

Page 528: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The symbols dbcMustConnected and dbcExternallyConnected also have the samevalue

eval(’dbcMustConnected) == eval(’dbcExternallyConnected)

Note: dbGetPinConnection() always returns dbcExternallyConnected rather thandbcMustConnected. See dbGetPinConnection for an example.

Pin Connections Functions

In the following SKILL functions examples

■ term is a terminal that has three pins: pin1 named 1; pin2, 2; pin3, 3.

■ All the pins on a terminal are in one strong group in the initial configuration. This is thedefault configuration when pins are created.

■ The pin order in the value returned might not match your pin order. Your pin order mightbe 2, 1, 3 instead of 1, 2, 3.

July 2004 528 Product Version 6.3

Page 529: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCreateStrongGroup

dbCreateStrongGroup(l_pinList[ s_groupConnection ])=> t / nil

Description

Creates a new strong group containing the pins in l_pinList. The pins are removed fromtheir current strong groups and added to the new strong group.

s_groupConnection specifies whether the new strong group is externally or weaklyconnected to all the other strong groups on the terminal. If s_groupConnection isomitted, the new strong group is externally connected to the other strong groups on the sameterminal.

If the pins in l_pinList belong to different terminals, each terminal is handled separately.

dbCreateStrongGroup(pinList ’dbcExternallyConnected)

is equivalent to

dbExternallyConnectPins(pinList)

and

dbMustConnectPins(pinList)

Arguments

l_pinList The list of pins to be included in the new strong group.

s_groupConnection Specifies how the strong group is connected to all of the otherpins on the same terminal. Can bedbcExternallyConnected, dbcMustConnected, ordbcWeaklyConnected. dbcMustConnected issynonymous with dbcExternallyConnected. If omitted,defaults to dbcExternallyConnected.

Value Returned

t Tthe pins were externally connected.

July 2004 529 Product Version 6.3

Page 530: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

nil The pins were not externally connected.

ExampledbGetStrongGroups(term)~>name(("1" "2" "3"))

; Returns one strong group consisting of pins 1, 2, and 3.

; Create a strong group consisting of pin 2.

dbCreateStrongGroup(list(pin2))t

dbGetStrongGroups(term)~>name(("2")

("1" "3"))

; Now returns two strong groups. One consisting of pin 1, and another

; strong group consisting of pins 1 and 3.

dbCreateStrongGroup(list(pin1 pin2) ’dbcWeaklyConnected)

t

dbGetStrongGroups(term)~>name(("2" "1") ("3")

); Pin 1 and pin 2 are now in one strong group. Pin 3 is in a; separate strong group.

dbGetPinConnection(pin1 pin3)dbcWeaklyConnected; ... and pin 1 is weakly connected to pin 3.

July 2004 530 Product Version 6.3

Page 531: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbExternallyConnectPins

dbExternallyConnectPins(l_pinList)=> t / nil

Description

Defines the pins in pinList as being externally connected to the other pins on the sameterminal. The pins in pinList are strongly connected to each other, and externallyconnected to the other pins in pinList. This is a grouping operation. The pins are removedfrom their current strong groups and grouped together in a new strong group. If the pins inpinList belong to different terminals, each terminal is handled separately.

dbExternallyConnectPins(pinList)is equivalent todbMustConnectPins(pinList)and dbCreateStrongGroup(pinList ’dbcExternallyConnected)

For more information, see the dbMustConnectPins and dbCreateStrongGroupfunctions.

Arguments

l_pinList The list of pins you want externally connected to other pins onthe same terminal.

Value Returned

t The pins were successfully externally connected.

nil The pins were not successfully externally connected.

ExampledbGetStrongGroups(term)~>name(("1" "2" "3"))

dbExternallyConnectPins(list(pin2))t

dbGetStrongGroups(term)~>name(("2")

("1" "3"))

dbGetPinConnection (pin1 pin3)

July 2004 531 Product Version 6.3

Page 532: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbcExternallyConnected

July 2004 532 Product Version 6.3

Page 533: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetPinConnection

dbGetPinConnection(d_pin1d_pin2)=> dbcExternallyConnected / dbcWeaklyConnected /

dbcStronglyConnected/ nil

Description

Given two pins, it returns a symbol representing the connectivity between two pins.

The return value is one of the following:

The connectivity symbols also have numeric values. The higher the value, the stronger theconnection.

Arguments

d_pin1, d_pin2 The two pins you are interested in.

Value Returned

dbcExternallyConnectedSymbol returned when d_pin1 and d_pin2 are externally(must) connected

dbcWeaklyConnected Symbol returned when pin1 and pin2 are weakly connected.

dbcStronglyConnected Symbol returned when d_pin1 and d_pin2 are stronglyconnected.

nil Returned when d_pin1 and d_pin2 are not connected. Thisoccurs when d_pin1 and d_pin2 are on different terminals.

0 dbcExternallyConnected

1 dbcWeaklyConnected

2 dbcStronglyConnected

nil no connection

July 2004 533 Product Version 6.3

Page 534: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

ExampledbGetStrongGroups(term)~>name(("1" "2" "3"))

dbGetPinConnection(pin1 pin2)dbcStronglyConnected

dbExternallyConnectPins(list(pin1))t

dbGetStrongGroups(term)~>name(("1")

("2" "3"))

dbGetPinConnection(pin1 pin2)dbcExternallyConnected

eval (dbGetPinConnection(pin1 pin2)) == eval(’dbcMustConnected)t

July 2004 534 Product Version 6.3

Page 535: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetStrongGroups

dbGetStrongGroups(d_object)=> ~>name

Description

Returns the strong groups associated with the given database object, d_object.d_object can be a pin, a net, or a terminal. Each strong group is returned as a list of pins.

When d_object is a pin, dbGetStrongGroups returns the pin’s strong group.

When d_object is a net or a terminal, dbGetStrongGroups returns a list of all the stronggroups on that net or terminal.

Arguments

d_object Specifies a pin, a net, or a terminal.

Value Returned

~>name When d_object is a pin, dbGetStrongGroups returns thepin’s strong group. When d_object is a net or a terminal,dbGetStrongGroups returns a list of all the strong groups onthat net or terminal.

ExampledbGetStrongGroups(term)~>name(("1" "2" "3"))

dbGetStrongGroups(pin1)~>name(("1" "2" "3"))

dbCreateStrongGroup(list(pin1 pin3))t

dbGetStrongGroups(pin1)~>name(("1" "3"))

dbGetStrongGroups(term)~>name(("2")

("1" "3"))

July 2004 535 Product Version 6.3

Page 536: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbHasExternalConnections

dbHasExternalConnections(d_connectivityObject)=> t / nil

Description

Reports if the given net or terminal has one or more pins that are externally connected.dbHasExternalConnections(connectivityObject) is equivalent todbHasMustConnections(connectivityObject).

Arguments

d_connectivityObjectSpecifies the connectivityObject which can either be anet (d_net), a terminal (d_terminal), or a pin (d_pin).

Value Returned

t The given net or terminal contains one or more externallyconnected pins.

nil The given net or terminal does not contain one or more externallyconnected pins.

ExampledbGetStrongGroups(term)~>name(("1" "2" "3"))

dbHasExternalConnections(term)nil

dbExternallyConnectPins(list(pin2))t

dbGetStrongGroups(term)~>name(("2")

("1" "3"))

dbHasExternalConnections(term)t

July 2004 536 Product Version 6.3

Page 537: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbHasMustConnections

dbHasMustConnections(anObject)=> t

Description

Reports ports if the given net or terminal has one or more pins that are must connected.dbHasMustConnections(anObject) is equivalent todbHasExternalConnections(connectivityObject).

Arguments

anObject Can be a terminal, a net, or a pin.

Value Returned

t The given object, anObject, has one or more pins that are mustconnected. anObject can be a terminal, a net, or a pin. IfanObject is a net or a pin, then anObject’s terminal ischecked for must connections.

ExampledbGetStrongGroups(term)~>name

(("2")

("1" "3")

)

dbHasMustConnections(term)

nil

dbMustConnectPins(list(pin2))

t

dbGetStrongGroups(term)~>name

(("2")

("1" "3")

)

dbMustConnections(term)

t

July 2004 537 Product Version 6.3

Page 538: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMergeStrongGroups

dbMergeStrongGroups(l_pinList)=> t / nil

Description

Merges all the strong groups of pins in l_pinList into one strong group of pins. All the pinsin l_pinList are then strongly connected to each other. If the pins in l_pinList belongto different terminals, each terminal is handled separately.dbMergeStrongGroups(pinList) is equivalent todbStronglyConnectPins(pinList)

Arguments

l_pinList The list of strong groups of pins you want merged in one stronglyconnected group of pins.

Value Returned

t The pin groups are merged into one strongly connected group ofpins.

nil The pin groups are not merged into one strongly connectedgroup of pins.

ExampledbGetStrongGroups(term)~>name(("1" "2" "3"))

dbMergeStrongGroups(list(pin1 pin2))t

dbGetStrongGroups(term)~>name(("1" "2" "3"))

July 2004 538 Product Version 6.3

Page 539: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMustConnectPins

dbMustConnectPins(l_pinList)=> t / nil

Description

Defines the pins in l_pinList as being must connected (externally connected) to the otherpins on the same terminal. The pins in l_pinList are strongly connected to each other,but must connected to the other pins in l_pinList. This is a grouping operation. The pinsare removed from their current strong groups and grouped together in a new strong groupthat is must connected to all other strong groups on the terminal.

If the pins in l_pinList belong to different terminals, each terminal is handled separately.dbMustConnectPins(pinList) is equivalent todbExternallyConnectPins(pinList)and dbCreateStrongGroup(pinList’dbcMustConnected)

Arguments

l_pinList Specifies the list of pins you want in the new strong group of pinson the same terminal.

Value Returned

t The pins were successfully must connected

nil the pins were not successfully must connected

ExampledbGetStrongGroups(term) ~> name

(("1" "2" "3"))

dbMustConnectPins(list(pin2))

t

dbGetStrongGroups(term) ~>name

(("2")

("1" "3")

July 2004 539 Product Version 6.3

Page 540: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbStronglyConnectPins

dbStronglyConnectPins(l_pinList)=> t / nil

Description

Defines the pins in l_pinList as being strongly connected to each other, similar to amerge operation. The group of pins are merged into one strongly connected group of pins. Ifthe pins in l_pinList belong to different terminals, each terminal is handled separately.dbStronglyConnectPins(pinList)is equivalent todbMergeStrongGroups(pinList)

Arguments

l_pinList The list of pins you want in a strongly connected group of pins.

Value Returned

t The pins are strongly connected.

nil The pins are not strongly connected

ExampledbGetStrongGroups(term)~>name(("1" "2" "3"))

dbStronglyConnectPins(list(pin1 pin2))t

dbGetStrongGroups(term)~>name(("1" "2" "3"))

July 2004 540 Product Version 6.3

Page 541: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbWeaklyConnectPins

dbWeaklyConnectPins(l_pinList)=> t / nil

Description

Groups the pins in l_pinList into one strong group that is weakly connected to all theother pins on the same terminal.

Arguments

l_pinList The list of pins you want in a strongly connected group that isweakly connected to all other pins on the same terminal.

Value Returned

t Tthe task of weakly connecting the pins is successful.

nil The task is not successful.

July 2004 541 Product Version 6.3

Page 542: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Attribute Retrieval Functions

You can retrieve the attributes of any valid dbObject by using one of the various forms of thedbGet function. This function is used for most attribute retrievals that do not require any otherarguments. Other functions, such as dbGetMemNetSigName, take additional arguments toretrieve the desired attributes.

dbGetq, dbGet

dbGetq( d_object St_AttrOrPropName )=> g_value

dbGet( d_object St_AttrOrPropName )=> g_value

Description

Retrieves the value of an attribute or a property associated with a database object.

For dbGetq and the ‘‘~>’’ operator, the attribute or property name St_AttrPropName canbe specified as either a string or a symbol. For dbGet, this argument can also be specifiedas a variable because dbGet evaluates its second argument.

The value of an attribute can be a string, an integer, a floating-point number, a pointrepresented by a two-element list containing x and y coordinates, or a relationship. The valueof a relationship is a database object in the case of a one-to-one or many-to-one relationship,or a list of database objects in the case of a one-to-many relationship.

The value of a user-defined property can be a string, an integer, a floating-point number, aBoolean value, or a time value. Boolean values appear as strings with the value true or false.Time-valued properties are converted to strings.

dbGet, dbGetq, and the ~> operator can be used with SKILL control statements to sequenceover each value of an object’s attribute that contains a list, as illustrated below:

foreach( shape cellview~>shapes ; process the shape here...)

Arguments

d_object dbObject of the object to be queried.

July 2004 542 Product Version 6.3

Page 543: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

St_AttrOrPropName The attribute or property name to be retrieved. It can be specifiedas a SKILL symbol or a string. For dbGet, this can also be aSKILL variable containing a symbol or a string that representsthe attribute or property name.

Value Returned

g_value Value of the attribute or property St_AttrOrPropName ofobject d_Object.

Examples

Retrieves the value of the shapes attribute associated with a cellview object c by any of thefollowing:

dbGetq(c shapes) ; Does not evaluate second argumentc~>shapes ; Exactly equivalent to abovec~>"shapes" ; Exactly equivalent to abovedbGet(c ’shapes) ; Evaluates both its argumentsstr = ’shapes ; Assigns attribute namedbGet(c str) ; "str" is evaluated to shapes

July 2004 543 Product Version 6.3

Page 544: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Retrieving the List of Attribute Names for a dbObject

The ~> ? operation returns a list of all available attributes for a dbObject. The list ofattributes is based on the database object’s type.

d_object ~> ? => l_attributeNames

The sample below finds the names of all attributes of a property:

<1> cv = dbOpenCellViewByType(nil "inv" "symbol"); open a cellviewdb:2066752

<2> prop = car(cv~>prop) ; ; get the first propertydb:2068776

<3> prop~>? ;; fetch the attribute names(cellview objType prop enum name object range value valueType)

The next section of this chapter presents tables defining the attributes available for all thedatabase objects. Included with the tables are lists of object attributes from previous softwareversions; they are not documented but are still available. These older attributes are not outputby the ~>? operation (this applies to the ~>?? value described below).

Retrieving the List of Attributes/Values for a dbObjects

The ~> ?? operation returns a list of all available attributes and their values as a disembodiedproperty list for a dbObject. The list of attributes is based on the database object’s type.

d_object ~> ?? => l_attributeValuePairs

In the previous example, the property’s attributes and values could be asked by the following:

<4> prop~>??(db:2068776 cellview db:2066752 objType "prop"prop nil enum nil name "lastSchematicExtraction"object db:2066788 range nilvalue "May 20 19:41:08 1991" valueType "time")

July 2004 544 Product Version 6.3

Page 545: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Attribute Modification Functions

With a SKILL program, you can set several of the attributes of valid dbObjects using one ofthe various forms of the dbSet function. Use this function when you do not need to usearguments. There are other functions, such as dbCreateTerm, that take additionalarguments to completely add or modify information in the database.

dbSetq, dbSet

dbSetq( d_object g_value St_AttrOrPropName )=> g_value / nil

dbSet( d_object g_value St_AttrOrPropName )=> g_value / nil

Description

Modifies the value of an attribute or a property associated with a database object.

Note: The equal sign (“=”) and g_value are required for the “~>” implementation of thedbSet function, unlike the “=>” (“yields”) symbol used previously, which documents theoutput of the dbGet function. Also, the “~>” operator does not accept the “?” or “??”operations when combined with the assignment operator (“=”).

For dbSetq and the ‘‘~>’’ operator, the attribute or property name St_AttrPropName canbe specified as either a string or a symbol. For dbSet, this argument can also be specifiedas a variable because dbSet evaluates its second argument.

If the specified St_AttrOrPropName is not an attribute name of object d_Object, it istreated as the name of a property for that object. If a property by that name does not exist,one is created.

Attaching and detaching an object to and from another object can be done by setting theirrelationship attributes. The types of relationship that can be set using this method are limitedto one-to-one and many-to-one. The attribute value is set to dbObject to attach and nil todetach.

The next section of this chapter contains tables that describe the database objects and theirattributes. Within the tables, attributes that can be set are labeled.

Arguments

d_object Database object.

July 2004 545 Product Version 6.3

Page 546: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

g_value The new value for the attribute or propertySt_AttrOrPropName.

St_AttrOrPropName Specifies the name of the attribute or property to be set. It can bespecified as a SKILL symbol or a string. For dbSet, this can alsobe a SKILL variable containing a symbol or a string thatrepresents the attribute or property name.

Value Returned

g_value Returns the new value if successful.

nil Returns nil if not.

Examples

Sets the value of the width attribute associated with a path object p by any of the following:

dbSetq(p 2 width) ; ; Does not evaluate third argumentp~>width = 2 ; ; Exactly equivalent to abovep~>"width" = 2 ; ; Exactly equivalent to abovedbSet(p 2 ’width) ; ; Evaluates 1st & 3rd argumentsw = ’width ; ; Assigns attribute namedbSet(p 2 w) ; ; "w" is evaluated to width

; Attach figure f to net n:dbSetq(f n net) ; ; Does not evaluate third argumentf~>net = n ; ; Exactly equivalent to above

; Detach figure f from its net:dbSet(f nil ’net) ; ; Evaluates 1st & 3rd argumentf~>net = nil ; ; Exactly equivalent to above

July 2004 546 Product Version 6.3

Page 547: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Property Bag Functions

The property bag is a new database object that contains only properties and has a newidentifier, dbBagId. Functions in the “Property Creation and Modification” section supportthe property bag. Thus, they can be used to create and/or modify properties in the propertybag. The following section contains property bag functions.

July 2004 547 Product Version 6.3

Page 548: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbOpenBag - CDBA version

dbOpenBag(g_ddObjectt_mode)=> g_bagId / nil

Description

Opens the library, cell, or view property bag in the given mode.

Arguments

g_ddObject ddId of the library, cell, or view.

t_mode Mode in which the property bag will be opened. The mode canbe one of the following values:

Value Returned

g_bagId dbBagId object if the property bag opens successfully.

nil It fails to open the property bag.

ExampledbOpenBag(libId "a")

r Opens the property bag in read mode. The property bagmust already exist.

a Opens the existing property bag in append mode. If theproperty bag does not exist, it is created.

w Treated as a.

July 2004 548 Product Version 6.3

Page 549: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbOpenBag - OpenAccess version

dbOpenBag(g_ddObjectt_mode)=> g_bagId / nil

Description

Opens the library, cell, or view property bag in the given mode.

Arguments

g_ddObject ddId of the library, cell, or view.

t_mode Mode in which the property bag will be opened. The mode canbe one of the following values:

Value Returned

g_bagId dbBagId object if the property bag opens successfully.

nil It fails to open the property bag.

ExampledbOpenBag(libId "a")

r Opens the property bag in read mode. The property bagmust already exist.

a Opens the existing property bag in append mode. If theproperty bag does not exist, it is created.

w Opens the property bag in write mode. If the property bagdoes not exist, it is created. If the property bag alreadyexists, its contents is truncated in virtual memory.

s Opens the existing property bag in scratch mode. If theproperty bag does not exist, it is created. A property bagopened in “s” mode cannot be saved to disk usingdbSave.

July 2004 549 Product Version 6.3

Page 550: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReOpenBag

dbReOpenBag(g_bagIdt_mode)=> t / nil

Description

Reopens the given g_bagId for the given mode.

Arguments

g_bagId g_bagId to be reopened.

t_mode Mode in which the property bag will be reopened.

Value Returned

t The bag is reopened in the desired mode.

nil It fails to reopen the bag.

ExampledbReOpenBag( bagId "a" )

July 2004 550 Product Version 6.3

Page 551: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetBag

dbGetBag(g_ddObject)=> g_bagId / nil

Description

Opens the property bag in read mode for the given ddId object.

If the property bag is newly created but not yet saved to disk, this function returns nil.

Arguments

g_ddObject ddId of library, cell, or view.

Value Returned

g_bagId The bag is opened successfully.

nil It fails to open the bag.

ExampledbGetBag( libId )

July 2004 551 Product Version 6.3

Page 552: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetBagOwner

dbGetBagOwner(g_bagId)=> g_ddId / nil

Description

Returns the owner of the specified property bag. The owner could be a library, cell, or view.

Arguments

g_bagId The ID of a property bag.

Value Returned

g_ddId The ID of the property bag owner.

nil The function failed.

ExampledbGetBagOwner( bagId )

July 2004 552 Product Version 6.3

Page 553: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbCloseBag

dbCloseBag(g_bagId[t_mode])=> t / nil

Description

Closes the property bag in the given mode.

If closing for append or write, it will decrement the write count.

Arguments

g_bagId The ID of the property bag.

t_mode Mode to close the bag.If omitted, it closes in read mode.

Value Returned

t The bag is closed sucessfully.

nil It fails to close the bag.

ExampledbCloseBag( bagId "a" )

July 2004 553 Product Version 6.3

Page 554: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDumpBag

dbDumpBag(g_bagIdt_fileNamet_mode)=> t / nil

Description

Creates an output file containing all the SKILL commands needed to recreate a property bag.

The dbDumpBag function is used in the implementation of the keepPcell option, whichpreserves the pcells during StreamIn and StreamOut.

Arguments

g_bagId ID of the property bag.

t_fileName Name of the output file to be created which can be reloaded torecreate the property bag.

t_mode File access mode.Valid values: w (write) or a (append)

Value Returned

t The output file is successfully created.

nil The output file is not successfully created.

Examplecv = dbOpenCelViewByType( “top” “test1” “schematic” “schematic” “w” )

bagid = dbGetBag(cv~>lib)

dbDumpBag(bagid “bag.dump” “a”)

Dumps the property bag associated with acertain library.

July 2004 554 Product Version 6.3

Page 555: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDumpBagWithLib

dbDumpBagWithLib(g_bagIdt_fileNamet_mode)=> t / nil

Description

Creates an output file containing all the SKILL commands needed to recreate a property bag.In the SKILL code, a variable name is used instead of the name of the owner of the bag.

dbDumpBagWithLib is similar to dbDumpBag. However, dbDumbBagWithLib does notdirectly write the library name in the SKILL code. Instead it writes a SKILL variable,dbD_NewLibNameForDump whose value can be set to the name of the target librarybefore loading the SKILL file.

Arguments

g_bagId ID of the property bag.

t_fileName Name of the output file to be created which can be reloaded torecreate the property bag.

t_mode File access mode.Valid values: w (write) or a (append)

Value Returned

t The output file is sucessfully created.

nil The output file is not sucessfully created.

Examplecv = dbOpenCelViewByType( “top” “test1” “schematic” “schematic” “w” )

bagid = dbGetBag(cv~>lib)

dbDumpBag(bagid “bag.dump” “a”)

Dumps the property bag associated with acertain library.

July 2004 555 Product Version 6.3

Page 556: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbPurgeBag

dbPurgeBag(g_bagId)=> t / nil

Description

Forces a property bag to close and removes it from virtual memory.

Arguments

g_bagId Property bag to purge.

Value Returned

t The property bag is purged.

nil The property bag cannot be purged.

ExampledbPurgeBag( bagId )

July 2004 556 Product Version 6.3

Page 557: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbRefreshBag

dbRefreshBag(g_bagId)=> t / nil

Description

Refreshes the virtual memory image of the property bag by the one from the disk. If the diskfile does not exist and the bag is in edit mode, then the virtual memory is truncated.

Arguments

g_bagId Property bag to be refreshed.

Value Returned

t The bag is refreshed.

nil The property bag cannot be refreshed.

ExampledbRefreshBag( bagId )

July 2004 557 Product Version 6.3

Page 558: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbMakeBagCurrent

dbMakeBagCurrent(g_bagId)=> t / nil

Description

Refreshes the given property bag if it is out of date relative to the one on disk.

Arguments

g_bagId Property bag to be refreshed.

Value Returned

t The bag is refreshed or it is already up to date.

nil The property bag cannot be refreshed.

ExampledbMakeBagCurrent( bagId )

July 2004 558 Product Version 6.3

Page 559: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSaveBag

dbSaveBag(g_bagId)=> t / nil

Description

Writes the virtual memory image of the property bag to disk.

Arguments

g_bagId Property bag to be saved.

Value Returned

t The bag is saved.

nil The property bag cannot be written to disk.

ExampledbSaveBag( bagId )

July 2004 559 Product Version 6.3

Page 560: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsBagReadable

dbIsBagReadable(g_ddObject)=> t / nil

Description

Checks if the property bag exists on disk for the the given ddId object and if the user hasread access for that property bag file.

Arguments

g_ddObject ddId of either library, cell, or view.

Value Returned

t The property bag exists on disk and user has read access for it.

nil Returns nil otherwise.

ExampledbIsBagReadable( libId )

July 2004 560 Product Version 6.3

Page 561: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsBagWritable

dbIsBagWritable(g_ddObject)=> t / nil

Description

Returns the UNIX file permission of the file that contains the property bag (In CDBA, it is fileprop.xx) regardless of the open mode of the property bag. For example, basic is a systemowned library, dbIsBagWritable will always return nil on its bag. If you own a library, andits prop.xx has write permission, even if the bag is opened in r mode, dbIsBagWritablewill still return t. A new property bag that exists only in VM is not considered writable.

Arguments

g_ddObject ddId of library, cell, or view.

Value Returned

t The property bag already exists for the given ddId object anduser has write access to the file that contains it. Or, the bag doesnot exist, but the user has write access to create it for the givenddId Object.

nil Returns nil otherwise.

ExampledbIsBagWritable( libId )

July 2004 561 Product Version 6.3

Page 562: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetBagTimeStamp

dbGetBagTimeStamp(g_bagId)=> t_time / nil

Description

Returns the last time that the bag was modified.

Arguments

g_bagId dbBagId object.

Value Returned

t_time Last time the bag was modified.

nil The bagId is invalid.

ExampledbGetBagTimeStamp

July 2004 562 Product Version 6.3

Page 563: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbFindOpenBag

dbFindOpenBag(d_ddId)=> g_bagId / nil

Description

Finds an opened bag in virtual memory for the specified d_ddId.

Arguments

d_ddId The object ID.

Value Returned

g_bagId The ID of the object’s property bag.

nil The g_bagId is invalid.

ExampledbFindOpenBag( ddId )

July 2004 563 Product Version 6.3

Page 564: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetBagDdId

dbGetBagDdId(g_bagId)=> d_ddId / nil

Description

Returns the ddId associated with the specified bagId.

Arguments

g_bagId dbBagId object.

Value Returned

d_ddId The property bag’s dd ID.

nil The given g_bagId is invalid.

ExampledbGetBagDdId( bagId )

July 2004 564 Product Version 6.3

Page 565: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetOpenBags

dbGetOpenBags()=> d_bags / nil

Description

Returns a list of the currently open property bags.

Arguments

None.

Value Returned

d_bags A list of currently open property bags.

nil There are no currently open property bags.

July 2004 565 Product Version 6.3

Page 566: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbIsBagId

dbIsBagId(g_bagId)=> t / nil

Description

Returns t if the specified ID is a valid bagId, otherwise, it returns nil.

Arguments

g_bagId dbBagId object.

Value Returned

t The specified ID is a valid bagId.

nil The bagId is invalid.

ExampledbIsBagId( bagId )

July 2004 566 Product Version 6.3

Page 567: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Layer Boolean Functions

The following are layer Boolean functions.

These functions provide the user with the Skill APIs to create certain geometries through theuse of Boolean (i.e. “AND” ) and relational selection operations (i.e. “ENCLOSE” ) on existinggeometries.

These Skill APIs takes input from one or two lists of database objects of shapes/polygonswhile the output of the API is created as database objects on a specified output layer. Theobject ID’s of the created database objects are returned.

July 2004 567 Product Version 6.3

Page 568: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerAnd

dbLayerAnd(d_cellViewIdt_layerNamel_dbIdList1l_dbIdList2[ x_numVertices ])=> l_dbIdList

Returns a list of objects derived from the overlap of objects on the input lists. This functiongenerates the areas common to both input lists. The resulting objects are created in thespecified layer and cellview.

Arguments

Value Returned

Examplelist1 = geGetSelSet(cvId1)

list2 = geGetSelSet(cvId2)

m3Out = dbLayerAnd(cvId "metal3" list1 list2)

Finds the overlap of objects in list1 and list2 and creates the results in layer "metal3" incellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

x_numVertices Target vertex count of output objects.

l_dbIdList List of objects derived from the overlap of objects on the inputlists.

July 2004 568 Product Version 6.3

Page 569: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerAndNot

dbLayerAndNot(d_cellViewIdt_layerNamel_dbIdList1l_dbIdList2[ x_numVertices ])=> l_dbIdList

Returns a list of new objects derived from areas of the first input list that do not overlap anyarea of the second input list and creates the resulting objects in the specified layer andcellview.

Arguments

Value Returned

Examplem3Out = dbLayerAndNot(cvId "metal3" m1Rect m2Rect)

Finds the areas of m1Rect that do not overlap the area of m2Rect and creates the results inlayer "metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

x_numVertices Target vertex count of output objects.

l_dbIdList List of objects from the resulting layer operation.

July 2004 569 Product Version 6.3

Page 570: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerOr

dbLayerOr(d_cellViewIdt_layerNamel_dbIdList1[ l_dbIdList2 ][ x_numVertices ])=> l_dbIdList

Returns a list of new objects that encompass all areas on input lists and creates the resultingobjects in the specified layer and cellview.

Arguments

Value Returned

Examplem3Out = dbLayerOr(cvId "metal3" m1Rect m2Rect)

Merges all objects on m1Rect and m2Rect and creates the results in layer "metal3" incellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

x_numVertices Target vertex count of output objects.

l_dbIdList List of objects from the resulting layer operation.

July 2004 570 Product Version 6.3

Page 571: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerXor

dbLayerXor(d_cellViewIdt_layerNamel_dbIdList1l_dbIdList2[ x_numVertices ])=> l_dbIdList

Returns a list of new objects derived from those portions of either input list that do not overlapthe other list and creates the resulting objects in the specified layer and cellview.

Arguments

Value Returned

Examplem3Out = dbLayerXor(cvId "metal3" m1Rect m2Rect)

Finds the areas of m1Rect and m2Rect that are not in common and creates the results inlayer "metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

x_numVertices Target vertex count of output objects.

l_dbIdList List of objects from the resulting layer operation.

July 2004 571 Product Version 6.3

Page 572: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerSize

dbLayerSize(d_cellViewIdt_layerNamel_dbIdList1n_value[ x_numVertices ])=> l_dbIdList

Performs an oversize or undersize operation on the object specified in the input list.

Arguments

Value Returned

Examplem3Out = dbLayerSize(cvId "metal3" m1Rect 0.5)

Performs an oversize by 0.5 user unit on m1Rect and creates the results in layer "metal3" incellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

n_value Sizing value.

x_numVertices Target vertex count of output objects.

l_dbIdList List of objects from the resulting layer operation.

July 2004 572 Product Version 6.3

Page 573: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerTile

dbLayerTile(d_cellViewIdt_layerNamel_dbIdList1)=> l_dbIdList

Fractures edges of the specified object on the input list into vertical trapezoids.

Arguments

Value Returned

Examplem3Out = dbLayerTile(cvId "metal3" m1Rect)

Fractures the edges on objects in m1Rect into trapezoids and creates the results in layer"metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList List of objects from the resulting layer operation.

July 2004 573 Product Version 6.3

Page 574: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerStraddle

dbLayerStraddle(d_cellViewIdt_layerNamel_dbIdList1l_dbIdList2)=> l_dbIdList

Returns a list of new objects from those shapes on the first list that straddle shapes on thesecond list. A shape is straddling if part of its area is covered by part of the shape on thesecond list and part is not. Butting and coincident edges do not affect this function.

Arguments

Value Returned

Examplem3Out = dbLayerStraddle(cvId "metal3" m1Rect m2Rect)

Returns shapes on m1Rect that straddle those on m2Rect and creates the results in layer"metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

l_dbIdList List of objects from the resulting layer operation.

July 2004 574 Product Version 6.3

Page 575: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerNoHoles

dbLayerNoHoles(d_cellViewIdt_layerNamel_dbIdList1)=> l_dbIdList

Returns a list of new objects from those areas consisting of all the original shapes of the inputlist without holes. A hole is an area created when the perimeter of a polygon touches itself,enclosing an area that is not the polygon.

Arguments

Value Returned

Examplem3Out = dbLayerNoHoles(cvId "metal3" m1Rect m2Rect)

Returns shapes on m1Rect that are not holes of m2Rect and creates the results in layer"metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list.

l_dbIdList List of objects from the resulting layer operation.

July 2004 575 Product Version 6.3

Page 576: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerHoles

dbLayerHoles(d_cellViewIdt_layerNamel_dbIdList1)=> l_dbIdList

Returns a list of new objects from those areas consisting of all the holes in shapes of the inputlist. A hole is an area created when the perimeter of a polygon touches itself, enclosing anarea that is not the polygon.

Arguments

Value Returned

Examplem3Out = dbLayerHoles(cvId "metal3" m1Rect m2Rect)

Returns shapes on m1Rect that are holes of m2Rect and create the results in layer "metal3"in cellView cvId. The list of output objects is also returned in m3.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list.

l_dbIdList List of objects from the resulting layer operation.

July 2004 576 Product Version 6.3

Page 577: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerInside

dbLayerInside(d_cellViewIdt_layerNamel_dbIdList1l_dbIdList2)=> l_dbIdList

Returns a list of shapes on the first list that are totally inside shapes of the second list. Ashape is inside the other if its entire area is covered by the area of a other shape. Coincidentshapes are considered inside in this check. If both shapes are coincident on all sides, theneach shape can be defined as being inside the other.

Arguments

Value Returned

Examplem3Out = dbLayerInside(cvId "metal3" m1Rect m2Rect)

Returns shapes on m1Rect that are totally inside those on m2Rect and creates the results inlayer "metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

l_dbIdList List of objects from the resulting layer operation.

July 2004 577 Product Version 6.3

Page 578: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerOutside

dbLayerOutside(d_cellViewIdt_layerNamel_dbIdList1l_dbIdList2)=> l_dbIdList

Returns a list of shapes on the first list that are totally outside shapes on the second list. Ashape is outside if none of its area is covered by area of a second shape. Butting edges areconsidered outside.

Arguments

Value Returned

Examplem3Out = dbLayerOutside(cvId "metal3" m1Rect m2Rect)

Returns shapes on m1Rect that are totally outside those on m2Rect and creates the resultsin layer "metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

l_dbIdList List of objects from the resulting layer operation.

July 2004 578 Product Version 6.3

Page 579: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbLayerEnclose

dbLayerEnclose(d_cellViewIdt_layerNamel_dbIdList1l_dbIdList2)=> l_dbIdList

Returns a list of shapes on the first list that enclose shapes on the second list. A shape isenclosing the other if the entire area of a second shape is covered by first shape.

Arguments

Value Returned

Examplem3Out = dbLayerEnclose(cvId "metal3" m1Rect m2Rect)

Returns shapes on m1Rect that enclose those on m2Rect and creates the results in layer"metal3" in cellView cvId. The list of output objects is also returned in m3Out.

d_cellViewId Database ID of the cellview to create the output objects.

t_layerName Layer name to be used for creating the output objects.

l_dbIdList1 List of objects from input list 1.

l_dbIdList2 List of objects from input list 2.

l_dbIdList List of objects from the resulting layer operation.

July 2004 579 Product Version 6.3

Page 580: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Hierarchy Database Functions

The following are Hierarchy Database Funcitons.

July 2004 580 Product Version 6.3

Page 581: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbAddConfigToBag

hdbAddConfigToBag (h_configBagIdh_configId)=> t / nil

Description

Adds a configuration handle to a configuration bag.

Arguments

h_configBagId The ID of the configuration bag.

h_configId A configuration ID, something returned by hdbOpen.

Value Returned

t The configuration bag exists and a handle has been added to it.

nil The h_configBagId was invalide some other problemocurred.

ExamplehdbAddConfigToBag( configBag config )

ReferencehdbCreateConfigBag

hdbCloseConfigsInBag

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 581 Product Version 6.3

Page 582: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbBind

hdbBind(h_pathVectort_masterLibNamet_masterCellNamet_masterViewNamet_instNameb_fixedLibb_fixedCellb_fixedView[ b_wantSignature ][ b_wantWhy ])=> ( t_boundLibId t_boundCellId t_boundView h_bindSignature h_bindWhy )

Description

Binds an instance to a master.

Arguments

h_pathVector The path vector ID returned by hdbCreatePathVector.

t_masterLibName The master library name or the instances.

t_masterCellName The master cell name for the instances.

t_masterViewName The master view name for the instances.

t_instName The instName for the instance.

b_fixedLib The indicator of whether t_masterLibName can be changed(t) or not (nil) by hdbBind.

b_fixedCell The indicator of whether t_masterCellName can bechanged (t) or not (nil) by hdbBind.

b_fixedView The indicator of whether t_masterViewName can bechanged (t) or not (nil) by hdbBind.

b_wantSignature The indicator of whether a h_bindSignature object isreturned (t) or not (nil).

July 2004 582 Product Version 6.3

Page 583: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

b_wantWhy The indicator of whether a BindWhy object is returned (t) or not(nil).

Value Returned

t_boundLib The library name of the bound instance.

t_boundCell The cell name of the bound instance.

t_boundView The view name of the bound instance.

h_bindSignatureId The ID of an object that can be used to explain the uniquenessof a binding.

h_bindWhyId The ID of an object that can be used to explain why a binding wasmade the way it was.

ExamplebindRtn = hdbBind(

pathVect"lib1" "cell1""view1" "inst1"nil nil nilt t)

ReferencehdbExplainBinding

hdbExplainSignature

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 583 Product Version 6.3

Page 584: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbCloseConfigsInBag

hdbCloseConfigsInBag(h_configBagId)=> t / nil

Description

Closes all of the configurations held in a configuration bag.

Arguments

h_ConfigBagId A configuration bag ID; something returned byhdbCreateConfigBag.

Value Returned

t All of the configurations held in the bag were closed successfully.

nil An error was encountered while trying to close all the configs inthe bag.

ExamplehdbCloseConfigsInBag( configBag )

ReferencehdbCloseConfigsInBag

hdbAddConfigToBag

hdbCreateConfigBag

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 584 Product Version 6.3

Page 585: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbCreateConfigBag

hdbCreateConfigBag()=> h_configBagId / nil

Description

Creates a configuration bag to hold configurations.

Arguments

None.

Value Returned

h_configBagId The ID of a bag to put configurations in.

nil A configuration bag was not created.

ExampleconfigBag = hdbCreateConfigBag()

ReferencehdbCloseConfigsInBag

hdbAddConfigToBag

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 585 Product Version 6.3

Page 586: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbCreatePathVectorStack

hdbCreatePathVectorStack()=> h_pathVectorStackId / nil

Description

Creates a stack to hold path vectors when traversing into subconfigurations.

Arguments

None.

Value Returned

h_pathVectorStackIdThe ID of the created path vector stack.

nil A path vector stack could not be created.

ExamplepathVectStack = hdbCreatePathVectorStack()

ReferencehdbGetPathStackStr

hdbGetPathVectorStackTop

Description of Database Objects

hdbPushPathVect

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 586 Product Version 6.3

Page 587: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbExplainBinding

hdbExplainBinding(t_indentationt_masterLibNamet_masterCellNamet_masterViewNamet_instNameb_fixedLibb_fixedCellb_fixedViewt_boundLibt_boundCellt_boundViewh_bindSignatureIdh_bindWhyId)=> t_string

Description

Explains why a hdbBind binding was made the way it was.

Arguments

t_indentation The indentation string that will precede each line.

t_masterLibName The master library name for the instance.

t_masterCellName The master cell name for the instance.

t_masterViewName The master view name for the instance.

t_instName The instName for the instance.

b_fixedLib The library is bound.

b_fixedCell The cell is bound.

b_fixedView The view is bound.

t_boundLib The library name bound by hdbBind.

t_boundCell The cell name bound by hdbBind.

July 2004 587 Product Version 6.3

Page 588: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

t_boundView The view name bound by hdbBind.

h_bindSignatureId The bindSignature object returned by hdbBind.

h_bindWhyId The bindWhy object returned by hdbBind

Value Returned

t_string A string that explains the binding.

ExamplewhyBoundStr = hdbExplainBinding(

" " "lib1" "cell1""view1" "inst1"nil nil nil"lib2" "cell2" "view2"bindSig bindWhy)

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 588 Product Version 6.3

Page 589: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbExplainSignature

hdbExplainSignature(t_indentationh_bindSignatureId)=> t_string

Description

Explains the contents of a binding signature.

Arguments

t_indentation The indentation string that precedes each line.

h_bindSignatureId A bindSignature object; something returned by hdbBind.

Value Returned

t_string A string that explains the contents of the binding signature.

ExamplebindSigStr = hdbExplainSignature(" " bindSignature)

ReferencehdbBind

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 589 Product Version 6.3

Page 590: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbExplainStop

hdbExplainStop(t_indentationh_pathVectorId)=> t_string

Description

Explains why a stop was declared.

Arguments

t_indentation The indentation string that precedes each line.

h_pathVectorId A path vector ID; something returned byhdbCreatePathVector.

Value Returned

t_string A string that explains why a stop was declared.

ExamplewhyStopStr = hdbExplainStop(" " pathVector)

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 590 Product Version 6.3

Page 591: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetPathStackStr

hdbGetPathStackStr(h_pathVectorStackId)=> t_string

Description

Creates a string listing all the path vectors. Creates something similar to a fully rooted pathfor a design binding that contains subconfigurations.

Arguments

h_pathVectorStackIdA path vector ID; something returned byhdbCreatePathVectorStack.

Value Returned

t_string All the path vectors in a path vector stack.

ExamplewhereAreWe = hdbGetPathStackStr( pathVectorStack )

ReferencehdbGetPathVectorStackTop

hdbCreatePathVectorStack

Description of Database Objects

hdbPushPathVect

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 591 Product Version 6.3

Page 592: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetPathStr

hdbGetPathStr(h_pathVectorId)=> t_string

Description

Creates a string representation of a path vector.

Arguments

h_pathVectorId A path vector ID; something returned byhdbCreatePathVector.

Value Returned

t_string The path vector.

Examplepath = hdbGetPathStr( pathVector )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 592 Product Version 6.3

Page 593: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetPathVectorStackTop

hdbGetPathVectorStackTop(h_pathVectorStackId)=> h_pathVectorId

Description

Gets the top of a path vector stack.

Arguments

h_pathVectorStackIdA path vector stack ID; something returned byhdbCreatePathVectorStack.

Value Returned

h_pathVectorId The top pathVectorId.

ExamplepathVect = hdbGetPathVectorStackTop( pathVectorStack )

ReferencehdbGetPathStackStr

hdbCreatePathVectorStack

Description of Database Objects

hdbPushPathVect

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 593 Product Version 6.3

Page 594: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbIsAtStopPoint

hdbIsAtStopPoint(h_pathVectorId)=> t / nil

Description

Checks if the point just pushed into with hdbPushCell is a stop point.

Arguments

h_pathVectorId A path vector ID; something returned byhdbCreatePathVector.

Value Returned

t The point just pushed into with hdbPushCell is a stop point.

nil The point just pushed into with hdbPushCell is not a stop point.

Examplestop = hdbIsAtStopPoint( pathVector )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 594 Product Version 6.3

Page 595: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbIsConfig

hdbIsConfig(t_libNamet_cellNamet_viewName)=> t / nil

Description

Checks if a given library/cell/view is a configuration.

Arguments

t_libName The library name.

t_cellName The cell name.

t_viewName The view name.

Value Returned

t A given library/cell/view is a configuration.

nil A given library/cell/view is not a configuration.

ExampleisConfig = hdbIsConfig("lib1" "cell1" "view1")

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 595 Product Version 6.3

Page 596: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbIsOpenConfig

hdbIsOpenConfig(h_configID)=> t / nil

Description

Checks if the configuration ID you specify is valid. The configuration ID is valid if theconfiguration is still open.

Arguments

h_configID A configuration ID, returned by hdbOpen.

Value Returned

t The configuration ID is valid.

nil The configuration ID is not valid.

ReferencehdbOpen

July 2004 596 Product Version 6.3

Page 597: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbPopPathVect

hdbPopPathVect(h_pathVectorStackId)=> h_pathVectorId / nil

Description

Pops a path vector off the top of a path vector stack.

Arguments

h_pathVectorStackIdA path vector stack ID; something returned byhdbCreatePathVectorStack.

Value Returned

h_pathVectorId The top of the path vector stack.

nil The stack is empty.

ExamplepathVectorTop = hdbPopPathVect( pathVectorStack )

ReferencehdbGetPathStackStr

hdbCreatePathVectorStack

hdbGetPathVectorStackTop

hdbPushPathVect

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 597 Product Version 6.3

Page 598: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbPushPathVect

hdbPushPathVect(h_pathVectorStackIdh_pathVectorId)=> t / nil

Description

Adds a path vector on to the top of a path vector stack.

Arguments

h_pathVectorStackIdA path vector stack ID; something returned byhdbCreatePathVectorStack.

h_pathVectorId A path vector ID; something returned byhdbCreatePathVector.

Value Returned

t The path vector is added on to the top of a path vector stack.

nil No path vector was added on to the top of a path vector stack.

ExamplehdbPushPathVect( pathVectorStack pathVector )

ReferencehdbGetPathStackStr

hdbCreatePathVectorStack

hdbGetPathVectorStackTop

Description of Database Objects

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 598 Product Version 6.3

Page 599: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbSaveAs

hdbSaveAs(h_configIdt_libNamet_cellNamet_viewName)=> t / nil

Description

Saves a configuration to a library/cell/view.

Arguments

h_configId A configuration ID; something returned by hdbOpen.

t_libName A library name.

t_cellName A cell name.

t_viewName A view name.

Value Returned

t The configuration is saved to library/cell/view.

nil The configuration is not saved to library/cell/view.

Exampleok = hdbSaveAs( config "lib1" "cell1" "view1" )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 599 Product Version 6.3

Page 600: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbClose

hdbClose(h_hdbConfigId)=> t / nil

Description

Closes a configuration. In all cases where you are using the hdb interface to traverse (bind,elaborate) a design use hdbCloseConfigsInBag to close open configurations instead ofthis function.

Arguments

h_hdbConfigId The ID of a configuration.

Value Returned

t Closes the configuration.

nil The close operation failed.

ExamplecloseStatus = hdbClose( hdbConfig )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 600 Product Version 6.3

Page 601: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbOpen

hdbOpen(t_libNamet_cellNamet_viewNamet_mode[ t_nameSpace ])=> h_configId / nil

Description

Opens a configuration.

Arguments

t_libName The library name for the configuration you want to open.

t_cellName The cell name for the configuration you want to open.

t_viewName The view name for the configuration you want to open.

t_mode String. Must be r for read.

t_nameSpace The name space you want to use for library/cell/view andinstance names when using the hdb interface.

Value Returned

h_configId The ID of the configuration opened.

nil The open operation failed.

ExamplehdbConfig = hdbOpen( "lib1" "cell1" "view1" "r" "CDBA" )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 601 Product Version 6.3

Page 602: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbCreatePathVector

hdbCreatePathVector(h_configId)=> h_pathVectorId / nil

Description

Creates a path vector to use while traversing (elaborating) a design hierarchy.

Arguments

h_configId The ID of a configuration obtained with hdbOpen.

Value Returned

h_pathVectorId The path vector for the configuration specified by a configurationID.

nil The operation failed.

ExamplepathVector = hdbCreatePathVector( config )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 602 Product Version 6.3

Page 603: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbDestroyPathVector

hdbDestroyPathVector(h_pathVectorId)=> t / nil

Description

Destroys a path vector.

Arguments

h_pathVectorId The path vector obtained with hdbCreatePathVector.

Value Returned

t The path vector has been destroyed.

nil The path vector has not been destroyed.

Examplestatus = hdbDestroyPathVector( pathVector )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 603 Product Version 6.3

Page 604: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetCellName

hdbGetCellName(h_configId)=> t_cellName / nil

Description

Gets the cell name of a configuration specified by h_configId.

Arguments

h_configId The ID of a configuration obtained with hdbOpen.

Value Returned

t_cellName The cell name of the configuration specified by h_configId.

nil Did not get the cell name of the configuration specified byh_configId.

ExampleconfigCellName = hdbGetCellName( config )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 604 Product Version 6.3

Page 605: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetLibName

hdbGetLibName(h_configId)=> libName / nil

Description

Gets the library name of a configuration specified by h_configId.

Arguments

h_configId The ID of a configuration obtained with hdbOpen.

Value Returned

libName The library name of the configuration specified byh_configId.

nil Did not get the library name of the configuration specified byh_configId.

ExampleconfigLibName = hdbGetCellName( config )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 605 Product Version 6.3

Page 606: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetTopCellName

hdbGetTopCellName(h_configId)=> t_topCellName / nil

Description

Gets the name of the top cell of a configuration specified by h_configId.

Arguments

h_configId The ID of a configuration obtained with hdbOpen.

Value Returned

t_topCellName The top cell name of the configuration specified byh_configId.

nil Did not get the top cell name of the configuration specified byh_configId.

ExampletopCell = hdbGetTopCellName( config )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 606 Product Version 6.3

Page 607: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetTopLibName

hdbGetTopLibName(h_configId)=> t_topLibName / nil

Description

Gets the name of the top library of a configuration specified by h_configId.

Arguments

h_configId The ID of a configuration obtained with hdbOpen.

Value Returned

t_topLibName The top library name of the configuration specified byh_configId.

nil Did not get the top library name of the configuration specified byh_configId.

ExampletopLib = hdbGetTopLibName( config )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 607 Product Version 6.3

Page 608: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetTopViewName

hdbGetTopViewName(h_configId)=> t_topViewName / nil

Description

Gets the name of the top view pointed to by h_hdbConfig.

Arguments

h_configId The ID of a configuration obtained with hdbOpen.

Value Returned

t_topViewName The top view name of the configuration specified byh_configId.

nil Did not get the top view name of the configuration specified byh_configId.

ExampletopView = hdbGetTopViewName( config )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 608 Product Version 6.3

Page 609: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbGetViewName

hdbGetViewName(h_configId)=> t_viewName / nil

Description

Gets the view name of a configuration specified by h_configId.

Arguments

h_configId The ID of a configuration obtained with hdbOpen.

Value Returned

t_viewName The view name of the configuration specified by h_configId.

nil Did not get the view name of the configuration specified byh_configId.

Example

configViewName = hdbGetViewName( config )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 609 Product Version 6.3

Page 610: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbPopCell

hdbPopCell(h_pathVectorId)=> t / nil

Description

Pops an entry off a path vector.

Arguments

h_pathVectorId A path vector ID; something obtained fromhdbCreatePathVector.

Value Returned

t A cell has been popped from a path vector.

nil A cell was not popped from a path vector.

Examplestatus = hdbPopCell( pathVector )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 610 Product Version 6.3

Page 611: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

hdbPushCell

hdbPushCell(h_pathVectorIdt_instanceNamet_libNamet_cellNamet_viewName)=> t / nil

Description

Push a cell onto a path vector.

Arguments

h_pathVectorId A path vector ID; something obtained fromhdbCreatePathVector.

t_instanceName An instance name.

t_libName A library name.

t_cellName A cell name.

t_viewName A view name.

Value Returned

t A cell has been pushed on to a path vector.

nil A cell has not been pushed on to a path vector.

Examplestatus = hdbPushCell( pathVector "inst1" "lib1" "cell1" "view1" )

Reference

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 611 Product Version 6.3

Page 612: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Parent/Child Database Functions

The following are parent/child database (pcdb) functions.

July 2004 612 Product Version 6.3

Page 613: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbClose

pcdbClose(h_pcdbHandle)=> t / nil

Description

Close a pcdb handle opened with pcdbOpen.

Arguments

h_pcdbHandle A pcdb handle returned from a call to pcdbOpen.

Value Returned

t The pcdb handle is closed.

nil The close operation failed.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbOpen

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 613 Product Version 6.3

Page 614: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbGetInstGen

pcdbGetInstGen(h_master)=> h_instGen / nil

Description

Creates an instance generator that can be used to get the instances for a given master.

Arguments

h_master A master returned from a call to pcdbNextInstMaster.

Value Returned

h_instGen An instance generator.

nil Did not get an instance generator.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbNextInst

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 614 Product Version 6.3

Page 615: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbGetInstMasterGen

pcdbGetInstMasterGen(h_pcdbHandle)=> h_masterGen / nil

Description

Creates a generator that can be used to get the masters of a view.

Arguments

h_pcdbHandle A pcdb handle returned from a call to pcdbOpen.

Value Returned

b_status A generator.

nil Did not get a generator.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbOpen

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 615 Product Version 6.3

Page 616: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstMasterCell

pcdbInstMasterCell(h_master)=> t_cellName / nil

Description

Gets the cell name for a master.

Arguments

h_master A master returned from a call to pcdbNextInstMaster.

Value Returned

t_cellName A string which is the master’s cell name.

nil Did not get a cell name for a master.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbInstMasterLib

pcdbInstMasterView

pcdbInstMasterLibFixed

pcdbInstMasterCellFixed

pcdbInstMasterViewFixed

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 616 Product Version 6.3

Page 617: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstMasterCellFixed

pcdbInstMasterCellFixed(h_master)=> t / nil

Description

Gets whether a master’s cell name is fixed.

Arguments

h_master A master returned from a call to pcdbNextInstMaster.

Value Returned

t The master cell is fixed.

nil The master cell is not fixed.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbInstMasterLib

pcdbInstMasterCell

pcdbInstMasterView

pcdbInstMasterLibFixed

pcdbInstMasterViewFixed

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 617 Product Version 6.3

Page 618: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstMasterLib

pcdbInstMasterLib(h_master)=> t_libName / nil

Description

Gets the library name for a master.

Arguments

h_master A master returned from a call to pcdbNextInstMaster.

Value Returned

t_libName A string which is the master’s library name.

nil Did not get a library name for a master.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbInstMasterCell

pcdbInstMasterView

pcdbInstMasterLibFixed

pcdbInstMasterCellFixed

pcdbInstMasterViewFixed

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 618 Product Version 6.3

Page 619: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstMasterLibFixed

pcdbInstMasterLibFixed(h_master)=> t / nil

Description

Gets whether a master’s library name is fixed.

Arguments

h_master A master returned from a call to pcdbNextInstMaster.

Value Returned

t The master’s library name is fixed.

nil The master’s library name is not fixed.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbInstMasterLib

pcdbInstMasterCell

pcdbInstMasterView

pcdbInstMasterCellFixed

pcdbInstMasterViewFixed

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 619 Product Version 6.3

Page 620: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstMasterView

pcdbInstMasterView(h_master)=> t_viewName / nil

Description

Gets the view name for a master.

Arguments

h_master A master returned from a call to pcdbNextInstMaster.

Value Returned

t_viewName A string which is the master’s view name.

nil Did not get a view name for a master.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbInstMasterLib

pcdbInstMasterCell

pcdbInstMasterLibFixed

pcdbInstMasterCellFixed

pcdbInstMasterViewFixed

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 620 Product Version 6.3

Page 621: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstMasterViewFixed

pcdbInstMasterViewFixed(h_master)=> t / nil

Description

Gets whether a master’s view name is fixed.

Arguments

h_master A master returned from a call to pcdbNextInstMaster.

Value Returned

t The master’s view name is fixed.

nil The master’s view name is not fixed.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInstMaster

pcdbInstMasterLib

pcdbInstMasterCell

pcdbInstMasterView

pcdbInstMasterLibFixed

pcdbInstMasterCellFixed

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 621 Product Version 6.3

Page 622: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstName

pcdbInstName(h_instance)=> t_instName / nil

Description

Gets the instance name for an instance.

Arguments

h_instance An instance returned from a call to pcdbNextInst.

Value Returned

t_instName A string which is the instance name.

nil Did not get an instance name for an instance.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInst

pcdbInstWidth

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 622 Product Version 6.3

Page 623: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbInstWidth

pcdbInstWidth(h_instance)=> x_width / nil

Description

Gets the instance width for an instance.

Arguments

h_instance An instance returned from a call to pcdbNextInst.

Value Returned

x_width The instance width.

nil Did not get an instance width for an instance.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbNextInst

pcdbInstName

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 623 Product Version 6.3

Page 624: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbNextInst

pcdbNextInst(h_instGen)=> h_instance / nil

Description

Gets the next instance from an instance generator.

Arguments

h_instGen An instance generator returned from a call to pcdbNextInst.

Value Returned

h_instance An instance.

nil Did not get an instance from an instance generator.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbGetInstGen

pcdbInstName

pcdbInstWidth

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 624 Product Version 6.3

Page 625: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbNextInstMaster

pcdbNextInstMaster(h_masterGen)=> h_master / nil

Description

Gets the next master from a master generator.

Arguments

h_instGen A master generator returned from a call to pcdbNextInst.

Value Returned

h_master A master.

nil Did not get a master from a master generator.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbGetInstMasterGen

pcdbInstMasterLib

pcdbInstMasterCell

pcdbInstMasterView

pcdbInstMasterLibFixed

pcdbInstMasterCellFixed

pcdbInstMasterViewFixed

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 625 Product Version 6.3

Page 626: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbOpen

pcdbOpen(t_libNamet_cellNamet_viewNamet_mode)=> h_pcdbHandle / nil

Description

Opens a configuration and gets a handle that will allow access to the parent/child data for aview.

Arguments

t_libName The library name for the configuration you want to open.

t_libName The cell name for the configuration you want to open.

t_viewName The view name for the configuration you want to open.

t_mode A string. Must be r for read.

Value Returned

h_pcdbHandle The pcdb handle of the configuration opened.

nil The open operation failed.

Example

An example for the use of the pcdb functions is at the end of this section.

ReferencepcdbGetInstMasterGen

pcdbClose

An example for the use of this function can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

July 2004 626 Product Version 6.3

Page 627: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

pcdbSave

pcdbSave(h_pcdbHandle)=> t / nil

Description

Save a pcdb handle opened with pcdbOpen. This function is currently not useful. It wouldrequire other functions that would modify a pcdb handle that do not currently exist.

Arguments

h_pcdbHandle A pcdb handle returned from a call to pcdbOpen.

Value Returned

t The pcdb object is saved.

nil The save operation failed.

ReferencepcdbOpen

An example for the use of pcdb functions can be found at

your_install_dir/tools/hdb/examples/hdbTraverse.il

Example for all pcdb functions; Open the pc.db file (Get a pcdb "handle")

pcdb = pcdbOpen("lib" "cell" "schematic" "r")

; get a "generator" that can be used to get the "masters"

masterGen = pcdbGetInstMasterGen(pcdb)

; get the first master

master = pcdbNextInstMaster(masterGen)

; loop through all the masters

while( master != nil

; get the lib, cell and view name of this master

lib = pcdbInstMasterLib(master)

cell = pcdbInstMasterCell(master)

July 2004 627 Product Version 6.3

Page 628: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

view = pcdbInstMasterView(master)

; Get whether lib, cell, and view are "fixed".

; "fixed" means that any elaboration (say using a configuration)

; should NOT do anything that would replace the master name with a

; different name supplied via the elaboration process (e.g a configuration)

libfixed = pcdbInstMasterLibFixed(master)

cellfixed = pcdbInstMasterCellFixed(master)

viewfixed = pcdbInstMasterViewFixed(master)

; For this demo code, just print out the information.

printf("Master: %s %s %s %L %L %L\n"

lib cell view libfixed cellfixed viewfixed)

; get a "generator" that can be used to get the instances of this

; master

instGen = pcdbGetInstGen(master)

; get the first instance

inst = pcdbNextInst(instGen)

; loop through all the instances

while( inst != nil

; get the instance name and width

instName = pcdbInstName(inst)

instWidth = pcdbInstWidth(inst)

; For this demo code, just print the information

printf(" Inst: %s width: %d\n" instName instWidth)

inst = pcdbNextInst(instGen)

)

master = pcdbNextInstMaster(masterGen)

)

; free up resources associated with this pcdb "handle"

pcdbClose(pcdb

July 2004 628 Product Version 6.3

Page 629: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

OpenAccess Functions

The following are new OpenAccess functions.

July 2004 629 Product Version 6.3

Page 630: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Miscellaneous OpenAccess functions

dbCreateXformPCell – OpenAccess only

dbCreateXformPCell(d_cellViewIdt_libName)=> d_cellViewId | nil

Description

Creates a new pcell super master with the additional parameters: mag and angle . The newpcell is used in emulating magnification and any-angle rotation of instances. If the sourcecellview is maskLayout, the pcell cell name will be the same as that of the source cellview,with _xform appended to it, otherwise, the viewName will be similarly renamed.This pcell creates an instance of the source cellview, flattens it, and then transforms all theresultant shapes by the added parameters mag and angle.If the pcell super master already exists, it is opened read-only, and the ID is returned.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t_libName The library name.

d_cellViewId The pcell super master cellview ID that was created.

nil An error occurred.

July 2004 630 Product Version 6.3

Page 631: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbDebugStats2 – OpenAccess only

dbDebugStats2([ d_cellViewId ][ x_segNum ][ g_objName ][ g_outputFileName ])=> t | nil

Description

Lists memory used by every cellview in virtual memory, memory used by a specified cellview,content of a specified segment of the cellview, and number of objName objects in thespecified segment or cellview.

Arguments

Value Returned

d_cellViewId The database cellview ID.

x_segNum The segment number.

g_objName The object name.

g_outputFileName Output file name.

t The function executed successfully.

nil An error occurred.

July 2004 631 Product Version 6.3

Page 632: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbEvalParamCell – OpenAccess only

dbEvalParamCell(d_cellViewId)=> t | nil

Description

Evaluates the super master; the parameters on all the instance headers are fixed, and thesubmasters are evaluated.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t The super master is successfully evaluated.

nil The function is not successfully executed.

July 2004 632 Product Version 6.3

Page 633: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetBuildInfo – OpenAccess only

dbGetBuildInfo()=> t_dbBuildInfo

Description

Returns the OpenAccess release number, the tarkit revision number, and the date andmachine on which the database was built.

Arguments

None.

Value Returned

ExampledbGetBuildInfo()"@(#)$OpenAccess: 02.00 s092 06/11/03 00:01 (cds12106) $"

t_dbBuildInfo The release number, tarkit revision number, and the date andmachine on which the database was built.

July 2004 633 Product Version 6.3

Page 634: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetFileDatabaseType

dbGetFileDatabaseType(t_libNamet_cellNamet_viewName)=> t_dbFileDatabaseType

Description

Returns the t_libName, t_cellName, and t_viewName database type.

Arguments

Value Returned

ExampledbGetFileDatabaseType("newTech18" "M3xM2xG" "layout")

"OpenAccess"

t_libName The library name.

t_cellName The cell name.

t_viewName The view name.

t_dbFileDatabaseType The library/cell/view database type.

July 2004 634 Product Version 6.3

Page 635: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbGetVersion – OpenAccess only

dbGetVersion()=> t_dbVersion

Description

Returns the OpenAccess database version number.

Arguments

None.

Value Returned

ExampledbGetVersion()59

t_dbVersion The OpenAccess database version number.

July 2004 635 Product Version 6.3

Page 636: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbHasShortedTerminals – OpenAccess only

dbHasShortedTerminals(d_cellViewId)=> t | nil

Description

Checks whether the specified cellview contains nets that are connected to multiple terminals.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t The specified cellview has shorted terminals.

nil The cellview ID is invalid or there is an error.

July 2004 636 Product Version 6.3

Page 637: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbNetIsSig – OpenAccess only

dbNetIsSig(d_netId)=> t | nil

Description

Tests whether the specified net ID is also a signal.

Arguments

Value Returned

d_netId A net ID.

t The specified net ID is also a signal.

nil The specified net ID is not also a signal.

July 2004 637 Product Version 6.3

Page 638: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbReplaceParam – OpenAccess only

dbReplaceParam(d_cellViewIdt_namet_typeg_value)=> d_prop | nil

Description

Add or modifies a cellview parameter if the cellview is a pcell super master. If the cellview isnot a super master, dbReplaceParam gives a warning stating that it cannot define aparameter for a non super master, and quits.This function is only used on pcell super master cellviews.

Arguments

Value Returned

d_cellViewId The cellview whose parameter is to be changed.

t_name The name of the parameter.

t_type The type of the parameter.

g_value The value of the parameter.

d_prop The property ID of the replaced parameter.

nil The parameter was not successfully replaced.

July 2004 638 Product Version 6.3

Page 639: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSetNIMsgMode – OpenAccess only

dbSetNIMsgMode(g_arg)=> t | nil

Description

Turns on/off the not implemented message.

Arguments

Value Returned

g_arg Turns the not implemented message on or off.Valid Values: t (on), nil (off)

t The function is executed successfully.

nil g_arg was not set to t or nil.

July 2004 639 Product Version 6.3

Page 640: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbSetTextDisplayNameValueVisible – OpenAccess only

dbSetTextDisplayNameValueVisible(d_tdIdg_isNameVisibleg_isValueVisible)=> t | nil

Description

Sets the isNameVisible and the isValueVisible flags. The isNameVisible flag setsthe text display name visibility. When this flag is set to true, the name of the text display willbe visible. The isValueVisible flag sets the text display value visibility. When this flag isset to true, the value of the text display will be visible.

Arguments

Value Returned

d_tdId The textDisplay ID.

g_isNameVisible The isNameVisible flag, sets name visibility.

g_isValueVisible The isValueVisible flag, sets value visibility.

t The flags are set successfully.

nil An error occurred during execution.

July 2004 640 Product Version 6.3

Page 641: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

dbTransformCellView – OpenAccess only

dbTransformCellView(d_cellViewIdf_magf_angle)=> t | nil

Description

Scales (magnifies) and/or rotates all shapes in a cellview.

Arguments

Value Returned

d_cellViewId The database cellview ID.

f_mag The magnification factor - 1.0 is a no-op.

f_angle The rotation angle in degrees.

t The function executed successfully.

nil An error occurred.

July 2004 641 Product Version 6.3

Page 642: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Description of Database Objects

The following section contains tables that list the attributes and relationships associated withdifferent types of database objects. A short description is given for each attribute orrelationship. The tables indicate whether a given attribute can be set with dbSet, and tell whattype of value the attribute takes as input or lists as output.

Even though a given type of database object can have dozens of attributes associated withit, you only need to learn the semantics of a few attributes to retrieve useful information froma design database. If you ask for an attribute that is not applicable for the database object, orfor a property that does not exist on the object, nil is returned.

In some cases, the value of an attribute is returned as a descriptive string. This string is amember of a predefined set of legal string values that the attribute might assume. Thefollowing tables describe these attributes and enumerate their legal values.

Attribute Types

Attributes in the tables describe what type of value the attribute has. Knowing the attributetype helps you understand what type of input to give to dbSet or what type of output toexpect from dbGet.

Attribute Types

Type Meaning

bbox The value is a boundary box (list of two points, lower left and upper right of arectangular area that usually encloses the object).

integer The value is an integer.

float The value is a floating-point number.

string The value is a string. For strings whose possible values are enumerated, thepossibilities are listed with a description of each.

t/nil The value is either true (t) or false (nil).

objId The value is an object identifier (dbObject).

point The value is a point, that is, a list of two integers describing a coordinate pair.

list The value is a list of some compound type (that is, a type made up of two or moreof the previously mentioned types). The compound type is described in the valuedescription.

July 2004 642 Product Version 6.3

Page 643: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Many of the attribute values have the type l_objId which means the value is a list ofobjIds. For example, in the Cellview object description, the shapes attribute is described asbeing of type objId. In reality, the value is a list of objIds. Thus, the description of the shapesattribute notes that the value is a list comprised of the primitive attribute type objId. Also,the attribute type is preceded by a l_ (such as l_objId). This convention is used in all thetables.

Figure Types

The Cadence design database supports the following figure types:

Arc The database models elliptical arcs with two bounding boxes; theouter bounding box defines the ellipse and the inner boundingbox selects the portion of the ellipse that is the arc. The majorand minor axes of the ellipse are parallel to the x and y axes.Once created, an arc can be modified by specifying the startingand stopping angle (in radians) of the arc.

Donut A donut is circular and is modeled using two square boundingboxes; the outer bounding box defines the outer ellipse and theinner bounding box defines the donut hole.

Dot A dot consists of a point. It can be used for marking locations,such as pin location, feed through, and so forth.

Ellipse An ellipse is modeled with a rectangular bounding box. Themajor and minor axes of the ellipse are parallel to the x and yaxes.

Instance Design hierarchy is modeled through the placement of cellinstances.

Label Text for part identification, documentation, and so forth. Anumber of character fonts are supported.

Text Display Label display attributes on a per instance basis. The label textstring to be displayed is defined in the instance’s master label.

Line A connection of line segments. Unlike a path, a line has a fixedwidth, with no end and corner types or variable extensions.

Mosaic A two-dimensional array of instances, stored in a compactrepresentation.

July 2004 643 Product Version 6.3

Page 644: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Mosaic instance A cell instance that is part of a mosaic.

Path A geometry defined by the coordinates of its center line. A pathhas width, end and corner types, and variable extensions.

Polygon A closed shape.

Rectangle Parallel to the coordinate axes, a rectangle is compactlyrepresented by its bounding box alone.

Figures have a bounding box. The bounding box is an orthogonal rectangle that defines thegeometrical extents of the figure. Geometrical figures are shapes stored on layer-purposepairs, and they represent the geometrical information of the cellview. Geometries areaccessible through the shapes attribute of a cellview. The instances of a cellview areaccessible through its instances attribute. Mosaics are accessible through the mosaicsattribute of a cellview.

Database Objects

There are attributes common to all objects in the database. Attributes are listed and describedin the following table.

The following generic object attributes of previous software versions (not documented here)are still available:

■ rep (same as cellView)

■ selfIdent (same as objType in most cases)

Generic Database Object Attributes

Attribute Set? Type Description

cellView no objId The cellview that contains this object

objType no string The name of the object’s type

prop no l_objId List of properties on this object

Cellview Database Object Attributes

Attribute Set? Display? Type Description

Note: include Generic Object attributes

July 2004 644 Product Version 6.3

Page 645: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

anyInstCount no no integer Number of instances in thecellview

assocTextDisplays no no l_objId List of text displays with thiscellview object as their associate

bBox no no bbox The cell’s bounding box

cellName no yes string Name of the cell

cellViewType yes no string “graphic”“maskLayout”“schematic”“symbolic”“PCB”“schematicSymbol”“logicModel”“behavioral”“stranger”

cell no no objId Cell expressed as databaseobject

cellName no yes string Name of the cell

conns no no l_objId List of connected instanceterminals in a cellview

DBUPerUU yes yes float Number of database units in oneuser unit

fileName no yes string Relative path name of the cellview(including the directory definingthe library)

groupMembers no no l_objId List of group members for thisobject

groups no no l_objId List of groups in this cellview

instanceMasters no no l_objId List of cellviews corresponding tomasters of instances in thiscellview

instances no no l_objId List of all the instances ofcellviews in this cellview

Cellview Database Object Attributes, continued

Attribute Set? Display? Type Description

July 2004 645 Product Version 6.3

Page 646: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

instHeaderRefs no no l_objId List of instance headers forinstances of this cellview whenthe cellview is used as a master(defined only for currently opencellviews)

instHeaders no no l_objId List of instance headers forinstances of this cellview

instRefs no no l_objId List of instances of this cellviewwhen the cellview is used as amaster (defined only for currentlyopen cellviews)

isParamCell no no t/nil Denotes whether object is aparameterized cell

layerPurposePairs no no l_objId List of all layer/purpose objects inthe cellview

lib no no objId Library that contains the cellview

libName no yes string Name of the library containing thecellview

lpps no no l_objId See layerPurposePairs above

memInst no no see => List of pairs describing all theindividual instances in thecellview. The pairs are defined aslists that contain an instanceobject and the index of the uniqueinstance.

mode no no string Read/write mode the cellview isopened with: “r,” “w,” or “a”

modifiedButNotSaved

no no t/nil True if the cellview has beenmodified since last save

mosaics no no l_objId List of all the mosaics in thecellview

needRefresh no no t/nil Specifies whether the cellviewmust be refreshed (t) or not (nil)

Cellview Database Object Attributes, continued

Attribute Set? Display? Type Description

July 2004 646 Product Version 6.3

Page 647: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following representation attributes of previous software versions (not documented here)are still available:

blockName (same as cellName)fullPathName

netCount no no integer Number of nets in the cellview

nets no no l_objId List of all the nets in the cellview

objType no no string Type of the object, in this case“cellview”

physConns yes no l_objId List of pairs of object IDs, wherepairs represent a physicalconnection between the objects

shapes no no l_objId List of all shapes in the cellview

signals no no l_objId List of all signals in the cellview

sigNames no no l_string List of all signal names in thecellview

subMasters no no l_objId List of different parameterizationsfor a parameterized cell

superMaster no no objId Super master of a parameterizedcell

termCount no no integer Number of terminals in thecellview

terminals no no l_objId List of all terminals in the cellview

textDisplays no no l_objId List of text displays owned by thisterminal object

userUnits yes yes string Name of the user unit expressedas a string

versionName no yes string Version name of the cellview

view no no objId View expressed as a databaseobject

viewName no yes string Name of the view

Cellview Database Object Attributes, continued

Attribute Set? Display? Type Description

July 2004 647 Product Version 6.3

Page 648: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

instTypes (same as instHeaders)jumperNamesmodifiedButNotSavedPpurposerefCountrelativePathNamerepName (same as viewName)revisionNameselfIdent (“Rep”)statustype

All figures (instances, mosaics, and shapes) share a common set of attributes. However, a“figure” attribute never appears as an attribute of another object. The common set of figureattributes are described in the following figure.probab;ly n

Figure Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

assocTextDisplays no l_objId List of text displays with this figure object astheir associate

bBox yes* bbox The figure’s bounding box* Only rectangles, dots, and ellipses can havetheir set.

children no l_objId List of shapes that have this object as theirparent

groupMembers no l_objId List of group members for this object

isAnyInst no t/nil Denotes whether the object is any instance

isShape no t/nil Denotes whether the object is a shape

matchPoints yes t/nil Denotes whether the figure’s children haspoints that exactly match the figure’s points

net yes objId Net object if the figure is associated with a net

parent yes objId The figure’s parent

July 2004 648 Product Version 6.3

Page 649: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following figure attribute of previous software versions (not documented here) is stillavailable:

type

The following instance header attribute of previous software versions (not documented here)is still available:

selfIdent (“InstHeader”)

physConns yes l_objId List of pairs of object IDs where each pairrepresents a physical connection between thetwo objects

pin no objId Pin object if the figure is associated with a pin

purpose yes string/ Refer to table describing purpose valuesinteger

textDisplays no l_objId List of text displays owned by this figure object.

Instance Header Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

cellName no string Name of the master cell for this instance header

instances no l_objId (2-1) List of instances associated with thisinstance header

libName no string Name of the library that contains the master for thisinstance header

master no objId The master cellview of this instance header

objType no string Type of the object, in this case “instHeader”

variants no l_objId List of instance headers for submasters of the master ofthis instance header if the master is parameterized

viewName no string Name of the master’s view for this instance header

Figure Attributes, continued

Attribute Set? Type Description

July 2004 649 Product Version 6.3

Page 650: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Caution

Instance headers are automatically created and deleted by the database.This means that properties should not be placed on instance headers andinstance headers should not be placed in groups. All of the instancesassociated with an instance header have the same master as the instanceheader.

Instance Attributes

Attribute Set? Display? Type Description

Note: include Generic Object and Figure attributes

baseName yes no string Base name of the instance. The name ofan instance can contain a vectorexpression by which baseName andnumInst are derived. numInst can also bedefined at creation.

cellName no yes string Cell name of the master for this instance

conns no no l_objId List of the connected instance terminalsof this instance (applicable only if theinstance is not a mosaic)

instHeader no no objId Instance header that belongs to thisinstance

instTerms no no l_objId List of instance terminals that belong tothis instance.

libName no yes string Name of the library that contains themaster for this instance

mag yes yes float Magnification for the instance (default =1.0)

master yes no objId Cellview object corresponding to themaster of this instance

name yes yes string Name of the instance

numInst yes yes integer Number of times the instance is iterated(default = 1)

objType no no string Type of object, in this case “inst”

orient yes yes string* Orientation string for this instance:

July 2004 650 Product Version 6.3

Page 651: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

“R0” not rotated

“R90” rotated 90 degrees

“R180” rotated 180 degrees

“R270” rotated 270 degrees

“MY” mirrored about the y axis

“MYR90” mirrored about the y axisand rotated 90 degreescounterclockwise

“MX” mirrored about the x axis

“MXR90” mirrored about the x axisand rotated 90 degreescounterclockwise

*Previous software version string values for orient are still recognized.

status yes no string Status of this instance during placementin P&R:

firm not allowed to changeposition (default)

locked placed and locked

placed fully placed

suggested placement is onlysuggested

unblessed instance is unplaced

textDisplays no no l_objId List of text display objects owned by thisinstance

transform yes no see => List of values describing the instance’stransformation with respect to the master.The list contains the following informationin this order:

offset Same as xy attribute

orient Same as orient attribute

Instance Attributes, continued

Attribute Set? Display? Type Description

July 2004 651 Product Version 6.3

Page 652: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Instance attributes of previous software versions (not documented here) are still available:

blockName (same as cellName)masterName (returns nil; use cellName)repName (same as viewName)revisionNameselfIdent (“Instance”)terminals (same as instTerms)type (“trueInst”)

mag Same as mag attribute

viewName no yes string View name of the master for this instance

xy yes no point xy location of the instance (in user units)

Mosaic Instance Attributes

Attribute Set? Type Description

Note: include Generic Object and Figure attributes

baseName yes string Base name of the instance. The name of an instancecan have a vector expression in it by which baseNameand numInst are derived. numInst can also be definedat creation.

cellName no string Cell name of the master for this instance

icon no integer Icon of the mosaic subinstance

instHeader no objId Instance header this instance belongs to

instTerms no l_objId List of instance terminals belonging to this instance

libName no string Name of the library that contains the master for thisinstance

master yes objId Cellview object corresponding to the master of thisinstance

mosaic no objId If the instance belongs to a mosaic, the parent mosaic

name yes string Name of the instance

Instance Attributes, continued

Attribute Set? Display? Type Description

July 2004 652 Product Version 6.3

Page 653: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following mosaic instance attributes of previous software versions (not documented here)are still available:

blockName (same as cellName)masterName (returns nil; use cellName)repName (same as viewName)revisionNameselfIdent (“Instance”)terminals (same as instTerms)type (“mosaicSubInst”)

The following layer-purpose pair attributes of previous software versions (not documentedhere) are still available:

numInst yes integer Number of times the instance is iterated (default = 1)

objType no string Type of the object, in this case "mosaicInst"

viewName no string View name of the master for this instance

Layer-Purpose Pair Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

layerName no string Name of the layer

layerNum no integer Layer number of this layer

nShapes no integer Number of shapes on this layer and purpose

numInstTypes no integer Number of instance headers whose master containsthis layer purpose pair

objType no string Type of object, in this case "LP"

purpose no string Refer to table describing purposes

integer

shapes no l_objId List of all shapes with this layer and purpose

Mosaic Instance Attributes, continued

Attribute Set? Type Description

July 2004 653 Product Version 6.3

Page 654: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

instances (same as shapes)layer (same as layerNum)selfIdent (“LayerPurposePair”)

Layer-purpose pairs are automatically created and deleted by the database. This means thatproperties should not be placed on layer-purpose pairs, and groups should not contain layer-purpose pairs. All shapes associated with a layer-purpose pair have the same layer andpurpose as the layer-purpose pair. A layer-purpose pair can be present, but not contain anyshapes.

The following shape attributes of previous software versions (not documented here) are stillavailable:

layer (same as layerNum)selfIdent (“Instance”)shapetype (“geomInst”)

Shape Attributes

Attribute Set? Type Description

Note: include Generic Object and Figure attributes

layerName yes string Name of the layer containing the shape

layerNum yes integer Layer number the shape appears on

lpp yes list List consisting of the shape’s layer number and purpose

Arc Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

ellipseBBox yes bbox Bounding box of the ellipse containing the arc

objType no string Type of object, in this case “arc”

startAngle yes float Starting angle of the arc (in radians)

stopAngle yes float Stopping angle of the arc (counterclockwise in radians)

July 2004 654 Product Version 6.3

Page 655: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following arc attribute of previous software versions (not documented here) is stillavailable:

shape ("arc")

The sweep of the arc begins at startAngle and proceeds counterclockwise until it ends atstopAngle. The sweep must be no more than pi (180 degrees). arc~>bBox defines thebounding box of just the arc, whereas arc~>ellipseBBox defines the bounding box of theentire ellipse that has the arc as a piece of it.

Dot Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

height yes float Height of the dot

objType no string Type of object, in this case “dot”

xy yes point Point describing dot’s location (in user units)

width yes float Width of the dot

start angle

stop angle

arc~>bBoxarc~>ellipseBBox

the arcellipse

July 2004 655 Product Version 6.3

Page 656: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following donut attributes of previous software versions (not documented here) are stillavailable:

centerholeholeRadiusshape (“donut”)

Donut Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

innerRadius yes float Distance in user units from the donut’s center to the innercircle

objType no string Type of object, in this case “donut”

outerRadius yes float Distance in user units from the donut’s center to the outercircle (must be greater than innerRadius)

xy yes float Point describing donut’s center (in user units)

donut~>bBox

donut~>innerRadius

donut~>outerRadius

donut~>xy

July 2004 656 Product Version 6.3

Page 657: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following ellipse attribute of previous software versions (not documented here) is stillavailable:

shape (“ellipse”)

Ellipse Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

objType no string Type of object, in this case “ellipse”

Label Attributes

Attribute Set? Display? Type Description

Note: include Generic Object, Figure, and Shape attributes

font yes yes string* “euroStyle”“gothic”“math”“roman”“script”“stick”“swedish”

Eurostyle fontGothic fontMathematics fontTimes Roman fontScript fontStick fontSwedish font

*previous version string values for font are recognized.

hasTextDisplay

no no t/nil t if the label has any text display belongingto it, else nil.

height yes yes float Height of the label (in user units)

isDrafted yes no t/nil t if the label reads left to right whenhorizontal and bottom to top when vertical;the label is always easy to read. nil if thelabel can appear upside down andbackwards if the orient is set properly.

isOverbar yes no t/nil t if the label has a bar on top of the text.nil otherwise.

isVisible yes no t/nil Label is visible if set to t

justify yes yes string* “lowerLeft” lower left corner of thelabel

July 2004 657 Product Version 6.3

Page 658: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

“lowerCenter” middle of the bottom ofthe label

“lowerRight” lower right corner of thelabel

“centerLeft” center of the left side ofthe label

“centerCenter”

absolute center of thelabel

“centerRight” center of the right sideof the label

“upperLeft” upper left corner of thelabel

“upperCenter” middle of the top of thelabel

“upperRight” upper right corner ofthe label

*previous version string values for justify are recognized.

labelType yes yes string* “normalLabel” displayed withoutinterpretation

“NLPLabel” displayed with NLPinterpretation

“ILLabel” displayed with ILinterpretation

*previous version string values for labelType are recognized.

objType no no string Type of object, in this case “label”

orient yes yes string* Orientation of this label:

“R0” not rotated

“R90” rotated 90 degrees

“R180” rotated 180 degrees

“R270” rotated 270 degrees

Label Attributes, continued

Attribute Set? Display? Type Description

July 2004 658 Product Version 6.3

Page 659: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following label attributes of previous software versions (not documented here) are stillavailable:

rotated?draftingP (same as isDrafted)shape (“label”)

“MY” mirrored about the yaxis

“MYR90” mirrored about the yaxis and rotated 90degreescounterclockwise

“MX” mirrored about the xaxis

“MXR90” mirrored about the yaxis and rotated 90degreescounterclockwise

*previous version string values for orient are recognized.

theLabel yes yes string Label text

xy yes no point Location of the origin of a label (in userunits)

Line Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

nPoints no integer Number of points in the line

objType no string Type of object, in this case “line”

points yes l_point List of points for the line (in user units)

Label Attributes, continued

Attribute Set? Display? Type Description

July 2004 659 Product Version 6.3

Page 660: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following line attributes of previous software versions (not documented here) are stillavailable:

nPath (same as nPoints)path (same as points)shape (“line”)

The following path attributes of previous software versions (not documented here) are stillavailable:

nPath (same as nPoints)path (same as points)pathShape (same as pathStyle)shape (“path”)

Path Attributes

Attribute Set? Display? Type Description

Note: include Generic Object, Figure, and Shape attributes

beginExt yes no float Extension (in user units) of the pathbeyond the first vertex

endExt yes no float Extension (in user units) of the pathbeyond the last vertex

nPoints no no integer Number of points in the path

objType no no string Type of object, in this case “path”

pathStyle yes no string* See the manuals for EDIF 2.0.0 for detailson the allowed values:“extendExtend”“roundRound”“truncateExtend”“varExtendExtend”

*These older version string values for pathStyle are recognized:“squareOffset”, “octagonEnded”, and “squareFlush”.

points yes no l_point List of points for the path centerline (in userunits)

width yes yes float Width of the path (in user units)

July 2004 660 Product Version 6.3

Page 661: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The list of points describing a polygon, accessed by polygon~>points, is implicitly closed.This means that the path for a rectangular polygon contains four points, rather than the fivepoints found in some other systems.

The following polygon attributes of previous software versions (not documented here) are stillavailable:

nPath (same as nPoints)path (same as points)shape (“polygon”)

Polygon Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

nPoints no integer Number of points in the polygon

objType no string Type of object, in this case “polygon”

points yes l_point List of points for the polygon (in user units)

Text Display Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

associate no objId ID of the associate object

font yes string* “euroStyle”“gothic”“math”“roman”“script”“stick”“swedish”

Eurostyle fontGothic fontMathematics fontTimes Roman fontScript fontStick fontSwedish font

*previous version string values for font are recognized

height yes float Height of the text display (in user units)

July 2004 661 Product Version 6.3

Page 662: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

isDrafted yes t/nil t if the text display reads left to right when horizontaland bottom to top when vertical; the text display isalways easy to read. nil if the text display can appearupside down and backwards if the orient is setproperly.

isNameVisible yes t/nil Name portion is visible if set to t. Only applicable ifassociate is a property/attribute.

isOverbar yes t/nil t if the text display has a bar on top of the text, elsenil

isValueVisible yes t/nil Value portion is visible if set to t. Only applicable ifassociate is a property/attribute.

isVisible yes t/nil Text display is visible if set to t

justify yes string* “lowerLeft” Lower left corner of the textdisplay

“lowerCenter” Middle bottom of the text display

“lowerRight” Lower right corner of the textdisplay

“centerLeft” Center left side of the text display

“centerCenter”

Absolute center of the text display

“centerRight” Center of the right side of the textdisplay

“upperLeft” Upper left corner of the textdisplay

“upperCenter” Middle of the top of the text display

“upperRight” Upper right corner of the textdisplay

*previous version string values for justify are recognized.

orient yes string* Orientation of this text display:

“R0” Text display is not rotated

“R90” Text display is rotated 90 degrees

Text Display Attributes, continued

Attribute Set? Type Description

July 2004 662 Product Version 6.3

Page 663: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following rectangle attribute of previous software versions (not documented here) is stillavailable:

shape (“rectangle”)

“R180” Text display is rotated 180 degrees

“R270” Text display is rotated 270 degrees

“MY” Text display is mirrored about the yaxis

“MYR90” Text display is mirrored about the yaxis and rotated 90 degreescounterclockwise

“MX” Text display is mirrored about the xaxis

“MXR90” Text display is mirrored about the yaxis and rotated 90 degreescounterclockwise

*previous version string values for orient are recognized

owner no objId ID of the owner of the text display object

text no string Text to be displayed

xy yes point Location of the origin of a text display (in user units)

Rectangle Attributes

Attribute Set? Type Description

Note: include Generic Object, Figure, and Shape attributes

objType no string Type of object, in this case “rect”

Text Display Attributes, continued

Attribute Set? Type Description

July 2004 663 Product Version 6.3

Page 664: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following mosaic attributes of previous software versions (not documented here) are stillavailable:

type (“mosaicInst”)selfIdent (“Mosaic”)

Mosaic Attributes

Attribute Set? Type Description

Note: include Generic Object and Figure attributes

columns yes integer Number of columns in the mosaic

instanceList no l_objId List of mosaic instances of masters used in the mosaic

maxExtension no float Maximum distance tile shapes extend beyond the tilegrid (in user units)

name yes string Name of the mosaic

numInstances no integer Number of masters in the instance list

mosaicType no string* Type of mosaic, one of the following:

simpleregularrowBiasedcolumnBiasedempty

An array of the same masterSee discussion on Mosaic tilesSee discussion on Mosaic tilesSee discussion on Mosaic tilesAn empty mosaic array

*Previous version mosaic type no longer supported: template

objType no string Type of object, in this case “mosaic”

personality no l_objId Row-major vector of mosaic Insts for the mosaic,applies to complex mosaics only

rows yes integer Number of rows in the mosaic

tileArray no l_tile Row-major vector of mosaic tiles that have pairs ofindex and icon for the mosaic

uX yes l_float List of distances (in user units) between adjacentcolumns

uY yes l_float List of distances (in user units) between adjacent rows

xy yes point xy location of lower left coordinate of the mosaic (inuser units)

July 2004 664 Product Version 6.3

Page 665: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Mosaic Tiles

There are two kinds of mosaics: simple and complex. A simple mosaic is a two-dimensionalarray of a single cell instance; sometimes it is referred to as a homogeneous mosaic.

A complex mosaic is an array that contains a variety of cell instances, represented in themosaic’s instanceList. The mosaic has a personality matrix, a two-dimensional array ofmosaic tiles that identify the instance from the instance list that belongs to each position inthe array. The mosaic tile index from the mosaic’s instanceList identifies the instance thatappears at the given mosaic location corresponding to that tile. The index can also be asymbolic string if this mosaic is a complex type generated by the Structure Compiler program.

The Structure Compiler program can generate mosaics that contain tiles that do not refer tocell instances, but designate open space, a reference to a neighboring tile, and so on. Eachtile also has an orient, a symbolic string representing the rotation and mirroring of theinstance at the given mosaic location.

The uX and uY attributes of the mosaic describe the spacing between columns and rows ofthe mosaic’s tiles. If a single value appears, the spacing is uniform. If a list of values appears,the list is of the same size as the corresponding number of rows or columns, and each entrycorresponds to the spacing between a given row or column and the next row or column.

Mosaics appear in three forms:

Row-biased and column-biased arrays are generated only by the Structure Compilerprogram.

Regular Row and column spacings are each constants.

Row-biased Height of the cells in each row is a constant and the width of thecells in a single column might vary.

Column-biased Height of the cells in a single row might vary but the width of thecells in each column is a constant.

Mosaic Tile Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

index no integer Index into the parent mosaic’s instanceList. Can also be astring if the mosaic was generated by the StructureCompiler.

objType no string Type of object, in this case “mosaicTile”

July 2004 665 Product Version 6.3

Page 666: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following mosaic tile attribute of previous software versions (not documented here) is stillavailable:

selfIdent (“MosaicTile”)

orient no string* Orientation string for this location’s mosaic instance; one ofthe following:

“R0” Mosaic instance is not rotated

“R90” Mosaic instance is rotated 90 degrees

“R180” Mosaic instance is rotated 180 degrees

“R270” Mosaic instance is rotated 270 degrees

“MY” Mosaic instance mirrored about y axis

“MYR90” Mosaic instance mirrored about y axis androtated 90 degrees anticlockwise

“MX” Mosaic instance mirrored about x axis

“MXR90” Mosaic instance mirrored about y axis androtated 90 degrees anticlockwise

*previous version string values for orient are recognized.

Instance Terminal Attributes

Attribute Set? Display? Type Description

Note: include Generic Object attributes

assocTextDisplays no no l_objId List of text displays with this instanceterminal

object as their associate

direction no yes string Direction of the associated terminal.See the terminal description forpossible values. If the terminal doesnot exist on the master, a value of“unknown” is returned.

groupMembers no no l_objId List of group members for this object

Mosaic Tile Attributes, continued

Attribute Set? Type Description

July 2004 666 Product Version 6.3

Page 667: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

An instance terminal describes a net connection at one level of the hierarchy with a net at alower level of the hierarchy. The connection of the lower level net is made only in the contextof the instance associated with the connection. An instance terminal does not have to connectto a net.

The following instance terminal attributes of previous software versions (not documentedhere) are still available:

fTerm (same as term)io (same as direction)selfIdent (“ActualTerminal”)width

inst no no objId Instance the instance terminalbelongs to

instPins no no l_objId List of instance pins attached to thisinstance terminal

name no yes string Name of the associated masterterminal

net yes no objId Net this instance terminal isattached to

numBits no yes integer Width of this terminal in bits

objType no no string Type of object, in this case“instTerm"

term no no objId Terminal corresponding to theinstance terminal

textDisplays no no l_objId List of text displays owned by thisinstance terminal object

widthOK no no t/nil Flag denoting whether the instanceterminal’s width is valid with respectto its connected net and instances itends on

Instance Terminal Attributes, continued

Attribute Set? Display? Type Description

July 2004 667 Product Version 6.3

Page 668: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

A terminal allows a net to be connected to another net at the next level up in the hierarchy.

The following terminal attributes of previous software versions (not documented here) are stillavailable:

Terminal Attributes

Attribute Set? Display? Type Description

Note: include Generic Object attributes

assocTextDisplays no no l_objId List of text displays with this terminalobject as their associate

direction yes yes string* “input” terminal is an inputterminal

“inputOutput”

terminal is bothinput and output

“jumper” terminal is a jumperterminal

“output” terminal is an outputterminal

“switch” terminal is a switch

“unused” terminal is not used

groupMembers no no l_objId List of group members for this object

name yes yes string Name of this terminal

net no no objId Net associated with this terminal

numBits no yes integer Width of this terminal in bits

objType no no string Type of object, in this case “term”

pinCount no no integer Number of pins connected to theterminal

pins no no l_objId List of all pins on the terminal

textDisplays no no l_objId List of text displays owned by theterminal object.

*Previous version string values of “bidir”, “powerInput”, and “powerOutput” arestill recognized - “usedUp” is not.

July 2004 668 Product Version 6.3

Page 669: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

io (sme as direction)selfIdent (“FormalTerminal”)width

The following instance Pin attribute of previous software versions (not documented here) isstill available:

selfIdent

Instance Pin Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

assocTextDisplays no l_objId List of text displays with this instance pinobject as their associate

bBox no bbox Bounding box of the associated pin in themaster cellview. The bounding box istransformed according to the instance’stransformation. Returns nil if the associatedmaster pin does not exist.

groupMembers no l_objId List of group members for this object

instTerm no objId Instance terminal containing this instance pin

name no string Name of the master pin associated with thispin

net yes objId Net attached to the pin. This must be a subnetof the net containing the instance pin’sinstance terminal.

objType no string Type of object, in this case “instPin”

physConns yes l_objId List of pairs of object IDs, where each pairrepresents a physical connection between thetwo objects

pin no objId Master pin associated with this instance pin

textDisplays no l_objId List of text displays owned by this instance pinobject

July 2004 669 Product Version 6.3

Page 670: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

A pin describes an instance where a physical connection can be made to the associatedterminal.

The following terminal attributes of previous software versions (not documented here) are stillavailable:

Pin Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

accessDir yes l_string List of strings that define directions fromwhich the pin can be accessed. Possiblevalues are: “left”, “right”, “top”,“bottom”, any combination of thosevalues, and “none”.nil means unspecified.

accessDirection yes integer Value of accessDir described as aninteger (for compatibility with previoussoftware versions). They are: 4 (left), 8(right), 1 (top), 2 (bottom), anysummation of those values, and 0 (none).nil means unspecified and not 0.

assocTextDisplays no l_objId List of text displays with this pin object astheir associate

fig no objId Figure that describes the pin

groupMembers no l_objId List of group members for this object

name yes string Name of the pin. This is sometimesconfused with the terminal name, whichis used more often

net yes objId Net attached to the pin

objType no string Type of object, in this case “pin”

term no objId Terminal that contains the pin

textDisplays no l_objId List of text displays owned by this pinobject

July 2004 670 Product Version 6.3

Page 671: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

inst (same as fig)selfIdent (“FormalPin”)pinName (same as name)

Net Attributes

Attribute Set? Display? Type Description

Note: include Generic Object attributes

allInstTerms no no l_objId List of instance terminalsconnected to this net and any of thenet’s subnets

assocTextDisplays no no l_objId List of text displays with this netobject as their associate

criticality yes no integer Criticality of the net (value from 0 to255)

figs no no l_objId List of figures that use this net

groupMembers no no l_objId List of group members for thisobject

instPins no no l_objId List of instance pins associated withthis net

instTermCount no no integer Number of instance terminalsconnected to the net

instTerms no no l_objId List of all instance terminalsconnected to the net

name no yes string Name of the net

numBits no yes integer Number of signals in this net

objType no no string Type of object, in this case “net”

parent no no objId Parent net if this is a child net,otherwise nil

pins no no l_objId List of pins that use the terminalassociated with this net

signals no no l_objId List of signals associated with thisnet

July 2004 671 Product Version 6.3

Page 672: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following net attributes of previous software versions (not documented here) are stillavailable:

cap (property)childchildrenconnStatusconn (same as connStatus)instances (same as figs)isGlobalP (returns nil, use isGlobal on signal)nets (same as children)prior (same as criticality)routingLength (property)routingWidth (property)selfIdent (“Net”)terminals (same as instTerms)type (returns nil, use sigType on signal)width (same as numBits)

sigNames no no l_string List of strings that are the names ofthe signals in this net

subnet no no l_objId List of immediate child nets (childnets attached directly to this net)

subnets no no l_objId List of all child nets (child nets thattraverse the entire net hierarchy)

term no no objId Terminal associated with the net

textDisplays no no l_objId List of text displays owned by thisnet object

Signal Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

aliases no l_string List of names depicting alternative names for thesignal (no duplicates are printed)

Net Attributes, continued

Attribute Set? Display? Type Description

July 2004 672 Product Version 6.3

Page 673: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following generic Technology File Object attribute of previous software versions (notdocumented here) is still available:

dbType

groupMembers no l_objId List of group members for this object

isGlobal yes t/nil Defines whether the signal is known globally

memInstTerms no see => List of lists, each containing an instance terminalobject followed by an integer index describing thebit of the instance terminal the signal is attached t

memNets no see => List of lists, each containing a net object followedby an integer index, describing which bit of the netthe signal associates

memTerms no see => List of lists, each containing a terminal objectfollowed by an integer index describing the bit ofthe terminal the signal is attached to

name yes string Name of the signal

objType no string Type of object, in this case “sig”

sigType yes string Type of the signal. One of the following:

“clock”“ground”“signal”“supply”“testLatch”

A timing critical clockThe reference signal for the cellviewAn ordinary signalProvides power for the cellviewPart of a test scan chain

Generic Technology File Object Attributes

Attribute Set? Type Description

groupMembers no l_objId List of group members for this object

objType no string The name of the object’s type. The names aredescribed in the attribute table for each object

prop no l_objId List of properties on this object

Signal Attributes, continued

Attribute Set? Type Description

July 2004 673 Product Version 6.3

Page 674: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Technology File Attributes

Attribute Set? Type Description

Note: include Generic Technology File Object attributes

displays no l_objId List of displays in the technology file

layers no l_objId List of layers in the technology file

lib no objId Library the technology file belongs to

maxPriority no integer Maximum layer priority number

objType no string Type of the object: “techFile”

purposes no l_objId List of purposes in the technology file

timeStamp yes string Time stamp of the technology file

Layer Attributes

Attribute Set? Type Description

Note: include Generic Technology File Object attributes

blink yes t/nil Layer’s blink attribute

brightColors yes l_objId List of bright colors for the layer

displays no l_objId List of displays that the layer references

fillColors yes l_objId List of fill colors for the layer

fillStyle yes string Layer fill style. One of the following:

“outline”“solid”“X”“stipple”“outlineStipple”

Outline only and no fillA solid FillX-fill and outlineStipple fill and no outlineStipple fill and outline

lineStyles yes l_objId List of line styles for the layer

name yes string Layer name

number no integer Layer number

objType no string Type of the object: “layer”

outlineColors yes l_objId List of outline colors for the layer

July 2004 674 Product Version 6.3

Page 675: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

priority yes integer Layer’s priority

purpose no string Layer’s purpose (see the purpose table) integer

selectable yes t/nil Layer’s selectability

stipples yes l_objId List of stipples for the layer

techFile no objId Techfile the layer belongs to

twoLayers no l_objId List of two layer relationships for the layer

visible yes t/nil Layer’s visibility

Display Attributes

Attribute Set? Type Description

Note: include Generic Technology File Object attributes

colors no l_objId List of colors in the display

lineStyles no l_objId List of line styles in the display

maxColor no integer Maximum number of colors allowed

maxLineStyle no integer Maximum number of line styles allowed

maxStipple no integer Maximum number of stipples allowed

name yes string Display name

objType no string Type of the object: “display”

stipples no l_objId List of stipples in the display

techFile no objId Techfile the layer belongs to

Color Attributes

Attribute Set? Type Description

Note: include Generic Technology File Object attributes

index no integer Color’s index in the color table

Layer Attributes, continued

Attribute Set? Type Description

July 2004 675 Product Version 6.3

Page 676: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

name yes string Color name

objType no string Type of the object: “color”

rgb yes l_integer A list that defines the red, green, and blue componentsof the color. The list is expressed as:list( x_red x_green x_blue )

list( x_red x_green x_blue )

The range of RGB values is between 0 and 1000.

Stipple Attributes

Attribute Set? Type Description

Note: include Generic Technology File Object attributes

height no integer Derived stipple pattern height

index no integer Stipple index in the stipple table

name yes string Stipple name

objType no string Type of the object: “stipple”

pattern yes see => List of a list of 0’s and 1’s that defines the stipple pattern.For example:

list( list(0 0 0 0) list(0 1 1 0)

list(0 1 1 0) list(0 0 0 0) )

width no integer Derived stipple pattern width

Line Style Attributes

Attribute Set? Type Description

Note: include Generic Technology File Object attributes

index no integer Line styles’s index in the line style table

name yes string Line style name

Color Attributes

Attribute Set? Type Description

July 2004 676 Product Version 6.3

Page 677: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

objType no string Type of the object: “lineStyle”

pattern yes see => List of 0’s and 1’s that defines the stipple pattern. Forexample:

list( 0 0 1 1 0 0 1 1 )

width yes integer Line width in pixels

Two-Layer Attributes

Attribute Set? Type Description

Note: include Generic Technology File Object attributes

layer1 no objId First of the two layers that are related

layer2 no objId Second of the two layers that are related

objType no string Type of the object: “twoLayer”

Property Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

assocTextDisplays no l_objId List of text displays with this propertyobject as their associate

enum no string If the property’s type is fileName, ILExpr,NLPExpr, or string, it can be anenumerated property, which can assumeonly one of the values in this list. Enum is arange for string-valued properties.

name yes string Name of the property

object no objId Database object with this property

Line Style Attributes, continued

Attribute Set? Type Description

July 2004 677 Product Version 6.3

Page 678: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

range no see => If the property value is float, int, or time,this property is either nil or a listcontaining the lower and upper bound. Thetype of this attribute, therefore, depends onvalueType.

value yes see => Value of this property. The type of thisattribute depends on valueType.

valueType no string The type of the value of this property:

“boolean” Boolean

“fileName” file name string

“float” Floating-point integer

“hierProp” Property list

“ILExpr” IL expression string

“ILList” IL list

“int” Integer

“NLPExpr” NLP expression string

“string” String

“time” Time-valued string

Group Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

deleteWhen yes string The values that can be used are:

deleteNever The group itself never getsautomatically deleted nomatter which group membergets deleted.

Property Attributes, continued

Attribute Set? Type Description

July 2004 678 Product Version 6.3

Page 679: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

The following group attributes of previous software versions (not documented here) are stillavailable:

collectionP (same as isCollection)orderedPsetP (same as isSet)unorderedP

deleteFirst The group itself getsautomatically deleted once thefirst group member getsdeleted.

deleteLast The group itself getsautomatically deletedonce thelast group member getsdeleted

groupMembers no l_objId List of group members contained in this group

isCollection yes t/nil t if the group is a collection, nil otherwise

isOrdered yes t/nil t if the groupMembers are ordered, nilotherwise

isSet yes t/nil t if the group is a set, nil otherwise

isUniqueName yes t/nil t if the group name is unique, nil otherwise

members no l_objId List of group members contained in this group

name yes string Name of this group

objects no l_objId List of objects contained in this group (referred toby group members)

Group Member Attributes

Attribute Set? Type Description

Note: include Generic Object attributes

group no objId Group containing this group member

object no objId Object this group member refers to

Group Attributes, continued

Attribute Set? Type Description

July 2004 679 Product Version 6.3

Page 680: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Previous version purposes still recognized:

wire (maps to net)interconnect (maps to net)

Reserved Values for Purpose

Purpose Description

all

annotate

boundary Object delineates a cell boundary

cell Object is a block, no longer used

drawing Object is a drawing

drawing1

drawing2

drawing3

drawing4

drawing5

drawing6

drawing7

drawing8

drawing9

error

flight

label

net Object is associated with a net, no longer used

pin Object is associated with a pin, no longer used

tool1

tool0

unknown

warning

July 2004 680 Product Version 6.3

Page 681: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

Previous version purposes no longer recognized:

contactplanestubdummyactivemultipin

Reserved Values for Layers

Layer Description

align The mosaic alignment layer

annotate The annotation layer

axis The axis layer

background The background layer

border Sheet borders/title blocks

changedLayer The changed layer

device Symbol graphics

drive The drive layer

edgeLayer Edge assigned pins

designFlow The design flow layer

grid The grid layer

hiz The hiz layer

hilite The highlighting layer

hardFence Hard fence for compaction

instance The instance layer

marker Error or warning markers

pin Pin geometries in schematics or symbols

prBoundary P&R boundary layer

resist The resist layer

select The selection layer

July 2004 681 Product Version 6.3

Page 682: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

snap The snap layer

softFence Soft fence for compaction

spike The spike layer

stretch Stretch control lines for parameterized cells

supply The supply layer

text Program annotative text/solid lines

unknown unset Unknown layer

winActiveBanner Window active banner

winAttentionText Window attention text

winBackground Window background

winBorder Window border

winBottomShadow Window bottom shadow

winButton Window buttons

winError Window error layer

winForeground Window foreground

winInactiveBanner Window inactive banner

winText Window text

winTopShadow Window top shadow

wire Wires in schematics or symbols

y0 Waveform display and probing

y1 Waveform display and probing

y2 Waveform display and probing

y3 Waveform display and probing

y4 Waveform display and probing

y5 Waveform display and probing

y6 Waveform display and probing

y7 Waveform display and probing

Reserved Values for Layers, continued

Layer Description

July 2004 682 Product Version 6.3

Page 683: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

OpenAccess Object functions

y8 Waveform display and probing

y9 Waveform display and probing

Reserved Values for Layers, continued

Layer Description

July 2004 683 Product Version 6.3

Page 684: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDatabase Access

July 2004 684 Product Version 6.3

Page 685: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions Reference

3Design Management

This chapter contains the following sections:

■ Attributes of Data Management Objects on page 688

■ Library Structure on page 690

■ Triggering Function Calls on page 695

■ Design Management Functions on page 699

■ Design Data Services on page 804

■ dmb Compatibility Functions on page 861

■ Cell Category Functions (ddCat Interface) on page 875

■ Design Editor SKILL Functions on page 896

■ Client Interface on page 915

■ Design Editor Support Routines on page 951

■ Extended Design Editor Example on page 979

Through data management you impose a layer of abstraction on a physical file system thatlets you organize and control the physical file system in the following ways:

July 2004 685 Product Version 6.3

Page 686: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Library Organization

A design library is organized into four levels, as shown in Figure 3-1.

Figure 3-1 Library Organization

In addition, all objects below the library have a relation to the library.

Version Control

You can perform version control with the design management system you are using. Thelibrary structure is independent of any design management system. You are free to use

■ The basic design management functionality

derived from cds.lib files(UNIX files)

UNIX directories

A UNIX file

UNIX directories

A UNIX file

UNIX directories

A UNIX file(CDBA CellView data belongshere)

File that belongs to aLibrary Object(ddLibFileType)

File that belongs to a CellObject(ddCellFileType)

File that belongs to a ViewObject(ddViewFileType)

List of Libraries(LibList)

Library Object(ddmLibType)

Cell Object(ddCellType)

View Object(ddViewType)

July 2004 686 Product Version 6.3

Page 687: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

■ The advanced team design manager product from Cadence

■ Any other system you choose

■ No design management system

Concurrence Control

Data management arbitrates between users who want to do incompatible operations at thesame time. The system permits maximum sharing with a minimum of conflict.

July 2004 687 Product Version 6.3

Page 688: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Attributes of Data Management Objects

The attributes of data management objects use the following operators to access datamanagement objects with SKILL:

If you ask for an attribute that is not applicable for the database object or for a property thatdoes not exist on the object, the system returns nil.

In these figures, types of data returned by an attribute are shown as

When IL is present, the system provides “~>”(squiggle-arrow) support for all objects in thenew data model. Table 3-1 on page 688 and Table 3-2 on page 689 show the names of theattributes and relations you can get at via squiggle-arrow.

Table 3-1 Attribute Names Provided for “Object~><name>” Access

(~>) To access any attribute or property of an object

(~>?) To see names of all attributes of an object

(~>??) To see names and values of all attributes and properties of an object

b either t for true or nil for false (Boolean)

d an identifier

f a floating point number

g any of the data types

l a list

n a number, either integer or floating point

s a symbol

t a character string

x an integer

Attribute Names Object Types Attribute is Valid For

group libFile cellFile viewFile

groupAccess libFile cellFile viewFile

isReadable libFile cellFile viewFile

isWritable libFile cellFile viewFile

lastModify libFile cellFile viewFile

July 2004 688 Product Version 6.3

Page 689: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Table 3-2 Relation Names Provided for “Object~><name>” Access

name lib cell view libFile cellFile viewFile

owner libFile cellFile viewFile

ownerAccess libFile cellFile viewFile

prop lib cell view

publicAccess libFile cellFile viewFile

readPath libFile cellFile viewFile

techfile lib cell view libFile cellFile viewFile

type lib cell view libFile cellFile viewFile

writePath libFile cellFile viewFile

Relationnames Relationship Object Types Attributes is Valid For

cell 1:1 view cellFile

cells 1:n lib

children 1:n lib cell view

files 1:n lib cell view

lib 1:1 lib cell view libFile cellFile viewFile

parent 1:1 lib cell view libFile cellFile viewFile

view 1:1 viewFile

views 1:n cell

Attribute Names Object Types Attribute is Valid For

July 2004 689 Product Version 6.3

Page 690: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Library Structure

The library is a UNIX-based structure. The model uses the UNIX directory and file structure,UNIX permissions, and UNIX file management calls. File locking is limited to the view level,to prevent two designers from editing the same design at the same time.

The library structure looks like this:

Refer also to Figure 3-1 on page 686.

Files in the Library Directory

The following files come packaged with the DFII software:

■ cdsinfo.tag is an ASCII file that identifies, among other things, the data managementsystem used. It is created when you create a new library. The contents of cdsinfo.tagare further defined in the CAI User Guide.

techfile.cds

cell

<view1>

<view3>

prop.xx

<view>.cdb

master.tag

pc.db

<view2>

prop.xx

divaDRC.rul

divaERC.rul

divaEXT.rul

divaLVS.rul

abgen.rul

<category1>.Cat

<category2>.Cat

<config1>.cfg

<config2>.cfg

cdsinfo.tag

<library>

prop.xx

July 2004 690 Product Version 6.3

Page 691: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

■ prop.xx is the file (in CDBA) containing library, cell, or view properties. In OpenAccess,the property file is called dd.db.

■ techfile.cds is an optional binary technology file. You can use the user interface tobind the library to a common technology library. When the library is bound to atechnology file, the library properties techFileName and techLibName in the libraryproperty file prop.xx point to the technology file bound to the library. If these propertiesare not defined, the library must have the file techfile.cds in the library directory.

Temporary Directory

A library can have a temporary directory associated with it to store derived data. Thetemporary directory has the same directory structure as the library. Applications reading alibrary that has a temporary directory assume that the library contains the combined contentsof the library and the temporary directory. If there are any files in common, the files in thetemporary directory have precedence. Applications write derived data to the temporarydirectory, if it exists, and source data (master files and co-master files) to the library.

(The library directory is also referred to as the master directory in this chapter.)

You can define a temporary directory for a library by putting a TMP attribute on the library withan ASSIGN statement in a cds.lib file. For more information about temporary directories,see Chapter 2, “Cadence Library Structure,” of the Cadence Application InfrastructureUser Guide.

Note: Temporary directories are only available for CDBA libraries, they are not available forOpenAccess libraries.

The cds.lib File

Libraries and their search paths are defined in the library definition file cds.lib. Thecds.lib file might look like this:

# -------------------------------------------------------------

# Sample cds.lib file

# $Author: mark$

# $Revision: 1.9 $

# $Date: 2000/07/20 22:18:45 $

# -------------------------------------------------------------

Include ~/install/cdsSetup/cds.lib # Basic and Sample

SoftInclude ~/install/cdsSetup/composer.lib # Tool Specific

SoftInclude ~/install/cdsSetup/virtuoso.lib # Tool Specific

Define myLib /tmp/experiment

July 2004 691 Product Version 6.3

Page 692: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Note: The preferred comment character in the cds.lib file is the hash mark (#). It must befollowed by white space. Comments extend to the end of the line. Text within a comment isfor explanatory purposes only and is ignored when the cds.lib file is being parsed.

Case is ignored for INCLUDE, SOFTINCLUDE, DEFINE, SOFTDEFINE, UNDEFINE, ASSIGNand UNASSIGN if they are the first token on a line.

Paths in the cds.lib file can be either relative or absolute. If you specify a path as relative,the location of the cds.lib file is prepended to it when looking for the libFile or library.

For more information about the cds.lib file, see the Cadence Application InfrastructureUser Guide.

Token Action

INCLUDE Causes ddUpdateLibList to look for another file formatted as acds.lib file (it does not need to be named cds.lib). The contentsof that file is inserted in place of the INCLUDE command. If thesystem does not find the file, it is an error and the system quits theupdate (leaving things as they were before you called it.)

SOFTINCLUDE Is the same as INCLUDE, but if the file designated by libFilePathis not there, the system skips the line and continues processing.

DEFINE Inserts a library named libName in the library list for the process.libName is case-insensitive. libPath specifies a directory and iscase-insensitive like libName. The path does not need the samename as the library.

SOFTDEFINE Is the same as DEFINE but no error message is printed if libPathdoes not exist.

UNDEFINE Removes the library named libName from the processs library list.This action allows you to remove a library in a local cds.lib file thatmay have been included in the site default file.

ASSIGN Assigns an attribute to a library. Has the following syntax:

ASSIGN libName attribute value

Currently, only the TMP attribute is supported.

UNASSIGN Removes an attribute from a library.

July 2004 692 Product Version 6.3

Page 693: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Location of cds.lib

The software reads the first cds.lib file it finds in the search order defined in thesetup.loc file. That order is

current working directory$CDS_WORKAREA (if defined)$CDS_SEARCHDIR (if defined)$HOME$CDS_PROJECT (if defined)$CDS_SITE$CDS_INST_DIR/share/

The setup.loc file is generally in one of two locations:

$CDS_SITE/cdssetup/setup.loc #

is used if defined.

$CDS_INST_DIR/share/cdssetup/setup.loc #

is used otherwise.

The default for $CDS_SITE is

your_install_dir/share/local

See the Cadence Application Infrastructure User Guide for more information on usingthe setup.loc file.

Library Path Editor

To edit your cds.lib file, Cadence provides the Library Path Editor. Choose Tools – LibraryPath Editor from the pulldown menus of the command interpreter window.

Tool writers should not have to implement DDPI user-interfaces in their tool code. For thisreason, there is no “Set” PI. However, the function ddCreateLib prepends a new library tothe library list.

Library Manager

The DFII Library Browser is replaced by a Library Manager with greater functionality. Forinformation, see the Library Manager User Guide.

July 2004 693 Product Version 6.3

Page 694: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Configurations

Configurations are created by the hierarchy editor and stored as cellviews. The configurationcellview stores the name of the top cellview. If you had overriden any defaults when youcreated the configuration, the overriding information is also stored in the configurationcellview.

When you open a configuration cellview, it opens the top cell view specified in theconfiguration. The configuration cellview is an ASCII file. You can create a new configurationcellview either by File - New from the CIW and choosing Hierarchy Editor as the tool or bystarting the Hierarchy Editor from a UNIX shell.

July 2004 694 Product Version 6.3

Page 695: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Triggering Function Calls

Application programs need to react when certain changes occur to library objects. The DFIIsoftware lets you register a SKILL function to be called (triggered) when certain changeseither have just occurred or are about to occur for library objects.

Caution

Do not call functions from within the registered functions that mightcause an infinite loop. The trigger code that calls back to the DFIIenvironment can have serious side effects. The only operations done bya trigger such as PreObjAccess or PreAutoCheckout should be calls toservices outside of the DFII environment. The capability described hereis only an enabling feature; Cadence cannot take responsibility to debugany user trigger code unless the problem lies within the DFII environmentthat is enabling the integration.

Setting the Trigger

Use the registration function, ddRegTrigger, to register a function to be called for any kindof triggering event. Figure 3-2 on page 696 lists the types of triggering events for which youcan register a function. Pass ddRegTrigger

■ Name of the SKILL function to register

■ Type of event that triggers a call to the function

For example, to register the function exampleCheckinCallback to be called when anycellview version is checked in,

ddRegTrigger( "PostCheckin" ’exampleCheckinCallback )

Multiple Triggers for the Same Event

You can register many functions to be called when an event occurs. When several functionsare registered for the same event, you can set the order called using the priority argument ofddRegTrigger. Triggers that have lower priorities are called back before triggers that havehigher priorities. Each function registered for a single triggering event must have a uniquename. If you try to register a function with the same name as one already registered, theregistration function returns nil and the original function remains registered.

Having unnecessary functions registered can slow down performance, so unregisterfunctions you no longer need. The ddUnregTrigger function unregisters a trigger.

July 2004 695 Product Version 6.3

Page 696: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Setting Pretriggers and Posttriggers

A trigger that calls registered functions before the object is changed is called a pretrigger. Atrigger that calls the registered functions after the object is changed is called a posttrigger.

Pretriggers are generally created to prepare information or the user environment and areallowed to cause the function to fail, preventing execution of the body of the function.Posttriggers may not cause the function to fail and are expected to handle cleanup of userdata or other bookkeeping tasks.

Functions you attach to a pretrigger are passed the same arguments passed to theassociated PI function. Functions that you attach to a pretrigger should be written to returneither t or nil. If the value is nil, no further trigger functions are called and the associatedPI function is canceled.

Functions you attach to a posttrigger are passed the same arguments passed to theassociated PI function. In addition, the last argument is the value returned by the PI function.Posttrigger returns are ignored with the exception of the First Access Lib Trigger, which mustreturn t or nil.

Trigger Names Allowed

Each of the PI functions has a pretrigger and a posttrigger. The following trigger names areallowed:

Figure 3-2 PI Function Trigger Names

PI function Pretrigger name Posttrigger name

ddUpdateLibList() “PreUpdateLibList” “PostUpdateLibList”

ddGetStartup() “PreGetStartup” “PostGetStartup”

ddDeleteObj()ddDeleteLocal()

“PreDeleteObj” “PostDeleteObj”

ddCreateLib() “PreCreateLib” “PostCreateLib”

ddGetObj() “PreCreateObj” ’PostCreateObj”“FirstAccessLib” *

ddCheckin() “PreCheckin” ’PostCheckin”

ddCheckout() “PreCheckout” “PostCheckout”

ddGetObj() “PreObjAccess”

July 2004 696 Product Version 6.3

Page 697: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

* ddGetObj calls the “FirstAccessLib” trigger the first time it accesses a library in the librarylist.

Note: The names are case insensitive.

Adding a PreObjAccess Trigger to ddGetObj

The ObjAccess trigger is a pretrigger invoked to allow preparation of the user environment. Itis invoked each time any object is accessed.

Caution

The PreObjAccess should avoid calling ddGetObj() on any objectbecause it would be recursive and dangerous.

Registering a PreObjAccess Trigger

To register a trigger to be called by ddGetObj whenever access is requested for an object,use the following code:

ddRegTrigger( "PreObjAccess" ’exampleObjAccessTrigger )

where exampleObjAccessTrigger is the SKILL function that the user implements toperform the desired PreObjAccess operations.

The PreObjAccess trigger is called with the following arguments: t_libName,t_cellName, t_viewName, t_fileName, b_contextid, and t_mode. Forinformation on these arguments, see ddGetObj on page 719. The lib, cell, view, and file namearguments are in the name space of the calling application (for example, CDBA). ThePreObjAccess trigger may need to map these to the file system namespace by using thenmpCDBAToFilesys function. The PreObjAccess trigger must also resolve the namearguments with respect to any contextId argument passed to the ddGetObj call.

Note: The PreObjAccess trigger must return a Boolean value. If the return from the triggeris nil, the associated ddGetObj function is cancelled. The PreObjAccess trigger codeshould avoid calling ddGetObj() itself on any object. You should avoid calling the functionrecursively as it will cause debugging problems.

ddAutoCheckout() “PreAutoCheckout”

PI function Pretrigger name Posttrigger name

July 2004 697 Product Version 6.3

Page 698: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Adding a PreAutoCheckout Trigger to ddAutoCheckout

The PreAutoCheckout trigger is a pretrigger invoked to allow preparation of the userenvironment. It is invoked each time any object is accessed.

Registering a PreAutoCheckout Trigger

To register a trigger to be called by ddAutoCheckoutwhenever checkouts are requested foran object, use the following code:

ddRegTrigger( "PreAutoCheckout" ’exampleAutoCheckoutTrigger )

where exampleAutoCheckoutTrigger is the SKILL function that the user implementsto perform the desired PreAutoCheckout operations.

The PreAutoCheckout trigger is called with the following argument: l_ddId which is a list ofthe ddIds associated with the files that are being checked out. See ddAutoCheckout onpage 702 for details on this argument.

The PreAutoCheckout trigger must return a Boolean value. If the return from the trigger isnil, the associated ddAutoCheckout function is cancelled.

The ddAutoCheckout function supports triggers. PreAutoCheckout is a trigger. The DDPIinvokes the ddAutoCheckout pretrigger in this order:

■ Verifies that the ddAutoCheckout request includes at least one file to check out andreturns nil if there are any initialization problems

■ Verifies that the user has set the CDS_PROMPT_CKOUT flag

■ Verifies that the requested files for membership are in a co-managed set. If you requesta checkout of a member of a co-managed set (for example, a view file), the ddId of therequested file is replaced with the ddId of its parent object (for example, the ddId of theview)

■ Calls the ddAutoCheckout pretrigger

■ Verifies if the checkout is needed for each ddId

■ Executes the prompt as requested for each ddId

■ Performs the checkout if needed for each ddId

■ Returns an array of boolean values, matching the ddId of the objects passed in, showingTRUE if the object was successfully checked out, or did not need to be checked out, andFALSE if the checkout failed, or the user indicated no desire for checkout.

July 2004 698 Product Version 6.3

Page 699: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Design Management Functions

ddAmUsingDM

ddAmUsingDM(d_objId)=> t | nil

Description

Returns t if the library containing d_objId uses a Design Management system.

Arguments

d_objId ID of an object.

Value Returned

t The library containing d_objId uses a Design Managementsystem.

nil Object was not found or is not within a library under DesignManagement control.

ExampleddAmUsingDM( myViewFile ) => t

July 2004 699 Product Version 6.3

Page 700: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddAutoCheckin

ddAutoCheckin(l_ddIds[ g_isBatch( { t | nil } ) ])=> l_list

Description

Automatically checks in an object or list of objects. Note that objects in a temporary directorycannot be managed; this function skips objects that exist only in the library’s temporarydirectory and displays a warning for them.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

l_ddIds A ddId for a single object or a list of ddIds, which are the objectsthat should be checked in, if necessary. These objects can be acellview ID, a file within a cellview ID, or a file at either the libraryor cell level. The files can be from more than one library.

g_isBatch The batch override. Set to t if the application wants to forcebeing treated as a batch application, irrespective of whetherthere is a registered UI or not. Can be set to nil by virtually allapplications.

Value Returned

l_list A list of elements, all being t or nil, corresponding to each IDbeing checked in. The matching index will be set to TRUE if thecheckin was done successfully or if none was needed or if theuser rejected the checkin via the UI. The matching index will beset to FALSE if the checkin failed.

ddAutoCheckin prints a message if a checkin was performed stating what was checked in.ddAutoCheckin generates a warning if a file needed to be checked in, but could not be.ddAutoCheckin does not give a message at all if either the user aborted the checkin via theUI or no checkin was needed.

July 2004 700 Product Version 6.3

Page 701: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddAutoCheckin automatically prompts for all checkins if a registered UI is in place, aspecified file requires checkin, and the CDS_PROMPT_CKIN flag has been set. A file isdeemed as needing checkin if it was checked out in this session of this binary and has not yetbeen checked in.

July 2004 701 Product Version 6.3

Page 702: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddAutoCheckout

ddAutoCheckout(l_ddIds[ g_isBatch( { t | nil } ) ])=> l_list

Description

Automatically checks out an object or list of objects. Note that objects in a temporary directorycannot be managed; this function skips objects that exist only in the library’s temporarydirectory and displays a warning for them.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

l_ddIds A ddId for a single object or a list of ddIds, which are the objectsthat should be checked out, if necessary. These objects can bea cellview ID, a file within a cellview ID, or a file at either thelibrary or cell level. The files can be from more than one library.

g_isBatch The batch override. Set to TRUE if the application wants to forcebeing treated as a batch application irrespective of whether thereis a registered UI or not. Can be set to FALSE by virtually allapplications. It will be used by the SKILL “~>” operator in thecase of setting a propBag parameter in a bag that has not beencheckedout.

Value Returned

l_list A list of elements, all being t or nil, corresponding to each IDbeing checked out. The matching index will be set to TRUE if thecheckout was done successfully or if none was needed. Thematching index will be set to FALSE if either the checkout failedor a checkout was needed but the user refused to do it via theregistered UI.

ddAutoCheckout prints a message if a checkout was performed stating what wascheckedout. ddAutoCheckout generates a warning if a file needed to be checkedout but

July 2004 702 Product Version 6.3

Page 703: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

could not be. ddAutoCheckout does not give a message at all if either the user aborted thecheckout via the UI or no checkout was needed.

ddAutoCheckout automatically prompts for all checkouts if a registered UI is in place, aspecified file requires checkout, and the CDS_PROMPT_CKOUT flag has been set.

July 2004 703 Product Version 6.3

Page 704: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddAutoCtlGetVars

ddAutoCtlGetVars()=> l_settings

Description

Returns a list of four elements in the following order:

x_prompCkoutx_promptCkinx_AutoCkoutx_AutoCkin

Each element is a value from 0 through 3 as in ddAutoCtlSetVars. Each element canhave one of four values: 0 - none, 1 - views, 2 - files, 3 - both views and files.

Arguments

None.

Value Returned

Returns a list of four elements in the following order:

x_promptCkout Prompt for check out for views or files.

x_promptCkin Prompt for check in for views or files.

x_AutoCkout Automatically check out views or files.

x_AutoCkin Automatically check in views or files.

ExampleddAutoCtlGetVars() => (0 0 3 1)

Do not prompt for check out for any view or file, do not prompt for check in for any view or file,automatically checkout for both views and files, automatically check in views only

July 2004 704 Product Version 6.3

Page 705: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddAutoCtlSetVars

ddAutoCtlSetVars(x_promptCkoutx_promptCkinx_AutoCkoutx_AutoCkin)=> t

Description

Sets prompting and automatic check-in and check-out controls for files and views. Takes a listof four integers, each of which can be one of four values: 0 - none, 1 - views, 2 - files, 3 - bothviews and files. The integers are applied to indicate to the system to prompt for check out,prompt for check in, automatically check out, and automatically check in respectively.

Arguments

x_promptCkout Prompts check out for views or files.

x_promptCkin Prompts check in for views or files.

x_AutoCkout Automatically checks out views or files.

x_AutoCkin Automatically checks in views or files.

Each element is a value from 0 through 3 as mentioned above.

Value Returned

t Sets the matching index to the values specified.

Examples

Example 1ddAutoCtlSetVars (3 3 3 3)

Turns on prompt check out, prompt check in, automatic check out, and automatic check in forviews and files as shown in Example 1.

July 2004 705 Product Version 6.3

Page 706: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Example 2ddAutoCtlSetVars (0 0 3 3)

Alternatively, you can also turn off prompt check out or prompt check in for files and views,but turn on automatic check out and automatic check in for files and views as shown in thisexample.

Example 3ddAutoCtlSetVars (0 0 3 0)

Or, you can also turn off prompt check out and prompt check in for files and views, turn onautomatic check out of files and views, but, turn off automatic check in of files and views asshown in this example. The 4.3.4 version of Design Framework II defaults to this setting.

July 2004 706 Product Version 6.3

Page 707: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCheckin

ddCheckin(g_filest_description[ t_switches ])=> t | nil

Description

Checks in the new version of the checked-out and modified data files. Builds a systemcommand that invokes the gdmci command. ddCheckin makes it possible to integrateCadence tools with other design management software.

Arguments

g_files A single ddId or a list of ddIds of files to be checked in. The filescan be from more than one library.

t_description Description of what you changed after you checked out the file.

t_switches Cancels the checkout of the named files.Valid Value: c .

Value Returned

t The checkin succeeded.

nil Execution of the function failed.

ExampleddCheckin( viewId "fixed short" ) => t

July 2004 707 Product Version 6.3

Page 708: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCheckout

ddCheckout(g_files[ t_switches ])=> t | nil

Description

Checks out a version of the files. No version of a cellview can be checked out by any useruntil any version that is currently checked out is checked in. Builds a system command thatinvokes the gdmco command. ddCheckout makes it possible to integrate Cadence toolswith other design management software.

Arguments

g_files A single ddID or a list of ddIDs of files to be checked out. The filescan be from more than one library.

t_switches Checks out files as read-only (r) or specifies a particular versionof the file to check out (v). You must always follow this switch withthe version of the file to check out.

Value Returned

t The checkout succeeded.

nil Execution of the function failed.

ExamplesddCheckout( viewId "rv1.1" ) => t

ddCheckout( filesList ) => t

July 2004 708 Product Version 6.3

Page 709: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddClearLibUnmanaged

ddClearLibUnmanaged(b_libId)=> t | nil

Description

Removes any DMTYPE entry from the cdsinfo.tag file in the library directory. This willallow the default value for DMTYPE to be used for this library.

For more information about the cdsinfo.tag file, see the Cadence ApplicationInfrastructure User Guide.

Also see ddSetLibUnmanaged, ddIsPathManagable, ddIsPathManaged,ddAmUsingDm, ddCheckin.

Arguments

b_libId The ID of a library object.

Value Returned

t The DMTYPE is removed.

nil The DMTYPE is not removed.

July 2004 709 Product Version 6.3

Page 710: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCreateLib

ddCreateLib(t_libName[ t_libPath ])=> d_ddId

Description

Searches for the named library in the library list.

If the library does not exist, ddCreateLib creates the corresponding directory and adds theDEFINE command to the library list file (it uses ddUpdateLibList’s search to find thecds.lib file and, if that file is not in the current working directory, it creates a new cds.libfile in the current working directory and adds the DEFINE statement to it as well as anINCLUDE statement to include the file found by ddUpdateLibList’s search). Finally, ifsuccessful, returns the ID of the new library.

If you are operating in a TDM workarea and if ddCreateLib creates a cds.lib file underthe workarea, it inserts a SOFTINCLUDE tdm.lib statement in the file.

If you do not include t_libPath, DDPI uses the current working directory and libNameto make a path (cwd/libName). If you specify a leaf name (one without embeddedseparators), DDPI makes a path out of that name and the current working directory (cwd/libPath). If you specify “.” or “..”, DDPI does the same as for NULL.

A library can use one DM system, TDM, or another user-specified design manager. Thecdsinfo.tag file keeps track of which design management system is managing a library.This file resides in the library directory. It contains one string, which is the name of the designmanagement system.

ddCreateLib calls back trigger functions registered on the triggers PreCreateLib andPostCreateLib.

Arguments

t_libName Name of the library to create.

t_libPath Absolute or relative directory name where the library is created.A relative path is interpreted relative to the current directory. Ift_libPath is omitted, nil, or an empty string (" "), the libraryis created in the current working directory.

July 2004 710 Product Version 6.3

Page 711: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Value Returned

d_ddId The ID of the library.

ExampleTTL7400libraryId = ddCreateLib( "TTL7400_series" )

July 2004 711 Product Version 6.3

Page 712: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddDeleteObj

ddDeleteObj(b_objectId)=> t | nil

Description

Deletes b_objectId from the disk.

If b_objectId is a library, this function deletes the library directory from the disk andremoves the library entry from the cds.lib file. If the library has a temporary directoryassociated with it, ddDeleteObj adds an UNASSIGN statement to the cds.lib file tounassign the TMP attribute from the library; it does not delete the temporary directory from thedisk. Also, if the library has been defined in more than one cds.lib, ddDeleteObj doesnot delete the library from the disk; instead, it adds an UNDEFINE statement for the library tothe appropriate cds.lib file.

If b_objectID is of any other type, ddDeleteObj removes the object from disk from eitherthe master directory or the temporary directory, depending on which one it exists in, or fromboth, if it exists in both.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

If the object's library is under DM control, ddDeleteObj will call cdmdelete to do thedeletion. cdmdelete will call the appropriate DM system's calls. In the case of a TDMcontrolled library, tdmdelete will be called with

tdmdelete -i -fromrelease -u

so that the previous versions of the object are kept, but the object will not show up if you doa tdmupdate.

If you delete a directory object, ddDeleteObj tries to get an exclusive lock, in non-blockingmode, on every data file in the hierarchy under that directory. If it fails to get any lock, it knowsthat another process is using that file. It therefore cannot delete the object, and it fails.

ddDeleteObj has two triggers : PreDeleteObj and PostDeleteObj. The objectId's ofdeleted objects in virtual memory remain valid until after the return from PostDeleteObjtriggers, so you can use PI functions (for cleanup) that require an ID. If you call ddDeleteObjon a directory object that contains children, ddDeleteObj calls the pre- and posttriggersonce for each of the child objects that has an ID in virtual memory.

July 2004 712 Product Version 6.3

Page 713: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Arguments

b_objectId Object identifier returned by ddCreateLib or ddGetObj.

Value Returned

t Execution of the function succeeded.

nil Execution of the function failed.

ExampleddDeleteObj( TTL7400libraryId ) => t

July 2004 713 Product Version 6.3

Page 714: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddDeleteLocal

ddDeleteLocal(b_objectId)=> t | nil

Description

Removes b_objectId from the local workarea. ddDeleteLocal should not be called onobjects which may be under TDM control, because the objects would just show up again if atdmupdate were done.

ddDeleteLocal has two triggers: PreDeleteObj and PostDeleteObj. The object IDs ofdeleted objects in virtual memory remain valid until after the return from PostDeleteObjtriggers, so you can use PI functions (for cleanup) that require an ID. If you callddDeleteLocal on a directory object that contains children, ddDeleteLocal calls the pre-and posttriggers once for each of the child objects that has an ID in virtual memory.

Arguments

b_objectId Object identifier returned by ddCreateLib or ddGetObj.

Value Returned

t Execution of the function succeeded.

nil Execution of the function failed.

ExampleddDeleteLocal( TTL7400libraryId ) => t

July 2004 714 Product Version 6.3

Page 715: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddDumpLibList

ddDumpLibList()=> t

Description

Prints information about the library list. It first prints the list of library files (cds.lib files) andthen prints information about each library in the library list. This includes the path to the libraryand the path to TMP directories, if any.

By default, information about the libraries is printed in the order in which the libraries appearin the cds.lib files, unless the environment variable DD_GEN_ORDERED_LIBLIST is set tofalse, in which case the order is random.

Note: In CDBA, cdsDefTechLib is always added to the library list andinternal_implicit is always added to the list of library files.

Arguments

None.

Value Returned

t Information about the library list is printed.

Example

If you have the following cds.lib:

/tmp/TESTDIR/cds.lib

which has the following contents:

DEFINE LibA ./LibADEFINE LibB ./LibB

ddDumpLibList prints the following information:

Lib Files:1: /tmp/TESTDIR/cds.lib

Libraries defined:1: LibA from file /tmp/TESTDIR/cds.lib (refCount 1).

Path: /tmp/TESTDIR/LibA

July 2004 715 Product Version 6.3

Page 716: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

2: LibB from file /tmp/TESTDIR/cds.lib (refCount 1).Path: /tmp/TESTDIR/LibB

where refCount is the number of cds.lib files that contain that library definition.

July 2004 716 Product Version 6.3

Page 717: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetForcedLib

ddGetForcedLib(t_path)=> t | nil

Description

Returns the path to the cds.lib file that was forced by using either the -cdslib argumentto the executable or by using ddSetForcedLib.

Arguments

t_path The path to the cds.lib file you want to use.

Value Returned

t The path to the cds.lib file is valid.

nil The path to the cds.lib file is not valid.

ExampleddGetForcedLib( "/user/library/cds.lib" ) => t

July 2004 717 Product Version 6.3

Page 718: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetLibList

ddGetLibList()=> l_libNamePath | nil

Description

Generates a list of the libraries in the libList.

Arguments

None.

Value Returned

l_libNamePath A list with one element for each library in the libList. Eachelement of l_libNamePath is the ddId of a library.

nil Execution of the function failed.

ExamplesddGetLibList( ) => (dd:2543240 dd:2611120 )

(ddGetLibList) ~> name => ("cdsDefTechLib" "l3")

July 2004 718 Product Version 6.3

Page 719: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObj

ddGetObj({ t_libName/nil }[ t_cellName/nil ][ t_viewName/nil ][ t_fileName/nil ][ b_contextId/nil ][ t_mode ])=> b_ddId

Description

Finds libraries, cells, views, and files, and creates cells, views, and files (you useddCreateLib to create libraries).

ddGetObj is re-entrant; you can call if from inside a PreCreateObj or a PostCreateObj triggerfunction.

Any time you create a file using ddGetObj, you should pair that call with a call toddReleaseObj.

If the file you want is a CDBA cellview, do not use ddGetObj. UsedbOpenCellViewByType (see dbOpenCellViewByType), which will call ddGetObj foryou.

ddGetObj can call triggers on FirstAccessLib, PreCreateObj, PostCreateObj, andPreObjAccess.

Triggers Time invoked

FirstAccessLib A post-trigger invoked the first time you access any object in eachlibrary. It gets invoked once per library (unlessddUpdateLibList changes the library's path). Posttriggers maynot cause the function to fail and are expected to handle cleanupof user data or other bookkeeping tasks.

PreCreateObj Invoked just before DDPI creates an object.

PostCreateObj Invoked just after DDPI creates an object. The trigger will not becalled when a cell is re-created or overwritten.

PreObjAccess A pretrigger invoked to allow preparation of the user environment.It is invoked each time any object is accessed.

July 2004 719 Product Version 6.3

Page 720: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

DDPI defines ddGetObj's behavior using the following concepts:

■ A master file is a file that the writing application believes to contain source data or datathat cannot be recreated without user input. There can be only one master file per view.The master file may be identified by one of the following mechanisms:

❑ It is the only file belonging to the library, cell, or view.

❑ There is a file belonging to the view named master.tag containing the name of themaster file.

■ A co-master file is a file that the writing application believes to contain source data or datathat cannot be recreated without user input, but it is useless without the master. Forexample, an index for the master file; sheets of a multi-sheet schematic, where the indexis the master; or separation of graphics and property data into separate files.

■ If a file is not a master or a co-master, it is a derived file. Derived files can be recreatedfrom master files, or master and co-master files, in the same view. Only the creating toolcan distinguish between masters or co-masters and derived files.

❑ To access a derived file correctly, the tool must specify b_contextId for themaster. If writing or appending to the file, use the “d” modifier in t_mode. UseddMarkObjMaster to change the master file in a view.

■ A file's relative name is specified relative to a library. The name consists of [/cellName[/viewName]]/fileName. Files can belong to the library, cell, or view.

❑ ddGetObj searches for the object under your specified library until it finds the firstoccurrence of the relative named object. If you requested read access, the functionis done and returns an ID. It is an error if the tool does not have read access to thatobject.

❑ If you request any other access mode, ddGetObj first tries to find the object as inread mode, then proceeds differently depending upon whether or not the file exists.

■ If a library has a temporary directory (defined by putting a TMP attribute on a library withan ASSIGN statement in a cds.lib file), the following rules apply:

❑ While reading data, ddGetObj looks for the data in the temporary directory first. Ifit is not found in the temporary directory, it looks for it in the library (the library is alsoreferred to as the master directory).

❑ ddGetObj always saves or creates master or co-master files in the library,regardless of whether a temporary directory exists. This is because a temporarydirectory can only contain derived data, it cannot contain source data.

July 2004 720 Product Version 6.3

Page 721: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

❑ ddGetObj always saves or creates derived files in the temporary directory. Itcreates cell or view directories as needed. A temporary directory has the samedirectory structure (library/cell/view) as the library.

Note: The TMP attribute is only available for CDBA libraries, it is not available forOpenAccess libraries.

ddGetObj takes string names instead of ddIds as the input for its query because you use itto locate objects when you do not yet have their ddIds. You can supply a context objectinstead of specifying some of the names. DDPI takes the missing names from the contextobject for the query.

Arguments

t_libName The library name to find the object you want. The named librarymust appear in the libList. If you do not specify t_libName(by specifying nil or "") but you do specify b_contextId,DDPI takes the libName from the context object.

t_cellName The name of a cell in the path to the object you are looking for.ddGetObj looks for the cell in t_libName. If you do not specifyt_cellName (by specifying nil or "") but you specifyb_contextId, DDPI takes the cellname from the contextobject.

t_viewName The name of a view in the path to the object you are looking for.ddGetObj looks for the view in t_libName, t_cellName. Ifyou do not specify t_viewName, but you do specifyb_contextId, DDPI takes the viewName from the contextobject.

Note: t_viewName may be a space-separated list of viewnames. If you use this option, then each time DDPI visits a placeto look for an object, it looks for one with successive viewnamesfrom the list. DDPI returns successfully if it finds a match with anyof the viewnames. Thus you can prioritize which view to look forfirst by ordering the view list. DDPI checks all the views in eachplace. It does not repeat the entire search for each view.

t_fileName The name of the file object that you are looking for. ddGetObjlooks for the file in t_libname only.

July 2004 721 Product Version 6.3

Page 722: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

For the convenience of applications like the design editor, de,(which need to find a master file without knowing the file's name),you can specify an asterisk (*) that opens the master filebelonging to the view. This feature works only for viewfiles. Inaddition, if you know the file’s name and its extension or a patternof trailing characters, you can specify the filename as*pattern, for example, *arch.vhd, and it will return themaster file that matches that pattern.

b_contextId You can specify a contextId object to take the library, cell,and/or view names from. This parameter provides an easy wayto find an object that is in the same directory or has the sameparents as some other object.

July 2004 722 Product Version 6.3

Page 723: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

t_mode A string representing the access mode desired. Controls sideeffects of ddGetObj. Valid values:r Gets the ID of an existing object in the specified library.

If the library has a temporary directory, looks in thetemporary directory first; if the object is not found inthe temporary directory, looks in the library (the masterdirectory)

w Gets the ID of a new object to be created. This optionis for creating master data. If the object is the first filein a view, it is marked as the master object. This will failif a master object already exists in the specified view.

The object is created in the master directoryregardless of whether the library has a temporarydirectory and whether the object already exists in thetemporary directory.

wc This option is for creating co-master data and is similarto w except that if the object is a viewfile, it is createdwithout marking it as a master object. This willsucceed even if there is a master object in the view.

The object is created in the master directoryregardless of whether the library has a temporarydirectory and whether the object already exists in thetemporary directory.

wd This option is for creating derived data and is similar tow except that the object is created only if the objectspecified by b_contextId is a master. This file isco-located with the master object, unless there is atemporary directory for the library. If there is atemporary directory, the file is created in thecorresponding cell/view in the temporary directory,regardless of whether it already exists in the masterdirectory.

a Gets the ID of an existing object in the specified library.You can open it for modification. The object will becreated if it does not exist.

The object is created regardless of whether the libraryhas a temporary directory and whether the objectalready exists in the temporary directory.

July 2004 723 Product Version 6.3

Page 724: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Default: r (read)

ddGetObj creates new cells, views, and files as a side-effect to w, wd, a or admode requestswhen the object is created. It also calls the BeforeCreateObj and AfterCreateObjtriggers, so you can know when it does this. You need to use ddCreateLib to create libraries.

To create a file, use ddGetObj to create the file ID, followed byfopen(ddGetObjWritePath(fileDdId), “w”)or a storage manager equivalent.Register an AfterCreateObj trigger if you want to avoid doing an fstat to see if the PIcreated an empty file for you.

ad Gets the ID of an existing derived object in thespecified library. You can open it for modification. Theobject will be created if it does not exist and behavesthe same as wd.

If the library has a temporary directory, the derivedobject is always saved or created in the temporarydirectory, regardless of whether it already exists in themaster directory.

To create or access: You need to specify these fields:

a library t_libName or b_contextId.

a library’s file t_libName* or b_contextId and t_fileName.

a cell t_libName* or b_contextId and t_cellName.

a cell’s file t_libName, t_cellName, and t_fileName orb_contextId (of a library), t_cellName,t_fileName or b_contextId (of an object below the cell),t_fileName.

a view t_libName*, t_cellName*, and t_viewName orb_contextId (of a library), t_cellName, andt_viewName or b_contextId (of an object below the cell,and t_viewName.

a view’s file t_libName,t_cellName,t_viewName,andt_fileName or b_contextId (of a library),t_cellName,t_viewName, and t_fileName orb_contextId (of an object below the cell), t_viewName,and t_fileName or b_contextId (of a view), andt_fileName.

July 2004 724 Product Version 6.3

Page 725: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Value Returned

b_ddId An ID for the requested object.

nil The object could not be found.

ExamplefileId = ddGetObj("myLib" "myCell" "myView" "myFile" nil "r")

cellId = ddGetObj("myLib" "myCell")

viewId = ddGetObj(nil nil "myView" nil cellId)

* If a contextId is specified, this field does not need to be specified. However, thelibName MUST NOT be specified if a contextId is specified.

July 2004 725 Product Version 6.3

Page 726: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjAccess

ddGetObjAccess(b_objIdt_which)=> t_access | nil

Description

Retrieves the UNIX access rights of the person specified by t_which to the objectdesignated by b_objId.

If the library containing the object has a temporary directory, this function looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object itself is a library, this function returns information about the library, not itstemporary directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddGetObjAccessEx – CDBA only.

Arguments

b_objId Object ID returned by ddCreateLib or ddGetObj.

t_which The values for which may be o (owner), g (group), and p(public).

Value Returned

t_access A string consisting of the letters r, w, and x corresponding toUNIX usage.

nil The string is empty if there are no permissions.

ExampleddGetObjAccess( TTL7400libraryId "o" ) => "rwx"

July 2004 726 Product Version 6.3

Page 727: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ReferenceddGetObjAccessEx – CDBA only

July 2004 727 Product Version 6.3

Page 728: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjAccessEx – CDBA only

ddGetObjAccessEx(b_objIdt_whichx_pathType)=> t_access | nil

Description

Retrieves the UNIX access rights of the person specified by t_which to the objectdesignated by b_objId. This function is similar to ddGetObjAccess except that you canspecify whether to look for the object in the temporary directory or the master directory, orboth, with the x_pathType argument.

Arguments

b_objId Object ID returned by ddCreateLib or ddGetObj.

t_which One of the following values: o (owner), g (group), or p (public).

x_pathType One of the following integer values:

Value Returned

t_access A string consisting of the letters r, w, and x corresponding toUNIX usage.

nil There are no permissions.

ReferenceddGetObjAccess

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 728 Product Version 6.3

Page 729: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjChildren

ddGetObjChildren(b_objId)=> l_children | nil

Description

Returns the children of b_objId. This includes all the objects in both the temporary andmaster directories.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddGetObjChildrenEx – CDBA only.

Arguments

b_objId Object identifier returned by ddCreateLib or ddGetObj.

Value Returned

l_children The IDs of the children of b_objId.

nil b_objId does not exist or does not have any children.

Examplel = ddGetObj( "l1" )

ch = ddGetObjChildren( l ) => (dd:2660660 dd:2660628)

ch ~> name => ("c2" "c1")

ReferenceddGetObjChildrenEx – CDBA only

July 2004 729 Product Version 6.3

Page 730: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjChildrenEx – CDBA only

ddGetObjChildrenEx(b_objIdx_pathType)=> l_children | nil

Description

Returns the children of b_objId. This function is similar to ddGetObjChildren exceptthat you can specify whether to look for the object in the temporary directory or the masterdirectory, or both, with the x_pathType argument.

Arguments

b_objId Object ID returned by ddCreateLib or ddGetObj.

x_pathType One of the following integer values:

Value Returned

l_children The IDs of the children of b_objId.

nil b_objId does not exist or does not have any children.

ReferenceddGetObjChildren

0 Looks for the object only in the master directory and,if found, returns the children from the masterdirectory only

1 Looks for the object only in the temporary directoryand, if found, returns the children from the temporarydirectory only

2 Returns all the children in both the master andtemporary directories

July 2004 730 Product Version 6.3

Page 731: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjDMSys

ddGetObjDMSys(b_objId)=> t_sysName | nil

Description

Returns the name of the Design Management system of b_objId.

Arguments

b_objId Object identifier returned by ddCreateLib or ddGetObj.

Value Returned

t_sysName The name of the Design Management system.

nil The Design Management system name could not be found.

ExampleddGetObjDMSys( myView )

=> "tdm"

July 2004 731 Product Version 6.3

Page 732: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjFiles

ddGetObjFiles(b_objId)=> l_files | nil

Description

Lists all the files found in the object. This includes files found in both the master andtemporary directories.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddGetObjFilesEx – CDBA only.

Arguments

b_objId Object identifier returned by ddCreateLib or ddGetObj.

Value Returned

l_files All of the files connected to the specified object.

nil No files were found.

Examplel = ddGetObj( "l1" )

fl = ddGetObjFiles( l ) => (dd:2660732 dd:2660692)

fl ~> name => ( "test.ckpt" "cdsinfo.tag" )

ReferenceddGetObjFilesEx – CDBA only

July 2004 732 Product Version 6.3

Page 733: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjFilesEx – CDBA only

ddGetObjFilesEx(b_objIdx_pathType)=> l_files | nil

Description

Lists all the files found in the object. This function is similar to ddGetObjFiles except thatyou can specify whether to look for the object in the temporary directory or the masterdirectory, or both, with the x_pathType argument.

Arguments

b_objId Object identifier returned by ddCreateLib or ddGetObj.

x_pathType One of the following integer values:

Value Returned

l_files All of the files connected to the specified object.

nil No files were found.

ReferenceddGetObjFiles

0 Looks for the object only in the master directory and,if found, returns the list of files only from the masterdirectory

1 Looks for the object only in the temporary directoryand, if found, returns the list of files only from thetemporary directory

2 Returns the list of files from both the master andtemporary directories

July 2004 733 Product Version 6.3

Page 734: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjGroup

ddGetObjGroup(b_objId)=> x_int | nil

Description

Retrieves the UNIX group ID of b_objId as an integer.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object itself is a library, this function returns information about the library, not itstemporary directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddGetObjGroupEx – CDBA only.

Arguments

b_objId Object identifier returned by ddCreateLib or ddGetObj.

Value Returned

x_int The group ID as an integer.

nil No group was found.

ExampleddGetObjGroup( l ) => 12

ReferenceddGetObjGroupEx – CDBA only

July 2004 734 Product Version 6.3

Page 735: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjGroupEx – CDBA only

ddGetObjGroupEx(b_objIdx_pathType)=> x_int | nil

Description

Retrieves the UNIX group ID of b_objId as an integer. This function is similar toddGetObjGroupEx except that you can specify whether to look for the object in thetemporary directory or the master directory, or both, with the x_pathType argument.

Arguments

b_objId Object identifier returned by ddCreateLib or ddGetObj.

x_pathType One of the following integer values:

Value Returned

x_int The group ID as an integer.

nil No group was found.

ReferenceddGetObjGroup

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 735 Product Version 6.3

Page 736: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjLastModify

ddGetObjLastModify(b_objId)=> t_time | nil

Description

Returns the last-modified time from the directory or file associated with b_objId.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object itself is a library, this function returns information about the library, not itstemporary directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddGetObjLastModifyEx – CDBA only.

Arguments

b_objId ID of the object.

Value Returned

t_time The last time the object was modified.

nil Object was not found.

ExampleddGetObjLastModify( l ) => "Jan 16 10:45:10 1996"

ReferenceddGetObjLastModifyEx – CDBA only

July 2004 736 Product Version 6.3

Page 737: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjLastModifyEx – CDBA only

ddGetObjLastModifyEx(b_objIdx_pathType)=> t_time | nil

Description

Returns the last-modified time from the directory or file associated with b_objId. Thisfunction is similar to ddGetObjLastModify except that you can specify whether to look forthe object in the temporary directory or the master directory, or both, with the x_pathTypeargument.

Arguments

b_objId Object ID returned by ddCreateLib or ddGetObj.

x_pathType One of the following integer values:

Value Returned

t_time The last time the object was modified.

nil Object was not found.

ReferenceddGetObjLastModify

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 737 Product Version 6.3

Page 738: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjLib

ddGetObjLib(b_objId)=> t_lib | nil

Description

Finds the ID of the library object that contains it b_objId. If the object is a library, it returnsthe same ID.

Arguments

b_objId ID of the object.

Value Returned

t_lib The library ID.

nil Object was not found.

ExamplelibId = ddGetObjLib( cellId ) => dd:2544064

libId ~> name => "l1"

July 2004 738 Product Version 6.3

Page 739: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjName

ddGetObjName(b_objId)=> t_name | nil

Description

Returns the name of b_objId.

Arguments

b_objId ID of the object.

Value Returned

t_name Name of the object.

nil Object was not found.

ExampleddGetObjName( l ) => "l1"

July 2004 739 Product Version 6.3

Page 740: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjOwner

ddGetObjOwner(b_objId)=> t_owner | nil

Description

Retrieves the UNIX owner name of b_objId.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object itself is a library, this function returns information about the library, not itstemporary directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddGetObjOwnerEx – CDBA only.

Arguments

b_objId ID of the object.

Value Returned

t_owner The owner’s name.

nil An invalid object ID was given.

ExampleddGetObjOwner( l ) => "guest"

ReferenceddGetObjOwnerEx – CDBA only

July 2004 740 Product Version 6.3

Page 741: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjOwnerEx – CDBA only

ddGetObjOwnerEx(b_objIdx_pathType)=> t_owner | nil

Description

Retrieves the UNIX owner name of b_objId. This function is similar to ddGetObjOwnerexcept that you can specify whether to look for the object in the temporary directory or themaster directory, or both, with the x_pathType argument.

Arguments

b_objId ID of the object.

x_pathType One of the following integer values:

Value Returned

t_owner The owner’s name.

nil An invalid object ID was given.

ReferenceddGetObjOwner

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 741 Product Version 6.3

Page 742: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjParent

ddGetObjParent(b_objId)=> b_parent | nil

Description

Returns the ID of the logical (often physical as well) owner-object od b_objId. For a file, itis the library, cell, or view. For a view, it is the cell. For the cell, it is the library. For the library,it is the library itself.

Arguments

b_objId ID of the object.

Value Returned

b_parent The ID of the parent of the specified object.

nil Object was not found.

Examplep = ddGetObjParent( cell1 ) => dd:2544064

July 2004 742 Product Version 6.3

Page 743: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjReadPath

ddGetObjReadPath(b_objId)=> t_path | nil

Description

Returns the read path to b_objId.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object is a library, this function returns the path to the library, not to the temporarydirectory.

If you want to read the file, get its read path. If you want to write the file, get its write path.

See also ddGetObjReadPathEx – CDBA only.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

b_objId ID of the object.

Value Returned

t_path The read path to b_objId.

nil Object was not found.

Examplef = ddGetObjReadPath( file1 ) => "/tmp/l1.lib/c1/v1/sch.cdb"

ReferenceddGetObjReadPathEx – CDBA only

July 2004 743 Product Version 6.3

Page 744: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjReadPathEx – CDBA only

ddGetObjReadPathEx(b_objIdx_pathType)=> t_path | nil

Description

Returns the read path to b_objId. This function is similar to ddGetObjReadPath exceptthat you can specify whether to look for the object in the temporary directory or the masterdirectory with the x_pathType argument.

Arguments

b_objId ID of the object.

x_pathType One of the following integer values:

Value Returned

t_path The read path to b_objId.

nil The object was not found.

ReferenceddGetObjReadPath

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns the readpath to the library itself (the master directory), not itstemporary directory.

July 2004 744 Product Version 6.3

Page 745: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjSize

ddGetObjSize(b_objId)=> x_size | -1

Description

Returns the length of b_objId in bytes.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object itself is a library, this function returns information about the library, not itstemporary directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddGetObjSizeEx – CDBA only.

Arguments

b_objId ID of a file object.

Value Returned

x_size The file length, in bytes.

-1 The object is not a file object.

ExampleddGetObjSize( myViewFile ) => 1705

ReferenceddGetObjSizeEx – CDBA only

July 2004 745 Product Version 6.3

Page 746: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjSizeEx – CDBA only

ddGetObjSizeEx(b_objIdx_pathType)=> x_size | -1

Description

Returns the length of b_objId in bytes. This function is similar to ddGetObjSize exceptthat you can specify whether to look for the object in the temporary directory or the masterdirectory, or both, with the x_pathType argument.

Arguments

b_objId ID of a file object.

x_pathType One of the following integer values:

Value Returned

x_size The file length, in bytes.

-1 The object is not a file object.

ReferenceddGetObjSize

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 746 Product Version 6.3

Page 747: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjType

ddGetObjType(b_objId)=> s_ddType | nil

Description

Returns the ddType of b_objId.

Arguments

b_objId ID of the object.

Value Returned

s_ddType The ddType of the object.

nil Object was not found.

ExampleddGetObjType( f ) => ddViewFileType

where the possible types are

Type The ID represents

ddLibType a library

ddCellType a cell within a library

ddViewType a view within a cell

ddLibFileType a file in the library directory

ddCellFileType a file in the cell directory

ddViewFileType a file in the view directory

July 2004 747 Product Version 6.3

Page 748: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjWritePath

ddGetObjWritePath(b_objId)=> t_path | nil

Description

Returns the write path to b_objId.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object is a library, this function returns the path to the library, not to the temporarydirectory.

If you want to read the file, get its read path. If you want to write the file, get its write path.

See also ddGetObjWritePathEx – CDBA only.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

b_objId ID of the object.

Value Returned

t_path The write path of b_objId.

nil Object was not found.

ExampleddGetObjWritePath( f ) => "/tmp/l1.lib/c1/v1/sch.cdb"

ReferenceddGetObjWritePathEx – CDBA only

July 2004 748 Product Version 6.3

Page 749: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetObjWritePathEx – CDBA only

ddGetObjWritePathEx(b_objIdx_pathType)=> t_path | nil

Description

Returns the write path to b_objId. This function is similar to ddGetObjWritePath exceptthat you can specify whether to look for the object in the temporary directory or the masterdirectory, or both, with the x_pathType argument.

Arguments

b_objId ID of the object.

x_pathType One of the following integer values:

Value Returned

t_path The write path of b_objId.

nil The object was not found.

ReferenceddGetObjWritePath

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns the path tothe library itself (the master directory), not to itstemporary directory.

July 2004 749 Product Version 6.3

Page 750: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetPathDMSys

ddGetPathDMSys(t_path)=> t_dmSysStrin

Description

Takes a string that is the path to a file or directory and either returns the string name of thedesign management system that manages that path or returns none if no designmanagement system is in use for that path.

Arguments

t_ path The path name of the file or directory.

Value Returned

nil Object was not found.

tdm The name of the system.

ExampleddGetPathDMSys("/usr/home/libs/libx/cell") returns tdm

July 2004 750 Product Version 6.3

Page 751: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetStartup

ddGetStartup(t_fileName[ b_contextId ])=> t_filePath | nil

Description

Looks for t_fileName in each standard place, and if it is not there, in stdPlace/share/cdssetup.

The standard places are usually

1. The workarea if there is one, else the current working directory

2. $HOME

3. The project (if TDM is in use)

4. $CDS_SITE, if it has been defined

5. $CDS_INST_DIR, if it has been defined

6. The installation directory

ddGetStartup calls trigger functions registered on the triggers PreGetStartup andPostGetStartup.

Arguments

t_fileName The first filename found.

b_contextId The function changes the working directory to the one implied byb_contextId (if it differs from the current working directory).

Value Returned

t_filePath The path to the first file found.

nil The filename was not found.

July 2004 751 Product Version 6.3

Page 752: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ExampleddGetStartup( "cds.lib" )=> "/home/guest/cadence/cds.lib"

July 2004 752 Product Version 6.3

Page 753: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetTmpdirWarn

ddGetTmpdirWarn()=> t | nil

Description

Returns the current setting used to suppress or print a warning message for an ASSIGNstatement with attribute TMP that appears in cds.lib files. The TMP attribute defines atemporary storage directory for a read-only or reference library. If you set the DD_TMPDIR_ONenvironment variable to NO, the temporary directory functionality is turned off and DDPI skipsASSIGN and UNASSIGN statements when parsing cds.lib files and, by default, prints thefollowing warning:WARNING ‘<PATH_TO_CDSLIB_FILE>/cds.lib’, Line 3: skipping: ’ASSIGN’lib1 TMP /tmpYou can change the setting for printing or suppressing warnings with the ddSetTmpdirWarnfunction.

Note: This function does not apply to OpenAccess ddpi.

Arguments

None

Value Returned

t Current setting is set to t, implying that the warning will beprinted.

nil Current setting is set to nil, implying that the warning will besuppressed.

ExampleddGetTmpdirWarn() returns t if value is set to print warning(Example: by ddSetTmpdirWarn(t) or by default)

ddGetTmpdirWarn() returns nil if value is set to supress warning(Example: by ddSetTmpdirWarn(nil))

July 2004 753 Product Version 6.3

Page 754: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetTriggerList

ddGetTriggerList(t_triggerName)=> l_triggerFunc

Description

Returns a list of functions registered to be executed when t_triggerName is activated.

Arguments

t_triggerName The pre- or posttrigger name.

Value Returned

l_triggerFunc A list of trigger function descriptions, in the format

function The trigger function name.t/nil Indicating whether the function is a SKILL

function (t = SKILL).integer The function priority.

ExampleddGetTriggerList( "preupdateliblist" )=> (( "testUpdateLibListPreTrigger" t 2147483647 ))

July 2004 754 Product Version 6.3

Page 755: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddGetUpdatedLib

ddGetUpdatedLib()=> t_filePath

Description

Returns the path to the cds.lib file that was last used by ddUpdateLibList. This is thesame as ddGetForcedLib if a forced library was in effect.

Otherwise, it is the same as ddGetStartup("cds.lib") would have returned when theddUpdateLibList started.

Arguments

None.

Value Returned

t_filePath The path to the cds.lib file that was last used byddUpdateLibList.

ExampleddGetUpdatedLib( )=> "/install/home/cds.lib"

July 2004 755 Product Version 6.3

Page 756: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsId

ddIsId(b_objId)=> t | nil

Description

Returns t if b_objId is a 32-bit opaque ID known to the PI, and nil otherwise. Some ddfunctions will accept nil as the ID parameter, but this function returns nil if the argumentis nil.

Arguments

b_objId ID of the object.

Value Returned

t b_objId is a 32-bit opaque ID known to the PI.

nil The argument is not a valid ddId.

ExampleddIsId( myCell ) => t

July 2004 756 Product Version 6.3

Page 757: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsObjLibMarked

ddIsObjLibMarked(b_objId)=> t | nil

Description

Returns t if the library that owns b_objId is marked to be deleted or its path is changed.

This can only happen while ddUpdateLibList is in progress. Use ddIsObjLibMarked incallbacks you install on the PreUpdateLibList trigger. This lets your pretrigger function see ifthe library ID that you got from a PI function will exist after the ddUpdateLibList functionthat is in progress commits its changes.

Use this callback to check if any of your open files or cellviews need to be saved or deleted,or if you want to cancel the update.

Arguments

b_objId ID of the object.

Value Returned

t The library that owns b_objId is marked to be deleted or itspath is changed.

nil The object could not be found, or the object is not marked.

ExampleddIsObjLibMarked( myCell ) => t

July 2004 757 Product Version 6.3

Page 758: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsObjReadable

ddIsObjReadable(b_objId)=> t | nil

Description

Returns t if the object specified by b_objId can be read by the current process.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object itself is a library, this function returns information about the library, not itstemporary directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddIsObjReadableEx – CDBA only.

Arguments

b_objId ID of the object.

Value Returned

t b_objId can be read by the current process.

nil Object was not found or is not readable.

ExampleddIsObjReadable( myViewFile ) => t

ReferenceddIsObjReadableEx – CDBA only

July 2004 758 Product Version 6.3

Page 759: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsObjReadableEx – CDBA only

ddIsObjReadableEx(b_objIdx_pathType)=> t | nil

Description

Returns t if the object specified by b_objId can be read by the current process. Thisfunction is similar to ddIsObjReadable except that you can specify whether to look for theobject in the temporary directory or the master directory, or both, with the x_pathTypeargument.

Arguments

b_objId ID of the object.

x_pathType One of the following integer values:

Value Returned

t b_objId can be read by the current process.

nil The object was not found or is not readable.

ReferenceddIsObjReadable

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 759 Product Version 6.3

Page 760: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsObjWritable

ddIsObjWritable(b_objId)=> t | nil

Description

Returns t if the object specified by b_objId can be modified by the current process.

If the library containing the object has a temporary directory, this functions looks for the objectin the temporary directory first; if it is not found, it looks for it in the master directory. However,if the object itself is a library, this function returns information about the library, not itstemporary directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddIsObjWritableEx – CDBA only.

Arguments

b_objId ID of the object.

Value Returned

t b_objId can be modified by the current process.

nil Object was not found or is not writable.

ExampleddIsObjWritable( myViewFile ) => nil

ReferenceddIsObjWritableEx – CDBA only

July 2004 760 Product Version 6.3

Page 761: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsObjWritableEx – CDBA only

ddIsObjWritableEx(b_objIdx_pathType)=> t | nil

Description

Returns t if the object specified by b_objId can be modified by the current process. Thisfunction is similar to ddIsObjWritable except that you can specify whether to look for theobject in the temporary directory or the master directory, or both, with the x_pathTypeargument.

Arguments

b_objId ID of the object.

x_pathType One of the following integer values:

Value Returned

t b_objId can be modified by the current process.

nil The object was not found or is not writable.

ReferenceddIsObjWritable

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 761 Product Version 6.3

Page 762: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsPathManageable

ddIsPathManageable(t_path)=> t | nil

Description

Returns t if the supplied path is manageable (is in a location that is supported by a designmanagement system).

Arguments

t_path The supplied path.

Value Returned

t The supplied path is manageable.

nil The supplied path is not manageable.

July 2004 762 Product Version 6.3

Page 763: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddIsPathManaged

ddIsPathManaged(t_path)=> t | nil

Description

Returns t if the specified path is currently managed by a design management system. A pathis managed if the file associated with the path is checked in. You can use ddIsPathManagedto implement a check against creating a file when another user has already created it but thelocal user work area is not updated to reflect the creation.

Arguments

t_path The specified path.

Value Returned

t The specified path is managed.

nil The specified path is not managed.

July 2004 763 Product Version 6.3

Page 764: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddLibHasTmpDir

ddLibHasTmpDir(b_objId)=> t | nil

Description

Checks if the library has a temporary directory. A temporary directory for a library is definedby putting a TMP attribute on the library with an ASSIGN statement in a cds.lib file.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

b_objId ID of the library.

Value Returned

t The library has a temporary directory.

nil The library does not have a temporary directory.

July 2004 764 Product Version 6.3

Page 765: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddLockDescribe

ddLockDescribe(b_lockId)=> t_message | nil

Description

Fills a static string with a message.

Note: This function uses the Cadence locking system (CLS) instead of cdsd. For informationabout CLS, see Chapter 11 of the Cadence Application Infrastructure User Guide.

Arguments

b_lockId ID of a locked file as returned from ddLockPath.

Value Returned

t_message A message used by interactive programs to tell you why there isa delay in accessing a file.

nil Object was not locked.

ExampleddLockDescribe( myLibFileLock ) => "is currently locked by userfabio(pid:1234)@cds3028 (age:10 sec)."

July 2004 765 Product Version 6.3

Page 766: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddLockFree

ddLockFree(b_lockId)=> t | nil

Description

Releases any existing lock on the file specified by b_lockId.

Note: This function uses the Cadence locking system (CLS) instead of cdsd. For informationabout CLS, see Chapter 11 of the Cadence Application Infrastructure User Guide.

Arguments

b_lockId ID of a locked file as returned from ddLockPath.

Value Returned

t Releases the lock on the file.

nil Lock could not be freed.

ExampleddLockFree( myLibFileLock ) => t

July 2004 766 Product Version 6.3

Page 767: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddLockGetStatus

ddLockGetStatus(b_lockId)=> x_sysId t_type x_value t_userName t_userHost t_fileHost t_filePath

Description

Retrieves frequently needed information from the lock table: The lock-system ID, type, andvalue and the holder's username and hostid.

Note: This function uses the Cadence locking system (CLS) instead of cdsd. For informationabout CLS, see Chapter 11 of the Cadence Application Infrastructure User Guide.

Arguments

b_lockId ID of a locked file as returned from ddLockPath.

Value Returned

x_sysId Always returns 0.

t_type Lock’s lock-system type.

x_value Always returns 0.

t_userName If the lock type is anything except "Write" or "Exclusive" , thereturn value is "UNKNOWN".

t_userHost User name of host running user process. If the lock type isanything except "Write" or "Exclusive", the return value is"UNKNOWN".

t_fileHost Always returns "UNKNOWN".

t_filePath Path locked.

ExampleddLockGetStatus( myLibFileLock ) => (1 "link" 0 "guest" "big_sun" "big_sun" "/tmp/l1.lib" )

July 2004 767 Product Version 6.3

Page 768: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddLockPath

ddLockPath(t_filePath)=> b_lockId

Description

Creates a handle that allows you to lock the file and returns a lock ID for the file. Once youcall ddLockFree, all references to that lock ID become invalid.

Note: This function uses the Cadence locking system (CLS) instead of cdsd. For informationabout CLS, see Chapter 11 of the Cadence Application Infrastructure User Guide.

Arguments

t_filePath The path to the file. The path must be a file (only files need tohave locks).

Value Returned

b_lockId The lock ID of the specified file. If the path has a lock on it, anysubsequent requests to lock that path get the same lock ID.

ExampleddLockPath( "/tmp/myFile" ) => dd:2542360

ddLockPath( ddGetObjWritePath( myViewFile ) ) => dd:2542360

July 2004 768 Product Version 6.3

Page 769: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddLockSet

ddLockSet(b_lockIdt_mode[ g_block ][ t_message ])=> t | nil

Description

Gets the type of lock in t_mode for the file ID. If you have already locked the file, this functionchanges the lock type.

Note: This function uses the Cadence locking system (CLS) instead of cdsd. For informationabout CLS, see Chapter 11 of the Cadence Application Infrastructure User Guide.

Arguments

b_lockId The lock ID as returned by ddLockPath.

t_mode The lock type you want.Valid values: l, r, w, and e

g_block When set to t (default), ddLockSet does not return until you getthe lock you have requested. When set to nil, ddLockSetreturns at once, whether or not it gets the lock. But you need to

l (link) while you have a copy in memory.

Note: The new Cadence locking system(CLS) does not have link locks. Therefore, ifyou specify l, you will not get a lock.

r (read) while you are in the process of reading fromdisk.

w (write) when you want to write a file. You cannotobtain this lock if anyone else is readingfrom disk or has a Write lock.

e (exclusive) when you want to delete the file. You cannotobtain this if anyone has a Link, Read, orWrite lock.

July 2004 769 Product Version 6.3

Page 770: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

loop repeatedly calling ddLockSet until the process, which hasthe lock and is preventing you from getting yours, frees it.

t_message A string you can set to explain why you want the lock, so otherusers will see it using cdsdAdmin. Defaults to NULL.

Value Returned

t The lock was obtaine, or b_blockId was the type of lock thatyou already had on the file.

nil The lock was not obtained.

ExampleddLockSet( myFileLock "r" nil "Test lock" ) => t

July 2004 770 Product Version 6.3

Page 771: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetDataTypeFileName

ddMapGetDataTypeFileName(t_dataType)=> t_fileName | nil

Description

Returns the pattern registered in the registry for t_dataType.

Arguments

t_dataType A data type from the registry.

Value Returned

t_fileName The pattern for filenames holding t_dataType.

nil The data type is not found or has no registered pattern.

ExampleddMapGetDataTypeFileName( "ComposerSchematic" )=> "sch.cdb"

July 2004 771 Product Version 6.3

Page 772: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetDataTypeList

ddMapGetDataTypeList()=> l_list

Description

Returns a list of names of the data types specified in the registry.

Arguments

None.

Value Returned

l_list A list of data type names.

ExampleddMapGetDataTypeList()=> ("AHDLNetlist" "AHDLText" "AmadeusPackage" "AmadeusVerilogMap" "AsciiText""CDBAGraphics" "CDBANetlist" "CDBAStranger" "ComposerPIC" "ComposerSchematic""ComposerSymbol" "ConceptSchematic" "DesignFlow" "HierarchyDescription""MaskLayout" "ThermaxBoundary" "ThermaxDesign" "ThermaxProject" "ThermaxResult""VHDLText" "VerilogNetlist" "VerilogText")

July 2004 772 Product Version 6.3

Page 773: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetFileDataType

ddMapGetFileDataType(b_fileObjId)=> t_dataType | nil

Description

Returns the name of the data type associated with b_fileObjId.

Arguments

b_fileObjId The object file ID.

Value Returned

t_dataType The data type name.

nil The data type is not found.

Examplevf = ddGetObj( "l1" "c1" "v1" "sch.cdb" )ddMapGetFileDataType( vf ) => "ComposerSchematic"

July 2004 773 Product Version 6.3

Page 774: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetFileTool

ddMapGetFileTool(b_fileObjId)=> t_fileTool | nil

Description

Looks up the data format registered in the registry for b_fileObjId’s file name, andreturns the tool name of the preferred editor (if there is one) or the default editor which isregistered for that data format.

Arguments

b_fileObjId The object file ID.

Value Returned

t_fileTool File tool of the file, a permanent string.

nil The file tool is not found.

Examplevf = ddGetObj( "l1" "c1" "v1" "sch.cdb" )ddMapGetFileTool( vf ) => "Composer-Schematic"

July 2004 774 Product Version 6.3

Page 775: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetFileViewType

ddMapGetFileViewType(b_fileObjId)=> t_viewType | nil

Description

Returns the name of the view type associated with b_fileObjId.

Arguments

b_fileObjId The object file ID.

Value Returned

t_viewType The view type name.

nil The view type is not found.

Examplevf = ddGetObj( "l1" "c1" "v1" "sch.cdb" )ddMapGetFileViewType( vf ) => "schematic"

July 2004 775 Product Version 6.3

Page 776: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetToolNameDataType

ddMapGetToolNameDataType(t_toolName)=> t_dataType | nil

Description

Returns the name of the first data type in the registry which is associated with t_toolName.

Arguments

t_toolName The name of the tool.

Value Returned

t_dataType The datatype name.

nil The data type is not found.

ExampleddMapGetToolNameDataType( "Composer-Schematic" )=> "ComposerSchematic"

July 2004 776 Product Version 6.3

Page 777: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetToolNameList

ddMapGetToolNameList()=> l_toolList

Description

Retrieves a list of the names of the tools specified in the registry, in alphabetical order. Thisis the SKILL version of ddMapGetToolNameArray.

Arguments

None.

Value Returned

l_toolList A list of tool names.

ExampleddMapGetToolNameList( )=> ( "Amadeus-Package-Editor" ... "vi" )

July 2004 777 Product Version 6.3

Page 778: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetToolNameViewType

ddMapGetToolNameViewType(t_toolName)=> t_viewTypeName | nil

Description

Returns the name of the first view type in the registry which is associated with t_toolName.

Arguments

t_toolName Name of the tool from the registry.

Value Returned

t_viewTypeName The view type name.

nil The view type is not found.

ExampleddMapGetToolNameViewType( "Composer-Schematic" )=> "schematic"

July 2004 778 Product Version 6.3

Page 779: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetViewTypeFileName

ddMapGetViewTypeFileName(t_viewType)=> t_fileName | nil

Description

Returns the pattern registered in the registry for a view alias or data type namedt_viewType.

Arguments

t_viewType A view alias or data type name.

Value Returned

t_fileName The filename.

nil The view type is not found.

ExampleddMapGetViewTypeFileName( "schematic" ) => "sch.cdb"

July 2004 779 Product Version 6.3

Page 780: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapGetViewTypeList

ddMapGetViewTypeList()=> l_list

Description

Returns a list of names of view types defined in the registry, in alphabetical order. If a datatype in the registry has a dfII_viewType property defined, the value of that property willbe in the list. Otherwise, the data type name will be in the list.

The ddMapGetViewTypeList function is available from C as ddMapGetViewTypeArray.

Arguments

None.

Value Returned

l_list Alist of view type names.

ExampleddMapGetViewTypeList( ) => ( "ConceptSchematic" ... "vhdl" )

July 2004 780 Product Version 6.3

Page 781: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapIsFileNameKnown

ddMapIsFileNameKnown(t_fileName)=> t | nil

Description

Returns t if the file name is registered as the pattern for some data format in the registry.

Arguments

t_fileName The file name from the registry.

Value Returned

t The t_fileName is found in the registry.

nil t_fileName was not found in the registry.

ExampleddMapIsFileNameKnown( "sch.cdb" ) => t

July 2004 781 Product Version 6.3

Page 782: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapIsToolLegal

ddMapIsToolLegal(b_fileObjIdt_toolName)=> t | nil

Description

Returns t if t_toolName is either the preferred editor or the default editor forb_fileObjId.

Arguments

b_fileObjId The object file ID.

t_toolName The tool name in the registry.

Value Returned

t t_toolName is either the preferred editor or the default editorfor b_fileObjId.

nil The tool is not one of the tools specified for b_fileObjId.

Examplevf = ddGetObj( "l1" "c1" "v1" "sch.cdb" )ddMapIsToolLegal( vf "Virtuoso" ) => nil

July 2004 782 Product Version 6.3

Page 783: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMapIsToolNameKnown

ddMapIsToolNameKnown(t_toolName)=> t | nil

Description

Returns t if t_toolName is defined in the registry.

Arguments

t_toolName Name of the tool in the registry.

Value Returned

t The tool is known.

nil The tool name is not found.

ExampleddMapIsToolNameKnown( "Composer" ) => t

July 2004 783 Product Version 6.3

Page 784: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddMarkObjMaster

ddMarkObjMaster(b_objId)=> t | nil

Description

Changes the master.tag file to designate the object as the new master. The master.tagfile must be located with the file it designates, so you must be able to write a file to mark itmaster. The master.tag file is checked out of the Design Management system, ifnecessary.

This function returns an error if b_objId exists only in the library’s temporary directory.Objects in a temporary directory are derived data and cannot be marked as master.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

b_objId ID of the object, which must be a viewFileType object.

Value Returned

t The master.tag file was changed.

nil The master.tag file could not be changed.

Examplevf = ddGetObj( "l1" "c1" "v1" "sch.cdb" )ddMarkObjMaster( vf ) => t

July 2004 784 Product Version 6.3

Page 785: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddNeedCheckout

ddNeedCheckout(b_objId)=> t | nil

Description

Enable tools that need to provide automatic checkout behavior to decide if they need to callthe functions ddCheckout and ddCheckin.

Arguments

b_objId The ddId for a file object.

Value Returned

t b_objId is a DM-managed object that needs to be checkedout.

nil The library is not managed by a Design Management system,b_objId does not need to be checked out, or b_objId existsonly in the library’s temporary directory (objects in the temporarydirectory cannot be managed).

Examplevf = ddGetObj( "l1" "c1" "v1" "sch.cdb" )if ddNeedCheckout( vf ) then

ddCheckout( vf )

July 2004 785 Product Version 6.3

Page 786: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddObjHasNamedObj

ddObjHasNamedObj(b_objIdt_fileName)=> t | nil

Description

Returns t if b_objId has a child object named t_fileName.

b_objId can be only a library, cell, or view identifier. Scans objects relative to the givenobject and looks for something that matches by name. This function looks for the object in thelibrary’s temporary directory first; if it is not found, it looks for it in the master directory.However, if the object itself is a library, this function looks for the children in the library (themaster directory).

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

ddObjHasNamedObj is meant to be a “fast” lookup function (as fstat is not used in the scan).To get the ddId, use ddGetObj using the given object as the context ID and specifyingt_fileName as the appropriate relative argument.

See also ddObjHasNamedObjEx – CDBA only.

Arguments

b_objId The object file ID.

t_fileName The filename to search for.

Value Returned

t The file was found.

nil The file was not found.

Examplel = ddGetObj( "l1" ) => dd:2543176ddObjHasNamedObj(l "c1") => tddObjHasNamedObj(l "v1") => nil

July 2004 786 Product Version 6.3

Page 787: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ReferenceddObjHasNamedObjEx – CDBA only

July 2004 787 Product Version 6.3

Page 788: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddObjHasNamedObjEx – CDBA only

ddObjHasNamedObjEx(b_objIdt_fileNamex_pathType)=> t | nil

Description

Returns t if b_objId has a child object named t_fileName. This function is similar toddObjHasNamedObj except that you can specify whether to look for the object in thetemporary directory or the master directory, or both, with the x_pathType argument.

See ddObjHasNamedObj for more information.

Arguments

b_objId The object file ID.

t_fileName The file to search for.

x_pathType One of the following integer values:

Value Returned

t The file was found.

nil The file was not found.

ReferenceddObjHasNamedObj

0 Looks for the object only in the master directory

1 Looks for the object only in the temporary directory

2 Looks for the object in the temporary directory first; ifit is not found, looks for it in the master directory.However, if the object is a library, returns informationabout the library itself (the master directory), not itstemporary directory.

July 2004 788 Product Version 6.3

Page 789: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddObjIsInMaster

ddObjIsInMaster(b_objId)=> t | nil

Description

Checks if the object exists in the master directory.

Arguments

b_objId ID of the object.

Value Returned

t The object is in the master directory.

nil The object is not in the master directory.

ReferenceddObjIsInTmp

July 2004 789 Product Version 6.3

Page 790: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddObjIsInTmp

ddObjIsInTmp(b_objId)=> t | nil

Description

Checks if the object exists in the temporary directory. A temporary directory for a library isdefined by putting a TMP attribute on the library with an ASSIGN statement in a cds.lib file.The library itself is considered the master directory.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

b_objId ID of the object.

Value Returned

t The object is in the temporary directory.

nil The object is not in the temporary directory.

ReferenceddObjIsInMaster

July 2004 790 Product Version 6.3

Page 791: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddProduceObjRelNames

ddProduceObjRelNames(b_objIdg_consumerg_clientData)=> t | nil

Description

Produces the names of all the objects that belong to a library, cell, or view and calls the givenfunction with each name and any provided data structure.

The list of names includes objects in the library’s temporary directory, if it exists, as well asthose in the library itself (the master directory).

The objective is to generate the names of the objects underneath a library, cell, or view whenthe caller is only interested in the names and not what type of object the name is associatedwith. This avoids doing expensive fstats on the objects.

If an object is created while the producer is active, its name may not be visible g_consumer.If an object is deleted after the producer has been started but before you access it,g_consumer could get a name for an object that does not exist.

You should use ddGetObj to get a ddId for the actual object if you need one. You shouldcheck the return value of ddGetObj for the reasons described above.

See also ddProduceObjRelNamesEx – CDBA only.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

b_objId The parent object.

g_consumer The g_consumer function should be of the formmyClient( t_objName, g_clientData ) => t / nilt_objName Is the name of the next objects (directory

or file) being produced.

g_clientData Is the client data that the producer wasgiven.

July 2004 791 Product Version 6.3

Page 792: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

g_clientData Any arbitrary piece of data you want passed to theg_consumer.

Value Returned

t g_consumer returned t for each name passed to it.

nil There are no objects or if the name production is interrupted bya nil return value of g_consumer.

Example

Here is how you call this procedure from SKILL:

Sample client:

(procedure (myClient name arg)rplacd(last(arg) ncons(name)) t )

Note: The client always returns t so it gets the entire list. If it were searching for a particularname, it would return nil after finding it.

Sample usage:

plist = ’( "ProducedList" )l1 = ddGetObj( "l1" )ddProduceObjRelNames( l1, ’myClient plist )

=> tplist

=> ( "ProducedList" "cdsinfo.tag" "cell1" )

ReferenceddProduceObjRelNamesEx – CDBA only

July 2004 792 Product Version 6.3

Page 793: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddProduceObjRelNamesEx – CDBA only

ddProduceObjRelNamesEx(b_objIdg_consumerg_clientDatax_pathType)=> t | nil

Description

Produces the names of all the objects that belong to a library, cell, or view and calls the givenfunction with each name and any provided data structure. This function is similar toddProduceObjRelNames except that you can specify whether to look for the objects in thetemporary directory or the master directory, or both, with the x_pathType argument.

See ddProduceObjRelNames for more information.

Arguments

b_objId The parent object.

g_consumer The g_consumer function should be of the formmyClient( t_objName, g_clientData ) => t / nil

g_clientData Any arbitrary piece of data you want passed to theg_consumer.

x_pathType One of the following integer values:

t_objName Is the name of the next objects (directoryor file) being produced.

g_clientData Is the client data that the producer wasgiven.

0 Looks for b_objId only in the master directory andreturns the names of the objects from the masterdirectory only

1 Looks for b_objId only in the temporary directoryand returns the names of the objects from thetemporary directory only

July 2004 793 Product Version 6.3

Page 794: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Value Returned

t g_consumer returned t for each name passed to it.

nil There are no objects or if the name production is interrupted bya nil return value of g_consumer.

ReferenceddProduceObjRelNames

2 Looks for b_objID in the temporary directory andthe master directory and returns all the objects foundin both the temporary and master directories

July 2004 794 Product Version 6.3

Page 795: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddRegTrigger

ddRegTrigger(t_triggerNames_triggerFunc[ x_priority ])=> t | nil

Description

Registers a function to be called when the triggering event occurs. Adds callbacks (triggers)to PI functions that change things. Each of these PI functions has a pretrigger and anposttrigger.

Functions you attach to a pretrigger are passed the same arguments that were passed to theassociated PI function. Functions you attach to a pretrigger should be written to return eithert or nil. If the value is nil, no further trigger functions are called, and the associated PIfunction will be canceled.

Functions that you attach to a posttrigger will be passed the same arguments that werepassed to the associated PI function, and in addition, the last argument will be the value tobe returned by the PI function. Posttrigger functions must be written to return void.

Arguments

t_triggerName The trigger you wish to attach a callback to.Valid Values:

PI function Pre-Trigger name Post-Trigger name

ddUpdateLibList() “PreUpdateLibList” “PostUpdateLibList”

ddGetStartup() “PreGetStartup” “PostGetStartup”

ddDeleteObj() “PreDeleteObj” “PostDeleteObj”

ddCreateLib() “PreCreateLib” “PostCreateLib”

ddGetObj() “PreCreateObj” ’PostCreateObj”“FirstAccessLib”

ddCheckin() “PreCheckin” ’PostCheckin”

ddCheckout() “PreCheckout” “PostCheckout”

ddAutoCheckout() “PreAutoCheckout”

July 2004 795 Product Version 6.3

Page 796: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

s_triggerFunc The function you want to have called back when the trigger isactivated.

x_priority The order in which functions are called after they have beenregistered as triggers. Priority is an integer in the range ( 0 <=priority <= INT_MAX ).Functions that have the same priority are called last-registered,first called-back. Triggers that have lower priorities are called-back before triggers that have higher priorities. The defaultpriority is INT_MAX.

Value Returned

t The function was successfully registered to trigger when theevent occurs.

nil Execution of the function failed.

ExampleddRegTrigger( "PreCheckin" ’checkinTrigFunc 0 ) => t

Note: ddGetObj calls triggers when it creates an object and the first time it accessesa library in the library list.

The names are case insensitive.

PI function Pre-Trigger name Post-Trigger name

July 2004 796 Product Version 6.3

Page 797: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddReleaseObj

ddReleaseObj(b_objId)=> t | nil

Description

When you find an object using write (w) or append (a) mode, and the object and its parentsdo not yet exist, ddGetObj creates the object and its parents in the file system. The effect ofthis action is to make them visible in the browser and to permit us to designate file as aMaster. After you close the file, you should call ddReleaseObj, which then deletes the file ifyou did not save it yet.

DDPI looks for the file designated by obj. If its size is zero, DDPI deletes it. (If the file existsin both the temporary and master directories, its size must be zero in both the directories forDDPI to delete it.) After you close the file, call ddReleaseObj, which deletes the file if youdid not save it yet. If it is a viewFile and it is a Master with size zero, DDPI deletes the entireview.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

Arguments

b_objId The ID of the object you want to release.

Value Returned

t The object was released.

nil b_objId was not a valid object, or one of the PreDeleteObjtriggers returns nil.

ExampleddReleaseObj( viewFileId ) => t

July 2004 797 Product Version 6.3

Page 798: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddSetForcedLib

ddSetForcedLib(t_path)=> t | nil

Description

If the given path is a valid path, the forcedLib is used for all future library updates/creates/deletes and t is returned. If the path is an empty string, the default cds.lib file is used forall future library updates/creates/deletes and t is returned. If a path is given that is not valid,nil is returned with no error message and the forcedLib will be unchanged.

Arguments

t_path The path to the cds.lib file you want to use.

Value Returned

t The path to the cds.lib file is valid.

nil The path to the cds.lib file is not valid.

ExampleddSetForcedLib( "/user/library/cds.lib" ) => t

July 2004 798 Product Version 6.3

Page 799: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddSetLibUnmanaged

ddSetLibUnmanaged(b_libId)=> t | nil

Description

Sets the DMTYPE entry of the cdsinfo.tag file in the library directory to none. This willguarantee that regardless of the default value for DMTYPE, this library will not be DMmanaged. If the library has a temporary directory, it will also not be managed.

Note: Temporary directories are only available for CDBA libraries; they are currently notavailable for OpenAccess.

See also ddClearLibUnmanaged, ddIsPathManagable, ddIsPathManaged,ddAmUsingDm, ddCheckin.

For more information about the cdsinfo.tag file, see the Cadence ApplicationInfrastructure User Guide.

Arguments

b_libId The ID of a library object.

Value Returned

t The DMTYPE entry is set.

nil The DMTYPE entry is not set.

July 2004 799 Product Version 6.3

Page 800: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddSetTmpdirWarn

ddSetTmpdirWarn(g_doWarn)=> t | nil

Description

Enables or disables printing of a warning message for an ASSIGN statement with attributeTMPwhich appears in cds.lib files. The TMP attribute defines a temporary storage directoryfor a read-only or reference library. If you set the DD_TMPDIR_ON environment variable to NO,the temporary directory functionality is turned off and DDPI skips ASSIGN and UNASSIGNstatements when parsing cds.lib files. In that case, DDPI prints the following warning bydefault:WARNING ‘<PATH_TO_CDSLIB_FILE>/cds.lib’, Line 3: skipping: ’ASSIGN’lib1 TMP /tmpIf you do not want the warning message to be printed, specify nil for the g_doWarnargument.

Note: This function does not apply to OA ddpi.

Arguments

g_doWarn Enables or disables the printing of the warning message.Valid Values:t (the current value will be set to t to enable printing of thewarning)nil (the current value will be set to nil to disable printing of thewarning)

Value Returned

t Printing of the warning message is enabled.

nil Printing of the warning message is disabled.

July 2004 800 Product Version 6.3

Page 801: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddUnregTrigger

ddUnregTrigger(t_triggerNames_triggerFunc)=> t | nil

Description

Removes a callback (trigger function) from a named list of trigger functions.

Arguments

t_triggerName Name of the trigger to remove the callback from. Refer to theddRegTrigger definition for a list of the permissible values oft_triggerName.

s_triggerFunc The function to remove from the trigger’s callback list.

Value Returned

t The function was successfully unregistered and will no longer betriggered when the event occurs.

nil s_triggerFunc has not been registered as a trigger fort_triggerName.

ExampleddUnregTrigger( "preCheckIn" ’checkinTrigFunc ) => t

July 2004 801 Product Version 6.3

Page 802: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddUpdateLibList

ddUpdateLibList()=> t | nil

Description

Establishes and re-establishes a list of libraries in virtual memory to be used by ddGetObj.

The order of libraries in the list is irrelevant; there is no search path behavior among libraries.This function retrieves the entries in a series of one or more cds.lib files to define thelibraries that your tool will see. (Only the first library file needs to have the name cds.lib.)

If you use the -cdslib switch on the command line or you have called ddSetForcedLib,ddUpdateLibList checks, when it first runs, to see if you have specified a path to acds.lib file. If so, it skips the ddGetStartup search for the cds.lib file and just startswith the one you asked for. If it cannot read the file, the system aborts the run.

If no cdslib switch was given and there is no forcedLib in effect, ddUpdateLibList loadsthe cds.lib file ddGetStartup finds.

The function has two triggers: PreUpdateLibList and PostUpdateLibList. The pretrigger iscalled after the system analyzes the library files to be sure they are error-free and all librariesare visible.

You should register a callback function on the PreUpdateLibList trigger that will walk throughall your open files. For each file ddId, call ddIsObjLibMarked to see of the object’s libraryis marked as having been deleted or having changed paths. If so, you can ask the users tosave their work at the old path, lose their work, or abort the update. If a user chooses to abortthe update, issue a warning to the log and return FALSE from the pretrigger.

ddUpdateLibList gets locks on the cds.lib and registry while accessing them, andthen releases them.

Arguments

None.

Value Returned

t The library list update was successful.

July 2004 802 Product Version 6.3

Page 803: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

nil The library list update failed due to either syntax errors in thecds.lib file or one of the PreUpdateLibList triggers returningnil.

ExampleddUpdateLibList( ) => t

July 2004 803 Product Version 6.3

Page 804: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Design Data Services

This section describes the ddserv code layer. The primary reason for this code is toencapsulate the usage of the external libManager, libSelect, and hierEditor processes usingMulti-Process SKILL (MPS).

Library Manager

The libManager process provides general library management utilities and calls the LibraryManager tool. The Library Manager performs browsing and issues edit, read, and newcommands to a registered process (in this case, a workbench binary like icca). The ddservlayer on the DFII side invokes libManager if it needs to, imports the libManager MPS services,and exports services that the libManager uses to perform several of its functions. There is aLibrary Manager menu command on the File pulldown on the CIW.

Hierarchy Editor

The hierEditor process and hierarchy editor tool were implemented to support thecomposition and editing of how a design is to be expanded. For the first time, you can use asingle tool to define your design expansion rules that all applications will obey. ddserv alsosupports the MPS connection to the hierarchy editor.

Library Browser

The libSelect process is used for browsing; it is the mechanism that replaces the DFII DMDAG browser when applications provide the user with a Browse button on their forms. ddservalso provides a level of backward compatibility with prior releases by supporting a subset ofthe DFII DM dm and dmb functions.

The Library Browser was implemented to support the existing DFII DM capability to browselibraries and seed a form with the selected items. The ddserv layer supports a new PI as wellas some of the old dmb procedures and manages the MPS interactions with the libSelectprocess.

Environment Variables

The dmbLibraryBrowser variable is no longer supported.

The following environment variables are implemented to allow you to control and presetbehavior and form field values. These variables let you seed the related form by using the ~/

July 2004 804 Product Version 6.3

Page 805: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

.cdsenv file.

Current Library

With the new library structure, there is no concept of a current library (nothing to open,nothing to close), however, it has been requested that accessing the currently selected libraryin the Library Browser is desired. To support this, two new functions, ddsGetCurrentLiband dmbGetCurrentLib, have been implemented (the two are basically the same exceptfor consistency, the dmb function is provided for backward compatibility). These functionsreturn the ddId of the library that is currently selected in the Library Browser; nil is returnedif no library is selected or if the Library Browser is not synchronized with any particular form.Code directly accessing the dmbCurLib variable or calling dmGetCurLib might no longerbe necessary.

Synchronization

Applications call ddsSyncWithForm (dmbSyncWithForm) to start the synchronization andddsEndSyncWithForm (dmbLibBrowserFormDone) to end it (the dmb functions areprovided for backward compatibility). These calls must be paired to properly maintain theLibrary Browser state.

Tool Variable Type Default Choices

ddserv.browser onOpen boolean nil

ddserv.browser onPlace boolean nil

ddserv.browser onOther boolean nil

ddserv.ciw promptOnExit boolean t

ddserv.lib dmchoice string "No DM"

ddserv.lib newLibDir string ""

ddserv.lib techChoice cyclic "compile" "compile""bind""none"

July 2004 805 Product Version 6.3

Page 806: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Integrating Your Own Library Browser

The function ddserv supports the integration of a custom Library Browser thus replacing thedefault Library Browser, libSelect. While integrating your own Library Browser in DFII, youmust consider the following:

■ Invocation - The default DFII Library Browser is a separate process from DFII.Therefore, DFII manages the execution of the default Library Browser as well ascommunicates with it. This process is simplified if your custom Library Browser resideswithin the DFII process, for example, as a form or a dag browser. Any initialization orinvocation of the custom Library Browser should be made in the replacementfunctionality that would be registered for ddsSyncWithForm.

■ Replay - As you execute commands, they are recorded to the DFII .log file. You canthen turn around and use the log file to replay the session. Because of the asynchronousnature of external processes, ddserv cannot replay the synchronizations with the DFIILibrary Browser. The ddsSync functions will do nothing if the session is in replay.However, if your custom Library Browser resides within the DFII process, it cansynchronized to work if the session is in replay.

■ Indirect Recursion - Some forms synchronized to the Library Browser may havecallbacks on the registered form fields. Some of these callbacks may callddsUpdateSyncWithForm to ensure that the Library Browser selections match whatyou may have typed in. This could lead to the Library Browser updating the form fieldswith its current selections, the form field callbacks firing off, which would then try tosynchronize the Library Browser with its values. You must take care in either the interfacelayer or the Library Browser itself to avoid having the form and the Library Browsercontinually trying to update each other.

■ Refresh - The custom Library Browser should react to the creation and deletion oflibraries, cells, and views. There are respective Design Data Procedural Interface (ddpi)triggers available from which you can perform the Library Browser update.

To plug in a different Library Browser, you need to implement and register to ddserv thereplacement functionality for ddsSyncWithForm, ddsUpdateSyncWithForm,ddsEndSyncWithForm, and ddsGetCurrentLib. You do the following:

■ You register your routines that interface to your Library Browser with ddserv.

■ When a custom Library Browser is so registered, the four routinesddsSyncWithForm, ddsUpdateSyncWithForm, ddsEndSyncWithForm, andddsGetCurrentLib will invoke the registered functionality rather than interfacingwith the default DFII library browser. No application code has to make any changes astheir existing calls to the ddserv routines will buffer them from what Library Browser isbeing used.

July 2004 806 Product Version 6.3

Page 807: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

■ You may unregister your custom Library Browser at any time and register it again. Thisis for completeness and can assist in debugging (saves from having to exit the system ifthere are problems with the custom Library Browser integration).

Registering the Custom Library Browser

To plug in a different Library Browser, four functions must be registered to ddserv. You mustprovide all four functions to effectively emulate the functionality provided by ddserv. There isa single registration function to call ddsRegCustomLibSelect.

SKILL Procedural Interface Functions

The following pages briefly describe the public SKILL procedural interface functions providedin ddserv.

You can synchronize the Library Browser with the user interface Open Design form, withseveral of the forms for placing an instance, and with various other forms. By convention, anyform that can be synchronized with the Library Browser has a Browse button.

When the Library Browser and a form are synchronized, any information typed into the library,cell, view, or version fields of the form causes a corresponding selection in the LibraryBrowser. Any selections made in the Library Browser are automatically put in thesynchronized form.

For a form and the Library Browser to be synchronized, you must first select the Browsebutton on the form. You can also control how the Library Browser window behaves whenforms are brought up and brought down by setting the ddserv.browser environmentvariable in your .cdsenv file (dmbSetBrowserInteractions is provided for backwardcompatibility).

Customizing CIW Menus

DFII based tools that have pulldown menus in other windows and that install menu items intothe CIW can customize these pulldown and pop-up menus to use as part of your tool.

Menu files are used to define the menu entries and the pulldowns in them for the CIW andyour application. Menu files allow for easy setup, full customization by workbench owners andcustomers, and isolation for applications from the details of the menu item and pulldownmenu implementation.

July 2004 807 Product Version 6.3

Page 808: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwAddTranslatorItem

ciwAddTranslatorItem(s_tagt_itemTextt_callback)=> t | nil

Description

Adds an entry for the Import or Export commands.

Arguments

s_tag A SKILL symbol.Valid Values: ‘Import, ‘Export

t_itemText The Item text to be used as a display prompt.

t_callback Called to execute the given translator.

Value Returned

t The entry was added.

nil The entry was not added.

July 2004 808 Product Version 6.3

Page 809: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwCreateMenu

ciwCreateMenu(ls_menuDef[ x_windowNum ])=> r_menu | nil

Description

Creates a menu from the given menu definition. The menu created can be used as a pop-upmenu. This function exists primarily for application support.

The ls_menuDef argument is normally read from a menu file. If x_windowNum isspecified for example, window->windowNum, the menu handle and menu item symbols areuniquely created by appending the symbol in the menu definition with the window number.

Arguments

ls_menuDef The definition of a menu, either a list defining the contents of thepulldown menu or the SKILL symbol that represents the list.

x_windowNum Window number.

Value Returned

r_menu A menu suitable for use as a pop-up menu.

nil The list defining the contents for the pop-up or SKILL symbolcould not be found.

July 2004 809 Product Version 6.3

Page 810: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwCreatePulldown

ciwCreatePulldown(ls_menuDef[ x_windowNum ])=> r_menu | nil

Description

Creates a pulldown menu from the given menu definition. The ls_menuDef argument caneither be a list defining the contents of a pulldown menu or the SKILL symbol that representsthe list. This function exists primarily for application support.

If x_windowNum is specified, for example, window->windowNum, the menu handle andmenu item symbols are uniquely created by appending the symbol in the menu definition withthe window number.

Arguments

ls_menuDef The definition of a menu.

x_windowNum Window number.

Value Returned

r_menu A menu suitable for use as a pulldown menu.

nil A pulldown menu could not be created.

July 2004 810 Product Version 6.3

Page 811: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwHiExit

ciwHiExit()=> t | nil

Description

Exits the session.

This is the function beneath the File –> Exit menu in all the DFII procedural interfaces. Mostof the File –> Exit menus in all DFII procedural interfaces can be accomplished using theciwHiExit function.

By default, the command displays a dialog box asking you if you want to really exit thesession. You can turn off the display of this dialog box by setting a variable in your .cdsenvfile or by calling envSetVal in your .cdsinit file:

ddserv.ciw promptOnExit boolean nil

or

envSetVal ("ddserv.ciw" "promptOnExit" 'boolean nil)

Arguments

None.

Value Returned

t The session is terminated.

nil The session is not terminated.

July 2004 811 Product Version 6.3

Page 812: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwMenuInit

ciwMenuInit([ g_verbose ][ g_reset ])=> t | nil

Description

Initializes and installs the CIW pulldown menus based on the menu files found in thehierarchy. This function will be called instead of hiInstallCIWMenus. It can also becalled from the CIW to debug the menu file contents.If g_reset is specified as t, the CIW menus are reset. Calling ciwMenuInit without anyarguments will initialize the CIW menus only if it has not already been done.

Arguments

g_verbose Whether to echo extra messages during processing.

g_reset Whether to reset the CIW menus.

Value Returned

t The function succeeds.

nil The menu files in the hierarchy cannot be found.

ExampleciwMenuInit( ?verbose t )

ciwMenuInit( ?reset t )

When ciwMenuInit is called with the reset argument, it will reinitialize the CIW menu andthe latest customized menu done by the user will be setup.

July 2004 812 Product Version 6.3

Page 813: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwMenuInstall

ciwMenuInstall(r_windowls_bannerDef)=> t | nil

Description

Creates and installs into r_window a menu banner based on ls_bannerDef. Useful forapplications that create and manage their own windows. This function exists primarily forapplication support.

Arguments

r_window The window to install the menu banner into.

ls_bannerDef The definition of the menu banner.

Value Returned

t The function succeeds.

nil A menu banner could not be created and installed because of thegiven banner menu definition.

July 2004 813 Product Version 6.3

Page 814: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwMenuLoadFile

ciwMenuLoadFile(t_appName[ g_verbose ])=> t | nil

Description

Reads menu files found in the DFII hierarchy using t_appName.

Menu files will be read in the following order:

your_install_dir/etc/tools/menus/appName.menus

your_install_dir/local/menus/appName.menus

workOrProjectArea/menus/appName.menus

~/menus/appName.menus

Arguments

t_appName The application name used for finding menu files.

g_verbose Whether to echo extra messages during processing.

Value Returned

t The function succeeded.

nil No menu files are found.

July 2004 814 Product Version 6.3

Page 815: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ciwRemoveTranslatorItem

ciwRemoveTranslatorItem(s_tagt_itemTextt_callback)=> t | nil

Description

Removes an entry from the Import or Export commands.

Arguments

s_tag A SKILL symbol.Valid Values: ‘Import, ‘Export

t_itemText The Item text to be used as a display prompt.

Value Returned

t The entry was removed.

nil The entry was not removed.

July 2004 815 Product Version 6.3

Page 816: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsAboutDFII

ddsAboutDFII()=> t | nil

Description

Opens the product information dialog box, which indicates the product, the release number,and copyright information. This dialog box is used for the custom IC design tools.

Arguments

None.

Value Returned

t Opens the product information dialog box.

nil Unsuccessful in opening the product information dialog box.

July 2004 816 Product Version 6.3

Page 817: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsBrowserAction

ddsBrowserAction(s_action)=> t | nil

Description

Returns the Boolean value of the requested Library Browser option. This function explainshow applications use the Library Browser preferences and the actions specified in theddsSyncWithForm function. If you are integrating your own Library Browser, you mustdecide whether to support such actions; if so, you can use this function. This functionalityprovides applications the ability to support the user’s need to see the Library Browser whena particular command is executed.

Arguments

s_action Action choices are ’open (or ’design), ’place, ’other, oryour own symbols.

Value Returned

t Any other SKILL symbol passed as an action (meaning that theLibrary Browser will be called).

’open (or ’design for backward compatibility)If ddsSyncWithForm (or dmbSyncWithForm)is called with an action of ’open (or ‘design),ddserv will start the Library Browser only if thisoption is set to true. If not, the Library Browser isnot displayed.

’place If ddsSyncWithForm (or dmbSyncWithForm)is called with an action of ’place, ddserv willstart the Library Browser only if this option is set totrue. If not, the Library Browser is not displayed.

’other If ddsSyncWithForm (or dmbSyncWithForm)is called with an action of ’other, ddserv startsthe Library Browser only if this option is set totrue. If not, the Library Browser is not displayed.

July 2004 817 Product Version 6.3

Page 818: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

nil No library is selected or if the Library Browser is notsynchronized with any particular form.

Example

If you set the preference for ’place to be t, when you run the Add-Instance commandfrom a tool like the Virtuoso or Composer tools, the Library Browser gets displayedautomatically rather than waiting for you to click on this command’s Browse button.

July 2004 818 Product Version 6.3

Page 819: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsCheckinPreferences

ddsCheckinPreferences()=> t | nil

Description

Sets the prompt behavior you choose for the current DFII design session for checking indesign data. This function displays a form to set the auto checkin prompt preferences forproperties, files, and cellviews. This process controls access to the design data files thatdesign and team members store in a project data repository.

Arguments

None.

Value Returned

t The function succeeded.

nil The prompt behavior is not set.

July 2004 819 Product Version 6.3

Page 820: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsCheckoutPreferences

ddsCheckoutPreferences()=> t | nil

Description

Sets the prompt behaviors you select for the current DFII design session for checking outdesign data. This function displays a form to set the auto checkout prompt preferences forproperties, files, and cellviews. This process controls access to the design data files thatdesign and team members store in a project data repository.

Arguments

None.

Value Returned

t The function succeeded.

nil The prompt behavior is not set.

July 2004 820 Product Version 6.3

Page 821: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsCheckSessionName

ddsCheckSessionName(t_sessionName)=> t_sessionName

Description

Checks to see if the current MPS session is also the default session for the user. If the givensession name is the same as the effective user ID’s name or if there is no session name,builds a unique session name using the process ID. This implies that the current processscopes the session and returns the session name to use - either the given name if it is scopedor a new unique name to use to perform the scoping.

Arguments

t_sessionName The session name.

Value Returned

t_sessionName The session name.

July 2004 821 Product Version 6.3

Page 822: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsCloseLibManager

ddsCloseLibManager()=> t | nil

Description

Closes the Library Manager.

Note: Calling this function while the Library Manager is busy (with a copy, or rename, orcheck-in/check-out action) might have undesirable side effects.

Arguments

None.

Value Returned

t The Library Manager is closed.

nil The Library Manager cannot be closed.

July 2004 822 Product Version 6.3

Page 823: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsEditProp

ddsEditProp(t_libNamet_cellNamet_viewName)=> propertyEditor

Description

Invokes the property editor on the named object. Calls peEditProp after getting the ID forthe named object.

Arguments

t_libName The name of the library. If t_cellName and t_viewName areblank, invokes the property editor on the library object.

t_cellName The name of the cell or “” in the specified library. Ift_viewName is blank, invokes the property editor on the cellobject.

t_viewName The name of the view or “” in the specified cell. Invokes theproperty editor on the cellView object.

Value Returned

Property Editor Invokes the property editor on the named object.

July 2004 823 Product Version 6.3

Page 824: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsEndSyncWithForm

ddsEndSyncWithForm()=> t | nil

Description

Terminates an application’s form synchronization with the Library Browser and closes theLibrary Browser.

Double-check the code in your applications to be sure there is a call to this function to matchyour call to ddsSyncWithForm. Otherwise, your application might not be synchronized withthe Library Browser.

Arguments

None.

Value Returned

t The function succeeds.

nil No library is selected or the Library Browser is not synchronizedwith any particular form.

Reference

For additional information, refer to the browser syncronization section of the Custom LibraryIBrowser Template.

July 2004 824 Product Version 6.3

Page 825: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsGetCurrentLib

ddsGetCurrentLib()=> b_ddLibId | nil

Description

Accesses the currently selected library in the Library Browser.

If your applications directly access the dmbCurLib variable or call dmGetCurLib, you needto review why. There is no concept of a current library. This function supports thoseapplications that might be sharing information from a form although it might not matter whatform the information is from. This function replaces dmbGetCurrentLib.

Arguments

None.

Value Returned

b_ddLibId The ddId of the library that is currently selected in the LibraryBrowser if a form is registered to it.

nil No library is selected or the Library Browser is not synchronizedwith any particular form.

Example> x = ddsGetCurrentLib()

dd:12347080

July 2004 825 Product Version 6.3

Page 826: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsGetCustomLibSelect

ddsGetCustomLibSelect()=> t_name | nil

Description

Returns the name string passed to ddsRegCustomLibSelect if a custom Library Browseris registered to the system. If a custom Library Browser is not registered, nil is returned.

Arguments

None.

Value Returned

t_name The name as specified to the ddsRegCustomLibSelectfunction.

nil Nothing is registered.

July 2004 826 Product Version 6.3

Page 827: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsGetServiceName

ddsGetServiceName()=> t_serviceName

Description

Returns a string that can be used as an MPS service name. The string is the name of theinvoked program plus the process ID number.

Arguments

None.

Value Returned

t_serviceName The MPS service name.

July 2004 827 Product Version 6.3

Page 828: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiCloseData

ddsHiCloseData()=> t | nil

Description

Displays a form that prompts you to select one or more objects to close and purge form virtualmemory.

Arguments

None.

Value Returned

t The function succeeded.

nil The function did not succeed.

July 2004 828 Product Version 6.3

Page 829: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiCreateLibrary

ddsHiCreateLibrary()=> t | nil

Description

Create new libraries from within DFII.

Arguments

None.

Value Returned

t A new library was created.

nil No new library was created.

July 2004 829 Product Version 6.3

Page 830: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiDefragCellView

ddsHiDefragCellView()=> t | nil

Description

Displays a form that prompts you to specify the dataset (library name, cell name, view name)to be defragmented. Defragmentation is an operation to remove the free space in a givencellview or cellviews in a specified library to regain more disk and memory space.

Arguments

None.

Value Returned

t The function succeeded.

nil The function did not succeed.

July 2004 830 Product Version 6.3

Page 831: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiDefragLib

ddsHiDefragLib()=> t | nil

Description

Displays a form that prompts you to specify the library to be defragmented. Fragmentation isan operation to remove the free space in a given cellview or cellviews in a specified library toregain more disk and memory space.

Arguments

None.

Value Returned

t The function succeeded.

nil The prompt behavior is not set.

July 2004 831 Product Version 6.3

Page 832: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiMakeReadOnly

ddsHiMakeReadOnly()=> t | nil

Description

Displays a form that prompts you to select cellviews currently open in edit mode and changethem to read only mode.

Arguments

None.

Value Returned

t The function succeeded.

nil The function did not succeed.

July 2004 832 Product Version 6.3

Page 833: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiOpenCdsLibEditor

ddsHiOpenCdsLibEditor()=> t | nil

Description

Brings up the Library Path Editor.

Arguments

None.

Value Returned

t The function succeeded.

nil The function did not succeed.

July 2004 833 Product Version 6.3

Page 834: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiPreferences

ddsHiPreferences()=> t | nil

Description

Invokes the Browser and CIW Preferences form.

Arguments

None.

Value Returned

t The function succeeded.

nil The function did not succeed.

July 2004 834 Product Version 6.3

Page 835: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsHiRefresh

ddsHiRefresh()=> t | nil

Description

Opens a form listing the open technology files, property bags, and CDBA cellviews that arenot current with their corresponding files on disk.

Arguments

None.

Value Returned

t Data was refreshed from disk.

nil No data was refreshed from disk.

July 2004 835 Product Version 6.3

Page 836: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsLEWhatsNewAtStartup

ddsLEWhatsNewAtStartup()=> t | nil

Description

Brings up the What’s New window for Virtuoso Layout Editor.

Arguments

None.

Value Returned

t The What’s New window appears.

nil The function failed.

July 2004 836 Product Version 6.3

Page 837: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsOnLineHelp

ddsOnLineHelp(s_tag)=> t | nil

Description

Brings up online Help documentation for DFII tools.

Arguments

s_tag The desired online Help to display in CDSDoc. Specify any of thefollowing to display the respective documentation:

Value Returned

t Online Help documentation for DFII tools was opened.

nil Online Help documentation for DFII tools was not opened.

caiug Cadence Application Infrastructure User Guide

main CDSDoc main menu

cvtguide Compatibility Guide

kpns DFII Known Problems and Solutions

relnote DFII Product Notes

window Help for the currently active window, if any

July 2004 837 Product Version 6.3

Page 838: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsOpenConvertToolBox

ddsOpenConvertToolBox()=> t | nil

Description

Displays the Conversion Tool Box user interface.

Arguments

None.

Value Returned

t The Conversion Tool Box is displayed.

nil The function failed.

July 2004 838 Product Version 6.3

Page 839: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsOpenLibManager

ddsOpenLibManager()=> t | nil

Description

Starts the library manager. The separate process, library manager, is invoked and connectedto using mps.

Note: When in replay, calls to this function will simply return. This is to not tie up the currentprocess waiting for the external process to come up. The ddserv code is structured such thatcommands coming through it are automatically replayable independent of the originalexternal process.

Arguments

None.

Values Returned

t The library manager opens.

nil The library manager is not opened.

July 2004 839 Product Version 6.3

Page 840: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsProgramName

ddsProgramName()=> t_programName

Description

Returns the name of the program minus any .exe extension.

Arguments

None.

Value Returned

t_programName The program name.

July 2004 840 Product Version 6.3

Page 841: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsRegCustomLibSelect

ddsRegCustomLibSelect(t_names_syncs_updates_endSyncs_curlLib)=> t | nil

Description

ddserv only supports one customization at a given time. If you call this function more thanonce, the latest set of functions are registered. The ddsRegCustomSelect functionperforms an isCallable Check on each of its arguments to insure that the functions have beenloaded into the system. If not, a message is generated.

*Warning* ddsRegCustomLibSelect: sync routine name not callable.

*Warning* ddsRegCustomLibSelect: update routine name not callable.

*Warning* ddsRegCustomLibSelect: endSync routine name not callable.

*Warning* ddsRegCustomLibSelect: curLib routine name not callable.

The functions ddsSyncWithForm, ddsUpdateSyncWithForm,ddsEndSyncWithForm, and ddsGetCurrentLib will invoke the registered customLibrary Browser interface functions using SKILL’s errset functionality. If any SKILL erroroccurs in the interface function or in the custom Library Browser itself, SKILL generates astack trace (if the skill_stacktrace variable has a value greater than 0) and control willreturn to the calling ddserv routine rather than jumping back to the SKILL top-level. This isto try to isolate the command the user is currently interacting with from problems in the LibraryBrowser interface.

Arguments

t_name A string to name the registration by.

s_sync The SKILL symbol of the function that performs theddsSyncWithForm action.

s_update The SKILL symbol of the function that performs theddsUpdateSyncWithForm action.

s_endSync The SKILL symbol of the function that performs theddsEndSyncWithForm action.

July 2004 841 Product Version 6.3

Page 842: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

s_curlLib The SKILL symbol of the function that performs theddsCurrentLib action.

Value Returned

t All the specified routines can be called in the current DFIIprocess.

nil The specified routines cannot be called in the current DFIIprocess.

ExampleddsRegCustomLibSelect( “dsb” ‘dsbSyncForm ‘dsbUpdateBrowsed ‘dsbEndFormSync‘dbsGetCurrentLib )

To define these four custom functions refer to the extended example found in the CustomLibrary Browser Template.

July 2004 842 Product Version 6.3

Page 843: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsServSelect

ddsServSelect(t_libt_cellt_view)=> t

Description

Processes a select request from the browser process if and only if a form is synchronized toit. It is the call logged in the cds.log file. The function sets the appropriate form field withthe library, cell, and view values.

Arguments

t_lib The name of a library.

t_cell The name of a cell.

t_view The name of a view.

Value Returned

t Always returns t.

July 2004 843 Product Version 6.3

Page 844: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsSyncWithForm

ddsSyncWithForm(r_forms_actions_libField[ s_cellField [ s_viewField [ l_viewTypes ] ] ])=> t | nil

Description

Registers the given form and fields of that form for synchronization with the Library Browser.The Library Browser is seeded with the current values of the library, cell, and view namesfrom the fields in the form if they are not blank. From this point until ddsEndSyncWithForm,selections in the Library Browser seed the given form fields.

Applications must call ddsEndSyncWithForm (or dmbLibBrowserFormDone, which isretained for compatibility) when they are done with the browser, using Cancel or OK. Notdoing so could result in unusual browser interactions for the user.

Arguments

r_form Name of the form that is calling the Library Browser.

s_action Specifies an action to further control starting the LibraryBrowser.

s_libField The symbol of the form text field that is to hold the name of thelibrary selected. It is the same as the library form field namespecified in hiCreateForm.

’design or’open

ddserv.browser onOpen: Opensautomatically, when the Open Design form isdisplayed in the DFII software.

’place ddserv.browser onPlace: Opensautomatically, when a Place Instance formappears. (There are several types of PlaceInstance forms.)

’other ddserv.browser onOther: Opensautomatically, when any other type of linkedform is displayed in the DFII software.

July 2004 844 Product Version 6.3

Page 845: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

s_cellField The symbol of the form text field that is to hold the cell name. Itis the same as the cell form field name specified inhiCreateForm.

s_viewField The symbol of the form text field that is to hold the view name. Itis the same as the view form field name specified inhiCreateForm.

l_viewTypes A list of viewType strings if s_viewField is specified. This listdirects the Library Browser to display only views matching the listof viewtypes when a cell is expanded.

Value Returned

t The execution of the function succeeds.

nil No library is selected or if the Library Browser is notsynchronized with any particular form.

ExampleexampleLibName = hiCreateStringField( ?name ’exampleLibName ?prompt "Library Name" ?value "" ?callback "ddsUpdateSyncWithForm( )" )exampleCellName = hiCreateStringField( ?name ’exampleCellName ?prompt "Cell Name" ?callback "ddsUpdateSyncWithForm( )" )exampleViewName = hiCreateStringField( ?name ’exampleViewName ?prompt "View Name" ?callback "ddsUpdateSyncWithForm( )" )exampleBrowser = hiCreateButtonBoxField( ?name ’exampleBrowser ?prompt " " ?choices ’(" Browse ") ?callback list("exampleBrowser( )") )hiCreateForm( ’exampleOpenForm "Synched Form Example" "exampleOpenForm( )" list( exampleLibName exampleCellName exampleViewName

exampleBrowser ) ""

July 2004 845 Product Version 6.3

Page 846: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

)procedure( exampleBrowser( )

ddsSyncWithForm( exampleOpenForm ’browse ’exampleLibName ’exampleCellName’exampleViewName )

)

procedure( exampleOpenForm( )ddsSyncWithForm( exampleOpenForm ’other ’exampleLibName

’exampleCellName ’exampleViewName ) hiDisplayForm( ’exampleOpenForm ))

ddsEndSyncWithForm()

Reference

For additional information, refer to the browser syncronization section of the Custom LibraryBrowser Template.

July 2004 846 Product Version 6.3

Page 847: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsUnregCustomLibSelect

ddsUnregCustomLibSelect([ g_verbose ])=> t

Description

Unregisters the custom Library Browser interface during a session.

Argument

g_verbose A message with the names of the functions it is registering.

Value Returned

t Always returns t.

July 2004 847 Product Version 6.3

Page 848: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsUpdateSyncWithForm

ddsUpdateSyncWithForm()=> t | nil

Description

If an application has registered a form with the Library Browser by callingddsSyncWithForm or dmbSyncWithForm, this function updates the Library Browser withthe values currently in the respective form fields.

This function provides complementary functionality when the library selector is normallyseeding the form field values. Care is taken here and in the Library Browser to avoid recursiveupdate attempts.

Arguments

None.

Value Returned

t The execution of the function succeeds.

nil No library is selected or the Library Browser is not synchronizedwith any particular form.

Reference

For additional information, refer to the browser syncronization section of the Custom LibraryBrowser Template.

July 2004 848 Product Version 6.3

Page 849: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsViewDDProp

ddsViewDDProp(t_libName[ t_cellName [ t_viewName ] ])=> t_viewFile

Description

Finds information about the specified object and any properties found in its property bag.

Arguments

t_libName The name of the library.

t_cellName The name of the cell in the specified library.

t_viewName The name of the view in the specified cell.

Value Returned

t_viewFile The viewFile window to which the information is printed.

July 2004 849 Product Version 6.3

Page 850: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddsWhatsNew

ddsWhatsNew()=> t | nil

Description

Brings up the What’s New window.

Arguments

None.

Value Returned

t The What’s New window appears.

nil The function failed.

July 2004 850 Product Version 6.3

Page 851: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

xcamCameraPS

xcamCameraPS()=> t

Description

Brings up the Camera – PostScript Format form, which lets you take a screen capture andsave it as a postscript file. This function is the programmatic equivalent of the Tools - Camera- PostScript command in the Command Interpreter Window (CIW). For more informationabout the Camera command or the xcam utility, see the Cadence Design Framework IIUser Guide.

Note: The Camera command and the xcam utility do not support 24 planes.

Arguments

None.

Value Returned

t Returns t after the Camera – PostScript Format form is closed.

July 2004 851 Product Version 6.3

Page 852: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

xcamCameraRas

xcamCameraRas()=> t

Description

Brings up the Camera – Rasterfile Format form, which lets you take a screen capture andsave it as a raster file. This function is the programmatic equivalent of the Tools – Camera –Raster command in the Command Interpreter Window (CIW). For more information aboutthe Camera command or the xcam utility, see the Cadence Design Framework II UserGuide.

Note: The Camera command and the xcam utility do not support 24 planes.

Arguments

None.

Value Returned

t Returns t after the Camera – Raster Format form is closed.

July 2004 852 Product Version 6.3

Page 853: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Custom Library Browser Template

The following may be used as a template for a custom Library Browser integration (browserin this template refers to the Library Browser).

;;***************************************************************************;; The sample syncronization routines for the sample browser integration.;; 1998 Cadence Design Systems, Inc. - All Rights Reserved.;;;; The code below is for example only and is not intended for production;; usage by customers. Users integrating their own custom browsers with DFII;; may use this file as a template for their own integration.;;;; The sample browser uses the prefix "dsb" for DAG-Simple-Browser. This;; browser only supports the expansion of a library, its cells, and views of;; a selected cell. Category display is not supported. There is no intention;; of extending the capabilities of this browser any further nor to make the;; source available except for what is listed here.;;***************************************************************************

;; The following global variable is used to designate when the browser is;; doing a selection of a library, cell, or cellview. When 't, the code will;; know not to try re-expand itself in case the form currently in sync has;; field callbacks that call ddsUpdateSyncWithForm (which ends up calling;; the dsbUpdateBrowser routine below).

dsbvIsSelecting = nil

;;***************************************************************************;; dsbSyncForm - This is the routine registered via ddsRegCustomLibSelect;; to syncronize a form to the dsb. It takes the same arguments as the;; ddsSyncWithForm routine. From this call until the dsbEndFormSync routine;; is called, the browser will seed or be seeded from the given form;; fields. Applications are required to call ddsEndSyncWithForm when they;; are done with a browser otherwise the user may experience strange;; browser behavior.;;;; dsb does not support the filtering of cellviews by viewType so the;; viewTypes arg from ddsSyncWithForm is ignored. If viewType filtering;; were to be supported, the browser would only display those cellviews;; whose viewType were in the given list. To get a cellview's viewType,;; you would call ddGetObj to get the master file in the cellview, and;; then ddMapGetFileViewType to get the viewType. For example,;;;; id = ddGetObj(lib cell view "*") ; '*' gets the master file;; viewType = ddMapGetFileViewType(id);;;; Some forms within DFII only syncronize the library field so it is the;; only required field from ddsSyncWithForm. Some forms only syncronize the;; library and cell fields (e.g., the CDF editor). This routine and the;; updateBrowser routine must be aware of this.;;***************************************************************************

procedure( dsbSyncForm(form action libFieldcellField viewField _viewTypes "rssggl")

prog((fn)

;; Verify that the specified fields exist on the given form.;; This is extra precaution against callers passing in misstyped

July 2004 853 Product Version 6.3

Page 854: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

;; field names. We also check that if a viewField is given, a;; valid cellField is also given.

fn = "dsbSyncForm"unless(get(form libField)

warn("%s: %L not a field on form %L\n" fn libField form->hiFormSym)return()

)when(cellField && !get(form cellField)

warn("%s: %L not a field on form %L\n" fn cellField form->hiFormSym))when(viewField && !get(form viewField)

warn("%s: %L not a field on form %L\n" fn viewField form->hiFormSym))when(viewField && !cellField

warn("%s: cellField required when specifying a viewField\n" fn)return()

)

;; Validate the browser action. If the browser action is one of;; 'open, 'place, or 'other and the user has set the corresponding;; ddserv environment variable to 'nil, the routine will return;; at this point. If the user specifies a value of 't, the code;; continues on and opens the browser. This control allows some;; specific applications to support bringing up the browser when;; specific commands are invoked.

unless(ddsBrowserAction(action)return(t)

)

;; Open the browser and save the form and field symbols.;; Then call the update routine to expand the browser to anything;; the user may have entered in these fields on the form.;;;; dsbvBrowser is a global variable that contains all the;; information for the dsb. It is only defined/bound when the;; browser is open; it does not exist otherwise.

dsbOpenBrowser()dsbvBrowser->form = formdsbvBrowser->lib = libFielddsbvBrowser->cell = cellFielddsbvBrowser->view = viewFielddsbUpdateBrowser()return(t)

))

;;***************************************************************************;; dsbEndFormSync - Terminates syncronization between the browser and the;; form. This is called when ddsEndSyncWithForm is called. When the browser;; is closed, the dsbvBrowser variable is purged and marked unbound; this;; clears any form and field information as well so it is not necessary to;; explicitly do it here. If the form and field information were stored;; differently, we would clear out the information to signify the browser;; wasn't sync'd to any form.;;;; This and the other routines below only act if a) there is a browser;; open and b) there is a form syncronized to it.

July 2004 854 Product Version 6.3

Page 855: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

;;***************************************************************************

procedure( dsbEndFormSync()when( boundp('dsbvBrowser) && dsbvBrowser->form

dsbCloseBrowser())t

)

;;***************************************************************************;; dsbGetCurrentLib - Returns the current library selected in the browser.;; This is called when ddsGetCurrentLib is called. The browser code sets;; the dsbvCurrentLib global variable whenever the library selection;; changes. This is possible because only 1 library can be expanded at any;; given time.;;***************************************************************************

procedure( dsbGetCurrentLib()when( boundp('dsbvBrowser) && dsbvBrowser->form

dsbvCurrentLib)

)

;;***************************************************************************;; dsbUpdateBrowser - This is the workhorse routine that expands/updates the;; browser with the values from the registered form fields. Some apps only;; register the lib or lib & cell fields.;;***************************************************************************

procedure( dsbUpdateBrowser()cond(

;;;; If there isn't a browser around or there isn't a form registred;; or we got here because the browser did a selection and a call-;; back for the form is doing an update, we simply return.;;(!boundp('dsbvBrowser) || !dsbvBrowser->form || dsbvIsSelecting

t);;;; Some apps (more historical from the 4.3.4 days) call the update;; routine in their cancel callbacks. Since the form should be;; going away, there really isn't anything to do as the next thing;; that should happen is a ddsEndSyncWithForm call.;;(hiIsInFieldCancel()

t);;;; Get any lib/cell/view values from the respective form fields.;; The assumption has always been (from 4.3.4) that these fields;; are string fields. If other types of fields were to be supported,;; the code below would have to be able to process them.;;;; The routine dsbExpandFromForm is a special routine that expands;; the browser to a given lib/cell/view. If all three values are;; 'nil, it only expands the libraries pruning back the display;; if it has to. A different browser may have to have a different;; behavior, but isolating it to a single function call helps;; keep it modular.

July 2004 855 Product Version 6.3

Page 856: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

;;(t

let( (tool lib cell view cellF viewF)tool = dsbvBrowserlib = get(tool->form tool->lib)->valuewhen( lib lib = (when (lib && lib != "") lib)

when( tool->cell && (cellF = get(tool->form tool->cell))cell = (when (cellF->value && cellF->value != "")

cellF->value))

when( cell && tool->view &&(viewF = get(tool->form tool->view))

view = (when (viewF->value && viewF->value != "")viewF->value)

)

dsbExpandFromForm(tool lib cell view))

)t

))

)

;;***************************************************************************;; dsbServeSelect - This routine is called by the browser code whenever a;; library, cell, or cellview is selected. It is listed here along with the;; others as an example. It's purpose is complimentary to the above;; dsbUpdateBrowser routine; it fills in the registered form fields with;; the selection in the browser.;;;; The variable dsbvIsSelecting is first set to 't before updating the;; form field value. In the case where the form field has a callback that;; calls ddsUpdateSyncWithForm, the update routine above will not try to;; expand the form again since it was already expanded by the user. This;; variable is reset once the fields have been updated.;;;; The code below is very specific to the dsb but conceptually, it gets;; the current library, cell, and cellview selections and sets the;; respective form field values.;;***************************************************************************

procedure( dsbServeSelect(obj fromWhere "ws")let( (tool node libF cellF viewF tmp)

tool = dsbvBrowserwhen(obj && tool->form

dsbvIsSelecting = tcaseq( fromWhere

(liblibF = get(tool->form tool->lib)libF->value = obj->namewhen( (cellF = get(tool->form tool->cell))

node = dsbGetExpandNode(tool->expandPathtool->cellClass)

unless(nodedsbGetExpandNode(tool->expandPath

tool->cellviewClass)

July 2004 856 Product Version 6.3

Page 857: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

)cellF->value = (if node node->name "")

)when( (tool->view && (viewF = get(tool->form tool->view)))

node = dsbGetExpandNode(tool->expandPathtool->cellviewClass)

unless(nodedsbGetExpandNode(tool->expandPath

tool->cellviewClass))viewF->value = (if node node->name "")

))(cell

tmp = dsbiGetLibParent(obj)libF = get(tool->form tool->lib)libF->value = tmp->namewhen( (cellF = get(tool->form tool->cell))

cellF->value = obj->name)

)(view

tmp = dsbiGetLibCellview(obj)libF = get(tool->form tool->lib)libF->value = car(tmp)when( (cellF = get(tool->form tool->cell))

cellF->value = cadr(tmp))when( (viewF = get(tool->form tool->view))

viewF->value = caddr(tmp))

))dsbvIsSelecting = nil

))

)

The following is a form example exercising the browser syncronization.

;;;; This file contains a command that takes library, cell, view, and;; mode values and performs an open using deOpen. The associated form;; also contains a 'Browse' button to exercise the custom library;; browser integration although it will also work with DFII's default;; browser as well.;;procedure(myOpen()

if( boundp('myOpenForm) && hiIsForm(myOpenForm) thenhiSetCurrentField(myOpenForm 'libName)

elselet((itemL)

itemL = tconc(itemL list(hiCreateStringField(?name 'libName?prompt "Library"?value ""?callback "myOpenLibCB()"

) 5:0 200:30 60))itemL = tconc(itemL list(hiCreateStringField(

?name 'cellName?prompt "Cell"

July 2004 857 Product Version 6.3

Page 858: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

?value ""?callback "myOpenCellCB()"

) 5:30 200:30 60)) itemL = tconc(itemL list(hiCreateStringField(

?name 'viewName?prompt "View"?value ""?callback "myOpenViewCB()"

) 5:60 200:30 60)) itemL = tconc(itemL list(hiCreateRadioField(

?name 'mode?prompt "Mode"?choices '("edit" "read")?value "read"

) 5:90 200:30 60)) itemL = tconc(itemL list(hiCreateFormButton(

?name 'browse?buttonText "Browse"?callback "myOpenBrowseCB()"

) 5:120 60:25))

hiCreateAppForm(?name 'myOpenForm?formTitle "Open Cellview"?fields car(itemL)?help ""?buttonLayout 'OKCancelApply?formType 'nonOptions?callback '("myOpenCB('ok)" "myOpenCB('cancel)")?unmapAfterCB t

))

)

ddsSyncWithForm(myOpenForm 'open 'libName 'cellName 'viewName)hiDisplayForm(myOpenForm)

)

procedure( myOpenBrowseCB()ddsSyncWithForm(myOpenForm 'browse 'libName 'cellName 'viewName)

)

procedure( myOpenLibCB()let( (form libN)

form = myOpenFormlibN = form->libName->value

hiHighlightField(form 'cellName hicBackground)hiHighlightField(form 'viewName hicBackground)when( libN != "" && ddGetObj(libN)

hiHighlightField(form 'libName hicBackground))ddsUpdateSyncWithForm()

))

procedure( myOpenCellCB()let( (form libN cellN)

form = myOpenFormlibN = form->libName->valuecellN = form->cellName->value

July 2004 858 Product Version 6.3

Page 859: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

hiHighlightField(form 'libName hicBackground)hiHighlightField(form 'viewName hicBackground)when( libN != "" && cellN != "" && ddGetObj(libN cellN)

hiHighlightField(form 'cellName hicBackground))ddsUpdateSyncWithForm()

))

procedure( myOpenViewCB()let( (form libN cellN viewN)

form = myOpenFormlibN = form->libName->valuecellN = form->cellName->valueviewN = form->viewName->value

hiHighlightField(form 'libName hicBackground)hiHighlightField(form 'cellName hicBackground)when( libN != "" && cellN != "" && viewN != "" &&

ddGetObj(libN cellN viewN)hiHighlightField(form 'viewName hicBackground)

)ddsUpdateSyncWithForm()

))

procedure( myOpenCB(okOrCan "s")prog( (form fspec libN cellN viewN id vType)

when(eq(okOrCan 'cancel)ddsEndSyncWithForm()return()

)form = myOpenFormlibN = form->libName->valuecellN = form->cellName->valueviewN = form->viewName->valuecond(

(libN == ""hiSetCallbackStatus(form nil)hiSetCurrentField(form 'libName)hiHighlightField(form 'libName hicError)myOpenDBox("Need Library Name" "Please enter a library name.")return()

)(cellN == ""

hiSetCallbackStatus(form nil)hiSetCurrentField(form 'cellName)hiHighlightField(form 'cellName hicError)myOpenDBox("Need Cell Name" "Please enter a cell name.")return()

)(viewN == ""

hiSetCallbackStatus(form nil)hiSetCurrentField(form 'viewName)hiHighlightField(form 'viewName hicError)myOpenDBox("Need View Name" "Please enter a view name.")return()

)(!ddGetObj(libN cellN viewN)

July 2004 859 Product Version 6.3

Page 860: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

hiSetCallbackStatus(form nil)hiSetCurrentField(form 'viewName)hiHighlightField(form 'viewName hicError)myOpenDBox("Not Found"

sprintf(nil strcat("Cellview '%s/%s/%s' does not exist.\n""Please check your entries.")libN cellN viewN))

return())

)hiSetCallbackStatus(form t)hiFormUnmap(form)ddsEndSyncWithForm()

fspec = list(nil 'libName libN 'cellName cellN 'viewName viewN 'viewType nil 'accessMode form->mode->value)

return( deOpen(fspec nil) ))

)

procedure( myOpenDBox(banner msg "tt")hiDisplayAppDBox(

?name 'myDBox?dboxBanner banner?dboxText msg?dialogType hicErrorDialog?buttonLayout 'Close

))

July 2004 860 Product Version 6.3

Page 861: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmb Compatibility Functions

These functions are provided for backward compatibility. If you are writing new code, use thedds functions from the previous section.

July 2004 861 Product Version 6.3

Page 862: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmbGetCurrentLib

dmbGetCurrentLib()=> ddId / nil

Description

Returns the ddId of the library currently selected in the Library Browser if a form is registeredto it (otherwise, the Library Browser is hidden).

Note: There is nothing in the system that supports the notion of a “current” library.

Supplied for compatibility to support those applications that may be sharing the informationfrom a form (although it might not matter what form it is). Replace with ddsGetCurrentLib.

Arguments

None.

Value Returned

ddId The ddId of the library that is currently selected in the LibraryBrowser.

nil No library is selected or the Library Browser is not synchronizedwith any particular form.

Example> x = dmbGetCurrentLib()

dd:12347080

The Library Browser is displayed and a library is selected for backward compatibility.

July 2004 862 Product Version 6.3

Page 863: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmbLibBrowserFormDone

dmbLibBrowserFormDone(s_formtype)=> t

Description

Terminates the synchronization between the last form registered and the Library Browser.Applications should ALWAYS call this function when they know their Library Browser/forminteraction has terminated (using Cancel or OK). Leaving it hanging could result inunpredictable behavior which would degrade the usability of the system.

Supplied for compatibility. Replace with ddsEndSyncWithForm.

Prerequisite

Call dmbLibBrowserFormDone after the hiDisplayForm call that brings up the DFIIsoftware form. Refer to the example under dmbSyncWithForm.

Arguments

s_formtype Identifies the type of form that is invoking the Library Browser:

Value Returned

t Execution of the function succeeded.

ExampledmbLibBrowserFormDone( 'design )

'design The Open Design form from the DesignFramework II Open menu.

'place A Place Instance form from an editor. (Thereare several types of Place Instance forms.)

'other Any other type of linked form.

July 2004 863 Product Version 6.3

Page 864: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmbOpenLibBrowser

dmbOpenLibBrowser()=> t / nil

Description

Invokes the library manager. The separate process, library manager, is invoked andconnected to using mps.

Supplied for compatibility. Replace with ddsOpenLibManager.

Arguments

None.

Value Returned

t The library manager is opened.

nil The library manager is not opened.

July 2004 864 Product Version 6.3

Page 865: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmbSetBrowserInteractions

dmbSetBrowserInteractions(?openDesignOption sl_openDesignOption?openPlaceInstanceOption sl_openPlaceInstanceOption?openOthersOption sl_openOthersOption)=> t / nil

Description

Specifies whether the Library Browser is automatically opened when certain types of formsappear. This function is provided for backward compatability with only the 4.3.4 version.

You should remove any .cdsinit calls and replace with the following .cdsenv variables (inthe .cdsenv file):ddserv.browser onOpenddserv.browser onPlaceddserv.browser onOther

Or, you can explicitly call envSetVal in your .cdsinit file:envSetVal( "ddserv.browser" "onOpen" 'boolean nil)envSetVal( "ddserv.browser" "onPlace" 'boolean t)

Arguments

g_openDesignOptionDefines interactions between the Open Design form and theLibrary Browser.Valid values:

g_openPlaceInstanceOptionDefines interactions between any Place Instance form and theLibrary Browser.Valid values:

t Open the Library Browser automatically when thisform is open.

nil Opening this form has no effect on the LibraryBrowser.

t Open the Library Browser automatically when thisform is open.

July 2004 865 Product Version 6.3

Page 866: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

g_openOthersOptionDefines interactions between any other type of linked form andthe Library Browser. Valid values:

Note: All the arguments for closing are no longer applicable.

Value Returned

t Execution of the function succeeded.

nil Execution of the function failed if any of the input parameters isinvalid.

ExampledmbSetBrowserInteractions( ?openOthersOption t)

nil Opening this form has no effect on the LibraryBrowser.

t Open the Library Browser automatically when suchforms are open.

nil Opening these forms has no effect on the LibraryBrowser.

July 2004 866 Product Version 6.3

Page 867: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmbSyncWithForm

dmbSyncWithForm(s_form s_synctypes_libraryNames_cellNames_viewName[ s_versionNumber ])=> t / nil

Description

Establishes synchronization between a given form and the Library Browser. The given library,cell, and view fields are filled in as you select items in the Library Browser.

Any form in the DFII software can be linked to the Library Browser. Linking ensures that thelibrary, cell, view, and version fields of the corresponding form and the selected expansion inthe Library Browser window are synchronized. One of these two functions should be calledimmediately before bringing up any form that is to be synchronized with the Library Browser.The last four parameters to these functions dictate which fields in the form are synchronizedwith the Library Browser when the dmbUpdateBrowser function is invoked. You cansynchronize only one form at a time with the Library Browser.

dmbSyncWithForm and dmbSyncWithCellForm are identical, except that s_viewNameis required in dmbSyncWithForm and is optional in dmbSyncWithCellForm.

Supplied for compatibility. Replace both with ddsSyncWithForm.

Arguments

s_form Name of the form that is calling the Library Browser.

s_synctype Specifies an action to further control the use of the LibraryBrowser. Defines how the Library Browser is called:

’design Opens automatically when the Open Design formis displayed in the DFII software.

’place Opens automatically when the Place Instanceform appears. (There are several types of PlaceInstance forms.)

July 2004 867 Product Version 6.3

Page 868: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

s_libraryName Represents the symbol of the form text field that is to hold thename of the library selected. This is the same as the library formfield name specified in hiCreateForm.

s_cellName The symbol of the form text field that is to hold the cell name. Itis the same as the cell form field name specified inhiCreateForm.

s_viewName The symbol of the form text field that is to hold the view name. Itis the same as the view form field name specified inhiCreateForm.

s_versionNumber The version number form field name specified inhiCreateForm.

Value Returned

t The function succeeds.

nil No library is selected or the Library Browser is not synchronizedwith any particular form.

ExampleexampleLibName = hiCreateStringField( ?name ’exampleLibName ?prompt "Library Name" ?value "" ?callback "dmbUpdateBrowser( )" )exampleCellName = hiCreateStringField( ?name ’exampleCellName ?prompt "Cell Name" ?callback "dmbUpdateBrowser( )" )exampleViewName = hiCreateStringField( ?name ’exampleViewName ?prompt "View Name" ?callback "dmbUpdateBrowser( )" )exampleVersionNumber = hiCreateStringField(

’other Opens automatically when any other type oflinked form is displayed in the DFII software.

’browse Opens manually by selecting the Browse buttonfrom one of the above three types of forms.

July 2004 868 Product Version 6.3

Page 869: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

?name ’exampleVersionNumber ?prompt "Version Number" ?callback "dmbUpdateBrowser( )" )exampleBrowser = hiCreateButtonBoxField( ?name ’exampleBrowser ?prompt " " ?choices ’(" Browse ") ?callback list("exampleBrowser( )") )

hiCreateForm( ’exampleOpenForm "Synched Form Example" "exampleOpenForm( )" list( exampleLibName exampleCellName exampleViewName exampleVersionNumber exampleBrowser ) "")procedure( exampleBrowser( ) dmbSyncWithForm( exampleOpenForm ’browse ’exampleLibName

’exampleCellName’exampleViewName ’exampleVersionNumber ))procedure( exampleOpenForm( ) dmbSyncWithForm( exampleOpenForm ’other ’exampleLibName ’exampleCellName ’exampleViewName ’exampleVersionNumber) hiDisplayForm( ’exampleOpenForm ) dmbLibBrowserFormDone( ’other ))

July 2004 869 Product Version 6.3

Page 870: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmbSyncWithCellForm

dmbSyncWithCellForm(s_forms_synctypes_libraryNames_cellName[ s_viewName ][ s_versionNumber ])=> t / nil

Description

Establishes synchronization between a given form and the Library Browser. The given library,cell, and view fields are filled in as you select items in the Library Browser.

Any form in the DFII software can be linked to the Library Browser. Linking ensures that thelibrary, cell, view, and version fields of the corresponding form and the selected expansion inthe Library Browser window are synchronized. One of these two functions should be calledimmediately before bringing up any form that is to be synchronized with the Library Browser.The last four parameters to these functions dictate which fields in the form are synchronizedwith the Library Browser when the dmbUpdateBrowser function is invoked. You cansynchronize only one form at a time with the Library Browser.

dmbSyncWithForm and dmbSyncWithCellForm are identical, except that s_viewNameis required in dmbSyncWithForm and is optional in dmbSyncWithCellForm.

Supplied for compatibility. Replace both with ddsSyncWithForm.

Arguments

s_form Name of the form that is calling the Library Browser.

s_synctype Specifies an action to further control the use of the LibraryBrowser. Defines how the Library Browser is called:

’design Opens automatically when the Open Design formis displayed in the DFII software.

’place Opens automatically when the Place Instanceform appears. (There are several types of PlaceInstance forms.)

July 2004 870 Product Version 6.3

Page 871: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

s_libraryName Represents the symbol of the form text field that is to hold thename of the library selected. This is the same as the library formfield name specified in hiCreateForm.

s_cellName The symbol of the form text field that is to hold the cell name. Itis the same as the cell form field name specified inhiCreateForm.

s_viewName The symbol of the form text field that is to hold the view name. Itis the same as the view form field name specified inhiCreateForm.

s_versionNumber The version number form field name specified inhiCreateForm.

Value Returned

t The function succeeds.

nil No library is selected or the Library Browser is not synchronizedwith any particular form.

ExampleexampleLibName = hiCreateStringField( ?name ’exampleLibName ?prompt "Library Name" ?value "" ?callback "dmbUpdateBrowser( )" )exampleCellName = hiCreateStringField( ?name ’exampleCellName ?prompt "Cell Name" ?callback "dmbUpdateBrowser( )" )exampleViewName = hiCreateStringField( ?name ’exampleViewName ?prompt "View Name" ?callback "dmbUpdateBrowser( )" )exampleVersionNumber = hiCreateStringField(

’other Opens automatically when any other type oflinked form is displayed in the DFII software.

’browse Opens manually by selecting the Browse buttonfrom one of the above three types of forms.

July 2004 871 Product Version 6.3

Page 872: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

?name ’exampleVersionNumber ?prompt "Version Number" ?callback "dmbUpdateBrowser( )" )exampleBrowser = hiCreateButtonBoxField( ?name ’exampleBrowser ?prompt " " ?choices ’(" Browse ") ?callback list("exampleBrowser( )") )

hiCreateForm( ’exampleOpenForm "Synched Form Example" "exampleOpenForm( )" list( exampleLibName exampleCellName exampleViewName exampleVersionNumber exampleBrowser ) "")procedure( exampleBrowser( ) dmbSyncWithForm( exampleOpenForm ’browse ’exampleLibName

’exampleCellName’exampleViewName ’exampleVersionNumber ))procedure( exampleOpenForm( ) dmbSyncWithForm( exampleOpenForm ’other ’exampleLibName ’exampleCellName ’exampleViewName ’exampleVersionNumber) hiDisplayForm( ’exampleOpenForm ) dmbLibBrowserFormDone( ’other ))

July 2004 872 Product Version 6.3

Page 873: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmbUpdateBrowser

dmbUpdateBrowser()=> t / nil

Description

Updates the library browser with the values currently in the registered form formFields. Thisfunction lets applications update the Library Browser based on what users type into a form.

Any form in the DFII software can be linked to the Library Browser using thedmbSyncWithForm or dmbSyncWithCellForm function. After you invoke thedmbUpdateBrowser function for the form, you no longer need to type values on the form forthe library, cell, view, and (optionally) version. Instead, you can select from graphic choicesdisplayed in the Library Browser window, and the selected value will automatically display inthe appropriate name field on the form. Conversely, typing a value in a name field on the formcauses that typed name to be selected in the Library Browser window.

Supplied for compatibility. Replace with ddsUpdateSyncWithForm.

Arguments

None.

Value Returned

t Execution of the function succeeded.

nil No library is selected or the Library Browser is not synchronizedwith any particular form.

ExampleexampleLibName = hiCreateStringField( ?name ’exampleLibName ?prompt "Library Name" ?value "" ?callback "dmbUpdateBrowser( )" )exampleCellName = hiCreateStringField( ?name ’exampleCellName ?prompt "Cell Name" ?callback "dmbUpdateBrowser( )" )

July 2004 873 Product Version 6.3

Page 874: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

hiCreateForm( ’exampleOpenForm "Synched Form Example" "exampleOpenForm( )" list( exampleLibName exampleCellName ) ""

)procedure( exampleBrowser( )

dmbSyncWithCellForm( exampleOpenForm ’browse ’exampleLibName ’exampleCellName))procedure( exampleOpenForm( ) dmbSyncWithCellForm( exampleOpenForm ’other ’exampleLibName ’exampleCellName ) hiDisplayForm( ’exampleOpenForm ) dmbLibBrowserFormDone( ’other ))

July 2004 874 Product Version 6.3

Page 875: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Cell Category Functions (ddCat Interface)

The files used to store the category information are in a special format developed for use withthe Cadence Team Design Manager (TDM).

If you copy a library containing categories with the intent of using a new library name, thecategory information stored in the .Cat and .TopCat files under the library will requireupdating because the library name is stored in these files as part of the data.

These files are simple text files which can be manipulated using vi, sed, or awk. The.TopCat file lists the top level categories for the library and each .Cat lists categorycontents. Items in these files are of the form

library_name / cell_name type=”cell”

or

library_name> / category_name.Cat type=”category”

To update the library name to the new library name, edit the files from UNIX like this:

% foreach cat ( *.TopCat *.Cat )> mv $cat $cat.tmp> sed -e ‘s/^library_name/new_name/’ $cat.tmp > $cat> end

July 2004 875 Product Version 6.3

Page 876: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatOpen

ddCatOpen(g_ddIdt_categoryNamet_mode)=> d_objId / nil

Description

Opens a category with the given name and uses the mode to get the object ID.

You can use ddCatGetLibCats to get the names of the categories in a library. With this listof names, you can use ddCatGetCatMembers to access the contents of each category. Youcan use subsequent calls to ddCatOpen and ddCatGetCatMembers to processhierarchical categories.

Like DFII design management, this interface does not let you create new categories if theyalready exist. This prevents recursive category specification within a library.

Arguments

g_ddId The library ID or category ID (for hierarchical categories). If theobject is a libId and the given name is " " or nil, the library’slist of categories can be accessed or modified.

t_categoryName The name of the category.

t_mode The modes "a", "w", or "r". See ddGetObj.

Value Returned

d_objId The ID for the opened category.

nil The category does not exist or cannot be opened in the specifiedmode.

Examplecat = ddCatOpen(libId "myCat" "a")ddCatAddItem(cat "cell1" "cell")

July 2004 876 Product Version 6.3

Page 877: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatSave(cat)ddCatClose(cat)

Updates (or creates) a category and adds a cell name to it.

July 2004 877 Product Version 6.3

Page 878: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatOpenEx

ddCatOpenEx(g_ddIdt_categoryNamet_modex_keepEmpty)=> d_objId / nil

Description

Opens a category with the given name using the mode to get the object ID.

Similar to ddCatOpen except that this function has an additional fourth argument indicatingthat a flag should be set in the category file so that the dd interface will not remove thecategory file when it is empty.

Arguments

g_ddId The library ID or category ID (for hierarchical categories). If theobject is a libId and the given name is " " or nil, the library'slist of categories can be accessed or modified.

t_categoryName The name of the category.

t_mode The modes "a", "w", or "r". See ddGetObj.

x_keepEmpty When x_keepEmpty is 1, the category files are not deleted,but, when x_keepEmpty is 0, the category files are deleted.

Value Returned

d_objId The ID for the opened category.

nil The category does not exist or cannot be opened in the specifiedmode.

Note: By calling ddCatOpenEx( g_ddId t_categoryName t_mode nil), you getthe same behavior as in ddCatOpen.

July 2004 878 Product Version 6.3

Page 879: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ExampleCat = ddCatOpenEx(libId "myCat" "a" "1")ddCatAddItem(cat "cell1" "cell")ddCatSave(cat)ddCatClose(cat)

Updates (or creates) a category and adds a cell name to it.

July 2004 879 Product Version 6.3

Page 880: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatAddItem

ddCatAddItem(g_ddIdt_namet_type)=> t / nil

Description

Adds the specified name to the given category.

Edits are not written to disk until a ddCatSave is done. The given category must have beenopened for “w” (write) or “a” (append).

Arguments

g_ddId The object ID of the item.

t_name The name of the item.

t_type The object type of the item. The caller must specify the type ofthe object being added.Valid Values: cell, category

Value Returned

t The function was successful.

nil The function failed.

July 2004 880 Product Version 6.3

Page 881: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatSubItem

ddCatSubItem(g_ddIdt_name)=> t / nil

Description

Removes the named item from the given category.

If the name is the name of a category (that is, removing a subcategory from anothercategory), the system checks if it is referenced in any other category. If not, the category ismoved to the library category list. This action ensures that the caller must do a ddCatRemoveto actually remove category entries from a library. Changes are not written to disk until addCatSave is done.

Arguments

g_ddId The object ID of the item.

t_name The name of a cell or category.

Value Returned

t The function was successful.

nil The function failed.

July 2004 881 Product Version 6.3

Page 882: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatSave

ddCatSave(g_ddId)=> t / nil

Description

Writes the category information to disk. This writes out any changes made to the category todisk.

Arguments

g_ddId The object ID of the item.

Value Returned

t The function was successful.

nil The function failed.

July 2004 882 Product Version 6.3

Page 883: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatRemove

ddCatRemove(g_ddId)=> t / nil

Description

Removes the category and its contents from disk. All references to the category are removedfrom the library.

Arguments

g_ddId The object ID of the category.

Value Returned

t The function was successful.

nil The function failed.

July 2004 883 Product Version 6.3

Page 884: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatClose

ddCatClose(g_ddId)=> t / nil

Description

Closes the category and purges its information from virtual memory. Any edits since the lastddCatSave are lost.

Arguments

g_ddId The object ID of the category.

Value Returned

t The function was successful.

nil The function failed.

July 2004 884 Product Version 6.3

Page 885: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatGetCatName

ddCatGetCatName(g_ddId)=> t_categoryName / nil

Description

Returns the category name of the given category ID.

Arguments

g_ddId The object ID of the category.

Value Returned

t_categoryName The category name of the given category ID.

nil The function failed.

July 2004 885 Product Version 6.3

Page 886: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatGetCatMembers

ddCatGetCatMembers(g_ddId)=> l_memberList / nil

Description

Returns the list of members of the given category.

Arguments

g_ddId The object ID of the category.

Value Returned

l_memberList The list of member name and type pairs in the given category.

nil The category has no members.

Example'(("nand2" "cell") ("Models" "category"))

Returns the list of memberName and type pairs.

July 2004 886 Product Version 6.3

Page 887: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatGetLibCats

ddCatGetLibCats(g_ddId)=> l_categoryNames / nil

Description

Returns the list of library-level categories.

Arguments

g_ddId The object ID of the library.

Value Returned

l_categoryNames The list of library-level categories.

nil The library has no categories.

July 2004 887 Product Version 6.3

Page 888: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatFindCat

ddCatFindCat(g_ddIdt_namet_mode)=> d_objId / nil

Description

Returns the ID of a category with the given name in the given mode. Traverses categoryhierarchies.

This function calls ddCatOpen to get the category ID to be returned. The caller must callddCatClose to properly flush the information from virtual memory when done. The categoryis opened in the given mode.

Arguments

g_ddId The library ID.

t_name The category name.

t_mode The modes "a", "w", or "r". See ddGetObj.

Value Returned

d_objId The ID of a category with the given name in the given mode. Thereturned ID can be used to access the category members.

nil The function failed.

July 2004 888 Product Version 6.3

Page 889: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatGetCellsNotInCat

ddCatGetCellsNotInCat(g_ddId)=> l_cellNames / nil

Description

Returns the names of cells that are not in any category. This information is derived from theexisting category files under a library.

Arguments

g_ddId The category ID.

Value Returned

l_cellNames The type of the object found if the category contains somethingof that name.

nil All cells are listed in some category.

July 2004 889 Product Version 6.3

Page 890: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ddCatIsObjInCat

ddCatIsObjInCat(t_nameb_ddId)=> t_type / ddcCatUnknownType

Description

Searches for the named object in the given category.

Arguments

t_name The object name.

b_ddId The category ID.

Value Returned

t_type The type of the object found if the category contains somethingof that name.

ddcCatUnknownType The category does not contain anything of that name.

July 2004 890 Product Version 6.3

Page 891: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Old Cell Category Functions

These functions are provided for backward compatibility. If you are writing new code, use theddCat functions from the previous section.

July 2004 891 Product Version 6.3

Page 892: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmAddCellToCategory

dmAddCellToCategory(g_categoryIdl_cellList)=> t / nil

Description

Adds the specified cells to the category.

Supplied for compatibility. The equivalent functionality using the ddCat API would be

foreach( i cellListddCatAddItem( categoryId i~>name "cell" )

)ddCatSave( categoryId )

Using the ddCat API is more efficient because the categories are implemented using check-point files that must be locked against access by other users. Although the edits are writtento disk (ddCatSave), the process still has a lock on the category until it is freed usingddCatClose.

After you call dmAddCellToCategory, use ddCatClose on g_categoryId.

Note: The DFII-DM function accepted a list of cell IDs. For forward compatibility, theimplementation of this function accepts a list of cell IDs or cell names.

Arguments

g_categoryId ID of the category to which the specified cells are added.

l_cellList List of cells to be added to the category.

Value Returned

t The cells are added.

nil The specified cells or the category ID cannot be found.

July 2004 892 Product Version 6.3

Page 893: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmCreateCellCategory

dmCreateCellCategory(g_libOrCatIdt_categoryNamel_cellList)=> t / nil

Description

Creates a cell category and adds all specified cells to the category.

Supplied for compatibility. The equivalent functionality using the ddCat API would be

catId = ddCatOpen( libOrCatId categoryName "w" )when( catId

foreach( i cellListddCatAddItem( catId i~>name "cell" )

)ddCatSave( catId )ddCatClose( catId )

)

Using the ddCat API is more efficient because the categories are implemented using check-point files that must be locked against access by other users. The above lines of codeexplicitly gets a lock (the ddCatOpen) and frees the lock (the ddCatClose).

Note: The DFII-DM function accepted a list of cell IDs. For forward compatibility, theimplementation of this function accepts a list of cell IDs or cell names.

Arguments

g_libOrCatId ID of the library or cell category to be created.

t_categoryName Name of the category to be created.

l_cellList List of cells to be added to the category.

Value Returned

t The category is created.

nil The category cannot be created.

July 2004 893 Product Version 6.3

Page 894: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmRemoveCellCategory

dmRemoveCellCategory(g_categoryId)=> t / nil

Description

Removes a cell category from a library or from a parent cell category.

Supplied for compatibility. The equivalent functionality using the ddCat API would be

ddCatRemove( categoryId )

Arguments

g_categoryId ID of the cell category to be removed.

Value Returned

t The cell category is removed.

nil The library or parent cell category cannot be found.

July 2004 894 Product Version 6.3

Page 895: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dmRemoveCellFromCategory

dmRemoveCellFromCategory(g_categoryIdl_cellList)=> t / nil

Description

Removes one or more cells from a cell category.

Supplied for compatibility. The equivalent functionality using the ddCat API would be

foreach( i cellListddCatSubItem( categoryId i~>name )

)ddCatSave( categoryId )

After you call dmRemoveCellFromCategory, use ddCatClose on g_categoryId.

Note: The DFII-DM function accepted a list of cell IDs. For forward compatibility, theimplementation of this function accepts a list of cell IDs or cell names.

Arguments

g_categoryId ID of the cell category to be removed.

l_cellList List of cells to be added to the category.

Value Returned

t The cell category is removed.

nil The library or parent cell category cannot be removed.

July 2004 895 Product Version 6.3

Page 896: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Design Editor SKILL Functions

This section describes the SKILL level interface to the Design Editor, including

■ Registering and unregistering applications

■ Client interface

■ Application trigger routines

■ General support routines

■ Support routines for applications operating on CDBA data

Registering and Unregistering Applications

The Design Editor requires applications to register their characteristics and entry points sothat they can be called in the appropriate situations. If the user attempts to edit a design forwhich the view type is not registered, no window will be opened.

Registration is not the same as licensing. The application which is registered with the DesignEditor still might not be licensed for use.

Both application view types and view subtypes are registered using the same procedure,defined in this section. However, because the data and application triggers can only beregistered at the root (or view type) level an error is generated if these procedures aresupplied for a view subtype.

July 2004 896 Product Version 6.3

Page 897: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deRegApp

deRegApp(?viewType t_viewType?parentType t_parentType?appName t_appName?help t_help?dataTrigger s_dataTrigger?appTrigger s_appTrigger?enableTrigger s_enableTrigger?menuTrigger s_menuTrigger?postInstallTrigger s_postInstallTrigger?widgetType t_widgetType?noCadenceMenu g_noCadenceMenu?windowBBoxProc s_function?appTitle t_appTitle)=> t / nil

Description

Registers the characteristics and entry points of applications so that they can be called in theappropriate situations.

Arguments

t_viewType View type (or view subtype, if t_parentType is not nil) towhich the application wants to attach itself. An application canattach itself to any number of view types, but must calldeRegApp once for each one. The list of predefined view typescurrently available are listed in “Predefined Views andViewTypes.” All view type and view subtype names must beunique. That is, if an application subclasses two different viewtypes, it must use two unique subTypes even if the triggers areotherwise identical.

t_parentType View type or view subtype that t_viewType subclasses. Anapplication can subclass any number of parentTypes, but mustcall deRegApp with a unique subType name for each one.t_parentType does not have to be previously registered.However, an application can never be accessed untilt_parentType is successfully registered.

If t_parentType is "", the data and application triggers mustbe specified, or an error results.

July 2004 897 Product Version 6.3

Page 898: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

If t_parentType is not empty, these triggers must be nil, oran error results.

t_appName Name of the application. This name is used for a number ofpurposes, including attaching a set of bindkeys to the windowwhen the application is installed, and for clients of deOpen to usewhen they want to explicitly override the default applicationassociated with a given view type. When the application isregistered, t_appName is registered as a bindkey prefix withthe Human Interface code. Subsequently, hiSetBindKey can becalled with t_appName to associate a key binding with theapplication. The Human Interface code provides a mechanismfor sharing bindkeys between multiple applications.

t_help Help string for the application. Whenever the application isinstalled in a window, the window’s help string is set to this value.

s_dataTrigger SKILL function that will be called when the user has finishedspecifying to DE the particular design data to be edited. The datatrigger has the responsibility of actually opening the data. Thedata trigger is discussed in detail in the next section.

s_appTrigger SKILL function that is called after the data is installed in thewindow. The primary function of this routine is for the applicationto manage any runtime context required by the application. Theapplication trigger is discussed in detail in the next section.

s_enableTrigger SKILL function that is called to determine if the application isenabled for use by the current user. The enable trigger willnormally do any appropriate security checks necessary to makethis determination. This function should be defined in anautoload file, and not in the application context. Otherwise, theapplication context will be loaded even when the security checksfail. This trigger is optional, and if omitted, no license check ismade by the Design Editor. However, if licensing or otherrestriction is desired, then the application code is responsible forimplementing it.

s_menuTrigger SKILL function that is called when the Design Editor determinesthat menus for the application must be installed in the banner.This routine is normally defined in the application context andreturns a list of menus to be installed when this application is

July 2004 898 Product Version 6.3

Page 899: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

required. If this trigger is omitted, the application itself must takeresponsibility for any banner menu initialization.

s_postInstallTriggerSKILL function that is called when the Design Editor has finishedall installation, including the banner menus, and displaying thewindow. This is provided for those applications that need to finishup any initialization that must occur after menus are installed.

t_widgetType Window widget type the application needs. Whenever theapplication is installed in a window, the window’s widget type isset to this value. This value can only be set for root class viewtypes. The value must be either text, corresponding to plain textdata, or graphics, corresponding to general graphicallydisplayed data. This value defaults to graphics if not supplied.

g_noCadenceMenu Flag indicating whether the standard Cadence menu is desiredas the first item in the menu banner. If nil, the Cadence menuwill be supplied automatically. If if is t, the Cadence menu will notappear. The default is nil, so only applications which explicitlydo not desire this menu need to supply it. Design Editor clientsnot using this menu are advised that this menu contains all thebasic Design Editor commands, and that those which apply tothe application (particularly deReturn) should be madeavailable to the user in some manner.

s_function Function to register. The function is passed the t_appName soit must accept a string and return a hi window bbox specificationwhere the first coordinate is the lower left corner and the secondcoordinate is the upper right corner.

Note: hi bbox’s are based on a screen where (0,0) is the lower left hand corner ofthe screen.

t_appTitle Name to appear on the customizer menu for this application.

Value Returned

t The registration was successful.

nil the registration was not successful.

July 2004 899 Product Version 6.3

Page 900: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Example

See the extended example at the end of this chapter.

July 2004 900 Product Version 6.3

Page 901: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deUnRegApp

deUnRegApp(t_viewType)=> t / nil

Description

Unregisters the view type.

Only one application can currently be registered for each view type. If a second registrationis attempted, an error results. To re-register a view type with different procedures, the viewtype must first be unregistered with this routine.

Arguments

t_viewType View type to be removed from the list of applications known tothe Design Editor.

Value Returned

t The view type was unregistered.

nil The view type was not unregistered.

ExampledeUnRegApp( "graphic" )

Removes “graphic” from the list of registered view types and returns t.

July 2004 901 Product Version 6.3

Page 902: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deRegUserTriggers

deRegUserTriggers(t_viewType[ s_appTrigger [ s_menuTrigger [ s_postInstallTrigger ] ] ])=> t / nil

Description

Registers user application, user menu, and user post install triggers.

A user application trigger is called immediately following the application trigger. (Only rootview types can have application triggers, therefore, only root view types can have userapplication triggers.) A user menu trigger is called before the menu trigger. A user post installtrigger is called immediately following the post install trigger.

User triggers are optional and can be defaulted to nil; however, there is no point inregistering user triggers if all are nil. This condition, therefore, is flagged as an error. Usertriggers are described in detail in the next section.

Only one set of user triggers can be registered for any given view type. If user triggers arealready registered when deRegUserTriggers is called, an error results. Because thesetriggers are for customers to use, Cadence applications should not use them.

Arguments

t_viewType View type or view subtype to which s_appTrigger,s_menuTrigger, and s_postInstallTrigger will beattached. An application can attach user triggers to any numberof view types, but must call deRegUserTriggers once for eachone.

s_appTrigger Symbol for a SKILL function to be called after the applicationtrigger is called. The primary function of this routine is to allowthe user to manage any runtime context that might need to beadded to customize an existing application. The user applicationtrigger is discussed in detail in the next section.

s_menuTrigger Symbol for a SKILL function to be called before the menu triggeris called. The primary function of this routine is to allow the userto supply any menus that might need to be added to customize

July 2004 902 Product Version 6.3

Page 903: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

an existing application. The user menu trigger is also discussedin detail in the next section.

s_postInstallTriggerSymbol for a SKILL function to be called after the post-installtrigger is called. The primary function of this routine is to allowthe user to do any processing that might be required after theapplication has been fully installed and displayed in the window.See deUnRegUserTriggers.

Value Returned

t Registration was successful.

nil Registration failed.

ExampledeRegUserTriggers(viewType "" ’userMenuTrigger)

Returns t if the user menu trigger is registered and nil otherwise.

deRegUserTriggers(viewType "" "" ’userTrigger)

Returns t if the user post-install trigger is registered and nil otherwise.

July 2004 903 Product Version 6.3

Page 904: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deUnRegUserTriggers

deUnRegUserTriggers(t_viewType)=> t / nil

Description

Removes any user triggers associated with t_viewType.

Arguments

t_viewType View type or view subtype for which the user triggers are to beremoved.

Value Returned

t The triggers were unregistered.

nil The triggers were not unregistered.

ExampledeUnRegUserTriggers( "graphic" )

Removes any user triggers associated with view type “graphic” and returns t.

July 2004 904 Product Version 6.3

Page 905: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deInheritEnabling

deInheritEnabling(t_viewType)=> t / nil

Description

Enables t_viewType to depend on the enabling of its parent type. Thus, the user musthave the parent application licensed in order to use the application. t_viewType must bea subclass of some other view type.

Arguments

t_viewType View subtype for which enabling is to be inherited.

Value Returned

t The enabling was inherited.

nil The enabling was not inherited.

ExampledeInheritEnabling( "graphic" )

Sets view type “graphic” to inherit the enabling of its parent and returns t.

July 2004 905 Product Version 6.3

Page 906: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deUnInheritEnabling

deUnInheritEnabling(t_viewType)=> t / nil

Description

Removes the inheritance of enabling for t_viewType.

Arguments

t_viewType View subtype for which the inheritance of enabling is to beremoved.

Value Returned

t The enabling inheritance was removed.

nil The enabling inheritance was not removed.

ExampledeUnInheritEnabling( "graphic" )

Removes dependence of view type “graphic” enabling on its parent and returns t.

July 2004 906 Product Version 6.3

Page 907: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deInheritMenus

deInheritMenus(t_viewType)=> t / nil

Description

Causes t_viewType to inherit the menus defined by its parent class.

When this application is installed, the menu trigger of its parent (which can itself inheritmenus) is called, after which the menu trigger associated with t_viewType is called andthe results of the latter call are appended to that of the former to construct the banner menulist. If there is no parent type, or the inheritance cannot be done, nil is returned.

Note: Inheriting menus implies that both application menus and user application menus areinherited.

Arguments

t_viewType View subtype for which the inheritance of menus is desired.

Value Returned

t The menus could be inherited.

nil The menus could not be inherited.

ExampledeInheritMenus( "graphic" )

Sets view type “graphic” to inherit the menus of its parent and returns t.

July 2004 907 Product Version 6.3

Page 908: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deUnInheritMenus

deUnInheritMenus(t_viewType)=> t / nil

Description

Removes the inheritance of menus for t_viewType.

Arguments

t_viewType View subtype for which the inheritance of menus is to beremoved.

Value Returned

t The menu inheritance was removed.

nil the menu inheritance was not removed.

ExampledeUnInheritMenus( "graphic" )

Removes dependence of view type “graphic” menus on its parent and returns t.

July 2004 908 Product Version 6.3

Page 909: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deRegProbeTrigger

deRegProbeTrigger(s_probeTrigger)=> t / nil

Description

Registers a probe trigger, s_probeTrigger, to be called after creating a new window orinstalling a new design in an existing window.

The probe trigger is responsible for maintaining the probe context, which is kept for eachwindow. The probe trigger is also called when the window is closed to delete the probecontext. Only one probe trigger can be registered. If one has already been registered, an erroris generated. The probe trigger is discussed in the next section.

Arguments

s_probeTrigger SKILL function to be called when a window probe context needsto be updated because of a change in the window contents.

Value Returned

t The probe trigger was installed.

nil The probe trigger was not installed.

ExampledeRegProbeTrigger( ’myProbeTrigger )

Installs ’myProbeTrigger as the current global probing trigger and returns t.

July 2004 909 Product Version 6.3

Page 910: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deUnRegProbeTrigger

deUnRegProbeTrigger()=> t / nil

Description

Removes the current probe trigger.

Arguments

None.

Value Returned

t The probe trigger was removed.

nil The probe trigger was not removed.

ExampledeUnRegProbeTrigger()

Removes the current probe trigger and returns t.

July 2004 910 Product Version 6.3

Page 911: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetProbeTrigger

deGetProbeTrigger()=> s_probeTrigger / nil

Description

Returns the current probe trigger.

Arguments

None.

Value Returned

s_probeTrigger SKILL symbol for the current global probe trigger.

nil No current probe trigger is registered.

ExampledeGetProbeTrigger()

Assuming the previous example, returns ’myProbeTrigger.

July 2004 911 Product Version 6.3

Page 912: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetAppInfo

deGetAppInfo(t_viewType)=> l_appInfo / nil

Description

Returns the application registration information associated with t_viewType and itssubview types.

This function returns a property list with the following elements:

If t_viewType is a root view type, then l_appInfo->parentType will be "", and l_appInfo->dataTrigger and l_appInfo->appTrigger will be non-nil. Otherwise, the opposite is true.

l_appInfo->viewType viewType (string)

l_appInfo->parentType Parent type (string)

l_appInfo->appName Application name (string)

l_appInfo->help Application help string (string)

l_appInfo->dataTrigger SKILL data trigger (symbol)

l_appInfo->appTrigger SKILL application trigger (symbol)

l_appInfo->enableTrigger SKILL enable trigger (symbol)

l_appInfo->menuTrigger SKILL menu trigger (symbol)

l_appInfo->postInstallTrigger SKILL post-install trigger (symbol)

l_appInfo->userAppTrigger SKILL user app trigger (symbol)

l_appInfo->userMenuTrigger SKILL user app trigger (symbol)

l_appInfo->userPostInstallTrigger SKILL user post-install trigger (symbol)

l_appInfo->inheritEnabling Whether or not to inherit enabling (t/nil)

l_appInfo->inheritMenus Whether or not to inherit menus (t/nil)

l_appInfo->widgetType widgetType of the window (string)

l_appInfo->noCadenceMenu Whether or not to install the CadenceMenu

(t/nil)

l_appInfo->subTypes subviewType list of this viewType (list)

July 2004 912 Product Version 6.3

Page 913: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

l_appInfo->subTypes is a list of property lists, one for each defined subviewType oft_viewType, which have the same format. Thus l_appInfo contains the entire classtree for t_viewType.

■ If there are no sub viewtypes, then l_appInfo->subTypes is nil.

■ If t_viewType is itself a subType, then only the subType tree with t_viewType at itsroot is returned.

Arguments

t_viewType View type for which you want the information.

Value Returned

l_appInfo Application information for t_viewType, if any.

Example

For the subviewType, maskLayout

deGetAppInfo("maskLayout") => (nil viewType "maskLayout" parentType ""appName "Layout" apptitle nil help"Layout" widgetType "graphics" noCadenceMenu tdataTrigger geDataTrigger appTrigger leAppTrigger enableTriggerleEnableTrigger menuTrigger leMenuTrigger exitTrigger nilpostInstallTrigger nil windowBBoxProc leWindowBBoxProc userAppTrigger niluserMenuTrigger nil inheritMenus nilinheritEnabling nil subTypes (

(nil viewType "maskLayoutXL" "parentType" "maskLayout"appName "Virtuoso XL" appTitle "Layout XL" help"layoutXLhelp" widgetType "graphics" noCadenceMenu tdataTrigger nil appTrigger nil enableTriggerlxiEnableTrigger menuTrigger lxiMenuTrigger exitTriggerlxiExitTriggerpostInstallTrigger lxiPostInstallTrigger windowBBoxProc niluserAppTrigger nil userMenuTrigger nil inheritMenus nilinheritEnabling nil subTypes nil)

deGetAppInfo and changing the application information

Caution

deGetAppInfo() returns a pointer to the application information. If theapplication information is then changed, your local pointer to theapplication information also changes.

July 2004 913 Product Version 6.3

Page 914: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Example

Register the user triggers.

deRegUserTrigger("maskLayout"'appTriggerCB 'menuTriggerCB 'postInstallTriggerCB

)

Verify that the triggers are registered.

localAppInfo = deGetAppInfo("maskLayout")

localAppInfo->userAppTrigger ; Display the userAppTrigger.appTriggerCB

localAppInfo->userMenuTrigger ; Display the userMenuTrigger.menuTriggerCB

localAppInfo->postInstallTriggerCB ; Display the postInstallTriggerpostInstallTriggerCB

Unregister the user triggers.

deUnRegUserTriggers("maskLayout")

Note: The localAppInfo properties are set to nil even though localAppInfo was notdirectly modified.

localAppInfo->userAppTriggernil

localAppInfo->userMenuTriggernil

localAppInfo->postInstallTriggerCBnil

Copy the application information into different variables if you want to preserve theinformation for future reference:

localAppTrigger = localAppInfo->userAppTrigger

July 2004 914 Product Version 6.3

Page 915: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Client Interface

This section describes routines that implement the basic operations of the Design Editor,such as opening a window, pushing into a new design, returning, and so forth. Lower levelroutines used in the trigger implementations are described in later sections.

deOpen

deOpen([ l_fileSpec [ g_winSpec [ t_accessMode [ t_appName ] ] ] ])=> w_window / nil

Description

Takes a design specification and a window specification and attempts to install the design inthe specified window.

The following environment variables set the defaults for the Open File form:

graphic defaultNewCellNamegraphic defaultNewLibNamegraphic defaultNewViewNamegraphic defaultOpenCellNamegraphic defaultOpenLibNamegraphic defaultOpenViewName

Arguments

l_fileSpec Disembodied property list which can be nil or contain one ormore of the following elements:

l_fileSpec->libName Cellview library name (string)

l_fileSpec->libId Cellview library ID (dbId)

l_fileSpec->cellName Cellview cell name (string)

l_fileSpec->viewName Cellview view name (string)

l_fileSpec->viewId Cellview view ID (dbId)

l_fileSpec->viewNameList viewName switch list (string)

l_fileSpec->accessMode Desired access mode (string)

l_fileSpec->instanceName Instance name specification (string)

l_fileSpec->hierarchy Instance hierarchy specification (string)

July 2004 915 Product Version 6.3

Page 916: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

If enough information is supplied for DE to verify the existence of the design without furtherinteraction, it will do so. If not, then DE displays a form asking the user to supply the missingarguments. Either the library name or library Id can be supplied. If both are supplied, theymust be consistent or a warning is given. Similarly, either the view name or the view Id canbe supplied, and if both are supplied, they must be consistent.

The view name list field is optional, and if supplied, is used to determine the actual viewswitched into. The view name list is a string which contains a list of view names. The first onein the list for which a corresponding cell view can be found in the given library is used to openthe cell.

l_fileSpec->hierarchy is an optional property which describes a hierarchy to be pushed on topof the opened data. l_fileSpec->cellName, etc., thus specifies the top-level data andl_fileSpec->hierarchy specifies successive levels. All levels are pushed in one command, thusmaking this a convenient way to open a hierarchy and put each level onto the stack. Alltriggers for each level of hierarchy are called as the window stack is built. For levels which arenot the final edit level, the triggers will be called with l_args->action == “install” and l_args->pushed == t. If deOpen, deSwap, or dePush was executed, then all levels are push edited.If deEditInPlace was executed, then all levels are edited in place. There is currently noway to mix edit in place with push operations with this feature.

l_fileSpec->hierarchy lets the client open a hierarchy to any arbitrary level. The top-levelinstalled is defined by the other file spec fields. The hierarchy field specifies a list of items tobe pushed on top of that item. The syntax of the hierarchy string is designed to allow themaximum flexibility in installing items in the window stack.

l_fileSpec->instanceName is an optional property which is used for dePush anddeEditInPlace operations. It specifies an instance name, in the same format as anindividual hierarchy item, that refers to the library, cell, and view name properties of the filespec. The instance name is the name of an instantiation of that cellview in the edit cellview ofthe window which is supplied to the dePush or deEditInPlace command. WheninstanceName is supplied, the library, cell, and cellview properties are optional, and theOpen File form will only appear if the instance cannot be found in the current edit cellview inthe supplied window. The instanceName property is ignored if the window has no currentedit cellview (that is, has an empty stack) or if the supplied g_winSpec is not a valid DesignEditor window.

The syntax of l_fileSpec->hierarchy is as follows:

HierarchySpecification ::= ’/’ | ’/’ HierItemSpec |’/’ HierItemSpec HierarchySpecification

HierItemSpec ::= InstItemSpec | InstItemSpec ModeSpecInstItemSpec ::= InstMosaicSpec | InstMosaicSpec ’(’ ViewList ’)’ | DMSpec

l_fileSpec->configL Hierarchy manager configuration (list)

July 2004 916 Product Version 6.3

Page 917: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

ModeSpec ::= ’:’ ModeNameModeName ::= ’r’ | ’w’ | ’a’ | ’read’ | ’overwrite’ | ’edit’InstMosaicSpec ::= InstSpec | MosaicInstSpecInstSpec ::= InstName | InstName IterationSpecIterationSpec ::= ’<’ IterationList ’>’IterationList ::= IterationItem | IterationItem ’,’ IterationListIterationItem ::= Number | Number ’:’ NumberMosaicInstSpec ::= MosaicName ’[’ Number ’,’ Number ’]’DMSpec ::= ’{’ DMItem ’}’DMItem ::= LibName ’ ’ CellName ’ ’ ViewNameSpec |LibName ’ ’ CellName ’ ’ ViewNameSpec ’ ’ VersionNameViewNameSpec ::= ViewName | ’(’ ViewNameList ’)’ViewNameList ::= ViewName | ViewName ’ ’ ViewNameList

The InstName is the name given to an instance when it is created in the parent cellview. Allinstance names in the hierarchy list are relative to the immediate parent. Mosaic instancesare described by the name of the containing mosaic and the row and column of the instancein question. The iteration list for an instance is designed to capture any subset of the validiterations of an iterated instance.

The DMSpec lets the client supply a complete description of the hierarchy item desired,independent of any instance relationship with the parent. The format of a DMSpec item letsthe user supply a viewNameList as part of the specification. It should be noted that when aDMSpec is supplied to open a hierarchy item, programs which depend on the instantiationrelationship between that item and its parent will not work because a specific instance is notsupplied as part of the specification.

Each item in the list can have its own accessMode explicitly stated. If an item has not explicitaccessMode, it is defaulted to that supplied with the top-level file spec or deOpen call.

The configL is a member of the fileSpec that defines a Hierarchy Manager configuration. Itis a list of properties (t_libName, t_cellName, t_viewName, t_accessMode)describing the cellview of the configuration.

Note: t_accessMode is ignored and the configuration is always opened in read mode.

The dePush and deEditInPlace commands can be called with a file spec which containsonly a hierarchy item, if a valid window is passed which contains at least one valid stack item.The hierarchy is pushed on the valid stack item exactly as if that stack item were the primaryspecification in the file spec. If no valid stack item exists on the window, (or deOpen ordeSwap is called with only a hierarchy specification) then the first item in the hierarchy listmust be a DMSpec item. Otherwise, the Open File form is opened, and the user must specifythe top cellview explicitly. In this case, the first item on the hierarchy specification is pushedonto this top cellview. If the first item in the hierarchy specification is an instance, it must bepresent in the current item on the window stack.

July 2004 917 Product Version 6.3

Page 918: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

In the process of opening the hierarchy, if errors are encountered, the Open File form isopened to allow the user to correct these errors. Cancelling this form aborts the process,leaving the stack with all items successfully opened to that point.

The Open File form contains fields for the library name, cell name, and view name. Once thisform comes up, the user can change any of these fields as desired, with the result that thedesign actually opened might have no relationship to the values supplied in the original callto deOpen. At any time the user can decide to cancel the operation, with the result that nodesign is opened.

The Open File form also contains a command button to open the Library Browser window.The Open File form is synchronized with the browser so that Select operations in the LibraryBrowser window update the form.

g_winSpec Determines whether to use an old window or create a new one,and if a new one, what its creation parameters are.

w_window Uses the given window.

nil Creates a window in a default location.

l_bBox Creates a window with the given bBox.

’interactive Creates a window, user specifies bBox.

If an existing window is given, the current contents will be removed after the data triggerreturns successfully. Then the new design as is installed as the top-level design. If the stackcould not be successfully cleared, the data trigger will be called again with action “close” toclose the data file. If a new window is created, it will not be displayed until the end of theprocess. This minimizes the amount of work involved in the creation and display of the variousparts of the window.

If g_winSpec is defaulted (or nil is passed), the view is checked for the propertydefaultWindowBox. If this property exists, that box is used for the window. If that propertydoes not exist, the Design Editor chooses its own box.

t_accessMode Access mode desired for the design, and will be edit or read.(These correspond, respectively, to the UNIX modes a and r,which can also be used.) If the user does not have a license forthe application required to edit the design, the access modepassed to the trigger might differ. In this case, the user is given achance to abort the open sequence.

July 2004 918 Product Version 6.3

Page 919: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

The access mode can be supplied as an optional parameter afterg_winSpec or as part of l_fileSpec. This is forcompatibility with older code. If both exist and are different,t_accessMode overrides l_fileSpec->accessMode. If neitheris specified, then the access mode defaults to edit.

t_appName Name of an application sub type which is to be the applicationinstalled when the window is opened. t_appName must be thename of some sub type in the sub type tree registered with theview type of the specified view. If it is found, the root classregistration is used to open the data and create the context, butthe sub type hierarchy is used to determine licensing andbindkeys, and the application’s menu trigger is called to generatethe banner menus.

deOpen returns nil if a window could not be created or a design could not be opened.Otherwise it returns the window passed in or created.

Value Returned

w_window The name of the window opened. If a window was supplied asinput, then it can be returned unless it could not be used for somereason.

ExampledeOpen()

Brings up the Open File form, asking for the user to specify the library, cell, and view namesof a cellview to edit. When this form is answered, a window is created to contain the cellview.

myFileSpec = list( nil ’libname "test" ’cellName "ff" ’viewName "graphic" )

deOpen( myFileSpec list( 200:200 800:800 ) )

Opens a window, which is given the screen box (200:200 800:800), and installs the cellviewtest ff graphic in it.

myFileSpec = list( nil ’hierarchy "/{test ff graphic}:a/I4:r" )

deOpen( myFileSpec ’interactive )

Prompts the user to specify a screen box for a window, then installs the cellview “test ffgraphic” in it in edit mode, pushes into instance I4 in read mode, and finally displays thewindow.

July 2004 919 Product Version 6.3

Page 920: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deNew

deNew([ l_fileSpec ][ g_winSpec ][ t_accessMode ][ t_appName ])=> w_windowId / nil

Description

Creates a new cellview and opens it in a window.

If the library name, cell name, view name, and cellview type are not specified inl_fileSpec, or if l_fileSpec is not specified, the New File form opens, partially filledout with the information specified in l_fileSpec. The New File form requires a libraryname, cell name, view name, and application.

The following environment variables set the defaults for the New File form:

graphic defaultNewCellNamegraphic defaultNewLibNamegraphic defaultNewViewNamegraphic defaultOpenCellNamegraphic defaultOpenLibNamegraphic defaultOpenViewNamegraphic defaultToolNamegraphic viewNameToTypeList

The environment variable graphic viewNameToTypeList maps view names to view typesin the New File form. This variable contains the user’s mappings, which are in addition to, andtake precedence over, the built-in mappings (listed below). This variable is automaticallyupdated (in memory) each time a new viewName/viewType is used. You can save newmappings with the Options – Save Defaults command.

The view name to view type mapping is stored in memory and the view type-to-tool-mappingis stored in the registry.

When you enter a view name, the view names to view type mapping is used to determine theview type and then the registry is used to set the tool cyclic. When a tool is chosen, theregistry is read to determine the view type and then the view name to view type mapping isused to set the view name.

This automatic setting of tool or view name happens until you manually change the updatedfield. This means if you choose a tool and then change the view name, the tool is not changedand vice-versa.

July 2004 920 Product Version 6.3

Page 921: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

If you enter a new view name which does not yet map to a view type a dialog box appearsthat lets you select another tool or keep the current one.

The following are the built-in view name to view type mappings:

Name Type

( "abstract" "maskLayout")( "cmos.sch" "schematic")( "compacted" "maskLayout")( "extracted" "maskLayout")( "layout" "maskLayout")( "schematic" "schematic")( "symbol" "schematicSymbol")( "symbolic" "maskLayout")( "config" "config")

The following are the built-in view type to view name mappings:

Type Name

( "schematic" "schematic")( "maskLayout" "layout")( "schematicSymbol" "symbol")( "config" "config")

Arguments

l_fileSpec Symbol with the following property list:

libName is the library name

cellName is the cell name

viewName is the view name

viewType is the type of data in view directory.To view a list of valid values, enter deGetAllViewTypes() inthe CIW.

accessMode is the access mode.Valid values: "a" (edit), "r" (read), and "w" clears the old data andedit from scratch.

g_winSpec Creates a window.The valid values are

nil creates window using .Xdefaultsinteractive creates a window letting user specify location

July 2004 921 Product Version 6.3

Page 922: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

l_bBox creates a window using l_bBox as screenBoxw_window use w_window

t_accessMode File access mode. Should be "w" to allow editing, start fromscratch.

t_appName Overrides default application if supplied. To view a list of validvalues, enter deGetAppInfo viewType in the CIW.

Value Returned

w_windowId The ID of the window that opened.

nil No window opened.

ExampledeNew(list(nil?libName "test"?cellName "top"?viewName "layout"?viewType "maskLayout"))

Opens a mask layout window for editing that contains the layout view of the cell called topfrom the test library. Returns the ID of the window.

July 2004 922 Product Version 6.3

Page 923: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deNewCellView

deNewCellView(t_libNamet_cellNamet_viewNamet_viewTypeg_winSpec)=> w_windowId/nil

Description

Creates a new cellview and opens it in a window.

Arguments

t_libName The name of the library in which the cellview will be created.

t_cellName The cell in which the new cellview will be created.

t_viewName The view name of the new cellview.

t_viewType The type of the new cellview.

g_winSpec Creates a window.The valid Values are:nil creates window using .Xdefaults'interactive creates window letting user specify locationl_bBox creates window using l_bBox as screenBoxw_window uses w_window

Value Returned

w_windowId The window Id if the new cellview is created.

nil The new cellview was not created.

ExampledeNewCellView("test" "top" "layout" "maskLayout" list(list(0 0) list(500 600)))

July 2004 923 Product Version 6.3

Page 924: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Opens a mask layout window for editing that contains the layout view of the cell called topfrom the test library and created with the specified bounding box. Returns the ID of thewindow.

July 2004 924 Product Version 6.3

Page 925: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deOpenCellView

deOpenCellView(t_libNamet_cellNamet_viewNamet_viewTypeg_winSpect_accessMode)=> w_windowId / nil

Description

Opens an existing cellview in a window.

Arguments

t_libName The name of the library in which the cellview is opened.

t_cellName The cell to open.

t_viewName The view name of the cellview.

t_viewType The type of the cellview.

g_winSpec The window in which to open the cellview.

t_accessMode The mode in which to open the cellview. "a" (edit), "r" (read), and"w" (clears the old data and edit from scratch).

Value Returned

w_windowId The cellview opens.

nil The cellview did not open.

ExampledeOpenCellView("test" "top" "layout" "maskLayout" list(list(0 0) list(500 600))"a")

July 2004 925 Product Version 6.3

Page 926: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Opens a mask layout window for editing that contains the layout view of the cell called topfrom the test library and created with the specified bounding box. Returns the ID of thewindow.

July 2004 926 Product Version 6.3

Page 927: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dePush

dePush([ l_fileSpec [ g_winSpec [ t_accessMode [ t_appName ] ] ] ])=> w_window / nil

Description

The same as deOpen, except that if the window already exists, the current contents are notremoved. Instead the new design is pushed on top of the existing one.

Arguments

l_fileSpec File specification for the cellview to be pushed. See deOpen fora detailed explanation of the format for this argument.

g_winSpec Window specification for the window in which to do the push. SeedeOpen for a detailed description of this argument.

t_accessMode Access mode desired for the new design. Must be either edit orread.

t_appName Name of the application to install after the data is placed on thestack. The application must be a part of the view type subclasstree that is indicated by the data.

Value Returned

w_window Window in which the push is done. Normally this is the same asthe window passed in, but if necessary a new window is createdand returned

Example 1dePush( nil window(3) )

Brings up the Open File form, asking for the library, cell, and view names of a cellview to edit.When this form is completed, the cellview opened is pushed on the stack in window(3).

July 2004 927 Product Version 6.3

Page 928: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Example 2

Assume I4 is an instance of a symbol in window(3). Also assume that the schematic viewrepresented by that symbol exists in some library on the current library search path.

myFileSpec = list( ’instanceName "I4" ’viewNameList "schematic symbol")

dePush( myFileSpec window(3) "read" "Timing Analysis" )

Switches into the schematic master corresponding to instance I4 in the edit cellview inwindow(3) for reading, then starts up the Timing Analysis application in that window.

July 2004 928 Product Version 6.3

Page 929: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deSwap

deSwap([ l_fileSpec [ g_winSpec [ t_accessMode [ t_appName] ] ] ])=> w_window / nil

Description

Exactly the same as deOpen, except that if the window already exists, the current contentsare not removed. Instead the current stack item is replaced with the new design.

This corresponds to a trigger argument action of ’swap only if the view types of the old andnew contents are the same. Otherwise, the old contents are explicitly closed and the newcontents explicitly opened and installed. If the current contents are being edited in place, thenew contents are installed in edit-in-place. If the new contents being swapped consist of ahierarchy, the entire hierarchy is installed in edit-in-place. In this latter case, the ’swap actionwill not be passed even when the viewTypes are the same.

Arguments

l_fileSpec File specification for the cellview to be swapped into the givenwindow. See deOpen for a detailed explanation of the format forthis argument.

g_winSpec Window specification for the window in which to do the swap.See deOpen for a detailed description of this argument.

t_accessMode Access mode desired for the new design.Valid values:edit, read, overwrite, a, r, or w.

t_appName Name of the application to install after the data is placed on thestack. The application must be a part of the view type subclasstree that is indicated by the data.

Value Returned

w_window Window in which the swap is done. Normally this is the same asthe window passed in, but if necessary a new window is createdand returned.

July 2004 929 Product Version 6.3

Page 930: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Example 1deSwap( nil window(3) )

Brings up the Open File form, asking for the library, cell, and view names of a cellview to edit.When this form is completed, the cellview opened replaces the top of the stack inwindow(3).

Example 2deSwap( myFileSpec window(3) )

Swaps the top of the stack in window(3) with the cellview “test ff graphic,” openingthat in read mode, then pushes into instance I4 in edit mode.

July 2004 930 Product Version 6.3

Page 931: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deEditInPlace

deEditInPlace(w_window[ l_fileSpec [ t_accessMode [ t_appName ] ] ])=> w_window / nil

Description

Requires that w_window exists and has at least one stack element.

If the window has no stack, this command is the same as deOpen(l_fileSpecw_window t_accessMode). Otherwise, the triggers are called with l_args->eip equal tot. If a hierarchy is specified and the window either does not exist or has no stack, the top levelof the hierarchy is not opened in edit in place. However, all other levels of the hierarchy areopened in edit in place.

Argumentsthen

w_window Window in which to do the edit in place. This must be a validDesign Editor window with at least one stack element.

l_fileSpec File specification for the cellview to be pushed. See deOpen fora detailed explanation of the format for this argument.

t_accessMode Access mode desired for the new design.Valid values:edit, read, overwrite, a, r, or w.

t_appName Name of the application to install after the data is placed on thestack. The application must be a part of the view type subclasstree that is indicated by the data.

Value Returned

w_window Window passed in is returned.

Example

deEditInPlace( nil window(3) )

July 2004 931 Product Version 6.3

Page 932: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Brings up the Open File form, asking for the library, cell, and view names of a cellview to edit.When this form is completed, the cellview is pushed on the stack in window(3). The cellviewcurrently being displayed does not change, only the cell within its hierarchy which is beingedited changes.

July 2004 932 Product Version 6.3

Page 933: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deReturn

deReturn([w_window [ x_level ] ])=> x_level_new / nil

Description

Pops the window stack one or more levels.

If x_level is defaulted, the stack is popped one level. Otherwise, the stack is popped asmany times as necessary to leave the stack with x_level elements on it. This routinereturns nil if the current level could not be popped. Otherwise it returns the resulting editlevel, which can be greater than that passed in if one or more levels could not be popped. Ifx_level is -1, everything is automatically popped and the window is closed.

Arguments

w_window Window in which a stack element is to be popped. Defaults to thecurrent window.

x_level Stack level to return to.

Value Returned

x_level_new Stack level after the return completes.

nil The current level could not be popped

Example 1deReturn( window(3) )

Pops one level off the stack of window(3). Assuming the previous example, the window isleft in the same state as it was before the call to deEditInPlace.

Example 2deReturn( window(3) -1 )

Equivalent to hiCloseWindow( window(3) ).

July 2004 933 Product Version 6.3

Page 934: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deCopy

deCopy([w_window [ g_winSpec ] ])=> w_windowCopy / nil

Description

Makes a complete copy of the given window, including its stack and the context data storedon it.

w_windowCopy is identical to, but distinct from, w_window. During the copy process, thedata trigger will be called as if you had executed the corresponding sequence of deOpen/dePush/deEditInPlace operations. The application trigger will be called with the ’copyoperation and is responsible for initializing the destination context with the data from thesource context.

If g_winSpec is an existing window, its contents are removed before the copy begins. If thisoperation fails, the copy does not take place.

The current edit level of the destination window is set to be the same as that of the sourcewindow; if this is not the maximum edit level in the source window, it will not be in thedestination window.

Arguments

w_window Window which is to be copied. Defaults to the current window.

g_winSpec Window specification for the copy. See deOpen for a detaileddescription of this argument.

Value Returned

w_windowCopy vbCopy of w_window which is created.

nil The copy is not made.

ExampledeCopy( window(3) )

Returns a window containing the same cellview as n.

July 2004 934 Product Version 6.3

Page 935: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Trigger Arguments

The data, application, and user triggers are passed a single argument, which is adisembodied property list. The list can be updated at various times during the process asnecessary. All properties will be present in the list at the time the trigger is called; if anyproperty can’t be determined, then the operation is a failure and will be aborted before callingany triggers. The list of properties is as follows:l_args->libName Cellview library name (string)

l_args->libId Cellview library ID (dbId)

l_args->configName Configuration name (string)

l_args->cellName Cellview cell name (string)

l_args->viewName Cellview view name (string)

l_args->viewId Cellview view ID (dbId)

l_args->viewNameList View name switchlist (string)

l_args->accessMode Desired or actual access mode (string)

l_args->viewType viewType or viewSubType of the application (string)

l_args->rootType Root viewType of the view (string)

l_args->appName appName of the application being installed (string)

l_args->help Help string of the application being installed (string)

l_args->action Current action (see below) (string)

l_args->window Window in which to install the data (window)

l_args->srcContext Source context ("copy" only) (any datatype)

l_args->oldCellView Previously installed cellview ("swap" only) (dbId)

l_args->eip t if this is an edit in place, nil otherwise

l_args->pushed Context push state (t/nil)

l_args->config The Hierarchy Manager configId, if any,associated with the current window.

l_args->action Describes the situation in which the data is being installed in thewindow. Not all actions apply to all triggers, and when an actiondoesn’t apply, the trigger will not be called. The possible actionsare:

’open Open cellview (data triggers only)

July 2004 935 Product Version 6.3

Page 936: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

The triggers return nil if the operation fails. For successful returns, in some cases data isreturned; in others, simply t.

’install Create context for display or stacking

’close Stack item going away - close cellview / deletecontext

’push Cellview being pushed underneath another

’pop Cellview being popped from underneath another

’change Access mode for cellviewchanged

’reset Discard edits executed for this cellview

’save Cellview was saved to disk

’copy Copy window - stack and contexts are all copied

’copyInstall Install after copy

’swap Replace the current cellview with a new one ofsame type

l_args->viewType The viewType or viewSubType corresponding to the applicationwhich is being installed. l_args->rootType is the viewType of theroot of the class tree containing l_args->viewType.

July 2004 936 Product Version 6.3

Page 937: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dataTrigger

dataTrigger(l_args)=> g_handle / nil

Description

The data trigger is called after the DE has collected and verified all of the trigger arguments,checked for the proper application registration, and opened or validated a window for thedesign.

The data trigger actually opens the design and returns an identifier, g_handle, for the openfile. If this operation fails, it returns nil and the process is aborted.

Arguments

l_args The property l_args->action can be open, swap, or close.

’open Passed when a new window has been created, orwhen the user has called deOpen with an existingwindow. In the latter case, the Design Editor willremove the current contents of the window beforeinstalling the new design. Thus the new designalways becomes the bottom level of the stack in thewindow. In the process of removing the currentcontents of the window, triggers for designs on itsstack will be called and might necessitateinteraction with the user. The data trigger shouldabort and return nil if the specified design cannotbe opened.

To install or stack a design in the window requiresthat the application create a context and link it tothe window. The application trigger is responsiblefor all context creation and initialization.

July 2004 937 Product Version 6.3

Page 938: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

’swap Passed when the design is being replaced on thewindow stack by another design of the same viewtype. ’swap is equivalent to ’close on the currentdesign followed by ’install on the new design,except that because the view type is not changing,the data trigger and app trigger need only be calledonce, and the context can be overwritten instead ofdestroyed and recreated.

’close Passed when the design is being removed from thewindow stack. The data trigger can then close thedesign data.

July 2004 938 Product Version 6.3

Page 939: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

appTrigger

appTrigger(l_args)=> g_context / nil

Description

The application trigger is responsible for any necessary banner setup (except for menus),installing the window popup menu, and other application-specific initialization. It is alsoresponsible for managing the application context.

The application trigger is responsible for setting the window interface procedures andotherwise connecting itself to the window. This is referred to as “installing” the application intothe window. This will only need to be done when the current application is to be the displayedapplication; that is, for ’install and ’pop actions.

After the data trigger has returned successfully from opening the data, its handle is stored inthe window and the application trigger is called with the same argument list, with perhaps adifferent action. The application trigger creates a context and installs its window procedures.The application trigger returns this context (which is a SKILL data structure), and it will beplaced in the stack along with the data handle.

If the application trigger fails, the Design Editor operation in progress is aborted, with apotentially partial result.

July 2004 939 Product Version 6.3

Page 940: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Arguments

l_args->action Valid values: install, push, pop, close, change, reset,save, swap, copy, copyInstall

’install Indicates this design is about to be installed anddisplayed in the window. The trigger should createand initialize the context as necessary, includingany application specific initialization, and install itspopup menu and any bindkeys, etc. If successful,g_context is returned, at which time it isattached to the stack.If the item is to go on the stack, but is going to beimmediately pushed, then l_args->pushed will be tand the application need not install popups, etc. Thecontext must still be created and initialized but is notinstalled in the window. The context should becreated in the pushed state, as if the operation’push had been called with it.If this design is being edited in place l_args->eip willbe t. In this case, the application can assume thatthere is at least one item already stacked.EditInPlace stack elements are marked as such bythe Design Editor. If l_args->pushed is nil, theapplication might want to reinstall popups, and soforth, but this is not necessary.

’push Indicates this design was displayed and about to bepushed underneath a new design. The popupshould be removed, and that portion of the contextwhich is to remain around while the design isunderneath should be saved. The trigger shouldreturn nil if this level cannot be pushed, thusaborting the stacking operation. Otherwise,g_context will replace the context in theassociated stack element. If the trigger intends toreplace the existing context with a new handle, it isresponsible for deleting the existing context.

If l_args->eip is t, then the new design wasgenerated by an edit in place. (This is not the sameas when the current design was there as a result ofan edit-in-place.) In this case, the application mightwant to do something different with the context.

July 2004 940 Product Version 6.3

Page 941: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

’pop Indicates this design was pushed and the design ontop of it was just removed. This action is the sameas ’install but assumes that the context alreadyexists in a pushed state and that some work mightbe necessary to restore it. If successful,g_context is the popped context. Otherwise nilis returned. If the design was pushed in an edit-in-place operation, l_args->eip will be t.

’close Indicates this design is about to be removed fromthe stack. All menus, etc. should be removed unlessl_args->pushed is t, in which case this is notnecessary because this stack element was not theone displayed. The application context should bedeleted. If the design was installed in an edit-in-place operation, l_args->eip will be t. This returns tif successful, nil otherwise.

’change Indicates the design’s access mode was changedby the user. Any context changes (such as disable/enable menu items) that might be required to keepin sync should be done. The return value is ignored.

’reset Indicates that the design was just refreshed fromdisk and edits were discarded. Any context changes(such as deleting references to objects which mighthave gone away) that might be required should bedone. The return value is ignored.

’save Indicates that the design was just saved to disk. Anycontext changes (such as changing the nameframe) that might be required should be done. Thereturn value is ignored.

July 2004 941 Product Version 6.3

Page 942: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

’swap Indicates that a new design has replaced thecurrent stack element, and the app trigger mustreinitialize the context according to the new design.“swap” is equivalent to “close” on the old stackelement and “open” on the new one, except that bydefinition, the same trigger is called in both cases.Hence, the trigger only need be called once, and itwill not normally need to reinstall the banner/popupmenus, bindkeys, etc. It will have to reinitialize thecurrent context to the new design. g_context isreturned, and might or might not be the same as theoriginal handle. If not, the app trigger is responsiblefor deleting the previous version. The old cellview ispassed as args->oldCellView, and the appTrigger isresponsible for closing this cellview.

’copy Indicates that the user is copying the window andthe context needs to be copied. In this case, l_args->srcContext is the context associated with this stackelement in the source window. l_args->window isthe destination window. l_args->eip is the sourcestack item eip state. l_args->pushed is t if thesource stack frame was a pushed frame and nil ifit was the displayed frame. The application triggerreturns g_context, which is the copy of thesource context, or nil if a copy could not be made.

’copyInstall

Indicates that the context has already been copied,and all that is necessary is to install it in the window.

July 2004 942 Product Version 6.3

Page 943: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

userAppTrigger

userAppTrigger(l_args)=> t / nil

Description

After the application trigger is called, the user application trigger is called with the sameargument list. The user application trigger allows clients to subclass existing applicationtriggers, and thus add additional context to that already managed by the application. The userapplication trigger’s return value is ignored, but should generally indicate t for success andnil for failure.

Arguments

l_args List of arguments.

Value Returned

t The execution of the function succeeded.

nil The execution of the function failed.

July 2004 943 Product Version 6.3

Page 944: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

enableTrigger

enableTrigger([l_args])=> t / nil

Description

The enable trigger is a special routine loaded separately from the application context,normally by an autoload file.

The enable routine normally takes no arguments, and returns t or nil depending on whetherthe application passes or fails, respectively, the security checks required before the user canedit designs with it. This routine must not call any code in the application context. Thereforeany routines needed should be included in the autoload file along with the enable trigger itself.

The enable trigger and its associated routines are placed in an autoload file rather than theapplication context because it will be called to determine whether an application is availableto the user. If the application is not enabled, the application context is not needed. Thusputting this code in a separate autoload file eliminates the need to load the application contextwhen the application is not enabled.

When registered with a vie twype, the enable trigger is called when trying to open a cellviewof that view type. If it returns nil, the cellview will not be opened, and the Design Editoroperation which initiated it fails. When registered in a customizer, the enable trigger is calledwhen the customizer menu is built, thus causing the associated items to be disabled. In thismanner, the user will not have access to the tool.

The enable trigger is also called when the user attempts to install a new application either byexecuting a customizer menu item or by calling deInstallApp. In this case, the enabletrigger is passed the full set of trigger arguments. The enable trigger can use this argumentlist to do additional checking after the license check.

Arguments

l_args List of arguments.

Value Returned

t The execution of the function succeeded.

nil The execution of the function failed.

July 2004 944 Product Version 6.3

Page 945: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

menuTrigger

menuTrigger(l_args)=> l_menuList / nil

Description

The menu trigger is called when an application is about to be installed as the currentapplication in a window. At the time the menu trigger is called, all other triggers have alreadybeen called, and the window is about to be displayed (or if the window was a previouslyexisting window, about to be refreshed).

The menu trigger does not install the menus itself; this is done by the Design Editor. Themenu trigger merely returns a list of the menus that are to be installed when needed. Themenu trigger is passed the trigger arguments in case it desires to customize its menu listaccording to any data in l_args. When the menu trigger for a parent view type is called dueto menu inheritance, those elements of l_args derived directly from the viewType (args->viewType and args->appName) will be those derived from the parent type, not the originalview type.

Arguments

l_args List of arguments.

Value Returned

l_menuList A list of the menus that are to be installed when needed.

nil The execution of the function failed.

July 2004 945 Product Version 6.3

Page 946: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

userMenuTrigger

userMenuTrigger(l_args)=> l_menuList / nil

Description

The user menu trigger is called just before the application menu trigger is called and performsthe same function. This trigger allows the user to attach menus to an application. Although itis called prior to the application menu trigger, the menu list it returns is appended after theapplication menus.

The user menu trigger does not install the menus itself; this is done by the Design Editor. Theuser menu trigger merely returns a list of the menus that are to be installed when needed.The user menu trigger is passed the trigger arguments in case it desires to customize itsmenu list according to any data in l_args. When the user menu trigger for a parent viewtype is called due to menu inheritance, those elements of l_args derived directly from theviewType (args->viewType and args->appName) will be those derived from the parent type,not the original view type.

Arguments

l_args List of arguments.

Value Returned

l_menuList A list of the menus that are to be installed when needed.

nil The execution of the function failed.

July 2004 946 Product Version 6.3

Page 947: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

postInstallTrigger

postInstallTrigger(l_args)=> t / nil

Description

The post-install trigger is called after all other processing is done, including installation ofbanner menus and the display of the window. It is available for applications to do anyprocessing that cannot be done before this time, such as adding menu items to an existingmenu.

Arguments

l_args List of arguments.

Value Returned

t The execution of the function succeeded.

nil The execution of the function failed.

July 2004 947 Product Version 6.3

Page 948: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

userPostInstallTrigger

userPostInstallTrigger(l_args)=> t / nil

Description

Called immediately after the post-install trigger. It serves the same function but is intendedfor use only by the customer.

Arguments

l_args List of arguments.

Value Returned

t The execution of the function succeeded.

nil The execution of the function failed.

July 2004 948 Product Version 6.3

Page 949: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

probeTrigger

probeTrigger(w_windows_action[w_source])=> t / nil

Description

The probe trigger is called when the Design Editor has installed a new design in a window,whether an existing one or a new one. It is also called when the window is closed. This triggerallows the probing mechanism to keep its data structures consistent without requiring eachapplication to call it separately.

Arguments

w_window The window being operated on.

s_action When a new window is created, and a design is installed, theprobe trigger is called after the installation is complete withs_action == ’install. When a window is closed, the probetrigger is called with s_action ’close before any other actionsare taken to dismantle the window. When an existing window ishaving its design changed, the probe trigger will be called twice.First, when the Design Editor calls deClearStack, the probetrigger will be called with s_action == ’close before any otheraction is taken. Then, after the new design is installed, it will becalled again with s_action == ’install after the installationis complete, just as with the creation of a new window. Fors_action == ’install or ’close, the third argumentw_source is nil, and should be ignored.

w_source If deCopy is used to make a copy of a window, the probe triggeris called with s_action == ’copy. In this case, the thirdargument, w_source, is not nil and is the source window ofthe copy. Thus the probe trigger can copy the probe context tothe new window rather than creating a new context.

The probe trigger is responsible for setting and maintaining the probe context. Routines existfor setting and retrieving this context, which is otherwise opaque to the Design Editor.

July 2004 949 Product Version 6.3

Page 950: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Value Returned

t The execution of the function succeeded.

nil The execution of the function failed.

July 2004 950 Product Version 6.3

Page 951: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Design Editor Support Routines

This section describes routines available to support all applications, regardless of whether ornot they operate on CDBA data. Those routines that alter Design Editor data structures(generally those with Set in their names) are intended for use inside the triggers and shouldnot be used as standalone operations.

July 2004 951 Product Version 6.3

Page 952: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetCellView

deGetCellView([w_window [x_level] ])=> d_cellview / nil

Description

Returns the cellview for the item on the window stack corresponding to x_level. A value ofnil is returned if the stack is empty, x_level is not a valid stack level in w_window, orx_level is -1. If x_level is defaulted or nil then the current item on the stack is used.

Arguments

w_window Window that contains the cellview that is desired. Defaults to thecurrent window.

x_level Stack level to retrieve the cellview from.

Value Returned

d_cellview The cellview at the requested stack level.

nil The stack is empty, x_level is not a valid stack level inw_window, or x_level is -1.

ExampledeGetCellView( window(3) 0 )

Equivalent to window(3)->topCellView.

July 2004 952 Product Version 6.3

Page 953: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetEditCellView

deGetEditCellView([w_window])=> d_cellview / nil

Description

Returns the cellview for the item on the window stack corresponding to the current edit level.nil is returned if the stack is empty.

This function is equivalent to

deGetCellView( w_window deGetEditLevel( w_window ))

but is more efficient.

Arguments

w_window Window that contains the desired cellview. Defaults to thecurrent window.

Value Returned

d_cellview The cellview at the current edit stack level.

nil The stack is empty.

ExampledeGetEditCellView( window(3) )

Equivalent to window(3)->editCellView.

July 2004 953 Product Version 6.3

Page 954: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deSetCellView

deSetCellView([w_window [d_cellview [x_level] ] ])=> t / nil

Description

Replaces the cellview for the current item on the window stack. nil is returned if the stack isempty. This routine is intended for use by data triggers executing the ’swap operation. Itshould never be called by an application outside of a data trigger.

Arguments

w_window Window in which to set the new cellview. Defaults to the currentwindow.

d_cellview New cellview to be stored in the window stack. Defaults to nil.

x_level Level of the window stack at which to store the new cellview.Defaults to the current edit level.

Value Returned

t Stored the cellview at the given level.

nil The stack is empty.

ExampledeSetCellView( window(3) window(4)->editCellView 0)

Sets the top-level cellview in window(3) to be the edit cellview from window(4).

July 2004 954 Product Version 6.3

Page 955: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetViewType

deGetViewType(w_window[x_level])=> t_viewType / nil

Description

Returns the view type of the item at x_level in w_window. nil is returned if the stack isempty. If x_level is not specified, the current level is assumed.

Arguments

w_window Window in which the view type is desired. Defaults to the currentwindow.

x_level Stack level to retrieve the view type from.

Value Returned

t_viewType View type at the requested stack level.

nil The stack is empty.

ExampledeGetViewType( window(3) 2)

Returns “graphic,” assuming data of this view type at level 2 in window(3).

July 2004 955 Product Version 6.3

Page 956: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetEditViewType

deGetEditViewType(w_window)=> t_viewType / nil

Description

Returns the t_viewType of the item at the current edit level in w_window.

This function is equivalent to

deGetViewType( w_window deGetEditLevel( w_window ))

but is more efficient.

Arguments

w_window Window in which the view type is desired. Defaults to the currentwindow.

Value Returned

t_viewType View type at the current edit stack level.

nil The stack is empty.

ExampledeGetEditViewType( window(3))

Returns “graphic,” assuming data of this view type at the current edit level in window(3).

July 2004 956 Product Version 6.3

Page 957: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetRootType

deGetRootType([w_window [x_level] ])=> t_viewType / nil

Description

Returns the root class t_viewType of the item at x_level in w_window. nil is returnedif the stack is empty. If x_level is not specified, the current level is assumed.

Arguments

w_window Window in which the root view type is desired. Defaults to thecurrent window.

x_level Stack level to retrieve the root view type from.

Value Returned

t_viewType Root view type at the requested stack level.

nil The stack is empty.

ExampledeGetRootType( window(3) 2)

Returns “graphic,” assuming data of this view type at level 2 in window(3).

July 2004 957 Product Version 6.3

Page 958: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetEditRootType

deGetEditRootType([w_window])=> t_viewType / nil

Description

Returns the root class view type of the item at the current edit level in w_window.

This function is equivalent to

deGetRootType( w_window deGetEditLevel( w_window ))

but is more efficient.

Arguments

w_window Window in which the root view type is desired. Defaults to thecurrent window.

Value Returned

t_viewType Root view type at the current edit stack level.

nil The stack is empty.

ExampledeGetEditRootType( window(3) 2)

Returns “graphic,” assuming data of this view type at the current edit level in window(3).

July 2004 958 Product Version 6.3

Page 959: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetContext

deGetContext([w_window [x_level] ])=> g_context / nil

Description

Returns the context for the item on the window stack corresponding to x_level. A value ofnil is returned if the stack is empty or x_level is -1. If x_level is not specified or isnil, the current item on the stack is used.

Arguments

w_window Window in which the context is desired. Defaults to the currentwindow.

x_level Stack level to retrieve the context from.

Value Returned

g_context Application context at the given level.

nil The stack is empty or x_level is -1.

ExampledeGetContext( window(3) 1)

Assuming window(3) contains a CDBA cellview at level 1, returns the graphics editorcontext at that level.

July 2004 959 Product Version 6.3

Page 960: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetEditContext

deGetEditContext([w_window])=> g_context / nil

Description

Returns the context for the item on the window stack corresponding to the current edit level.

This function is equivalent to

deGetContext( w_window deGetEditLevel( w_window ))

but is more efficient.

Arguments

w_window Window in which the context is desired. Defaults to the currentwindow.

Value Returned

g_context Application context at the current edit level.

nil The stack is empty.

ExampledeGetEditContext( window(3))

Assuming window(3) contains a CDBA cellview at the current edit level, returns thegraphics editor context at that level.

July 2004 960 Product Version 6.3

Page 961: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deIsEditInContext

deIsEditInContext([w_windowId])=> t / nil

Description

Tells whether the current edit cellview in the window is in the context of a Hierarchy Managerconfiguration.

Arguments

w_windowId The window in question. Defaults to the current window.

Value Returned

t The edit is in context.

nil Either the edit is out of context or there is no configuration on thewindow.

July 2004 961 Product Version 6.3

Page 962: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deSetContext

deSetContext([w_window [g_context [x_level] ] ])=> t / nil

Description

Replaces the context for the item at the specified level on the window stack. nil is returnedif the stack is empty. This routine is intended for use by data triggers executing the ’swapoperation. It should never be called by application code outside of a data trigger.

Arguments

w_window Window in which to set the new context. Defaults to the currentwindow.

g_context New context to be stored in the window stack. Defaults to nil.

x_level Level of the window stack at which to store the new context.Defaults to the current edit level.

Value Returned

t The context was successfully set.

nil The context was not sucessfully set

ExampledeSetContext( window(3) 1 myUserContext )

Sets the context for level 1 in window(3) to myUserContext.

July 2004 962 Product Version 6.3

Page 963: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetMaxInContextLevel

deGetMaxInContextLevel([w_windowId])=> n_level

Description

Gets the maximum level of the given window that is being edited in the context of theHierarchy Manager configutation ID associated with the window. If the window has noconfiguration ID,, 0 is returned.

Arguments

w_windowId The window in question. Defaults to the current window.

Value Returned

n_level The maximum level of the given window which is being edited inthe context of the Hierarchy Manager configuration ID, or 0 ifthere is no configuration ID.

July 2004 963 Product Version 6.3

Page 964: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetConfigId

deGetConfigId([w_windowId])=> g_hdbConfigId / nil

Description

Gets the Hierarchy Manager configuration ID associated with the given window.

Arguments

w_windowId The window in question. Defaults to the current window.

Value Returned

g_hdbConfigId The configuration ID on the window.

nil The window has no configuration ID.

July 2004 964 Product Version 6.3

Page 965: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deSetConfigId

deSetConfigId(w_windowIdg_hdbConfigId)=> t / nil

Description

Sets the Hierarchy Manager configuration ID associated with the given window. Also createsa path vector and sets the window path vector. If g_hdbConfigId is nil, the window pathvector is destroyed, and the window configuration ID is set to nil.

Arguments

w_windowId The window in question. Defaults to the current window.

g_hdbConfigId The configuration ID of the window.

Value Returned

t The operation is successful.

nil the operation was not successful

ExamplesdeSetConfigId( window(2) myConfigId)

Sets the configuration ID for window 2 and creates and sets the path vector.

deSetConfigId( window(2) nil)

Destroys the path vector and clears the configuration ID for window 2.

July 2004 965 Product Version 6.3

Page 966: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetVector

deGetVector([w_windowId])=> g_hdbPathVectorId / nil

Description

Gets the Hierarchy Manager path vector associated with the given window.

Arguments

w_windowId The window in question. Defaults to the current window.

Value Returned

g_hdbPathVectorId The vector on the window

nil The window has no vector.

July 2004 966 Product Version 6.3

Page 967: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetEIP

deGetEIP([w_window [x_level] ])=> t / nil

Description

Returns the edit-in-place state for the item on the window stack corresponding to x_level.The edit-in-place state is t if that stack level was created by the deEditInPlace functionand nil otherwise. f nil is returned if the stack is empty or x_level is -1. If x_level isnot specified or is nil then the current item on the stack is used.

Arguments

w_window Window in which the edit-in-place state is desired. Defaults to thecurrent window.

x_level Stack level to retrieve the edit-in-place status from.

Value Returned

t The given level was edited-in-place.

nil The given level was not edited-in-place, the stack is empty, orx_level is -1.

ExampledeGetEIP( window(3) 1)

Assuming an edit-in-place operation on an instance in the top-level cellview of window(3),returns t.

July 2004 967 Product Version 6.3

Page 968: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetPushed

deGetPushed([w_window [x_level] ])=> t / nil

Description

Returns the pushed state for the item on the window stack corresponding to x_level. Thepushed state is t if that x_level is any level other than the current edit level and nilotherwise. nil is returned if the stack is empty or x_level is -1. If x_level is defaultedor is nil then the current item on the stack is used.

Arguments

w_window Window in which the pushed state is desired. Defaults to thecurrent window.

x_level Stack level to retrieve the pushed status from.

Value Returned

t The given level was pushed.

nil The given level was the current edit level, the stack is empty, orx_level is -1.

ExampledeGetPushed( window(3) 1)

Assuming three levels of hierarchy in window(3), returns t.

July 2004 968 Product Version 6.3

Page 969: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetProbeContext

deGetProbeContext([w_window])=> g_probeContext / nil

Description

Returns the probe context for the window.

Arguments

w_window Window from which to retrieve the probe context. Defaults to thecurrent window.

Value Returned

g_probeContext Probe context stored in the given window.

nil There is no probe context.

ExampledeGetProbeContext( window(3) )

Returns the probe context associated with window(3).

July 2004 969 Product Version 6.3

Page 970: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deSetProbeContext

deSetProbeContext([w_window [g_probeContext] ])=> t / nil

Description

Sets the probe context for the window. This is normally executed only by the probingimplementation in the probe trigger.

Arguments

w_window Window in which to set the probe context. Defaults to the currentwindow.

g_probeContext Probe context for the given window.

Value Returned

t The probe context was successfully stored.

nil The probe context was not successfully stored

ExampledeSetProbeContext( window(3) myProbeContext )

Sets the probe context for window(3) to myProbeContext.

July 2004 970 Product Version 6.3

Page 971: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetEditLevel

deGetEditLevel([w_window])=> x_level / nil

Description

Returns the current edit level of w_window. If the stack is empty, the routine returns -1. Thecurrent edit level is the level of the stack which is currently being displayed. This is normallythe maximum edit level, unless deGoToLevel was executed.

Arguments

w_window Window in which current edit level is desired. Defaults to thecurrent window.

Value Returned

x_level Current edit level of w_window.

nil The function failed.

ExampledeGetEditLevel( window(3) )

Returns the current edit level of window(3).

July 2004 971 Product Version 6.3

Page 972: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetMaxEditLevel

deGetMaxEditLevel([w_window])=> x_level / nil

Description

Returns the highest edit level of w_window. If the stack is empty, returns -1.

Arguments

w_window Window in which maximum edit level is desired. Defaults to thecurrent window.

Value Returned

x_level Maximum edit level of w_window.

nil The function failed.

ExampledeGetMaxEditLevel( window(3) )

Returns the highest level of window(3).

July 2004 972 Product Version 6.3

Page 973: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deEnableApp

deEnableApp(w_windowt_appName)=> t / nil

Description

Enables the application registered with t_appName in w_window. It affects only thecustomizer menu in w_window. It is available to allow certain applications to be enableddepending on run-time state associated with a particular design.

Arguments

w_window Window in which the specified application is to be enabled.Defaults to the current window.

t_appName Name of the application to be enabled.

Value Returned

t The application was successfully enabled.

nil The application was not successfully enabled

ExampledeEnableApp( window(3) "Timing Analysis" )

Enables the application “Timing Analysis” in window(3).

July 2004 973 Product Version 6.3

Page 974: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deDisableApp

deDisableApp(w_windowt_appName)=> t / nil

Description

Enables the application registered with t_appName in w_window. It affects only thecustomizer menu in w_window. It is available to allow certain applications to be disableddepending on run-time state associated with a particular design.

Arguments

w_window Window in which the specified application is to be disabled.Defaults to the current window.

t_appName Name of the application to be enabled.

Value Returned

t The application was successfully disabled.

nil The application was not disabled

ExampledeDisableApp( window(3) "Timing Analysis" )

Disables the application “Timing Analysis” in window(3).

July 2004 974 Product Version 6.3

Page 975: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deInstallApp

deInstallApp(w_windowt_appName)=> t / nil

Description

Switches the current application in w_window to t_appName. The enable trigger is calledbefore switching, and if it returns nil, the switch is aborted. Otherwise, the application menusand bindkeys are installed as if the user had executed the corresponding customizer item.

The enable trigger is called with the standard trigger argument, unlike other situations inwhich the trigger is called. The trigger argument reflects the application which correspondsto t_appName, not the one currently installed in the window.

Arguments

w_window Window in which the specified application is to be installed as thecurrent application. Defaults to the current window.

t_appName Name of the application to be installed.

Value Returned

t The application was successfully installed.

nil The application was not successfully installed.

ExampledeInstallApp( window(3) "Timing Analysis" )

Switches to the application “Timing Analysis” in window(3).

July 2004 975 Product Version 6.3

Page 976: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetAllViewTypes

deGetAllViewTypes()=> l_viewTypes / nil

Description

Returns a list of all fully registered view types and view sub types. Any view sub type for whichsome parent has not been registered will not appear in this list.

Arguments

None.

Value Returned

l_viewTypes List of all fully registered view types.

nil The function failed.

ExampledeGetAllViewTypes()

Returns (“graphic” “maskLayout” “schematic” “TimingAnalysis”).

July 2004 976 Product Version 6.3

Page 977: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deGetAllRootTypes

deGetAllRootTypes()=> l_rootTypes / nil

Description

Returns a list of all currently registered root view types.

Arguments

None.

Value Returned

l_rootTypes List of all registered root view types.

nil The function failed.

ExampledeGetAllRootTypes()

Returns (“graphic” “maskLayout” “schematic”).

Note: “TimingAnalysis” is not in the list because it is a subtype of “schematic”.

July 2004 977 Product Version 6.3

Page 978: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

deViewTypeIsRegistered

deViewTypeIsRegistered(t_viewType)=> t / nil

Description

Returns t if t_viewType is fully registered; that is, all ancestors up to and including the roottype are currently registered.

Arguments

t_viewType View type which might or might not be registered.

Value Returned

t The view type is actually registered.

nil The view type is not actually registered

ExampledeViewTypeIsRegistered( "graphic" )

Returns t if the view type graphic is fully registered, nil if not.

July 2004 978 Product Version 6.3

Page 979: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

Extended Design Editor Example

This section contains an extended example of how the various Design Editor routines areused. Included is an example implementation of a typical data trigger, exDataTrigger, andapplication trigger, exAppTrigger. These procedures are included as a guide fordeveloping your own data and application triggers. However, the installation of an applicationinto a window requires C-code access to provide the implementation of the window interface.The standard triggers for CDBA-based applications, geDataTrigger and geAppTrigger,have been withdrawn from public use. Please see your Cadence representative if this is aproblem.

The first example routine is a data trigger. This routine uses the information in the argumentlist to open up a data file, and should return the database ID of the result. It is also used toclose or change the data file associated with a window. The example version uses CDBA datafiles.

The second example routine is an application trigger. This routine expects the data trigger tohave returned successfully and has the job of managing the data while it is in the window. Itmust be able to install the data for the first time, save it while another file is stacked on top ofit, restore it when that file is removed, remove itself, and copy itself. Sample menu and enabletriggers are given showing you how to create menus for your application and to control itsavailability.

Normally you will not implement these routines yourself. They will be defined as part of aCadence application, and you will use the user triggers to do your customization. The finalexample shows how you may customize an existing application with some sample usertriggers.

If your application integration needs require special data and/or application triggers, see yourCadence representative for help in developing these.

;******************************************************************; exDataTrigger(args);; FUNCTION; This is an example data trigger. It opens the appropriate; cellView as specified by the input arguments.;******************************************************************

procedure(exDataTrigger(args)prog((s cellViewId mode viewType)

caseq(args->action(open ;open the data file

s = args->viewNameList || args->viewName

if(args->accessMode != "w" thenif(args->accessMode != "r" then

mode = strcat(args->accessMode "n")viewType = args->rootType

July 2004 979 Product Version 6.3

Page 980: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

elsemode = args->accessModeviewType = ""

)cellViewId = dbOpenCellViewByType(args->

libNameargs->cellName s viewType mode)

unless(cellViewIdwhen(args->accessMode == "a"

; the cellview could not be openedfor edit.

; Open it for read.cellViewId = dbOpenCellViewByType(args->libName

args->cellName s viewType "r"))

))

elsecellViewId = dbOpenCellViewByType(args->libNameargs->cellName s args->rootType "r")if(cellViewId then

when(geiAskOverwriteMode(cellViewId)dbReopen(cellViewId "w")

)else

getWarn()cellViewId = dbOpenCellViewByType(args->libNameargs->cellName s args->rootType "wn")/* if it's a new cellView, do a save to force itto create an empty file, for discard edits */when(cellViewId

dbSave(cellViewId))

))return(cellViewId))(close

cellViewId = deGetCellView(args->window)when(cellViewId~>superMaster

return(t))return(dbClose(cellViewId))

)(swap

s = args->viewNameList || args->viewName

if(args->accessMode != "w" thenif(args->accessMode == "r" then

mode = args->accessModeelse

mode = strcat(args->accessMode "n"))

cellViewId = dbOpenCellViewByType(args->libNameargs->cellName s args->rootType mode)

elsecellViewId = dbOpenCellViewByType(args->libNameargs->cellName s args->rootType "r")if(cellViewId then

July 2004 980 Product Version 6.3

Page 981: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

dbReopen(cellViewId "w")else

getWarn()cellViewId = dbOpenCellViewByType(args->libName

args->cellName s args->rootType "wn"))

)return(cellViewId))

)return()

))

; Here we simply remove the first; standard menu and add a window propertyprocedure( exCustomPostInstallTrigger( args )

; remove one of the default menushiDeleteBannerMenu(args->window 0); set a special window propertywindow->pathWidth = 10.0)

; Now, register the example user triggers

deRegUserTriggers( "example" ’exCustomAppTrigger ’exCustomMenuTrigger’exCustomPostInstallTrigger )

; finally, we list the app info for "example" and see that the; custom triggers have been added to the list.deGetAppInfo( "example" )( nil viewType "example" parentType "" appName "Example Application" help "ExampleApplication Help" widgetType "graphics" dataTrigger exDataTrigger appTriggerexAppTrigger enableTrigger exEnableTrigger menuTrigger exMenuTriggeruserAppTrigger exCustomAppTrigger userMenuTrigger exCustomMenuTriggerpostInstallTrigger exCustomPostInstallTrigger inheritMenus nil inheritEnabling nilsubtypes nil )

; in any way desired. Here we simply remove the first; standard menu and add a window property

procedure( exCustomPostInstallTrigger( args ); remove one of the default menushiDeleteBannerMenu(args->window 0); set a special window propertywindow->pathWidth = 10.0)

; Now, register the example user triggers

deRegUserTriggers( "example" ’exCustomAppTrigger ’exCustomMenuTrigger’exCustomPostInstallTrigger )

; finally, we list the app info for "example" and see that the; custom triggers have been added to the list.

deGetAppInfo( "example" )( nil viewType "example" parentType "" appName "Example Application" help "ExampleApplication Help" widgetType "graphics" dataTrigger exDataTrigger appTriggerexAppTrigger enableTrigger exEnableTrigger menuTrigger exMenuTriggeruserAppTrigger exCustomAppTrigger userMenuTrigger exCustomMenuTriggerpostInstallTrigger exCustomPostInstallTrigger inheritMenus nil inheritEnabling nilsubtypes nil )ppTrigger

July 2004 981 Product Version 6.3

Page 982: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

; This is a basic application trigger that can serve many; applications

procedure( exAppTrigger(args)prog( (w ctx cv)w = args->windowcv = deGetCellView(w)caseq( args->action

(install

ctx = <create your application context data structureinstall your application context data structure inthe window, and initialize the window interface tocontain drawing and other procedures>

return( ctx ))

(pushctx = deGetContext( w )

< update ctx to reflect the fact that this stack element isno longer current.>

return( ctx ))

(popctx = deGetContext( w )

<update ctx to reflect the fact that this stack elementwill now be current again>

< install your application context data structure in thewindow, and initialize the window interface tocontain the proper drawing and other procedures.>

return( ctx ))

(copy

ctx = <make a copy of your application data structure>return( ctx ))

(closectx = deGetContext( w )

ctx = <result of attempting to destroy the currentapplication data context >

return( ctx ))

(swapctx = deGetContext( w )

ctx = <re-initialize application data structure with anew data file)

return( ctx ))

(copyInstallctx = deGetContext( w )

<install your application context data structure in thewindow, and initialize the window interface to containthe proper drawing and other procedures>

return( ctx ))

(t return(t)))

July 2004 982 Product Version 6.3

Page 983: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

return(t)))

; define the default menus

exMenu1 = hiCreateMenu(...)exMenu2 = hiCreateMenu(...)procedure( exMenuTrigger(args)

; simply return a list of menuslist( exMenu1 exMenu2 ))

; define the conditions for allowing the user to use your application

procedure( exEnableTrigger(@optional args)if( !args then

<check root data security>else

<check example application security> ))

; Now, register the example application

deRegApp( ?viewType "example" ?appName "Example Application" ?help "ExampleApplication Help" ?dataTrigger ’exDataTrigger ?appTrigger ’exAppTrigger?menuTrigger ’exMenuTrigger ?enableTrigger ’exEnableTrigger )

deGetAppInfo( "example" )

( nil viewType "example" parentType "" appName "Example Application" help "ExampleApplication Help" widgetType "graphics" dataTrigger exDataTrigger appTriggerexAppTrigger enableTrigger exEnableTrigger menuTrigger exMenuTriggeruserAppTrigger nil userMenuTrigger nil postInstallTrigger nil inheritMenus nilinheritEnabling nil subtypes nil )

;***************************************************************************; Here we show how to customize an existing application using user triggers.;***************************************************************************; Custom app trigger.; This is called immediately after (or before, as determined by the ; situation)thestandard app trigger. It installs a custom popup menu ; and selection formprocedure( exCustomAppTrigger( args )

caseq( args->action((install pop copyInstall)

< create your own selection form >< install your own popup menu >)

((push close)< remove your own selection form in case the

new application doesn’t have one of its own >< remove your own popup menu - same reason >)

; in all other cases, we don’t do anything special)

t)

; the user menu trigger will add a menu to the bannerexCustomMenu = hiCreateMenu(...)procedure( exCustomMenuTrigger( args )

list( exCustomMenu ))

; the user post install trigger can customize the application; in any way desired. Here we simply remove the first

July 2004 983 Product Version 6.3

Page 984: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceDesign Management

; standard menu and add a window propertyprocedure( exCustomPostInstallTrigger( args )

; remove one of the default menushiDeleteBannerMenu(args->window 0); set a special window propertywindow->pathWidth = 10.0)

; Now, register the example user triggersdeRegUserTriggers( "example" ’exCustomAppTrigger ’exCustomMenuTrigger’exCustomPostInstallTrigger ); finally, we list the app info for "example" and see that the; custom triggers have been added to the list.deGetAppInfo( "example" )

( nil viewType "example" parentType "" appName "Example Application" help "ExampleApplication Help" widgetType "graphics" dataTrigger exDataTrigger appTriggerexAppTrigger enableTrigger exEnableTrigger menuTrigger exMenuTriggeruserAppTrigger exCustomAppTrigger userMenuTrigger exCustomMenuTriggerpostInstallTrigger exCustomPostInstallTrigger inheritMenus nil inheritEnabling nilsubtypes nil )

July 2004 984 Product Version 6.3

Page 985: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

4OpenAccess Objects

When using LEF In, DEF In, or Save OA Design from SoC Encounter to translate data intoOpenAccess, native OpenAccess objects are created, and CDBA conventions are notfollowed. In DFII on OpenAccess, these objects can be created and modified using SKILLfunctions. Further, the ~> SKILL operator can be used to query attributes of native objects,along with the ability to modify many of the attributes.

Blockage Functions on page 986

Boundary Functions on page 989

Cluster Functions on page 995

Marker Functions on page 998

Route Functions on page 1003

Route Specification Header Functions on page 1007

Row Functions on page 1009

Row Header Functions on page 1012

Track Pattern Functions on page 1014

Via Header Functions on page 1016

Cellview Functions on page 1018

Counter Functions on page 1023

Access and Modification of Object Attributes on page 1030

July 2004 985 Product Version 6.3

Page 986: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Blockage Functions

A blockage is an object that indicates a specific area in which objects are not allowed to beplaced.

July 2004 986 Product Version 6.3

Page 987: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreateBlockage – OpenAccess only

dbCreateBlockage(d_cellviewIdtx_layert_typel_points[ d_owner ])=> d_blockageId | nil

Description

Creates a blockage object of the given type in the given cellview. For a list of different typesof blockages, see t_types. A blockage of type placement, does not need a layer to bespecified. When given, layers are ignored during the creation of a placement blockage. Whenattempts to set a layer to an existing placement blockage, failure will occur with a warningmessage. Converting a blockage from type placement to other types or from other typesto placement is not allowed.

A blockage can be owned by an instance. If a blockage has an owner, transforming the ownertransforms the blockage object as well. Deleting the owner also deletes the blockage. Anowner can have multiple blockages.

Arguments

Return Values

d_cellviewId The database cellview ID.

tx_layer Name or number of the layer to be assigned to the blockage.

t_type String argument indicating the blockage type.Valid Values:unknown, routing, viaRouting, placement, wiring,fill, slot.

l_points The list of points for the blockage.

d_owner Optional argument indicating the owner of the blockage.

Default is nil.

d_blockageId The blockage database ID if the creation is successful.

July 2004 987 Product Version 6.3

Page 988: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

nil Failure can occur if an invalid cellview ID or layer are given.Failure can also occur when attempting to set a layer to anexisting placement blockage or converting a blockage fromtype placement to other types or from other types toplacement.

July 2004 988 Product Version 6.3

Page 989: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Boundary Functions

A boundary is an object that designates an area enclosed by a polygon outline.

Boundary creation functions create a new boundary in the specified cellview with thespecified attributes. numEdges specifies the number of edges of the boundary andpointArray is an array of points for the boundary. edgeNames contains the name of eachedge and is optional If it is specified, the number of names is assumed to be the same asnumEdges.

July 2004 989 Product Version 6.3

Page 990: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreateClusterBoundary – OpenAccess only

dbCreateClusterBoundary(d_clusterIdt_namel_points[ lt_edgeNames ])=> d_boundaryId | nil

Description

Creates a cluster boundary object in the cellview of the given cluster. The cluster boundaryis associated with a cluster (grouping of objects) and defines the area of the cluster objects.

Arguments

Return Values

d_clusterId The database ID of the cluster in which to create the boundary.

t_name Name of the cluster boundary.

l_points Specifies the list of points for the boundary.

lt_edgeNames Optional argument that list the names of boundary edges.

d_boundaryId Returns the database ID of the boundary if the creation issuccessful.

nil A nil is returned if the cluster ID is invalid.

July 2004 990 Product Version 6.3

Page 991: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreatePRBoundary – OpenAccess only

dbCreatePRBoundary(d_cellViewIdl_points[ lt_edgeNames ])=> d_boundaryId | nil

Description

Creates a PR boundary object in the specified cellview for place-and-route purpose. Acellview can only have one PR boundary.

Arguments

Return Values

d_cellViewId The database cellview ID.

l_points Specifies the points of the PR boundary.

lt_edgeNames Optional argument that list the names of edges.

d_boundaryId The database ID of the PR boundary if the creation issuccessful.

nil If a PR boundary already exists for the cellview, a warning isgenerated and nil is returned.

July 2004 991 Product Version 6.3

Page 992: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreateSnapBoundary – OpenAccess only

dbCreateSnapBoundary(d_cellViewIdl_points[ lt_edgeNames ])=> d_boundaryId | nil

Description

Creates a snap boundary in the specified cellview.

Placement tools use the snap boundary to place instances of the cellview in rows. Dependngon rotation and symmetry, the appropriate corner is snapped to the site in the row. A snapboundary must be an rectangle, therefore the number of points in the point array should befour. A cellview can only have one snap boundary.

Arguments

Return Values

d_cellViewId The database cellview ID.

l_points Specifies the points of the snap boundary.

lt_edgeNames Optional argument that list the names of edges.

d_boundaryId The database ID of the snap boundary if the creation issuccessful.

nil If a snap boundary already exists for the cellview, a warning isgenerated and nil is returned.

July 2004 992 Product Version 6.3

Page 993: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbFindClusterBoundaryByName – OpenAccess only

dbFindClusterBoundaryByName(d_clusterIdt_name)=> d_boundaryId | nil

Description

Finds the cluster boundary specified by name.

A cluster boundary is attached to a specific cluster. A cluster boundary has a unique namefor all cluster boundaries in the cellview.

Arguments

Return Values

d_clusterId The cluster ID in which to find the boundary.

t_name Name of the cluster boundary to be found.

d_boundaryId The database ID of the boundary when successful.

nil A nil is returned if the cluster ID is invalid.

July 2004 993 Product Version 6.3

Page 994: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbSetBoundaryEdge – OpenAccess only

dbSetBoundaryEdge(d_boundaryIdl_points[ lt_edgeNames ])=> t | nil

Description

Sets the points (edges) and edge names for the specified boundary.

Arguments

Return Values

d_boundaryId The database ID of the boundary to be set.

l_points Specifies the points of the boundary.

lt_edgeNames Optional argument that list the names of edges.

t The set of the boundary edges successfully.

nil The boundary ID is invalid.

July 2004 994 Product Version 6.3

Page 995: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Cluster Functions

Cluster objects are used to specify and track a logical association of instances and otherclusters within a cellview. They are hierarchical in nature as one cluster can have one or moreother clusters as members. Every cluster can also have a set of associated clusterboundaries. A cluster accepts an instance member provided it resides in the same cellviewas the cluster and does not already belong to another cluster. A cluster accepts anothercluster as a member provided it resides in the same cellview, does not already belong toanother cluster, is not an ancestor of its parent, and is not the same cluster as itself.

July 2004 995 Product Version 6.3

Page 996: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreateCluster – OpenAccess only

dbCreateCluster(d_cellViewIdt_clusterNamet_clusterType)=> d_clusterId | nil

Description

Creates a cluster in the specified cellview.

Arguments

Return Values

d_cellViewId The database cellview ID.

t_clusterName Name of the cluster.

t_clusterType Indicates the type of cluster.Valid values:inclusive: Instances other than the instances in this clustermay be placed in the cluster’s region.

exclusive: Only instances in this cluster may be placed inthe cluster’s region.

suggested: Instances in this cluster may be placed outsidethe cluster’s region.

d_clusterId The database ID of the cluster if the creation is successful.

nil The creation fails. Failure can occur if either another clusterhaving the name specified already exists in the cellview, thespecified clusterType is invalid, or the specified cellview isinvalid

July 2004 996 Product Version 6.3

Page 997: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbFindClusterByName – OpenAccess only

dbFindClusterByName(d_cellViewIdt_clusterName)=> d_clusterId | nil

Description

Searches for a cluster in the specified cellview with the specified name.

Arguments

Return Values

d_cellViewId The database cellview ID.

t_clusterName Name of the cluster.

d_clusterId The database ID of the cluster when successful.

nil The cluster is not found or if the cellviewId is invalid.

July 2004 997 Product Version 6.3

Page 998: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Marker Functions

A marker is an object which indicates violations between objects in the database. Differenttypes of markers exist for different types of violations. This area of the marker is specified bya point array.

July 2004 998 Product Version 6.3

Page 999: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreateMarker – OpenAccess only

dbCreateMarker(d_cellviewIdt_msgt_tooll_points[ ld_objects ][ g_isVisible ][ g_isClosed ][ t_severity ][ t_shortMsg ][ t_deleteWhen ]

)=> d_markerId | nil

Description

Creates a marker object in the specified cellview.

Arguments

d_cellviewId The database cellview ID.

t_msg Message associated with the marker.

t_tool Name value of the application associated with this marker.

l_points Specifies the list of points for the marker.

ld_objects Optional argument that specifies the list of database ID’s of theobjects associated with the marker.Default Value:nil

g_isVisible Optional boolean argument that indicates if the marker isvisibleValid values:t, nilDefault Value:t

July 2004 999 Product Version 6.3

Page 1000: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Return Values

g_isClosed Optional argument that specifies if the pointArray of the markeris closed.Valid values:t, nilDefault Value:t

t_severity Optional argument that specifies the severity of the violationshown by the marker.Valid values:annotation, info, acknowledgedWarning, warning,signedOffError, error, signedOffCriticalError,criticalError, fatalError, unsupported.See the attribute severity for more information.Default Value:annotation

t_shortMsg Optional argument that specifies the shortMsg associatedwith the marker.Default Value:""

t_deleteWhen Optional argument that specifies when markers areautomatically deleted.Valid values:unknown, deleteNever, deleteFirst, deleteLast,deleteModify.See the attribute deleteWhen for more information.

Default Value:"deleteNever"

d_markerId The database ID of the marker if the creation is successful.

nil The creation fails.

July 2004 1000 Product Version 6.3

Page 1001: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbAddObjectsToMarker – OpenAccess only

dbAddObjectsToMarker(d_markerIdld_objectId)=> t | nil

Description

Adds a list of objects to a specified marker.

Arguments

Return Values

d_markerId The database ID of the marker.

ld_objectId The database ID’s of the list of objects to be added to themarker.

t The list is added successfully.

nil The list is not added.

July 2004 1001 Product Version 6.3

Page 1002: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbRemoveObjectsFromMarker – OpenAccess only

dbRemoveObjectsFromMarker(d_markerIdld_objectId)=> t | nil

Description

Removes a list of objects from a specified marker.

Arguments

Return Values

d_markerId The database ID of the marker.

ld_objectId The database ID’s of the list of objects to be removed from thespecified marker.

t The list is removed successfully.

nil The list is not removed.

July 2004 1002 Product Version 6.3

Page 1003: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Route Functions

A route is a specialized figure that implements a point-to-point connection (logical, physical,or both). A route can be either a symbolic route or a geometric route. Symbolic routes alwayshave an explicit or implicit routeSpec associated with them. If a symbolic route does nothave an explicit routeSpec association, the routeSpec referenced by it’s net is used. If theroute is not attached to a net or if the net has no associated routeSpec, the defaultrouteSpec in the technology database associated with the route’s cellview is used.Symbolic routes attempt to conform to the rules specified in the associated routeSpec foreach route element (segment or via.) Geometric routes do not make use of the routeSpecbut still may have an associated routeSpec for a possible later conversion to a symbolicversion if all its elements meet the routeSpec criteria.

A route is composed of an array of route elements which may consist of one or more routeelements. Each route element can be either a segment or a via. The via can be either astandard or custom via. A route can have a connecting object at its start or end. The only validobjects that can connect to routes are shapes, pins, instPins, terms, instTerms, steiners,steinerPins, and other routes. A route cannot connect to itself. A route may or may not beconnected to a net. Each route has a begin extension and an end extension that applies tothe begin of the first segment and the end of the last segment but not to any of theintermediate segment ends.

An example of a route starts with the metal1 segment, through the M1M2 via, to the metal2segment, through the M2M3 via, and ends with the metal3 segment. The extensions for eachintermediate segment are determined by the surrounding context. When a segment ends ona via, the segment is given a flush end point. Each segment is connected at the centerline

July 2004 1003 Product Version 6.3

Page 1004: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

end points, and each via is connected at its center point. The route has beginning and endextensions.

End Connection Object:shape, pin, instPin, term,instTerm, steiner,steinerPin or route

Start Connection Object:shape, pin, instPin, term,instTerm, steiner,steinerPin or route

Route Elements (segments)

Route Elements (vias)

Metal1

Metal2

Metal3

July 2004 1004 Product Version 6.3

Page 1005: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbDisassembleRoute – OpenAccess only

dbDisassembleRoute(d_routeId)=> l_paths_and_vias | nil

Description

Disassembles a route object identified by d_routeId into an equivalent set of path and viainstance objects which are returned as a partitioned list of the disassembled path andinstance objects. The route object itself is removed from the database after disassembly.

Arguments

Return Values

Note: The return value l_paths_and_vias: consist of a list of two elements (eachelement is also a list). The first element is the list of path database ID’s; the second is the listof via instance database ID’s. For example:

Both paths and vias are present:

'('(d_pathId1 d_pathId2 ...) '(d_instId1 d_instId2 ...))

Only paths are present:

'('(d_pathId1 d_pathId2 d_pathId3...) nil)

Only vias are present:

'(nil '(d_instId1 d_instId2 d_instId3...))

d_routeId The database ID of the route that will be disassembled.

l_paths_and_vias Routes are successfully disassembled.

nil Disassembly fails.

July 2004 1005 Product Version 6.3

Page 1006: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Example

Assuming net ID is database ID of a net with routes the following code fragment disassemblesall the routes on the specified net.

foreach( route netId~>routes

dbDisassembleRoute(route)

)

Assuming net ID is database ID of a net with routes the following code fragment disassemblesall the routes on the net all the disassembled figures are collected into two lists one for pathsand one for vias.

figs = nil

paths = nil ; collect all the paths for this net

vias = nil ; collect all the via instances for this net

foreach( route netId~>routes

figs = dbDisassembleRoute(route)

paths = append(paths car(figs))

vias = append(vias cadr(figs))

)

July 2004 1006 Product Version 6.3

Page 1007: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Route Specification Header Functions

Route Specification header objects hold information about route specifications that are beingreferenced by a net, or a route in a cellview. Route specifications are a technology file classwhich stores route specification data generated from LEF data. Route specification headerobjects are created and managed by the database system and cannot be changed by clients.

July 2004 1007 Product Version 6.3

Page 1008: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbFindRouteSpecHeaderByName

dbFindRouteSpecHeaderByName(d_cellViewIdt_routeSpecName)=> d_routeSpecHeaderId | nil

Description

Takes a routeSpec name and returns a routeSpecHeader that references that routeSpec.

Arguments

Value Returned

ExamplerouteSpecHeader = dbFindRouteSpecHeaderByName(cvId "defaultRouteSpec")

where cvId is a cellview dbId and "defaultRouteSpec" identifies a routeSpec.

d_cellViewId The database cellview ID.

t_routeSpecName A string identifying a routeSpec name.

d_routeSpecHeaderId The database ID of the routeSpecHeader.

nil The cellview ID was invalid or no routeSpecHeaderscorresponding to the specified routeSpec name werefound.

July 2004 1008 Product Version 6.3

Page 1009: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Row Functions

A row represents a location for the placement of standard cells, macros, or devices. Theelement definitions, which are usually defined in a DEF file, include the name of a valid sitein which to place the elements. Rows are defined as an area associated with a single site. Asite has a width and a height as well as symmetry information, allowing the specification ofrotation and symmetry of elements within a given row. A row is a repetition of the site elementin a given direction (horizontal or vertical).

In order to allow placement of different types of elements, different types of rows need to becreated. Rows can be created overlapping each other.

July 2004 1009 Product Version 6.3

Page 1010: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreateRow – OpenAccess only

dbCreateRow(d_cellViewIdd_siteDeft_namel_pointx_numSites[ t_siteOrient ][ t_rowOrient ])=> d_rowId | nil

Description

Creates a row in the specified cellview.

Arguments

Return Values

d_cellViewId The database cellview ID.

d_siteDef The siteDef to be used for this row.

t_name Specifies the name of the row.

l_point The origin point for the row.

x_numSites The number of site placements in the row.

t_siteOrient Specifies the orientation of the site placements of the row.Default value: R0

t_rowOrient Specifies the orientation of the row.Default value: R0

d_rowId The database ID of the row if creation is successful.

nil Tthe creation fails.

July 2004 1010 Product Version 6.3

Page 1011: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbFindRowByName – OpenAccess only

dbFindRowByName(d_cellViewIdt_name)=> d_rowId | nil

Description

Finds the specified row.

Arguments

Return Values

d_cellViewId The database cellview ID.

t_name Specifies the name of the row.

d_rowId The database ID of the row when successful.

nil The specified row does not exist in the specified cellview.

July 2004 1011 Product Version 6.3

Page 1012: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Row Header Functions

A row header contains information about a particular siteDef including the rows using thesiteDef.

July 2004 1012 Product Version 6.3

Page 1013: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbFindRowHeader – OpenAccess only

dbFindRowHeader(d_cellViewIdt_siteDefName)=> d_rowHeaderId | nil

Description

Finds the specified row header.

Arguments

Return Values

d_cellViewId The database cellview ID in which to search for the rowheader.

t_siteDefName Name of the siteDef associated with the row header.

d_rowHeaderId The database ID of the row header when successful.

nil The specified row header does not exist in the specifiedcellview.

July 2004 1013 Product Version 6.3

Page 1014: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Track Pattern Functions

Track patterns are objects which provide guide lines for routing. The line segments of trackpatterns are arranged in uniformly-spaced orthogonal patterns extending across a basearray.

July 2004 1014 Product Version 6.3

Page 1015: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbCreateTrackPattern – OpenAccess only

dbCreateTrackPattern(d_cellviewIdg_isHorizontaln_startCoordx_numTracksn_trackSpace[ tx_layer ])=> d_trackPatternId | nil

Description

Creates a track pattern in the specified cellview.

Arguments

Return Values

d_cellviewId The database cellview ID.

g_isHorizontal Specifies a horizontal or vertical track pattern.Valid values:t: track pattern is horizontal.nil: track pattern is vertical.

n_startCoord Specifies the start coordinate of the track pattern.

x_numTracks Specifies the number of track lines of the track pattern.

n_trackSpace Specifies the tracking space between two track lines.

tx_layer Optional argument that specifies routing layer of the trackpattern.

d_TrackPatternId The database ID of the track pattern if the creation issuccessful.

nil The cellview ID is invalid or one of the given arguments isinvalid.

July 2004 1015 Product Version 6.3

Page 1016: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Via Header Functions

Via Header objects hold information that is common to all vias referring to a specific viaDef.Via header objects reside in cellviews and are created and automatically managed by thedatabase system. Users can only access via headers and their attributes but are not allowedto change them. Based on the two types of via definitions available in the technologydatabase, there are two types of via headers: standard viaHeaders and custom viaHeaders.Standard viaHeaders contain information common to all standard vias in a route that refer toa specific standard via definition. Custom viaHeaders contain information common to allcustom vias in a route that refer to a specific custom via definition in the technology database.

If the master cellview associated with a viaDef is custom parameterized, customviaHeaders are further classified as via superHeaders or via subHeaders. Via superHeadersrepresent all of the instances of a pCell master, regardless of parameter settings. ViasubHeaders represent all of the instances that have one specific set of parameter values.Every custom via of a pCell has exactly one subHeader, which, in turn, has exactly onesuperHeader. CustomViaHeaders for instances that are not pCells are neither viasubHeaders nor via superHeaders. Standard viaHeaders always have a fixed set ofparameters associated with them and thus always fall into either the superHeader orsubHeader category.

July 2004 1016 Product Version 6.3

Page 1017: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbFindViaHeaderByName – OpenAccess only

dbFindViaHeaderByName(d_cellviewIdt_viaDefName)=> d_viaHeaderId | nil

Description

Takes a viaDef name and returns a viaHeader that references that viaDef. The returnedviaHeader is always the superHeader. The only exception is for a custom viaDef whosemaster is not parameterized.

Arguments

Value Returned

ExampleviaHeader = dbFindViaHeaderByName(cvId "viaArray5")

where cvId is a cellview dbId and "viaArray5" identifies a viaDef.

d_cellviewId The database cellview ID.

t_viaDefName A string identifying a viaDef name.

d_viaHeaderId The database ID of the viaHeader.

nil The cellview ID was invalid or no viaHeaders corresponding tothe specified viaDef name were found

July 2004 1017 Product Version 6.3

Page 1018: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Cellview Functions

This section describes SKILL functions for OpenAccess cellview objects.

July 2004 1018 Product Version 6.3

Page 1019: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbGetCellViewSiteDef - OpenAccess only

dbGetCellViewSiteDef(d_cellViewId)=> d_siteDef | nil

Description

Returns the database ID of the siteDef object associated with the specified cellview.

Arguments

d_cellViewId The database cellview ID.

Value Returned

d_siteDef The technology database ID of the siteDef object whose name isassociated with the specified cellview.

nil No siteDef name is associated with the specified cellview, or thesiteDef name associated with the cellview does not have acorresponding siteDef object in the cellview's technologydatabase, or the specified cellview was invalid.

ExamplesiteDef = dbGetCellViewSiteDef(cvId)

July 2004 1019 Product Version 6.3

Page 1020: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbGetCellViewSiteDefName - OpenAccess only

dbGetCellViewSiteDefName(d_cellViewId)=> d_siteDef | nil

Description

Returns the name of the siteDef associated with the specified cellview object.

Arguments

d_cellViewId The database cellview ID.

Value Returned

d_siteDefName A string value representing the siteDef name, if one is associatedwith the specified cellview

nil No siteDef name is associated with the cellview or the specifiedcellview is invalid.

ExamplesiteDefName = dbGetCellViewSiteDefName(cvId)

July 2004 1020 Product Version 6.3

Page 1021: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbSetCellViewSiteDefName - OpenAccess only

dbSetCellViewSiteDefName(d_cellViewIdt_siteDefName)=> d_siteDef | nil

Description

This function attempts to set the name of the siteDef associated with the specified cellviewobject. An empty string can be provided to disassociate the current siteDef name from thecellview.

Note: A warning will be issued if a siteDef with the specified name (other than an emptystring) does not exist in the technology database associated with the specified cellview.

Arguments

d_cellViewId Cellview ID.

t_siteDefName a string value representing the siteDef name to be associatedwith the specified cellview

Value Returned

t The siteDef has been successfully updated.

nil The siteDef could not be updated.

ExampledbSetCellViewSiteDefName(cvId "CornerSite")

July 2004 1021 Product Version 6.3

Page 1022: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbIsCellViewStdViaMaster - OpenAccess only

dbIsCellViewStdViaMaster(d_cellViewId)=> t | nil

Description

Returns a boolean value indicating whether the specified cellview is a standard via master.

Arguments

d_cellViewId Cellview ID.

Value Returned

t The specified cellview is a valid standard via master.

nil The specified cellview is a regular cellview or the cellview ID isinvalid.

July 2004 1022 Product Version 6.3

Page 1023: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Counter Functions

This section describes OpenAccess counter SKILL functions.

dbDisableCellViewCounter - OpenAccess only

dbDisableCellViewCounter(d_cellViewId)=> t | nil

Description

Disables updating of the cellview’s timestamp counter.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t The updating was disabled.

nil The updating was not disabled.

July 2004 1023 Product Version 6.3

Page 1024: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbEnableCellViewCounter – OpenAccess only

dbEnableCellViewCounter(d_cellViewId)=> t | nil

Description

Enables updating of the cellview’s timestamp counter.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t The updating was enabled.

nil The updating was not enabled.

July 2004 1024 Product Version 6.3

Page 1025: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbGetCellViewCounter – OpenAccess only

dbGetCellViewCounter(d_cellViewId)=> x_counter | nil

Description

Gets the value of the cellview’s timestamp counter.

Arguments

Value Returned

d_cellViewId The database cellview ID.

x_counter The counter of the cellview.

nil The command was not successfully executed.

July 2004 1025 Product Version 6.3

Page 1026: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbGetFileTimeStamp – OpenAccess only

dbGetFileTimeStamp(d_cellViewId)=> t_time | nil

Description

Gets the last saved time for the cellview’s file.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t_time The time the file was last saved.

nil The function is not successfully executed.

July 2004 1026 Product Version 6.3

Page 1027: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbIsConnCurrent – OpenAccess only

dbIsConnCurrent(d_cellViewId)=> t | nil

Description

Tests whether the value of the connectivity current property is equal to the cellview’stimestamp counter value.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t The value of the connectivity current property is equal to thecellview’s timestamp counter value.

nil The value of the connectivity current property is not equal tothe cellview’s timestamp counter value, or there are errorswhile executing the function.

July 2004 1027 Product Version 6.3

Page 1028: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbSetConnCurrent – OpenAccess only

dbSetConnCurrent(d_cellViewId)=> t | nil

Description

Sets the value of the connectivity current property to the cellview's timestamp counter value.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t The connectivity current property is successfully set.

nil The cellview ID is invalid or there is an error.

July 2004 1028 Product Version 6.3

Page 1029: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

dbSetInstHeadersCounter – OpenAccess only

dbSetInstHeadersCounter(d_cellViewId)=> t | nil

Description

Sets the value of the instance header change count property on each instance header to theinstance master cellview’s timestamp counter value.

Arguments

Value Returned

d_cellViewId The database cellview ID.

t The change count property is successfully set.

nil The cellview ID is invalid or there is an error.

July 2004 1029 Product Version 6.3

Page 1030: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Access and Modification of Object Attributes

You can query objects using the SKILL operator ~>. Some objects can also be modified. Thefollowing list the types of objects, and how to access and modify the attributes of the objects.

Accessing Blockage Attributes on page 1031

Accessing Boundary Attributes on page 1033

Accessing Cluster Attributes on page 1035

Accessing Marker Attributes on page 1037

Accessing Route Attributes on page 1041

Accessing Route Specification Header Attributes on page 1047

Accessing Row Attributes on page 1048

Accessing Row Header Attributes on page 1050

Accessing Steiner Attributes on page 1051

Accessing Track Pattern Attributes on page 1053

Accessing Via Header Attributes on page 1055

Accessing Cellview Attributes on page 1059

Accessing Net Attributes on page 1061

Accessing Shape Attributes on page 1062

Accessing Pin Attributes on page 1063

Accessing Instance Attributes on page 1064

Accessing Terminal Attributes on page 1065

Accessing Instance Terminal Attributes on page 1066

Accessing Connecting Objects on page 1067

Accessing Cluster Objects on page 1068

Accessing Objects Attributes on page 1069

July 2004 1030 Product Version 6.3

Page 1031: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Blockage Attributes

The following describes how to access blockage attributes using the blockage database ID.Also see, Accessing Blockage Attributes of Cellviews.

Blockage attributes can be accessed as follows:

blockageId~> attributeName

Blockage attributes can be modified as follows:

blockageId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Blockage Attributes section below.

Blockage Attributes

Attribute ModifiableAttribute Description

isOrthogonal No Boolean attribute that indicates if the blockage isorthogonal. When t, the blockage is orthogonal.

isRectangle No Boolean attribute that indicates if the blockage isrectangular. When t, the blockage is a rectangle.

isPushedDown Yes Boolean attribute that indicates if the blockage ispushed down from a higher level block.Valid values for modification:t, nil

type Yes String argument indicating the blockage type.Valid Values for modification:unknown, routing, viaRouting, placement,wiring, fill, slot.

layer Yes Name or number of the layer assigned to theblockage.Valid values for modification:String, integer. (Number or name of the blockagelayer can be used for the attribute value).

minSpacing Yes Returns the returns the required minimum spacing inuser units to the blockage.Valid values for modification:Floating-point number

July 2004 1031 Product Version 6.3

Page 1032: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Blockage Attributes of Cellviews

Blockages can be attributes of cellviews. See the following section for information aboutformats for the attribute values, and the return values.

effectiveWidth Yes Returns the effective width in user units.Valid values for modification:Floating-point number

owner Yes Indicates the owner of the blockage.Valid values for modification:Database ID of the owner.

nPoints No Returns the number of points for the blockage.

points Yes Returns the list of points for the blockage.Valid values for modification:List of points.

area No Returns the area of the point array of the blockage insquare user units.

bBox No Returns the bounding box of the specified blockage.

groupMembers No Returns the list of database IDs of the groupmembers.

testDisplay No Returns the list of textDisplays in which the specifiedblockage is the owners.

assocTextDisplay No Returns a list of textDisplays which are associatedwith the specified blockage.

Access Method Attribute

Cellview Attributes blockages

Attribute ModifiableAttribute Description

July 2004 1032 Product Version 6.3

Page 1033: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Boundary Attributes

The following describes how to access boundary attributes using the boundary database ID.Also see, Accessing Boundary Attributes of Cellviews and Clusters.

Boundary attributes can be accessed as follows:

boundaryId~> attributeName

Boundary attributes can be modified as follows:

boundaryId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Boundary Attributes section below.

Boundary Attributes

Attribute ModifiableAttribute Description

name Yes Returns the name of the cluster boundary.Valid values for modification:String name value.

cluster No Returns the cluster ID of the cluster boundary

isOrthogonal No Boolean attribute that indicates if the boundary isorthogonal. When t, the boundary is orthogonal.

isRectangle No Boolean attribute that indicates if the boundary isrectangular. When t, the boundary is a rectangle.

numEdges No Returns the number of edges (points) of thespecified boundary.

edgeNames No Returns a list of edge boundary names.

points No Returns a list of points for the specified boundary.

area No Returns the area of the point array of the boundaryin square user units.

bBox No Returns the bounding box of the specifiedboundary.

children No Returns database IDs of the children of theboundary object.

July 2004 1033 Product Version 6.3

Page 1034: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Boundary Attributes of Cellviews and Clusters

Boundaries can be attributes of cellviews and clusters. See the following sections forinformation about formats for the attribute values, and the return values.

parent Yes Indicates the parent database ID of the boundaryobject.Valid values for modification:Database ID of the parent object.

groupMembers No Returns the list of database IDs of the groupmembers.

textDisplays No Returns the list of textDisplays in which thespecified boundary is the owners.

assocTextDisplays No Returns a list of textDisplays which are associatedwith the specified boundary.

Access Method Attribute

Cellview Attributes clusters

Cluster Object Attributes boundaries

Attribute ModifiableAttribute Description

July 2004 1034 Product Version 6.3

Page 1035: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Cluster Attributes

The following describes how to access cluster attributes using the cluster database ID. Alsosee, Accessing Cluster Attributes of Cellviews and Objects.

Cluster attributes can be accessed as follows:

clusterId~> attributeName

Cluster attributes can be modified as follows:

clusterId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Cluster Attributes section below.

Cluster Attributes

Attribute ModifiableAttribute Description

clusterType Yes Returns the type of cluster.Valid values:inclusive: Instances other than the instances inthis cluster may be placed in the cluster’s region.

exclusive: Only instances in this cluster may beplaced in the cluster’s region.

suggested: Instances in this cluster may beplaced outside the cluster’s region.

name Yes Returns the name of the cluster. The name can bemodified if the cellview does not have a cluster ofthe same name.Valid values for modification:String name value.

parent Yes Indicates the parent object database ID of thecluster object. The cluster can be assigned a newparent as long as it does not create a cyclicrelationship of the cluster hierarchy. The parentcan also be set to nil to break a parent-childrelationship.Valid values for modification:Database ID of the parent object.

July 2004 1035 Product Version 6.3

Page 1036: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Cluster Attributes of Cellviews and Objects

Boundaries can be attributes of cellviews and clusters. See the following sections forinformation about formats for the attribute values, and the return values.

isParent No Boolean attribute that indicates whether the clusterhas other clusters (child-clusters or sub-clusters)as its members.

instances No Returns the list of instances that are directmembers of this cluster. Instances can be addedtom or removed rom a cluster usinginstanceId~>cluster.

clusters No Returns a list of clusters (sub-clusters or child-clusters) that are direct members of this cluster.Clusters can be added to, or removed from acluster using clusterId~>parent..

boundaries No Returns a list of clusterBoundaries owned by thiscluster. The list is automatically updated whenevera clusterBoundary is deleted or added for aspecific cluster.

Access Method Attribute

Cellview Attributes prBoundary, snapBoundary

Boundary Attributes clusters

Instance Attributes clusters

Attribute ModifiableAttribute Description

July 2004 1036 Product Version 6.3

Page 1037: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Marker Attributes

The following describes how to access marker attributes using the marker database ID. Alsosee, Accessing Marker Attributes of Cellviews and Objects.

Marker attributes can be accessed as follows:

markerId~> attributeName

Marker attributes can be modified as follows:

markerPinId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Marker Attributes section below.

Marker Attributes

Attribute ModifiableAttribute Description

isVisible Yes Boolean attribute which indicates if the marker isvisible.Valid values for modification:t, nil

isClosed Yes Boolean attribute which indicates if the if thepointArray of the marker is closed.Valid values for modification:t, nil

July 2004 1037 Product Version 6.3

Page 1038: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

severity Yes String attribute which indicates the severity of theviolation shown by the marker. Returns one of thefollowing predefined values. If a value is set otherthan the predefined values, unsupported isreturned.Valid values for modification:annotation, info, acknowledgedWarning,warning, signedOffError, error,signedOffCriticalError, criticalError,fatalError, unsupported

annotation: User generated information.

info: Tool generated information.

acknowledgedWarning: The warning has beenacknowledged by the designer.

warning: Tool generated warning.

signedOffError: The error has been signed-off.

error: Tool generated error.

signedOffCriticalError: The error has beenreviewed by the design team, and has been signed-off.

criticalError: Tool generated error. Usuallyrequires a design review to sign- off.

fatalError: Tool generated error. Can not besigned off, as it will always result in a non function /non manufacturable design. Such error aregenerated usually from the process end (designrule) where the fab/foundry does not want to allowsign-offs.

unsupported: None of the above values.

Attribute ModifiableAttribute Description

July 2004 1038 Product Version 6.3

Page 1039: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

deleteWhen Yes String attribute which indicates when markers areautomatically deleted.Valid values for modification:unknown, deleteNever, deleteFirst,deleteLast, deleteModify

Values and corresponding strings which describewhen marker objects are automatically deleted.

unknown: When to delete the marker is notspecified.

deleteNever: Delete the marker only by explicitdeletion.

deleteFirst: Delete the marker when anyassociated object is removed.

deleteLast: Delete the marker when allassociated objects are removed.

deleteModify: Delete the marker when anyassociated object is modified.

When modifying the attribute, t is returned if thedeleteWhen value is set successfully. Returnsnil if the set is unsuccessful.

msg Yes Indicates the message associated with the marker.

Returns t if the set of the message to the marker issuccessfully. Returns nil if the set is unsuccessful.

shortMsg Yes Returns the shortMsg associated with the marker.

Returns t if the set of the message to the marker issuccessfully. Returns nil if the set is unsuccessful.

tool Yes Indicates name of the tool associated with themarker.Valid values for modification:String name value

nPoints No Returns the number of marker points.

Attribute ModifiableAttribute Description

July 2004 1039 Product Version 6.3

Page 1040: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Marker Attributes of Cellviews and Objects

Markers can be attributes of cellviews and objects. See the following sections for informationabout formats for the attribute values, and the return values.

points Yes Indicates the list of marker points.Valid values for modification:List of points

objects No Returns a list of object database IDs associatedwith the marker.

bBox No Returns the bounding box of the marker object.

children No Returns a list of children database IDs associatedwith the marker object.

parent Yes Indicates the parent object database ID of themarker object.Valid values for modification:Database ID of the parent object.

groupMembers No Returns a list of group member ID’s that contain themarker object.

textDisplays No Returns the list of textDisplays in which thespecified marker is the owners.

assocTextDisplays No Returns a list of textDisplays which are associatedwith the specified marker. An assocTextDisplayis the marker itself.

Access Method Attribute

Cellview Attributes markers

Object Attributes markers

Attribute ModifiableAttribute Description

July 2004 1040 Product Version 6.3

Page 1041: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Route Attributes

The following describes how to access route attributes using the route database ID. Also see,Accessing Route Attributes of Cellviews and Objects.

Route attributes can be accessed as follows:

routeId~> attributeName

Route attributes can be modified as follows:

routeId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Route Attributes section below.

July 2004 1041 Product Version 6.3

Page 1042: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Route Attributes

Attribute ModifiableAttribute Description

beginExt Yes Returns the begin extension of the route in user units.The beginExt only applies if the first route element ofthe route is a segment.Valid values for modification:Floating-point number.

endExt Yes Returns the end extension of the route in user units.The endExt only applies if the last route element ofthe route is a segment.Valid values for modification:Floating-point number.

routeStatus Yes String attribute which indicates the route status.Valid values for modification:normal, fixed, locked

topology Yes String attribute which indicates the current routetopology.Valid values for modification:none, stripe, standardCellWire, IOWireRoute,blockWire, ring, padRing, blockRing,coreWire

purpose Yes String attribute which indicates the route purpose.Valid values for modification:drawing, fill

net Yes Returns the net database ID assigned to the route. Ifthe route has does not have an associated net, thevalue is nil.Valid values for modification:Database ID of the net.

July 2004 1042 Product Version 6.3

Page 1043: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

startConnendConn

Yes Returns the database ID of the object which connectsat the start or end of the route. If there is no object thatconnects to the start or end of the route, the value isnil.Valid values for modification:Database ID of the start connection, and endconnection.Objects can only be one of the following:steiner, steinerPin, pin, instPin, term, instTerm, shape,route.

routeSpec Yes Returns the technology database routeSpec IDassociated with this route. A symbolic route shouldalways associated with a valid routeSpec. Geometricroutes may or may not be associated with a validrouteSpec. If there is no associated routeSpec, thevalue is nil.Valid values for modification:Database ID of the routeSpec, nil

shielding1shielding2

Yes Returns the database ID’s of the nets that shield theroute on either side. A valid database ID value isassigned when an application or a user explicitly setsthese shielding constraints. When constraints are notset, each has a nil value.Valid values for modification:Database ID of the net, nil

isUnShielded Yes Boolean attribute that indicates whether this route isunshielded or not. When t, the route is unshielded.Valid values for modification:t, nil

isSymbolic No Boolean attribute that indicates whether the route issymbolic or geometric. When t, the route is a symbolicroute. When nil, the route is a geometric route.

isGlobal Yes Boolean attribute that indicates whether this route hasbeen marked as a global route. When t, the route hasbeen marked as a global route.Valid values for modification:t, nil

Attribute ModifiableAttribute Description

July 2004 1043 Product Version 6.3

Page 1044: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

conformsToSpec No Boolean attribute that indicates whether the routeconforms to its associated routeSpec. Only applies tosymbolic routes. When t, the route conforms to itsrouteSpec. When nil, the route is non-conformance.

numElements No Integer attribute that returns the number of routeelements in the route. The value should always begreater than or equal to 1. The value is updatedautomatically when the number of route elements inthe route are modified.

elements Yes Describes each route element in the route. The value isa list which has a variable number of sub-lists, eachindicating an individual route element as follows:

‘(l_routeElement1 l_routeElement2l_routeElement3 ... l_routeElementN)

Each sub-list can represent either a segment,customVia, or a stdVia. The first element of thesub-list is always a symbol value to distinguish theroute element type. Depending upon this value, aspecific format exists for each type as described below.l_routeElement can be only one of the following:

‘(‘segment l_beginLocationPointl_endLocationPoint t_layerNamef_segmentWidth)

‘(‘customVia l_locationPoint t_orientd_customViaDefId l_customViaParams)

‘(‘stdVia l_locationPoint t_orientd_stdViaDefId l_stdViaParams)

See Route Element sub-list below.

Attribute ModifiableAttribute Description

July 2004 1044 Product Version 6.3

Page 1045: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Route element sub-list

l_beginLocationPointl_endLocationPointl_locationPoint

Lists of the following format:‘(f_xCoordinate f_yCoordinate)

t_layerName Valid layer name in the technology database.

f_segmentWidth Specifies the width of the route segment in user units.

t_orient Specifies the orientation of the via.Valid values:R0, R90, R180, R270, MY, MYR90, MX, MXR90.

d_customViaDefId The database ID (techViaDefId) of the custom viadefinition associated with the custom via.

d_stdViaDefId The database ID (techViaDefId) of the standard viadefinition associated with the standard via.

l_customViaParams List of parameters that override the default parametersin the custom via definition for the custom via. Eachelement in the list of parameters has the followingformat:

‘(t_parameterName t_parameterTypeg_parameterValue)

l_stdViaParameters List attribute that exists only for standard viaHeaders.Returns the standard via parameters that are commonto all the standard vias that use this viaHeader in thefollowing format:

‘(l_layer1Enc l_layer2Enc l_implant1Encl_implant2Enc l_layer1Offsetl_layer2Offset l_cutSpacingl_originOffset x_cutWidth x_cutHeightt_cutLayerName x_cutColumns x_cutRowst_cutPattern)

l_layer1Enc l_layer2Encl_implant1Encl_implant2Enc

Lists which use a point (f_x f_y) format where f_xindicates the width of the enclosure on the x-axis andf_y indicates the height of the enclosure on the y-axis.

July 2004 1045 Product Version 6.3

Page 1046: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Route Attributes of Cellviews and Objects

Routes can be attributes of cellviews and objects, also route information can be obtained fromobjects. See the following sections for information about formats for the attribute values, andthe return values.

l_originOffsetl_layer1Offsetl_layer2Offset

Lists which use a point (f_x f_y) format where f_xindicates a displacement on the x-axis and f_yindicates a displacement on the y-axis. A negative orpositive value for f_x or f_y determines the directionof the displacement.

l_cutSpacing A list which uses a point format (f_x f_y) where f_xindicates the spacing between the cuts on the x-axisand f_y indicates the spacing between the cuts on they-axis.

f_cutWidthf_cutHeight

Float values in user units that indicate the width andheight of each cut.

t_cutLayerName String value that indicates the name of the cutLayer.

x_cutColumnsx_cutRows

Integers that indicate the number of columns and rowsof cuts respectively as a matrix.

t_cutPattern String of hexadecimal characters that represents thecutPattern to be used.

Access Method Attribute

Cellview Attributes routes

Net Attributes routes

Connecting Object Attributes routes

Shape Attributes routesStatus, connRoutes

Pin Attributes connRoutes

Instance Attributes connRoutes

Terminal Attributes routeMethod, connRoutes

Instance Terminal Attributes connRoutes

July 2004 1046 Product Version 6.3

Page 1047: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Route Specification Header Attributes

The following describes how to access route specification header attributes using thedatabase ID. Also see, Accessing Route Specification Header Attributes of Cellviews.

Route specification header attributes can be accessed as follows:

routeSpecHeaderId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Route Specification Header Attributes section below.

Route Specification Header Attributes

Accessing Route Specification Header Attributes of Cellviews

Route specification headers can be attributes of cellviews. See the following section forinformation about formats for the attribute values, and the return values.

Attribute ModifiableAttribute Description

routeSpec No Returns the database ID of the routeSpec associatedwith the routeSpecHeader. The value is nil if therouteSpecHeader is not bound.

routeSpecName No Returns the name of the associated routeSpec.Usually available even if the routeSpecHeader is notbound

isBound No Returns whether the routeSpecHeader is currentlybound, its value is t if bound, and nil if not bound.

Access Method Attribute

Cellview Attributes routeSpecHeaders

July 2004 1047 Product Version 6.3

Page 1048: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Row Attributes

The following describes how to access row attributes using the row database ID. Also see,Accessing Row Attributes of Cellviews.

Row attributes can be accessed as follows:

rowId~> attributeName

Row attributes can be modified as follows:

rowId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Row Attributes section below.

Row Attributes

Attribute ModifiableAttribute Description

groupMembers No Returns the list of database IDs of the group membersfor the specified row.

name Yes Returns the name of the specified row.Valid values for modification:String name value.

rowHeader No Returns the database ID of the rowHeader associatedwith the specified row.

siteDef Yes Returns the database ID of the siteDef associatedwith the specified row.Valid values for modification:Database ID of the siteDef.

siteOrient Yes Returns the orientation of the siteDef associated withthe specified row.Valid values for modification:R0, R90, R180, R270, MY, MYR90, MX, MXR90.

numSites No Returns the number of sites for the specified row.Valid values for modification:Integer number

July 2004 1048 Product Version 6.3

Page 1049: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Row Attributes of Cellviews

Boundaries can be attributes of cellviews and clusters. See the following sections forinformation about formats for the attribute values, and the return values.

xy Yes Returns the origin point for the specified row.Valid values for modification:Floating-point number list of origin point.

orient Yes Returns the orientation of the row.Valid values for modification:R0, R90, R180, R270, MY, MYR90, MX, MXR90.

marker No Returns a list of markers associated with the row.

Access Method Attribute

Cellview Attributes rows

Attribute ModifiableAttribute Description

July 2004 1049 Product Version 6.3

Page 1050: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Row Header Attributes

The following describes how to access row header attributes using the row header databaseID.

Row header attributes can be accessed as follows:

rowHeaderId~> attributeName

Row header attributes can be modified as follows:

rowHeaderId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Row Header Attributes section below.

Row Header Attributes

Attribute ModifiableAttribute Description

siteDef No Returns the database ID of the siteDef associatedwith the row header.

name No Returns the name of the siteDef associated with therow header.

siteDefWidth No Returns the width of the siteDef associated with therow header.

siteDefHeight No Returns the height of the siteDef associated with therow header.

bBox No Returns the bBox of all the rows that refer to the rowheader.

rows No Returns a list of rows that refer to the row header.

July 2004 1050 Product Version 6.3

Page 1051: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Steiner Attributes

The following describes how to access Steiner and Steiner pin attributes using the databaseID. Also see, Accessing Steiner Attributes of Cellviews and Routes.

Steiner attributes can be accessed as follows:

steinerId~> attributeName

steinerPinId~> attributeName

Steiner pin attributes can be modified as follows:

steinerPinId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Steiner Attributes section below.

Steiner Attributes

Accessing Steiner Attributes of Cellviews and Routes

Steiner can be attributes of routes. See the following sections for information about formatsfor the attribute values, and the return values.

Attribute ModifiableAttribute Description

connRoutes No Returns all the database ID of the route that has thespecified Steiner object as a connecting object, eitherat the start or the end. If the Steiner does not have aconnecting route, the value is nil.

bBox(steinerPin only)

Yes Returns the bBox associated with the specifiedsteinerPin.Valid values for modification:The list has the standard bBox format.steinerPinId~>bBox = l_bBox

All bBox coordinates must be in absolute user units.

Access Method Attribute

Cellview Attributes steiners

July 2004 1051 Product Version 6.3

Page 1052: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Route Attributes startConn, endConn

Access Method Attribute

July 2004 1052 Product Version 6.3

Page 1053: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Track Pattern Attributes

The following describes how to access track pattern attributes using the track patterndatabase ID. Also see, Accessing Track Pattern Attributes of Cellviews.

Track pattern attributes can be accessed as follows:

trackPatternId~> attributeName

Track pattern attributes can be modified as follows:

trackPatternId~> attributeName = attributeValue

The attribute names, formats for the attribute values, and the return values are specified inthe Track Pattern Attributes section below.

Track Pattern Attributes

Attribute ModifiableAttribute Description

markers No Returns the list of markers associated with the trackpattern.

isHorizontal Yes Returns whether the track pattern is horizontal ornot. When t, the track pattern is horizontal.Valid values for modification:t, nil

start Yes Returns the coordinate where the track patternbegins.Valid values for modification:Floating-point number.

numTracks Yes Returns the number of track lines of the specifiedtrack pattern.Valid values for modification:Integer

space Yes Returns the value of the space between trackinglines of the specified track pattern.Valid values for modification:Floating-point number.

July 2004 1053 Product Version 6.3

Page 1054: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Track Pattern Attributes of Cellviews

Track patterns can be attributes of cellviews. See the following section for information aboutformats for the attribute values, and the return values.

routingLayer Yes Indicates the name of the routing layer of thespecified track pattern.Valid values for modification:String, integer. (Number or name of the routinglayer can be used for the attribute value).If the given value is nil, the routing layer of thetrack pattern will be removed.

children No Returns the list of database IDs of the children forthe track pattern.

groupMembers No Returns the list of database IDs of the groupmembers for the track pattern.

parent No Returns the parent database ID of the track pattern.

textDisplays No Returns the list of textDisplays in which thespecified track pattern is the owners.

assocTextDisplays No Returns a list of textDisplays which are associatedwith the specified track pattern.

Access Method Attribute

Cellview Attributes trackPatterns

Attribute ModifiableAttribute Description

July 2004 1054 Product Version 6.3

Page 1055: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Via Header Attributes

The following describes how to access via header attributes using the via header databaseID. Also see, Accessing Via Header Attributes of Cellviews.

Via header attributes can be accessed as follows:

viaHeaderId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Via Header Attributes section below.

Via Header Attributes

Attribute ModifiableAttribute Description

viaDef No Returns the techfile database ID of the viaDefassociated with this viaHeader. The return value isnil if the viaHeader is not bound.

viaDefName No Cached string attribute which returns the name of theassociated viaDef. Usually available even if theviaHeader is not bound.

isBound No Boolean attribute which returns whether theviaHeader is currently bound. The return value is t ifbound and nil if not bound.

master No Returns the cellview ID that is acting as the master ofthe viaHeader. Can be nil if the viaHeader is notbound.

masterBBox No Returns a list, in bBox format, of the viaHeader’smaster cellview.

isSuperHeader No Boolean attribute which returns whether theviaHeader is a super viaHeader.

isSubHeader No Boolean attribute that returns whether the viaHeaderis a sub-viaHeader.

superHeader No This is a database ID attribute that has a value if thisviaHeader is a sub viaHeader and provides thedatabase ID value of its super viaHeader. Theattribute value is nil otherwise.

July 2004 1055 Product Version 6.3

Page 1056: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

subHeaders No This is a list attribute whose value is possible list ofdatabase ID where each identifies a sub-via-Header.The attribute value is nil if the viaHeader beingqueried is not a super-viaHeader.

Attribute ModifiableAttribute Description

July 2004 1056 Product Version 6.3

Page 1057: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

stdViaParams No List attribute that exists only for standard viaHeaders.Returns the standard via parameters that arecommon to all the standard vias that use thisviaHeader in the following format:

‘(l_layer1Enc l_layer2Encl_implant1Enc l_implant2Encl_layer1Offset l_layer2Offsetl_cutSpacing l_originOffsetx_cutWidth x_cutHeightt_cutLayerName x_cutColumnsx_cutRows t_cutPattern) l_layer1Enc,

l_layer2Enc, l_implant1Enc, andl_implant2Enc are lists which use a point (f_xf_y) format where f_x indicates the width of theenclosure on the x-axis and f_y indicates the heightof the enclosure on the y-axis.

l_originOffset, l_layer1Offset, andl_layer2Offset are lists which use a point (f_xf_y) format where f_x indicates a displacement onthe x-axis and f_y indicates a displacement on the y-axis. A negative or positive value for f_x or f_ydetermines the direction of the displacement.

l_cutSpacing is a list which uses a point format(f_x f_y) where f_x indicates the spacing betweenthe cuts on the x-axis and f_y indicates the spacingbetween the cuts on the y-axis.

f_cutWidth and f_cutHeight are float valuesin user units that indicate the width and height of eachcut. t_cutLayerName is a string value thatindicates the name of the cutLayer.

x_cutColumns and x_cutRows are integers thatindicate the number of columns and rows of cutsrespectively as a matrix.

t_cutPattern is a string of hexadecimalcharacters that represents the cutPattern to be used.

Attribute ModifiableAttribute Description

July 2004 1057 Product Version 6.3

Page 1058: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Via Header Attributes of Cellviews

Via header can be attributes of cellviews. See the following section for information aboutformats for the attribute values, and the return values.

libName No String attribute that exists only for customviaHeaders. Returns the library name of the mastercellview as per its custom via definition in thetechnology database.

cellName No String attribute that exists only for customviaHeaders. Returns the cell name of the mastercellview as per its custom via definition in thetechnology database.

viewName No String attribute that exists only for customviaHeaders. Returns the view name of the mastercellview as per its custom via definition in thetechnology database.

customViaParams No List attribute that exists only for customviaHeaders.Returns the overridden custom viaparameters that are common to all the custom viasthat use this viaHeader. Each element in the list ofcustom via parameters has the following format:

‘(t_parameterName t_parameterTypeg_parameterValue)

Access Method Attribute

Cellview Attributes viaHeaders, viaHeadersUsedIn

Attribute ModifiableAttribute Description

July 2004 1058 Product Version 6.3

Page 1059: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Cellview Attributes

Cellview attributes can be accessed as follows using a cellview database ID:

cellviewId~> attributeName

The attribute names, formats for the attribute values, and the formats of the return values arespecified in the Cellview Attributes section below.

Cellview Attributes

Attribute ModifiableAttribute Description

routes No Returns a list of database ID’s of routes if one ormore route objects exist in the cellview. The returnedlist represents all the routes in the cellview.

clusters No Returns a list of database ID’s of cluster if one ormore cluster objects exist in the cellview. Thereturned list represents all the clusters in the cellview.

steiners No Returns a list of database ID’s of Steiner objects ifone or more Steiner objects exist in the cellview. Thereturned list represents all the Steiner objects in thecellview which could be either Steiners or SteinerPins.

rows No Returns a list of database ID’s of row objects whichexist in the cellview.

prBoundary No Returns the database ID of the prBoundary for thespecified cellview

snapBoundary No Returns the database ID of the snap boundary for thespecified cellview.

trackPatterns No Returns track patterns object database IDs if one ormore track pattern objects exist in the cellview.

markers No Returns a list of markers database ID’s if one or moremarker objects exist in the cellview.

blockages No Returns a list of blockage object database ID’s if oneor more blockage objects exist in the cellview.

July 2004 1059 Product Version 6.3

Page 1060: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

viaHeaders No Returns a list of viaHeader database ID’s if one ormore viaHeader objects exist in the cellview. A nil isreturned otherwise. The returned list represents allthe viaHeaders in the cellview. They can be customviaHeaders or standard viaHeaders. Further, theycan be super viaHeaders, sub viaHeaders, or asimple viaHeader (which is neither a super-viaHeaderor a sub-viaHeader.)

If the cellview acts as a master cellview forviaHeaders that may exist in other cellviews, a usercan access these viaHeaders from the mastercellview as follows:.

The value is automatically updated with databasechanges

viaHeadersUsedIn No Returns a list of viaHeader database ID’s for eachviaHeader belonging to another cellview and usesthis cellview as the master.

routeSpecHeaders No Returns a list of routeSpecHeader database ID’s ifone or more routeSpecHeader objects exist in thecellview. A nil is returned otherwise. The returnedlist represents all the routeSpecHeaders in thecellview.

Attribute ModifiableAttribute Description

July 2004 1060 Product Version 6.3

Page 1061: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Net Attributes

Net attributes can be accessed as follows using a net database ID:

netId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Net Attributes section below.

Net Attributes

Attribute ModifiableAttribute Description

routePattern Yes Indicates the route pattern to be used for the net.Valid values for modification:steinerRoutePattern,balancedRoutePattern,trunkRoutePattern

routes No Returns a list of route database ID’s if one or moreroute objects exist in the cellview and one or more ofthese are associated with the net whose database ID isused to access the routes. The returned list representsall the routes associated with this net. A nil isreturned if no routes exist in the cellview or if none ofthe existing routes are associated with the specifiednet.

July 2004 1061 Product Version 6.3

Page 1062: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Shape Attributes

Cellview attributes can be accessed as follows using a shape database ID:

shapeId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Shape Attributes section below.

Shape Attributes

Attribute ModifiableAttribute Description

routeStatus Yes Indicates the current route status.Valid values for modification:unroutedRouteStatus, routedRouteStatus,fixedRouteStatus, lockedRouteStatus

connRoutes No Returns a list of database ID’s where each databaseID’s represents a route object that connects to theshape being queried. The value is automaticallyupdated with databases changes.

July 2004 1062 Product Version 6.3

Page 1063: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Pin Attributes

Cellview attributes can be accessed as follows using a pin database ID:

pinId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Pin Attributes section below.

Pin Attributes

Attribute ModifiableAttribute Description

connRoutes No Returns a list of database ID’s where each database IDrepresents a route object that connects to the shapebeing queried. The value is automatically updated withdatabases changes.

July 2004 1063 Product Version 6.3

Page 1064: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Instance Attributes

Cellview attributes can be accessed as follows using a instance database ID:

instanceId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Instance Attributes section below.

Instance Attributes

Attribute ModifiableAttribute Description

connRoutes No Returns a list of database ID’s where each database IDrepresents a route object that connects to the instPinbeing queried. The value is automatically updated withdatabases changes

clusters Yes A cluster database ID is returned if the specifiedinstance is associated with a cluster. A nil is returnedif no cluster is associated with the instance.Value valid:Cluster database ID

July 2004 1064 Product Version 6.3

Page 1065: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Terminal Attributes

Cellview attributes can be accessed as follows using a terminal database ID:

terminalId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Terminal Attributes section below.

Terminal Attributes

Attribute ModifiableAttribute Description

routeMethod Yes Indicates the route method to be used for this terminal.Valid values for modification:symbolicRouteMethod, geometricRouteMethod

connRoutes No Returns a list of database ID’s where each database IDrepresents a route object that connects to the terminalbeing queried. The value is automatically updated withdatabases changes.

July 2004 1065 Product Version 6.3

Page 1066: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Instance Terminal Attributes

Cellview attributes can be accessed as follows using a instance terminal database ID:

instTermId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Instance Terminal Attributes section below.

Instance Terminal Attributes

Attribute ModifiableAttribute Description

connRoutes No Returns a list of database ID’s where each database IDrepresents a route object that connects to the instTermbeing queried. The value is automatically updated withdatabases changes

July 2004 1066 Product Version 6.3

Page 1067: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Connecting Objects

Cellview attributes can be accessed as follows using a connecting object database ID:

conObjId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Connecting Object Attributes section below.

Connecting Object Attributes

Attribute ModifiableAttribute Description

routes No Returned a list of route object database ID’srepresenting all the routes that either start from thisobject or end at this object.

The connecting object can be one of the following:steiner, steinerPin, pin, instPin, term, instTerm, shape,route

A nil is returned if no routes exist in the cellview or ifnone of the existing routes are associated with thespecified connecting object.

July 2004 1067 Product Version 6.3

Page 1068: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Cluster Objects

Cellview attributes can be accessed as follows using a cluster database ID:

clusterId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Cluster Object Attributes section below.

Cluster Object Attributes

Attribute ModifiableAttribute Description

boundaries No Returns the list database ID of boundaries for thespecified cluster.

July 2004 1068 Product Version 6.3

Page 1069: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

Accessing Objects Attributes

Cellview attributes can be accessed as follows using a object database ID:

objectId~> attributeName

The attribute names, formats for the attribute values, and the return values are specified inthe Object Attributes section below.

Object Attributes

Attribute ModifiableAttribute Description

markers No Returns a list of database ID’s of markers which areassociated with the object.

July 2004 1069 Product Version 6.3

Page 1070: Cadence Design Framework II SKILL Functions Referencepwp.gatech.edu/wp-content/uploads/sites/367/2016/03/Cadence... · Cadence Design Framework II SKILL Functions Reference July 2004

Cadence Design Framework II SKILL Functions ReferenceOpenAccess Objects

July 2004 1070 Product Version 6.3