virtuoso schematic composer user guide

842
Virtuoso Schematic Composer User Guide June 2000 1 Product Version 4.4.6 Virtuoso ® Schematic Composer User Guide Product Version 4.4.6 June 2000 1990-2000 Cadence Design Systems, Inc. All rights reserved. Printed in the United States of America. Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in this document are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’s trademarks, contact the corporate legal department at the address shown above or call 1-800-862-4522. All other trademarks are the property of their respective holders. Restricted Print Permission: This publication is protected by copyright and any unauthorized use of this publication may violate copyright, trademark, and other laws. Except as specified in this permission statement, this publication may not be copied, reproduced, modified, published, uploaded, posted, transmitted, or distributed in any way, without prior written permission from Cadence. This statement grants you permission to print one (1) hard copy of this publication subject to the following conditions: 1. The publication may be used solely for personal, informational, and noncommercial purposes; 2. The publication may not be modified in any way; 3. Any copy of the publication or portion thereof must include all original copyright, trademark, and other proprietary notices and this permission statement; and 4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be discontinued immediately upon written notice from Cadence. Disclaimer: Information in this publication is subject to change without notice and does not represent a commitment on the part of Cadence. The information contained herein is the proprietary and confidential information of Cadence or its licensors, and is supplied subject to, and may be used only by Cadence’s customer in accordance with, a written agreement between Cadence and its customer. Except as may be explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy or usefulness of the information contained in this document. Cadence does not warrant that use of such information will not infringe any third party rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of such information. Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its successor.

Upload: ntuzxy

Post on 07-May-2015

2.560 views

Category:

Technology


33 download

TRANSCRIPT

Page 1: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

June 2000 1 Product Version 4.4.6

Virtuoso ® Schematic Composer UserGuide

Product Version 4.4.6June 2000

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

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

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

All other trademarks are the property of their respective holders.

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

1. The publication may be used solely for personal, informational, and noncommercialpurposes;

2. The publication may not be modified in any way;

3. Any copy of the publication or portion thereof must include all original copyright,trademark, and other proprietary notices and this permission statement; and

4. Cadence reserves the right to revoke this authorization at any time, and any such useshall 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, any representationsor warranties as to the completeness, accuracy or usefulness of the information contained in this document.Cadence does not warrant that use of such information will not infringe any third party rights, nor does Cadenceassume any liability for damages or costs of any kind that may result from use of such information.

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

Page 2: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. .

. . 27

. . . . 29

. . . .

.

. .

. . . . 3

. . . . 44

. .

. . . 49 . .

Contents

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Typographic and Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 26

1Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Starting the Schematic Composer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Using the Command Interpreter Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Working with Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Opening a New Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Opening an Existing Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Using the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 33Using the Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Making Designs Editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Making Designs Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Saving Your Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Closing Editor Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Quitting the Schematic Composer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

Working with Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Design Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Reference Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Using Menus and the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Using Pull-Down Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Using Pop-Up Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 44Using Object-Sensitive Menus (OSMs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Working with Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47Using Command Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 48Selecting Objects to Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Using Modal (Repeating) Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canceling Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Undoing a Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Redoing a Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 50

June 2000 Contents-2 Product Version 4.4.6

Page 3: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. .

. . 55 . . 56. . . 57 . . 58

. . . . . . 6

. . . 66 . . . 66. . . . 67

.

. . . 76

. . . 76 . . 77. . 78 . . . 80. . . 80 . . . 81. . . 82. . . 83. . . 84

Using Command Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 50Working with Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Displaying Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Using Form Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Using Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Working with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53Quick Reference Bindkey Chart — Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Quick Reference Bindkey Chart — Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Quick Reference Bindkey Chart — Mouse Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quick Reference Bindkey Chart — General Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Dynamic Highlighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60Using the Mouse to Select Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60Extending the Selection Area of a Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Selecting One Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Selecting Multiple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Selecting Parts of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Selecting Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Selecting a Wire Name and Its Associated Wire Segments . . . . . . . . . . . . . . . . . . . . . . . . .Selecting a Pin and Its Associated Wire Segments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Selecting an Instance and Its Associated Wire Segments . . . . . . . . . . . . . . . . . . . . . . . . . . Deselecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Selecting Objects by Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Working with Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Panning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Redrawing a Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Viewing the Same Cell in Two Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Using the Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76Accessing and Using the Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Browser Type Option to the Library Browser . . . . . . . . . . . . . . . . . . . . . . . . .Using the Library Browser to Initialize Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Using the Component Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 80Accessing and Using the Component Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the Browser Type Option to the Component Browser . . . . . . . . . . . . . . . . . . . . . Opening the Component Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Opening the Add Instance Form Instead of the Component Browser . . . . . . . . . . . . . . . . . Listing Components from Several Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Component Browser Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

June 2000 Contents-3 Product Version 4.4.6

Page 4: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . .

. . . 91. .. . . . . . 95 . . .

. . .. . 103. . 103. . . 10. 10. 106 . 106. 107. 107. 108 . . 108

. . . 112 . 113. . 114

. . 116. . . . 1 . . 1 . 121

2Understanding Connectivity and Naming Conventions . 86

Connectivity with Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86Instance Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

System-Generated Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88User-Defined Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88Iterated Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

Wire Connections and Wire Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wire-to-Wire Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92Wire-to-Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Wire-by-Name Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Wire-to-Iterated Instance Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Global Net Name Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98

Multiple-Bit Wire Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Tapping Multiple Bits of a Bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99Tapping Multiple Bits of a Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101Tapping Wire Intersections by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Designating Tap Size and Bit Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . System-Generated Net Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Multiple-Bit Wire Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Using Vector Expressions in Multiple-Bit Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Vector Expressions in Multiple Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Evaluating Vector Expressions in Multiple-Bit Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . Using Prefix Repeat Operators in Multiple-Bit Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . Using Suffix Repeat Operators in Multiple-Bit Wire Names . . . . . . . . . . . . . . . . . . . . . . . . .

Pin Connections and Pin Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Hierarchical Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 110Offsheet Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Bus Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Pin-to-Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Tapping Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Patchcord Connections and Patchcord Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . Naming Single and Multiple Bits Using Patchcords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Naming Multiple Nets Using Patchcords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Inherited Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115Inherited Connections in a Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Inherited Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118How Net Expressions Evaluate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20Inherited Connections Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21Inherited Connections Helpful Hints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

June 2000 Contents-4 Product Version 4.4.6

Page 5: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . 1 . .

128

. . 130 . . 1. . 133. . 136. . 138

. 139. . 139.

. . 14 . 145 . 147 . 147

. 149

. . 151 .

. . 154 . 154 . 1

. 157

. 1

Sample Net Expression Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Summary of Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

3Creating Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Getting Started with Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Adding Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

What Is an Instance? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Methods of Adding an Instance to Your Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Instances One by One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31Adding Instances by Rows and Columns (an Array) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Instances Using an Iterative Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Default Instance Name Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Instance Masters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Specifying the View to Use While Placing the Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the View after an Instance Is Already Placed . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renumbering Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

Adding Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Adding Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Adding Wires and Pins to Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Changing the Block Pin Direction Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the Direction or Name of a Single Block Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the Names and Directions of Multiple Block Pins . . . . . . . . . . . . . . . . . . . . . . . . .Deleting Block Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Disabling Automatic Block Pin Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Adding Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Adding Schematic and Offsheet Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Showing Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 152

Adding Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153Adding Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154Using Wire Snap and Gravity Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Wire Draw, Width, and Route Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Using Wire Flight Lines Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55Routing Flight Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156Manipulating Wires with Only the Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Adding Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Naming a Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Adding Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Adding Multiple Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

June 2000 Contents-5 Product Version 4.4.6

Page 6: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. 1 .. . 16. . 165 . 168. . 1. . 170. . 1 . . . 172. . . 177

. 179 .

. 183

. . 187. . . . 188

92

. . 193

. . . . . 197

Verifying Invisible Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Using Net Name Prefixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

Adding and Editing Net Expression Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Adding a Net Expression Label to a Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding an Inherited Supply Symbol to a Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Editing a Net Expression Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Changing the Net Expression Label Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting a Net Expression Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Adding and Editing netSet Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Adding a netSet Property to an Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Modifying a netSet Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176Changing the netSet Property Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Deleting a netSet Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 177

Adding Solder Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178Adding Solder Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Deleting Solder Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Disabling Automatic Solder Dot Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing Solder Dot Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Adding Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181Adding Note Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Adding Note Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Importing an ASCII File for Note Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Adding Patchcords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184Adding Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

Adding Probes to a Net, Pin, or Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Showing Probe Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188Removing Probes from a Net, Pin, or Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Removing All Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189Saving Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190Loading Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

4Creating a Multisheet Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Browsing a List of Multisheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Converting a Single-Sheet Schematic to a Multisheet Schematic . . . . . . . . . . . . . . . . . . . . . . .Adding New Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Editing the Title Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194Editing the Sheet Border Size and Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196Understanding Offsheet Pins and Their Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . .

June 2000 Contents-6 Product Version 4.4.6

Page 7: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . 199. . . . . . 201

. . . 206. . . 207. . . 208. . . . . . 211. . 21 . . 212 . . 21. . 215. . 216

. . 217 . . 218 . . 219

. . 2

. . . 225

227

Adding Offsheet Pins to Multisheet Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Understanding the Index Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200Going to and from the Index Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200Repositioning a Schematic within the Sheet Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Deleting Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203Reordering Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Renumbering Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205Working with Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 205

Understanding Cross-Reference Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Pin Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Cross-Reference Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Preparing to Cross-Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208Displaying Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209Zooming In to View All Cross-Referenced Pins One by One . . . . . . . . . . . . . . . . . . . . . . . .Going to a Specific Hierarchical Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Viewing Cross-Reference Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Editing a Cross-Reference Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4Controlling the Format String Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing the Format String Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Customizing Multisheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Customizing the Types and Sizes of Sheet Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Customizing the Cross Reference Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Drawing a Customized Sheet Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Drawing Sheet Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219Drawing Zone Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220Adding the Sheet Zone Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21Adding a Title Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222Adding Title Block Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222Verifying the Label Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224Adding Title Block Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224Customizing Pin Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5Creating Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Setting Grid Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Importing Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Creating New Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

Drawing Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232Drawing Rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

June 2000 Contents-7 Product Version 4.4.6

Page 8: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . 2. . . . 240 . 241

.

. . 250. . 2. . . 252

3

254 . 255. 257 . 259. 261 . 264. . . 265

. . 271

Drawing Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234Drawing Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235Drawing Ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Drawing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Adding Pins as Graphic Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38Adding Pins as Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239Creating Custom Pins as Graphic Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Making the Custom Pin Name Visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Adding a Selection Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242Adding Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243Adding a Normal Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244Adding an NLP Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Adding an IL Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248Adding Note Text and Note Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Adding a Net Expression Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Setting the Symbol Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

Creating Symbol Cellviews Using Generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6Automatically Creating Cellviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Features of Creating Cellviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253Automatically Creating a Cellview from Another Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Replacing an Existing Symbol Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Modifying an Existing Symbol Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Examples of Replacing and Modifying Pins on a Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . .

Automatically Creating a Cellview from a Pin List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automatically Creating a Cellview from an Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Editing Symbol Generation Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

Adding, Changing, and Reordering Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Editing Pin Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267Loading and Saving a TSG Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Symbol Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274Editing Symbol Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Creating a New Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278Deleting Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280Modifying Label Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282Editing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285Creating a New Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 286Deleting Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288

June 2000 Contents-8 Product Version 4.4.6

Page 9: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

.. . 2

294

. . 2. 2

.

. . 299 . 3 . 304

.

. . 310

. 312

. . .

. .

. . . 31

. . 319 . . 319

Modifying Property Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290Specifying Symbol Generator Pin Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7Editing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Using Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295Direct Manipulation Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Turning Off Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

Undoing and Redoing an Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297Changing the Undo Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

Stretching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298Stretching with the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretching with the Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .02Stretching with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Stretching with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305Copying Single Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307Copying Arrays of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308Copying Across Cellviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309Copying with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

Moving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311Moving Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311Moving with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

Deleting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313Deleting Preselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 314Deleting Postselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314Deleting Sheet Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315

Rotating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Rotating Preselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315Rotating Postselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316Rotating with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Rotating with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318

Discarding Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318Alternating Symbol Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Changing the View of a Preselected Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the View of a Postselected Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Toggling Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

June 2000 Contents-9 Product Version 4.4.6

Page 10: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . 320 . 320 . 321 . 321. . 323 . 323. 325. 325. . 327

328

. . 330

. . 334 . 339 . . . 343

. . 345

. 348

.

. . 353

. . 356. . 3

.

. . . . 361

Toggling Pin Direction Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319Toggling Wire Draw Mode Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Toggling Instance Symbol View Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Editing the Display Configuration of a Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the Display Configuration of Instance IL Labels . . . . . . . . . . . . . . . . . . . . . . . . . .Saving the Current Label Display File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading the Current Label Display File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Attaching the Label Display File to the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Detaching the Label Display File from the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Simulation Data Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8Editing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Searching for Objects That Have a Specific Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Search String Wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 332

Replacing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332Replacing String-Tagged Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Selecting Objects Automatically by Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Selecting Objects by Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 341Adding a Property Name to the Search List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Selecting Objects by Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Object and Cellview Property Types and Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Editing Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347

Applying Edits to Objects and Displaying Object Types . . . . . . . . . . . . . . . . . . . . . . . . . . . .Adding Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349Deleting Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 350Modifying Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350

Editing Specific Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352Editing Instance and Block Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Pin Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355Designating the Order of Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 355Copying a Pin Order from Another Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Resolving Pin Order Mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Verifying Pin Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357Editing Pin Name Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 358Editing Wire Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359Editing Wire Name Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360Editing Instance Pin Properties on an Instance of a Block . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Label Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362

June 2000 Contents-10 Product Version 4.4.6

Page 11: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . . . . 36. .. . 3. . 372. . 373

.

. . . .. 3

384

. . . 38 . 38 . 389

. . . 393 . . 396 . . 396. . 398. . 399. . 400. . 4 . 401

Resetting Invisible Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363Editing netSet Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364Editing Note Text Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364Editing Note Shape Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367Editing Symbol Shape Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Editing Symbol Pin Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370Editing Symbol Label Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71Editing Symbol Selection Box Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing User-Defined Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Editing Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374Adding Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375Deleting Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377Modifying Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377Editing VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 378Adding VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380Deleting VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381Modifying VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Setting the Parameter Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

9Traversing the Design Hierarchy and Creating a DesignConfiguration View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

About the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384Exploring the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Top-Level Schematic View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386Middle-Level Schematic View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Lower-Level Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

About the Configuration View of a Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .About the Hierarchy Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391Traversing a Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

Descending Using the Descend Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing an Instance in Place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 395Descending Using the View Name List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the View Precedence Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Returning Up the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using OSMs to Traverse the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Bindkeys to Traverse the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Displaying the Current Hierarchical Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01Creating a New Configuration View for the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . .

June 2000 Contents-11 Product Version 4.4.6

Page 12: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. 403. . 404 . 406 . 406 . 406 . . 40. 409.

413

. .

.

. . 4. . . . . 428 . . 42. .

. . 4 . . 434

. . 438 . . 439 . . 43. . 439. . . 4 . . 44. . 440

. 442

Opening an Existing Design Configuration View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .About the Hierarchy Editor within the Schematic Composer . . . . . . . . . . . . . . . . . . . . . . . . . . Working with a Design Configuration within the Schematic Composer . . . . . . . . . . . . . . . . . . .

Opening a Hierarchy Editor Menu within the Schematic Composer . . . . . . . . . . . . . . . . . . .Editing a Design Configuration within the Schematic Composer . . . . . . . . . . . . . . . . . . . . .Setting Instance Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 406Updating a Design Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Building a New Inherited View List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Showing Views Found . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412

10Checking Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Features of the Check Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414Setting the Check Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

Setting User Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416Setting Schematic Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 418

Checking a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423Checking and Saving a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24Checking the Current Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426Checking a Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427Checking a Design Hierarchy in the Configuration Context . . . . . . . . . . . . . . . . . . . . . . . . .Checking Multisheet Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Checking a Label Attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430Cross-View Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431

Bypassing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433Bypassing Floating Pin Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33Bypassing Unconnected Wire Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Resolving Check Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436Finding Errors and Warnings in a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mapping an Error Message to a Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Managing the Error Message List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Assigning an ignoreCheck Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Suppressing Message Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Deleting an ignoreCheck Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0Deleting All ignoreCheck Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Individual Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 441Deleting All Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

Monitoring a Verilog or VHDL Simulation State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Cross Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444

June 2000 Contents-12 Product Version 4.4.6

Page 13: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . . . 446 . 448

. 450 . .

452

. . . . 462

5

. . 466

. . 469 . . . 470

. . . 471

. . 472

. .

Opening an SHM Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .444Displaying the Simulation State of Wires and Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting a Time Value for Displaying Signal Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Setting the Time Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449Setting the Display Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 449Synchronizing with Simulation at Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Closing the SHM Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

11Plotting Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Setting Up Your System to Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452Plotting a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

Plotting a Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453Plotting a Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455Plotting Part of a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 456Adding Notes to a Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458Setting Plot Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

Using a Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460Creating a Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 461Loading a Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Creating a Default Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Checking the Queue Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463Canceling a Plot Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

12Setting Schematic Composer Options . . . . . . . . . . . . . . . . . . . . . . . 46

Overview of Schematic Composer Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing User Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467

Minimizing Mouse Clicks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467Changing the Default Display Setting for Command Option Forms . . . . . . . . . . . . . . . . . . .

Saving the Current Window Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 469Restoring a Saved Window Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Viewing Bindkey Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470Changing Browser and CIW Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

Canceling the Modal (Repeat) Command Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473Selecting Objects Using the Filter Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

June 2000 Contents-13 Product Version 4.4.6

Page 14: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . . 474

.

6

. . 476

. .

. 479 . . 479. . 480. .

. 481

. 48 . 482. . 483.. . . . 485 .

. . 48 488

. 489 . 48 . . . 49 . . . . . 496

Setting Plot Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473Setting Schematic Check Options and Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Parameter Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474Saving Form Field Default Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 474Loading Form Field Default Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

13Customizing the Schematic Composer . . . . . . . . . . . . . . . . . . . . . . 47

Customizing Pull-Down and Pop-Up Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Default Menu Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477Sample Menu File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

Customizing Object-Sensitive Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478Customizing the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

Positioning Icons and Turning Off Icon Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the Contents of the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Changing the Display of the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Understanding Initialization and Setup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480Customizing Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481

Locating the schBindKeys.il Bindkey File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locating Your Installation Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Loading Your Customized Bindkey File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Loading the Cadence-Supplied Bindkey File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Customizing the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483Opening the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Editing the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 484Loading the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485

Customizing Global Editor Variables for Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Schematic Editor Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486Symbol Editor Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486Symbol Generation (tsg) Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7HDL (Verilog, SpectreHDL, and VerilogA) Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .AMS Netlisting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489You can set severities for the following AMS checks: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Block Pin Direction Rule Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Block Sample Sizes Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491View Name Exclusion Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3Schematic Pin Types Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .493Plot Template File Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495Schematic Rule Checker Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

June 2000 Contents-14 Product Version 4.4.6

Page 15: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

.

. . 500. . 5 . 5

. . . 510. . 51. . 511 . . . 513

. 513. ..

.

518

.

.

Properties for Find Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496Multisheet Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499Simulation Probe Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Name Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01View Master Options Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .04Zone Formats Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 505Symbol Label Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505Symbol Pin Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

Customizing Text-to-Symbol Generator (TSG) Variables for Form Fields . . . . . . . . . . . . . . . . .Pin Master Connections Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0Symbol Pin Characteristics Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Template Masters Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512

Customizing HDL Variables for Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Edit After Error Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513Update Symbol After Edit Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Cross View Check Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514Cross View String Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514Printing Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514Verbose Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515No Hierarchy Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516Net to Port Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516

Customizing the Plot Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516

AEnvironment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Window Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524schDisplayDepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524schDrawAxesOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525schDynamicHilightOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525schGridMultiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525schGridSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526schGridType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526schMaxDragFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527schPathType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527schShowDirectConnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 527schShowLabelOrigin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528schSnapSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528schWindowBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529symDisplayDepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529

June 2000 Contents-15 Product Version 4.4.6

Page 16: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. ..

.

.

symDrawAxesOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529symDynamicHilightOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 530symGridMultiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530symGridSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531symGridType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531symMaxDragFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531symPathType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532symShowDirectConnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532symShowLabelOrigin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532symSnapSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533symWindowBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533viewNameList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534

Schematic Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534autoDot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534blockDirRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535browserType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535checkAlways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536checkBeepOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536checkHierSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537checkSymTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537compBackTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538condOp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538createCvOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539createInstResetCDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539createInstShowCDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540createLabelFontHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540createLabelFontStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540createLabelHorzOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541createLabelHorzPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 541createLabelHorzRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541createLabelJustify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542createLabelOffsetMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 542createLabelVertOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543createLabelVertPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543createLabelVertRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 543cvDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544defaultsFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544defWideWireWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545descendSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545descendTarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

June 2000 Contents-16 Product Version 4.4.6

Page 17: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . .

.

dotOverlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546drawMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546drawModeRoute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547echoToCIW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547editPropShowCDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547editPropShowSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 548editPropShowUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548findZoomButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549gravityOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549libList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549markerSeverity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550markerShowIgnore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550markerZoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551maxLabelOffsetUU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551minMarkerSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551modalCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552netExprDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552netNameMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553netNamePrefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553netNameRangeDescend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553netNameSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554noteFontHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554noteFontStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555noteJustify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555noteShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555noteShapeLineStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556pinBackTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556pinNameSeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557pinRefDuplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557pinRefFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557pinRefSorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558replSaveChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558runSRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559runVIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559saveAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559schematicAreaPartialSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560schematicSelectFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560sensitiveMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561shapeLineType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561shapeLineWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561simProbeFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562

June 2000 Contents-17 Product Version 4.4.6

Page 18: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

.

. .

simProbeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562snapEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563spanLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563srcConnByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563srcFloatingBIDIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564srcFloatingInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564srcFloatingIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565srcFloatingNets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565srcFloatingOutput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565srcInheritedConnCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 566srcInstNameExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566srcInstNameSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567srcInstOverlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567srcInstOverlapValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567srcMaxLabelOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568srcNameCollision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568srcNetNameExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569srcNetNameSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569srcNoOverrideNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569srcOffsheetConnCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570srcPinNetCollision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570srcShortedOutputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571srcSolderOnCrossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 571srcTermNameExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571srcTermNameSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 572srcUnconnectedWires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 572srcVerilogSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573srcVHDLSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573ssgSortPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573statusBanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574statusBannerXY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574stickyWireLabelRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575symbolAreaPartialSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 575symbolLabelChoiceText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575symbolLabelFontHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576symbolLabelFontStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576symbolLabelJustify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577symbolLabelType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577symbolPinFlatten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577symbolPinIncrCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578symbolPinLocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578

June 2000 Contents-18 Product Version 4.4.6

Page 19: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

85

. . .

. .

. 612

symbolPinUsage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579symbolSelectFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579symbolShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579symbolShapeFillStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580transToSheetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580tsgTemplateType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580updateConn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581vicExactPinMatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582vicInheritedPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582vicInheritedPinsMatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582vicSeverity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583vicViewList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583wireBackTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584zoomOutButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584

BText-to-Symbol Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Symbol Shape Generated by TSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586TSG Symbol Description File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587TSG Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587Clock and Negation Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588Backannotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588Simple File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588Complex File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589Extended File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591TSG Symbol Description File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592

Basic File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595

Using TSG Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596Cell Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597Input Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598Output Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598I/O Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598Symbol Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599

Executing TSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611TSG Processing Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 612Creating Symbols Automatically from a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

June 2000 Contents-19 Product Version 4.4.6

Page 20: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . 619nt 619ment

. .

. . 649

6

. 658

CSymbol and Simulation Library Generator . . . . . . . . . . . . . . . . . 614

Terms and Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616Library Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618Running the Symbol and Simulation Library Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Running the Symbol and Simulation Library Generator in the Cadence Graphic EnvironmeRunning the Symbol and Simulation Library Generator in the Cadence Nongraphic Environ620

Library Management Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .622lmCheckTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624lmCheckView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625lmCloseLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627lmDefCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628lmDefTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631lmDefViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633lmDeleteTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637lmDeleteViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638lmGetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639lmLoadData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640lmOpenLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641lmPrintLibTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642lmPrintLibViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643lmPrintTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644lmPrintTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645lmPrintViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 646lmReset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647lmSimView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648

Variables That Control Command Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties That Modify Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650Sample Library Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 650

DConfiguring and Using Kanji Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657Configuring Your System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657

Installing the Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657Uncompressing the Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 657Modifying the Schematic Editor Menu File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

June 2000 Contents-20 Product Version 4.4.6

Page 21: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . 6 . 6

. . 661. . 662

. . 668

670

. . 67

. . . . .

. . . .

. . 69

. . .

Setting the Environment Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59Modifying the Data Registry File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

Using Kanji Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660Formats, Files, and Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 660Adding a New Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661Generating a Symbol from an Existing File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating a Symbol from a New File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing an Existing Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664

Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666Known Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666Using the schHiCreateKanjiSymbol Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

EForm Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Add Block Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675Add Custom Pin Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676Add Generic Form – VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Add Instance Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678Add Kanji Note Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679Add Net Expression Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680Add New Property to Find Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681Add New Property to Replace Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 682Add New Property for Search Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683Add Note Shape Form – Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684Add Note Shape Form – Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685Add Note Shape Form – Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 686Add Note Shape Form – Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687Add Note Shape Form – Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 688Add Note Shape Form – Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689Add Note Text Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690Add Pin Form – Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692Add Pin Form – Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693Add Property Form – Edit Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Add Selection Box Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695Add Simulation Monitor Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696Add Symbol Label Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698Add Symbol Shape Form – Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699Add Symbol Shape Form – Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 700Add Symbol Shape Form – Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 701

June 2000 Contents-21 Product Version 4.4.6

Page 22: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . . 7. . . 7

.

. . . 71

. 717

.

. . 723 . . 724

. .

.

. . .

. . . 738 . . . . . 745 . . 747. . . 74 . . . . 7

. . 7

Add Symbol Shape Form – Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 702Add Symbol Shape Form – Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .03Add Symbol Shape Form – Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04Add Wire Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705Add Wire Name Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706Build Inherited View List Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708Cellview From Cellview Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709Cellview From Instance Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710Cellview From Pin List Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711Change Sheet Border Size Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712Check Hierarchy Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713Component Browser Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714Component Browser Preferences Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Copy Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716Create Cellview Dialog Box – Replace or Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Create Schematic Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718Create Schematic Sheet Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . 719Cross Reference Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720Cross-View Checker Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721Delete All Markers Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722Delete Generic Form – VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete Property Form – Edit Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Delete Schematic Sheet Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725Descend Form – Descend Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 726Descend Form – Iterated Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727Descend Form – Multisheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728Descend Form – Noniterated Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729Display Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730Edit Cellview Properties Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 733Edit Component Display Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735Edit Object Properties Form – Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737Edit Object Properties Form – Instance and Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Edit Object Properties Form – Instance Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .741Edit Object Properties Form – Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743Edit Object Properties Form – Master Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Edit Object Properties Form – Net Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Edit Object Properties Form – Note Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Edit Object Properties Form – Note Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .751Edit Object Properties Form – Other Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53Edit Object Properties Form – Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755Edit Object Properties Form – Pin Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

June 2000 Contents-22 Product Version 4.4.6

Page 23: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

. . 75. . 760. . 76 . . 764 . . 76 . . 768

. . .

. 780

. 783. . 784

.. . . . . 79. . . 800

.

. .

. 807

. . .

Edit Object Properties Form – Selection Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9Edit Object Properties Form – Symbol Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Symbol Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Edit Object Properties Form – Symbol Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Edit Object Properties Form – Wire Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6Edit Object Properties Form – Wire Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Edit Pin Order Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770Edit Schematic Sheet Number Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771Editor Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772Find Marker Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775Go To Pin Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777Go To Sheet Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778Import Symbol Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779Left, Right, Top, Bottom Pin Attributes Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Load Label Display Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781Load Schematic Defaults Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 782Modify Generic Form – VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Modify Property Form – Edit Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Move Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785Open Simulation Data Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786Plot Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787Renumber Instances Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789Reset Invisible Labels Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790Rotate Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791Route Flight Line Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792Save Label Display Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793Save Schematic Defaults Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794Save Schematics with Errors Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795Schematic Check Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 796Schematic Find and Symbol Find Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8Schematic Replace and Symbol Replace Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Select All Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802Schematic Select By Property Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 803Schematic Selection Filter Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804Schematic Title Block Properties Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805Set Instance Binding Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806Set Label Display Simulation Data Directory Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Set Radix Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808Set Time Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809Setup Schematic Rules Checks Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810Show Label Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814

June 2000 Contents-23 Product Version 4.4.6

Page 24: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

.

.

.

Show Views Found Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815Stretch Form – Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816Stretch Form – Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818Submit Plot Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 819Symbol Generation Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 823Symbol Select All Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827Symbol Select By Property Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828Symbol Selection Filter Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829Synchronization Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830Time Scale Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831VHDL Properties Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832

Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 833

June 2000 Contents-24 Product Version 4.4.6

Page 25: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

Preface

The Virtuoso® schematic composer is a design entry tool that supports the work of logic andcircuit design engineers, including drafters. Physical layout designers and printed circuitboard designers can use the information as background material to support their work.

The preface discusses the following:

■ Related Documents on page 25

■ Typographic and Syntax Conventions on page 26

Related Documents

You can use the schematic composer with other Cadence® products. It requires knowledgeof special languages such as the Cadence SKILL language. The following documents giveyou more information about these tools and languages.

■ The Design Framework II Help provides information if you are not familiar with Cadenceterms and starting your system.

■ The Cadence Application Infrastructure User Guide provides additional informationabout the architecture.

■ The Virtuoso Schematic Composer Tutorial assumes that you know how to designschematics but are new to the schematic composer software.

■ The Inherited Connections Flow Guide describes how to use inherited connectionsand net expressions with various Cadence tools in the design flow.

■ The Virtuoso Schematic Composer SKILL Functions Reference Manual is for users whocustomize the standard product.

■ The Library Manager User Guide explains how to open or create cellviews from thelibrary manager.

■ The Verilog-XL Integration Reference Manual describes how to use design entry withVerilog® HDL. Integrated circuit designers who use the Verilog-XL simulator to verify thelogic of their designs can benefit from this manual.

■ The Virtuoso Schematic Composer VHDL Interface User Guide describes how to usedesign entry with VHDL.

June 2000 25 Product Version 4.4.6

Page 26: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePreface

■ The Text-to-Symbol Generator (TSG) is a Cadence application program thatautomatically generates circuit symbols for schematic composer and subsequentsimulation processes. TSG provides a quick way to generate a symbol from a list of pins.You also use TSG when you use the Create – Cellview commands when the destinationis a symbol cellview.

■ The Symbol and Simulation Library Generator (S/SLG) is a Cadence SKILL language-based library management program that generates symbol and simulation views.

Typographic and Syntax Conventions

This list describes syntax conventions used in this manual for clarifying the text. The syntaxconventions used in the product itself are discussed in the sections where the technologyitself is described.

text Indicates text you must type exactly as it is presented.

z_argument… Indicates text that you must replace with an appropriateargument. The prefix indicates the data type(s) the argument canaccept, for example t_ for text. The three dots indicate that youcan repeat the argument. Substitute one or more names orvalues. Do not type the data type or underscore.

italic Indicates names of manuals, commands, form buttons, and formfields.

| Separates possible choices for a single argument and takesprecedence over any other character. Also separates the valuesreturned by a SKILL function.

[ ] Indicate and enclose optional arguments.

{ } Indicate you must specify one of the enclosed arguments.

=> Precedes the values returned by a Cadence SKILL languagefunction.

June 2000 26 Product Version 4.4.6

Page 27: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

1Getting Started

The Virtuoso® schematic composer is a design entry tool that supports the work of logic andcircuit design engineers, including drafters. Physical layout designers and printed circuitboard designers can use the information as background material to support their work. Thischapter discusses the following topics:

■ Starting the Schematic Composer on page 27

■ Working with Designs on page 29

■ Working with Libraries on page 41

■ Using Menus and the Icon Bar on page 43

■ Working with Commands on page 47

■ Working with Forms on page 50

■ Working with Bindkeys on page 53

■ Selecting Objects on page 58

■ Working with Windows on page 71

■ Using the Library Browser on page 76

■ Using the Component Browser on page 80

Starting the Schematic Composer

To start the schematic composer, you must run an executable that contains the software.Examples of such executables are as follows:

■ icde , which includes the schematic editor, symbol editor, and plotting

■ icds , which includes all of the above, plus digital simulator interfaces

■ icms , which includes all of the above plus mixed-signal functionality

June 2000 27 Product Version 4.4.6

Page 28: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

■ msfb , which encompasses mixed-signal front-to-back functionality

■ icfb , which encompasses full-chip design functionality

To start an executable, do the following:

1. Type the name of the executable after the UNIX prompt in an xterm window.

For example:

icde &

The ampersand (&) starts the software in the background so you can use the xtermwindow for other tasks while the software is running.

2. Press the Return key.

The Command Interpreter Window (CIW) opens.

June 2000 28 Product Version 4.4.6

Page 29: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using the Command Interpreter Window

The Command Interpreter Window (CIW) is the first window that appears after you start a oneof the executables.

For details, refer to Design Framework II Help.

Working with Designs

The following section describes the basics about the schematic editor and the symbol editor.

■ Opening a New Cellview on page 31

■ Opening an Existing Cellview on page 32

■ Quitting the Schematic Composer on page 39

The menu banner displaysthe Cadence® designframework II menus.

The message area displays messages from thesoftware as you use the schematic composer.You can resize the CIW to see more messages inthis area.

The input line is where you can typeCadence SKILL commands andfunctions or indicate coordinates.

The mouse settings line shows the currentsettings for the mouse buttons (left, middle,right). The settings change as you move themouse in and out of cellviews or start and stopcommands. Press Shift to see Shift mousebindings; press Control to see Controlmouse bindings.

The prompt line shows messagesfrom the current command.

June 2000 29 Product Version 4.4.6

Page 30: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

■ Using the Schematic Editor on page 33

■ Using the Symbol Editor on page 35

■ Making Designs Editable on page 35

■ Making Designs Read Only on page 37

■ Saving Your Edits on page 38

■ Closing Editor Windows on page 39

June 2000 30 Product Version 4.4.6

Page 31: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Opening a New Cellview

To open a new cellview from the CIW, do the following:

1. Choose either Design – Newfrom an editor window or File – New – Cellviewfrom the CIW.

The Create New Fle form appears.

2. In the Library Name cyclic field, choose the library in which to store the new cellview.

3. In the Cell Name field, type a new cell name.

4. In the View Name field, type a view name that reflects the type of data that you want tocreate; for example, schematic or symbol .

schematic opens the schematic editor.

symbol opens the symbol editor.

5. Set the Tool cyclic field to either Composer – Schematic or Composer – Symbol.

6. Click OK.

June 2000 31 Product Version 4.4.6

Page 32: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Opening an Existing Cellview

To open an existing cellview, do the following:

1. Choose either Design – Open from an editor window or File – Open from the CIW.

The Open File form appears.

2. In the Library Name cyclic field, choose the library that contains the existing cellview.

3. In the Cell Name field, specify a cell name by doing one of the following:

❑ Type the cell name

❑ Click on a cell name in the Cell Names list box

❑ Click Browse to open the Library Browser

4. In the View Name cyclic field, choose a view name.

5. Click OK.

June 2000 32 Product Version 4.4.6

Page 33: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using the Schematic Editor

A schematic design is a graphical representation of a logic circuit design. The connectivityinformation is derived from the placement of pins, wires, and instances. To create a schematicdesign, you use the schematic editor, which is shown in the following graphic.

Tools Design Window Edit Add Check Sheet Options

Virtuoso ® Schematic Editing: mixedVHDL designA 1 schematic

Prompt line

Mouse settings

Design area

Pointer

Cursor

Icon bar

Menu banner

Status banner

Window title

June 2000 33 Product Version 4.4.6

Page 34: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Use the schematic editor to add the following objects.

Use the symbol editor to draw symbols that you place in the schematic window.

Note: You can use multisheet schematics to partition a large design among several sheets(pages), which improves readability and produces better plot output.

BC

AI1

Y

nand3

■ Instances

■ Schematic pins

■ Wires and wire names

■ Solder dots

■ Notes fordocumentationpurposes

■ Properties

TERM1

Schematic for Group B

June 2000 34 Product Version 4.4.6

Page 35: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using the Symbol Editor

When a schematic design requires a symbol that does not have a corresponding symbol in aCadence library, you can create your own symbol using the symbol editor.

After you create the master symbol, you can add a copy of it (known as an instance) to yourdesign using the schematic editor.

If you later change a master symbol, the schematic editor automatically applies the changesto all the existing instances of that symbol, as well as to any new instances you might add.

The only visual difference between the schematic editor and the symbol editor is in the iconbar, which shows symbol commands instead of schematic commands. Also, the Sheetmenudoes not appear in the symbol editor.

You use the symbol editor to add the following graphics.

Making Designs Editable

If you opened your schematic or symbol in read-only mode, you can change the mode tomake it editable.

➤ Choose Design – Make Editable.

■ The basic shape, such as apolygon, circle, or rectangle

■ Symbol pins

■ Lines to connect the shapes to thepins

■ Symbol labels

■ A selection box aroundyour symbol

■ Notes for documentation purposes

■ Properties

A Y

[@instanceName]

inv

ABC Inverter

June 2000 35 Product Version 4.4.6

Page 36: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

This command toggles with Design – Make Read Only.

Note: Some libraries might have read-only file permissions, which you cannot override withthis command.

June 2000 36 Product Version 4.4.6

Page 37: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Making Designs Read Only

To make a design open in read-only mode, do the following:

➤ Choose Design – Make Read Only.

If you have made any changes to the current cellview but have not saved them, theChange Edit Mode form appears and prompts you to either save the changes or discardthem.

Yes saves your edits.

No discards your edits.

After you click on Yes or No, the mode becomes read only.

This command toggles with Design – Make Editable.

Change Edit Mode

June 2000 37 Product Version 4.4.6

Page 38: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Saving Your Edits

You can use any of the following two methods to save a design.

To save a design, do the following:

➤ Choose Design – Save.

To save a design to a different name, do the following:

1. Choose Design – Save As.

The Save As form appears.

2. Change the form fields to a filename of your choice.

3. Click OK.

Save As

June 2000 38 Product Version 4.4.6

Page 39: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Closing Editor Windows

To close an editor window, do the following:

➤ Choose Window – Close.

If you edited the current cellview since the last time you saved your data, the SaveChanges form appears and prompts you to save the changes, discard them, or cancelthe Close operation.

Yes saves your edits and closes the window.

No discards your edits and closes the window.

Cancel cancels the Close command but does not discard the changes. It returns you tothe cellview you were editing.

Quitting the Schematic Composer

To quit the schematic composer, do the following:

1. From the CIW, choose File – Exit.

Save Changes

June 2000 39 Product Version 4.4.6

Page 40: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The system prompts you before exiting.

If you have not saved your edits, the Save Changes form appears.

2. Specify one of the save options by clicking on the corresponding button.

❑ Click All to reselect all cellviews and save all your changes.

❑ Click None to deselect all cellviews and quit without saving your changes.

3. Click OK.

If you click Cancel on the Save Changes form, you cancel both the save and the quitoperations, and the software continues to run.

For information about saving your environment, saving your session, or viewing your log file,refer to Design Framework II Help.

exit icds?

Save Changes

June 2000 40 Product Version 4.4.6

Page 41: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Working with Libraries

This section describes the following topics:

■ Database Structure on page 41

■ Design Libraries on page 42

■ Reference Libraries on page 42

■ Library Browser on page 42

Database Structure

The database holds all design data as follows:

Libraries hold your design hierarchy.

Cells are components of a design. If a schematic spans more than one page, as the IO regdoes, the page shows up as a cell denoted by the sheet number. The first cell name withoutthe sheet number is the schematic index.

Cellviews are specific representations of a cell.

Views contain connectivity data that describe the logical views of a design.

A library has the following characteristics:

■ It is a logical collection of cells, views, and technology information

Libraries

samplebasictestA

aoiinverterdesign1IOregIOreg/sheet001IOreg/sheet002IOreg/sheet003IOreg/sheet004

Cellviews

Cells Views

Design Entrydatabase

symbollayoutverilogschematic

June 2000 41 Product Version 4.4.6

Page 42: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

■ It is a physical collection of files and directories that can reside anywhere in the filesystem

■ It can be shared by all users, but it can be controlled by a single person

■ It has associated files, such as the technology file, catalog file, foreign database files, andan audit trail

Note: The catalog file keeps track of the logical names of design objects and their physicallocation.

The Cadence Application Infrastructure User Guide provides additional information about thelibrary structure.

Design Libraries

A design library is a storage area where you create a new design. Design libraries have read-write access so that you can edit and save a design.

You need to create a new library with read and write access so that you can edit and save adesign in it.

Reference Libraries

Reference libraries store Cadence-supplied cells. In the design entry system, severalcollections of master symbols, such as various pins and gates, are stored in the followingreference libraries:

■ sample – stores common symbols (instances)

■ US_8th – stores a template for various sizes and types of multisheet schematics

■ basic – stores specific pins

Library Browser

The Library Browser is the Cadence utility that lets you view information about the contentsof those libraries that you specify in your cds.lib file. Also, several forms, such as the OpenDesign form, let you use the Library Browser to initialize library and cellview form fields.

June 2000 42 Product Version 4.4.6

Page 43: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using Menus and the Icon Bar

The following section describes using the various schematic editor and symbol editor menusand the icon bar.

■ Using Pull-Down Menus on page 43

■ Using Pop-Up Menus on page 44

■ Using Object-Sensitive Menus (OSMs) on page 44

■ Using the Icon Bar on page 46

Using Pull-Down Menus

To use pull-down menu commands, do the following:

1. Click on a menu title to display the pull-down commands.

2. Click on the command you want.

The command you select does one of the following:

❑ Starts immediately using the default settings or selected object

❑ Prompts you to click on something, to select an object, or to identify a point in thewindow (prompts can appear in the editor window and the CIW)

❑ Displays an options form to assist you in completing the command

Design Window Edit Add

Check and Save XSave SSave As ^sHierarchyCreate CellviewNew ...Open ...Discard Edits ...

Menu titles

Commandnames

Letters indicate bindkeys.

Three dots bring up options forms.

Triangles bring up slider commands.

June 2000 43 Product Version 4.4.6

Page 44: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using Pop-Up Menus

You can pop up a default menu of a few commonly used commands by doing the following:

1. Move the pointer to an open area in your design (not over any object).

2. Press and hold the middle mouse button.

The pop-up menu appears.

3. Slide the pointer to the command you want and release the middle mouse button.

Using Object-Sensitive Menus (OSMs)

An object-sensitive menu (OSM) (also called popup menus) contians the most commonlyused commands associated with a particular object. To set up the OSMs, do the following:

1. From the CIW, choose Options – User Preferences

The User Preferences form appears.

2. Turn infix on.

3. Click OK.

4. Verify that the bindkey file is installed properly.

5. From the editor window, choose Options – Display and set the OSM option to on(default).

Commands for theschematic editor

Commands for thesymbol editor

Symbol

Zoom InZoom Out By 2FitUndoSelect Filter ...Add Pin ...Return

Schematic

Zoom InZoom Out By 2FitAdd Component ...Add Pin...Create Cellview ...Wire (narrow)Return

June 2000 44 Product Version 4.4.6

Page 45: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

6. From the editor window, choose Options – Select Filter and set Schematic Objects to all(default).

7. Make sure that you are in edit mode by doing one of the following:

❑ Verify that Make Read Only is visible.

❑ Verify that the word Editing appears in the editor window banner.

To use OSMs once they are set up, do the following:

1. Place the pointer over an object; for example, over an instance as shown below (theobject is highlighted dynamically).

2. Press and hold the middle mouse button.

A menu pops up at the pointer location.

3. Slide the pointer to the command you want and release the middle mouse button.

Instance

StretchCopyDeleteProperties...Descend Edit ...Descend Read ...Edit In PlaceCreate Cellview ...Rotate

June 2000 45 Product Version 4.4.6

Page 46: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using the Icon Bar

The icon bar appears on the left side of the design window. This bar allows for quick accessto frequently used commands.

Icon Bar Names

The commands displayed on the icon bar vary depending on which editor you are using andon whether you are in edit or read mode.

You can turn off the icon name.

You can customize the icon bar.

Check and Savechecks and savesthe cellview.

Zoom In By 2enlarges theimage in thewindow.

Stretch stretchesobject edges orcorners.

Delete removesobjects from thiscellview.

Save saves thecellview.

Zoom Out By 2reduces the imagein the window.

Copy duplicatesobjects in thiscellview.

Undo cancels thelast edit.

Property lets youedit features ofobjects.

Wire (narrow) letsyou create anarrow wire.

Wire Name letsyou name a wire.

Command Optionslets you display (orhide) an options formof an activecommand.

Instance lets youcreate aninstance.

Wire (wide) letsyou create a wideor bus wire.

Pin lets you createa pin.

Repeat lets yourepeat acommand.

June 2000 46 Product Version 4.4.6

Page 47: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Working with Commands

The following sections provide information about working with commands.

■ Using Command Prompts on page 48

■ Selecting Objects to Edit on page 49

■ Using Modal (Repeating) Commands on page 49

■ Canceling Commands on page 49

■ Undoing a Command on page 49

■ Redoing a Command on page 50

■ Using Command Shortcuts on page 50

To start a command from the icon bar, do the following:

1. Click on an icon.

2. Press the F3 key (optionally).

3. Complete the resulting form.

To help you recognize an icon, the command name appears when you slidethe pointer over the icon.

Copy

June 2000 47 Product Version 4.4.6

Page 48: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using Command Prompts

After you start a command, the CIW and the editor window tell you what to do next.

The mouse settings line shows the current settings for the mouse buttons. The settingschange as you move the mouse in and out of design windows or start and stop commands.

For example:mouseSingleSelectPt = enter a pointmousePopUp = popup menuschHiCopy = Copy command

The window title banner at the top of the schematic window or symbol window shows theactive command.

The prompt line showsmessages from thecurrent command.

Leftmousebutton

Middlemousebutton

Rightmousebutton

June 2000 48 Product Version 4.4.6

Page 49: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Selecting Objects to Edit

You can select objects before or after you start an editing command.

If you select an object before you start an editing command, the system prompts you for astarting point called the reference point for the edit. The reference point is usually in themiddle of the object.

When you select an object after you start a modal (repeating) command (such as move,delete, copy), the command remains active (default) until you cancel the command bypressing the Escape key. To change the default to nonrepeating, do the following:

1. Choose Options – Editor.

The Editor Options form appears.

2. Turn Modal Commandsoff.

3. Click OK.

Using Modal (Repeating) Commands

You do not have to repeatedly select a command if you plan to perform the same task severalconsecutive times. For example, editing commands automatically repeat when the modalcommands option is set to on (the default).

Canceling Commands

To cancel a command, do one of the following:

■ Press the Escape key.

■ Click Cancelon a form.

■ Select another command.

Undoing a Command

To undo a command, do one of the following:

■ Press the u key.

■ Choose Edit – Undo.

June 2000 49 Product Version 4.4.6

Page 50: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Redoing a Command

To redo a command (that is, undo an undo), do one of the following:

■ Press the Shift-u keys.

■ Choose Edit – Redo.

Using Command Shortcuts

Direct editing (or direct manipulation) is the quickest way to edit or create an object. You canuse your mouse to start the following command operations, rather than selecting a menucommand or an icon:

■ Stretching using direct manipulation

■ Copying using direct manipulation

■ Moving using direct manipulation

■ Create a wire from a schematic pin

■ Create a wire from a block pin

■ Repeat the last command

■ Rotating using the mouse

■ Using other mouse options

Working with Forms

The following sections provide more information about working with forms:

■ Displaying Forms on page 51

■ Using Form Buttons on page 52

■ Using Form Fields on page 53

June 2000 50 Product Version 4.4.6

Page 51: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Displaying Forms

In general, when a menu command is followed by three dots, a form automatically appearswhen you choose the command.

Manually Displaying Forms

To display the associated options form, press the F3 key after you choose the command.

Design Window Edit Add

Check and Save X

Save S

Save As... ^s

Hierarchy

Create Cellview

New...

Open...

In general, clicking on a command that is followed by three dotsopens an options form.

June 2000 51 Product Version 4.4.6

Page 52: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using Form Buttons

The buttons at the top of standard forms have the following functions:

Note: Some forms do not have a Defaults button.

Completes thecommand and closesthe form

Resets default valuesfor options on theform

Closes the form withoutcompleting thecommand

Completes the command andcontinues to display the form onthe screen

Resets default values, ifany, for options on theform

Closes the form and letsyou go on with thecommand

Closes the form withoutcompleting thecommand

June 2000 52 Product Version 4.4.6

Page 53: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using Form Fields

In addition to the buttons at the top of a form, there are several types of fields and buttonsinside a form.

Working with Bindkeys

One of the quickest ways to start a command for an application type, such as the schematiceditor or the symbol editor, is to press a bindkey (a letter key or function key on your keyboardthat is mapped to a pull-down menu command) for that command. The following exampleshows some of the Edit pull-down menu commands and their corresponding bindkeys.

system

user

Click on a radio buttonto turn a form settingon (filled in orchecked) or off(empty).

Text fieldsThe text cursor shows whereyou can start typing. You canjump from one text field toanother by pressing the Tabkey. Scroll back and forth usingthe left and right arrow keys.

Press and hold the left mouse button ona cyclic field and a list appears. Toselect a value, slide the cursor to oneitem in the list and release the mousebutton.

Click on a button tochoose an action thattakes placeimmediately.

Click on a radio button to choose onesetting from several options.

June 2000 53 Product Version 4.4.6

Page 54: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Caution

The bindkey for Redo is an uppercase U. For all uppercase letters, use theShift key and not the Caps Lock key.

Window Edit Add

Undo u

Redo U

Stretch m

Pull-down menucommands Bindkeys

June 2000 54 Product Version 4.4.6

Page 55: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Quick Reference Bindkey Chart — Schematic Editor

DESIGNX Check and SaveS Save (not needed)

^ s Save AsE Hierarchy ⇒ Descend Edite Hierarchy ⇒ Descend Read

Hierarchy ⇒ Edit In PlaceHierarchy ⇒ Show Scope

^ e Hierarchy ⇒ ReturnHierarchy ⇒ Return To TopCreate CellviewNewOpenDiscard EditsMake Read OnlyMake Editable

9 Probe ⇒ Add NetPlot

/ Renumber Instances

CHECKx Current Cellview

HierarchyOptionsRules SetupLabel Attachment

g Find Marker^ g Delete Marker

Delete All MarkersSimulation Monitors

WINDOWz Zoom In] Zoom In By 2[ Zoom Out By 2

Pan Down← Pan Left→ Pan Right↑ Pan Upf Fit

F6 RedrawUtilitiesClose

EDITu UndoU Redom Stretchc CopyM Move

Del Deleter Rotateq Properties ⇒ ObjectsQ Properties ⇒ Cellviews

Reset Invisible LabelsComponent DisplayAlternate View

^ f Select ⇒ FilterSearch

5 Route Flight

OPTIONSO Editoro Display

^ f Select FilterCheckCheck Rules SetupParameter FilterSave DefaultsLoad Defaults

ADDi Instance

w Wire (narrow)W Wire (wide)

l Wire Namep Pinb Block

Net ExpressionSolder Dot

L Note ⇒ Textn Note ⇒ Shape

CHECKx Current Cellview

HierarchyOptionsRules SetupLabel Attachment

g Find Marker^ g Delete Marker

Delete All MarkersSimulation Monitors

June 2000 55 Product Version 4.4.6

Page 56: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Quick Reference Bindkey Chart — Symbol Editor

DESIGNX Check and SaveS Save (not needed0

^ s Save AsE Hierarchy ⇒ Descend Edite Hierarchy ⇒ Descend Read

Hierarchy ⇒ Edit In PlaceHierarchy ⇒ Show Scope

^ e Hierarchy ⇒ ReturnHierarchy ⇒ Return To TopCreate CellviewNewOpenDiscard EditsMake Read OnlyMake Editable

9 Probe ⇒ Add NetPlot

CHECKx Cross View Checkg Find Marker

^ g Delete MarkerDelete All Markers

WINDOWz Zoom In] Zoom In By 2[ Zoom Out By 2

Pan Down← Pan Left→ Pan Right↑ Pan Upf Fit

F6 RedrawUtilitiesClose

EDITu UndoU Redom Stretchc CopyM Move

Del Deleter Rotateq Properties ⇒ ObjectsQ Properties ⇒ Cellviews

Reset Invisible Labels^ f Select ⇒ Filter

SearchOrigin

OPTIONSO Editoro Display

^ f Select FilterSave DefaultsLoad Defaults

ADDp Pin

Shapel Label

Selection BoxL Note ⇒ Textn Note ⇒ Shape

Net ExpressionCustom PinImport Symbol

June 2000 56 Product Version 4.4.6

Page 57: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Quick Reference Bindkey Chart — Mouse Buttons

Left Mouse Button – Select and DeselectClick Select Point

Double Click Extend SelectShift Click Select Point (Add)Cntl Click Deselect Point

Drawthrough Select Box or Direct Edit*Shift Drawthrough Select Box (Add) or Direct Edit*Cntl Drawthrough Deselect Box or Direct Edit*

Click (EF) Add Point

*Direct Edit applies only when over object.

Middle Mouse Button – Pop-Up MenusClick Pop-Up Menus

Click (EF) Pop-Up MenusDouble Click (EF) Toggle Options Form

Right Mouse Button – Repeat, Zoom, Options Click Repeat Last Command

Drawthrough Zoom InShift Drawthrough Zoom Out

(EF) Command Options(command-specific bindings)

EF (Enter Function) bindkeys usedwithin an active command.

June 2000 57 Product Version 4.4.6

Page 58: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Quick Reference Bindkey Chart — General Bindkeys

You can customize bindkey settings.

Selecting Objects

This section describes the following topics:

■ Dynamic Highlighting on page 60

■ Using the Mouse to Select Objects on page 60

■ Extending the Selection Area of a Net on page 62

■ Selecting One Object on page 62

■ Selecting Multiple Objects on page 63

■ Selecting Parts of Objects on page 65

■ Selecting Wires on page 65

■ Selecting a Wire Name and Its Associated Wire Segments on page 66

■ Selecting a Pin and Its Associated Wire Segments on page 66

■ Selecting an Instance and Its Associated Wire Segments on page 67

VERILOG HDL or VHDLCheck and Save

^ s Save AsSearchOpenPrint

^ e ReturnReturn To TopClose Window

Z Previous View^ v Go To CIW

Pan Down← Pan Left→ Pan Right↑ Pan Up

F3 Toggle Options FormF4 Toggle Partial Selection

r Rotate (EF)R Sideways (EF)

^ r Upside Down (EF)

Del Undo Point (EF), DeleteEsc Stop Command IterationF1 Help

Help Help

June 2000 58 Product Version 4.4.6

Page 59: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

■ Deselecting Objects on page 68

■ Selecting Objects by Filtering on page 69

June 2000 59 Product Version 4.4.6

Page 60: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Dynamic Highlighting

By default, the software highlights objects automatically when you move your cursor over theobject. This behavior is called dynamic highlighting and helps you by identifying

■ Which object you will select when you press the left mouse button

■ Which object will be affected by a direct manipulation command

■ Which object will be affected by a command when infix is turned on

To highlight an object dynamically, do the following:

➤ Move the cursor over the object.

The object is highlighted with a dashed line.

Note: You can turn off dynamic highlighting.

Using the Mouse to Select Objects

Left Mouse Button

To select or deselect a command from a menuTo select options on a formTo select objects in a cellviewTo draw objectsTo move, stretch, and shrink a schematic window

June 2000 60 Product Version 4.4.6

Page 61: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

To bring a schematic window to the foregroundTo select a windowing system command

Middle Mouse Button

To pop up the object-sensitive pop-up menusTo pop up options forms (double-click)

Right Mouse Button

To repeat the last commandTo use command-specific bindings, such as rotate

The following table summarizes how you can use your mouse to manipulate objects in adesign window:

Action Result

Click once on an object Selects the object under the pointer and deselects all otherobjects.

Double-click on a wire First selects a wire segment, then branch, then path, then net.This is referred to as extended selection.

Double-click on an object First selects the object (instance, pin, or block), then selectsits wire segments.

Click, hold, and drag Selects objects in the box. These objects become the selectedset. Deselects objects outside the box.

Shift-click Adds an object to the selected set.

June 2000 61 Product Version 4.4.6

Page 62: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Extending the Selection Area of a Net

When you want to copy, move, stretch, or delete an entire section of a net, you need to extendthe selection area of all physically connected wire segments.

An entire section of a net ends at

■ Any three-way or four-way wire connection point

■ An instance pin

■ A schematic pin

■ A change in wire width (bus)

You can use extended selection to select the following:

■ Several wire segments

■ A wire name and its associated wire segments

■ A pin and its associated wire segments

■ An instance and its associated wire segments

Selecting One Object

To select one object to copy, move, stretch, or delete, do the following:

1. Move your cursor over the object.

Dynamic highlighting shows you which object will be selected when you click the mousebutton.

2. Click the mouse button.

Dynamic highlighting

June 2000 62 Product Version 4.4.6

Page 63: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The selected object is highlighted.

Selecting Multiple Objects

There are three ways to select multiple objects:

■ Shift –click (hold down the Shift key and click) on each object that you want to add tothe set

■ Drag a box completely around all the objects that you want to select

■ Select one object, and drag a box completely around the other objects that you want toadd to the selected set

Example 1

■ Hold down the Shift key and click on each object you want to add to the set.

Highlighted object

Click on an object.

Shift–click on a second object.

✘ The object also becomes highlighted.

The object becomes highlighted.

Both objects are now highlighted.

June 2000 63 Product Version 4.4.6

Page 64: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Example 2

■ Hold down the left mouse button while you drag a box completely around all the objectsyou want to select.

Example 3

■ Click on the first object and then hold down the Shift key and the left mouse button anddrag a box completely around the objects you want to add to a selected set.

Click andhold whiledragging.

Release.

All the objects are now highlighted

Shift, click, anddrawthrough.

Release.

The first and subsequent objects are now highlighted

June 2000 64 Product Version 4.4.6

Page 65: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Selecting Parts of Objects

Selecting a part of an object is important when you want to stretch only that part.

You can select parts of schematic wires, note shapes, symbol lines, and symbol devices.

Selecting Wires

To select several physically connected segments of one wire, do the following:

1. Click on Wire 1 to select the first wire segment.

2. Double-click on Wire 1 to select both Wire 1 and Wire 2.

The extended selection grows to include all segments up to a branch.

3. Double-click again on Wire 1 to select all the connected wires (Wires 2, 3, and 4).

All segments of the network that are physically connected are selected and highlighted.

Wire or line segment endpoint

Vertex of an objectEdge of an object

Wire 1

Wire 2

Wire 3

Wire 4

June 2000 65 Product Version 4.4.6

Page 66: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Selecting a Wire Name and Its Associated Wire Segments

To select a wire name and its associated wire segments, do the following:

1. Click on the wire name to select it.

2. Double-click on the already selected wire name to select its associated wire segment.

Selecting a Pin and Its Associated Wire Segments

To select a pin and its associated wire segments, do the following:

1. Click on a pin to select it.

2. Double-click on the selected pin.

This selects the wire segment connected to the pin.

3. Double-click again on the selected pin.

WireName

Click on wire name.

Double-click on the highlightedwire name to select itscorresponding wire.

First click selects pin.

First double-click adds a wiresegment to the selection.

Second double-click adds the entire connected network to theselection.

June 2000 66 Product Version 4.4.6

Page 67: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

This extends the selection area to all physically connected wire segments.

Selecting an Instance and Its Associated Wire Segments

To select an instance and its associated wire segments, do the following:

1. Click on an instance to select it.

2. Double-click on the selected instance.

This adds all single wire segments that are connected to the instance up to the firstbranch to the selection.

3. Double-click again on the instance.

This extends the selection area to all physically connected wire segments.

First click selects instance.

First double-click selects all wiresegments up to the first branch.

Second double-click selects allwire segments.

June 2000 67 Product Version 4.4.6

Page 68: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Deselecting Objects

You can use the mouse to deselect objects.

The following table summarizes how you can use your mouse to deselect objects in a designwindow:

To deselect all objects, click in an open area of your design.

To deselect one object and select another, click on the second object.

Action Result

Click once in an openarea

Deselects all objects if not within a command. If in a modal(repeating) command, use Ctrl-d .

Control-click Deselects the object under the pointer.

Before After

Click.

Before After

Click.

June 2000 68 Product Version 4.4.6

Page 69: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

To deselect only one object from a selected set, hold down the Control key and click on theobject you want to deselect.

To deselect more than one object from the selected set, hold down both the Control keyand the left mouse button while dragging a box around the objects you want to deselect.

Selecting Objects by Filtering

The Symbol Selection Filter form and the Schematic Selection Filter form let you specifywhich object types you can select manually for editing. This is especially useful when youhave many object types, or overlapping object types, in a small area of your design.

For example, if you want to work exclusively with pins, you can turn on selection capabilitiesfor pins only. As a result, if you accidentally click on another type of object that is near a pin,the other object is not selected.

To specify the objects you want to filter for selection, do the following:

1. Choose Options – Select Filter.

Before After

Hold Control andclick.

Release.

Hold Control , click, anddrawthrough.

June 2000 69 Product Version 4.4.6

Page 70: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

If you are in the symbol editor, the Symbol Selection Filter form appears.

If you are in the schematic editor, the Schematic Selection Filter form appears.

2. In the Schematic (or Symbol) Objects section, specify the object types you want to selectfor editing.

The option none turns off all object types.

3. Click OK.

June 2000 70 Product Version 4.4.6

Page 71: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Working with Windows

A variety of window commands is available to help you work quickly.

■ Zooming on page 71

■ Panning on page 75

■ Redrawing a Window on page 76

■ Viewing the Same Cell in Two Windows on page 76

Zooming

Zooming is helpful as you add and edit objects. For example, you can view objects in twowindows at the same time and use a different zoom factor in each.

Zooming In Manually

To zoom in (decrease the display area) manually, do the following:

1. Choose Window – Zoom – Zoom In.

2. Click your cursor to mark one corner of the zoom area.

3. Click your cursor to mark the other corner of the zoom area.

Zooming In Automatically

To zoom in automatically by 2 (decrease the display area by a factor of 2), do the following:

1st click

2nd click

Selecting Zoom In area After Zoom In

BC

A I2Y

nand3

Before Zoom In

June 2000 71 Product Version 4.4.6

Page 72: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

➤ Choose Window – Zoom – Zoom In By 2.

Zooming Out Automatically

To zoom out by 2 (increase the display area by a factor of 2), do the following:

➤ Choose Window – Zoom – Zoom Out By 2.

Zoom to Fit Automatically

To zoom to fit (resize the display area to show the entire cellview in the window), do thefollowing:

Before Zoom In By 2 After Zoom In By 2

BC

A I2Y

nand3

Before Zoom Out By 2 After Zoom Out By 2

BC

A I2Y

nand3

June 2000 72 Product Version 4.4.6

Page 73: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

➤ Select Window – Fit.

Saving View Area Settings in Memory

You can temporarily store your current viewing area. This procedure is useful when you wantto look at one section of the design, move to a new section, and then return to the first section.

To temporarily save your viewing area, do the following:

1. Choose Window – Utilities – Save View.

The Save Window form appears.

2. In the Name field, type the name you want to assign to your current view.

3. Click OK.

Restoring View Area Settings

To restore a saved viewing area, do the following:

1. Choose Window – Utilities – Restore View.

Before Fit After Fit

B

AI2

Y

nand

Save Window

saveView2

June 2000 73 Product Version 4.4.6

Page 74: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The Restore View form appears, listing the names you assigned with the Window –Utilities – Save View command.

2. Click once on the name.

3. Click OK.

The previously saved viewing area appears.

Restore View

June 2000 74 Product Version 4.4.6

Page 75: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Panning

Panning lets you reposition your design within the editor window, which is helpful when youadd or edit objects.

To pan, you can use

■ Your cursor and the Window – Pan command

■ The arrow keys on your keyboard

■ The editor window scroll bars

■ Assigned bindkeys

Panning Using Your Cursor and the Window – Pan Command

To pan, do the following:

1. Choose Window – Pan.

2. Click on the point that you want to appear in the center of the editor window, (thereference point).

The image moves and places the reference point in the center of the editor window.

Panning Using the Arrow Keys

To pan using the arrow keys on your keyboard, do the following:

➤ Press the arrow keys corresponding to the direction you want to pan.

Panning Using the Editor Window Scroll Bars

To pan using the vertical and horizontal scroll bars on the editor window, do the following:

Before Pan After Pan

Referencepoint

BC

A I2Y

nand3BC

A I

n

Center ofscreen

June 2000 75 Product Version 4.4.6

Page 76: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

1. From the CIW, choose Options – User Preferences.

The User Preferences form appears.

2. Set Scroll Bars to on.

3. Click OK.

Note: This feature works only if you turn on the scroll bars before you open a design.

Redrawing a Window

To redraw a window, do the following:

➤ Choose Window – Redraw.

Viewing the Same Cell in Two Windows

Use the Copy Window command to see the same cellview from different zoom and pansettings simultaneously. This feature lets you work in one area of the cellview and still have areference window showing the entire cellview.

To view the same cellview in two windows, do the following:

➤ Choose Window – Utilities – Copy Window.

A copy of the current cellview opens in a new window.

The copy has the same title as the original. Any change you make in either windowaffects both windows.

Note: Commands started in one window are also active in the other window. For example,when you use the Add – Wire command, you add wires inside both windows.

Using the Library Browser

You can use the library browser to view and select the contents of the libraries you specify inyour cds.lib file. As an alternative, you can use the component browser.

Accessing and Using the Library Browser

You can use the Library Browser

June 2000 76 Product Version 4.4.6

Page 77: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

■ To view the contents of the libraries specified in your cds.lib file

■ To initialize the Library, Cell, and Viewfields on certain forms (these forms have a Browsebutton)

You can access the Library Browser by clicking on the Browse button when it appears on aform, such as the Open File form or the Add Instance form. The browser type option must beset to Library Browser (the default).

Changing the Browser Type Option to the Library Browser

To set the browser option to library, do the following:

1. Choose Options – Editor.

The Editor Options form appears.

2. In the Add Instance Browser Type option, click library.

3. Click OK.

June 2000 77 Product Version 4.4.6

Page 78: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

Using the Library Browser to Initialize Form Fields

To automatically fill in the fields of a form after you click on the Browsebutton, do the following:

1. In the Library list box, click on a library name.

2. In the Category list box, click on a category name.

Note: The Category list box appears only when you click the Show Categories togglebutton.

3. Click on a cell name in the Cell list box.

4. Click on a view name in the View list box.

June 2000 78 Product Version 4.4.6

Page 79: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

As you click on the names in the Library Browser, the corresponding form fields areinitialized on the form that called the browser.

To browse only a certain cell or view in a library, do the following:

1. Click Filters at the bottom of the Library Browser.

June 2000 79 Product Version 4.4.6

Page 80: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The View Filter By form appears.

2. In Cell Filter, type the name of the cell you want to browse.

3. In View Filter, type the name of the view you want to browse.

4. Click OK.

Using the Component Browser

You can use the component browser to view and select the contents of the libraries youspecify in your cds.lib file. As an alternative, you can use the library browser.

Accessing and Using the Component Browser

The Component Browser is available only in conjunction with the Add – Instancecommand,and only after you change the default setting on the Editor Options form. By default, thebrowser type is set to the Library Browser.

You can use the Component Browser

■ To view the contents of the libraries specified in your cds.lib file

■ To select the components you want to add to your design

Changing the Browser Type Option to the Component Browser

To access the Component Browser, do the following:

June 2000 80 Product Version 4.4.6

Page 81: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

1. Choose Options – Editor.

The Editor Options form appears.

2. In the Add Instance Browser Type option, click component.

3. Click OK.

Opening the Component Browser

To open the Component Browser to add component instances from a library, do the following:

➤ Choose Add – Instance.

June 2000 81 Product Version 4.4.6

Page 82: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The Component Browser form appears.

The form on the left shows the top-level categories for the sample library. The form on theright shows the expanded uncategorized category.

Opening the Add Instance Form Instead of the Component Browser

If you have specified the Component Browser as the default browser but want to open theAdd Instance form first when you choose Add – Instance, do the following:

1. From the Component Browser, choose Commands – Preferences.

June 2000 82 Product Version 4.4.6

Page 83: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The Component Browser Preferences form appears.

2. Turn off the Browser Opens with Invocation of Add Instance option.

3. Click OK.

Listing Components from Several Libraries

To list components from several libraries, do the following:

1. From the Component Browser menu banner, choose Commands – Add Library.

June 2000 83 Product Version 4.4.6

Page 84: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The Component Browser form expands to display the contents of another library.

2. From the Library cyclic fields, choose the libraries that you want to browse.

Changing the Component Browser Display

To display all components within categories of a library, do the following:

➤ Choose the Flatten option.

By default, Flatten is deselected, so the Component Browser displays a hierarchical listof components grouped by categories.

To limit the display to specific components, do the following:

➤ Type a selection pattern in the Filter field.

By default, the Filter field contains an asterisk, so the Component Browser displays alllibrary components.

June 2000 84 Product Version 4.4.6

Page 85: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGetting Started

The following table describes filter patterns.

Key Filter Pattern Description

c Matches any ordinary character (not a special character listed here).

[c...] Matches the string enclosed in the square brackets (called a set). If the firstcharacter in the set is ^, it matches a character not in the set. Specify aninclusive set of characters by separating the characters with a dash.

$ At the end of a filter string, matches the end of a pattern. Used elsewhere inthe pattern, is treated as an ordinary character.

* When used alone, lists all components. When used as the last character ina pattern, matches zero or more occurrences of a pattern. For example, tolist all components beginning with the letter c, use the filter c* .

+ When used as the last character in a pattern, matches one or moreoccurrences of a pattern.

\(...\) Saves the enclosed expression in a numbered register(from 1 to 9).

. Matches any character.

\ Preceding a special character, matches the character literally.

\n Matches the contents of the nth register from the current regularexpression.

\<...\> Restricts the pattern matching to the beginning and/or end of a word.

rs A composite regular expression. Matches the longest match of r followedby a match for s .

^ At the beginning of a filter string, matches the beginning of a pattern. Usedelsewhere in the pattern, is treated as an ordinary character.

June 2000 85 Product Version 4.4.6

Page 86: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

uousins toe

2Understanding Connectivity and NamingConventions

Connectivity is the way in which components and pins are linked together in a nonambigmanner. The connectivity in a schematic is represented by wires linking the component pother component pins. Connectivity can also be represented by pins of the common nam(connection by name). The connectivity of a cellview is created by either theDesign – Checkand Save command or theCheck – Current Cellview command.

■ Connectivity with Objects on page 86

■ Instance Naming Conventions on page 87

■ Wire Connections and Wire Naming Conventions on page 91

■ Multiple-Bit Wire Connections on page 99

■ Multiple-Bit Wire Naming Conventions on page 106

■ Pin Connections and Pin Naming Conventions on page 108

■ Patchcord Connections and Patchcord Naming Conventions on page 112

■ Inherited Connections on page 115

■ Summary of Naming Conventions on page 122

Connectivity with Objects

Connectivity is the logical connection between signals in a design. Connectivity is derived(extracted) from the physical connections found in a schematic. Pins and wires implementphysical connections. Terminals and signals implement logical connections. Pins andterminals indicate which signals in a cellview are imported from or exported to other levels ofa design hierarchy.

June 2000 86 Product Version 4.4.6

Page 87: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

A complete schematic design provides input data for a variety of design tools,such as simulation and layout. It is essential, therefore, that you establishconnectivity in your schematic designs.

The following diagram shows connectivity and naming conventions.

Instance Naming Conventions

You can name instances using any one of the following naming conventions:

Key Connectivity / Name Key Connectivity / Name

A Instance name H Overbars in a name

B Single wire names I Wire name with multiple bits

C Pin name J Bus tap

D Wire-to-pin connection K Multiple-bit naming convention

E Wire-to-wire connection L Wire-to-iterated instance connection

F Pin-to-pin connection M Net expression label

G Global net name

[@ground:%:gnd!]

RESET

CLK

DATA

Q

Q

_

BUFF

ADDER

a0,a1,a2,a3

reset

clk

INPUT

OUTPUT

out<3:0> I

K

E

F

C

L

A

A<0:3>

3 out<2> J

wire1

Mgnd!

B

D

H

G

June 2000 87 Product Version 4.4.6

Page 88: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

■ System-Generated Names on page 88

■ User-Defined Names on page 88

■ Iterated Names on page 89

System-Generated Names

If you do not name the instance explicitly, the system assigns default instance names by usingI plus a number. The editor increases incrementally the instance number starting from 0.

The advantage of system-generated instance names is that you never have to type a nameon the Add Instance form. You can add many instances very quickly and automatically.

You can also change the instance name prefix ( I ) to another letter.

User-Defined Names

The advantage of user-defined names is that you can explicitly name instances in yourdesign. Examples of user-defined names are as follows:

A0 A1 A2 A3

ABC DEF HIJ

IOLATCH FLIPFLOP

Each user-defined name you add must be a string of one or more characters. You must namean instance when you create it using the Add Instance form. If you do not name the instanceexplicitly, the system generates a name for you.

I0

I1

June 2000 88 Product Version 4.4.6

Page 89: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

On the Add Instance form, separate each instance name by a space; for example, ABC BCD.

Iterated Names

Use the iterative naming method to name many instances created from only one visualinstance in your design.

This method is particularly useful in bus-type or dataflow architectures that have identicalstructures to handle each bit on the bus. It also saves space in your design.

This example uses the base name A. The 0 to the left of the colon and the 3 to the right ofthe colon indicate the numbered range (0 through 3), which names instances A<0>, A<1>,A<2>, and A<3>.

Iterated instances save space. The instances in the following two figures represent identicalcircuitry, but the second figure is easier and faster to create.

ABC

BCD

BC

A A<0: 3>

Y

nand3

June 2000 89 Product Version 4.4.6

Page 90: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

The first schematic shows four IOlatch instances in a design: I0 , I1 , I2 , I3 . Comparethis with the next schematic.

I3 I4 I5 I6

June 2000 90 Product Version 4.4.6

Page 91: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

This schematic shows one IOlatch iterated four times: I<0:3> . Compare this with theprevious schematic.

Wire Connections and Wire Naming Conventions

You can connect single-bit wires in your design using any one of the following conventions:

■ Wire-to-Wire Connections on page 92

■ Wire-to-Pin Connections on page 94

■ Wire-by-Name Connections on page 95

■ Wire-to-Iterated Instance Connections on page 95

■ Global Net Name Connections on page 98

I<0:3>

June 2000 91 Product Version 4.4.6

Page 92: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Wire-to-Wire Connections

If you draw two intersecting manhattan wires in a T configuration, the editor automaticallyconnects the wires.

If you draw two manhattan wires that cross, you must explicitly add a solder dot to make theconnection at the crossover.

If you draw two manhattan wires in an L configuration, or if you draw an angled wire and amanhattan wire that intersect at their end points, the wires are connected, but the editor doesnot add a solder dot.

If you connect a narrow wire to a wide wire—for example, as in a bus—you must intersect thecenterline of the wide wire.

Wire 1

Wire 2

Wire 2

Wire 1

You must add a solderdot if you want thewires to connect.

Wire 2

Wire 1

Before After

Wire 1Wire 1

Wire 2 Wire 2

Wide wire

Unconnected wire at the edge ofthe wire

Connected wire at the center ofthe wire

June 2000 92 Product Version 4.4.6

Page 93: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

If you want to connect to an angled wire, you must connect to one of its endpoints. The editorautomatically adds a solder dot after you add the last wire in each of these examples.

Note: Make connections for all angled wide wires, narrow wires, and flight lines at theirendpoints.

Wire 2

Wire

1

Wire

3Wire 1

Wire 2

June 2000 93 Product Version 4.4.6

Page 94: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Wire-to-Pin Connections

To make wire-to-pin connections, the wire must intersect the pin.

■ Draw the wire so it ends in the body of a pin.

■ Draw the wire so it ends on the border or perimeter of a pin.

■ Draw the wire so it passes through a pin.

■ You cannot make a wire-to-pin connection by drawing an angled wire that passesthrough a pin.

Two mechanisms help you make an accurate connection between your wires and pins.

■ As you move the pointer near a pin while you draw the wire, a small diamond appearsover the pin to show you the nearest object with which you can establish electricalconnectivity.

■ You can zoom in on your design to see if you are making an accurate connection.

PinWire

Pin

Angledwire

PinPinWireWire

PinWire

Floating pin

Angledwire

June 2000 94 Product Version 4.4.6

Page 95: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Wire-by-Name Connections

A signal is said to be “connected by name” if more than one physically disjoint wire or groupof wires exist that carry the signal.

To connect instance pins, assign the same name to each wire. The wires do not have to bephysically connected. If you use a local net name, you can connect by name on the samepage. If you use a global net name, you can connect by name across all levels of thehierarchy.

Be careful not to inadvertently connect a signal across a schematic by using the same name.You can catch this error before your design has been netlisted by checking your design.

Wire-to-Iterated Instance Connections

Note: The net width has no limit.

Before the editor lets you connect a wire to an iterated instance, it checks to see that the netwidth equals one of the following:

net_name

net_name

Instance pinconnections

net_name

Instance pinconnections

June 2000 95 Product Version 4.4.6

Page 96: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

■ Connection Width on page 96

■ Pin Width on page 96

■ 1 on page 97

If the connection cannot be made, the editor generates an error message when you checkyour design.

Connection Width

If the connection width is equal to the net width, the editor allows the connection withoutmodifying the design. To determine whether net width equals connection width, the editorcompares the net width to a computed connection width. The connection width is computedas follows:

(instance iteration width ) * (instance pin width )

In the following example, the width of instance I<0:2> is 3 and the width of pin P<0:2> is 3.The computed connection width equals 9. The net width N<0:8> also equals 9. Therefore,the connection can be made

Pin Width

If the net width is equal to the pin width, the editor adds a net prefix repeat operator to the netwidth before it allows the connection. If the net width equals the pin width but does not equal

N<0:8>P<0:2>

I<0:2>

N<0> is connected to P<0> of I<0>N<1> is connected to P<1> of I<0>N<2> is connected to P<2> of I<0>N<3> is connected to P<0> of I<1>N<4> is connected to P<1> of I<1>

June 2000 96 Product Version 4.4.6

Page 97: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

the connection width, the editor computes a net prefix repeat operator that equals theinstance iterations.

The net width (3) equals the pin width but does not equal the connection width (9). Therefore,the editor generates a net prefix repeat operator, <*3> , for the net in order to allow theconnection.

1

If the net width is equal to 1, the editor adds a net prefix repeat operator to the net width beforeit allows the connection. If the connection width is 1, the editor computes a net prefix repeatoperator that equals the computed connection width.

N<0:2>P<0:2>

I<0:2>

Net N<0:2> is 3 bits wide, pin P<0:2> is 3 bits wide, andinstance I<0:2> is 3 bits wide. The computed connectionwidth is 9.

<*3>(N<0:2>)P<0:2>

I<0:2>

N<0> is connected to P<0> of I<0>N<1> is connected to P<1> of I<0>N<2> is connected to P<2> of I<0>N<0> is connected to P<0> of I<1>. . .

NP<0:2>

I<0:2>

The net width equals 1, the pin width equals 3, and the instancewidth equals 3. The computed width is 9.

June 2000 97 Product Version 4.4.6

Page 98: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

The net width does not equal either the connection width (9) or the pin width (3), but it doesequal 1.

Global Net Name Connections

Global nets make connections across the design hierarchy without using pins and wires toexplicitly pass the signal throughout the hierarchy. Global nets are used primarily for powerand ground connections.

To create a global net, add an exclamation mark to the net name.

To make a bus global, add an exclamation mark to the base name of the bus.

Another way to make a net global is to connect it to a pin or instance pin that is global. Thenet inherits the name of the global pin or instance pin. The basic library has various globalsymbols you can use to indicate global nets.

In summary, you can create a global signal by

■ Using the Add – Wire Name command

■ Using the Add – Instance command of normal power and ground symbols

<*9>NP<0:2>

I<0:2>

The editor generates a net prefix repeat operator, <*9> , for the netin order to allow the connection.

gnd!

A!<0:3>

gnd!

vdd!

June 2000 98 Product Version 4.4.6

Page 99: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Creating a net expression works in a similar way.

Multiple-Bit Wire Connections

You can connect multiple-bit wires in your design using any one of the following conventions:

■ Tapping Multiple Bits of a Bundle on page 99

■ Tapping Multiple Bits of a Bus on page 101

■ Tapping Wire Intersections by Name on page 103

■ Designating Tap Size and Bit Order on page 103

■ System-Generated Net Names on page 104

Tapping Multiple Bits of a Bundle

Tapping extracts specified bits from a named net and propagates the bits along the design.Tapping a subset of signals from a bus or a bundle is called bus tapping.

To create a bus tap, connect a wire that carries the subset of signals to the bus or bundle thatcontains the signals. You can use one of the many different configurations of wire-to-wire orpin-to-wire connections to create the bus tap. You can also use collinear taps.

Then add the name of the bus tap that specifies the tapped signals. The name depends onwhether you tap from a bus or from a bundle.

June 2000 99 Product Version 4.4.6

Page 100: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

You tap bits of a bus or bundle when you connect multiple-bit wires to a bus or bundle andname the wires accordingly. For example, in the following illustration, all multiple-bit wires usesignal S, signal R, or bus Q.

A bundle is a wire or pin name consisting of simple names separated by a comma; forexample, S,R . A bus is a single name with a vector expression; for example, Q<0:15> .

If you want to tap signals from a bundle (that is, a multibit wire whose signals do not have thesame base name), you must specify the name of the signals in the wire name to indicatenumbered bits.

In the following example, bus Q<0:7> taps eight bits from bus Q<0:15> , which is part of abundle. In this case, the tap name contains a base name with a vector expression. Wire S,Rtaps two signals with different names from the bundle. In this case, the wire name is a list ofnames separated by commas.

Collinear taps contain acommon wire.

Q<5:3>

Q<0:7>

S

Q<0>

S,R

S,R,Q<0:15>

Bundle

S,R,Q<0:15>

Q<0:7> S,R Q<0>

June 2000 100 Product Version 4.4.6

Page 101: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

The following example shows the same multiple bits of a bundle with a pin and a collinearintersection or tap.

Tapping Multiple Bits of a Bus

A wire named with a vector expression can intersect another wire named with a vectorexpression, provided that one of them also intersects a wire named with the full bus name.This procedure lets you cascade taps without repeating the base name. Any wires or pins ofinstances connected to tap wires inherit the name of the tapped signal. This process is called“cascading” bus taps. If a tap wire carries more than one bit from the bus, the editor can tapthe wire.

For example, to tap signal DATA<0> from bus DATA<0:3> , specify <0> or 0.

Q<5:3>

Q<0:7>

S

Q<0>

S,R

S,R,Q<0:15>

Bundle

Five subsets of thebundle

Collinear intersection or tap

DATA<0:3>

<0> <1>

This isDATA<0>.

This isDATA<1>.

June 2000 101 Product Version 4.4.6

Page 102: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

You can create a geometric configuration when a tap wire carries more than one bit from thebus. The single-bit taps <0>, <1>, <2>, and <3> are drawn from the two-bit taps <0:1> ,<2:3> rather than directly from the DATA<0:3> bus.

As shown in the above example, if you intersect a bus wire named DATA<0:7> with a tap wirenamed <0:3> , you can intersect the tap wire with a second tap wire named <0:1> . Thename of the first tap wire becomes DATA<0:3> . The name of the second tap wire becomesDATA<0:1> .

You can also intersect the second tap wire with other tap wires to individually tap bit <0>, bit<1>, and so on. In general, you can intersect any bus with a tap wire, even if the bus itself isa tap of a larger bus. Taps can cascade down any number of steps.

DATA<0:3>

<0:1>

<0>

<1>

<2:3>

<2>

<3>

Wire named using a vector expression

Wire named using a2-bit tap

2-bit taps carry two signals, <2>and <3>

Wire named with tapsignal DATA<0>

Wire named with tap signalDATA<2>

Wire named with tapsignal DATA<1>

Wire named with tap signalDATA<3>

June 2000 102 Product Version 4.4.6

Page 103: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Tapping Wire Intersections by Name

The following illustration summarizes how to specify bus tap intersections.

Any other wires or pins of instances connected to tap wires inherit the name of the tappedsignal. This process is called “cascading” bus taps. Any narrow or wide wire connected to thewire named <3> is connected to the DATA<3>bit of the bus. Any wire connected to the wirenamed <2> is connected to the DATA<2> bit of the bus, and so on.

Designating Tap Size and Bit Order

A tap wire can contain only the signals present in the bus, but the total number of bits in a tapwire can exceed the total number of bits in the bus. To make this happen, use one of therepeat operators in the tap expression. For example, you can intersect a 4-bit bus wire namedA<0:3> with an 8-bit tap wire named <0:1*2,(0:1)*2> . The resulting name of the tap wireis A<0,0,1,1,0,1,0,1> .

The editor orders bits in a bus just as they appear in the bus name. Similarly, the editor ordersbits in a tap as they appear in the tap name.

419

DATA<0:3>

<3>

<1>

<0> <2>

The <1> wirerepresents aT-tapintersection.

The <2> wirerepresents a T-tap intersection.

Wire (narrow) taps thesingle bit calledDATA<3> from the bus.

Wire (wide) isthe bus wire forall intersections.

Collinear intersections occur wherewide and narrow wires meet.

The <0> wirerepresents an L-tapintersection and tapsthe single bit calledDATA<0> from thebus.

June 2000 103 Product Version 4.4.6

Page 104: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

For example, you can tap the four bits of a bus named DATA<0:3> in order from DATA<0>toDATA<3>. However, a tap wire named DATA<3:0> that intersects with bus DATA<0:3> tapsthe bits in reverse order, as shown in the following figure.

System-Generated Net Names

The following items explain how the system determines a name for unnamed wire segments.

■ The editor places all unnamed intersecting wires in the same unnamed net.

■ To determine the name of the unnamed net, the editor chooses a name from among thenamed nets that intersect with the unnamed net. Named nets are those nets whosenames are derived from wire names, schematic pins, or tap names.

■ The chosen name for the unnamed net is the one with the largest number of uniquemembers. For example, a net named A,B,C has three unique members, but a netnamed A,A has only one unique member.

■ At all wire-wire and wire-pin intersections, the editor verifies that all names present at theintersection are members of the name that contains the most unique members.

For example, in the following illustration

■ The editor places wire segments 3, 5, and 7 in the same net because these segmentsare intersecting and unnamed

■ This unnamed net is then named A,B,C because it takes the names of all theintersecting named nets. The name A,B,C is the one with the most unique membernames; that is, three.

DATA<0:3>

0:3 3:0

This isDATA<0:3> .

This isDATA<3:0> .

June 2000 104 Product Version 4.4.6

Page 105: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

■ The editor then verifies that all intersecting named nets (B,C,C,B and A,A,B,B ) aretaps of A,B,C .

A,B,C A,A,B,B

B,CC,B 4 5 6

1 2

7

3

June 2000 105 Product Version 4.4.6

Page 106: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Multiple-Bit Wire Naming Conventions

You can connect multiple-bit wires in your design using any one of the following namingconventions:

■ Using Vector Expressions in Multiple-Bit Wire Names on page 106

■ Using Vector Expressions in Multiple Signals on page 106

■ Evaluating Vector Expressions in Multiple-Bit Wire Names on page 107

■ Using Prefix Repeat Operators in Multiple-Bit Wire Names on page 107

■ Using Suffix Repeat Operators in Multiple-Bit Wire Names on page 108

Using Vector Expressions in Multiple-Bit Wire Names

A multiple-bit wire name can be a bundle, a bus, or a combination of the two. You can improvereadability in your designs by shortening multiple-bit wire names.

To indicate that multiple bits of one wire carry similar information, give each bit the same basename. Then add a suffix to each bit name to distinguish the signals.

For example, to show four bits of a wire with a common base name (DATA), but with individualsuffixes (<0>, <1>, <2>, and <3>), assign the following names: DATA<0>, DATA<1>,DATA<2>, and DATA<3> .

Using Vector Expressions in Multiple Signals

To name a wire that contains multiple signals with the same base name, specify the basename followed by a vector expression. The vector expression can be

■ A list of the individual bit numbers separated by commas and enclosed with anglebrackets.

For example, DATA<2,1,0> represents DATA<2>, DATA<1>, and DATA<0>.

■ A range of numbers containing a lower and upper bound and, optionally, an incrementvalue. The numbers are separated with colons and enclosed with angle brackets.

For example, DATA<1:7:2> represents

baseName < lowerBound : upperBound : [ incrValue ]>

Use a positive integer for incrValue . If you do not specify an increment value, the editoruses 1.

June 2000 106 Product Version 4.4.6

Page 107: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

The ordering of the bits in a bus is important when you are connecting the bus to a pin thathas a width greater than 1.

Evaluating Vector Expressions in Multiple-Bit Wire Names

The system evaluates vector expressions in multiple-bit wire names as follows:

■ The vector expression DATA<0:3:2> names a 2-bit bus containing DATA<0> andDATA<2>.

■ The vector expression DATA<1:3:2> names a 2-bit bus containing DATA<1> andDATA<3>.

■ The vector expressions DATA<0:3> and DATA<0:3:1> are equivalent names thatgenerate a 4-bit bus containing DATA<0>, DATA<1>, DATA<2>, and DATA<3>.

If the lower bound is larger than the upper bound, the editor generates the bit numbers indescending order, as follows:

■ The vector expression DATA<2:0> generates a 3-bit bus that contains DATA<2>,DATA<1>, and DATA<0>.

Using Prefix Repeat Operators in Multiple-Bit Wire Names

A multiple-bit wire name can be a bundle, a bus, or a combination of the two. You can improvereadability in your designs by shortening multiple-bit wire names.

You can repeat a single signal name, a group of signal names, or a vector term any numberof times in the wire name by placing a prefix repeat operator <* n> in front of the name, wheren is a positive integer that defines the number of times to repeat each bit in the vector term.

■ Use the prefix repeat operator <* n> to repeat a single-signal name. The followingequivalent wire names both name the same four-bit wire:

<*2>A,B,CA,A,B,C

■ Use the prefix repeat operator <*n > and parentheses to repeat a group of signal names.The following two wire names are equivalent:

<*2>(A,B),CA,B,A,B,C

■ Use combinations of the prefix repeat operator <* n> and parentheses to nestparenthetical expressions to any required depth. The editor expands nested expressions

June 2000 107 Product Version 4.4.6

Page 108: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

from the innermost expression outward. For example, a name with the expression<*2>(A,<*2>(X,Y)),B expands to A,X,Y,X,Y,A,X,Y,X,Y,B .

Using Suffix Repeat Operators in Multiple-Bit Wire Names

A multiple-bit wire name can be a bundle, a bus, or a combination of the two. You can improvereadability in your designs by shortening multiple-bit wire names using vector expressions.

A suffix repeat operator is a number, <*n >, after a vector term, where n is a positive integerthat defines the number of times to repeat each bit in the vector term.

■ Use the suffix repeat operator <*n > to repeat each bit in a group of bit names beforeexpanding the vector term. For example, the following three names all describe the samesix-bit wire:

A<0:2*2>A<0*2,1*2,2*2>A<0,0,1,1,2,2>

■ Use the suffix repeat operator <*n > and parentheses to repeat the sequence of bitnames. In this case, the vector term is expanded before the bits are repeated. Thefollowing names all describe the same six-bit wire:

A<(0:2)*2>A<0:2,0:2>A<0,1,2,0,1,2>

Pin Connections and Pin Naming Conventions

A pin name consists of a string of printable characters. You must observe the rules forreserved characters.

You can name pins in a design

■ To declare which nets in the schematic are connected to a higher level of the designhierarchy

■ To declare which nets span across sheets in a multisheet schematic

This section describes the following pin connections and naming conventions:

■ Hierarchical Pin Names on page 110

■ Offsheet Pin Names on page 110

■ Bus Pin Names on page 110

June 2000 108 Product Version 4.4.6

Page 109: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

■ Pin-to-Pin Connections on page 111

■ Tapping Pins on page 111

June 2000 109 Product Version 4.4.6

Page 110: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Hierarchical Pin Names

If you are designing a multisheet schematic, your sheets contain hierarchical pins andoffsheet pins.

Hierarchical pins are pins that also appear on the symbol of the design. The hierarchical pinsfrom each sheet become the hierarchical pins of the multisheet.

Offsheet Pin Names

Offsheet pins connect signals across the sheets of a multisheet schematic only. Use the samename for the offsheet pins on each sheet.

If you want a signal to appear on a multiple sheet that is also exported by a hierarchical pin,place a hierarchial pin for the first usage and offsheet pins on other sheets. Do not place morethan one hierarchical pin with the same name in a multisheet design.

Bus Pin Names

Use a base name with a vector expression. For example, IN<16:10:2> expands to thesefour pins: IN<16> , IN<14> , IN<12> , and IN<10> .

IO<0:7>OUT2<0:7>A<0:7>

Hierarchical pin Offsheet pin

IO<0:7>OUT2<0:7>A<0:7>

Hierarchical pin Offsheet pin

June 2000 110 Product Version 4.4.6

Page 111: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Pin-to-Pin Connections

A direct connection between two instance pins without an intermediate wire is called a pin-to-pin connection. There are four ways to make pin-to-pin connections:

Tapping Pins

You cannot draw a tap directly from an instance pin.

To tap a multibit connection to an instance pin, you must attach a wire named with a bus nameto the instance pin. You can then draw taps from the named bus.

If a schematic pin has a bus name, you can draw a tap directly from the pin using a vectorexpression to name a wire that intersects with the pin.

Pin 1

Pin 1

Pin 1

Pin 2

Pin 2

Pin 2

Pins overlap partially.

Pins overlap entirely.

Pin is contained withina pin.

Pin 2

Pins touch each other. Pin 1

June 2000 111 Product Version 4.4.6

Page 112: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

The following figure shows how to tap pins in a design.

In the example above, the wire named <7:4> is a tap of the schematic pin namedINPUT<7:0> and connects a four-bit bus called INPUT<7:4> to the input of the inverter (aniterated instance).

The wire named <3:0> is also a tap of the INPUT<7:0> pin and connects a four-bit buscalled INPUT<3:0> to the input of the NAND2 gate (also an iterated instance).

If you do not apply a name to a net that is attached to a pin, the editor gives the net the samename as the pin. For example, the wire that connects the output of the NAND2 gate to theOUTPUT<0:3> pin is called OUTPUT<0:3>.

Patchcord Connections and Patchcord NamingConventions

The schPatchExpr connection expression (value) for patchcords has the following form:

src_vector_expression = dst_vector_expression

INPUT

<7:4>

inv

nand2

YA

B

OUTPUT

<3:0>

A Y

<0:3><7:0>

I1<0:3>

I4<0:3>

Wire namedOUTPUT<0:3>

Hierarchical pin Hierarchical pin

Symbol pins

A B0=0

June 2000 112 Product Version 4.4.6

Page 113: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

where src_vector_expression is the source and dst_vector_expression isthe destination.

Naming Single and Multiple Bits Using Patchcords

Naming conventions for patchcords using vector expressions have exactly the same syntaxas the vector expressions for wires with multiple bits. The number of bits insrc_vector_expression must equal the number of bits in dst_vector_expression .

In the following example, nets A and B are aliased together. Logically, each object that A isconnected to is also connected to B, and the patchcord connects the first bit named insrc_vector_expression to the first bit named in dst_vector_expression .

In the following example, signal A is aliased to CNTR<2>, signal B is aliased to CNTR<1>, andsignal C is aliased to CNTR<0>.

A B0=0

A B

A,B,C CNTR<2:0>0:2 = 0:2

C

CNTR<2>

CNTR<1>

CNTR<0>

A

B

June 2000 113 Product Version 4.4.6

Page 114: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

In the following example, A<0> is aliased to B<3>, A<1> is aliased to B<2>, A<2> is aliasedto B<1>, and A<3> is aliased to B<0>.

Naming Multiple Nets Using Patchcords

The following figure shows how to use patchcords to merge two buses.

The upper patchcord connects the eight-bit bus SYSBUS<15:8> to the eight-bit busDATA<7:0> . The lower patchcord connects the eight-bit bus SYSBUS<7:0> to the eight-bitbus ADDR<7:0>.

The range of bits named in the lower patchcord using src_vector_expression < 8:15>does not refer to the bits of SYSBUS. It refers to the order of the bits attached to the src pinof the patchcord. Therefore, according to the connection expression, bits 8 through 15 of busSYSBUS<15:0> (corresponding to the bits named SYSBUS<7:0>) are connected to bit 0through 7 of bus ADDR<7:0> (corresponding to the bits named ADDR<7:0>).

If you want to connect all the bits of the net to all the bits of the nets attached to the dst pinin the order they are attached to the src pin, omit the src vector expression and the equalsign ( = ) from the connection expression.

A<0:3> B<0:3>0:3 = 3:0

A<0>

A<1>

A<2>

A<3>

B<0>

B<1>

B<2>

B<3>

SYSBUS<15:0>

0:7 = 0:7

src dst

src dst

8:15 = 0:7

DATA<7:0>

( SYSBUS<15:8> )

ADDR<7:0>

( SYSBUS<7:0> )

June 2000 114 Product Version 4.4.6

Page 115: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

For example, to connect two single-bit nets called NET1 and NET2 with a patchcord, aconnection expression of 0 is sufficient.

Note: Only one of the nets can be connected to a schematic pin (I/O pin).

Inherited Connections

If you use global signals in your design, this section is important for you to read. If you havea need to change the value of a global signal, you can do so without recreating a completehierarchical branch. You can build one library containing components potentially requiringdifferent power and ground connections in different parts of a design.

The inherited connections solution allows you to selectively override global signals in designsoriginated in the Virtuoso® schematic composer. To have this override information availableto other Cadence® tools across the design flow, the override information is communicated tothe software by means of net expressions and a class of properties called netSetproperties.

Inherited connections is an extension to the connectivity model that allows you to createspecial global signals and override their names for selected branches of the design hierarchy.This flexibility allows you to use

■ Multiple power supplies in a design

■ Overridable substrate connections

■ Parameterized power and ground symbols

The inherited connections feature is recognized by all tools throughout the IC design flow. Tolearn about using inherited connections and net expressions with various Cadence tools inthe design flow, refer to the Inherited Connections Flow Guide.

This section describes the following information about inherited connections:

■ Inherited Connections in a Hierarchy on page 116

■ Defining Inherited Connections on page 118

■ How Net Expressions Evaluate on page 120

■ Inherited Connections Restrictions on page 121

■ Inherited Connections Helpful Hints on page 121

■ Sample Net Expression Library on page 121

June 2000 115 Product Version 4.4.6

Page 116: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Inherited Connections in a Hierarchy

You use inherited connections to selectively override global signals within your design.Consider the following example and its following explanation:

The high-level schematic shows five instances: I1 , I2 , I3 , I4 , and I5 . Each instancerepresents a portion of the design, each of which eventually references the inverter shownbelow the high-level schematic.

vdd!

I1

cellA

I4

cellA

3V!

power=3V!I2

cellB

I5

cellB

analogVdd

power=analogVddI3

cellC

Wire segmentsand wire names

Property names

Instances

High-Level Schematic

inv

A Y

[@instanceName]

A Y

p vdd_inherit

a

gnd_inherit

vdd_inherit ->[@power:%:vdd!]

gnd_inherit ->[@gnd:%:gnd!]

Lower-Level Schematic

Inverter Symbol Inverter Schematic

June 2000 116 Product Version 4.4.6

Page 117: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

In the inverter schematic, the power and ground wires are defined using the net expressions[@power:%:vdd!] and [@gnd:%:gnd!] , respectively. By default, all inverter pmostransistors are connected to vdd! and all nmos transistors are connected to gnd! .

In the high-level schematic, all the inverter pmos transistors below instance I2 of cellB areto use 3V! as the power supply, and the inverters in instance I3 of cellC are to useanalogVdd .

To selectively override the default global signal vdd! , you create a netSet property oninstance I2 named power with the value 3V! and a netSet property on instance I3 namedpower with the value analogVdd. Notice that the inverters below instances I1 , I4 , and I5are still connected to vdd! .

In other words, you place a netSet property on an instance representing the branch ofhierarchy where it is to be applied. You can create the netSet property on any instances atany level above the cellviews with net expressions. For example, if a large hierarchical designhas seven levels of hierarchy, you can place a netSet property power = 3V! on an I2instance in the top-level schematic. This affects all the logic below instance I2 all the way tothe bottom in all cellviews that contain a net expression, such as [@power:%:vdd!] . Allcellviews that contain this net expression would use 3V! instead of vdd! for that branch ofthe design.

However, if on a lower-level cellview there was an I7 instance with a netSet property power= 2V! , then 2V! would always be used below the I7 instance.

June 2000 117 Product Version 4.4.6

Page 118: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Defining Inherited Connections

In the schematic composer, you define an inherited connection by adding a net expressionlabel to either a wire or a pin. A net expression defines the default global signal name for theconnection and the name of a property that can be used to override that default global signalname.

The asterisk ( * ) after a global name shows that this is not a regular wire name but a namethat is an overridable net expression.The default global signal name specifies what the wireor pin is connected to by default.

Note: The display of the net expression label has several options.

You can create an inherited connection in a schematic by placing an instance of a symbolwhere one of the symbol pins has a net expression label. When you run the checker program

[@power:%:vdd!]*

Property name Default global signal name

Example Net Expression

[@gnd:%:gnd!]*

Ground supply symbol containing asymbol pin with a net expressionlabel

[@vdd:%:vdd!]*

Schematic wire with a netexpression label

Example Net Expression Labels

June 2000 118 Product Version 4.4.6

Page 119: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

on the schematic, the net expression label from the symbol pin is propagated onto the netwithin the schematic.

The basic library contains sample parameterized power and ground supply symbols calledvcc_inherit , vdd_inherit , gnd_inherit , and vss_inherit .

Inherited Supply Symbol Net Expression Label

basic vcc_inherit symbol [@vcc:%:vcc!]

basic vdd_inherit symbol [@vdd:%:vdd!]

basic gnd_inherit symbol [@gnd:%:gnd!]

basic vss_inherit symbol [@vss:%:vss!]

A Y

p vdd_inherit

a

gnd_inherit

[@gnd:%:gnd!]

Inverter Schematic gnd_inherit Symbol

A Y

p

[@vdd:%vdd!]

a

[@gnd:%:gnd!]

Net expression labels can also be placed onwires to achieve the same effect.

Inverter Schemat ic

June 2000 119 Product Version 4.4.6

Page 120: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

How Net Expressions Evaluate

Net expressions are evaluated for each hierarchical path. The system uses the propertyname specified in the net expression label to search upward from the cellview containing thenet expression label (one instance at a time) to the top of the design. The first instance thatis found that has a matching property name terminates the search. If the property is of typenetSet and is a legal net name, its value is used as the connecting net rather than the defaultnet name specified in the expression.

The netSet property can be placed on any instance and it will affect all net expression labelswith matching property names at all levels below that instance unless overridden by anothernetSet property on a lower-level instance.

Is there anetSet property on

the instance of this path?

Use default net namespecified in the net

expression

Start at cellviewcontaining net

expression

Is there acellviewabove?

No

Yes

No YesUse value of thenetSet property

June 2000 120 Product Version 4.4.6

Page 121: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Inherited Connections Restrictions

You should be aware of some restrictions when using net expression labels and netSetproperties:

■ The default name in a net expression label must denote a scalar, global name. Forexample, vdd! and mygnd! are legal; bus!<0:15> and vdd are illegal.

■ The property you use to override an inherited connection must be of type netSet .

■ The netSet property value must represent an existing scalar signal name (for example,A, clock , or myPower! ) or another net expression label.

Note: The signal name used in a netSet property must be the name of an existing netin that cellview.

■ Within one cellview, you cannot use two different net expression labels for the samedefault global signal. Therefore, using both [@power:%:vdd!] and [@vdd:%:vdd!]in the same cellview is not allowed.

Inherited Connections Helpful Hints

Be aware of these hints when using net expression labels and netSet properties:

■ For correct net expression evaluation, always run Check – Current Cellview or Design –Check and Save after adding or changing a net expression label or netSet property.

■ Use the Edit – Search – Find command to hierarchically search for net expressions ornetSet properties that are used in a design.

Sample Net Expression Library

The location of a sample design that uses inherited connections is

your_install_dir /tools/dfII/samples/tutorial/inhConnFlow/top_easy/schematic

June 2000 121 Product Version 4.4.6

Page 122: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

The following design shows the top-level schematic cellview.

For details, see the Inherited Connections Flow Guide.

Summary of Naming Conventions

The following tables detail naming conventions.

■ Reserved Characters for Wire, Net, and Pin Names on page 123

■ Reserved Characters for Instances on page 123

■ Illegal Characters in Wire and Net Names on page 123

■ Illegal Characters in Instance Names on page 123

■ Syntax Conventions for Wire, Net, and Pin Names on page 124

■ Syntax Conventions for Instances on page 125

■ Expanded Names for Wires, Nets, and Pins on page 126

■ Expanded Names for Instances on page 127

inhConnFlow / top_easy / schematic

3.3V!

a_gnd!

June 2000 122 Product Version 4.4.6

Page 123: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Table 2-1 Reserved Characters for Wire, Net, and Pin Names

Character Symbol Description Example

comma , Separates the elements of a wire name A,B<0:1>,C

angle brackets < > Enclose expressions for multiple-bitwires; used for iterators (prefix repeatoperator) and bus taps

A<0:3>,<*2>B,<12>

parentheses ( ) Enclose related multiple-bit wires withinan expression

A<(0:2)*2>

asterisk * Is used in the graphic screen tohighlight net expression labels is notpart of the net expression

A<(0:2)*2>

colon : Separates a range of numbers withinan expression

A<0:2>

exclamation point ! Global signal for a power supply vdd!, gnd!

Table 2-2 Reserved Characters for Instances

Character Symbol Description Example

angle brackets < > Enclose a range of numbers A<0>

colon : Separates a range of numbersexpressed by a starting and endingnumber

A<1: 3>

Table 2-3 Illegal Characters in Wire and Net Names

Character Symbol

forward slash /

Table 2-4 Illegal Characters in Instance Names

Character Symbol

comma ,

parentheses ( )

asterisk *

June 2000 123 Product Version 4.4.6

Page 124: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

colon :

forward slash /

Key to Syntax Conventions for Table 2-5

Syntax Description

[ ] Items enclosed in brackets are optional where no item, or, at most, oneitem is present.

{ } Items enclosed in braces are also optional, but zero or more than oneitem can be present.

| The Boolean logical operator OR.

n A positive integer less than 16,375. This is also the bus width limitationand the limitation for inherited connections.

Table 2-5 Syntax Conventions for Wire, Net, and Pin Names

Name Description

baseName A string of printable ASCII characters that does not include reservedcharacters.

NET, R, C

nameTerm A baseName optionally followed by a vector expression enclosed in anglebrackets.

A nameTerm can also be a name expression enclosed in parentheses.

nameTerm ::= baseName [ < vectExpr > ] |( nameExpr )

nameExpr A string consisting of a nameTerm, optionally prefixed with the <* n>construct. The <* n> construct is also referred to as a prefix repeatoperator, which means that the nameTerm is to be repeated n times.

Name expressions can be concatenated to form a comma-separated list.

nameExpr ::= [ < * n > ] nameTerm{ , nameExpr }

Table 2-4 Illegal Characters in Instance Names

June 2000 124 Product Version 4.4.6

Page 125: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

vectTerm A single number or a range of numbers. The range can be expressed by astarting, ending, and increment number, separated by colons.

A vectTerm can also be a vector expression enclosed in parentheses. Inthis case, the innermost term is expanded first, and then the repeatoperator repeats the entire expanded term enclosed in parentheses.

vectTerm ::= n[ : n[ : n] ] |( vectExpr )

vectExpr A single or repeated vectTerm . The optional <*n> suffix on a vectTermis called a suffix repeat operator and indicates n repetitions of each bit ofthe vectTerm . The value of n must be greater than zero.

Vector expressions can be concatenated to form a comma-separated list.

vectExpr ::= vectTerm [ *n ]{ , vectExpr }

Table 2-6 Syntax Conventions for Instances

Name Description

baseName A string of printable ASCII characters that does not include reservedcharacters.

I0, R, C

instName Scalar and iterated instance names must be unique. A scalar name cannotimply more than one member. An iterated instance name must imply thesame number of members as iterations.

instName ::= baseName [ < n [ : n ] > ]

where n is a positive integer less than 16,375.

Table 2-5 Syntax Conventions for Wire, Net, and Pin Names, continued

Name Description

June 2000 125 Product Version 4.4.6

Page 126: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

Note: You can use up to 1,024 characters for a name, but the editor ignores any blank or tabcharacters found before or after a name.

To determine the n th member name, use a zero-based counting method to find the Nthelement in the expanded form. For example,

■ Member zero of <*2>(a,<*2>b) is a

■ Member one of <*2>(a,<*2>b) is b

■ Member two of <*2>(a,<*2>b) is b, and so on

If the name contains a vector expression, such as b<0:1,2:2> , then

■ Member zero in this case is called b<0>

■ Member one in this case is called b<1>

Table 2-7 Expanded Names for Wires, Nets, and Pins

Sample Name Members Expanded Form

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>

June 2000 126 Product Version 4.4.6

Page 127: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideUnderstanding Connectivity and Naming Conventions

■ Member two in this case is called b<2>

Note: You can use up to 1,024 characters for a name, but the editor ignores any blank or tabcharacters found before or after a name.

Table 2-8 Expanded Names for Instances

Name Members Expanded Form

H10 1 H10

J20<0:1> 2 J20<0>, J20<1>

K30<2:1> 2 K30<2>, K30<1>

June 2000 127 Product Version 4.4.6

Page 128: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

3Creating Schematics

This chapter provides information about creating a schematic.

■ Getting Started with Schematics on page 129

■ Adding Instances on page 129

■ Adding Blocks on page 142

■ Adding Pins on page 150

■ Adding Wires on page 153

■ Adding Wire Names on page 157

■ Adding and Editing Net Expression Labels on page 164

■ Adding and Editing netSet Properties on page 172

■ Adding Solder Dots on page 178

■ Adding Notes on page 181

■ Adding Patchcords on page 184

■ Adding Probes on page 186

June 2000 128 Product Version 4.4.6

Page 129: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Getting Started with Schematics

One of the best ways to begin a schematic in an empty window is by adding objects in acertain order, as indicated below:

Adding Instances

You can add instances to your design using several methods with different options.

■ What Is an Instance? on page 130

■ Methods of Adding an Instance to Your Design on page 130

■ Adding Instances One by One on page 131

■ Adding Instances by Rows and Columns (an Array) on page 133

wireName

3. Addschematic pins,such as thisinput pin.

4. Add wires andwire names toconnectschematic pinsto instances.

1. Add instances from yourlibrary, such as this nand3gate.

2. Add blocks to hold the placeof an undetermined instance,such as this GATE_REP.

N1

N2

N3

N4

N5

N6

GATE_REP

N7

pin1

June 2000 129 Product Version 4.4.6

Page 130: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

■ Adding Instances Using an Iterative Expression on page 136

■ Changing the Default Instance Name Prefix on page 138

■ Editing Instance Masters on page 139

■ Specifying the View to Use While Placing the Instance on page 139

■ Changing the View after an Instance Is Already Placed on page 139

■ Renumbering Instances on page 140

What Is an Instance?

An instance is a database object that represents a master symbol cellview. When you add aninstance to your design, you actually create a reference of the master symbol from areference library.

You can have several instances of the same master symbol cellview in a design, but theinstance name must be different. For example, the nand3 gate is a master symbol stored inthe Cadence® sample library. Each time you add a nand3 gate to your design, you add aninstance of the nand3 master. The instance names can be I1 , I2 , I3 , and so forth.

Related topic: patchcords

Methods of Adding an Instance to Your Design

Plan to place instances

■ One by one

■ By rows and columns (an array)

BC

A I4Y

nand3

Cell names for otherinstance symbol mastersstored in the Cadencesample library

nand2nand3nand4nand5nand6nor2

Instance name

June 2000 130 Product Version 4.4.6

Page 131: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

■ By using iterative expressions

Adding Instances One by One

The Add – Instance command lets you place multiple copies of a single instance in aschematic, based on a single lib/cell/view name.

To add instances singly in your design window, do the following:

1. Choose Add – Instance.

BC

A A<1:8>Y

nand3BC

A I1Y

nand3

BC

A I1Y

nand3

BC

A I3Y

nand3

BC

A I5Y

nand3

One by one. Use this method to placeinstances singly.

By rows and columns (anarray). Use this method toplace instances in anarray.

BC

A I2Y

nand3

BC

A I4Y

nand3

BC

A I6Y

nand3

Using an iterative expression. To savespace in your design window when you needto add several instances of the same type,you can express multiple unique names withan iterative expression.B

C

A I2Y

nand3

June 2000 131 Product Version 4.4.6

Page 132: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Instance form appears.

2. In the Library, Cell, and View fields, specify the cellview of the instance.

You can also click on the Browse button to assist you in finding the cellview you want toadd.

You can designate the Browse button to open either the Component Browser or theLibrary Browser. If the cell you want does not exist, you need to create it using the symboleditor.

If you do not add instance names in the Names field, the system generates defaultinstance names prefixed with the letter I .

3. Move the pointer into your cellview.

The instance appears attached to the pointer.

4. Click in your cellview to place the instance.

The Add – Instance command is modal (if modal mode is turned on) and continues toprompt you to add another instance. To stop generating instances, press the Esc key,press Control-c , or choose another command.

June 2000 132 Product Version 4.4.6

Page 133: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding Instances by Rows and Columns (an Array)

To add an array of a single instance using rows and columns, do the following:

1. Choose Add – Instance.

The Add Instance form appears.

2. In the Library, Cell, and View fields, specify the cellview of the instance.

You can also click on the Browse button to assist you in finding the cellview you want toadd.

If you do not add instance names in the Names field, the system generates defaultinstance names prefixed with the letter I .

3. Fill in the Rows and Columns fields.

4. Move the pointer into your cellview.

The first instance appears, attached to the pointer.

June 2000 133 Product Version 4.4.6

Page 134: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

5. Place the first instance by clicking the mouse.

6. Drag the mouse vertically and click on a location for the first instance of the second row.

The rest of the instances follow the cursor.

7. Drag the mouse horizontally and click on a location of the first instance of the secondcolumn.

BC

A I1Y

nand3

First click

BC

A I1Y

nand3

BC

A I4Y

nand3

BC

A I7Y

nand3

BC

A I10Y

nand3

First instance of thesecond row

The rest of the instancesfollow the cursor.

June 2000 134 Product Version 4.4.6

Page 135: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The rest of the instances follow the cursor.

The Add – Instanceis modal and continues to prompt you to add another instance. To stopgenerating instances, press the Esc key, press Control-c , or choose anothercommand.

BC

A I1Y

nand3

BC

A I6Y

nand3

BC

A I9Y

nand3

BC

A I3Y

nand3

BC

A I2Y

nand3

BC

A I12Y

nand3

BC

A I4Y

nand3

BC

A I7Y

nand3

BC

A I10Y

nand3

BC

A I5Y

nand3

BC

A I8Y

nand3

BC

A I11Y

nand3

First instance of the secondcolumn

June 2000 135 Product Version 4.4.6

Page 136: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding Instances Using an Iterative Expression

Instance iteration is a compact way of displaying repeated instances of a symbol in yourschematic. It is particularly useful in bus-type or data-flow architectures that have identicalstructures to handle each bit on the bus.

To save space in your design window when you need to add several instances of the sametype, you can express multiple unique names with an iterative expression. For example,A<0:3> generates one graphic representing four instances: A0, A1, A2, and A3.

Using iterated instances not only saves space in your design, it makes your design easier toread.

To add instances using an iterative expression, do the following:

1. Choose Add – Instance.

The Add Instance form appears.

2. In the Names field, type a name using iterative expression format.

BC

A A<0:3>Y

nand3

June 2000 136 Product Version 4.4.6

Page 137: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The following schematic shows four instances: I0 , I1 , I2 , and I3 . Comparethis schematic with the following schematic showing iterated instances:

I0 I1 I2 I3

June 2000 137 Product Version 4.4.6

Page 138: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The following schematic shows one latch iterated four times: I<0:3> . Compare thisschematic with the previous schematic showing four individual instances.

Changing the Default Instance Name Prefix

Each instance requires a unique name. If you do not specify instance names on the AddInstance form, the schematic editor generates unique names automatically. The prefix is asymbol cellview property, not an instance object property.

To change the default instance name prefix from I to a prefix that you designate, do thefollowing:

1. Open a symbol cellview.

2. Choose Edit – Properties – Cellview.

The Edit Cellview Properties form appears.

3. Show the system properties on the form by choosing system.

4. Change the instNamePrefixproperty.

5. Click OK.

I<0:3>

June 2000 138 Product Version 4.4.6

Page 139: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The new name must be only one character. When you place new instances of this samesymbol, the new prefix name appears.

Editing Instance Masters

To edit the master of an instance and automatically change all occurrences of the instance,do the following:

1. Open a symbol cellview.

2. Select the part of the symbol you want to edit.

You might want to select the shape, the pin, the label, or the selection box.

3. Choose Edit – Properties – Objects to edit the symbol.

The Edit Object Properties form appears.

To edit a single instance, you edit object properties, not cellview properties. The systemchanges all cellviews containing instances of this master.

Specifying the View to Use While Placing the Instance

To change instance views (for example, from a nand2 symbolview to a nand2 symbolNegview) as you add an instance, do the following:

1. Choose Add – Instance.

2. Before placing the instance, press the Shift key and click the right mouse button totoggle through the symbol views.

The following diagram shows an instance changing views from nand2 symbolto nand2symbolNeg.

3. Place the instance.

Changing the View after an Instance Is Already Placed

To change instance views (for example, from a nand2 symbolview to a nand2 symbolNegview) after you have added an instance, do the following:

June 2000 139 Product Version 4.4.6

Page 140: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

1. Select the instance you was to change.

2. Choose Edit – Alternate View.

Renumbering Instances

If you deleted several instances in your cellview, you might want to renumber the instancesto make the numbers consecutive.

To renumber all the instances in your hierarchy consecutively, do the following:

1. Choose Design – Renumber Instances.

The Renumber Instances form appears.

The default setting renumbers all instances in only the current cellview.

Only the instance names that match with the instNamePrefix property are renumbered.

Mapping of the former and new instance names appears in the Command InterpreterWindow (CIW).

2. Do one of the following:

Renumber Instances

June 2000 140 Product Version 4.4.6

Page 141: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

❑ If you want to renumber instances in the your entire hierarchy, change the Scopecyclic field to hierarchy.

❑ If you want to renumber instances in the your entire library, change the Scopecyclicfield to library.

3. Click OK.

Renumber Instances

Renumber Instances

June 2000 141 Product Version 4.4.6

Page 142: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding Blocks

You can use blocks when you design with a top-down methodology. Blocks let you create asymbol from the context of a higher-level schematic.

You create a block to represent a lower-level cell. As you develop the logic of your higher-levelschematic, you can add wires to the block, which automatically creates block pins. After youname the wires, you can rename the block pins so they inherit the connected signal names.You can automatically generate other views (for example, a schematic, VHDL, or Affirma™

Verilog® representation) for the lower-level block cell.

■ Adding Blocks on page 142

■ Adding Wires and Pins to Blocks on page 144

■ Changing the Block Pin Direction Rule on page 145

■ Changing the Direction or Name of a Single Block Pin on page 147

■ Changing the Names and Directions of Multiple Block Pins on page 147

■ Deleting Block Pins on page 149

■ Disabling Automatic Block Pin Creation on page 149

Adding Blocks

Unlike adding multiple copies of a single instance in a schematic based on a single lib/cell/viewname, the Add – Blockcommand lets you create multiple blocks, each with a different lib/cell/view name.

To add a block, do the following:

1. Choose Add – Block

pin1

GATE_REP

N7

pin2

Input pin Output pin

June 2000 142 Product Version 4.4.6

Page 143: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Block form appears.

2. In the Library, Cells, and View fields, specify the path to the block cellview.

The specified cellview cannot already exist in the library. Only one name (instance) canbe entered for each cell. There is a one-to-one correspondence between the entries inthe Cells and the Name fields. You can specify multiple cell names by using a space toseparate each name. The Cellsand Namesfields must match in number. If there are moreentries in Cells than in Names, the system assigns a name for each. If there are moreentries in Names than in Cells, the system ignores the extra names.

3. In the Names field, type instance names using a space as a separator.

The editor generates unique names for you if you leave the field blank.

4. In the Pin Name Prefixfield, type a new prefix name for the pin or leave the default as pin .

Later, when you add block pins, the system adds numbers sequentially to the prefixname; for example, pin1 , pin2 , pin3 , and so forth.

5. Choose a block from the Block Shapecyclic field.

June 2000 143 Product Version 4.4.6

Page 144: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The freeformoption lets you create a rectangular block of any size by entering oppositecorners of the rectangle.

6. Move the pointer into your design.

The block symbol is attached to the pointer unless you chose freeform. You can togglethe block shape before you place it by pressing the right mouse button until you reachthe shape you want.

7. Click to place the block in your design.

As you place a block, the system creates the specified block cellview and an instance ofthat block appears in your schematic.

Adding Wires and Pins to Blocks

Caution

Do not create a block pin using the Add – Pin command in either thesymbol editor or schematic editor.

For general information, see “Adding Wires” on page 154.

When you add a wire that touches the edge of a block, the editor automatically creates a blockpin attached to the wire.

smallmedium

large

2 by 1

alu

mux4 mux8

1 by 2freeform

June 2000 144 Product Version 4.4.6

Page 145: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

To add wires to a block, do the following:

1. Choose Add – Wire.

2. Click to indicate wire segment endpoints.

You can either start a wire or end a wire along the edge of a block. The system createsa pin where the wire touches the block edge. The pin name is constructed from the pinname prefix and a unique sequence number. The pin direction depends on the block pindirection rule.

Changing the Block Pin Direction Rule

When the block pin direction rule is set to edge,

■ Any pin created on the left side of the block becomes an input pin

■ Any pin created on the right side of the block becomes an output pin

■ Any pin created on the top or bottom side of the block becomes an inputOutput pin

When the block pin direction rule is set to order of entry, one of the following applies:

■ Ending the wire on the edge of the block creates an input pin

blockNamepinName

pin1

GATE_REP

N7pin2

Input pin Output pin

InputOutput pin

InputOutput pin

June 2000 145 Product Version 4.4.6

Page 146: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

■ Starting the wire on the edge of the block creates an output pin

To set the block pin direction rule for new block pins to edgeor order of entry, do the following:

1. Choose Options – Editor.

The Editor Options form appears.

2. Select the Block Pin Direction Rule option you want.

3. Click OK.

pin1

Starting the wire on the edge of theblock creates an output pin.

Ending the wire on the edge of the blockcreates an input pin.

GATE_REP

N7

pin2

June 2000 146 Product Version 4.4.6

Page 147: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Changing the Direction or Name of a Single Block Pin

To change the direction or name property of a pin, do the following:

1. Select the block pin only.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Change the pin Name or Direction properties.

4. Click OK.

Changing the Names and Directions of Multiple Block Pins

To change the name and direction of multiple block pins, do the following:

1. Select the block.

2. Choose Edit – Properties – Objects.

Edit Object Properties

June 2000 147 Product Version 4.4.6

Page 148: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Edit Object Properties form appears.

3. In the Show field, turn on the system button.

4. Do one of the following:

❑ In the Pin Direction cyclic fields, change the pin directions.

❑ Turn on the Inherit button to use the associated net name as the pin name.

5. Click OK.

Edit Object Properties

June 2000 148 Product Version 4.4.6

Page 149: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Deleting Block Pins

To delete a block pin after you create it, do the following:

1. Select the block.

2. Open the symbol editor by choosing either Design – Hierarchy – Descend Edit or Design– Edit In Place.

3. Select the pin to be removed.

4. Choose Edit – Delete.

5. Save your design.

Disabling Automatic Block Pin Creation

To disable automatic block pin creation, do the following:

1. Select a block in your design.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

June 2000 149 Product Version 4.4.6

Page 150: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

3. In the Show field, turn on the system button.

4. Turn on the FreezePinCreatebutton.

5. Click OK.

Adding Pins

This section describes the following procedures:

■ Adding Schematic and Offsheet Pins on page 151

■ Showing Pin Connections on page 152

Pins represent the schematic input, output, and inputOutput terminals to which a netconnects in a schematic.

Edit Object Properties

June 2000 150 Product Version 4.4.6

Page 151: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

You add pins to establish connectivity between different levels of hierarchy and to connectdifferent sheets of a multisheet schematic.

Hierarchical pins (schematic pins) connect signals that span different levels of a hierarchicaldesign. Offsheet pins (offsheet connectors) connect signals that span multisheet schematics.

Cadence has a large set of pin definitions in the cell category PINS of the basicreferencelibrary. These are the pins that the system uses when you choose Add – Pin.

The following pins are examples of pins in the basic reference library.

Caution

Do not use the Add – Instance command to place these pins.

Adding Schematic and Offsheet Pins

To add a schematic pin or an offsheet pin, do the following:

1. Choose Add – Pin.

N6

NAND3Schematic pin

Pin name

Offsheet pin

opin(output pin)

ipin(input pin)

iopin (inputOutputpin)

June 2000 151 Product Version 4.4.6

Page 152: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Pin form appears.

2. In the Pin Names field, type a pin name or multiple pin names separated by spaces.

Use the same naming conventions for pins as for wires. Use a vector expression toname bus pins.

3. Set Usageto schematicfor a schematic pin or offsheetto connect the pin to another sheetin a multisheet schematic.

4. Move the pointer into the schematic and click.

The pin name appears next to the pin.

Showing Pin Connections

To enable the display option for highlighting the connection between pins, do the following:

1. Choose Options – Display.

The Display Options form appears.

2. Turn the Show Direct Connections option on.

June 2000 152 Product Version 4.4.6

Page 153: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

3. Click OK.

Adding Wires

A wire is a line that connects a pin and an instance or a line that intersects another wire. Whenyou draw a wire between a pin and an instance, you create a net.

■ Adding Wires on page 154

■ Using Wire Snap and Gravity Options on page 154

■ Using Wire Draw, Width, and Route Options on page 154

■ Using Wire Flight Lines Option on page 155

■ Routing Flight Lines on page 156

■ Manipulating Wires with Only the Mouse on page 157

June 2000 153 Product Version 4.4.6

Page 154: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding Wires

To add wires, do the following:

1. Choose Add – Wire (narrow) or Add – Wire (wide).

You create buses by naming the wire using a specific notation.

2. Click on the wire starting point (for example, at a pin).

3. Click again for each wire segment.

As you move the pointer, a small diamond shape appears over the connection objectclosest to the pointer. The diamond jumps from one connection object to another as youmove the pointer around the design window.

4. To end the wire, do one of the following:

❑ Click a schematic pin, an instance pin, or another wire or double-click on a new wireendpoint.

❑ Press s to snap to the nearest object that shows a diamond shape.

Shortcut: To create a wire from an instance pin, use the OSM or object direct manipulation.

Note: To terminate wires to pins that have been placed within a selection box, you must bein draw mode (not route mode).

Using Wire Snap and Gravity Options

To turn the wire snap or gravity option on or off, do the following:

1. Choose Options – Editor.

The Editor Options form appears.

2. Turn the Wire Snapping or Gravity field on or off.

Using Wire Draw, Width, and Route Options

To change wire draw, width, and route options, do the following:

1. Choose Add – Wire.

2. Press F3.

June 2000 154 Product Version 4.4.6

Page 155: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Wire form appears.

3. Change the Draw Mode, Width, and Route Method options as follows:

❑ The full or direct routing method cannot complete the connection wire. In this case,use a draw mode other than route to manually enter the wire.

❑ The selection area boxes around two instances overlap each other and the full ordirect wire connection cannot be made. In this case, move the instances apart tomake room for the wire to pass through.

Using Wire Flight Lines Option

You might find it easier to use flight lines (dotted lines) while you are initially creating aschematic so that you will have more space to add instances. You use a flight line to show anintended logic connection. After all the instances are in place, you can let the system routethe wires for you automatically to establish a physical connection represented by solid wires.

To draw flight lines to indicate an intended connection, do the following:

1. Choose Add – Wire.

2. Press F3.

3. Set Draw Mode to route.

4. Set Route Method to flight.

Add Wire

June 2000 155 Product Version 4.4.6

Page 156: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

5. Draw a direct line between two objects.

Routing Flight Lines

To convert wires to normal wires after adding them using the flight route method on the AddWire form, do the following:

1. Choose Edit – Route Flight.

2. Click on a flight line to route.

The system routes the logical connections.

To change the route method, do the following:

1. Choose Edit – Route Flight.

2. Press the F3 key.

The Route Flight Line form appears.

3. Select a route method.

❑ To draw complex lines to complete the connection, choose full.

❑ To draw a direct line between two given points, choose direct.

BC

AI1

Y

nand3

TERM1

Flight line

Route Flight Line

June 2000 156 Product Version 4.4.6

Page 157: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Manipulating Wires with Only the Mouse

Direct manipulation is the quickest way to create a wire.

To create a wire from a schematic pin, instance pin, or block pin, do the following:

1. Press the Esc key.

2. Click the pin and drag the cursor away from the pin.

Adding Wire Names

Naming a wire affects the connectivity of your design. You must follow specific naming rules.

■ Naming a Wire on page 157

■ Adding Wire Names on page 158

■ Adding Multiple Wire Names on page 161

■ Verifying Invisible Wire Names on page 163

■ Using Net Name Prefixes on page 163

Naming a Wire

The following examples show ways you can name a wire.

■ Name a wire explicitly. Assign a wire name with the Add – Wire Namecommand. The wirename becomes the net name. For VHDL designs, the net name must match the pinname; if not, the schematic rules checker (SRC) flags it as a VHDL violation.

■ Let the wire inherit a wire name from the system. When you do not assign a wire name,the net takes the name of the pin; for example, TERM1.

net_nameTERM1

TERM1

June 2000 157 Product Version 4.4.6

Page 158: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

■ Let the system automatically assign a name to a wire not connected to a schematic pin.You can view the wire name by choosing Edit – Properties – Objects.

■ Name a wire that consists of multiple signals (a bus) that have the same base name andsubscripts.

■ Name a wire that consists of a collection of signals with different names. A bundle isrepresented by names separated by a comma.

Adding Wire Names

To create wire names, do the following:

1. Choose Add – Wire Name.

BUS<15:8>

DATA,BUS<0:7>

June 2000 158 Product Version 4.4.6

Page 159: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Wire Name form appears.

2. In the Names field, type the names of the wires.

To establish connectivity, use specific wire naming conventions. To name a bus, usevector expressions.

If you specify multiple names for several wires, separate each name with a space.

3. Move the pointer into your design.

The first wire name is attached to the pointer.

4. Place the name in your design by clicking near or on the wire.

If you name a vertical wire, the name rotates.

Add Wire Name

InputAWireA

A Rotated wire name

June 2000 159 Product Version 4.4.6

Page 160: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The text justification option displays a plus sign (+) in your cellview at the location of thejustification.

5. If you place the wire name at a greater distance from the wire than the default offset, clickon the wire that the label names.

When a wire name is associated with a wire, any action you perform with the wire affects thewire name. For example, if you stretch the wire, the wire name remains with the wire. If youdelete the wire, the wire name is deleted.

If you select the entry style of fixed offset, the system uses predefined default settings toautomatically calculate the position of the wire name. To change the fixed offsetdefaults, dothe following:

1. Click Show Offset Defaults.

InputA+WireA

+A

June 2000 160 Product Version 4.4.6

Page 161: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Wire Name form expands.

2. Edit the Text Offset fields.

Adding Multiple Wire Names

To add multiple wire names, do the following:

1. Choose Add – Wire Name.

Add Wire Name

June 2000 161 Product Version 4.4.6

Page 162: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Wire Name form appears.

2. In the Names field, type the names you want to create; for example, addr<0:3> oraddr1 addr2 addr3 .

3. Set the following options as needed:

❑ If you want bus expansion of multiple wire names, turn the Bus Expansionfield to on.

This option places multibit bus names as multiple names, one for each bit of the busrange, instead of one name. For example, for the name A<0:1> , the label A<0> isplaced first, then A<1>.

❑ If you want to place multiple wire names, set the Placement field to multiple.

This option lets you place wire names as if in single mode but prompts you to bringthe rubberbanding line across remaining wires to be named.

4. Move the pointer to the desired location and click once.

If you place the wire name at a greater distance from the wire than the default, point onthe wire that the label names.

5. To place the remaining names, move the pointer above each wire to be named and clickonce to place the remaining wire names.

Add Wire Name

June 2000 162 Product Version 4.4.6

Page 163: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Verifying Invisible Wire Names

To see a system-generated wire name or net name, do the following:

1. Choose Check – Current Cellview.

The editor assigns a name to all unlabeled wires.

2. Select the wire.

3. Choose Edit – Properties – Objects.

The Edit Object Properties form appears and displays the wire name.

Using Net Name Prefixes

To change the default net name prefix, do the following:

1. Choose Options – Editor.

June 2000 163 Product Version 4.4.6

Page 164: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Editor Options form appears.

2. In the Net Name Prefix field, type a name of your choice.

3. Click OK.

The change affects all new wires you create.

Adding and Editing Net Expression Labels

To create an inherited connection, you need to add a net expression label to a power supply(or wire) in a lower-level schematic (as well as add a netSet property to an instance in ahigher-level schematic—see next section).

■ Adding a Net Expression Label to a Wire on page 165

June 2000 164 Product Version 4.4.6

Page 165: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

■ Adding an Inherited Supply Symbol to a Wire on page 168

■ Editing a Net Expression Label on page 168

■ Changing the Net Expression Label Display on page 170

■ Deleting a Net Expression Label on page 172

Refer to Inherited Connections on page 115 for details on the meaning of inheritedconnections.

To add a net expression label in a lower-level schematic, you need to do one of the following:

■ Place a net expression label to a wire (which is done frequently).

■ Create an inherited supply symbol by placing an instance of an inherited power supplyto a wire in a schematic (which is done only once).

Adding a Net Expression Label to a Wire

A net expression defines the default global signal name for the connection and the name ofthe property that can be used to override that global signal name.

You place the net expression on a wire segment that represents the signal. The netexpression names the signal in the same way that a wire name names a signal. The defaultname in the net expression serves to name the underlying signal.

To create a net expression label in a schematic or in a symbol, do the following:

1. Choose Add – Net Expression.

[@power:%:vdd!]

Property name Default global signal name

June 2000 165 Product Version 4.4.6

Page 166: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Net Expression form appears.

2. In the Property Name field, type a property name; for example, power .

3. In the Default Net Name field, type the name of a global signal; for example, vdd! .

The net expression label is attached to the cursor. The display shows[@power:%:vdd!] , but when you place it in your design, the default net expressiondisplay is vdd!* . The asterisk ( * ) after the net expression label distinguishes it from aregular wire name. The at sign ( @) in the net expression label specifies the beginning ofa property substitution expression, as [@instanceName] . It specifies how NLP labelexpressions are interpreted.

4. Drag the cursor into your design and place the label on a wire (or symbol pin in thesymbol editor).

5. If the label does not automatically attach to the wire, click on the wire that you want to beinherited.

6. Choose Check – Current Cellview or Design – Check and Save to ensure that the signal isupdated with the information from the net expression label.

June 2000 166 Product Version 4.4.6

Page 167: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

When a net expression label is attached to a wire, the default net name in the expressionnames the net.

The schematic extractor processes expressions associated with symbol pins only when theextractor encounters an instance of the inherited symbol in a schematic.

You can change the net expression label display using the Options – Editorcommand. Wheninitially becoming familiar with net expressions, the value [expression] option can be veryuseful.

June 2000 167 Product Version 4.4.6

Page 168: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding an Inherited Supply Symbol to a Wire

Creating a library with inherited power and ground supplies is a task that is done once. In asimilar way, regular power supplies can be used instead of wire names to give a global signalname to a net. Inherited power supplies can be used, instead of net expression labels, toassign a net expression to a net.

To place an instance of an inherited power supply on a wire in a schematic, do the following:

1. In the schematic editor, choose Add – Instance.

2. Place an instance of an inherited power supply symbol, such as basic/vdd_inherit/symbol , on a wire.

3. Choose Check – Current Cellview or Design – Check and Save to ensure that the signal isupdated with the information from the inherited supply symbol.

Editing a Net Expression Label

To edit the net expression label, do the following:

1. In the lower-level schematic, select the net expression label.

You might want to change the net expression label display.

2. Choose Edit – Properties – Objects.

[@prop:%:vdd!]*

June 2000 168 Product Version 4.4.6

Page 169: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Edit Object Properties form appears.

The Evaluated Name field contains the result of evaluating the net expression for thecurrent descend path of the window.

3. Change the Property Name, Default Net, Height, Font, or Justification value of the netexpression label.

4. To reattach the label to a new wire or pin, click Attachment.

5. Click OK.

June 2000 169 Product Version 4.4.6

Page 170: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Changing the Net Expression Label Display

To change the net expression label display so that you can see the value, property, and/orexpression, do the following:

1. Choose Options – Display.

The Display Options form appears.

2. Change the option for the Net Expression Display.

3. Click OK.

The following table shows the display for net expression labels.

Option Display

value only vdd!*

value (default) vdd! (vdd!)*

June 2000 170 Product Version 4.4.6

Page 171: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The value option implies the resulting signal name from the evaluated net expression for thecurrent hierarchical path. The hierarchical path is the instance path that was descended toget to this level.

To display the hierarchical path, do the following:

➤ Choose Design – Hierarchy – Show Scope.

The value [expression] option is very useful when becoming familiar with inheritedconnections.

value (property) vdd! [power]*

value [expression] vdd! [@power:%:vdd!]*

expression only [@power:%:vdd!]*

Option Display

June 2000 171 Product Version 4.4.6

Page 172: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Deleting a Net Expression Label

To delete a net expression label from a wire or pin, do the following:

1. In the lower-level schematic, choose Edit – Delete.

2. Select the net expression label.

3. Press the Esc key to cancel the Delete command.

If you select the net expression label before choosing the command, you do not need topress the Esc key to cancel the Delete command.

4. Choose Check – Current Cellviewor Design – Check and Saveto update the connectivity ofthe cellview.

Adding and Editing netSet Properties

Adding a netSet property to an instance in a higher-level schematic lets you override thedefault signal name specified in a net expression of a lower-level schematic.

■ Adding a netSet Property to an Instance on page 172

■ Modifying a netSet Property on page 176

■ Changing the netSet Property Display on page 177

■ Deleting a netSet Property on page 177

Refer to Inherited Connections on page 115 for details on the meaning of netSet propertiesused as inherited connections.

Adding a netSet Property to an Instance

To add a netSet property to an instance at a higher level, do the following:

1. At the desired level of hierarchy, select an instance that represents the branch of thedesign hierarchy to be affected.

2. Choose Edit – Properties – Objects.

June 2000 172 Product Version 4.4.6

Page 173: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Edit Object Properties form appears.

3. Click Add.

The Add Property form appears.

June 2000 173 Product Version 4.4.6

Page 174: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

4. In the Name field, type the name of the property used in the net expression label.

5. Set the Type cyclic field to netSet.

6. In the Value field, type the name of the signal that is to override the lower-level defaultsignal name.

This will be the new net name. It may be a global or a local signal name. The name mustconsist of one of the following:

❑ A scalar (one-bit) name that is the name of a net in this schematic

❑ Another net expression whose default name is a net in this schematic.

7. Click OK.

The Edit Object Properties form shows the new added netSet property; in this case,power .

June 2000 174 Product Version 4.4.6

Page 175: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

8. For clarity, you should change the Displaycyclic field from the default off to bothto displayboth the name and value of the netSet property on the instance. This more clearlyshows that power = 3V! in this branch of your design.

9. Click OK.

10. Choose Check – Current Cellview or Design – Check and Save.

If a signal not found message appears in the CIW, you must add a wire and wirename to this schematic for the signal name used within the netSet property value.

June 2000 175 Product Version 4.4.6

Page 176: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Modifying a netSet Property

You might want to modify the display of the property in your design. To change the display, dothe following:

1. Choose Edit – Properties – Objects to add the netSet property.

The Edit Object Properties form appears.

2. Select an instance in the schematic window you want to modify.

The steps for modifying a netSet property are the same as those for adding a netSetproperty. But instead of clicking Add, you click Modify.

3. Click Modify.

The Modify Property form appears.

4. Edit the Type, Name, and Value fields for the property.

The name should match the property name in a net expression label within the designhierarchy below this instance.

June 2000 176 Product Version 4.4.6

Page 177: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

5. Click OK.

The Edit Object Properties form shows the netSet property and its new name or value.

6. Click OK.

Changing the netSet Property Display

You may want to make the netSet property visible to help illustrate the intent of your design.

To change the netSet property display so that you can see both the value and the name ofthe property in your design, do the following:

1. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

2. Select an instance to edit.

3. Change the Display cyclic field from the default off to both to display both the value andname of the netSet property on the instance; for example, power = 3V .

4. Click OK.

Deleting a netSet Property

To delete a netSet property, do the following:

1. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

2. Select an instance in the schematic window to edit.

3. Click Delete.

June 2000 177 Product Version 4.4.6

Page 178: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding Solder Dots

Place a solder dot where more than two wire segments intersect. Do not confuse four-wireintersections, which are always connected logically, with two-wire overpasses.

■ Adding Solder Dots on page 179

■ Deleting Solder Dots on page 179

■ Disabling Automatic Solder Dot Creation on page 179

■ Changing Solder Dot Size on page 180w

ire_

1

wire_2

Two overpass wires Four connected wires

wire_2

wire

_3

wire

_4

wire_2

June 2000 178 Product Version 4.4.6

Page 179: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding Solder Dots

To add a solder dot, do the following:

1. Choose Add – Solder Dot.

2. Click where you want to create a four-way orthogonal wire connection.

Note: When two wire segments form a T-wire intersection, the system places solder dotsautomatically.

Deleting Solder Dots

To delete a solder dot from your design, do the following:

1. Click on the solder dot you want to delete.

2. Press the Delete key or choose Edit – Delete.

Note: You can delete the solder dot only at a four-way orthogonal wire connection. Thesystem changes the connection into a two-wire overpass.

Disabling Automatic Solder Dot Creation

By default, the editor creates a solder dot automatically when you intersect two wiresegments.

To stop the system from adding solder dots automatically, do the following:

1. Choose Options – Editor.

June 2000 179 Product Version 4.4.6

Page 180: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Editor Options form appears.

2. Set Automatic Solder Dots to off.

3. Click OK.

Changing Solder Dot Size

To change the size of the solder dot, do the following:

1. Choose Options – Editor.

Editor Options

June 2000 180 Product Version 4.4.6

Page 181: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Editor Options form appears.

2. In the Solder Dot Wire Overlapfield, specify a value in user units to define the distance thatsolder dots overlap wires.

3. Click OK.

Adding Notes

To document a schematic, you can use

■ Note shapes

■ Note text

Editor Options

June 2000 181 Product Version 4.4.6

Page 182: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The following diagram shows an inverter with documentation notes to the left of the inverter.

■ Adding Note Shapes on page 182

■ Adding Note Text on page 183

■ Importing an ASCII File for Note Text on page 183

Adding Note Shapes

To add a shape to annotate your design for documentation purposes, do the following:

1. Choose Add – Note – Shape.

The Add Note Shape form appears.

Click here for Form Help on Lines, Rectangles, Polygons, Circles, Ellipses, and Arcs.

2. Select a shape (line, rectangle, polygon, circle, ellipse, arc).

3. Read the prompts at the bottom of your design window for further steps, depending onthe shape you are drawing.

A Y

[@instanceName]

inv

ABC Inverter

Note textNote shape(rectangle)

Add Note Shape

June 2000 182 Product Version 4.4.6

Page 183: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Adding Note Text

To add text to annotate your design for documentation purposes, do the following:

1. Choose Add – Note – Note Text.

The Add Note Text form appears.

2. In the Note Text field, type your text.

Keystrokes are available for editing the text on the form.

3. Place the text in your cellview by moving the pointer into your design and clicking.

Importing an ASCII File for Note Text

To import (read in) an ASCII file to document a design, do the following:

1. Choose Add – Note – Note Text.

Add Note Text

You can type a note to document your design.You can also read in (or import) an ASCII filefrom disk.

June 2000 183 Product Version 4.4.6

Page 184: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Add Note Text form appears.

2. In the Read File field, type the path to the file.

3. Click the Read Filebutton.

Adding Patchcords

A patchcord is a special connection symbol. You use a patchcord to establish aliases betweenthe signals of two different nets.

Unlike tap names, where you extract bits of a single net, you can use patchcords to copy onenet to another. You can also use the patchcord to map bits from one net to different bits ofanother net.

The value (connection expression) of the NLP label describes how to map the bits of the netattached to the src (source) pin to the bits of the net attached to the dst (destination) pin.

Add Note Text

You can type a note to document your design.You can also read in (or import) an ASCII filefrom disk.

~/fileNamemy_directory/fileName

June 2000 184 Product Version 4.4.6

Page 185: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The syntax you use for naming the vector expression is the same as the syntax for wires andmultiple bits.

The number of bits in the src vector expression must equal the number of bits in the dstvector expression.

You can also use patchcords to connect multiple nets (merge two buses).

To add a patchcord to a schematic, do the following:

1. Choose Add – Instance.

The Add Instance form appears.

2. In the Library field, type basic .

3. In the Cell field, type patch .

The default connection expression is 0=0 , which indicates that the nets are equal to orgreater than 1 bit wide.

June 2000 185 Product Version 4.4.6

Page 186: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

If the nets are more than 1 bit wide, you can update the connection expression value onthe Edit Object Properties form.

To add the following properties to a patchcord symbol, do the following:

1. Choose Edit – Properties – Object.

The Edit Object Properties form appears.

2. Click the Add button and add the following properties on the form that appears.

nlAction = ignore

pcbAction = ignore

schType = patchCord

These properties must exist on the patchcord symbol to ensure that the netlister ignorespatchcord instances.

3. Make sure that the symbol view of the patchcord has two pins:

❑ The source pin is named src.

❑ The destination pin is named dst.

The system puts 0=0 in the Connection Expressionfield, which indicates that the nets areequal to or greater than 1 bit wide.

If the nets are more than 1 bit wide, you can update the connection expression value onthe Add Instance form.

Adding Probes

The Probe – Addcommand lets you select the data you want to display in another cellview andselect the data for the net for which you want to show a cross-reference.

■ Adding Probes to a Net, Pin, or Instance on page 187

■ Showing Probe Information on page 188

■ Removing Probes from a Net, Pin, or Instance on page 188

0=0

dst pinsrc pin

June 2000 186 Product Version 4.4.6

Page 187: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

■ Removing All Probes on page 189

■ Saving Probes on page 190

■ Loading Probes on page 190

Adding Probes to a Net, Pin, or Instance

To add probes to a net, pin, or instance, do the following:

1. Choose Design – Probe – Add Net, Design – Probe – Add Pin, or Design – Probe – Add Instance.

2. Click on a figure on a net, pin, or instance or type its name.

The Applications to Cross Probe form appears.

The color of the net, pin, or instance changes to show that your probes are added.

You can also add probes by typing the net, pin, or instance name as follows:

1. While the cursor is in the schematic window, press Control-V .

The Command Interpreter Window (CIW) appears.

2. Type the name of the net, pin, or instance you want to probe in the CIW.

You must enclose the name in quotation marks.

To add a probe to a net named net_20 , type “net_20” .

3. Press the Return key.

Applications to Cross Probe

June 2000 187 Product Version 4.4.6

Page 188: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The color of the net, pin, or instance changes to show that your probes are added.

Showing Probe Information

To show an existing probe type and object name, do the following:

1. Choose Design – Probe – Explain.

2. Click on or near an object in your design that has a probe.

A list window similar to the one below appears, showing the probe type and name of theobject. If you clicked near two or more objects with probes, the window lists each objectand its probe type.

Removing Probes from a Net, Pin, or Instance

The Design – Probe Removecommand removes the data you displayed in another cellview orremoves the data that cross-referenced a net, pin, or instance.

To remove probes from a selected net, pin, or instance, do the following:

1. Choose Design – Probe – Remove Net, Design – Probe – Remove Pin, or Design – Probe –Remove Instance.

2. Press F3.

June 2000 188 Product Version 4.4.6

Page 189: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

The Delete Cross Probes form appears.

If you do not click on Cross Probe, the cross-probes are left in place.

3. Click on a net, pin, or instance in your design that contains a probe.

If you assigned more than one probe to this net, pin, or instance, only one is deleted. Thecolor of the object changes to show that the probe was deleted.

You can also remove probes by typing the object name, as follows:

1. While the cursor is in the schematic window, press Control-V .

The CIW appears.

2. Type the name of the net, pin, or instance you want to remove.

You must enclose the name in quotation marks.

To remove a probe to a net named net_20 , type “net_20” .

3. Press the Return key.

If you assigned more than one probe to this net, pin, or instance, only one is deleted. Thecolor of the object changes to show that the probe was deleted.

Removing All Probes

To remove all probes, including cross-probes attached to objects in the top-level design of thecurrent window, do the following:

➤ Choose Design – Probe – Remove All.

Delete Cross Probes

June 2000 189 Product Version 4.4.6

Page 190: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

Saving Probes

Probes are not saved with your design when you choose Design – Probe – Save or Design –Probe – Save As. If you want to reattach the probes, you need to save them to a file, thenchoose Design – Probe – Load to reapply them the next time you open your design.

To save the list of currently attached probes to a file, do the following:

1. Choose Design – Probe – Save.

The Save Probes form appears.

2. In the Probe File Namefield, type the name of the file in which you want to save the probes.

3. Click OK.

Loading Probes

If you want to reattach the probes, you need to save them to a file, then choose Probe – Loadto reapply them the next time you open your design.

To load and attach probes from a saved file, do the following:

1. Choose Design – Probe – Load.

The Load Probes form appears.

Save Probes

Load Probes

June 2000 190 Product Version 4.4.6

Page 191: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Schematics

2. In the Probe File Name field, type the name of the file containing the probes you want toload.

3. Click OK.

June 2000 191 Product Version 4.4.6

Page 192: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

4Creating a Multisheet Schematic

You can use multisheet schematics to partition your design among several sheets, thuscreating a hierarchy.

This chapter provides information about the following topics:

■ Browsing a List of Multisheets on page 193

■ Converting a Single-Sheet Schematic to a Multisheet Schematic on page 193

■ Adding New Sheets on page 194

■ Editing the Title Block on page 194

■ Editing the Sheet Border Size and Type on page 196

■ Understanding Offsheet Pins and Their Naming Conventions on page 197

■ Adding Offsheet Pins to Multisheet Schematics on page 199

■ Understanding the Index Schematic on page 200

■ Going to and from the Index Schematic on page 200

■ Repositioning a Schematic within the Sheet Borders on page 201

■ Deleting Sheets on page 203

■ Reordering Sheets on page 204

■ Renumbering Sheets on page 205

■ Working with Cross-References on page 205

■ Customizing Multisheets on page 216

June 2000 192 Product Version 4.4.6

Page 193: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Browsing a List of Multisheets

The system uses a base name to group sheets of a multisheet schematic in a library. Bydefault, the base name is the cell name of the original single-sheet schematic. Each sheet ofa multisheet schematic has a unique sheet number.

Converting a Single-Sheet Schematic to a MultisheetSchematic

When you extend your design over several sheets, you improve readability, maintain draftingstandards, and produce better plot output.

To convert a single-sheet schematic to a multisheet schematic, do the following:

1. Open a single-sheet schematic.

2. Choose Sheet – Make Multisheet.

The Create Schematic Sheet form appears.

3. Change the options to specify a multisheet schematic of the size and type you want.

4. Click OK.

A sheet border and title block appear in your design window. You might need to changethe size of the border, reposition your schematic within the border, or edit the sheet title.

myDesignmyDesign@sheet001myDesign@sheet002myDesign@sheet003myDesign@sheet004

Individual sheets

Index sheet

Create Schematic Sheet

June 2000 193 Product Version 4.4.6

Page 194: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Adding New Sheets

To add a new sheet to a multisheet schematic, do the following:

1. Choose Sheet – Create.

The Create Schematic Sheet form appears.

2. In the Number field, type the number of the sheet you want to add.

If you want to determine the total number of pages, look at the title block in the lowerright-hand corner of your schematic.

The size and type automatically default to the current values of the present set of sheets.

3. Click OK.

If a sheet with the number you chose already exists, you are prompted to confirm thecreation of the new sheet. The schematic editor creates the new sheet with the numberyou chose and renumbers the remaining sheets. The schematic editor also updates allproperties in the index schematic.

Editing the Title Block

Title blocks help you keep track of the titles and revisions.

To add or modify the title block of a multisheet schematic, do the following:

1. Choose Sheet – Edit Title.

Create Schematic Sheet

June 2000 194 Product Version 4.4.6

Page 195: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The Schematic Title Block Properties form appears.

2. Change the options to edit the title block.

From an index schematic, only the Global Border Titles fields are editable.

All fields are visible when you edit a sheet.

3. Click OK.

Schematic Title Block Properties

June 2000 195 Product Version 4.4.6

Page 196: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The following sheet title block shows the information from the form on the previous page.

Editing the Sheet Border Size and Type

To change the existing size and type of a schematic border, do the following:

1. Choose Sheet – Edit Size.

The Change Sheet Border Size form appears.

1999

Change Sheet Border Size

June 2000 196 Product Version 4.4.6

Page 197: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

2. Change the Border Size and Border Type cyclic fields.

To delete the sheet border of a schematic sheet, set the Border Size to none.

3. Click OK.

Understanding Offsheet Pins and Their NamingConventions

Offsheet pins are the pins you use to connect nets between sheets of a multisheet schematic.Hierarchical pins (schematic pins) connect signals that span different levels of a hierarchicaldesign. When you place a hierarchical pin or offsheet pin in a sheet schematic, the schematiceditor creates an equivalent pin in the index schematic.

The following examples show how to use hierarchical and offsheet pins in a multisheetschematic. Chapter 2, “Connectivity and Naming Conventions,” explains the pin namingconventions used in these four examples.

Example 1

Two hierarchical pins, A<0:7> and OUT1<0:7> , are placed in sheet 1. Bus signal A<0:7>appears in both sheets. To connect these sheets, you need either an offsheet pin in sheet 1or a matching hierarchical pin named out2<0:7> in sheet 1.

Example 2

In this example, the following hierarchical pins represent the partitioned bit width of a bussignal, A<0:7> and OUT<0:7> :

A<0:3>, B<0:3>, OUT<0:3> (in sheet 1)A<4:7> and OUT<4:7> (in sheet 2)

IO<0:7>OUT2<0:7>A<0:7>

IO<0:7>OUT1<0:7>A<0:7>

Sheet 1 Sheet 2

KEY:Schematic pinsOffsheet pins

June 2000 197 Product Version 4.4.6

Page 198: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The example shows the usage of offsheet pin S<0:3> connecting sheet 1 to sheet 2 and viceversa.

Example 3

Pin A is hierarchical in sheet 1.

To access pin A from sheet 2, you use an offsheet pin.

Example 4

A hierarchical pin for the bus B<0:7> is placed in sheet 1.

Sheet 2 uses only two bits of the bus, which you access with offsheet pin B<0:1> .

I1<0:3>S<0:3>B<0:3>

IO<0:3>

OUT<4:7>A<4:7>IO<0:3>

OUT<0:3>A<0:3>

S<0:3>

Sheet 1 Sheet 2

KEY:Schematic pinsOffsheet pins

IOOUT2A

IOOUT1A

Sheet 1 Sheet 2

KEY:Schematic pinsOffsheet pins

June 2000 198 Product Version 4.4.6

Page 199: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Sheet 3 uses another two bits, which you access with offsheet pin B<6:7> .

Adding Offsheet Pins to Multisheet Schematics

To add offsheet pins to connect signals that span several sheets, do the following:

1. Choose Add – Pin.

The Add Pin form appears.

I2<0:1>B<0:1>

I1<0:7>B<0:7>

Sheet 1 Sheet 2

B<6:7>

Sheet 3KEY:Schematic pinsOffsheet pins

June 2000 199 Product Version 4.4.6

Page 200: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

2. Change the Usage cyclic field to offSheet.

For more details, see the single-sheet schematic Add – Pin command.

3. Move the pointer into your design and click to place the pin.

Understanding the Index Schematic

When you create a multisheet schematic, the schematic editor automatically creates an indexschematic to organize the sheets. The index schematic provides a graphical overview of allthe sheets in the schematic.

When you run a check on your design, the schematic editor displays all hierarchical pins andtheir names at the top of the index schematic.

The following diagram is an example of an index schematic.

Going to and from the Index Schematic

To go to the index schematic, do the following:

1. Choose Sheet – Go To.

Hierarchical pins

Output offsheet pins (top right corner)

Input offsheet pins (top left corner)

Sheet title

Sheet size and revision number

Sheet number

Project A

AsizeRev: 3

Project A

AsizeRev: 4

June 2000 200 Product Version 4.4.6

Page 201: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The Go To Sheet form appears.

2. Choose index.

3. Click OK.

To go to a sheet from the index schematic, do the following:

1. Press and hold down the middle mouse button while the pointer is over your destinationsheet.

2. On the object-sensitive menu (OSM) that pops up, choose Go To.

You can set the OSMs on or off at any time.

Repositioning a Schematic within the Sheet Borders

If part of your schematic extends beyond the sheet border, you need to reposition it.

To reposition a schematic within the sheet borders, do the following:

Go To Sheet

June 2000 201 Product Version 4.4.6

Page 202: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

1. Draw a selection box around all the objects in your schematic by dragging the mousewhile holding down the left mouse button.

2. Choose Edit – Move.

3. Select a reference point by clicking in the design.

The design is now attached to the pointer.

4. Move the pointer within the sheet border and click to place the reference point of thehighlighted schematic.

5. Click in an open area to deselect the highlighted schematic.

The selectedobjects arehighlighted.

June 2000 202 Product Version 4.4.6

Page 203: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The schematic now appears within the sheet border.

Deleting Sheets

Caution

This operation cannot be undone.

You can use this operation only when editing the index schematic of a multisheet design. Youcan delete a sheet or range of sheets from a multisheet schematic.

To delete a sheet, do the following:

1. Choose Sheet – Delete from an index schematic.

June 2000 203 Product Version 4.4.6

Page 204: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The Delete Schematic Sheet form appears.

2. Type the page range you want to delete.

The schematic editor prompts you to confirm or cancel the deletion.

Reordering Sheets

Note: You can use this command only when editing an index schematic.

To change the order in which sheets are numbered, do the following:

1. Choose Sheet – Renumber from an index schematic.

The Edit Schematic Sheet Number form appears.

2. Specify the sheet to be renumbered and the new sheet number.

Delete Schematic Sheet

Delete Schematic Sheet

This action is not undoable, continue?

Edit Schematic Sheet Number

June 2000 204 Product Version 4.4.6

Page 205: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

3. Click OK.

If there is already a sheet with the new sheet number, the sheet whose number you wantto change is inserted before the existing sheet and gets the specified sheet number. Thesheets following it are automatically renumbered. On the example form above, sheet 1becomes sheet 10. sheets 2 through 9 stay the same, and sheets 10 and up, if they exist,are increased by 1. The values displayed in the title block change to reflect the new sheetnumbers.

Renumbering Sheets

To sequentially renumber all sheets in a multisheet schematic beginning with 1, do thefollowing:

➤ Choose Sheet – Resequence from an index schematic.

The schematic editor renumbers all sheets sequentially beginning with sheet 1. Forexample, if you previously deleted sheets 4 and 5 so that your sheets are numbered 1 23 6 7, this command reorders the pages in the correct sequence, 1 2 3 4 5.

Working with Cross-References

You can display cross-reference annotations to schematic and offsheet pins to indicate otherlocations in the design where the same pins are used on different sheets.

You can cross-reference multisheet pins to

■ Reference all pins on all sheets of a multisheet schematic

■ Zoom in automatically from one pin to the cross-referenced pin

■ Use the index schematic to link directly to specific hierarchical pins in your design

■ Produce a cross-reference report of all locations in your schematic where pins are cross-referenced

This section discusses the following topics:

■ Understanding Cross-Reference Zones on page 206

■ Understanding Pin Cross-References on page 207

■ Understanding Cross-Reference Reports on page 208

■ Preparing to Cross-Reference on page 208

June 2000 205 Product Version 4.4.6

Page 206: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

■ Displaying Cross-References on page 209

■ Zooming In to View All Cross-Referenced Pins One by One on page 211

■ Going to a Specific Hierarchical Pin on page 212

■ Viewing Cross-Reference Reports on page 212

■ Editing a Cross-Reference Display on page 214

■ Controlling the Format String Syntax on page 215

■ Customizing the Format String Syntax on page 216

Understanding Cross-Reference Zones

Multisheet schematics with borders show numbers and letters that reference different zones,similar to the squares on a map.

Letter zones

Number zones

8

June 2000 206 Product Version 4.4.6

Page 207: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Understanding Pin Cross-References

Pin cross-references are displayed on the schematic next to the pin name.

Example 1

Two pin names reference each other if any of the individual bits of the pin names are shared.For example, the bundle a<0:3>,b references the following pins:

a<0:3>b

Example 2

Pin PP<7:0> is referenced at sheet 1, zone A2 by pin name PP<0:3> ; at sheet 2, zone A1by pin name PP<7:0> ; and at sheet 3, zone B4 by pin name PP<7:0> . The reference namesare not listed for the last two locations because the reference name matches the pin name.

PP<7:0> 1A2(PP<0:3>),2A1,3B4

i1

2A4, 3B1

a<0:3>,b

1B3, 3B2(a<0>), 4C1(b)

Pin names i1 and a<0:3>,b

Sheet numbers 2 and 3 Zone numbers B3 and B2(a<0>)

June 2000 207 Product Version 4.4.6

Page 208: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Understanding Cross-Reference Reports

The following cross-reference report shows pin names and lists locations where the pins arereferenced.

Preparing to Cross-Reference

You must make sure your schematic is error free before you cross-reference pins, but you donot have to correct warnings.

To check a multisheet schematic for errors before displaying cross-references, do thefollowing:

1. From the index schematic, choose Design – Check and Save.

Sheet 1 shows where the signal is referenced.Zone C3 specifies the area where the pin isreferenced, using alphanumeric grids on thesheet borders.

--------------------------------------------Composer Cross Reference Report

Library name: myLibModule Name: test2

--------------------------------------------

Sheet Number: 1 Cellname: test2/sheet001

Pin Name References-------- ----------B<0:7> 2A1(B<0:1>),3A1(B<6:7>)CLEAR 1C3CLEAR 1C3CLEAR 1B3PRESET 1A1PRESET 1C3

Sheet Number: 2 Cellname: test2/sheet002

Pin Name References-------- ----------B<0:1> 1C4(B<0:7>)

Sheet Number: 3 Cellname: test2/sheet003

Pin Name References-------- ----------B<6:7> 1C4(B<0:7>)

Duplicate zones are shown if you turn the optionon.

The reference name lists the name of the pinthat made the reference, B<0:7> .

A comma separates location references

June 2000 208 Product Version 4.4.6

Page 209: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

A dialog box appears, showing you the number of errors and warnings in your schematic.The CIW shows details about the errors and warnings and how to fix them.

2. Correct all errors, if applicable.

Displaying Cross-References

You can display cross-reference annotations to schematic and offsheet pins to indicate otherlocations in the design where the same pins are used on different sheets.

To display cross-reference annotations to schematic or offsheet pins, do the following:

1. Choose Sheet – Cross Reference.

Schematic Check

Close

There were 0 errors and 7 warnings found.

June 2000 209 Product Version 4.4.6

Page 210: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The Cross Reference Options form appears.

2. To produce a report that you can view in a window, do the following:

❑ Turn on Generate Cross Reference Report File.

❑ In the Report File field, type a filename.

❑ Edit the Format String field, if necessary.

3. Click OK.

The system searches for each pin on each sheet and creates a list of the locations whereyou use each pin or a subset of a bus or bundle pin. The reference pin must have at leastone shared member name with the pin name.

Cross Reference Options

<sheetNumber><zone><referenceName>

report.file

June 2000 210 Product Version 4.4.6

Page 211: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Pin cross-references are displayed on the schematic next to the pin name.

You can now zoom in from one pin to another by choosing Sheet – Go To Pin.

Zooming In to View All Cross-Referenced Pins One by One

To see each occurrence of a cross-referenced pin on all sheets of a multisheet schematic, dothe following:

1. Choose Check – Current Cellview from the index schematic to make sure the cellviewis error free.

2. Choose Sheet – Cross Reference to generate the pin cross-references.

3. Choose Sheet – Go To Pin.

The Go To Pin form appears.

4. Select the pin or offsheet connector in your design to follow throughout the multisheets.

i1

2A4, 3B1

a<0:3>,b

1B3, 3B2(a<0>), 4C1(b)

Pin names i1 and a<0:3>,b

Sheet numbers 2 and 3 Zone numbers B3 and B2(a<0>)

Go To Pin

June 2000 211 Product Version 4.4.6

Page 212: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The schematic editor zooms in to the area that contains the specified pin or offsheetconnector. For example, if you selected first, the schematic editor shows the cellview thatcontains the first reference of the pin or offsheet connector you selected.

You can continue to view all related pins using the Go To Pin form.

Going to a Specific Hierarchical Pin

To go to a specific hierarchical pin, do the following:

1. Choose Check – Current Cellview from the index schematic to make sure the cellviewis error free.

2. Choose Sheet – Cross Reference to generate the pin cross-references.

3. Go to the index schematic.

4. Press and hold down the middle mouse button while the pointer is over one of thehierarchical pins.

5. On the object-sensitive menu (OSM) that pops up, choose Go To.

You can set the OSMs on or off at any time.

Viewing Cross-Reference Reports

The cross-reference report file contains a list of pin names followed by all of the locationswhere each pin is referenced in a multisheet schematic. The report lists the cross-referencesin the same format as the strings that are displayed in the schematic.

To view a cross-reference report, do the following:

1. Choose Sheet – Cross Reference.

June 2000 212 Product Version 4.4.6

Page 213: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

The Cross Reference Options form appears.

2. Click View Report.

A window listing the pin references appears, as follows:

Cross Reference Options

<sheetNumber><zone><referenceName>

report.file

June 2000 213 Product Version 4.4.6

Page 214: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Example

In this sample design, a hierarchial pin for the bus B<0:7> is declared insheet 1. Sheets 2 and 3 use two bits of the bus declared in sheet 1. These two bits arerepresented by offsheet pins.

Editing a Cross-Reference Display

You can edit the cross-reference display using standard editing commands and control thevisibility of the strings. You can

■ Make text invisible

■ Change fonts and sizes to make text easier to read

B<0:1>

B<0:7>

Sheet 1

Sheet 2

B<6:7>

Sheet 3

--------------------------------------------Composer Cross Reference Report

Library name: myLibModule Name: test2

--------------------------------------------

Sheet Number: 1 Cellname: test2/sheet001

Pin Name References-------- ----------B<0:7> 2A1(B<0:1>),3A1(B<6:7>)CLEAR 1C3CLEAR 1C3CLEAR 1B3PRESET 1C3PRESET 1C3

Sheet Number: 2 Cellname: test2/sheet002

Pin Name References-------- ----------B<0:1> 1C4(B<0:7>)

Sheet Number: 3 Cellname: test2/sheet003

Pin Name References-------- ----------B<6:7> 1C4(B<0:7>)

June 2000 214 Product Version 4.4.6

Page 215: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

■ Move the text independent of the pin or pin label (when you move the pin, cross-reference text also moves)

To edit cross-reference text, do the following:

1. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

2. Select the cross-reference data in your design.

3. Edit the data on the Edit Object Properties form.

4. Click OK.

5. Choose Edit – Move to move text, if applicable.

Controlling the Format String Syntax

You can control the format of cross-references (written to the report file or displayed next topins) by using your own cross-reference format string. You construct a string using thefollowing parameters in any order:

Syntax

pinName location , location , . . .

location :=[ sheetNumber ][ zone ][ direction ][ referenceName ]

direction :=’i’|’o’|’io’

[sheetNumber]

[zone]

[direction]

[referenceName]

Sheet number that contains the pin

The alphanumeric grids that contain the pin

The direction of the pin

The name of the pin.The referenced pin name is only printed when it does not exactlymatch the original pin name. For example, the following string letsyou see which bits of a bus are used on which sheets

"1A1(bus<0:7>),2B2(bus<0:3>),3C3(bus<4:7>)"

June 2000 215 Product Version 4.4.6

Page 216: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

for input, output, or input/output respectively

referenceName: = B<0:7>

pin name that has at least one shared bus component

Example

Using the default format of sheetNumber zone referenceName

Pin Name ReferencesPP<7:0> 1A2(PP<0:3>), 2A1, 3B4

The reference name (PP<0:3> ) is enclosed in parentheses only if it is different from the pinname. PP<7:0> is referenced at

■ Sheet 1, zone A2, by pin name PP<0:3>

■ Sheet 2, zone A1, by pin name PP<7:0>

■ Sheet 3, zone B4, by pin name PP<7:0>

Customizing the Format String Syntax

You can customize the following:

■ Pin Reference Format using the pinRefFormat environment variable

Specifies the format for displaying the pin reference information that appears next toeach pin when you choose Sheet – Cross Reference.

■ Pin Reference Duplicates using the pinRefDuplicates environment variable

Specifies whether the editor reports duplicate pin references for a pin when you chooseSheet – Cross Reference.

■ Pin Reference Sorting using the pinRefSorting environment variable

Specifies how the editor sorts pin references when you choose Sheet – Cross Reference.

Customizing Multisheets

This section describes the following:

■ Customizing the Types and Sizes of Sheet Borders on page 217

■ Customizing the Cross Reference Options Form on page 218

June 2000 216 Product Version 4.4.6

Page 217: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

■ Drawing a Customized Sheet Border on page 219

■ Drawing Sheet Zones on page 219

■ Drawing Zone Labels on page 220

■ Adding the Sheet Zone Property on page 221

■ Adding a Title Block on page 222

■ Adding Title Block Labels on page 222

■ Verifying the Label Type on page 224

■ Adding Title Block Properties on page 224

■ Customizing Pin Cross-References on page 225

Customizing the Types and Sizes of Sheet Borders

You can use your own customized sheet border symbols when you create new sheetschematics. You can customize the display of pin cross-references.

The fields on the Create Schematic Sheet form appear as follows:

To customize the default settings on the Create Schematic Sheet form, do the following:

1. In the configuration file, search for schSheetMasters .

2. Define or delete the types and sizes of sheet borders.

For example, you can modify the C-size sheet as follows:

list("myLib" "myCsize" "symbol")list("myLib" "myCsize.c" "symbol"))

where

Create Schematic Sheet

June 2000 217 Product Version 4.4.6

Page 218: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

myLib is the name of your design library.myCsize is your name for the size of your customized sheet.myCsize.c is the continuation sheet.symbol specifies all multisheet borders are symbols.

Customizing the Cross Reference Options Form

The fields on the Cross Reference Options form appear as follows:

You can customize default settings on the Cross Reference Options form.

The cross-reference format string variable, PinRefFormat , can contain any text and thefollowing keywords: zone , sheetNumber , direction , referenceName .

For example:

PinRefFormat = "Zone: zone , Sheet: sheetNumber , Dir: direction "

yields reference strings such as

"Zone:A5, Sheet:3, Dir:input"

Cross Reference Options

June 2000 218 Product Version 4.4.6

Page 219: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Drawing a Customized Sheet Border

A sheet border symbol contains several cellview properties that you can customize:

■ Outer border

■ Sheet zones and their corresponding labels and properties

■ Title blocks and their corresponding labels and properties

The border symbol also needs to contain two other cellview properties, both with the propertytype string .

■ "nlAction" = "ignore"

Choose Edit – Properties – Cellview to add this property.

■ geQuerySelSet()

Type this command in the CIW and use the Add button to add a type string property

"schType" = "border"

To draw a customized outer sheet border, do the following:

1. In the symbol editor, choose Add – Shape – Rectangle.

2. Press F3.

The Add Symbol Shape form appears.

3. Draw a rectangle that represents the edge of your customized sheet.

4. Press Esc to cancel the Add – Shape – Rectangle command.

Drawing Sheet Zones

To add sheet zones, do the following:

1. In the symbol editor, choose Add – Shape – Line.

2. Press F3.

The Add Symbol Shape form appears.

June 2000 219 Product Version 4.4.6

Page 220: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

3. Draw the equally spaced short lines (tick marks) around the sheet border.

Drawing Zone Labels

To add customized sheet zone labels to the sheet border, do the following:

1. In the symbol editor, choose Add – Label.

The Add Symbol Label form appears.

2. Type a label name in the Label field.

You must type and place each label separately.

To draw equally spaced tick marks, draw the firstsegment, and then use the Edit – Copy commandarray option.

June 2000 220 Product Version 4.4.6

Page 221: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

3. Select the normalLabel option.

Adding the Sheet Zone Property

To add the sheetHasZones sheet zone property, do the following:

1. In the symbol editor, choose Edit – Properties – Cellview.

The Edit Cellview Properties form appears.

2. Click Add.

The Add Property form appears.

3. In the Name field, type schHasZones .

4. In the Value field, type (3 2 1) (C B A) .

The value consists of two lists. The first describes the X coordinates (3,2,1) and thesecond describes the Y coordinates (C,B,A) . The order of the coordinates determineshow they are displayed in the sheet border zones. The X coordinate list is displayed leftto right, and the Y coordinate list is displayed top to bottom.

5. Click OK.

6. Click OK on the Edit Cellview Properties form.

3 2 1

C

B

A

3 2 1

A

B

CSheet zones describe a coordinate system thathelps you identify exactly where an object islocated in a cellview. You can divide your sheetinto a3 x 3 matrix with sheet zones 1, 2, 3, A, B, andC.

June 2000 221 Product Version 4.4.6

Page 222: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

Adding a Title Block

To add sheet titles and properties to a customized sheet border, you can

■ Use the standard title symbol in the US_8ths reference library

■ Create your own title block

To create your own title block (add an instance of a title block symbol), do the following:

1. Using the schematic editor, add an instance of the title block symbol to a schematicdesign.

2. Open the window that contains your customized border.

This window uses the symbol editor.

3. In the schematic editor window, select the title block instance.

4. Choose Edit – Copy to copy the instance from the schematic window to the symbol editorwindow that contains your customized border.

To draw a sheet title block for a customized sheet border, do the following:

1. In the symbol editor, zoom in on the lower right corner of the sheet border.

2. Choose Add – Shape – Line and draw vertical and horizontal lines that define the blockand the block fields.

Adding Title Block Labels

To name the sheet title block fields for a normal label, do the following:

Lines

June 2000 222 Product Version 4.4.6

Page 223: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

1. In the symbol editor, choose Add – Label.

The Add Symbol Label form appears.

Note: Do not use the Add – Note Text command to add block titles.

2. Type a label name and choose normalLabel as the label type.

3. Click in your design to place the label.

4. Repeat steps 2 and 3 to place all the labels you plan to use.

To add the values of the title block fields with NLP and IL labels, do the following:

1. Choose Add – Label.

The Add Symbol Label form appears.

You must type and place each label separately. An example follows:

2. On the first line, type [@COMPANY].

Company

Title

Date

Sheet No.

Company

Title

Date

[@COMPANY]

[@TITLE]

ilInst~>cellView~>instancesLastChanged

[@SHEET]Sheet No. Label 4

Label 3

Label 2

Label 1

June 2000 223 Product Version 4.4.6

Page 224: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

3. In the Label Type cyclic field, choose NLPLabel.

4. In your design, click the label to place it in the sheet title block.

5. On the second line, type [@TITLE] .

6. In the Label Type cyclic field, choose NLPLabel.

7. In your design, click the label to place it in the sheet title block.

8. On the third line, type the following Cadence® SKILL language code:

ilInst~>cellView~>instancesLastChanged

ilInst is a SKILL variable used to provide self-reference to an instance during graphicdisplay of the cellview containing the instance.

9. In the Label Type cyclic field, choose ILLabel.

10. In your design, click the label to place it in the sheet title block.

The SKILL code displays a time stamp; for example,

Jun 5 15:07:33 2000

11. On the forth line, type [@SHEET].

12. In the Label Type cyclic field, choose NLPLabel.

13. In your design, click the label to place it in the sheet title block.

Verifying the Label Type

To verify the label type, do the following:

1. Select the label of the symbol.

2. In the CIW, type

geGetSelSet()~>??

You can now see all the attributes of the label.

Adding Title Block Properties

The editor recognizes a sheet title property called schSheetTitles . TheschSheetTitles property is added to the titleblock cellview, which is a symbol. TheschSheetTitles property contains the list of properties that can be edited with the Sheet– Edit Title command.

June 2000 224 Product Version 4.4.6

Page 225: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

To add the schSheetTitles property to your sheet title block, do the following:

1. Choose Edit – Properties – Cellview.

The Edit Cellview Properties form appears.

2. Click Add.

The Add Property form appears.

3. In the Name field, type, schSheetTitles .

4. Change the Type cyclic field to ILList.

5. Fill in the Value field.

The Value field contains two lists. The first list contains global titles that apply to allsheets. The second list contains local titles that apply to a specific sheet, all in list form.

Value := ( ( global-titles ) ( local-titles ) )

global-titles := nil |

( title-pair ) |

( title-pair ) global-titles

local-titles := nil |

( title-pair ) |

( title-pair ) local-titles

title-pair := "propertyName" "propertyType"

Note: The Sheet – Edit Title command creates the schSheetTitles properties within theindex schematic (on the instances of the msymbols ). Properties for global titles are placedon all msymbol instances. Properties for local titles are placed only on the instance of thecorresponding msymbol . When you display a sheet schematic, the NLPLabels in the titleblock are evaluated; these labels use the property values stored in the index schematic.

6. To verify the creation of the schSheetTitles property, select an instance of anmsymbol then, in the CIW, type

geQuerySelSet( )

7. Click OK.

8. Click OK to add the property to the cellview.

Customizing Pin Cross-References

You can customize environment variables for pin cross-references as follows:

June 2000 225 Product Version 4.4.6

Page 226: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating a Multisheet Schematic

■ Pin reference format

The pinRefFormatenvironment variable specifies the format for displaying the pinreference information that appears next to each pin when you use Sheet – CrossReference.

■ Pin reference duplicates

The pinRefDuplicatesenvironment variable specifies whether the editor reports duplicatepin references within the same zone of a multisheet schematic when you use Sheet –Cross Reference.

■ Pin reference sorting

The pinRefSorting environment variable specifies how the editor sorts pin referenceswhen you use Sheet – Cross Reference.

June 2000 226 Product Version 4.4.6

Page 227: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

5Creating Symbols

You can quickly create a new symbol by importing (copying) an existing symbol into thesymbol editor window and then modifying the imported symbol. If you cannot use an existingsymbol—for example, if your schematic requires an electrical or logical function that does nothave a corresponding symbol in a Cadence® library—you need to create your own symbolusing the symbol editor.

This chapter describes the following topics:

■ Setting Grid Options on page 229

■ Importing Symbols on page 230

■ Creating New Symbols on page 231

❑ Drawing Lines on page 232

❑ Drawing Rectangles on page 233

❑ Drawing Polygons on page 234

❑ Drawing Circles on page 235

❑ Drawing Ellipses on page 236

❑ Drawing Arcs on page 236

❑ Adding Pins as Graphic Images on page 238

❑ Adding Pins as Instances on page 239

❑ Creating Custom Pins as Graphic Images on page 240

❑ Making the Custom Pin Name Visible on page 241

❑ Adding a Selection Box on page 242

❑ Adding Labels on page 243

❑ Adding a Normal Label on page 244

June 2000 227 Product Version 4.4.6

Page 228: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

❑ Adding an NLP Label on page 245

❑ Adding an IL Label on page 248

❑ Adding Note Text and Note Shapes on page 250

❑ Adding a Net Expression Label on page 250

❑ Setting the Symbol Origin on page 251

■ Creating Symbol Cellviews Using Generators on page 252

June 2000 228 Product Version 4.4.6

Page 229: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Setting Grid Options

Before you create a symbol, you might want to set the grids in the symbol editor to assist youin drawing. If you want to create shapes that are smaller than what the current snap spacingallows, choose a smaller snap spacing.

To set grid options, do the following:

1. Choose Options – Display.

The Display Options form appears.

2. Set the grid controls according to your specifications.

3. Click OK.

June 2000 229 Product Version 4.4.6

Page 230: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Importing Symbols

You can import (copy) an existing symbol into the symbol editor. You can then modify theimported symbol and create a new symbol cellview.

To import an existing symbol, from the symbol editor, do the following:

1. Choose Add – Import Symbol.

The Import Symbol form appears.

2. Specify the symbol you want to copy into the symbol design window.

3. Move the pointer into your design and click to place the symbol.

You can now edit the symbol to create a new symbol.

June 2000 230 Product Version 4.4.6

Page 231: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Creating New Symbols

On occasion, your design might require an electrical function that does not have acorresponding symbol in an existing library. In such situations, you need to create your ownsymbol. This section describes how to create your own symbol using the symbol editor.

You create a symbol by assembling elements in your design such as

■ Lines, rectangles, polygons, circles, ellipses, and arcs

■ Pins used to connect the symbol to the rest of a schematic

■ Labels to identify the symbol and pins

■ A selection box to surround a symbol that lets you select an instance of the symbol inthe schematic editor

■ Notes that consist of text and shapes to annotate the symbol.

Selection box

A Y

[@instanceName]

INV

Normal label

Input pin Inverter symbol polygon(device shape)

NLP label

Output pin

Circle (shape)Line(shape)

ABC Inverter

Note text Note shape(rectangle)

June 2000 231 Product Version 4.4.6

Page 232: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Drawing Lines

To draw lines for a symbol, using the symbol editor, do the following:

1. Choose Add – Shape – Line.

2. Press F3.

The Add Symbol Shape form appears.

3. Set the options to your specifications.

4. Move the pointer into your design window.

The following example shows a line being added to a triangle shape.

Click the first point tostart a line.

Double-click the last point toend the line.

You can enter manypoints to create amulti-segmented line.You can also press theEsc key to terminatelines.

June 2000 232 Product Version 4.4.6

Page 233: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Drawing Rectangles

To draw a rectangle, using the symbol editor, do the following:

1. Choose Add – Shape – Rectangle.

2. Press F3.

The Add Symbol Shape form appears.

3. Set the options to your specifications.

4. Move the pointer into your design window and click to enter the first corner of therectangle.

5. Click the opposite corner.

1st point

2nd point

June 2000 233 Product Version 4.4.6

Page 234: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Drawing Polygons

To draw a polygon, using the symbol editor, do the following:

1. Choose Add – Shape – Polygon.

2. Press the F3 key.

The Add Symbol Shape form appears.

3. Set the options to your specifications.

4. Move the pointer into your design window and draw the segments that form a polygonsymbol by clicking on each point.

2nd point

1st point

3rd point, or double-click to close the polygon

4th point

June 2000 234 Product Version 4.4.6

Page 235: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Drawing Circles

To draw a circle, using the symbol editor, do the following:

1. Choose Add – Shape – Circle.

2. Press F3.

The Add Symbol Shape form appears.

3. Set the options to your specifications.

4. Move the pointer into your design window, and click to specify the center of the circle.

5. Move the cursor away from the center point, and click to specify the distance of the radiusand complete the circle.

1st point

2nd point✘ ✘

June 2000 235 Product Version 4.4.6

Page 236: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Drawing Ellipses

To draw an ellipse, using the symbol editor, do the following:

1. Choose Add – Shape – Ellipse.

2. Press F3.

The Add Symbol Shape form appears.

3. Set the options to your specifications.

4. Move the pointer into your design window and click one point to begin creation of theellipse.

5. Stretch the ellipse to your specifications and click the second point to complete theellipse.

Drawing Arcs

To draw an arc, using the symbol editor, do the following:

1. Choose Add – Shape – Arc.

2. Press F3.

✘1st point

2nd point

June 2000 236 Product Version 4.4.6

Page 237: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

The Add Symbol Shape form appears.

3. Move the pointer into your design window and specify three points to create an arc.

The example shows two ways to draw an arc.

✘✘1st point 2nd point

3rd point✘

✘✘1st point 3rd point

2nd point

June 2000 237 Product Version 4.4.6

Page 238: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Adding Pins as Graphic Images

By default, the symbol pin that you create using the Add – Pin command in the symbol editoris a graphic image of a symbol master. When you add pins as graphic images of a symbolmaster, any changes you make to the symbol pin master are not reflected in the graphicimages that were previously added from the symbol pin master.

To add a symbol pin using the symbol editor, do the following:

1. Choose Add – Pin.

The Add Pin form appears.

2. In the Pin Names field, type the pin names.

Use a space to separate each name.

3. In the Direction cyclic field, choose the pin direction.

4. In the Type cyclic field, choose the pin type.

5. Move the pointer into the cellview and click to place the first pin.

June 2000 238 Product Version 4.4.6

Page 239: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

The following example shows how an input pin with a pin name of A appears after youclick your mouse in the design.

6. Change the Direction cyclic field, if necessary, before placing a subsequent pin.

7. Move the pointer into the design window and click to place pin Y.

The following example assumes you changed the pin direction.

Adding Pins as Instances

When you add symbol pins as instances, any changes you make to the graphics of thesymbol pin master are reflected in all the pin instances that were previously added from thesymbol pin master.

To turn on the option for adding symbol pins as instances, do the following:

1. Choose Options – Editor.

Input pinA

Output pinInput pinA Y

June 2000 239 Product Version 4.4.6

Page 240: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

The Editor Options form appears.

2. In the Command Controls section of the form, turn on the Add Symbol Pins as Instancesoption.

3. Click OK.

4. Refer to the Add – Pin command to create a symbol pin.

Creating Custom Pins as Graphic Images

You can use the Add – Custom Pincommand to create your own graphic images (polygons) forthe pins you want to place in your design.

To create and place a new custom pin, using the symbol editor, do the following:

1. Choose Add – Custom Pin.

June 2000 240 Product Version 4.4.6

Page 241: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

The Add Custom Pin form appears.

2. In the Pin Names field, type the name of the custom pin.

3. In the Direction cyclic field, choose the pin direction.

4. In your design window, click the first point and each subsequent point of the polygonshape that you want to create.

5. Double-click on the last point to close the polygon.

The editor fills in the pin color and prompts you to use the Edit Object Properties form todisplay the pin name. By default, the pin names are not visible.

6. Press the Esc key.

Making the Custom Pin Name Visible

To make the custom pin name visible or to edit other custom pin properties, do the following:

1. Choose Edit – Objects – Properties.

2. In the design window, click the custom pin.

The Edit Object Properties form appears. The Valuefield displays the name you gave toyour custom pin.

3. Set the Display cyclic field to value.

4. Click OK.

June 2000 241 Product Version 4.4.6

Page 242: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Adding a Selection Box

A symbol selection box defines the area of the symbol that you can use when selecting aninstance of that symbol from the schematic editor.

To create a selection box, using the symbol editor, do the following:

1. Choose Add – Selection Box.

The Add Selection Box form appears.

2. Draw a selection box manually, or click Automatic.

❑ To draw the selection box manually, click the first corner of the rectangle, then movethe cursor to the opposite corner and click.

❑ To draw the box automatically, click Automatic. The software generates a selectionbox that encloses all symbol pins and symbol shapes.

Note: You can use the Stretch command to adjust the box shape.

A Y

[@instanceName]

inv

✘1st point

✘ 2nd point

June 2000 242 Product Version 4.4.6

Page 243: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Adding Labels

Symbol labels display assorted textual information. You can add one of three types of labelsto your symbol:

■ Normal labels, which have fixed text.

This type of label is generally used to identify the device and pins.

■ NLP labels, which have expressions that the editor evaluates to determine the value.

When you place an instance in your schematic, the system evaluates the NLPexpression and displays the resulting value. For example, the system displays the NLPlabel [@instanceName] in the symbol editor but displays a value—for example, I3 —in the schematic editor.

■ IL labels, which have expressions that are evaluated by the SKILL language to determinethe value.

When you place an instance in your schematic, the system evaluates the SKILLexpression and displays the resulting value. For example, the system displays the ILlabel ilInst~>name in the symbol editor, but displays a value — for example, I3 — inthe schematic editor.

A Y

[@instanceName]

inv

A Y

I3

inv

Schematic editorSymbol editor

A Y

ilInst~>name

INV

Symbol editor Schematic editor

A Y

INV

I3

June 2000 243 Product Version 4.4.6

Page 244: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Adding a Normal Label

To add a normal label, using the symbol editor, do the following:

1. Choose Add – Label.

The Add Symbol Label form appears.

2. In the Label field, type the name of your symbol.

3. In the Label Choice cyclic field, choose logical label.

4. In the Label Type field, click normalLabel.

5. Move the pointer into your design window.

The normalLabel expression is attached to the pointer.

6. Click to place the label.

A Y

Example of a normal labelINV

June 2000 244 Product Version 4.4.6

Page 245: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

When you place an instance of the symbol in your design, the schematic editor displaysthe label text. To force an evaluation of the SKILL expression or function and display theresults, use the Window – Redraw command.

Adding an NLP Label

To add an NLP label, using the symbol editor, do the following:

1. Choose Add – Label.

The Add Symbol Label form appears.

2. To complete the Label field, do one of the following:

❑ Accept the default, [@instanceName]

❑ Type your own expression

3. In the Label Type field, click NLPLabel.

The label choice affects the color of the label.

4. Move the pointer into your design window.

June 2000 245 Product Version 4.4.6

Page 246: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

The NLPLabel expression is attached to the pointer.

5. Click to place the label next to the symbol.

When you place an instance of a symbol in a schematic cellview, the schematic editorinterprets the [@instanceName] label and displays the current value of the property.To force an evaluation of the SKILL expression or function and display the results, usethe Window – Redraw command.

The schematic editor evaluates NLP labels using netlisting rules.

Example – Syntax for an NLP Label Expression Containing One Property

[@propertyName : displayFormat1 [: displayFormat2 ]]

In the example, displayFormat1 is used when a specified property exists, anddisplayFormat2 (optional) is used when a specified property cannot be located.

If displayFormat2 is not defined and the property does not exist, the editor does notdisplay the NLP label.

The rules table below and the examples that follow the table show how NLP label expressionsare interpreted.

Syntax Expression Definition

[ ] Delimits the property substitution expression. Text outsidesquare brackets remains unevaluated.

@ Specifies the beginning of a property substitutionexpression, as [@instanceName] .

propertyName Specifies the property name.

A Y

[@instanceName] Example of an NLP label

June 2000 246 Product Version 4.4.6

Page 247: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Examples – Evaluating NLP Label Expressions

If the current value of a named property is defined, the schematic editor substitutes thedefined value for the percent character (%) in the NLPLabel expression when you place theinstance in the design.

If the schematic editor does not find a value for a property when you place an instance of asymbol, the schematic editor uses displayFormat2 .

A label expression represents the current value of a property.

■ Example 1 – Basic expressions

[@w:%]

or

[@w]

If you reference only one property in the NLPLabelexpression, you specify only the nameof the property. When evaluated, the schematic editor returns the value of the property.In Example 1, when w has a value of 8, the editor generates the following label:

8

■ Example 2 – Simple expressions

[@w:w=%]

: Separates the property name from the display format string.For example, in [@w:w=%], the colon separates theproperty name (w) from the expression (w=%).

% A placeholder in the format string for the current value ofpropertyName .

\ plus a reserved character Lets you include one of the above reserved characters as atext character in your label.

\n Generates a carriage return.

\t Generates a tab.

\nnn Substitutes an ASCII character defined by octal nnn .

Syntax Expression Definition

June 2000 247 Product Version 4.4.6

Page 248: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

The editor considers any nonreserved characters after the separator (:) to be a textstring. When evaluated, the schematic editor returns the string. If there is a specialcharacter in the expression, the editor evaluates it also. In Example 2, when w has avalue of 8, the editor generates the following label:

w=8

■ Example 3 – Compound expressions

[@w:w=%;][@l:l=%;]

In Example 3, if w is not defined and l has a defined value of 8 , the editor generatesthe following label:

l=8;

In Example 3, if w has a value of 4 and l has a value of 8, the editor generates thefollowing label:

w=4;l=8;

If you specify a value for wand l after you place the instance, or if you change the valueafter you place the instance, the schematic editor updates the label to display the currentvalue.

■ Example 4 – Combined label expressions

[@w:w=%:w is not defined;]

In Example 4, if w is not defined, the editor goes on to the next label expression, w isnot defined , which is a text string. The editor evaluates the string as a value anddisplays the result as a label. The semicolon is part of the text string.

w is not defined;

■ Example 5 – Nested label expressions

[@w:w=%;[@l:l=%]]

In Example 5, the editor returns the values for both properties if they are both defined.For example, if the value of w is 4 and the value of l is 8, the editor generates thefollowing label:

w=4;l=8

Adding an IL Label

To display the value of an instance property, you can add an IL label using a Cadence® SKILLlanguage expression that can be evaluated by the SKILL language.

June 2000 248 Product Version 4.4.6

Page 249: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Using the symbol editor, do the following:

1. Choose Add – Label.

The default [@instanceName] label is attached to the cursor. The Add Symbol Labelform appears.

2. In the Label field, type a SKILL expression or function, with the form

ilInst ~>master~>libName

ilInst is a SKILL variable used to provide self-reference to an instance during graphicdisplay of the cellview containing the instance.

3. Set the Label Choice cyclic field to instance label.

4. In the Label Type field, click ILLabel.

June 2000 249 Product Version 4.4.6

Page 250: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

5. Move the pointer into your cellview and click to place the IL label.

■ Example 6 – SKILL code

ilInst~>cellView~>instancesLastChanged

The SKILL code displays a time stamp; for example,

Jun 5 15:07:33 2000

Adding Note Text and Note Shapes

You add note text and note shapes in the symbol editor in the same way you add notes in theschematic editor. Refer to “Adding Notes” on page 181.

Adding a Net Expression Label

You add a net expression label in the symbol editor in the same way you add a net expressionlabel in the schematic editor. Refer to Adding and Editing Net Expression Labels onpage 164.

A Y

ilInst~>master~>libName IL label

A Y

GaCells library name

June 2000 250 Product Version 4.4.6

Page 251: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

Setting the Symbol Origin

The origin of a symbol is the (0,0) location within a symbol. When you place instances in aschematic, the symbol origin affects the position of the symbol graphics and pins relative tothe instance placement point.

Caution

Changing the origin of a symbol moves instance pins within allschematics that use that symbol. This might affect the connectivity of theschematic because schematic wires do not automatically move to thenew pin locations.

To set the origin of a symbol, using the symbol editor, do the following:

1. Choose Edit – Origin.

2. Point to a location for the new origin of the symbol.

Pointing to the middle of the symbol moves the symbol graphic, repositioning the X=0,Y=0 origin point of the symbol to the new location.

When you use this command, it might be helpful to turn on the display of the following:

❑ X and Y axes

❑ Coordinates in the status banner

A Y

[@instanceName]

INV

Point to a location.

A Y

[@instanceName]

INV

June 2000 251 Product Version 4.4.6

Page 252: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCreating Symbols

3. Choose Window – Fitto view the enlarged symbol, if necessary.

Creating Symbol Cellviews Using Generators

A symbol cellview is a lower cell of a complete schematic cellview.

Besides using the Design – Create Cellviewcommand mentioned in Chapter 6, “AutomaticallyCreating Cellviews,” you can create symbol cellviews using generators.

■ Text-to-Symbol Generator on page 585

The text-to-symbol generator (TSG) is a Cadence application program that automaticallygenerates symbol cellviews for schematic capture and subsequent simulationprocesses. TSG provides a quick way to generate a symbol from a list of pins in a TSGfile.

■ Symbol and Simulation Library Generator on page 614

The Cadence SKILL-based symbol and simulation library generator(S/SLG) is a library management program that generates symbol and simulation views.

June 2000 252 Product Version 4.4.6

Page 253: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

6Automatically Creating Cellviews

This chapter discusses the following topics:

■ Features of Creating Cellviews on page 253

■ Automatically Creating a Cellview from Another Cellview on page 254

■ Automatically Creating a Cellview from a Pin List on page 261

■ Automatically Creating a Cellview from an Instance on page 264

■ Editing Symbol Generation Options on page 264

■ Specifying Symbol Generator Pin Sorting on page 292

Features of Creating Cellviews

You can automatically

■ Create a new cellview from an existing cellview

Refer to the Create Cellview – From Cellview command.

■ Create a new cellview from a list of port/pin names

Refer to the Create Cellview – From Pin List command.

■ Create a new cellview from an existing instance

Refer to the Create Cellview – From Instance command.

■ Generate circuit symbols for schematic capture and subsequent simulation processes

You can automatically generate a symbol from a list of pins in a text-to-symbol generator(TSG) file. Refer to the Text-to-Symbol Generator.

■ Generate symbol and simulation views

June 2000 253 Product Version 4.4.6

Page 254: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Refer to the Cadence® SKILL-based library management program symbol andsimulation library generator.

The software uses the TSG program to generate a symbol when you choose either Design –Create Cellview – From Cellview or Design – Create Cellview – From Pin List.

Automatically Creating a Cellview from Another Cellview

You can automatically create a new cellview from an existing cellview. For example, you canautomatically create a symbol from a schematic. Automatic cellview creation can be veryuseful for both top-down and bottom-up design approaches.

To create a cellview from another cellview, do the following:

1. Choose Design – Create Cellview – From Cellview.

The Cellview From Cellview form appears.

By default, the software initializes the form with information about the cellview currentlyopen (the default cellview).

2. If you want to use a different cellview as the source of the port/pin information, changethe Library Name, Cell Name, and From View Namefields.

3. Change the To View Name or Tool / Data Type field to change the cellview to be created.

Note: If either the From View Name cyclic field or the Tool / Data Typecyclic field do not

June 2000 254 Product Version 4.4.6

Page 255: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

contain the desired view or conversion function, you must modify the schViewToPinListReglist or the schPinListToViewReglist, which are defined in your schConfig.il file.

4. To display the cellview in a new window, turn on the Display Cellview button.

5. To edit various cellview creation options, turn on the Edit Options button.

6. Click OK.

When generating a symbol, the Symbol Generation Options form appears if you turnedon the Edit Options button and the cellview is being newly created or replaced.

If a cellview already exists with the same name, a dialog box prompts you to eitherreplace the cellview, modify it (symbol cellview only), or cancel the command.

From this point, the exact behavior of the command depends on the type of data beingcreated.

Replacing an Existing Symbol Cellview

You can replace or modify existing symbol cellviews. You can only replace (not modify) allother types of existing cellviews.

1. In the schematic editor, choose Design – Create Cellview – From Cellview.

2. In the To View Name field, type symbol .

3. Click OK.

If the symbol cellview to be created already exists, the Create Cellview dialog boxappears.

June 2000 255 Product Version 4.4.6

Page 256: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Caution

Replacing the symbol cellview does the following:

❑ Discards any modifications you may have made to that cellview

❑ Creates only the pins, properties, selection box, labels, and other graphics; allschematic instances, schematic wires, and HDL body text are lost

❑ May alter the position of pins in the new symbol cellview

4. Click Replace.

The Symbol Generation Options form appears.

5. Click OK.

June 2000 256 Product Version 4.4.6

Page 257: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Overwrite Base Cell CDF dialog box appears.

The system deletes the existing cellview and creates a new one.

See Figure 6-2 on page 260.

6. Click Yes.

Modifying an Existing Symbol Cellview

You can replace or modify existing symbol cellviews. You can only replace (not modify) allother types of existing cellviews.

1. In the schematic editor, choose either Design – Create Cellview – From Cellviewor Design– Create Cellview – From Pin List.

2. Click OK.

If the symbol cellview to be created already exists, the Create Cellview dialog boxappears.

June 2000 257 Product Version 4.4.6

Page 258: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Caution

Modifying a symbol cellview does the following:

❑ Automatically edits the cellview with a minimal amount of changes to the current pinlocations, graphics, and properties within the symbol cellview

❑ Deletes pins that are no longer needed

❑ Adds pins that do not yet exist in the new cellview

Pins are added near the bottom of the cellview. Use the symbol editor to repositionthese new pins and to adjust any symbol graphics. The system determinesattributes of the new pins by the currently active TSG template file.

❑ Adds or updates cellview properties and terminal properties

❑ Annotates the changes that were made in note format at the bottom of the cellviewand in the Command Interpreter Window (CIW)

❑ Does not delete cellview or terminal properties

3. Click Modify.

The symbol cellview is automatically edited and saved.

The Overwrite Base Cell CDF dialog box appears.

4. Click Yes to update the base cell CDF with new simInfo port information.

See Figure 6-3 on page 261.

June 2000 258 Product Version 4.4.6

Page 259: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Examples of Replacing and Modifying Pins on a Symbol

The following three figures show the difference between choosing Replace and Modify.

■ Figure 6-1. The symbol

■ Figure 6-2. The symbol after choosing Replace

■ Figure 6-3. The symbol after choosing Modify

Figure 6-1 illustrates an original symbol that was created using Design – Create Cellview – FromCellviewfrom a schematic that had the pins { a bb ccc dddd eeeee f gg hhh iii kll mmm } .

The following changes were then made to the schematic:

■ Deleted input pin bb

■ Deleted inputOutput pin iii

■ Added input pins wwwwww and zz

■ Added inputOutput pin ii

All three figures show pin a at the exact same location, (X,Y) = (0,0) which is thesymbol’s origin point. By default, TSG puts the top-most left pin at the origin of the symbol.

Figure 6-1 The Symbol

June 2000 259 Product Version 4.4.6

Page 260: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Figure 6-2 The Symbol after Choosing Replace

After a Replace, only pin a is in the exact same position as the original pins. All otherunaffected pins are in new locations for the following reasons:

■ Pins ccc , dddd , and eeeee have moved up by one grid space, which was freed up bythe deletion of pin bb.

■ Although the ordering and number of pins along the top is similar to the original (with newpin ii replacing pin iii ), all four top pins have moved down by one-half a grid (due tothe shorter label).

■ Due to the length of new or deleted pin names, the graphic has been recalculated in sizeaccordingly.

June 2000 260 Product Version 4.4.6

Page 261: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Figure 6-3 The Symbol after Choosing Modify

The modified cellview has all of the unaffected pins {a ccc dddd eeeee f gg hhh k llmmm} at their original locations. The new pins {wwwwww, zz, ii} have been placed atthe bottom of the cellview, outside of the bounding box of the original symbol. The pin and pinnames {bb, iii} have been deleted, but the graphic pin line (pin stub) remains to showthe position of the pins that were deleted. If necessary, you can delete these graphic pin linesusing the symbol editor. Also shown is the note used to describe the changes that were madeto the symbol.

Automatically Creating a Cellview from a Pin List

A pin list can be any list of input, output, I/O, or switch pins. You can create a cellview fromexisting pins, such as those from the basicpin library, or you can create the cellview from newpin names.

June 2000 261 Product Version 4.4.6

Page 262: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

To create a symbol cellview from a pin list, do the following:

1. Choose Design – Create Cellview – From Pin List.

The Cellview From Pin List form appears.

2. Type the names of the pins that you want to appear in the automatically created cellview.Separate each pin name with a space.

By default, the software initializes the form with information about the cellview currentlyopen (the default cellview).

3. If you want to use a different cellview as the source of the port/pin information, changethe Library Name, Cell Name, and View Namefields.

Note: If either theView Namefield or the Tool / Data Typecyclic field does not contain thedesired view or conversion function, you must modify the schViewToPinListReglist or theschPinListToViewReglist, both of which are defined in your schConfig.il file.

June 2000 262 Product Version 4.4.6

Page 263: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

4. If you want the system to display the cellview in a new window, turn on the DisplayCellview button.

5. If you want to edit various cellview creation options, turn on Edit Options.

6. Click OK.

When generating a symbol, the Symbol Generation Options form appears if you turnedon Edit Options and the cellview is being newly created or replaced.

If the cellview already exists, a dialog box prompts you to either replace the cellview,modify it (symbol cellview only), or cancel the command.

The system generates the specified cellview from the pin information you enter on theform.

June 2000 263 Product Version 4.4.6

Page 264: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Automatically Creating a Cellview from an Instance

To create a cellview from an instance, do the following:

1. Choose Design – Create Cellview – From Instance.

2. Click on an instance in your design window.

The Cellview From Instance form appears.

3. Change the options on the form, if needed.

4. Click OK.

The system generates the specified cellview from the instance you selected. When youturn on Display Cellview, the system displays the cellview in a new window.

Editing Symbol Generation Options

The Symbol Generation Options form displays the property and attribute settings that thetext-to-symbol generator (TSG) uses to generate symbols. The software loads the defaultform settings from a template file, which you specify using the tsgTemplateTypeenvironment variable.

This section discusses the following tasks:

■ Adding, Changing, and Reordering Pin Names on page 265

■ Editing Pin Attributes on page 267

■ Loading and Saving a TSG Template File on page 271

June 2000 264 Product Version 4.4.6

Page 265: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

■ Editing Symbol Attributes on page 274

■ Editing Symbol Labels on page 275

■ Creating a New Label on page 278

■ Deleting Labels on page 280

■ Modifying Label Attributes on page 282

■ Editing Properties on page 285

■ Creating a New Property on page 286

■ Deleting Properties on page 288

■ Modifying Property Attributes on page 290

Adding, Changing, and Reordering Pin Names

To add, change, or reorder pin names, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

The Cellview From Cellview form appears.

2. Turn on Edit Options.

June 2000 265 Product Version 4.4.6

Page 266: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

June 2000 266 Product Version 4.4.6

Page 267: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

4. To space pins further apart, add one or more asterisk ( * ) in theLeft Pins, Right Pins, Top Pins, and Bottom Pins fields..

5. Click OK.

This setting results in the following:

Editing Pin Attributes

To edit the attributes of a pin, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

INPUTA

INPUTB

INPUTC

OUTPUTA

OUTPUTB

June 2000 267 Product Version 4.4.6

Page 268: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 268 Product Version 4.4.6

Page 269: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Select List from one of the Attributes cyclic fields.

The pin attributes form appears.

The banner title on the form indicates left, right, top, or bottom pin attributes.

5. Use the Direction cyclic fields to change the direction of the pins.

left pin attributes

June 2000 269 Product Version 4.4.6

Page 270: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

6. Use the Pin Graphic cyclic fields to change the graphic of the pin.

7. Click OK.

June 2000 270 Product Version 4.4.6

Page 271: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Loading and Saving a TSG Template File

The TSG template file contains the default property and attribute settings that appear on theSymbol Generation Options form. The software loads the TSG template file the first time youuse one of the Create Cellviewcommands to automatically generate a symbol. You use thetsgTemplateTypeenvironment variable to specify the TSG template file.

Use the Symbol Generation Options form to load a different TSG template file.

To load or save a TSG template file, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 271 Product Version 4.4.6

Page 272: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Load/Save.

June 2000 272 Product Version 4.4.6

Page 273: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Symbol Generation form expands to display the template data fields.

5. In the Load / Save Symbol Template Configurationsection, type the path to the TSG templatefile.

6. Click Load or Save.

The system initializes the Load / Save Symbol Template Configuration section of the formwith the values from the specified TSG file.

The software builds all subsequent symbols using the new values.

your_install_dir/tools/dfII/samples/symbolGen/

June 2000 273 Product Version 4.4.6

Page 274: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Editing Symbol Attributes

To edit symbol attributes, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 274 Product Version 4.4.6

Page 275: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Attributes.

The Symbol Generation Options form expands to display the symbol attributes options.

5. Edit the attributes.

6. Click OK.

Editing Symbol Labels

To edit symbol labels, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

June 2000 275 Product Version 4.4.6

Page 276: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 276 Product Version 4.4.6

Page 277: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Labels.

June 2000 277 Product Version 4.4.6

Page 278: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Symbol Generation Options form expands to display the label options.

5. Edit the symbol labels.

6. Click OK.

Creating a New Label

To create a new label, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

June 2000 278 Product Version 4.4.6

Page 279: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 279 Product Version 4.4.6

Page 280: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Labels.

The form expands to show data that can be edited.

5. In the Label cyclic field, choose new.

6. Choose the desired Label Choice and other options.

7. In the Name field, type the name of the new label.

8. In the Apply To field, specify which objects the label attaches to.

9. Click Add.

The new label name is added to the list of labels that will automatically be created duringsymbol generation.

Deleting Labels

To delete a symbol label from the Label cyclic field, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

June 2000 280 Product Version 4.4.6

Page 281: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 281 Product Version 4.4.6

Page 282: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Labels.

The form expands.

5. In the Label cyclic field, choose the name of the label you want to delete.

6. Click Delete.

The label name no longer appears in the Label cyclic field.

Modifying Label Attributes

To modify label attributes, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

June 2000 282 Product Version 4.4.6

Page 283: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 283 Product Version 4.4.6

Page 284: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Labels.

The form expands.

5. In the Label cyclic field, choose the name of the label you want to modify.

6. Make any desired changes to the various label display attributes or label location fields.

7. Click Modify.

The label is modified.

June 2000 284 Product Version 4.4.6

Page 285: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

Editing Properties

To modify edit properties, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 285 Product Version 4.4.6

Page 286: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Properties.

The form expands.

5. Edit any property.

6. Click OK.

Creating a New Property

To create a new property, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

June 2000 286 Product Version 4.4.6

Page 287: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 287 Product Version 4.4.6

Page 288: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Properties.

The form expands to show data that can be edited.

5. In the Property cyclic field, choose new.

6. In the Name field, type the name of the new label.

7. In the Apply To field, specify which objects the label attaches to.

8. Click Add.

The new property name is added to the list of properties that are automatically createdduring symbol generation.

Deleting Properties

To delete properties, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

June 2000 288 Product Version 4.4.6

Page 289: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 289 Product Version 4.4.6

Page 290: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Properties.

The form expands.

5. In the Properties cyclic field, choose the name of the property you want to delete.

6. Click Delete.

The property no longer appears in the Properties cyclic field.

Modifying Property Attributes

To modify property attributes, do the following:

1. Choose either Design – Create Cellview – From Cellviewor Design – Create Cellview – FromPin List.

June 2000 290 Product Version 4.4.6

Page 291: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

The Cellview From Cellview form appears.

2. Turn on Edit Options.

3. Click OK.

If the symbol you are creating already exists, you must replace it to get the SymbolGeneration Options form.

The Symbol Generation Options form appears.

June 2000 291 Product Version 4.4.6

Page 292: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

By default, the software initializes the form with information from the current cellview andthe Cellview From Cellview form.

4. Turn on Edit Properties.

The form expands.

5. In the Properties cyclic field, choose the property name you want to modify.

6. Make any desired changes to the various property display attributes or property locationfields.

7. Click Modify.

Specifying Symbol Generator Pin Sorting

Note: Pin sorting is valid only when you create a symbol from a schematic.

When the system creates symbols automatically, TSG sorts the pins either alphanumericallyby pin name (default) or geometrically according to the pin’s relative position in the sourceschematic view.

To specify how TSG sorts the pins, do the following:

1. Choose Design – Options – Editor.

The Editor Options form appears.

June 2000 292 Product Version 4.4.6

Page 293: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideAutomatically Creating Cellviews

2. In the Command Controls section of the form, set the Symbol Generator Pin Sorting optionto alphanumeric or geometric.

3. Click OK.

Automatic symbol generation now uses the specified pin sorting method.

You can change the default (alphanumeric to geometric) by editing the ssgSortPinsenvironment variable. The system uses this variable when you choose Design – Options– Save Defaults. It is also available as arguments to the schGetEnv and schSetEnvprocedural interface functions.

June 2000 293 Product Version 4.4.6

Page 294: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

7Editing Objects

This chapter discusses commands such as Copy, Move, Stretch, and Delete. The nextchapter discusses Edit Properties commands.

■ Using Direct Manipulation on page 295

❑ Direct Manipulation Operations on page 296

❑ Turning Off Direct Manipulation on page 297

■ Undoing and Redoing an Edit on page 297

❑ Changing the Undo Limit on page 297

■ Stretching on page 298

❑ Stretching with the Schematic Editor on page 299

❑ Stretching with the Symbol Editor on page 302

❑ Stretching with Direct Manipulation on page 304

❑ Stretching with Bindkeys on page 305

■ Copying on page 305

❑ Copying Single Objects on page 307

❑ Copying Arrays of Objects on page 308

❑ Copying Across Cellviews on page 309

❑ Copying with Direct Manipulation on page 310

❑ Copying with Bindkeys on page 311

■ Moving on page 311

❑ Moving Objects on page 311

❑ Moving with Direct Manipulation on page 312

June 2000 294 Product Version 4.4.6

Page 295: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

❑ Moving with Bindkeys on page 313

■ Deleting on page 313

❑ Deleting Preselected Objects on page 314

❑ Deleting Postselected Objects on page 314

❑ Deleting Sheet Borders on page 315

■ Rotating on page 315

❑ Rotating Preselected Objects on page 315

❑ Rotating Postselected Objects on page 316

❑ Rotating with Direct Manipulation on page 318

❑ Rotating with Bindkeys on page 318

■ Discarding Edits on page 318

■ Alternating Symbol Views on page 319

❑ Changing the View of a Preselected Object on page 319

❑ Changing the View of a Postselected Object on page 319

■ Toggling Objects on page 319

❑ Toggling Pin Direction Options on page 319

❑ Toggling Wire Draw Mode Options on page 320

❑ Toggling Instance Symbol View Options on page 320

Using Direct Manipulation

Direction manipulation is one of the quickest ways to edit an object. You use the mouse, ratherthan commands, to edit.

Note: When you use direct manipulation, you must place the pointer over an object or shape.

To directly manipulate an object, do the following:

1. Place the pointer over an object or shape.

2. Hold down the mouse button and the appropriate key to copy, move, stretch, or createan object.

June 2000 295 Product Version 4.4.6

Page 296: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

3. Drag the mouse.

You can use direct manipulation to

■ Copy an object or shape

■ Move an object or shape

■ Stretch an object or shape

■ Create a wire

Direct Manipulation Operations

The following table lists operations you can perform using direct manipulation.

Object Type Drag Shift-Drag Control-Drag

wires stretch copy move

wire vertex partial stretch add wire

instances stretch copy move

schematic pins stretch add wire move

schematic labels move copy move

note figures move copy move

edge of note figure stretch edge stretch edge

vertex of note figure stretch vertex stretch vertex

instance pins add wire add wire

instance labels move move

symbol pins move add line

symbol/note shapes move copy

symbol shape edge stretch edge stretch edge

symbol shape vertex stretch vertex stretch vertex

symbol/note labels move copy

June 2000 296 Product Version 4.4.6

Page 297: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Turning Off Direct Manipulation

To turn off direct manipulation, do the following:

1. Open the schBindKeys.il file located in theyour_install_dir /tools/dfII/samples/local directory.

2. Comment out schDirectEdit(1) , schDirectEdit(2) , andschDirectEdit(3) .

These three bindkeys are keyed to the three mouse buttons for direct manipulation.

3. Load the current session or add the Load command to the .cdsinit file for futuresessions.

Undoing and Redoing an Edit

To undo an edit, do the following:

➤ Choose Edit – Undo.

This command reverses the action of the previous edit command. You can undo, one ata time, the last 10 edit commands.

You can set the undo limit between 0 and 10 using theOptions – User Preferences command from the Command Interpreter Window (CIW).

Note: Commands that cause data to be saved to disk cannot be undone.

To cancel the previous undo commands, do the following:

➤ Choose Edit – Redo.

Changing the Undo Limit

To change the default undo limit of 1, do the following:

1. From the CIW, choose Options – User Preferences.

June 2000 297 Product Version 4.4.6

Page 298: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

The User Preferences form appears.

2. Move the Undo Limit slider to the limit you want.

3. Click OK.

Stretching

Use the Stretchcommand to reposition the placement of objects in your design without losingconnectivity between wires and pins.

■ Stretching works most easily when infix mode is turned on.

■ Direct manipulation is the easiest and fastest way to stretch objects or shapes.

■ The Stretch command does not stretch objects from one cellview to another.

■ Use extended selection to select an object (such as an instance, pin, or block) andassociated wires so you can stretch them all at once.

The Stretch command operates differently in the schematic editor and the symbol editor.

In the schematic editor, Stretch

■ Stretches selected objects and maintains connectivity by rerouting wires whennecessary

The Stretch command supports partially selected wire vertexes. The remainingnonselected vertexes are anchored in place.

June 2000 298 Product Version 4.4.6

Page 299: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

■ Moves wires while maintaining connectivity with the object attached to the wire

■ Moves a pin while maintaining connectivity with the wire that is attached to the pin

In the symbol editor, Stretch

■ Stretches an entire shape

Shapes move independently of one another. They do not need to maintain connectivity.

■ Stretches a partial shape (an edge or a vertex of a shape or an endpoint of a line)

Stretching with the Schematic Editor

To stretch an object using the schematic editor, do the following:

1. Choose Edit – Stretch.

2. Select the object you want to stretch.

The point used to select the object becomes the reference point.

3. Point at a reference point.

4. Move the mouse, then click a destination for the stretch.

5. To change Stretch command options, press F3.

The Stretch form appears.

June 2000 299 Product Version 4.4.6

Page 300: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Note: If you select objects other than instances, wires, or schematic pins, they move insteadof stretch.

The following sections describe using the Stretch command on various objects.

Stretching an Instance

The following diagram shows how to stretch an instance using the schematic editor defaultsettings.

To reroute wire segments, do the following:

➤ On the Stretch form, turn on Reroute Wire Segments Connected To Instance.

A Y

IO

inv

INPUTA OUTPUTABefore the stretch,showing a selectedinstance

A YIO

inv

INPUTA OUTPUTA

During the stretch process

A YIO

inv

INPUTA OUTPUTA

After stretching aninstance

June 2000 300 Product Version 4.4.6

Page 301: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

The following diagram illustrates stretching an instance named I1 .

When you set Reroute Wire Segments Connected To Instanceto off, the rubberband linesbegin at the wire (a).

When you set Reroute Wire Segments Connected To Instanceto on, the rubberband linesbegin at the pin (b).

I1

(b)

(a)

June 2000 301 Product Version 4.4.6

Page 302: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Stretching a Wire

The following diagram shows how to stretch a wire using the schematic editor default settings.

You can stretch a wire in any direction. The editor reroutes the wire and maintainsconnectivity. When you stretch a wire, all wire segments that are connected to another object(such as a pin) stretch.

Stretching with the Symbol Editor

To stretch an edge or a vertex of a shape or an endpoint of a line in the symbol editor, do thefollowing:

1. Choose Edit – Stretch.

2. Click once on an edge or a vertex of a shape or an endpoint of a line.

A Y

IO

inv

INPUTB

A Y

IO

inv

INPUTA OUTPUTA

A Y

IO

inv

A Y

IO

inv

INPUTA OUTPUTA

After the stretch process

During the stretch process

June 2000 302 Product Version 4.4.6

Page 303: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

3. Move the pointer to stretch the part you selected and point to a destination for the stretch.

4. To change Stretch command options, press F3.

The Stretch form in the symbol editor opens.

Note: If you select shapes other than lines, rectangles, polygons, circles, ellipses, or arcs,they move instead of stretch. Stretching is the equivalent of moving for pins, labels, and notes.Partially selected shapes stretch instead of move.

The following sections describe using the Stretch command on various objects.

Stretch

June 2000 303 Product Version 4.4.6

Page 304: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Stretching Edges, Vertexes, or Endpoints

The following diagram shows how to stretch partially selected objects in the symbol editor.

Stretching with Direct Manipulation

Direct manipulation is one of the quickest ways to edit an object.

To stretch an object using direct manipulation, do the following:

1. Click and hold the left mouse button over an object.

AfterBefore

The edge of a shape

The vertex of a shape

The endpoint of a line

June 2000 304 Product Version 4.4.6

Page 305: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

2. Drag and release the mouse button to complete the stretch.

Stretching with Bindkeys

To stretch an object using bindkeys, do the following:

1. Select the object to stretch.

2. Press m.

3. Click a destination for the stretch.

Copying

Use the Copy command to clone an object in your design.

The Copy command

■ Copies objects in the same cellview or another cellview

■ Copies arrays of objects

A YIO

inv

INPUT OUTPUT

A YIO

inv

INPUT OUTPUT

Before stretching aninstance

During the stretch process

After stretching an instanceA Y

IO

inv

INPUT OUTPUT

June 2000 305 Product Version 4.4.6

Page 306: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

■ Rotates an object or turns it upside down or sideways

■ Works best when infix mode is turned on

■ Works differently when pre- and postselecting an object before copying it

■ Works easiest and fastest using direct manipulation

June 2000 306 Product Version 4.4.6

Page 307: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Copying Single Objects

To copy an object, do the following:

1. Choose Edit – Copy.

2. Select the object you want to copy.

3. Click a destination for the copy.

4. To change Copy command options, press F3.

The Copy form appears.

June 2000 307 Product Version 4.4.6

Page 308: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Copying Arrays of Objects

To copy an array, do the following:

1. Choose Edit – Copy.

2. Select the object you want to copy as an array.

3. Press F3.

The Copy form appears.

4. Fill in the number of rows and columns for your array.

5. Click on multiple points to create the array.

June 2000 308 Product Version 4.4.6

Page 309: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Copying Across Cellviews

You can copy objects from one cellview to another. Copied objects remain attached to thecursor when you move the cursor into another window containing a schematic or symbolcellview. You can copy data from a read-only schematic to a schematic opened for edit.

To copy an object from one cellview to another, do the following:

1. Select the object to copy.

If Infix is off, you are prompted to first click a reference point for the copy.

2. Choose Edit – Copy.

3. Move the cursor to the destination cellview.

4. Click a location in the cellview for the copy.

June 2000 309 Product Version 4.4.6

Page 310: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Copying with Direct Manipulation

Direct manipulation is one of the quickest ways to copy an object.

To copy an object using direct manipulation, do the following:

1. Place the pointer over an object.

2. Press the Shift key, and click and drag the mouse.

When you release the mouse button, the original object is copied and placed.

A Y

IO

inv

INPUT OUTPUT

Before copying

A Y

I4

inv

INPUT OUTPUTA Y

IO

inv

INPUT OUTPUT

After copying

June 2000 310 Product Version 4.4.6

Page 311: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Copying with Bindkeys

To copy an object using bindkeys, do the following:

1. Select the object to copy.

2. Press c .

3. Click a destination for the copy.

Moving

Use the Movecommand to reposition objects in your design. Unlike the Stretchcommand, theMove command does not maintain connectivity of the selected objects. The Move command

■ Moves an object without maintaining connectivity

■ Rotates an object or turns it upside down or sideways

■ Works best when infix mode is turned on

■ Works differently when pre- and postselecting an object before moving it

■ Works easiest and fastest using direct manipulation

■ Moves selected objects between different schematic cellviews

You cannot move partially selected objects to a different cellview.

■ When you work with wires, note shapes, or device shapes (rectangles, polygons, circles,ellipses, and arcs), you can select a vertex, set of vertexes, or edges; when you workwith partially selected objects, only the selected vertexes move while the other vertexesor edges are anchored in place.

Moving Objects

To move an object, do the following:

1. Choose Edit – Move.

2. Select an object you want to move.

June 2000 311 Product Version 4.4.6

Page 312: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

3. Click a destination for the object.

4. To change Move command options, press F3.

The Move form appears.

After a move, all connectivity breaks between the selected object and the objects to which itwas connected.

If you want to maintain connectivity, use the Stretch command.

Moving with Direct Manipulation

Direct manipulation is one of the quickest ways to move an object.

To move an object using direct manipulation, do the following:

A Y

IO

inv

INPUT OUTPUTBefore moving

A Y

IO

inv

INPUT OUTPUT

After moving

June 2000 312 Product Version 4.4.6

Page 313: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

1. Place the pointer over an object.

2. Press the Control key, and click and drag the mouse.

You are now in the Movecommand. When you release the mouse button, the object is placed.

Moving with Bindkeys

To move an object using bindkeys, do the following:

1. Select the object to move.

2. Press Shift-m .

3. Click a destination for the move.

Deleting

When you use the Delete command, keep in mind the following:

■ You can select an object before you use the Delete command(preselection). When you preselect objects, the Deletecommand ends after the selectedobjects are deleted.

■ You can select an object after you use the Delete command (postselection). When youpostselect objects, press the Esc key to end the Delete command unless you want todelete another object. To be sure the Delete command is no longer active, check theprompt line at the bottom of the window in which the cellview is displayed.

A Y

IO

inv

INPUT OUTPUTBefore moving

A Y

IO

inv

INPUT OUTPUT

After moving

June 2000 313 Product Version 4.4.6

Page 314: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

■ You can recover an object that you deleted by mistake by choosing Edit – Undo.

■ You can delete an instance and the wires that connect to it by using extended selectionwith the Delete command.

You cannot use the Delete command to delete

■ Sheet borders

To remove sheet borders, use the Sheet – Edit Sizecommand.

■ Selected visible properties

To delete properties, use the Edit – Properties command.

Deleting Preselected Objects

If you prefer to select an object before you delete it, do the following:

1. Click on objects you want to delete.

2. Choose Edit – Delete.

The system removes the objects from your design.

Note: The Delete command always ends after it operates onpreselected objects.

You can also delete objects by pressing the Delete key.

Deleting Postselected Objects

If you prefer to use the Deletecommand first and then select the object you want to delete, dothe following:

1. Choose Edit – Delete.

2. Click on objects you want to delete.

Note: The Delete command remains active until you explicitly cancel it by pressing theEsc key or by starting another command.

You can also delete objects by pressing the Delete key.

June 2000 314 Product Version 4.4.6

Page 315: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Deleting Sheet Borders

To delete the sheet border from a schematic sheet, do the following:

1. Choose Sheet – Edit Size.

The Change Sheet Border Size form appears.

2. Set the Border Type to none.

3. Click OK.

Rotating

The Edit – Rotate command rotates objects counterclockwise, sideways, or upside down.

Rotating Preselected Objects

To rotate a preselected object, do the following:

1. Click on the object you want to rotate.

Change Sheet Border Size

Rotate turns objects 90 degrees.

Sideways flips objects from side toside.

Upside Down flips objects from topto bottom.

AB

A

A

A

B

B

B

AB

BA

AB B

A

June 2000 315 Product Version 4.4.6

Page 316: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

2. Choose Edit – Rotate.

3. Point at a reference point in the design and click.

The selected object rotates and the command terminates.

If you want to change how the software rotates objects, do the following:

1. Choose Edit – Rotate.

2. Press F3.

The Rotate form appears.

3. Change the option setting.

Rotating Postselected Objects

To rotate a postselected object, do the following:

1. Choose Edit – Rotate.

2. Click on an object.

If you want to change how the software rotates objects, do the following:

1. Choose Edit – Rotate.

2. Press the F3 key.

June 2000 316 Product Version 4.4.6

Page 317: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

The Rotate form appears.

3. Change the option setting.

June 2000 317 Product Version 4.4.6

Page 318: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Rotating with Direct Manipulation

To rotate objects while in the Move, Copy, Stretch, Add – Instance, Add – Pin, Add – Wire, Add –Note Text, or Add – Labelcommand, do the following:

➤ Click the right mouse button.

Rotating with Bindkeys

To rotate or mirror (turn upside down or sideways) an object while in the Move, Copy, Stretch,Add – Instance, Add – Pin, Add – Wire, Add – Note Text, or Add – Labelcommand, do the following:

1. Select an object.

2. Press one of the following:

r , to rotate 90 degrees counterclockwise

Shift-r , to rotate sideways

Control-r , to flip upside down

Discarding Edits

To discard edits you made since the last save, do the following:

1. Choose Design – Discard Edits.

The following dialog box appears.

2. Click Yesor No.

Discard Edits

June 2000 318 Product Version 4.4.6

Page 319: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

If you click Yes, the edits are discarded and the last version saved appears. If you clickNo, the edits are retained.

Alternating Symbol Views

When you create a schematic, you might find it convenient for a particular library cell to havemore than one symbol representation. These different symbols might represent deMorganequivalents or adhere to different drafting standards.

Use the Edit – Alternate View command to switch between the different symbolrepresentations.

Changing the View of a Preselected Object

To change symbol views for a preselected object, do the following:

➤ Choose Edit – Alternate View.

Changing the View of a Postselected Object

To view symbol views for a postselected object, do the following:

1. Choose Edit – Alternate View.

2. Click an object in the schematic.

Continue clicking on the object to view all the alternative views. After displaying the lastview, the command redisplays the first view.

Toggling Objects

Use bindkeys to toggle an object while in the Add – Pinor Add – Wire command.

Toggling Pin Direction Options

To toggle the direction of a pin (for example, from input to inputOutput ), do the following:

1. Choose Add – Pin.

June 2000 319 Product Version 4.4.6

Page 320: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

2. Press the Shift key and click right to cycle through the options.

Toggling Wire Draw Mode Options

When you add a wire to your design, the editor draws the wire segment using a draw modethat you specify on the Add Wire form. Use your mouse to cycle through the possible drawmodes (shown below) to specify another mode.

To toggle the draw mode, do the following:

1. Choose Add – Wire.

2. Use the right-mouse button to toggle through the draw modes.

The wire will change form as you change the draw mode.

3. Click to indicate the first data point of the wire.

4. Move the cursor to the second point of the wire and click right.

Toggling Instance Symbol View Options

To toggle instance symbol views (for example, from a nand2 symbol view to a nand2symbolNeg view), do the following:

1. Choose Add – Instance.

2. Press the Shift key and click right to cycle through the options.

June 2000 320 Product Version 4.4.6

Page 321: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Editing the Display Configuration of a Component

This section describes the following topics:

■ Changing the Display Configuration of Instance IL Labels on page 321

■ Saving the Current Label Display File on page 323

■ Loading the Current Label Display File on page 323

■ Attaching the Label Display File to the Library on page 325

■ Detaching the Label Display File from the Library on page 325

■ Setting the Simulation Data Directory on page 327

Changing the Display Configuration of Instance IL Labels

You can edit the display configuration of instance IL labels (cdsName, cdsTerm , andcdsParam ) that you created using the Add – Label command from the symbol editor or fromthe instances supplied with the Affirma™ analog circuit designer.

IL labels are evaluated when an instance of a symbol containing the IL label is instantiated ina schematic.

To change the display configuration of instance IL labels (cdsName, cdsTerm , andcdsParam ), do the following:

1. Choose Edit – Component Display.

2. Point to an instance label in your design.

June 2000 321 Product Version 4.4.6

Page 322: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

The system checks the design for errors. The Edit Component Display form appears andexpands giving you options for the label you selected.

3. In the Select Label field, click the type of label you want to edit.

The Edit Component Display form expands, giving you options for the label you selected.

4. In the Apply Tofield, click library, cell, and/or instance, to which to apply the label displayconfiguration.

5. Click OK.

June 2000 322 Product Version 4.4.6

Page 323: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

For more details about annotating the schematic with label information, refer to the sectionon annotating schematics in the Affirma Analog Circuit Design Environment User Guide.

Saving the Current Label Display File

To save the current label display, do the following:

1. From the Edit Component Display form, click Save.

The Save Label Display form appears.

2. If applicable, change the name of the file in which to save your label display configuration.

3. Click OK.

Loading the Current Label Display File

To load the current state of the label display, do the following:

June 2000 323 Product Version 4.4.6

Page 324: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

1. From the Edit Component Display form, click Load.

The Load Label Display form appears.

2. If applicable, change the name of the file from which to load your previously saved labeldisplay configuration.

3. Click OK.

June 2000 324 Product Version 4.4.6

Page 325: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Attaching the Label Display File to the Library

You can save the current label display configuration to a temporary file and attach the file tothe library. You can then load the file automatically when you open the library.

To save the current label display configuration, do the following:

1. From the Edit Component Display form, click Attach.

2. Click OK.

The system saves the current label display configuration to a temporary file and attachesthe file to the library so that it loads automatically when you open the library.

The CIW displays a message saying that the system attached the current label displayto the library.

Detaching the Label Display File from the Library

To remove the attached label display configuration from the library, do the following:

June 2000 325 Product Version 4.4.6

Page 326: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

1. From the Edit Component Display form, click Detach.

2. Click OK.

The system removes the attached label display configuration from the library.

The CIW displays a message saying that the system detached the current label displayfile from the library or that there was no label display file to remove from the library.

June 2000 326 Product Version 4.4.6

Page 327: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Objects

Setting the Simulation Data Directory

To set the simulation data directory, do the following:

1. From the Edit Component Display form, click Set Simulation Data Directory.

The Set Label Display Simulation Data Directory form appears.

2. Type the name of the simulation data directory.

3. Click OK.

June 2000 327 Product Version 4.4.6

Page 328: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

8Editing Properties

This chapter describes how to find and edit object properties.

■ Searching for Objects That Have a Specific Property on page 330

❑ Search String Wildcards on page 332

■ Replacing Properties on page 332

❑ Replacing String-Tagged Characters on page 334

❑ Selecting Objects Automatically by Type on page 339

❑ Selecting Objects by Property on page 341

❑ Adding a Property Name to the Search List on page 343

■ Selecting Objects by Filtering on page 344

■ Object and Cellview Property Types and Values on page 345

■ Editing Object Properties on page 347

❑ Applying Edits to Objects and Displaying Object Types on page 348

❑ Adding Object Properties on page 349

❑ Deleting Object Properties on page 350

❑ Modifying Object Properties on page 350

■ Editing Specific Object Properties on page 352

❑ Editing Instance and Block Properties on page 353

❑ Editing Pin Properties on page 355

❑ Designating the Order of Pins on page 355

❑ Copying a Pin Order from Another Cellview on page 356

❑ Resolving Pin Order Mismatch on page 357

June 2000 328 Product Version 4.4.6

Page 329: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

❑ Verifying Pin Order on page 357

❑ Editing Pin Name Properties on page 358

❑ Editing Wire Properties on page 359

❑ Editing Wire Name Properties on page 360

❑ Editing Instance Pin Properties on an Instance of a Block on page 361

❑ Editing Label Properties on page 362

❑ Resetting Invisible Labels on page 363

❑ Editing netSet Properties on page 364

❑ Editing Note Text Properties on page 364

❑ Editing Note Shape Properties on page 367

❑ Editing Symbol Shape Properties on page 369

❑ Editing Symbol Pin Properties on page 370

❑ Editing Symbol Label Properties on page 371

❑ Editing Symbol Selection Box Properties on page 372

❑ Editing User-Defined Object Properties on page 373

■ Editing Cellview Properties on page 374

❑ Adding Cellview Properties on page 375

❑ Deleting Cellview Properties on page 377

❑ Modifying Cellview Properties on page 377

❑ Editing VHDL Properties on page 378

❑ Adding VHDL Properties on page 380

❑ Deleting VHDL Properties on page 381

❑ Modifying VHDL Properties on page 382

■ Setting the Parameter Filter on page 382

June 2000 329 Product Version 4.4.6

Page 330: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Searching for Objects That Have a Specific Property

Use the Edit – Search – Findcommand to find objects that have a property that matches yourspecific search criteria.

To find objects that have a specific property, do the following:

1. Choose Edit – Search – Find.

The Find form appears. The title bar reflects the editor name.

2. In the Search For cyclic field, choose the specific property to search for.

When you set the Search Forcyclic field to other, the Add New Property to Find/Replaceform appears. When you click OK, the new name appears in the cyclic field on the Findform.

3. Specify the value of the property in the text entry field on the Find form.

June 2000 330 Product Version 4.4.6

Page 331: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The asterisk ( * ) matches zero or more occurrences of any characters.

4. Click Apply.

Whena match exists,

❑ A message reports the number of matching properties.

❑ All the properties that match the criteria specified on the Find form are added to alist. To display the list of matches, click the List All button.

❑ The software highlights the first matching object

If no match exists, a dialog box confirms no objects were found.

5. Click Next.

In the editor window, the software highlights the next matching object.

6. To end the command, click Cancel or close the form window.

June 2000 331 Product Version 4.4.6

Page 332: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Search String Wildcards

Wildcards help you replace properties easily using partial string substitution. You can use oneor more wildcards or tagged fields in the search and replace fields on the Replace form.

The system counts each occurrence of an “ * ”, “ . ” or “[c..] ” as one single wildcard, exceptwhen the “ . ” and “ * ” appear together, in that order. In this case, the system counts the twotogether as one wildcard only.

Replacing Properties

Use the Edit – Search – Replacecommand to find objects that have a property that matches thesearch criteria you specify on the Replace form. You can then replace the property or thevalue with another property or value, which you also specify on the Replace form.

Note: You must have write access to the cellview that contains the property you search forand the cellview that contains the replacement property.

To find and replace properties, do the following:

1. Choose Edit – Search – Replace.

Search StringWildcards Description

* (asterisk) Matches zero or more occurrences of any characters

. (period) Matches any character

[c..] Matches one of the characters in the set

\ (backslash) Causes the character following it to be treated normally, if it is { or* or \ . Use \\ for a normal \ .Referred to as the escape character.

June 2000 332 Product Version 4.4.6

Page 333: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Replace form appears. The title bar reflects the editor name.

2. In the Search For cyclic field, chose the specific property to search for.

When you set the Search Forcyclic field to other, the Add New Property to Find/Replaceform appears. When you click OK, the new name appears in the cyclic field on the Findform.

3. Check the object filter to make sure the property is selectable.

4. Click Apply.

If a match exists, a message reports the number of matching properties. If no matchexists, a dialog box confirms no objects were found.

5. On the Replace form, do one of the following:

❑ Click ReplaceAllto replace all property names and values in the list with the newproperty names and property values.

June 2000 333 Product Version 4.4.6

Page 334: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

❑ Use the Replaceand Skip buttons to view individual matches and apply thereplacement property name and value as desired.

Replacing String-Tagged Characters

In the Virtuoso® schematic composer, you can use partial strings and wildcards in search-and-replace statements. The table below and the following examples describe the process.

Example 1

If you have instances I0 , I1 , I2 , . . . . I10 , and you want to replace them with M1, M2, . . . .M10, enter the following:

Search: I*

Replace: M* or M{1}

Example 2

You can specify the tagged fields in any order in the replace string. If you want to swap thestart and end values for all buses with prefix ABC, enter the following:

Search: ABC<*:*>

ReplaceString-TaggedCharacters

Description

{n} Interprets n as an integer from 1 to 9. Tagged fields correspond to “ * ”or “ . ” or “[c..] ” or “ .* ” in the search string. The first ninewildcards in the search pattern are tagged. If a tagged field that is usedin the replace string does not exist, it is replaced by a NULL string.

*nth “*” Interpreted as {n} , n ranging from 1 to 9. If more than nine wildcardsexist in the search string and more than nine * ’s in the replace string,the system substitutes the first nine * ’s in the replace string with thecorresponding nine tagged fields from the search string. The remaining* ’s in the replace string are substituted with a NULL string.

\ (backslash) Causes the character following it to be treated normally, if it is { or * or\ . Use \\ for a normal \ . Referred to as the escape character.

June 2000 334 Product Version 4.4.6

Page 335: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Replace: ABC<{2}:{1}>

The {2} tag in the replace string corresponds to the characters represented by the secondasterisk in the search string, while {1} corresponds to the characters represented by the firstasterisk in the search string.

Example 3

In all buses with prefix ABC, keep the start value the same but change the end value to 20.

Search: ABC<*:*>

Replace: ABC<{1}:20> or ABC<*:20>

The {1} tag or * in the replace string corresponds to the characters represented by the firstasterisk in the search string.

Example 4

Search for CLK, CLK_, CLK_IN and replace with CLOCK, CLOCK_, CLOCK_IN.

Search: CLK*

Replace: CLOCK{1} or CLOCK*

The {1} tag or * in the replace string corresponds to the characters represented by theasterisk in the search string.

Example 5

You can use any combination of wildcards in the search string. To search for net namesA1B1C1, A2B2C2, and so forth, and replace them with P1Q1R1, P2Q2R2, and so forth, youcan enter any one of the following:

Search: A[0-9]B[0-9]C[0-9] orA.B.C. orA*B*C* orA[0-9]B.C. orA.B[0-9]C[0-9] orA*B.C. orA.B*C*

Replace: P{1}Q{2}R{3} orP*Q*R*

June 2000 335 Product Version 4.4.6

Page 336: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Example 6

A tagged field can appear any number of times in the replace string. If you want to replaceAfooB and AblahB by PfoofooQ and blahblahQ respectively, enter the following:

Search: A*B

Replace: P{1}{1}Q

Example 7

If the wildcards appear together in a sequence in the search string, each corresponds to adifferent tag except when a “ . ” and “ * ” appear together, in that order. In this case, thewildcards are treated together as one tag.

If you want to search for a string AxyzB and replace it with CxyzD, enter the following:

Search: A.[x-z]*B

Replace: C*D

The result is CxDand not CxyzD because the “ * ” in the replace string is interpreted as thefirst tagged field, which is the wildcard “ . ”. To achieve the desired result, you can use C***Dor C{1}{2}{3} as the replace string, or use A*B as the search string.

However, suppose you enter the following:

Search: A.*[x-z]B

Replace: C*D

The result is CxyD, because the “ * ” in the replace string is interpreted as the first taggedfield in the search string, which is the sequence “ .* ”.

To achieve the desired result, enter the following:

Search: A*B

Replace: C**D or C{1}{2}

Example 8

The character \ can be used to escape wildcard characters in the search-and-replace strings.If you want to replace A.B by A*B, enter the following:

Search: A*B or A.B

June 2000 336 Product Version 4.4.6

Page 337: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Replace: A\*B

The \ before “ * ” in the replace string indicates that the asterisk be treated as a literal andnot as a wildcard.

If you had an array A[1] , A[2] , A[3] … A[n] and you wanted to replace all square bracketsby curly braces, enter the following:

Search: A\[*] or A\[[0-9]]

Replace: A\{{1}} or A\{*}

The \ before the first { in the replace string means treat the { as a literal and not as a taggedfield.

If you want to replace ABC by A\B\C , enter the following:

Search: A[A-Z][A-Z]

Replace: A\\*\\* or A\\{1}\\{2}

Use \\ for each \ that you want to be treated as a normal character. The asterisk followingthe second backslash in the replace pattern is treated as a wildcard. If the replace string isA\\\*\\\* instead, then the result is A\*\* .

Example 9

If the search string does not have a wildcard character and the replace string does, asubstitution is not achieved. Suppose you had

Search: A1

Replace: P* or P{1}

In this case, the “ * ” and {1} in the replace string are treated as normal characters and notas wildcards.

Example 10

If you had more than nine wildcards in the search-and-replace strings, only the first nine inthe replace string can be substituted correctly. The rest are substituted with empty strings.Suppose you want to search for a string A1B2C3D4E5F6G7H8I9JKL byP1Q2R3S4T5U6V7W8X9YKZ:

Search: A*B*C*D*E*F*G*H*I*J*L

June 2000 337 Product Version 4.4.6

Page 338: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Replace: P*Q*R*S*T*U*V*W*X*Y*Z

The result is P1Q2R3S4T5U6V7W8X9YZ. The last “ * ” in the replace string gets substitutedby an empty string and not the substring corresponding to the last“ * ” in the search string.

June 2000 338 Product Version 4.4.6

Page 339: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Selecting Objects Automatically by Type

You can set the software to select all the objects of one or more object types automatically.For example, you might want to select all the pins in your design.

To select all the objects of one or more object types, do the following:

1. Choose Edit – Select – All.

If you are in the schematic editor, the Schematic Select All form appears.

June 2000 339 Product Version 4.4.6

Page 340: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

If you are in the symbol editor, the Symbol Select All form appears.

2. On the form, specify the object types you want to select.

The option none turns off all object types.

3. Click OK.

The software highlights the specified objects in the design window.

Note: This command does not modify the selection filter settings that you set using Options– Select – Filter.

Symbol Select All

June 2000 340 Product Version 4.4.6

Page 341: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Selecting Objects by Property

You can limit the selection set by specifying that the software select only those objects withcertain property values.

To limit a selection set to object types with certain property values, do the following:

1. Choose Edit – Select – By Property.

If you are in the schematic editor, the Schematic Select By Property form appears.

If you are in the symbol editor, the Symbol Select By Property form appears.

2. In the Find fields, specify the property name, relational operator, and property value.

You usually look for objects that have a particular property value. You can also use therelational operator cyclic field to control which objects are selected.

3. Click Show Object Filter to make sure the object type is selectable.

June 2000 341 Product Version 4.4.6

Page 342: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

4. Click OK.

The software highlights the specified objects in the design window.

June 2000 342 Product Version 4.4.6

Page 343: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Adding a Property Name to the Search List

In either the schematic or the symbol editor, you can add a property name to the search listusing the following procedure.

1. Choose Edit – Select – By Property.

The Schematic or Symbol Select By Property form appears.

2. In the Find cyclic field, choose other.

The Add New Property for Search form appears.

3. In the Property Namefield, type the property name that you want to add to the search list.

4. Click OK.

The new property name appears in the Find cyclic field on the Schematic or SymbolSelect By Property form.

Add New Property for Search

June 2000 343 Product Version 4.4.6

Page 344: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Selecting Objects by Filtering

The Selection Filter form lets you specify which object types you can select manually forediting. This is especially useful when you have many object types, or overlapping objecttypes, in a small area of your design.

For example, if you want to work exclusively with pins, you can turn on selection capabilitiesfor pins only. As a result, if you click on another type of object that is near a pin, the otherobject is not selected.

To specify the objects you want to filter for selection, do the following:

1. Choose Options – Select Filter.

If you are in the symbol editor, the Symbol Selection Filter form appears.

June 2000 344 Product Version 4.4.6

Page 345: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

If you are in the schematic editor, the Schematic Selection Filter form appears.

2. In the Symbol (or Schematic) Objects section, specify the object types you want to selectfor editing.

The option none turns off all object types.

3. Click OK.

Object and Cellview Property Types and Values

The following table lists and describes each property type that appears in the Type cyclic fieldon the Add Property, Delete Property, or Modify Property subform.

Property Type Description

int Integer

float Floating-point number, such as 5.32e3

string Character string

boolean TRUE, true, t, yes, FALSE, false, nil, or no

ILExpr SKILL expression

June 2000 345 Product Version 4.4.6

Page 346: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Object and cellview property values must correspond to the property type shown in the Typecyclic field; for example,

■ If you use an integer type for a rise time property, you can type 10 for 10 nanoseconds.

■ If you select int or float for the property type, you can type a minimum and maximumvalue to define a range.

■ The minimum and maximum values must be valid for the int or float type. The value canbe 0 or any positive or negative number. You can also specify infinity (no limit over 0), -infinity (no limit under 0), or leave the value blank to reflect no limit on the value.

■ If you select string for the property type, you can specify a list of valid strings separatedby spaces.

■ The individual word specified represents the only possible values for this property. If theChoice field is left blank, any string is valid.

■ If you select time for the property type, use the following format:

mmm dd hh:mm:ss yyyy

where

mmm is the month, such as Jan

dd is the day of the month, from 01 to 31

hh is the hour from 00 to 23

mm is the number of minutes from 00 to 59

ss is the number of seconds from 00 to 59

yyyy is the year, such as 2000

For example, to set the valid time for July 26, 2000, 7:23 a.m., type

Jul 26 07:23:00 2000

ILList SKILL list

NLPExpr Expression evaluated by the netlister substitution language

fileName Name of a file

time Time and date

hierProp No value

Property Type Description

June 2000 346 Product Version 4.4.6

Page 347: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Object Properties

Properties describe specific characteristics of a design object, such as values of wires andpins. You can add, delete, or modify properties.

This section provides information about the following:

■ Applying Edits to Objects and Displaying Object Types on page 348

■ Adding Object Properties on page 349

■ Deleting Object Properties on page 350

■ Modifying Object Properties on page 350

June 2000 347 Product Version 4.4.6

Page 348: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Applying Edits to Objects and Displaying Object Types

To change properties of specific objects, do the following:

1. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

2. Set the Apply To options.

The Apply Tooption consists of up to three cyclic fields that you use to specify the groupof objects whose properties you want to edit.

A current object exists when you select multiple objects in a selected set. The currentobject is highlighted in a color different from the selection highlight.

When you configure the Apply To cyclic fields to apply changes to multiple objects, thesystem highlights all affected objects (other than the current object) in a different color.

3. To display the types of properties and attributes that you can edit, set the Show options.

The Show options let you view and edit properties:

❑ Select system to display the Cadence® properties

❑ Select user to display the properties that you create

❑ Select CDF to display predefined properties in Component Description Format(CDF)

4. Select the object in your design to view its properties.

The Edit Object Properties form expands.

June 2000 348 Product Version 4.4.6

Page 349: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Adding Object Properties

To add properties to an object, do the following:

1. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

2. Select an object in your design to which you want to add a property.

3. In the Edit Object Properties form, click Add.

The Add Property form appears.

4. Type the name of the property you want to add and the value of the property.

5. Click OK to add the properties to the Edit Object Properties form.

6. On the Edit Object Properties form, click OK to add the properties to the database object.

June 2000 349 Product Version 4.4.6

Page 350: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Deleting Object Properties

To delete object properties, do the following:

1. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

2. Select an object in your design that has a property you want to delete.

3. In the Edit Object Properties form, click Delete.

The Delete Property form appears.

4. From the list box, select the property that you want to delete.

You can press Shift and click to select multiple properties.

5. Click OK to delete the properties from the Edit Object Properties form.

6. Click OK on the Edit Object Properties form to delete the properties from the databaseobject.

Modifying Object Properties

To modify object properties, do the following:

June 2000 350 Product Version 4.4.6

Page 351: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

1. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

2. Select an object in your design that has a property you want to modify.

3. In the Edit Object Properties form, click Modify.

The Modify Property form appears.

4. From the list box, select the property that you want to modify.

5. On the Modify Property form, click OK to modify the properties on the Edit ObjectProperties form.

6. On the Edit Object Properties form, click OK to modify the properties on the databaseobject.

June 2000 351 Product Version 4.4.6

Page 352: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Specific Object Properties

Before you can edit object properties, you must be in edit mode. You can edit objectproperties that describe the following objects:

You can also edit

Caution

To avoid confusion when text, labels, or names actually containunderscore characters, Cadence does not recommend that you enablethe Overbar display option. It is provided only for backward compatibilitywith prior releases.

Instances and blocks Note text

Pins Note shapes

Pin names Symbol shapes

Wires Symbol pins

Wire names Symbol labels

Instance pins Symbol selection box

Labels Net expressions

System properties Cellview properties

User-defined properties VHDL properties

CDF properties Analog Artist Simulator properties

June 2000 352 Product Version 4.4.6

Page 353: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Instance and Block Properties

To edit instance and block properties and their parameters and values, do the following:

1. Click an instance or block in your design that has a property you want to edit.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

If you clicked on an instance in your design,

❑ The Magnification and Origin fields appear when you enable the Show system field

❑ The Display cyclic field controls whether the value of a property appears in yourschematic

If you clicked on a block in your design,

❑ The Magnification, Origin, and FreezePinCreate fields appear when you enable theShow system field

Edit Object Properties

June 2000 353 Product Version 4.4.6

Page 354: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

To automatically add a pin when you add a wire to a block, turn onFreezePinCreate.

You can change the direction and name of a block pin when you enable the Showsystem button.

3. Click OK.

June 2000 354 Product Version 4.4.6

Page 355: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Pin Properties

To edit pin properties and their parameters and values, do the following:

1. Click a pin in your design that has a property you want to edit.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Change the Direction or Usage cyclic values of the pin.

4. Click OK.

Designating the Order of Pins

A pin order property is often required for netlisting. You can update or swap the pin ordereither manually or by copying.

Note: CDLOUT, Verilog-XL Integration, and VHDL Integration support the portOrderproperty.

To manually redefine the logical pin ordering for netlisting, do the following:

1. Choose Edit – Properties – Pin Order.

Edit Object Properties

June 2000 355 Product Version 4.4.6

Page 356: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Edit Pin Order form appears.

2. Select a pin name by clicking on it in the list box.

3. Click one of the move buttons to move the selected pin name up or down in the list

4. Click OK.

Copying a Pin Order from Another Cellview

To copy a pin order from another cellview, do the following:

1. Choose Edit – Properties – Pin Order.

The Edit Pin Order form appears.

2. Select a pin name by clicking on it in the list box.

June 2000 356 Product Version 4.4.6

Page 357: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

3. Choose a view name from which to copy the pin order from the available choices on theform.

4. Click Copy From.

5. Click OK.

The pin order in the view list window changes to match the selected view.

Resolving Pin Order Mismatch

If the pin ordering you want to copy is out of order with the existing pin ordering, the Port (Pin)Order Mismatch form appears.

The following figure shows an Order Mismatch form for a pin ordering in a functional cellviewthat is out of order with the current pin order.

Verifying Pin Order

To verify pin order validity of your most recently defined pin ordering, do the following:

➤ Choose Design – Check and Save.

If you added, deleted, or renamed pins since you last defined the logical pin ordering, thiscommand opens the Edit Pin Order form so you can verify or redefine the new pin ordering.

The following views of "test1/sheet001" are out of syncwith "test1/sheet001" schematic port order.

Port Order Mismatch

View State Action

functional Ports are out of order Requires Manual Update

The view name that isout of order

The reason the view isout of order

The action you can take toresolve the mismatch

June 2000 357 Product Version 4.4.6

Page 358: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Pin Name Properties

To edit pin name properties and pin name parameters and values, do the following:

1. Click a pin in your design.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Change the Height, Font, or Justification fields.

4. Click OK.

Edit Object Properties

June 2000 358 Product Version 4.4.6

Page 359: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Wire Properties

To edit the width of a wire, do the following:

1. Click a wire in your design.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Edit the width value of the wire.

4. Click OK.

Edit Object Properties

June 2000 359 Product Version 4.4.6

Page 360: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Wire Name Properties

To edit wire name properties and wire name parameters and values, do the following:

1. Click a wire name in your design.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Change the Height, Font, or Justification fields.

4. Click OK.

Edit Object Properties

June 2000 360 Product Version 4.4.6

Page 361: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Instance Pin Properties on an Instance of a Block

To edit instance pin properties on an instance of a block, do the following:

1. Click an instance pin in your design.

You can edit only instance pin properties on an instance of a block.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Click Add, Delete, or Modify.

4. Edit the form that appears.

5. Click OK on both forms.

Edit Object Properties

June 2000 361 Product Version 4.4.6

Page 362: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Label Properties

To edit label properties and label parameters and values, do the following:

1. Click a label in your design whose properties you want to edit.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Change the Height, Font, or Justification fields.

4. Click OK.

Edit Object Properties

June 2000 362 Product Version 4.4.6

Page 363: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Resetting Invisible Labels

If you turned off label display on the Edit Object Properties form while editing a label, you cando the following:

■ Manually reset (make visible) individual labels

■ Automatically reset all invisible labels

To manually reset individual labels, do the following:

1. Choose Edit – Select – Filter.

Make sure the labels are selectable.

2. Choose Edit – Reset Invisible Labels.

All the invisible labels appear as blinking highlighted objects.

All the visible labels appear as nonblinking highlighted objects.

3. Click each of the blinking highlighted labels that you want to make visible.

When you select a label, it remains highlighted but stops blinking, indicating it will remainvisible when you quit the command.

When you click again on a label to deselect it, it starts blinking again, indicating it willremain invisible when you quit the command.

4. Press the Esc key to end the command.

The selected labels remain visible in your design.

To automatically reset all invisible labels, do the following:

1. Choose Edit – Reset Invisible Labels.

All invisible labels appear as blinking highlighted objects.

2. Press the F3 key.

June 2000 363 Product Version 4.4.6

Page 364: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Reset Invisible Labels form appears.

3. Turn on visible.

All the invisible labels remain highlighted but stop blinking.

4. Click Hide to close the Reset Invisible Labels form.

5. Press the Esc key to end the command.

The selected labels remain visible in your design, regardless of the Selection Filtersettings.

Editing netSet Properties

Refer to Adding and Editing Net Expression Labels on page 164 and Adding and EditingnetSet Properties on page 172 for information about the netSet property.

Editing Note Text Properties

To edit text of a note after you add it to your design, do the following:

1. Select the note text in your design.

2. Choose Edit – Properties – Objects.

Reset Invisible Labels

June 2000 364 Product Version 4.4.6

Page 365: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Edit Object Properties form appears and displays text in the Note Text field.

3. Make your changes using the keystrokes on the following table.

4. Click OK.

Keystrokes Used with Note Text

In the multiline text field, you can

■ Add text

■ Select text

■ Cut and paste text

■ Move the cursor to the beginning or end of the line

Edit Object Properties

You can type a note to document your design. You can also readin (or import)an ASCII file from disk.

June 2000 365 Product Version 4.4.6

Page 366: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

■ Delete text

Editing Commands Key Sequences

Adding text

Adds a new line Return , Shift-Return ,Control-j , Control-Return , or Control-m

Inserts an ASCII tab character Control-Tab or Control-i

Cancels the Add Note Text form Control-c

Selecting text

Places cursor Left mouse button

Selects by dragging mouse Drag left mouse button

Selects a word Double click

Selects a line Three clicks

Selects all text Four clicks

Deselects all selected text Click in open area

Cutting and pasting text

Pastes selected text at pointer location Middle mouse button

Moves cursor without deselecting text Control- left mouse button

Moving the cursor

Moves forward one character (right arrow)

Moves backward one character (left arrow)

Moves forward one word Control (right arrow)

Moves backward one word Control (left arrow)

Moves up one line (up arrow)

Moves down one line (down arrow)

Moves backward one character Control-b

Moves forward one character Control-f

Moves to end of line Control-e

June 2000 366 Product Version 4.4.6

Page 367: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Note Shape Properties

To change the line property of a note shape from a solid line to a dashed line or to repositiona note shape using coordinates, do the following:

1. Click a note shape in your design.

2. Choose Edit – Properties – Objects.

Moves to beginning of line Control-a

Moves the cursor forward to thenext form field

Tab

Deleting text

Deletes selected text Delete

Deletes selected text Backspace

Deletes previous character Control-h

Deletes previous character Backspace

Deletes previous character Delete

Deletes next character Control-d

Deletes previous word Meta-Backspace

Deletes previous character Shift-Backspace

Deletes previous word Meta-h

Deletes next word Meta-Del

Deletes to start of line Control-u

Deletes to end of line Control-k

Editing Commands Key Sequences

June 2000 367 Product Version 4.4.6

Page 368: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Edit Object Properties form appears.

3. Change Line Style or the position of the note shape.

4. Click OK.

You can also use the Move or Stretch commands for repositioning.

June 2000 368 Product Version 4.4.6

Page 369: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Symbol Shape Properties

To change the width property of a symbol shape from narrow to wide or to reposition a symbolshape using coordinates, do the following:

1. Click a symbol shape in your design.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears. The form appearance changes to show allproperties for the type of object selected.

3. Change Width or the position of the symbol shape.

4. Click OK.

You can also use the Move or Stretch commands for repositioning.

Edit Object Properties

June 2000 369 Product Version 4.4.6

Page 370: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Symbol Pin Properties

To edit symbol pin properties and symbol pin parameters and values, do the following:

1. Click a symbol pin in your design.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears. The form appearance changes to show allproperties for the type of object selected.

3. Change the Direction cyclic field of the symbol pin.

4. Click OK.

Edit Object Properties

June 2000 370 Product Version 4.4.6

Page 371: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Symbol Label Properties

To edit symbol label properties and symbol label parameters and values, do the following:

1. Click a symbol label in your design.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears. The form appearance changes to show allproperties for the type of object selected.

3. Change the properties of the label and click OK.

Edit Object Properties

June 2000 371 Product Version 4.4.6

Page 372: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing Symbol Selection Box Properties

To change the position of the selection box, do the following:

1. Click the selection box using the symbol editor.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears.

3. Change the position of the selection box by editing the coordinates.

You can also use the Move or Stretch commands for repositioning.

4. Click OK.

Edit Object Properties

June 2000 372 Product Version 4.4.6

Page 373: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Editing User-Defined Object Properties

To edit visible user-defined object properties, values, and their display attributes, do thefollowing:

1. Click the object property.

2. Choose Edit – Properties – Objects.

The Edit Object Properties form appears. The form’s appearance depends on whetheryou click the property master or a property instance.

When you select a user-defined property master, the form displays values for MasterValue and Local Value.

You cannot edit the Master Valuefield.

Edit Object Properties

June 2000 373 Product Version 4.4.6

Page 374: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

When you select a user-defined property instance, the Edit Object Properties formdisplays values for Name and Value.

3. Change the property values of Local Value, Height, Font, or Justification.

4. Click OK.

Editing Cellview Properties

While using the Edit – Properties – Cellview command, you can add, delete, and modify theproperties that appear on the form.

To add, modify, or delete properties, open a subform. You use the subform to specify theproperty type and value. When you click OK on the subform, the form reflects the change.

When you click Apply or OK on the form, the change is applied to the specified object in thedesign window.

To display cellview properties that you want to edit, do the following:

1. Choose Edit – Properties – Cellview.

Edit Object Properties

June 2000 374 Product Version 4.4.6

Page 375: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Edit Cellview Properties form appears.

2. Set the Show option as follows:

❑ Select system to display attributes that are less frequently used.

❑ Select user to display properties that you create.

3. Click OK.

Adding Cellview Properties

The Add option lets you add cellview properties.

Edit Cellview Properties

June 2000 375 Product Version 4.4.6

Page 376: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

To add a cellview property, do the following:

1. Choose Edit – Properties – Cellview.

The Edit Cellview Properties form appears.

2. Set the Show option to user.

3. At the bottom of the Edit Cellview Properties form, click Add.

The Add Property form appears.

4. Type a new property name, and give it a value.

5. Click OK.

6. On the Edit Cellview Properties form, click OK.

Add Property

June 2000 376 Product Version 4.4.6

Page 377: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Deleting Cellview Properties

To delete a cellview property, do the following:

1. Choose Edit – Properties – Cellview.

The Edit Cellview Properties form appears.

2. Set the Show option to user.

3. Click Delete.

The Delete Property form appears.

4. Choose the property you want to delete.

You can Shift -click to select multiple properties

5. , Click OK.

6. On the Edit Cellview Properties form, click OK.

Modifying Cellview Properties

The Modify option lets you modify cellview properties.

To modify a cellview property, do the following:

1. Choose Edit – Properties – Cellview.

Delete Property

June 2000 377 Product Version 4.4.6

Page 378: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Edit Cellview Properties form appears.

2. Set the Show option to user.

3. Click Modify.

The Modify Property form appears.

4. Choose the property you want to modify.

5. Change the property values for Type, Name, and Value.

6. Click OK.

7. On the Edit Cellview Properties form, click OK.

Editing VHDL Properties

To display VHDL properties in a cellview so you can set specific netlisting options, do thefollowing:

1. Choose Edit – Properties – VHDL.

Modify Property

June 2000 378 Product Version 4.4.6

Page 379: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The VHDL Properties form appears.

2. Type editing commands in the User Comment text box.

Note: To set netlister options for each cellview for VHDL, refer to the VHDL Interface UserGuide for the Virtuoso Schematic Composer.

VHDL Properties

June 2000 379 Product Version 4.4.6

Page 380: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Adding VHDL Properties

The Add button lets you add properties that represent VHDL generics.

To add a VHDL property, do the following:

1. Choose Edit – Properties – VHDL.

The VHDL Properties form appears.

2. Click Add.

The Add Generic form appears.

3. Type a generic name, a type, and a value.

4. Click OK.

5. On the VHDL Properties form, click OK.

Add Generic

June 2000 380 Product Version 4.4.6

Page 381: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Deleting VHDL Properties

The Delete button lets you delete properties that represent VHDL generics.

To delete a VHDL property, do the following:

1. Choose Edit – Properties – VHDL.

The VHDL Properties form appears.

2. Click Delete.

The Delete Generic form appears.

3. Type the generic name you want to delete.

4. Click OK.

5. On the VHDL Properties form, click OK.

Delete Generic

June 2000 381 Product Version 4.4.6

Page 382: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

Modifying VHDL Properties

The Modify button lets you modify properties that represent VHDL generics.

To modify a VHDL property, do the following:

1. Choose Edit – Properties – VHDL.

The VHDL Properties form appears.

2. Click Modify.

The Modify Generic form appears.

3. Type a generic name, a type, and a value.

4. Click OK.

5. On the VHDL Properties form, click OK.

Setting the Parameter Filter

This section explains how to edit Affirma™ analog circuit design properties using the ToolFilter.

To display the analog circuit design simulators that are active in your cellview, do the following:

1. Choose Options – Parameter Filter.

Modify Generic

June 2000 382 Product Version 4.4.6

Page 383: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEditing Properties

The Tool Filter form appears.

2. Save your cellview.

3. Click the Defaults button.

The system displays the simulators that were active when you last saved your cellview.

4. Select the tools for parameter display.

5. Click OK.

June 2000 383 Product Version 4.4.6

Page 384: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

9Traversing the Design Hierarchy andCreating a Design Configuration View

This chapter provides information about the following topics:

■ About the Design Hierarchy on page 384

■ Exploring the Design Hierarchy on page 385

■ About the Configuration View of a Design Hierarchy on page 389

■ About the Hierarchy Editor on page 391

■ Traversing a Design Hierarchy on page 392

■ Displaying the Current Hierarchical Scope on page 401

■ Creating a New Configuration View for the Design Hierarchy on page 401

■ Opening an Existing Design Configuration View on page 403

■ About the Hierarchy Editor within the Schematic Composer on page 404

■ Working with a Design Configuration within the Schematic Composer on page 406

About the Design Hierarchy

A design hierarchy comprises many levels of a single design. Each time you descend into thedesign hierarchy, you view a smaller division of the larger design in greater detail. Working insmaller divisions of a design lets you more effectively distribute work across multiple designengineers or groups.

A single instance in a hierarchical design typically represents multiple types of differentmodels. For example, an ASIC may include an underlying gate-level schematic, a layout, ora number of different behavioral descriptions, or a model.

June 2000 384 Product Version 4.4.6

Page 385: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

You have the flexibility to define the relationship between an instance and its variousrepresentations. You can descend into any particular lower-level design representation forexamination or editing.

Exploring the Design Hierarchy

The following diagram shows an ALU and an ADDR symbol view instantiated in a schematicview.

ALUsymbol

VHDLALUtext file

ADDRsymbol

schematic

symbol

symbol schematic behavioral

schematic vhdl

Top-LevelSchematic

Lower-LevelSchematic

Middle-LevelSchematic Verilog

ALUtext file

functional

VerilogADDRtext file

ALU instance

ADDR instance

Top-Level Design

June 2000 385 Product Version 4.4.6

Page 386: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

The following diagram shows the path (library, cell, and view name) for each view. You cantraverse into any existing view of the cell that is referenced by an instance and whose viewname has a corresponding view type in a registered tool.

Top-Level Schematic View

The following illustration emulates descending from a top-levelI/O register schematic into a middle-level I/O latch schematic.

Top Level

64-bitmicroprocessor

ALUVHDLALUtext file

ADDR

myLib/top/schematic

myLib/ALU/symbol

myLib/ADDR/symbol myLib/ADDR/schematic myLib/ADDR/behavioral

myLib/ALU/schematic myLib/ALU/vhdl

VerilogALUtext file

myLib/ALU/functional

VerilogADDRtext file

Middle Level

Lower Level

ALU

ADDR

ADDRinstance

ALU instance

June 2000 386 Product Version 4.4.6

Page 387: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

If you click the I3 IOlatch instance shown below, you descend into the schematic view (seenext page) of an I/O latch for the instance named I3 .

I0 I1 I2 I3

June 2000 387 Product Version 4.4.6

Page 388: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Middle-Level Schematic View

If you click the fflop1 component shown below, you descend from a middle-level I/O latchschematic into the lower-level fflop1 schematic (see next page).

June 2000 388 Product Version 4.4.6

Page 389: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Lower-Level Design Hierarchy

The following illustration shows the lowest level schematic of a design in the hierarchy of thisparticular design, the fflop1 schematic. The fflop1 schematic instantiates the primitivelogic devices (or leaf nodes).

About the Configuration View of a Design Hierarchy

Setup and netlisting processes and simulations should be run from the configured view ratherthan the original schematic so that you can access the expansion information.

June 2000 389 Product Version 4.4.6

Page 390: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

The Cadence® hierarchy editor creates a configuration view that provides expansioninformation controlling how the design hierarchy can be traversed.

In the above example, the library designLibcontains two configuration definitions with the viewnames mixedConfig and logicConfig . You can use the hierarchy editor to open theseviews.

designLib

logicConfigschematic mixedConfig

pulsegen

View names

Top cell name

layout

Configurationviews

Library name

June 2000 390 Product Version 4.4.6

Page 391: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

About the Hierarchy Editor

The hierarchy editor is a tool you use to create and edit a configuration. A configuration is aset of rules that defines which cellviews under a top-level cell are to be considered part of thedesign for netlisting, simulation, design partitioning for mixed signal simulation, and analysis.

The hierarchy editor lets you view the hierarchy of a design using a table or a tree format tomanage multiple components and views.

You use the hierarchy editor to do the following:

■ Change the global bindings

■ Add cell-based bindings and cell-based view lists

■ Add instance-based bindings and instance-based view lists

■ Update your configuration to see the effect of your work

■ Change instance bindings inside a block

■ Save your rules

For more details about using the hierarchy editor, refer to the Hierarchy Editor User Guide.

June 2000 391 Product Version 4.4.6

Page 392: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Traversing a Design Hierarchy

You can traverse a design hierarchy to view or edit your design using the Designmenu. Whenyou descend into a schematic, the schematic editor opens. When you descend into a symbol,the symbol editor opens. When you descend into a text view, the text editor specified by the$EDITOR variable in your .cshrc file opens.

When you descend from within a configuration design, you might descend into a view that isnot defined in the configuration expansion definition. The new scope is then out of context,and the window banner indicates you are not in a configuration design.

This section discusses two ways to move down the design hierarchy.

■ Use the Design – Hierarchy – Descend Edit / Read command to descend into any view.

When you choose the View Name List option, you descend directly into the firstavailable view in the list.

■ Use the Design – Hierarchy – Edit In Place command to access the symbol editor fromwithin the schematic editor environment. The schematic, while not editable, shows youthe relationship of your lower-level symbol to the entire schematic.

June 2000 392 Product Version 4.4.6

Page 393: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Descending Using the Descend Command

To descend into a lower-level view of an instance, do the following:

1. Choose Design – Hierarchy – Descend Edit / Read.

2. Select an instance in your design to descend into.

When you postselect the instance using the default settings, you descend directly intothe lower-level view, usually the symbol view. There are exceptions, as follows:

The Descend command behaves differently depending on data and options.

Data

■ The Descend form appears if the instance you select has several views available fordescending into. The form asks you to choose the view to descend into.

■ If the instance is a symbol and the symbol represents a multisheet design, a form letsyou choose to go to the index sheet or a specific sheet number.

■ In the case of a preselected instance, the Descend form opens immediately.

■ In case infix mode is enabled or you started the Descend command with a bindkey, theDescend form opens immediately.

■ If the instance is iterated, the Descend form lets you choose the iteration number youwant to descend into.

Options

■ Press the F3 key in the active Descend command to bring up the options form.

Specify the descend target cellview, either query user or use viewNameList.

If the descend target is query user(default), the Descend form opens, asking you whichview you want to descend into.

If the descend target is use viewNameList, type view names in a specific order in the ViewName List field of the Options – Editorcommand.

The following three forms show data for different instances.

June 2000 393 Product Version 4.4.6

Page 394: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

❑ Using a single instance representing a single-sheet schematic on the Descend form.

❑ Using an iterated instance representing a single-sheet schematic on the Descendform.

❑ Using a single instance representing a multisheet schematic on the Descend form.

If the Descend form opens, do the following:

1. Complete the form depending on your data and options.

2. Click OK.

Descend

Descend

June 2000 394 Product Version 4.4.6

Page 395: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

If you select a graphic view to descend into, either the schematic editor or the symboleditor opens.

If you select a text view, a text editor window opens. Some text editors automaticallycheck your text file for syntax errors. If the editor finds errors, the Parser Error/Warningsform appears and asks if you want to view the error file and reedit it.

Editing an Instance in Place

To edit an instance in place within the context of the higher-level schematic, do the following:

➤ Choose Design – Hierarchy – Edit In Place.

You descend into the symbol view of the instance to use the symbol editor while stillviewing the graphics of the higher-level schematic. The schematic, while not editable,shows you the relationship of your symbol to the entire schematic.

N1

N2

N3

N4

N5

N6

GATE_REP

[@instanceName]

pin1

GATE_REPinstance, symbolview in the symboeditor

Schematic viewin the symboleditor, noteditable

June 2000 395 Product Version 4.4.6

Page 396: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Descending Using the View Name List

By default, when you descend into another view, the system prompts you for the destinationview. If you want to bypass this step to descend directly into a view in a certain order, you canuse the View Name List option when you are out of context of a design hierarchy.

To change the default so that you automatically descend into the first available view in theview name list box, do the following:

1. Choose Design – Hierarchy – Descend Edit / Read.

2. Press the F3 key.

The Descend form appears.

3. Turn on use viewNameList.

This options works with the View Name List option on the following page.

4. Select an instance in the schematic.

You automatically descend into the first view listed in the viewNameListfor that instance.To set up the list of views in a specific order, see the View Name List option.

Setting the View Precedence Order

You can arrange the views for descending for data not within a configuration scope.

To rearrange the views in the View Name Listoption to set up the precedence order for the viewto be used as the descend target, do the following:

1. Choose Options – Editor.

The Editor Options form appears.

2. Type the names in the View Name Listfield in the order in which you want to descend. Forexample:

June 2000 396 Product Version 4.4.6

Page 397: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

schematic symbol vhdl functional abstract layout synthesis

The arrangement sets up the precedence order of views to use when you descend intoanother view.

3. Click OK.

The hierarchy configuration is more powerful and flexible than the View Name List method forspecifying design comparisons. You edit a hierarchy configuration using the hierarchy editor.The View Name Listoption does not work in configuration mode.

June 2000 397 Product Version 4.4.6

Page 398: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Returning Up the Design Hierarchy

After descending, you can return by levels or all at once.

To return to the previous level, do the following:

➤ Choose Design – Hierarchy – Return.

To return to the top level, do the following:

➤ Choose Design – Hierarchy – Return To Top.

June 2000 398 Product Version 4.4.6

Page 399: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Using OSMs to Traverse the Design Hierarchy

To use object-sensitive menus (OSM), make sure you turned on the OSM option. The defaultis off.

1. Place the cursor over an instance.

2. Press the middle mouse button.

The OSM pops up.

3. Select a Descend command.

4. With the cursor over an open area in the descended view, use the same process to returnto the previous level.

.

Instance

Stretch

Copy

Delete

Properties ...

Descend Edit ...

Descend Read ...

Edit In Place

Create Cellview

Rotate

Hierarchy commands

June 2000 399 Product Version 4.4.6

Page 400: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Using Bindkeys to Traverse the Design Hierarchy

Before you use bindkeys, verify that the bindkey file is installed properly.

To use bindkeys, select one of the following:

Command Bindkey

Descend Edit Shift-e

Descend Read e

Return Control-e

June 2000 400 Product Version 4.4.6

Page 401: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Displaying the Current Hierarchical Scope

When you display the hierarchical scope of your design, you can

■ View all the instance names and corresponding cell names of the current window

■ View a list of the instance names you have descended into and in which cell name andview name they are located

To display the current hierarchical scope, do the following:

1. Choose Design – Hierarchy – Show Scope.

A dialog box appears that lists the instance names and the corresponding cell names ofthe current window.

2. Click Close to close the dialog box.

Creating a New Configuration View for the DesignHierarchy

To create a new configuration view of a design and open the hierarchy editor, do the following:

1. From the Command Interpreter Window (CIW), choose File – New – Cellview.

Info

Hierarchical Scope is:

IO Register schematic6 (IOLatch schematic)5 (FFlop1 schematic)

Top-level cell nameTop-level view name

List of the instancenames you havedescended into with theircell name and viewname.

June 2000 401 Product Version 4.4.6

Page 402: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

The Create New File form appears.

2. Change View Name to config and Tool to Hierarchy-Editor and click OK.

For details on creating a configuration view, refer to the Hierarchy Editor User Guide.

June 2000 402 Product Version 4.4.6

Page 403: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Opening an Existing Design Configuration View

To open an existing design configuration view, do the following:

1. In the CIW, choose File – Open.

The Open File form appears.

2. Set View Name to config for the schematic design you want to open.

3. Click OK.

June 2000 403 Product Version 4.4.6

Page 404: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

The Open Configuration or Top CellView form appears.

When you set the configuration to yes, you can open the hierarchy editor.

When you set the top cell view to yes, you can open the top schematic for thisconfiguration.

4. Click OK.

Notice the window banner changes to indicate you opened the schematic view in thecontext of this configuration:

Virtuoso Schematic Editing: mixedVHDL designA schematicConfig: mixedVHDL designA config

For details on opening a configuration view, refer to the Hierarchy Editor User Guide.

About the Hierarchy Editor within the SchematicComposer

The hierarchy editor integration with the Virtuoso® schematic composer provides aconvenient way to synchronize the configuration database with the Cadence designframework II (DFII) database. From the Hierarchy-Editor menu on the schematic composerwindow, you can open the hierarchy editor, synchronize the database, set instance binding,and view the current set of view binding information.

The following products use the hierarchy editor within the schematic composer: Affirma™mixed-signal circuit design environment, Affirma analog circuit design environment, Verilog®-XL simulator, and VHDL integration.

The Hierarchy-Editor menu provides four commands:

config ”

June 2000 404 Product Version 4.4.6

Page 405: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

■ Edit Configuration

■ Update

■ Set Instance Binding

■ Show Views Found

June 2000 405 Product Version 4.4.6

Page 406: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Working with a Design Configuration within theSchematic Composer

This section covers the commands available from the Hierarchy-Editor menu within theschematic composer.

■ Opening a Hierarchy Editor Menu within the Schematic Composer on page 406

■ Editing a Design Configuration within the Schematic Composer on page 406

■ Setting Instance Bindings on page 406

■ Updating a Design Configuration on page 409

■ Building a New Inherited View List on page 409

■ Showing Views Found on page 412

Opening a Hierarchy Editor Menu within the Schematic Composer

To open the hierarchy editor menu within the schematic composer, do the following:

➤ Choose Tools – Hierarchy Editor.

The Hierarchy-Editor menu appears in the schematic composer menu banner.

Editing a Design Configuration within the Schematic Composer

To edit the configuration when the hierarchy editor is not present, do the following:

1. Open the design configuration.

If the Hierarchy-Editor menu is not visible on the menu banner, you need to install it.

2. Choose Hierarchy-Editor – Edit Configuration.

The hierarchy editor appears with information pertaining to your configured schematic.

For more details about using the hierarchy editor, refer to the Hierarchy Editor User Guide.

Setting Instance Bindings

The Set Instance Binding command lets you define the view to use and lets you choose theinherited view list. You can also set the view to use and the inherited view list from the

June 2000 406 Product Version 4.4.6

Page 407: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

hierarchy editor, but the Set Instance Bindingcommand from the schematic composer givesyou more flexibility on the scope of changes.

To define the view to use and to choose the inherited view list, do the following:

1. Choose Hierarchy-Editor – Set Instance Binding.

You are prompted to open the Hierarchy Editor form if it is not already open.

The Set Instance Binding form appears.

2. Select one or more instances in the design that you want changed.

The current instance is highlighted and its name is displayed in the Instance Name field.

3. Change the Apply Tocyclic field to display current instance(the main selection), all selectedinstances (in a group selection, including the main selection), or all instances (in thecellview).

If you choose all selectedor all instances, another cyclic field appears on the form. Choosesame master or any master.

4. Select View To Useto be bound to these instances.

Views common to all of the selected instances are available for selection. If you want torevert to the default bindings for your configuration in the hierarchy editor, set the View ToUse field to <Default>.

June 2000 407 Product Version 4.4.6

Page 408: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

5. To keep the inherited view list as is and not build a new inherited view list (default), turnon the As Is field.

You can change the inherited view list. To build a new inherited view list, refer to thefollowing section.

6. Click Apply to make your changes.

Your changes are reflected in the View To Usefield in the hierarchy editor for the instancesyou selected.

7. To propagate your changes to subordinate instances and save your changes, chooseHierarchy-Editor – Update in the schematic window.

All instances that are affected by your View To Useselection are changed in the hierarchyeditor and saved.

June 2000 408 Product Version 4.4.6

Page 409: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Updating a Design Configuration

After you edit the configuration, such as defining a new instance binding, you need to updatethe information in the hierarchy editor. To update a configuration from the schematiccomposer, do the following:

➤ Choose Hierarchy-Editor – Update.

If you are using the schematic composer to edit cellviews, you must save them in order tohave the edits you made reflected in your configuration.

The hierarchy editor is updated with the following information:

■ The cellviews you selected are saved

■ Your hierarchy editor display is updated

■ The schematic composer is updated with the new configuration

Building a New Inherited View List

After choosing Hierarchy-Editor– Set Instance Bindingand completing the steps in the previoussection, do the following:

1. Turn the As Is button off in the Inherited View List field.

2. Type in the inherited view list or click Build to construct the view list.

June 2000 409 Product Version 4.4.6

Page 410: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

The Build Inherited View List form appears.

The Available Constants/Viewslist box shows the combined views from the selected cells.

3. Select the appropriate views and constants, and click the right arrow to add them to theInherited View List list box.

4. Use the Up and Down buttons to reposition entries for using the appropriate views in aspecific order.

5. To specify a view name that is not listed, type the name in the field below the InheritedView List list box and click Add.

6. Click OK to return to the Set Instance Binding form.

7. Click Apply to add the new view list to the appropriate instances in the hierarchy editor.

8. Choose Hierarchy-Editor– Updatein the schematic window to update the hierarchy editorand save the changes.

June 2000 410 Product Version 4.4.6

Page 411: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Your changes are propagated through subordinate instances in the hierarchy editor andare saved in both the configured schematic and in the hierarchy editor configuration view.

June 2000 411 Product Version 4.4.6

Page 412: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideTraversing the Design Hierarchy and Creating a Design Configuration View

Showing Views Found

In the previous section, you either set the instance binding or built a new inherited view list.This command graphically shows the current view being used for each instance. To showviews used by the instance, do the following:

1. Choose Hierarchy-Editor – Show Views Found.

The Show Views Found form appears.

The View Name(s) option shows all the views bound to all the instances in the currentschematic cellview. The Highlight Layers option shows the colors used to highlight theinstances with the corresponding views. The command graphically shows the currentview being used for each instance.

2. (Optional) Change the highlight layer for each view name.

3. Click Apply.

The schematic display is updated with the appropriate highlight color showing the viewsused by all the instances.

June 2000 412 Product Version 4.4.6

Page 413: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

10Checking Designs

This chapter describes the procedures you use for checking your design.

■ Features of the Check Commands on page 414

■ Setting the Check Options on page 416

❑ Setting User Preferences on page 416

❑ Setting Schematic Rules on page 418

■ Checking a Design on page 423

❑ Checking and Saving a Design on page 424

❑ Checking the Current Cellview on page 426

❑ Checking a Design Hierarchy on page 427

❑ Checking a Design Hierarchy in the Configuration Context on page 428

❑ Checking Multisheet Schematics on page 429

❑ Checking a Label Attachment on page 430

❑ Cross-View Checking on page 431

■ Bypassing Checks on page 433

❑ Bypassing Floating Pin Checks on page 433

❑ Bypassing Unconnected Wire Checks on page 434

■ Resolving Check Errors on page 436

❑ Finding Errors and Warnings in a Design on page 438

❑ Mapping an Error Message to a Marker on page 439

❑ Managing the Error Message List on page 439

❑ Assigning an ignoreCheck Property on page 439

June 2000 413 Product Version 4.4.6

Page 414: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

❑ Suppressing Message Displays on page 440

❑ Deleting an ignoreCheck Property on page 440

❑ Deleting All ignoreCheck Properties on page 440

❑ Deleting Individual Markers on page 441

❑ Deleting All Markers on page 442

■ Monitoring a Verilog or VHDL Simulation State on page 442

❑ Using Cross Selection on page 444

❑ Opening an SHM Database on page 444

❑ Displaying the Simulation State of Wires and Pins on page 446

❑ Setting a Time Value for Displaying Signal Results on page 448

❑ Setting the Time Scale on page 449

❑ Setting the Display Radius on page 449

❑ Synchronizing with Simulation at Breakpoint on page 450

❑ Closing the SHM Database on page 451

Features of the Check Commands

Before you can pass the design data to any other tools, you must check your design forconnectivity, errors, and rule violations.

The Cadence® netlisters cannot generate the netlist until you check your design and, ifnecessary, correct any errors found during the check process.

You do not need to correct any warnings found during the check process, but you shouldreview them before you attempt to generate a netlist.

The Virtuoso® schematic composer check commands are as follows:

■ Design – Check and Save

■ Check – Current Cellview

■ Check – Hierarchy

■ Check – Label Attachment

June 2000 414 Product Version 4.4.6

Page 415: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

■ Check – Cross-View Checker (VIC) (symbols only)

You can check schematics using the following commands.

■ The Design – Check and Save command runs most of the check commandssimultaneously and

❑ Checks either a schematic or a symbol cellview

❑ Extracts connectivity information from the graphics in the schematic

❑ Runs specified options using the schematic rules checker (SRC), such as logicaland physical checks

❑ Runs the cross-view checker (VIC) on views you can specify

❑ Saves the design

■ The Check – Current Cellview command checks all the features that the Design – Checkand Save command does, but it does not save the design.

■ The Check – Hierarchy command is identical to the Check – Current Cellview command,but it checks the entire hierarchy.

■ The Check – Label Attachment command

❑ Shows the association between the labels and objects by drawing highlighted lines

❑ Checks for unattached labels

■ The Check – Cross-View Checker (VIC) command uses a smaller criteria to checkthe interface of specified views.

❑ Checks interface consistency between a list of specified views

❑ Reports signals exported in one view but not in the other

❑ Reports signals whose pins have different directions in the two views

❑ Does not save the design

June 2000 415 Product Version 4.4.6

Page 416: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Setting the Check Options

Before you run the checks listed above, you can set options and rules using these commands:

■ Options – Check

Sets options to be run when you choose Design – Check and Save, Check – Current Cellview,or Check – Hierarchy.

■ Options – Check Rules Setup

Sets the severity levels for checking logical, physical, name, and various other rules.

Note: Checkand Check Rules Setupare accessible from both the Optionsmenu and the Checkmenu.

Setting User Preferences

To set user preferences, do the following:

1. Choose Options – Check.

June 2000 416 Product Version 4.4.6

Page 417: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

The Schematic Check Options form appears.

2. Specify the options you want to apply to your check.

3. Click OK.

June 2000 417 Product Version 4.4.6

Page 418: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Setting Schematic Rules

The Setup Schematic Rules Check form lets you set the rules for running the SRC. You canset the severity levels for the following rules:

■ Logical rules

■ Physical rules

■ Name rules for the Cadence VHDL verification tool or the Verilog®-XL simulator.

■ Inherited connection rules

■ AMS rules

The Affirma™-AMS CDBA-to-Verilog-AMS translator is a mixed-signal translator thatsupports the Verilog-AMS language standard. The purpose of the AMS checks is to giveyou feedback regarding CDBA-to-Verilog-AMS translation without having to actuallygenerate a netlist. The checks must be enabled in order for them to run, but enablingnetlisting is not necessary. By default, this feature is not enabled. For details, see theCadence AMS Simulator User Guide.

Once you set these rules and SRC is enabled on the Schematic Check Options form, you canuse any one of the following Check commands to run SRC checks: Design – Check and Save,Check – Current Cellview, Check – Hierarchy.

To set up the schematic rules, do the following:

1. Choose Options – Check Rules Setup.

The Setup Schematic Rules Checks form appears.

June 2000 418 Product Version 4.4.6

Page 419: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

2. Set the Packaged Checks cyclic field to a specified predefined check.

The items listed in the Packaged Checks cyclic field are defined by theschSRCPackagedChecks environment variable. Packaged checks are a means ofsetting a set of severities using a single selection.

3. Click Logical to set the severity levels for the logical checks on the Setup SchematicRules Checks form.

June 2000 419 Product Version 4.4.6

Page 420: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

4. Click Physical to set the severity levels for the physical checks on the Setup SchematicRules Checks form.

June 2000 420 Product Version 4.4.6

Page 421: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

5. Click Nameto set the severity levels for the name checks on the Setup Schematic RulesChecks form.

In the Instance Name Expression, Pin Name Expression, and Net Name Expressionfields, usethe regular expression syntax as documented in the UNIX man pages for the ed(1)command. If a given instance, pin, or net name matches the specified regularexpression, an appropriate message is reported:

pin name " name" does not match expression " regularexpression "

June 2000 421 Product Version 4.4.6

Page 422: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

You can report instance, pin, and net names that do not match a specified regularexpression by preceding the expression with an exclamation point ( ! ). The messagestakes this form:

net name " name" does not match expression " regularexpression "

If an instance, pin, or net name consists of more than one signal or bundle, the namecheck is applied only to the base name portion of the name.

6. Click Inherited Connectionto set the severity levels for the inherited connection checks onthe Setup Schematic Rules Checks form.

June 2000 422 Product Version 4.4.6

Page 423: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

7. Click AMS to set the severity levels for the analog mixed signal checks on the SetupSchematic Rules Checks form.

The purpose of the AMS checks is to give feedback regarding CDBA-to-Verilog-AMStranslation without having to actually generate a netlist. The checks must be enabled inorder for them to run, but enabling netlisting is not necessary.

8. Click OK.

For details, see the Cadence AMS Simulator User Guidelisted under Analog Artist in theCadence Documentation.

Checking a Design

You have several options for checking a design:

■ Checking and Saving a Design on page 424

June 2000 423 Product Version 4.4.6

Page 424: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

■ Checking the Current Cellview on page 426

■ Checking a Design Hierarchy on page 427

■ Checking a Design Hierarchy in the Configuration Context on page 428

■ Checking Multisheet Schematics on page 429

■ Checking a Label Attachment on page 430

■ Cross-View Checking on page 431

Checking and Saving a Design

The Design – Check and Save command does the following:

■ Checks either a schematic or a symbol cellview

■ Extracts connectivity information from the graphics in the schematic

■ Runs specified options using the schematic rules checker (SRC)

■ Runs the cross-view checker (VIC)

■ Saves the design

To check and save either a schematic or symbol, do the following:

1. Choose Design – Check and Save.

June 2000 424 Product Version 4.4.6

Page 425: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

After the check is completed, the Command Interpreter Window (CIW) shows the resultsof the check, and a dialog box appears.

Flashing highlighted markers in your schematic indicate the objects that have errors orwarnings.

2. On the dialog box, click Close.

The Cadence® netlisters cannot generate the netlist until you check the design and, ifnecessary, correct any errors found during the check process.

You do not need to correct any warnings found during the check process, but you shouldreview them before you attempt to generate a netlist.

If no errors exist, the system automatically saves your design.

icds - Log: /usr1/mnt1/mara/CDS.log

Schematic Check

June 2000 425 Product Version 4.4.6

Page 426: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

If errors exist, the system prompts you to save your cellview. You can change this defaultbehavior by altering the value of the Check and Save Action on Error option on theSchematic Check Options form.

3. Read the check results and reply to the form.

To find the errors, choose Check – Find Markers.

Checking the Current Cellview

The Check – Current Cellview command does the following:

■ Checks either a schematic or a symbol cellview

■ Extracts connectivity information from the graphics in a schematic

■ Runs specified options using the schematic rules checker (SRC)

■ Runs the cross-view checker (VIC) on views you can specify

Before checking a cellview, review the check options.

To check only the current cellview, do the following:

1. Choose Check – Current Cellview.

The software performs the check. After the check is completed, the CIW displays theresults of the check, and a dialog box appears.

2. Read the check results and reply to the form.

3. Choose Check – Find Marker to view and resolve each error, if applicable.

Check and Save

June 2000 426 Product Version 4.4.6

Page 427: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Checking a Design Hierarchy

The Check – Hierarchy command does the following:

■ Checks all schematic and symbol cellviews in a design hierarchy

■ Extracts connectivity information from the graphics in the hierarchy

■ Runs specified options using the schematic rules checker (SRC)

■ Runs the cross-view checker (VIC) on views you can specify

Before checking a hierarchy, review the check options.

To check all schematics in a design hierarchy, do the following:

1. Choose Check – Hierarchy.

The Check Hierarchy form appears.

Note: The appearance of this form is different when the schematic is in the context of adesign configuration or a hierarchy configuration.

2. Set the options for your particular needs.

3. Click OK.

The system runs the SRC, VIC, and any options you specified on the Schematic CheckOptions form or Setup Schematic Rules Checks form.

schematic symbol

sample basic vhdl qalib2 test1 test2

June 2000 427 Product Version 4.4.6

Page 428: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

If errors are found, they are listed in the CIW.

If you have errors, the Save Schematics with Errors form appears.

Note: To save time, you can check only those cellviews that have not been checked since thelast time you saved your cellview. To customize the view name list, refer to theschCycleViewNameExclusionList variable.

Checking a Design Hierarchy in the Configuration Context

If you open a schematic in the context of a hierarchy configuration (configured schematic),the Check – Hierarchycommand does not use the view name list. Instead, the command usesthe schematic associated with its configuration data through partitioning. Partitioning is theprocess of separating the cells or blocks of a design into sets that will be simulated in eitherthe digital or analog domain. Refer to “Partitioning Your Design” in the Affirma Mixed-SignalCircuit Design Environment User Guide.

icds - Log: /usr1/mnt1/mara/CDS.log

Save Schematics with Errors?

June 2000 428 Product Version 4.4.6

Page 429: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

If you are checking a hierarchy in the design configuration context, the Check ConfigurationHierarchy form appears, and the View Name Listfield is replaced with two fields that displaythe configuration name and the name of the top-level cellview.

Checking Multisheet Schematics

To check the current sheet of a multisheet schematic, do the following:

➤ Choose Check – Current Cellview.

To check all the cellviews of a design hierarchy, do the following:

➤ Choose Check – Hierarchy.

To check all sheets of a multisheet schematic, do the following:

➤ Run the check from the index schematic.

The offsheet connector check used in multisheet schematics performs the followingoperations:

■ Runs only when the cellview being processed is an index of a multisheet schematic

■ Flags and lists each offsheet connector specified in any of the sheet instances on theindex schematic

Check Configuration Hierarchy

June 2000 429 Product Version 4.4.6

Page 430: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

■ Flags occur only when the connector imports or exports a signal that does not connectto another offsheet connector or hierarchical pin on another schematic sheet

■ Flags signals that do not connect to other sheets using offsheet connectors

■ Sends an error message if you use an offsheet connector incorrectly instead of using aschematic pin. If you modify some of the sheets in your design so that an offsheetconnector on a specific sheet becomes disconnected, an error message appears. If yoursignals implicitly attach across page boundaries, an error message appears; signalsneed to attach across page boundaries explicitly.

■ Highlights the error pin when you set the severity for the check to either warning or error,and if the offsheet connector in sheet 1 does not connect to any other offsheet connectorwith the same name on another sheet

Note: Whenever you check a multisheet schematic using the Check – Current Cellviewor Checkand Save command, the system creates or updates an msymbol cellview.

Checking a Label Attachment

To highlight the association between a name and its owner (that is, a wire or an instance), dothe following:

1. Choose Check – Label Attachment.

The Show Label form appears.

2. In the Labels ofcyclic field, specify which attached labels the checker looks for.

3. Click Apply.

The system draws a highlighted line between the displayed label text and its associatedobject. A flashing box appears around any labels not attached.

June 2000 430 Product Version 4.4.6

Page 431: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Cross-View Checking

You can check symbols using the Check – Cross View Checkcommand. It provides the followingcapabilities:

■ Checks interface consistency between a list of specified views

■ Reports signals exported in one view but not in the other

■ Reports signals whose pins have different directions in the two views

To check only the interconnection consistency between views, do the following:

1. From the symbol editor, choose Check – Cross View Check.

The Cross-View Checker form appears.

2. Specify the options you want to apply to the check operation.

3. Click OK.

4. View your errors or warnings.

When the check operation completes,

❑ A Cross-View Checker dialog box displays the number of errors and warnings foundin the symbol.

❑ The software displays blinking highlighted markers in your symbol to indicate theobjects with errors or warnings.

June 2000 431 Product Version 4.4.6

Page 432: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

❑ The CIW displays a one-line explanation of each error and warning.

5. Click Close.

6. Choose Check – Find Marker to view and resolve each object error.

Checking Expanded and Unexpanded Buses Across Views

The cross-view checker flags mismatches of expanded and unexpanded buses in symbol andschematic cellviews. If, for example, you place input pins in the schematic editor for bus A asA<1>, A<2>, and A<3>, but in the symbol cellview you unexpand the bus as A<3:1> , cross-view checker issues the following warning message:

Warning: Pin “A<3>” doesn't have an exact match in “cell1 symbol”

To correct this warning, set up the environment variable as follows:

schSetEnv("vicExactPinMatch" nil)

Cross View Check

icds - Log: /usr1/mnt1/mara/CDS.log

Cross-View Checker

June 2000 432 Product Version 4.4.6

Page 433: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Bypassing Checks

Besides changing check options to ignored, you can bypass floating pin checks andunconnected wire checks.

Bypassing Floating Pin Checks

There are two methods you can use to bypass the floating pin check operation:

■ Connect the noConn symbol to terminals that are unconnected

■ Manually change the checks to the ignored state on the SRC setup form

To attach the noConn symbol to unconnected terminals, do the following:

1. Choose Add – Instance.

The Add Instance form appears.

2. In the Library field, type basic .

June 2000 433 Product Version 4.4.6

Page 434: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

3. In the Cell field, type noConn .

The noConn symbol is attached to the pointer.

4. Click to place the noConn symbol to an unconnected terminal.

SRC does not highlight the dangling terminal as an error.

Bypassing Unconnected Wire Checks

There are two methods you can use to bypass the unconnected wire check operation:

■ Connect the onPageConn symbol to the wire vertex

■ Manually change the check to ignored state on the SRC setup form

To connect the onPageConn symbol to the wire vertex, do the following:

BC

A A<0:3>Y

nand3noConn symbol

June 2000 434 Product Version 4.4.6

Page 435: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

1. Choose Add – Instance.

The Add Instance form appears.

2. Click Browse.

June 2000 435 Product Version 4.4.6

Page 436: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

3. Select the onPageConn symbol from the basic library.

The onPageConn symbol is attached to the pointer.

4. Click to place the onPageConn symbol to a wire vertex.

SRC does not highlight the dangling wire as an error.

Resolving Check Errors

When a check command results in errors or warnings, the editor displays a flashinghighlighted marker on each object that generated an error or warning.

If your design has errors or warnings, the Check – Find Markercommand lets you view themeasily by listing the corresponding error and warning messages in the Find Marker form.

onPageConn symbol

June 2000 436 Product Version 4.4.6

Page 437: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

You can use the Find Marker form to narrow your search by limiting the list box display to aparticular severity level. You can also use the Find Marker form to expand your search byexpanding the scope.

This section provides information about the following:

■ Finding Errors and Warnings in a Design on page 438

■ Mapping an Error Message to a Marker on page 439

■ Managing the Error Message List on page 439

■ Assigning an ignoreCheck Property on page 439

■ Suppressing Message Displays on page 440

■ Deleting an ignoreCheck Property on page 440

■ Deleting All ignoreCheck Properties on page 440

■ Deleting Individual Markers on page 441

■ Deleting All Markers on page 442

June 2000 437 Product Version 4.4.6

Page 438: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Finding Errors and Warnings in a Design

To search for error markers in your design after you run one of the Checkcommands, do thefollowing:

1. Choose Check – Find Marker.

The Find Marker form appears.

The list box displays a list of all the error and warning messages generated by the check.By default, the editor highlights the first message and the associated marker in thedesign window.

2. Click the Nextand Previousbuttons to navigate through the message list.

If you selected the Zoom To Markers button, the editor zooms in on each associatedmarker and highlights the marker in the design window.

June 2000 438 Product Version 4.4.6

Page 439: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Mapping an Error Message to a Marker

To find the message that corresponds to a specific marker in the design window, do thefollowing:

1. Choose Check – Find Marker.

The Find Marker form appears.

2. Click the flashing marker in the schematic cellview.

The editor highlights the corresponding message in the Find Marker list box.

Managing the Error Message List

After you run a check operation, you can use the Find Marker form to assign an ignoreCheckproperty to a net, an instance, or an instance terminal in your design. The ignoreCheckproperty operates in conjunction with the Show Ignoredoption on the Find Marker form. Whenyou assign the ignoreCheck property to an object and also turn off the Show Ignored option,the software suppresses the display, in the Find Marker form list box, of error and warningmessages associated with the object when the following checks are run:

■ Floating input

■ Floating output

■ Floating net

■ Floating switch

■ Floating I/O

■ Shorted output pin

Assigning an ignoreCheck Property

To assign an ignoreCheck property to a net, an instance, or an instance terminal, do thefollowing:

1. Choose Check – Find Marker.

The Find Marker form appears.

2. Click the message in the list box.

3. Click the Ignore button.

June 2000 439 Product Version 4.4.6

Page 440: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

The software assigns an ignoreCheck property to the object and displays an asterisknext to the message in the column in the list box.

Suppressing Message Displays

To suppress the display of all messages that have an ignoreCheck property, do the following:

1. Choose Check – Find Marker.

The Find Marker form appears.

2. Turn off the Show Ignoredoption.

All the messages that have an ignoreCheck property disappear from the list box.

Deleting an ignoreCheck Property

To delete an ignoreCheck property from an object, do the following:

1. Choose Check – Find Marker.

The Find Marker form appears.

2. Turn on the Show Ignored option.

The list box displays all error and warning messages.

3. Click an error or a warning message in the list box.

4. Click the Restore button.

The software removes the ignoreCheck property and deletes the asterisk from themessage in the list box.

Deleting All ignoreCheck Properties

To delete all ignoreCheck properties from all objects, do the following:

1. Choose Check – Find Marker.

The Find Marker form appears.

2. Turn on the Show Ignored option.

The list box displays all error and warning messages.

3. Click the Restore button.

June 2000 440 Product Version 4.4.6

Page 441: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

The software removes all the ignoreCheck properties and deletes the asterisks from themessages in the list box.

Deleting Individual Markers

To delete individual markers in the design window, do the following:

1. Choose Check – Delete Marker.

2. Click the marker you want to delete.

You can also choose the Find – Markercommand and click the Deletebutton at the top ofthe form to delete the current marker.

June 2000 441 Product Version 4.4.6

Page 442: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Deleting All Markers

To find and delete all the markers of a particular severity level, and in a particular cellview orhierarchy, do the following:

1. Choose Check – Delete All Markers.

The Delete All Markers form appears.

2. Set the options for your particular need.

3. Click OK.

Monitoring a Verilog or VHDL Simulation State

To debug a Cadence VHDL design, you can set breakpoints or traces on certain objects. Youcan use the Schematic Monitorscommands only with an ongoing Verilog-XL or VHDL sessionor when accessing a previous simulator run stored with the simulation history manager(SHM). You can monitor or display any signal name as long as the signal name exists in thesimulation data source SHM file.

The Schematic Monitors commands let you observe the simulation state directly on wires orpins that represent signals, giving you a sense that simulation is being performed directly onthe design that you created.

This section describes the procedures for the following:

June 2000 442 Product Version 4.4.6

Page 443: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

■ Using Cross Selection on page 444

■ Opening an SHM Database on page 444

■ Displaying the Simulation State of Wires and Pins on page 446

■ Setting a Time Value for Displaying Signal Results on page 448

■ Setting the Time Scale on page 449

■ Setting the Display Radius on page 449

■ Synchronizing with Simulation at Breakpoint on page 450

■ Closing the SHM Database on page 451

June 2000 443 Product Version 4.4.6

Page 444: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Using Cross Selection

To enable cross selection to other Cadence applications via interprocess communication andto debug your design, do the following:

1. From the schematic editor, choose Options – Editor.

The Editor Options form appears.

2. Turn on Cross Selection.

3. Click OK.

Opening an SHM Database

You can open only one SHM database in each schematic editor window, but the SHMdatabase can be opened by multiple schematic windows. You can open a new SHM databaseat any time. You must open an SHM database to display feedback from the Verilog-XLsimulator or the Leapfrog® VHDL simulator in your schematic.

To connect a schematic window to an SHM database, do the following:

1. Choose Check – Schematic Monitors – Open Data.

June 2000 444 Product Version 4.4.6

Page 445: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

The Open Simulation Data form appears.

2. Choose a database.

3. Click OK.

A message in the CIW reports whether the SHM database was opened. The statusbanner is updated to show the SHM database name, the current simulation time, and thecurrent design scope.

The Open Data command connects the schematic to an SHM database, which exists inone of two forms:

❑ As a file created from a previous simulation

❑ As an in-memory simulation history created by an active simulation

If you are accessing the currently active SHM database opened by the Verilog-XLsimulator, any monitors you add are automatically probed. If monitors exist on yourschematic, they display signal data from the new SHM database.

June 2000 445 Product Version 4.4.6

Page 446: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Displaying the Simulation State of Wires and Pins

To display the simulation state of wires and pins, do the following:

1. Choose Check – Schematic Monitors – Add.

The Add Simulation Monitor form appears.

2. If you did not fill in the Signal Name field, the editor prompts you to click on a wire or pin.

Once you open a simulation database, the monitor displays the simulation state of thesignal if it exists in the database. Add net names from wires, pins, or instances selectedin the schematic. Type the signal names, separating each entry with a space.

If the name is not a valid name in the database, the signal is not monitored and a warningis issued.

If the signal name is made up of multiple bits, the state is displayed in bus format. Thedefault bus radix is hexadecimal.

The following list shows each format and an example of how the schematic monitorappears.

<state> ST0 (default)<time>:<state> 2.35:ST0

June 2000 446 Product Version 4.4.6

Page 447: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

<name>=<state> clock=ST0<time>:<name>:<state> 2.35:clock:ST0

3. In the Placement field, click single or multiple.

The following example shows schematic monitors.

4. When you have completed placing the monitors, run a simulation.

June 2000 447 Product Version 4.4.6

Page 448: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Setting a Time Value for Displaying Signal Results

When you set the time, the time is updated in the status banner of the window and each ofthe monitors in the window. Monitors displaying the time show what time the signaltransitioned to its current state. If you are synchronizing the monitors with your simulation, youcan still set the time manually. You do not have to turn synchronization off to use the Set Timecommand.

Note: You must open a simulation database before you can use the Set Time command.

To set a time value for displaying signal results, do the following:

1. Choose Check – Schematic Monitors – Set Time.

The Set Time form appears.

2. To set the time, use one of the following methods:

❑ In the Time field, type a value measured in the time units displayed in Units.

❑ In the Time Line field, click and drag the slider forward or backward throughsimulation history. The value above the slider changes to reflect simulation timevalues. Release the button when you reach the new time value.

❑ In the Movefield, click the minus to move backward through time by the time intervalyou set in the interval field. Click the plus to move forward through time by the timeinterval you set in the interval field.

❑ In the prev event and next event, select the monitors that display the results of thesignals you are interested in. Click prev eventto move directly to the most recent

June 2000 448 Product Version 4.4.6

Page 449: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

transition of the signals monitored by the selected monitors. Click next eventto movedirectly to the next transition of the signals monitored by the selected monitors.

3. Click OK.

Setting the Time Scale

The options you set using the Set Time Scale command also affect the values you set on theSchematic Monitors – Set Time command form.

Note: You must open a simulation database before you can use the Set Time Scalecommand.

To change the units, scale factor, and precision of time values displayed in the status bannerand in the monitors, do the following:

1. Choose Check – Schematic Monitors – Set Time Scale.

The Time Scale form appears.

2. Set the options.

3. Click OK.

Setting the Display Radius

Setting a display radix changes the radix of monitors displaying buses. Buses are displayedin binary by default.

To set the displayed bus values to a new display radix, do the following:

1. Choose Check – Schematic Monitors – Set Display Radix.

June 2000 449 Product Version 4.4.6

Page 450: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

The Set Radix form appears.

2. Click the monitors from the schematic cellview to display bus values.

3. Choose a new radix.

4. Click OK.

Synchronizing with Simulation at Breakpoint

Synchronization updates the schematic monitors each time you interrupt your simulation. Theupdated monitors represent the state of the simulation at the point of interruption.Synchronization is turned on automatically at the start of your simulation session.

To update the schematic monitors, do the following:

1. Choose Check – Schematic Monitors – Synchronize.

The Synchronization form appears.

2. Turn on or off the Synchronize with Simulator at Breakpoint field.

3. Click OK.

The system enables synchronization to display simulation results in monitors atsimulation breakpoints.

June 2000 450 Product Version 4.4.6

Page 451: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideChecking Designs

Closing the SHM Database

To close the SHM database in the current window, do the following:

➤ Choose Check – Schematic Monitors – Close Data.

If the database is connected to other schematic windows, this command closes thedatabase as a source for those windows as well.

After you close a database, all monitor values are cleared. The monitors and their emptyformat fields remain in your schematic window. The simulation time and the SHMdatabase name disappear from the status banner.

June 2000 451 Product Version 4.4.6

Page 452: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

11Plotting Designs

You can plot libraries, cellviews, or a portion of your schematic using one command form.Another form sets the plot options.

This chapter provides information about

■ Setting Up Your System to Plot on page 452

■ Plotting a Design on page 453

❑ Plotting a Design on page 453

❑ Plotting a Cellview on page 455

❑ Plotting Part of a Schematic on page 456

❑ Adding Notes to a Plot on page 458

❑ Setting Plot Options on page 458

■ Using a Plot Template File on page 460

❑ Using a Plot Template File on page 460

❑ Loading a Plot Template File on page 461

❑ Creating a Default Plot Template File on page 462

■ Checking the Queue Status on page 463

■ Canceling a Plot Job on page 463

Setting Up Your System to Plot

To set up your system to plot to either a plotter or a laser printer, do the following:

1. Install the hardware.

2. Configure the system.

June 2000 452 Product Version 4.4.6

Page 453: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

Refer to your operating system documentation for specifics about your plotter.

For details about configuring your operating system for plotting, refer to the PlotterConfiguration User Guide. It discusses the .cdsplotinit file that the Virtuoso®

schematic composer uses.

3. Set up the software.

Setting up the Cadence® software includes defining the correct plotting device (outputdevice), which you define in your operating system.

4. Create a site-specific version of the plot configuration file as detailed in the PlotterConfiguration User Guide.

Copy the cdsplotinit.sample file from the your_install_dir /tools/plot/samples directory to a new file called .cdsplotinit in either your workingor home directory.

The .cdsplotinit file is used to define the list of available printers and plotters andtheir characteristics.

Plotting a Design

You can plot any of the following:

■ Library

■ Current cellview

■ Entire hierarchy starting from the current cellview or as many levels down as you want

■ All sheets of a multisheet schematic by plotting from an index schematic cellview

Plotting a Library

To plot a library, do the following:

1. Choose Design – Plot – Submit.

June 2000 453 Product Version 4.4.6

Page 454: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

The Submit Plot form appears.

2. In the Plot field, turn on library.

3. In the Library Name and View Name Listfields, type the library you want to plot and itsviews.

You can also click Browse to select the library.

4. Change other fields or options as needed.

5. Click OK.

June 2000 454 Product Version 4.4.6

Page 455: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

Plotting a Cellview

To plot a cellview, do the following:

1. Choose Design – Plot – Submit.

The Submit Plot form appears.

2. In the Plot field, turn on cellview.

June 2000 455 Product Version 4.4.6

Page 456: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

3. In the Library Name, Cell Name, and View Name fields, type the complete path to thecellview you want to plot.

You can also click Browse to select the cellview.

4. Change other fields or options as needed.

5. Click OK.

Plotting Part of a Schematic

To plot only the viewing area of a cellview, do the following:

1. Zoom in on only the object or area you want to plot by choosing Window – Zoom – Zoom In.

2. Choose Design – Plot – Submit.

June 2000 456 Product Version 4.4.6

Page 457: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

The Submit Plot form appears.

3. In the Plot field, turn on viewing area.

When you plot using the viewing area, you plot the cellview from which you started thePlot command. Only the area displayed in the graphic window is plotted.

4. Change other fields or options as needed.

5. Click OK.

June 2000 457 Product Version 4.4.6

Page 458: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

Adding Notes to a Plot

To add notes to any type of plot, do the following:

1. Choose Design – Plot – Submit.

The Submit Plot form appears.

2. In the Plot With field, click notes.

3. Type in the Notes field.

Specific editing commands apply.

4. Click OK.

Setting Plot Options

You can set several plot options: plotter name, paper size, page orientation, size and positionof plotting, area, number of copies, plot time, and plot to file.

To set plot options, do the following:

1. Choose Design – Plot – Submit.

The Submit Plot form appears.

June 2000 458 Product Version 4.4.6

Page 459: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

2. At the bottom of the Submit Plot form, click Plot Options.

June 2000 459 Product Version 4.4.6

Page 460: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

The Plot Options form appears.

3. Set the options.

4. Click OK on the Plot Options and Submit Plot forms.

Using a Plot Template File

If you want to use the same plot options for other schematics, you can store the options in aplot template file. The plot template file stores plot options in property list format. You can usea template file to plot schematics in batch mode.

June 2000 460 Product Version 4.4.6

Page 461: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

Creating a Plot Template File

To create a plot template file, do the following:

1. Choose Design – Plot – Submit.

The Submit Plot form appears.

2. In the Template File field, type the path to the directory in which you want to store the file.

3. Complete the rest of the form to indicate all settings you want to save for plotting.

4. Click Save.

5. Click OK.

Loading a Plot Template File

When you load a template file, the system reads in plot setup information that you havepreviously saved.

To load a template file, do the following:

1. Choose Design – Plot – Submit.

June 2000 461 Product Version 4.4.6

Page 462: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

The Submit Plot form appears.

2. In the Template File field, type the path to the file you want to load.

You can also type the path to one of the sample plot template files:your_in stall_dir /tools/dfII/samples/plot/schPlot.i lyour_install_dir /tools/dfII/samples/plot/schMetPlot.i l

3. Click Load.

4. Click OK.

Creating a Default Plot Template File

To create a default plot template file, do the following:

➤ Add the following line to your .cdsinit file:

schPlotTemplate = " /usr/myPath/myTemplate "

The system loads the default plot template file when you use the Design – Plot – Submitcommand for the first time. Once you change the path in your .cdsinit file, you canuse the Load button on the Submit Plot form to load other template files.

June 2000 462 Product Version 4.4.6

Page 463: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

Checking the Queue Status

To check the status of your plot in the queue, do the following:

1. Choose Design – Plot – Queue Status.

The Plot Job Queue Status/Removal form appears.

1. In the Select Plotter cyclic field, choose the plotter to which you sent your schematic.

The system displays the plot job queue in the text box.

Canceling a Plot Job

To cancel a job, do the following:

1. Choose Design – Plot – Queue Status.

no entries1st john 963 standard input 139772 bytes2nd john 001 standard input 1460 bytes

June 2000 463 Product Version 4.4.6

Page 464: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuidePlotting Designs

The Plot Job Queue Status/Removal form appears.

1. Select a job to cancel by clicking on the job in the text box.

2. Click Cancel Selected Plot Jobs.

3. Click OK.

963

no entries1st john 963 standard input 139772 bytes2nd john 001 standard input 1460 bytes

June 2000 464 Product Version 4.4.6

Page 465: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

12Setting Schematic Composer Options

You can change the appearance and the behavior of the Virtuoso® schematic composer byusing the Options menu in the schematic editor, symbol editor, or Command InterpreterWindow (CIW). In general, you can choose a preference once you are in a session. Whenyou find a desired behavior, you can make it the default for the product for that session.

This chapter provides information about the following:

■ Overview of Schematic Composer Options on page 466

■ Changing User Preferences on page 467

■ Saving the Current Window Setup on page 469

■ Viewing Bindkey Settings on page 470

■ Changing Browser and CIW Preferences on page 471

■ Customizing Editor Options on page 472

■ Changing Display Options on page 473

■ Selecting Objects Using the Filter Option on page 473

■ Setting Plot Options on page 473

■ Setting Schematic Check Options and Rules on page 474

■ Setting the Parameter Filter on page 474

■ Saving Form Field Default Settings on page 474

■ Loading Form Field Default Settings on page 475

June 2000 465 Product Version 4.4.6

Page 466: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Overview of Schematic Composer Options

The following options are available from the CIW.

The following options are available from the schematic composer window.

Command (CIW) Description

User Preferences Options to change window and command preferences

Save Session Save the display of your design window

Bindkey Option to change the set of bindkeys for the application

Browser Options to change the opening preferences

Command(schematic) Description

Editor Options to edit a design which applies to all edit commands

Objects Options to change object preferences

Display Options to display a design

Select Object Filter Options to control selection in a design

Plot Options Options to setup the plotter device

Check Options to do a schematic design connectivity inspection (nooptions available for a symbol cellview)

Rules Setup Options to set up the rules to do a schematic design inspection (nooptions available for a symbol cellview)

Parameter (Tool) Filter Select tools for parameter display (no options available for asymbol cellview)

Component Display Options to display each object’s label in a design

Save Defaults Save the current schematic composer environment variables to afile

Load Defaults Load the schematic composer environment variable from a file toset the current environment

June 2000 466 Product Version 4.4.6

Page 467: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Changing User Preferences

You can change window and command preferences from the CIW.

The Options – User Preferencescommand is described in Design Framework II Help.

To make changes permanent, from the CIW choose Options – Save Defaults or edit the.cdsinit file.

Minimizing Mouse Clicks

When Infix is on, the editor no longer prompts you to specify the first data point. Instead, whenyou start a command, the editor uses the current location of your pointer as the first datapoint.

To turn Infix on, do the following:

1. From the CIW, choose Options – User Preferences.

June 2000 467 Product Version 4.4.6

Page 468: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

The User Preferences form appears.

2. Turn Infix on.

3. Click OK.

June 2000 468 Product Version 4.4.6

Page 469: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Changing the Default Display Setting for Command Option Forms

You can reconfigure your system to display the command options forms automaticallywhenever you select a command that has an associated form. This reconfiguration is helpfulwhen you are unfamiliar with schematic composer commands and how they work.

To set your system to display associated options forms automatically whenever you choosecommands that have an associated form, do the following:

1. From the CIW, choose Options – User Preferences.

The User Preferences form appears.

2. In the Command Controls section of the form, turn on Options Displayed When CommandsStart.

3. Click OK.

The User Preferences form closes. Command option forms appear automatically whenyou next start a command.

Saving the Current Window Setup

To save the display of your design window (including all window positions, customizedsettings, contents, window sizes, zoom levels, and design hierarchies) when you exit thecurrent session, do the following:

1. From the CIW, choose Options – Session Save.

The Save Session form appears.

2. In the File Name field, type a filename in which to save the session data.

3. Click OK.

June 2000 469 Product Version 4.4.6

Page 470: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Restoring a Saved Window Setup

To restore a design session from a saved session, do the following:

➤ Type the following command in a UNIX window:

cds -restore sessionFileName

where

cds is the command for initializing the system; for example, icde , icms , or icds .

sessionFileName is the name of the file you want to restore.

The design window appears, showing the same display setup for the windows, contents,size, zoom levels, and design hierarchies.

Viewing Bindkey Settings

After you start a session, you can use the following procedure to view the current bindkey filesettings for various application types.

1. From the CIW, choose Options – Bindkey.

The Key or Mouse Binding form appears.

2. Change the Application Type Prefix cyclic field to Schematics or Symbol.

June 2000 470 Product Version 4.4.6

Page 471: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

3. Click Show Bind Keys.

A view window displays the current bindkey file settings. You cannot edit theschBindKeys.il file from the view window, but you can customize theschBindKeys.il file.

Changing Browser and CIW Preferences

You can change browser and CIW preferences by using the Options – Browser Preferencescommand from the CIW.

To set the browser in conjunction with the Add Instance command, do the following:

1. Choose Options – Editor.

2. Choose the appropriate browser from the Add Instance Browser Type field.

You can also change the appropriate editor option by setting the environment variablebrowserType on page 535.

Other options let you change browser preferences:

■ “Opening the Add Instance Form Instead of the Component Browser” on page 82

■ “Changing the Component Browser Display” on page 84

June 2000 471 Product Version 4.4.6

Page 472: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Customizing Editor Options

You can change general options for the schematic composer by using the Options – Editorcommand, which opens the Editor Options form.

Canceling the Modal (Repeat) Command Option

To turn off the Modal Commands option, which stops the active command from automaticallyrepeating, do the following:

1. Choose Options – Editor.

The Editor Options form appears.

2. Turn Modal Commandsoff.

3. Click OK.

To set Modal permanently on for future sessions, change the environment variablemodalCommands on page 552.

June 2000 472 Product Version 4.4.6

Page 473: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Changing Display Options

You can change the window display and grid controls by using the Options – Displaycommand. The Display Options form appears.

Selecting Objects Using the Filter Option

The Selection Filter form lets you specify which object types you can select manually forediting. This is especially useful when you have many object types, or overlapping objecttypes, in a small area of your design.

The Select Filter command is discussed in Chapter 8, “Editing Properties.”

Setting Plot Options

Setting plot options is discussed in Chapter 11, “Plotting Designs.”

June 2000 473 Product Version 4.4.6

Page 474: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Setting Schematic Check Options and Rules

Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.”

Setting the Parameter Filter

Editing Affirma™ analog circuit design simulator properties using the parameter (tool) filter isdiscussed in Chapter 8, “Editing Properties.”

Saving Form Field Default Settings

To save the current environment variables and form defaults to a file, do the following:

1. Choose Options – Save Defaults.

2. If you want to change the default filename, type a new name in the form.

Note: If you have an existing .cdsenv file, you might not want to overwrite it. Instead,you can write it to a different file and then copy the lines you want to the .cdsenv file.

The Save Schematic Defaults form appears.

3. Click OK.

The filename specifies the name of the file where the variables and form defaults aresaved. The default is a file named .cdsenv in your home directory. If you use thisfilename, the saved variables are automatically loaded the next time you start the editor.

Note: This form saves environment variables only within the schematic composerenvironment. The same command in the CIW saves all environment variables.

/ your_directory /.cdsenv

June 2000 474 Product Version 4.4.6

Page 475: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSetting Schematic Composer Options

Loading Form Field Default Settings

To load editor variables and form defaults from a specified file, do the following:

1. Choose Options – Load Defaults.

The Load Schematic Defaults form appears.

2. Type a new filename in the File Name field, if appropriate.

3. Click OK.

You can use a text editor to edit the variables in the defaults file. You can store the displayof your design window (including all window positions, customized settings, contents,window sizes, zoom levels, and design hierarchies) when you exit the current session.You can store the current session by selecting a command from the CIW. You can alsopreset session defaults and variables by editing the . cds env file.

Note: This form loads environment variables only within the schematic composerenvironment. The same command in the CIW loads all environment variables.

/ your_directory /.cdsenv

June 2000 475 Product Version 4.4.6

Page 476: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

13Customizing the Schematic Composer

The Virtuoso® schematic composer is an open application that you can customize. You canchange its appearance and behavior. In general, you can choose a preference orcustomization once you are in a session. When you find a desired behavior or customization,you can make it the default for the product.

This chapter provides information about the following:

■ Customizing Pull-Down and Pop-Up Menus on page 476

■ Customizing Object-Sensitive Menus on page 478

■ Customizing the Icon Bar on page 479

■ Understanding Initialization and Setup Files on page 480

■ Customizing Bindkeys on page 481

■ Customizing the Configuration File on page 483

■ Customizing Global Editor Variables for Form Fields on page 485

■ Customizing Text-to-Symbol Generator (TSG) Variables for Form Fields on page 510

■ Customizing HDL Variables for Form Fields on page 513

■ Customizing the Plot Configuration on page 516

Customizing Pull-Down and Pop-Up Menus

You interact with the schematic composer through pull-down menus, pop-up menus, the iconbar, and bindkeys. You can customize all schematic composer menus. In general, you copyfiles and edit them using a text editor.

For general information about customizing menus, see the file

your_install_dir /tools/dfII/etc/tools/menus/README

June 2000 476 Product Version 4.4.6

Page 477: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

For an example of how to customize schematic composer menus, see the file

your_install_dir /tools/dfII/etc/tools/schematic/README_menus.txt

The menu files make it easy for you to define each menu item (for example, the menuitemSymbol, its menu text, and the callBack function) and to organize these definitions intothe respective pull-down and pop-up menus. You can easily change menu definitions withouthaving to rebuild the Cadence® SKILL language context to see the change.

You or your technical administrator can customize the menus. The menu file definitions areeasier to maintain from one release to the next because they are independent of the codethat implements the menus. You do not need to know the SKILL symbol name of a menu itemto change its text. Instead, you modify the definition in the menu file.

Default Menu Definitions

The default menu definitions for the schematic and symbol editors are in

your_install_dir /tools/dfII/etc/tools/menus/schematic.menus

For information regarding the customization of these menu items, refer to the file

your_install_dir /tools/dfII/etc/tools/schematic/menus.sample

Sample Menu File

You can use the sample customization file as a starting point for the schematic editor. Itredefines the banner menu’s order and labels.

For site customization, make your changes and copy the file or files into

your_install_dir /local/menus/{schView,schematic}.menus

It is more likely that you will customize only the schematic.menus file mentioned aboveshowing default menu definitions, but schView.menus is listed for completeness.

You can also customize menus for different projects or work areas. Copy the customizationfiles to

your_install_dir /local/ workOrProjectDir /menus/{schView,schematic}.menus

For personal customization, copy the files to

~/menus/{schView,schematic}.menus

June 2000 477 Product Version 4.4.6

Page 478: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

The definitions in the menus files are prefixed with schc ; for example, schcSaveItem .Change the contents of the definitions rather than change the variables holding the definitionsbecause some of the schematics menu code processes specific definitions.

Customizing Object-Sensitive Menus

You can customize object-sensitive menus (OSM) in the following ways:

■ Reassigning the OSM to a different mouse button

The default bindkey file assigns OSMs to the middle mouse button.

■ Registering a custom menu with the pop-up manager

■ Issuing a Cadence SKILL command to register a menuHandle for a specificcategory

This procedure customizes which menu pops up when you place the cursor over specificobjects.

You can type the SKILL functions in the Command Interpreter Window (CIW), in which casethey remain active for the session only. Or you can type the SKILL functions in your.cdsinit file, in which case they become active whenever you start the schematiccomposer. Refer to the Virtuoso Composer Schematic SKILL Functions Reference Manual.

June 2000 478 Product Version 4.4.6

Page 479: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Customizing the Icon Bar

You can use the following procedures to customize the icon bar:

■ Positioning Icons and Turning Off Icon Names

■ Changing the Contents of the Icon Bar

■ Changing the Display of the Icon Bar

Positioning Icons and Turning Off Icon Names

1. From the CIW, choose Options – User Preferences.

The User Preferences form appears.

2. In the User Preferences form, set the icon bar window controls.

3. Click OK.

To view the results of the change, choose Window – New to open a new window.

Changing the Contents of the Icon Bar

You can change the contents of the icon bar by editing the schFixMenu.il file.

To change the contents of the icon bar, do the following:

1. Open the schFixMenu.il file using a text editor.

The default installation path for the file is

your_install_dir /tools/dfII/samples/local/schFixMenu.il

2. Edit the file as needed.

❑ Change the order of the menu items by moving the lines in the file

❑ Change the order of the icons on the menu

❑ Change the icon label

❑ Change the icon bitmap

❑ Personalize the commands

❑ Delete the icons you do not want to use

June 2000 479 Product Version 4.4.6

Page 480: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

❑ Change any of the following parameters:

name = SKILL symbolitemText = pop-up menu nameitemIcon = icon as created by hiStringToIconcallback = SKILL function

Changing the Display of the Icon Bar

To specify how the system displays icon bar commands, such as icons or text, use SKILLfunctions. Refer to the schRegisterFixedMenu and schUnRegisterFixedMenufunctions in the Virtuoso Composer Schematic SKILL Functions Reference Manual.

You can type the SKILL functions in the Command Interpreter Window (CIW), in which casethey remain active for the session only. Or you can type the SKILL functions in your.cdsinit file, in which case they become active whenever you start the schematiccomposer.

Understanding Initialization and Setup Files

You can customize elements of the user interface by modifying these files.

Filename Customizing Ability

schConfig.il The configuration file specifies various schematic composerconfigurations

schBindKeys.il The bindkey file sets the bindkeys for the schematic composer

schFixMenu.il The fixed menu file sets the icon bars

.cdsinit The Cadence initiation file sets environment variables thatcontain user or site SKILL code definitions

You can set these variables by calling schSetEnv orenvSetVal in the .cdsinit file.

.cdsenv The Cadence environment file sets default values forenvironment variables in Cadence design framework II.

You can create the .cdsenv file by using the Options – SaveDefaults command.

June 2000 480 Product Version 4.4.6

Page 481: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Customizing Bindkeys

You can use the following procedure to customize the bindkeys.

Locating the schBindKeys.il Bindkey File

Bindkeys for the schematic and symbol editors are defined in the schBindKeys.il file,located in your installation directory.

The example shows how the file contents typically appear.

bk("Schematics" "<Key>F6" "hiRedraw()")bk("Symbol" "<Key>z" "hiZoomIn()")

The full path to the schBindKeys.il file is

your_install_dir /tools/dfII/samples/local/schBindKeys.il

where your_install_dir is the path to your installation directory.

Locating Your Installation Directory

To find the path to your installation directory, do the following:

➤ In the CIW, type

getInstallPath

The software returns the path to your installation directory.

Note: This procedure assumes you or your system administrator has installed the Cadence-supplied schBindKeys.il file. If you are using a locally supplied file, substitute theappropriate path.

1. In a UNIX window, copy the schBindKeys.il file to your home directory:

cp your_install_dir/ tools/dfII/samples/local/schBindKeys.il ~/.

2. Use your editor to open and edit the file contents.

The example shows how the file contents typically appear.

bk("Schematics" "<Key>F6" "hiRedraw()")bk("Symbol" "<Key>z" "hiZoomIn()")

June 2000 481 Product Version 4.4.6

Page 482: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

You can edit the following four elements for each bindkey setting:

3. When you are finished editing the file, save and close it.

Loading Your Customized Bindkey File

After you create your custom schBindKeys.il file, you can

■ Load the file for the current session only

■ Configure your system to automatically load the file whenever you start a new session

To load the new file for the current session, do the following:

➤ In the CIW, type

load " path_to_file /schBindKeys.il"

where path_to_file is the path to your custom schBindKeys.il file.

To configure your system to load your custom schBindKeys.il file automatically wheneveryou open a new session, do the following:

➤ Add a line to your .cdsinit file that loads the new bindkey file.

For example:

load " path_to_file /schBindKeys.il"

where path_to_file is the full path to your custom schBindKeys.il file.

You can customize bindkeys for the current session and for permanent use.

bk("Schematics" "<Key>F6" "hiRedraw()")

Sets F6 to redraw the screen.

bk is the alias for the hiSetBindKey() function, whichsets bindkeys.

The application name in the syntax specifieswhen the bindkey applies; for example, whenyou run the schematic editor.

You can set a bindkey to perform anySKILL function.

June 2000 482 Product Version 4.4.6

Page 483: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Loading the Cadence-Supplied Bindkey File

To load the Cadence-supplied bindkey file automatically, do the following:

1. In a UNIX window, open your .cdsinit file; for example,

vi ~/.cdsinit

2. Add the following line to the file:

load( prependInstallPath ("samples/local/schBindKeys.il"))

where prependInstallPath is a function.

3. Save and close the file.

The next time you start the Cadence software, the .cdsinit file loads theschBindkeys.il file automatically.

If you have already started the Cadence software, you can load the bindkeys manually, for thecurrent session, by using the following procedure.

➤ In the CIW, type

load( prependInstallPath ("samples/local/schBindKeys.il"))

where prependInstallPath is a function.

Customizing the Configuration File

The configuration file, schConfig.il , contains the definitions of the public global SKILLvariables that you can customize. The contents are organized into four groups: SchematicEditor, Symbol Editor, Symbol Generator, and HDL.

Using SKILL variables, you customize certain command form fields to change the list ofchoices.

You might want to customize the configuration file to limit or expand the options the editordisplays on certain forms or fields. These options include choices such as sheet sizes, pintypes, view names, and block sizes.

The configuration file is located in your installation directory:

your_install_dir /tools/dfII/samples/local/schConfig.il

To find your installation directory, do the following:

In the CIW, type

June 2000 483 Product Version 4.4.6

Page 484: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

getInstallPath

You can add or delete choices to the schConfig.il file anytime before you complete anyschematic functionality in an interactive session. You can load the schConfig.il file atany time during the session to make new changes effective.

Opening the Configuration File

To create a custom schConfig.il file, you edit the sections of the file that define thebehavior you want to modify.

To create a custom configuration file, do the following:

1. Copy the schConfig.il file from your installation directory to your current directoryby typing the following:

cp your_install_dir /tools/dfII/samples/local .

To find your installation directory, in the CIW type

getInstallPath

2. Use a text editor to open the schConfig.il file.

Editing the Configuration File

Caution

Do not change the IL structure in this file. The structure is necessary sothat the choices on the schematic and symbol forms read properly.

To edit the configuration file, do the following:

1. Search for a variable name.

2. Use the text editor to edit the file.

The file is organized into four groups: Schematic Editor, Symbol Editor, SymbolGenerator, and HDL. The variable names are sorted alphabetically within each category.

3. Save the file.

June 2000 484 Product Version 4.4.6

Page 485: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Loading the Configuration File

To load the local configuration file for your current session, do the following:

➤ In the CIW, type

load(" local_dir/ schConfig.il")

To load the configuration file for every session, do the following:

➤ Add the following command to your .cdsinit file:

load(" local_dir/ schConfig.il")

Loading the local configuration file takes precedence over loading the default configurationfile that resides in your installation directory.

Customizing Global Editor Variables for Form Fields

These IL variables describe the “indirection map” used by the schematic editor and symboleditor. You can customize these public global SKILL variables, which relate directly to the formfield settings. These variables are stored in the schConfig.il file.

To edit these variables, you need to open the configuration file.

The following table describes variables for customizing form fields for the

■ Schematic Editor Variables on page 486

■ Symbol Editor Variables on page 486

■ Symbol Generation (tsg) Variables on page 487

■ HDL (Verilog, SpectreHDL, and VerilogA) Variables on page 488

June 2000 485 Product Version 4.4.6

Page 486: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Schematic Editor Variables

Symbol Editor Variables

Schematic Form Field Description Variable Name

block edge to pin type and direction schBlockPinAttrs

block sizes and samples schBlockTemplate

schematicSymbol views exclusion schCycleViewNameExclusionList

schematic pin type schPinMasters

default schematic plot template file schPlotTemplate

severity and value check schSRCPackagedChecks

property name list selection schSelPropertyNameList

sheet border sizes and types schSheetMasters

simulation display format schSimProbeMasters

view translation to and from schViewMasters

view translation options function schViewMastersOptionFunc

pin cross reference format schZoneFormatString

pin cross reference format schZoneFormatValue

Symbol Form Field Description Variable Name

symbol label attributes schSymbolLabelChoices

symbol pin direction and type schSymbolPinMasters

June 2000 486 Product Version 4.4.6

Page 487: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Symbol Generation (tsg) Variables

Symbol Form Field Description Variable Name

pin connection type tsgConnectorMasters

symbol pin graphic characteristics tsgPinGraphicMasters

default tsgTemplateType tsgTemplateMasters

June 2000 487 Product Version 4.4.6

Page 488: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

HDL (Verilog, SpectreHDL, and VerilogA) Variables

Symbol Form Field Description Variable Name

enables/disables cross-view checking orchecks views against edited view

schHdlCrossViewCheck

specified set of views to check schHdlCrossViewString

controls editing and processing schHdlEditAfterError

port output type schHdlNetToInoutPort

port input type schHdlNetToInputPort

turns the mixed text-graphics feature on andoff

schHdlNoHierarchy

controls HDL printing schHdlPrintCommand

configures the characteristics of symbolsbuilt by the text-to-symbol generator (TSG)

schHdlUpdateSymbolAfterEdit

prints out diagnostic messages while theVerilog® text is parsed and processed

schHdlVerbose

June 2000 488 Product Version 4.4.6

Page 489: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

AMS Netlisting Variables

You can set severities for the following AMS checks:

Block Pin Direction Rule Variable

schBlockPinAttrs

Sets the pin direction implied by connecting to a specific edge of a block. This IL structuredescribes the mapping of the block edge to pin type and direction. This map is used by theschematic user interface to provide a simplified approach for selecting the pin directionimplied by connecting a wire to a specific edge of a block.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Syntax

list( PIN_TYPE list( EDGE_DIRECTION TERMINAL_DIRECTION ) list( EDGE_DIRECTION TERMINAL_DIRECTION ) ... ))

Arguments

Form Field Description Variable Name

illegal identifiers allowLegalIdentifiers

name collisions allowNameCollisions

conflicting bus ranges allowDeviantBuses

sparse buses allowSparseBuses

PIN_TYPE The name of the pin “type”

EDGE_DIRECTION left , right , bottom , top

June 2000 489 Product Version 4.4.6

Page 490: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

PIN_TYPE and TERMINAL_DIRECTION uniquely identify a pin master in theschSymbolPinMasters map.

Example

schBlockPinAttrs = list("block"

list("left" "input")list("right" "output")list("bottom" "inputOutput")list("top" "inputOutput")

)

TERMINAL_DIRECTION The CDBA terminal direction

June 2000 490 Product Version 4.4.6

Page 491: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Block Sample Sizes Variable

schBlockTemplate

Sets the block sample sizes during top-down block creation.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Put choices here for the block sample names, sizes, and labels that are used during blockcreation.

Standard Structure

list(list(

BLOCK_NAMEBLOCK_SIZElist(

LABELLABEL...

))

Add Block

June 2000 491 Product Version 4.4.6

Page 492: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

...)

Body Definition

Example

schBlockTemplate = list(list("freeform"

list(0:0 0:0)list(

list("[@instanceName]" "instance label" .08125"stick" "NLPLabel")

list("[@cellName]" "logical label" .08125"stick" "NLPLabel")))

list("small"list(0.0:0.0 1.0:1.0)list(

list("[@instanceName]" "instance label" .075"stick" "NLPLabel")

list("[@cellName]" "logical label" .075"stick" "NLPLabel")))

...)

BLOCK_NAME A string identifying blockSample .

BLOCK_SIZE list( pt1 pt2 pt3 pt4 ... )A list of points forming a block’s border.

LABEL list( text choice height font type )A list of label attributes.

text The label string.

choice One of “instance label” , “logical label” , “physicallabel” , “pin label” , “device annotate” , “pinannotate” .

height Label height in user units.

font A dbFontStyle; for example, “stick” .

type A dbLabelType: “normalLabel” , “NLPlabel” , “ILLabel” .

June 2000 492 Product Version 4.4.6

Page 493: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

View Name Exclusion Variable

schCycleViewNameExclusionList

Sets the exclusion for schematicSymbol views from being cycled through on the AddInstance form.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Standard Structure

schCycleViewNameExclusionList = list("ta" "tv" "silos" "hspice" "shilo" "package" ".moduleInfo""pcb" "verilog" "lai_verilog" "lmsi_verilog" "spice""synthesis"

)

Schematic Pin Types Variable

schPinMasters

Add Instance

June 2000 493 Product Version 4.4.6

Page 494: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Sets the pin usage, pin masters, and pin direction on the Add Pin form for creating aschematic pin. Sample pin masters are in the basic library.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

You can list as many choices as you want; for example, schematic, input, offsheet, and iopin.

Use offsheet only when you are going to connect the added pins to another sheet in amultisheet schematic.

Standard Structure

list(list(

PIN_USAGE...

)list( PIN_DIRECTION TERMINAL_DIRECTION

PIN_MASTER...

)...

)

Add Pin

June 2000 494 Product Version 4.4.6

Page 495: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Arguments

Example

schPinMasters = list(list(list("schematic" nil) list("offSheet" t))list("input" "input"

list("basic" "ipin" "symbol")list("basic" "ipin" "symbolrOff"))

list("output" "output"list("basic" "opin" "symbol")list("basic" "opin" "symbollOff"))

list("inputOutput" "inputOutput"list("basic" "iopin" "symbolr")list("basic" "iopin" "symbolrOff"))

list("switch" "switch"list("basic" "iopin" "symbolr")list("basic" "iopin" "symbolrOff"))

)

Plot Template File Variable

schPlotTemplate

This IL variable describes the default schematic plot template file that is loaded when the Plotcommand is started for the very first time.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

PIN_USAGE Each PIN_USAGE value is a list of two elements. The firstelement is a member of pin usage as it appears on the AddPin form. The second element indicates the pin is used asan offsheet connector when its value is ’t.

PIN_DIRECTION Pin direction as it appears on the Add Pin form.

TERMINAL_DIRECTION The CDBA terminal direction.

PIN_MASTER Each PIN_MASTER value is a list of three elements thatdefine the library, cell, and view names of a pin master.There must a matching PIN_MASTER entry to eachPIN_USAGE entry.

June 2000 495 Product Version 4.4.6

Page 496: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Example

schPlotTemplate = "~/plot.tf"

Schematic Rule Checker Variable

schSRCPackagedChecks

Sets the severities and values for the various SRC checks. Added “offsheetConnCheck”to “Normal” , “Logical Only” , and “Physical Only” package groups.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Example

schSRCPackagedChecks = list(list("Normal"

list("floatingNets" "warning")list("floatingInput" "warning")list("floatingOutput" "warning")list("floatingIO" "warning")list("floatingSwitch" "warning")list("shortedOutputs" "warning")list("offsheetConnCheck" "ignored")list("unconnectedWires" "ignored")...

))

Properties for Find Variable

schSelPropertyNameList

Sets the property names for the Select By Property and the Replace and Find commands.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Standard Structure

list(list( VIEW_NAME

list(list( ALIAS_NAME REAL_NAME [ATTR_LIST] )

June 2000 496 Product Version 4.4.6

Page 497: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

...)...

)...

)

Arguments

Example

schSelPropertyNameList = list(list("schematic"

list(list("instName" "name"

list(’("objType" "inst") ’("purpose" "cell")))list("netName" "name" list(’("objType" "net")))

list("pinName" "name" list(’("objType" "term")))list("master" "master")list("libName" "libName")list("cellName" "cellName")list("fontStyle" "font")list("fontHeight" "height")list("orient" "orient")list("partName" "partName")list("phyPartName" "phyPartName")list("power" "power")list("refDes" "refDes")list("technology" "technology")list("simMonitor" "schSimSignalName" list(’("objType"

"inst"))))

)list("schematicSymbol"

list(

VIEW_NAME Valid values are schematic and schematicSymbol .

ALIAS_NAME The name as it appears in the cyclic field on the form.

REAL_NAME The actual property name to be searched for in the database.

ATTR_LIST An optional attribute list defining the database attribute names andthe expected values.

June 2000 497 Product Version 4.4.6

Page 498: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

list("pinName" "name" list(’("objType" "net")))list("fontStyle" "font")list("fontHeight" "height")list("orient" "orient")list("layer" "layerName"))

))

June 2000 498 Product Version 4.4.6

Page 499: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Multisheet Masters Variable

schSheetMasters

Sets the choices for sheet border sizes and types on the Create Schematic Sheet form thatthe editor uses for a new sheet.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Standard Structure

list(list( SHEET_CHOICE ... )list( SIZE_NAME

SHEET_MASTER...

)...

Create Schematic Sheet

June 2000 499 Product Version 4.4.6

Page 500: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Arguments

Examples

schSheetMasters = list(list("basic" "continue")list("A"

list("US_8ths" "Asize" "symbol")list("US_8ths" "Asize_c" "symbol"))

list("B"list("US_8ths" "Bsize" "symbol")list("US_8ths" "Bsize_c" "symbol"))

)

Simulation Probe Masters Variable

schSimProbeMasters

Sets the simulation probe (schematic monitors) to be used for a specified format.

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Standard Structure

list(list( PROBE_FORMAT PROBE_MASTER)list( PROBE_FORMAT PROBE_MASTER)...

)

SHEET_CHOICE A sheet type that appears as an element in a cyclic field. You canlist multiple choices.

SIZE_NAME The first element of the sheet reference. Also, the name thatappears on the user interface form.

SHEET_MASTER Each SHEET_MASTER value is a list of three elements that definethe library, cell, and view names of a sheet. There must be amatching SHEET_MASTERentry for each SHEET_CHOICEentry. Tospecify a choice that is valid but does not create a sheet border, usea list of null strings, such as list("" "" "") .

June 2000 500 Product Version 4.4.6

Page 501: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Arguments

Example

schSimProbeMasters = list(list("<state>" list("basic" "simState" "symbol"))list("<time>:<state>" list("basic" "simState" "symbol"))list("<name>=<state>" list("basic" "simState" "symbol"))list("<name>=<time>:<state>" list("basic" "simState"

"symbol")))

View Name Masters Variable

schViewMasters

Sets the default view used for translation on all Create Cellview forms.

PROBE_FORMAT The format string that appears in the cyclic field of the createdisplay box form. It has three special format variables: name,state , and time .

PROBE_MASTER Each PROBE_MASTER value is a list of three elements that definethe library, cell, and view names of a probe symbol.

Cellview From Cellview

June 2000 501 Product Version 4.4.6

Page 502: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

To edit this variable, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

Standard Structure

list(list( VIEW_NAME TRANSLTE_TO TRANSLATE_FROM )list( VIEW_NAME TRANSLTE_TO TRANSLATE_FROM )...

)

Arguments

If a translation routine is nil , translation in that direction is undefined.

Synopsis of Translation Function

View to pinlist: funcName(t_libName t_cellName t_viewName) => l_pinList

Pinlist to view: funcName(t_libName t_cellName t_viewName l_pinList) => t/nil

t_libName, t_cellName, t_viewName: Defining the library, cell, and viewnames.

l_pinList : A DPL list describing the cellview ports, cellview properties, andport properties in the following format:

<l_pinList> := ( nil ports <portList> [props <propList>] )<portList> := ( <port> [ <portList> ] )<port> := ( nil name "termName" direction "termDir"

[prop <propList>] [pins <pinList>] )

<propList> := ( <prop> [ <propList> ] )<prop> := ( nil s_propName t_propValue s_propName

t_propValue )

VIEW_NAME The view name to be translated from or to.

TRANSLATE_TO The name of the SKILL function for translating from this view toa pin list.

TRANSLATE_FROM The name of the SKILL function for translating from a pin list tothis view.

June 2000 502 Product Version 4.4.6

Page 503: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

<pinList> := ( <pin> [ <pinList> ] )<pin> := ( nil name "pinName" accessDir "pinAccessDir"

[prop <propList>] )

Example

pinList =list(nil

’ports list(list(nil ’name "clock" ’direction "input")list(nil ’name "a0" ’direction "output"

’prop list(nil ’delay 55.0)))

‘prop list(nil ’partName "count" ’myProp 5))

Note: veriloga view name entry was new for the 4.4.1 release.

if( schExistsEditCap(nil) thenschViewMasters = list(

list("schematic" "schSchemToPinList" "schPinListToSchemGen")list("symbol" "schSymbolToPinList"

"schPinListToSymbolGen")list("functional" "schVerilogToPinList" "schPinListToVerilog")list("behavioral" "schVerilogToPinList" "schPinListToVerilog")list("system" "schVerilogToPinList" "schPinListToVerilog")list("veriloga" "schVerilogAToPinList"

"schPinListToVerilogA");list("layout" "schLayoutToPinList" nil))

elseschViewMasters = list(

list("schematic" "schSchemToPinList" "schPinListToSchem")list("symbol" "schSymbolToPinList" "schPinListToSymbolGen"))

)

June 2000 503 Product Version 4.4.6

Page 504: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

View Master Options Variable

schViewMastersOptionFunc

The text-to-symbol generator (TSG) uses this variable to determine whether the creationfunction of a particular destination cellview (in this case, symbol) has an options form.

For example, when you choose Edit Optionson the Cellview From Cellview form and you wantto create a symbol cellview, the Symbol Generation Options form appears.

To edit the schViewMastersOptionFunc variable, you need to open the configuration file.

Standard Structure

list(list( VIEW_NAME OPTIONS_FUNC )...

)

Note: veriloga view name entry was new for the 4.4.1 release.

if( isCallable(‘schPinListToVerilog) thenschViewMastersOptionFunc = list(

list("schematic" nil)list("symbol" "schDisplaySymbolTemplateForm")list("functional" nil)list("behavioral" nil)

Cellview From Cellview

myLib

decoder

June 2000 504 Product Version 4.4.6

Page 505: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

list("system" nil)list("veriloga" nil)list("abel" nil)

)else

schViewMastersOptionFunc = list(list("schematic" nil)list("symbol" "schDisplaySymbolTemplateForm")list("abel" nil))

)

Zone Formats Variable

schZoneFormatString

schZoneFormatValue

To edit these variables, you need to open the configuration file. You can add or delete choicesany time before you execute any schematic functionality in an interactive session.

These global variables specify the format of the pin cross-reference information, whichspecifies pin locations by sheet numbers, X and Y zones. The schZoneFormatStringand schZoneFormatValue variables are used when creating pin cross-references by theSheet – Cross Reference command and when parsing pin cross-references by the Sheet –Go To Pin command.

The schZoneFormatString variable specifies the formatting information for the sheetnumber, Y zone, and X zone. The schZoneFormatValue variable specifies the order ofthe sheet number, Y zone, and X zone in the schZoneFormatString formatting string.For example, the 3B2 pin cross-reference specifies a reference to a pin located in zone B2in sheet 3.

schZoneFormatString = "%d%[?ABCDEFGHIJKLMNOPQRSTUVWXYZ]%d"schZoneFormatValue = list(nil ’sheet 1 ’yZone 2 ’xZone 3)

Symbol Label Variables

schSymbolLabelChoices

June 2000 505 Product Version 4.4.6

Page 506: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Sets the symbol label attributes on the Add Symbol Label form.

Each label consists of

label = list(choice text type layer purpose)

Arguments

Standard Structure

list(list( CHOICE list( TEXT TYPE LAYER_NAME PURPOSE))list( CHOICE list( TEXT TYPE LAYER_NAME PURPOSE))list( CHOICE list( TEXT TYPE LAYER_NAME PURPOSE))

choice An identifier used in forms to access this list to elect the label attributes.

text The label string.

layer The layer name used for the label.

purpose The purpose of the label.

type A dbLabelType: normalLabel , NLPLabel , ILLabel

Add Symbol Label

INV

logical label

June 2000 506 Product Version 4.4.6

Page 507: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

...)

Default File

list("instance label"list("[@instanceName]" "NLPLabel" "instance" "label"))list("device annotate"list("[@refDes]" "NLPLabel" "device" "annotate"))list("logical label"list("[@partName]" "NLPLabel" "device" "label"))list("physical label"list("[@userPartName:%:[@phyPartName]]" "NLPLabel"

"annotate" "drawing2"))list("pin name"list("{pinName}" "normalLabel" "pin" "label"))list("pin annotate"list("[@p_{pinName}]" "NLPLabel" "pin" "annotate"))list( "art instance label"list( "cdsName()" "ILLabel" "annotate" "drawing7" ))list( "art pin annotate"list( "cdsTerm(\"{pinName}\")" "ILLabel" "annotate"

"drawing8" ))list( "art device annotate"list( "cdsParam(1)" "ILLabel" "annotate" "drawing" ))

)

Symbol Pin Masters Variable

schSymbolPinMasters

June 2000 507 Product Version 4.4.6

Page 508: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Sets the direction and type of pin masters on the Add Pin form for creating a symbol pin.

The first element in the schConfig.il file lists only one entry for the number of incrementsand size.

To set the default Type to square, refer to the schSymbolPinUsage environment variable.

Standard Structure

list(list( OFFSET_INCREMENT MAX_INCREMENT_COUNT )

list( PIN_TYPElist( TERMINAL_DIRECTION PIN_MASTER )list( TERMINAL_DIRECTION PIN_MASTER )...

)...

)

Add Pin

A Y

June 2000 508 Product Version 4.4.6

Page 509: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Arguments

Example

The next code in the schConfig.il file is the type name for the pin (square, round, actHi,commActLo, ieeeActLo, block) that appears as Type on the form, plus the pin direction asdescribed by CDBA.

schSymbolPinMasters = list(list(0.03125 32)list("square"

list("input" list("basic" "sympin" "symbolNN"))list("output" list("basic" "sympin" "symbolNN"))list("inputOutput" list("basic" "sympin" "symbolNN"))list("switch" list("basic" "sympin" "symbolNN")))

list("round"list("input" list("basic" "circle" "symbol"))list("output" list("basic" "circle" "symbol"))list("inputOutput" list("basic" "circle" "symbol"))list("switch" list("basic" "circle" "symbol")))...

)

OFFSET_INCREMENT Defines the basis unit of the label offset increment.

MAX_INCREMENT_COUNT Defines the maximum basis units a label can be offsetby the user. Controls the maximum value of amaximum increment slider on the user interface form.

PIN_TYPE The pin type as appeared on the user interface form.Each pin type can have pins of different directions.

TERMINAL_DIRECTION The CDBA terminal direction

PIN_MASTER Each PIN_MASTER value is a list of three elementsthat define the library, cell, and view names of a pinmaster.

June 2000 509 Product Version 4.4.6

Page 510: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Customizing Text-to-Symbol Generator (TSG) Variablesfor Form Fields

The following IL variables describe the “indirection map” used by the schematic composeruser interface. You can customize these public global SKILL variables used on commandforms. These variables are stored in the schConfig.il file.

To edit these variables, you need to open the configuration file.

Pin Master Connections Variable

tsgConnectorMasters

This IL structure describes the “indirection map” used by tsg to provide a simplifiedapproach for selecting the pin connectors to be used during symbol generation.

Put choices for the symbol generator “pin connector” here. Each entry contains a pinconnector name followed by a cellview specification for each direction. The pin connectorname is used on the user interface form. The cellview should contain the graphics for just thepin connector, not the pin stub or the clock and negative indicators.

Standard Structure

list(list(PIN_TYPE

list( TERMINAL_DIRECTION PIN_MASTER )list( TERMINAL_DIRECTION PIN_MASTER )...

)...

)

Symbol Form Field Description Variable Name

pin connection type tsgConnectorMasters

symbol pin graphic characteristics tsgPinGraphicMasters

default tsgTemplateType tsgTemplateMasters

June 2000 510 Product Version 4.4.6

Page 511: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Arguments

Standard Structure

tsgConnectorMasters = list(list("square"

list("input" list("basic" "sympin" "symbolNN"))list("output" list("basic" "sympin" "symbolNN"))list("inputOutput" list("basic" "sympin" "symbolNN"))list("switch" list("basic" "sympin" "symbolNN")))

list("circle"list("input" list("basic" "circle" "symbol"))list("output" list("basic" "circle" "symbol"))list("inputOutput" list("basic" "circle" "symbol"))list("switch" list("basic" "circle" "symbol")))

list("block"list("input" list("basic" "blockipin" "symbol"))list("output" list("basic" "blockopin" "symbol"))list("inputOutput" list("basic" "blockiopin" "symbol"))list("switch" list("basic" "blockiopin" "symbol")))

)

Symbol Pin Characteristics Variable

tsgPinGraphicMasters

This IL structure describes the “indirection map” used by TSG to provide a simplifiedapproach for selecting the pin graphics to be used during symbol generation.

Standard Structure

list(list( PIN_TYPE

list( TERMINAL_DIRECTION PIN_GRAPHIC )

PIN_TYPE The pin type as it appeared on the user interface form.Each pin type can have pins of different directions asdefined by the lists that follow it.

TERMINAL_DIRECTION The CDBA terminal direction.

PIN_MASTER A list of three elements that define the library, cell, andview names of a pin master.

June 2000 511 Product Version 4.4.6

Page 512: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

list( TERMINAL_DIRECTION PIN_GRAPHIC )...

)...

)

Arguments

Example

tsgPinGraphicMasters = list(list("actHi"

list("input" nil)list("output" nil)list("inputOutput" nil)list("switch" nil))

list("actLo"list("input" list("basic" "tsgActLo" "symbol"))list("output" list("basic" "tsgActLo" "symbol")). . .

Template Masters Variables

tsgTemplateMasters

This IL structure contains a list of tsgType/tsgTemplateFile pairs. EachtsgTemplateFile contains a different set of defaults for use by TSG when creatingsymbols. The environment variable tsgTemplateType is associated with the initializationof the default tsgType .

tsgTemplateMasters = list(list("digital" (prependInstallPath "samples/symbolGen/

PIN_TYPE The pin graphic types as they appeared on the userinterface form. Each pin type can have pin graphics ofdifferent directions.

TERMINAL_DIRECTION The CDBA terminal direction.

PIN_GRAPHIC A list of three elements that define the library, cell, andview names of a pin graphic master such as a clock ornegative indicator. A nil entry indicates there are nographics for this type.

June 2000 512 Product Version 4.4.6

Page 513: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

default.tsg"))list("analog” (prependInstallPath "samples/symbolGen/

analog.tag"))list("artist" (prependInstallPath "samples/symbolGen/

artist.tsg"))list("PCB" (prependInstallPath "samples/symbolGen/

package.tsg"))list("metric" (prependInstallPath "samples/symbolGen/

metric.tsg")))

You can customize the four default TSG template masters in the schConfig.il file, or youcan create a new TSG template file that contains the current settings within the SymbolGeneration options form.

To customize template master variables, do the following:

1. Open the schConfig.il file and search for the tsgTemplateMasters section.

2. Edit the template masters or copy one of the four template masters to use as a newtemplate master.

The system uses the tsgTemplateType environment variable to determine whichtemplate file to use.

Customizing HDL Variables for Form Fields

Use the following variables for customizing form fields for HDL.

Edit After Error Variable

schHdlEditAfterError

Edits Affirma™ Verilog®-A or Verilog simulator descriptions again if a syntax error is found.

Examples

schHdlEditAfterError = nilschHdlEditAfterError = t

Update Symbol After Edit Variable

schHdlUpdateSymbolAfterEdit

June 2000 513 Product Version 4.4.6

Page 514: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

After you edit Verilog or Affirma Verilog-A text, the symbol associated with the cell isconditionally updated to match the pinout of the Verilog module. A flag that controls theupdating of the symbol can be set to one of three values:

t : If required, update symbol after editingnil : Don’t update symbol after editing"query" : Display dialog box, asking if you want symbol

Example

updatedschHdlUpdateSymbolAfterEdit = "query"

Cross View Check Variable

schHdlCrossViewCheck

Enables or disables cross-view checking after editing Verilog or Affirma Spectre® HDL. Ifturned on, cross-view checks are performed after editing Verilog or Spectre HDL.

Examples

schHdlCrossViewCheck = nil ; disable xview checksschHdlCrossViewCheck = t

Cross View String Variable

schHdlCrossViewString

If cross-view checking is turned on, all views are checked against the edited view. UseschHdlCrossViewString to specify a particular set of views to check. A nil value or“” checks all views.

Examples

schHdlCrossViewString = "schematic symbol"schHdlCrossViewString = ""

Printing Variable

schHdlPrintCommand

The UNIX command used by the Design – Printmenu item in the Verilog or Spectre HDL viewwindow.

June 2000 514 Product Version 4.4.6

Page 515: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Examples

schHdlPrintCommand = "lw -Plw1"schHdlPrintCommand = "lpr"

Verbose Variable

schHdlVerbose

Prints out diagnostic messages while the Verilog text is parsed and processed. This is atristate flag:

t | nil | "all"

If hdlVerbose is set to all , a detailed description of the pseudoschematic isdisplayed in the CIW. The output can be quite lengthy.

Examples

schHdlVerbose = tschHdlVerbose = nil

June 2000 515 Product Version 4.4.6

Page 516: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

No Hierarchy Variable

schHdlNoHierarchy

This flag turns the mixed text-graphics feature on and off. If the flag is set, instanceinformation is ignored when the Verilog text is postprocessed. Verilog descriptions editedwhen this flag is set can be used only as leaf cells in a netlist.

Examples

schHdlNoHierarchy = tschHdlNoHierarchy = nil

Net to Port Variable

schHdlNetToInputPort

schHdlNetToInoutPort

Port direction for instantiated Verilog modules is inferred by their connection to primary I/O orinternal registers. The following variables map the inferred port type (input or inout) to theconnecting net type. All other nets are assumed to be connected to instance output ports. Thevalid values in the list are reg , time , integer , real , expression , net , and unknown .

Examples

schHdlNetToInoutPort = ‘("net")

Default File

schHdlNetToInputPort = list(reg time integer real expression)schHdlNetToInoutPort = nil

Customizing the Plot Configuration

Most of the choices for the cyclic fields on the Plot Options form are set in the display resourcefile, called the cdsplotinit file, which you can edit. This file is the foundation plotter modeldata base for Cadence Design Systems plot software. This file builds site specific.cdsplotinit files.

June 2000 516 Product Version 4.4.6

Page 517: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideCustomizing the Schematic Composer

Caution

You must create a site-specific version of the cdsplotinit file and locate itin your_install_dir/tools/plot, your working directory, or your homedirectory.

A read-only version of the cdsplotinit file is located in your_install_dir /tools/plot/etc/cdsplotinit . You can copy this file to your working directory or your homedirectory and then edit it. You can edit the following specifications:

■ Type and name of plotter

■ Paper size

■ Page orientation

■ Page size

■ Resolution

June 2000 517 Product Version 4.4.6

Page 518: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

AEnvironment Variables

Appendix A describes the following environment variables:

■ Window Environment Variables on page 524

❑ schDisplayDepth on page 524

❑ schDrawAxesOn on page 525

❑ schDynamicHilightOn on page 525

❑ schGridMultiple on page 525

❑ schGridSpacing on page 526

❑ schGridType on page 526

❑ schMaxDragFig on page 527

❑ schPathType on page 527

❑ schShowDirectConnects on page 527

❑ schShowLabelOrigin on page 528

❑ schSnapSpacing on page 528

❑ schWindowBBox on page 529

❑ symDisplayDepth on page 529

❑ symDrawAxesOn on page 529

❑ symDynamicHilightOn on page 530

❑ symGridMultiple on page 530

❑ symGridSpacing on page 531

❑ symGridType on page 531

❑ symMaxDragFig on page 531

June 2000 518 Product Version 4.4.6

Page 519: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

❑ symPathType on page 532

❑ symShowDirectConnects on page 532

❑ symShowLabelOrigin on page 532

❑ symSnapSpacing on page 533

❑ symWindowBBox on page 533

❑ viewNameList on page 534

■ Schematic Environment Variables on page 534

❑ autoDot on page 534

❑ blockDirRules on page 535

❑ broadcast on page 535

❑ browserType on page 535

❑ checkAlways on page 536

❑ checkBeepOn on page 536

❑ checkHierSave on page 537

❑ checkSymTime on page 537

❑ compBackTrace on page 538

❑ condOp on page 538

❑ createCvOptions on page 539

❑ createInstResetCDF on page 539

❑ createInstShowCDF on page 540

❑ createLabelFontHeight on page 540

❑ createLabelFontStyle on page 540

❑ createLabelHorzOffset on page 541

❑ createLabelHorzPosition on page 541

❑ createLabelHorzRotation on page 541

❑ createLabelJustify on page 542

❑ createLabelOffsetMode on page 542

June 2000 519 Product Version 4.4.6

Page 520: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

❑ createLabelVertOffset on page 543

❑ createLabelVertPosition on page 543

❑ createLabelVertRotation on page 543

❑ cvDisplay on page 544

❑ defaultsFile on page 544

❑ defWideWireWidth on page 545

❑ descendSheet on page 545

❑ descendTarget on page 545

❑ dotOverlap on page 546

❑ drawMode on page 546

❑ drawModeRoute on page 547

❑ echoToCIW on page 547

❑ editPropShowCDF on page 547

❑ editPropShowSystem on page 548

❑ editPropShowUser on page 548

❑ findZoomButton on page 549

❑ gravityOn on page 549

❑ libList on page 549

❑ markerSeverity on page 550

❑ markerShowIgnore on page 550

❑ markerZoom on page 551

❑ maxLabelOffsetUU on page 551

❑ minMarkerSize on page 551

❑ modalCommands on page 552

❑ netExprDisplay on page 552

❑ netNameMethod on page 553

❑ netNamePrefix on page 553

June 2000 520 Product Version 4.4.6

Page 521: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

❑ netNameRangeDescend on page 553

❑ netNameSeparator on page 554

❑ noteFontHeight on page 554

❑ noteFontStyle on page 555

❑ noteJustify on page 555

❑ noteShape on page 555

❑ noteShapeLineStyle on page 556

❑ pinBackTrace on page 556

❑ pinNameSeed on page 557

❑ pinRefDuplicates on page 557

❑ pinRefFormat on page 557

❑ pinRefSorting on page 558

❑ replSaveChanges on page 558

❑ runSRC on page 559

❑ runVIC on page 559

❑ saveAction on page 559

❑ schematicAreaPartialSelect on page 560

❑ schematicSelectFilter on page 560

❑ sensitiveMenu on page 561

❑ shapeLineType on page 561

❑ shapeLineWidth on page 561

❑ simProbeFormat on page 562

❑ simProbeType on page 562

❑ snapEnabled on page 563

❑ spanLib on page 563

❑ srcConnByName on page 563

❑ srcFloatingBIDIR on page 564

June 2000 521 Product Version 4.4.6

Page 522: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

❑ srcFloatingInput on page 564

❑ srcFloatingIO on page 565

❑ srcFloatingNets on page 565

❑ srcFloatingOutput on page 565

❑ srcInheritedConnCheck on page 566

❑ srcInstNameExpr on page 566

❑ srcInstNameSyntax on page 567

❑ srcInstOverlap on page 567

❑ srcInstOverlapValue on page 567

❑ srcMaxLabelOffset on page 568

❑ srcNameCollision on page 568

❑ srcNetNameExpr on page 569

❑ srcNetNameSyntax on page 569

❑ srcNoOverrideNet on page 569

❑ srcOffsheetConnCheck on page 570

❑ srcPinNetCollision on page 570

❑ srcShortedOutputs on page 571

❑ srcSolderOnCrossover on page 571

❑ srcTermNameExpr on page 571

❑ srcTermNameSyntax on page 572

❑ srcUnconnectedWires on page 572

❑ srcVerilogSyntax on page 573

❑ srcVHDLSyntax on page 573

❑ ssgSortPins on page 573

❑ statusBanner on page 574

❑ statusBannerXY on page 574

❑ stickyWireLabelRange on page 575

June 2000 522 Product Version 4.4.6

Page 523: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

❑ symbolAreaPartialSelect on page 575

❑ symbolLabelChoiceText on page 575

❑ symbolLabelFontHeight on page 576

❑ symbolLabelFontStyle on page 576

❑ symbolLabelJustify on page 577

❑ symbolLabelType on page 577

❑ symbolPinFlatten on page 577

❑ symbolPinIncrCount on page 578

❑ symbolPinLocate on page 578

❑ symbolPinUsage on page 579

❑ symbolSelectFilter on page 579

❑ symbolShape on page 579

❑ symbolShapeFillStyle on page 580

❑ transToSheetType on page 580

❑ tsgTemplateType on page 580

❑ updateConn on page 581

❑ vicExactPinMatch on page 582

❑ vicInheritedPins on page 582

❑ vicInheritedPinsMatch on page 582

❑ vicSeverity on page 583

❑ vicViewList on page 583

❑ wireBackTrace on page 584

❑ zoomOutButton on page 584

June 2000 523 Product Version 4.4.6

Page 524: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

Window Environment Variables

This section describes the schematic environment variables that control properties forschematic and symbol editor windows, including the properties that control the grid displayand snap spacing.

In earlier releases, the properties associated with a schematic or symbol editor window hadto be defined as part of the data in a library. Although the process lets you define propertyvalues that were data specific, the setup was complex and could not be customized.

You can use the schematic window environment variables described in this section tocustomize the window displays, grid controls, and sizes for both the schematic and symboleditors. You can control the behavior of the editor windows by

■ Specifying the option on either the display and grid options form

■ Specifying the corresponding environment variable as an argument for the schGetEnvand schSetEnv procedural interface functions

■ Specifying the corresponding environment variable value in your startup .cdsenv file

Note: The system writes to the .cdsenv file automatically whenever you use theOptions – Save Defaults command; if the file already exists, the system prompts you tooverwrite the file.

schDisplayDepth

Specifies the display depth for the graphics editor. A value of 0 specifies that none of thegraphics are to be rendered. Instead, a bounding box is drawn with the name of the symbol.

Type integer

Value(s) 0 - 20

Default 3

Command(s) n/a

Form(s) n/a

Form Field n/a

June 2000 524 Product Version 4.4.6

Page 525: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

schDrawAxesOn

Specifies whether the schematic editor displays the X and Y axes when you view or edit aschematic view.

schDynamicHilightOn

Specifies whether the schematic editor dynamically highlights the items that it will selectwhen you click on them. When t , the editor highlights the items with a dashed outline as youmove the cursor over objects in your design.

schGridMultiple

When the grid type is either dotted or line, this value specifies the number of grids betweenmajor grids.

Type Boolean

Value(s) t, nil

Default nil

Command(s) Options – Display

Form(s) Display Options

Form Field Axes On

Type Boolean

Value(s) t, nil

Default t

Command(s) Options – Display

Form(s) Display Options

Form Field Dynamic Highlighting

Type integer

Value(s) any positive number

Default 8

June 2000 525 Product Version 4.4.6

Page 526: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

schGridSpacing

Specifies the distance between grids.

schGridType

Specifies the type of grid to display when you view or edit schematics.

Command(s) Options – Display

Form(s) Display Options

Form Field Grid Multiple

Type float

Value(s) n/a

Default 0.125 (assumes inches)

Command(s) Options – Display

Form(s) Display Options

Form Field Snap Spacing

Type cyclic

Value(s) “none” “dotted” “line”

Default “dotted”

Command(s) Options – Display

Form(s) Display Options

Form Field Grid Type

June 2000 526 Product Version 4.4.6

Page 527: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

schMaxDragFig

Specifies the maximum number of figures that will be rendered during dragging. If draggingobjects would result in rendering more than this number of objects, a bounding box is draggedinstead.

schPathType

Specifies how the schematic editor renders wide wires. For example, you might want to seeonly the centerline.

schShowDirectConnects

When enabled, the editor highlights the direct connections from pin to pin.

Type integer

Value(s) n/a

Default 100

Command(s) Options – Display

Form(s) Display Options

Form Field Drag Limit

Type cyclic

Value(s) “full” “outline” “centerline”

Default “full”

Command(s) n/a

Form(s) n/a

Form Field n/a

Type Boolean

Value(s) t, nil

Default nil

Command(s) Options – Display

June 2000 527 Product Version 4.4.6

Page 528: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

schShowLabelOrigin

Specifies whether the origin of text in the schematic editor (wire names, pin names, note text,and so forth) is highlighted by a small crosshair. This is useful for precise locating of names.

schSnapSpacing

Specifies the minimum distance that the cursor moves. The default distance (0.0625) is equalto half the default grid spacing distance (0.125).

Form(s) Display Options

Form Field Show Direct Connection

Type Boolean

Value(s) t, nil

Default nil

Command(s) Options – Display

Form(s) Display Options

Form Field Show Text Justification

Type float

Value(s) n/a

Default 0.0625 (assumes inches)

Command(s) Options – Display

Form(s) Display Options

Form Field Snap Spacing

June 2000 528 Product Version 4.4.6

Page 529: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

schWindowBBox

Specifies the window coordinates that the schematic editor uses when creating a window.The lower left and upper right coordinates are specified in screen pixels.

symDisplayDepth

Specifies the display depth for the graphics editor. A value of 0 specifies that none of thegraphics are to be rendered. Instead, a bounding box is drawn with the name of the symbol.

symDrawAxesOn

Specifies whether the symbol editor displays the X and Y axes when you view or edit a symbolview.

Type string

Value(s) “((120 185) (1020 875))”

Default n/a

Command(s) n/a

Form(s) n/a

Form Field n/a

Type integer

Value(s) n/a

Default 3

Command(s) n/a

Form(s) n/a

Form Field n/a

Type Boolean

Value(s) t, nil

Default nil

Command(s) Options – Display

June 2000 529 Product Version 4.4.6

Page 530: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symDynamicHilightOn

Specifies whether the symbol editor dynamically highlights the items that it will select whenyou click the left mouse button. When t , the editor highlights the items with a dashed outlineas you move the cursor over objects in your design.

symGridMultiple

When the grid type is either dotted or line, this value specifies the number of grids betweenmajor grids.

Form(s) Display Options

Form Field Axes On

Type Boolean

Value(s) t, nil

Default t

Command(s) Options – Display

Form(s) Display Options

Form Field Dynamic Highlighting

Type integer

Value(s) n/a

Default 0.0625 (assumes inches)

Command(s) Options – Display

Form(s) Display Options

Form Field Grid Multiple

June 2000 530 Product Version 4.4.6

Page 531: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symGridSpacing

Specifies the distance between minor grids.

symGridType

Specifies the type of grid to display when you view or edit symbols.

symMaxDragFig

Specifies the maximum number of figures that will be rendered during dragging. If draggingobjects would result in rendering more than this number of objects, a bounding box is draggedinstead.

Type float

Value(s) n/a

Default 0.125 (assumes inches)

Command(s) Display – Options – Display

Form(s) Display Options

Form Field Snap Spacing

Type cyclic

Value(s) “none” “dotted” “line”

Default “dotted”

Command(s) Display – Options – Display

Form(s) Display Options

Form Field Grid Type

Type integer

Value(s) n/a

Default 100

Command(s) Display – Options – Display

June 2000 531 Product Version 4.4.6

Page 532: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symPathType

Specifies how the schematic editor renders wide wires. For example, you might want to seeonly the centerline.

symShowDirectConnects

When enabled, the editor highlights the direct connections from pin to pin.

symShowLabelOrigin

Specifies whether the origin of text in the schematic editor (wire names, pin names, note text,and so forth) is highlighted by a small crosshair. This is useful for precise locating of names.

Form(s) Display Options

Form Field Drag Limit

Type cyclic

Value(s) “full” “outline” “centerline”

Default “full”

Command(s) n/a

Form(s) n/a

Form Field n/a

Type Boolean

Value(s) t, nil

Default nil

Command(s) Options – Display

Form(s) Display Options

Form Field Show Direct Connection

Type Boolean

June 2000 532 Product Version 4.4.6

Page 533: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symSnapSpacing

Specifies the minimum distance that the cursor moves. The default distance (0.0625) is equalto half the default grid spacing distance (0.125).

symWindowBBox

Specifies the window coordinates that the schematic editor uses when creating a window.The lower left and upper right coordinates are specified in screen pixels.

Value(s) t, nil

Default nil

Command(s) Options – Display

Form(s) Display Options

Form Field Show Text Justification

Type float

Value(s) n/a

Default 0.0625 (assumes inches)

Command(s) Options – Display

Form(s) Display Options

Form Field Snap Spacing

Type string

Value(s) “((120 185) (1020 875))”

Default n/a

Command(s) n/a

Form(s) n/a

Form Field n/a

June 2000 533 Product Version 4.4.6

Page 534: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

viewNameList

Specifies the default view name list to place on schematic and symbol editor windows. Theview name list controls how hierarchy traversal should expand the design except in the casewhere a schematic is in the context of a hierarchy configuration.

Schematic Environment Variables

This section describes the schematic environment variables. You can use these variables tocontrol the behavior of many schematic and symbol editor commands. You can control thebehavior of an editor command by

■ Specifying an option on the corresponding options form

■ Specifying the corresponding environment variable as an argument for the schGetEnvand schSetEnv procedural interface functions

■ Specifying the corresponding environment variable value in your startup .cdsenv file

Note: The system writes to the .cdsenv file automatically whenever you use theOptions – Save Defaults command; if the file already exists, the system prompts you tooverwrite the file.

autoDot

Specifies whether the editor automatically generates a solder dot for three-wireT-intersections or intersections that include either angled wires or flight lines.

Type string

Value(s) n/a

Default “schematic symbol”

Command(s) n/a

Form(s) n/a

Form Field n/a

Type Boolean

Value(s) t, nil

Default t

June 2000 534 Product Version 4.4.6

Page 535: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

blockDirRules

Specifies the rule for setting the direction of the new pins that the system createsautomatically when you edit a block.

broadcast

Specifies whether cross-selection is broadcast.

browserType

Specifies which browser you access when the Add Instance command is active.

Command(s) Options – Editor

Form(s) Editor Options

Form Field Solder Dots Created Automatically

Type cyclic

Value(s) “edge” “order of entry”

Default “edge”

Command(s) Options – Editor

Form(s) Editor Options

Form Field Block Pin Direction Rule

Type Boolean

Value(s) t, nil

Default nil

Command(s) Options – Editor

Form(s) Editor Options

Form Field Enable Cross Section

Type string

June 2000 535 Product Version 4.4.6

Page 536: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

checkAlways

Specifies whether the editor checks all schematics encountered during traversal or only thosethat have been modified.

checkBeepOn

Specifies whether the system beeps after every save and check-in. If set to t , the systembeeps even if there is no error or warning message. The benefit of turning this option on is tolet you know when the check is complete. If set to nil , the system restores the behavior torelease 4.3.x (the system beeps only when an error or warning is found).

Value(s) “library” “component”

Default “library”

Command(s) Options – Editor

Form(s) Editor Options

Form Field Browser Type

Type Boolean

Value(s) t, nil

Default nil

Command(s) Check – Hierarchy

Check – Options

Form(s) Check Hierarchy

Schematic Check Options

Form Field(s) Process

From a Multisheet Index, Check

Type Boolean

Value(s) t, nil

Default t

Command(s) Check – Options

June 2000 536 Product Version 4.4.6

Page 537: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

checkHierSave

Specifies whether the system saves schematics as they are processed during a hierarchicalcheck. When nil , schematics are not saved during processing, which allows you to save ordiscard the edits manually. When t , schematics containing zero errors are automaticallysaved. For those schematics that do contain errors, whether they are saved is based on thevalue of the saveAction variable.

checkSymTime

Specifies whether the system runs a consistency check of the symbol masters and specifiesthe level of the check. When you specify a level of 0, the system does not run a consistencycheck. When you specify a level of 1 to 3, the system attempts to run the specified checkduring loading. A level 2 check attempts to run the level 1 check first. A level 3 check attemptsto run both the level 1 and level 2 checks first.

When you set the value of this variable to 1, the system generates a warning when the valueof a symbol’s instancesLastChanged property is newer than the schematic’sinstancesLastChanged property.

When you set the value of this variable to 2, the system generates a warning when the valueof the symbol’s UNIX file modification time stamp is newer than the schematic’s. The systemdoes not run this check if the level 1 check fails.

When you set the value of this variable to 3, the system generates a warning when the valueof the symbol’s check-in time stamp is newer than the value of the schematic’s

Form(s) Schematic Check Options

Form Field Beep When 0 Errors/Warnings

Type Boolean

Value(s) t, nil

Default t

Command(s) Check – Hierarchy

Form(s) Check Hierarchy

Form Field Save Schematics

June 2000 537 Product Version 4.4.6

Page 538: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

instancesLastChanged property. The system does not run this check if either the level 1 orlevel 2 check fails.

compBackTrace

Specifies whether routing should backtrace to components when you stretch an object.

condOp

Specifies the conditional operator for the Find and Replace commands.

Type integer

Value(s) 0, 1, 2, 3

Default 1

Command(s) n/a

Form(s) n/a

Form Field n/a

Type Boolean

Value(s) t, nil

Default t

Command(s) Edit – Stretch

Form(s) Stretch

Form Field Back Trace Wire From

Type cyclic

Value(s) “==” “!=” “<“ “>” “<=” “>=”

Default “==”

Command(s) Edit – Search – Find

Edit – Search – Replace

Form(s) Schematic Find

June 2000 538 Product Version 4.4.6

Page 539: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

createCvOptions

Specifies whether the Create Cellviewcommands display an options form that is specific to thedestination cellview.

createInstResetCDF

Specifies whether the Add Instance command retains the current effective CDF values for acomponent when the same component is placed at a later time. If set to t , the editor CDFresets the CDF values to their default settings when you start the Add Instance command.

Schematic Replace

Symbol Find

Symbol Replace

Form Field Search For/Replace With

Type Boolean

Value(s) t, nil

Default t

Command(s) Design – Create Cellview – From Cellview

Design – Create Cellview – From Pin List

Form(s) Cellview From Cellview

Cellview From Pin List

Form Field Edit Options

Type Boolean

Value(s) t, nil

Default t

Command(s) Add – Component

Form(s) n/a

Form Field n/a

June 2000 539 Product Version 4.4.6

Page 540: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

createInstShowCDF

Specifies whether the Add Instance form appears when the component you want to addcontains CDF parameters.

createLabelFontHeight

Specifies a value (in user units) for the font height for the wire names that you add with theAdd Wire Name command.

createLabelFontStyle

Specifies a font for the wire names that you add with the Add Wire Name command.

Type Boolean

Value(s) t, nil

Default t

Command(s) Add – Component

Form(s) n/a

Form Field n/a

Type float

Value(s) n/a

Default 0.625 (assumes inches)

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Font Height

Type cyclic

Value(s) “euroStyle” “gothic” “math” “roman” “script” “stick” “fixed”“swedish” “milSpec”

Default “stick”

Command(s) Add – Wire Name

June 2000 540 Product Version 4.4.6

Page 541: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

createLabelHorzOffset

Specifies the offset distance of the wire name text in relation to a horizontal wire.

createLabelHorzPosition

Specifies the position of the wire name text in relation to a horizontal wire.

createLabelHorzRotation

Specifies the orientation of the wire name text in relation to a horizontal wire.

Form(s) Add Wire Name

Form Field Font Style

Type float

Value(s) n/a

Default 0.045 (assumes inches)

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Horizontal/Text Offset

Type cyclic

Value(s) “above” “below”

Default “above”

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Horizontal/Text Position

Type cyclic

Value(s) “R0” “R90”

June 2000 541 Product Version 4.4.6

Page 542: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

createLabelJustify

Specifies the justification for the wire name text.

createLabelOffsetMode

Specifies the wire name Entry Stylemode. When set to t , the mode is fixed offset. When set tonil , the mode is manual.

Default “R0”

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Horizontal/Text Rotation

Type cyclic

Value(s) “unknown” “upperLeft” “centerLeft” “lowerLeft” “upperCenter”“centerCenter” “lowerCenter” “upperRight” “centerRight”“lowerRight”

Default “lowerCenter”

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Justification

Type Boolean

Value(s) t, nil

Default t

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Entry Style

June 2000 542 Product Version 4.4.6

Page 543: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

createLabelVertOffset

Specifies the location of the wire name text in relation to a vertical wire.

createLabelVertPosition

Specifies the position of the wire name text in relation to a vertical wire.

createLabelVertRotation

Specifies the orientation of the wire name text in relation to a vertical wire.

Type float

Value(s) n/a

Default 0.045 (assumes inches)

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Vertical/Text Offset

Type cyclic

Value(s) “left” “right”

Default “left”

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Vertical/Text Position

Type cyclic

Value(s) “R0” “R90”

Default “R90”

Command(s) Add – Wire Name

Form(s) Add Wire Name

Form Field Vertical/Text Rotation

June 2000 543 Product Version 4.4.6

Page 544: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

cvDisplay

Specifies whether the system displays a new cellview in a window when you complete theCreate – Cellview command.

defaultsFile

Specifies which file the editor accesses when loading or dumping the schematic environmentvariables.

Type Boolean

Value(s) t, nil

Default t

Command(s) Design – Create Cellview – From Cellview

Design – Create Cellview – Pin List

Form(s) Cellview From Cellview

Cellview From Pin List

Form Field Display Cellview

Type string

Value(s) n/a

Default “.cdsenv”

Command(s) Options – Load Defaults

Options – Save Defaults

Form(s) Load Schematic Defaults

Save Schematic Defaults

Form Field File Name

June 2000 544 Product Version 4.4.6

Page 545: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

defWideWireWidth

Specifies a value for the width of wires and flight lines that you create with the Add Wirecommand. The value must be greater than 0.0 and specified in user units.

descendSheet

Specifies the type of sheet to descend into when descending into a level that expands to amultisheet schematic.

descendTarget

Specifies whether the editor descends automatically when you start a Descend command.

Type float

Value(s) n/a

Default 0.0625 (assumes inches)

Command(s) Add – Wire {narrow, wide}

Form(s) Add Wire

Form Field Width

Type string

Value(s) “index” “sheet”

Default “sheet”

Command(s) Design – Hierarchy – Descend Edit

Form(s) Descend

Form Field schDescendSheetNum

Type string

Value(s) “query user” “use viewNameList”

Default “query user”

Command(s) Design – Hierarchy – Descend

June 2000 545 Product Version 4.4.6

Page 546: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

dotOverlap

Specifies the value for automatically generated solder dots that overlap wires at a wireintersection. The value must be specified in user units.

drawMode

Specifies the drawing mode for the Shapecommands.

Design – Hierarchy – Descend Edit

Design – Hierarchy – Descend Read

Form(s) Descend

Form Field Target Cellview

Type float

Value(s) n/a

Default 0.03125 (assumes inches)

Command(s) Options – Editor

Form(s) Editor Options

Form Field Amount Solder Dot Overlap Wires

Type string

Value(s) “anyAngle” “l90X” “l90Y” “l45Long” “l45Angle” (where “l” is alowercase letter “L”)

Default “anyAngle”

Command(s) Add – Note – Shape – {Line, Polygon}

Add – Shape – {Line, Polygon}

Form(s) Add Note Shape

Add Symbol Shape

Form Field Draw Mode

June 2000 546 Product Version 4.4.6

Page 547: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

drawModeRoute

Specifies the drawing mode for the Add Wire command. The difference between this anddrawMode is the route choice, which invokes the wire router when adding wires to aschematic.

echoToCIW

Causes the system to print a summary of error and warning messages to the CIW when youcheck your design. This is the same summary the system displays in the dialog box when theeditor encounters warning and error conditions during a check of your design.

editPropShowCDF

Specifies whether the CDF options field appears in the Show region of the Edit ObjectProperties form.

Type string

Value(s) “route” “anyAngle” “l90X” “l90Y” “l45Long” “l45Angle” (where “l”is a lowercase letter “L”)

Default “route”

Command(s) Add − Wire {narrow, wide}

Form(s) Add Wire

Form Field Draw Mode

Type Boolean

Value(s) t, nil

Default t

Command(s) Check

Form(s) n/a

Form Field n/a

Type toggle

Value(s) t, nil

June 2000 547 Product Version 4.4.6

Page 548: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

editPropShowSystem

Specifies whether the System options field appears in the Show region of the Edit ObjectProperties form.

editPropShowUser

Specifies whether the User options field appears in the Show region of the Edit ObjectProperties form.

Default t

Command(s) Edit – Properties – Object

Form(s) Edit Object Properties

Form Field Show CDF

Type toggle

Value(s) t, nil

Default nil

Command(s) Edit – Properties – Object

Edit – Properties – Cellview

Form(s) Edit Object Properties

Edit CellView Properties

Form Field Show System

Type toggle

Value(s) t, nil

Default t

Command(s) Edit – Properties – Object

Edit – Properties – Cellview

Form(s) Edit Object Properties

Edit CellView Properties

June 2000 548 Product Version 4.4.6

Page 549: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

findZoomButton

Specifies whether the editor zooms into an object that matches the pattern specified in theFind command.

gravityOn

Specifies whether the cursor snaps to instance pins when you use the Add Wire command.

libList

Specifies a list of libraries the editor processes during hierarchical checking when theenvironment variable spanLib is set to check.

Form Field Show User

Type Boolean

Value(s) t, nil

Default nil

Command(s) Edit – Search – Find

Form(s) Schematic Find

Symbol Find

Form Field Zoom To Figure

Type Boolean

Value(s) t, nil

Default t

Command(s) Options – Editor

Form(s) Editor Options

Form Field Gravity

Type string

June 2000 549 Product Version 4.4.6

Page 550: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

markerSeverity

Specifies a search based on marker severity level.

markerShowIgnore

Specifies whether the Find Marker form displays markers that have the ignoreproperty set.

Value(s) n/a

Default “ ”

Command(s) Check – Hierarchy

Form(s) Check Hierarchy

Form Field Reference Libraries

Type string

Value(s) “all” “error” “warning”

Default “all”

Command(s) Check – Find Marker

Form(s) Find Marker

Form Field Severity

Type Boolean

Value(s) t, nil

Default t

Command(s) Check – Find Marker

Form(s) Find Marker

Form Field Show Ignore

June 2000 550 Product Version 4.4.6

Page 551: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

markerZoom

Specifies whether the Find Marker command zooms to the current marker.

maxLabelOffsetUU

Specifies the maximum distance between a label and a wire. During schematic loading andconnectivity extraction, any unglued wire names whose control point is within this distance ofa wire is automatically glued to the wire. During SRC, this value is used in the maxLabelOffsetcheck to flag any wire name that is farther than this distance from any wire whether or not thename is glued to the wire.

minMarkerSize

Specifies a value for the minimum marker size. The value is specified in user units.

Type Boolean

Value(s) t, nil

Default nil

Command(s) Check – Find Marker

Form(s) Find Marker

Form Field Zoom to Markers

Type float

Value(s) n/a

Default 0.045 (assumes inches)

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Check

Form Field Maximum Label Distance From Wire

Type float

Value(s) n/a

Default 0.05 (assumes inches)

June 2000 551 Product Version 4.4.6

Page 552: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

modalCommands

Specifies whether commands stay active until explicitly cancelled by pressing the Esc key orby starting another command.

netExprDisplay

Specifies how to display inherited connection values. The value is what the connectionresolves to; if it is overridden at a higher level in the hierarchy, the full path to a local signalmight be displayed.

Command(s) Options – Editor

Form(s) Editor Options

Form Field Minimum Marker Size

Type Boolean

Value(s) t, nil

Default t

Command(s) Options – Editor

Form(s) Editor Options

Form Field Modal Commands

Type cyclic

Value(s) “value only” “value (default)” “value (property)” “value(expression)” “expression only”

Default “value only”

Command(s) Options – Display

Form(s) Display Options

Form Field Net Expression Display

June 2000 552 Product Version 4.4.6

Page 553: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

netNameMethod

Specifies which naming mechanism the editor uses for system-generated net names duringconnectivity extraction.

netNamePrefix

Specifies the prefix string for the net names that the editor generates during connectivityextraction.

netNameRangeDescend

Specifies whether the range specification in system-generated buses is descending. Whenthe value is nil (default), system generated buses are ascending.

Type cyclic

Value(s) “prefix” “derived”

Default “prefix”

Command(s) Options – Editor

Form(s) Editor Options

Form Field Net Name Method

Type string

Value(s) n/a

Default “net”

Command(s) Options – Editor

Form(s) Editor Options

Form Field Net Name Prefix

Type Boolean

Value(s) t, nil

Default nil

Command(s) Option – Editor

June 2000 553 Product Version 4.4.6

Page 554: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

netNameSeparator

Specifies the name separator for net names that the editor generates during connectivityextraction if the value of netNameMethod is derived.

noteFontHeight

Specifies a font height for the text you add to your design using theAdd – Note – Textcommand.

Form(s) Editor Options

Form Field Bus Range Order

Type string

Value(s) n/a

Default “_”

Command(s) Options – Editor

Form(s) Editor Options

Form Field Net Name Separator

Type float

Value(s) n/a

Default 0.0625 (assumes inches)

Command(s) Add – Note – Text

Form(s) Add Note Text

Form Field Font Height

June 2000 554 Product Version 4.4.6

Page 555: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

noteFontStyle

Specifies a font for the text you add to your design using theAdd – Note – Textcommand.

noteJustify

Specifies the justification for the text you add to your design using theAdd – Note – Textcommand.

noteShape

Specifies the shape for a note that you add to your design using theAdd – Note – Shapecommand.

Type cyclic

Value(s) “euroStyle” “gothic” “math” “roman” “script” “stick” “fixed”“swedish” “milSpec”

Default “stick”

Command(s) Add – Note – Text

Form(s) Add Note Text

Form Field Font Style

Type cyclic

Value(s) “upperLeft” “centerLeft” “lowerLeft” “upperCenter”“centerCenter” “lowerCenter” “upperRight”“centerRight” “lowerRight”

Default “lowerCenter”

Command(s) Add – Note – Text

Form(s) Add Note Text

Form Field Justification

Type cyclic

Value(s) “line” “rectangle” “polygon” “circle” “ellipse” “arc”

June 2000 555 Product Version 4.4.6

Page 556: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

noteShapeLineStyle

Specifies the line style that the editor uses to draw a note shape.

pinBackTrace

Specifies whether the editor stretches the wires connected to a pin when you stretch a pin.

Default “line”

Command(s) Add – Note – Shape

Form(s) Add Note Shape

Form Field Shape

Type cyclic

Value(s) “solid” “dashed”

Default “solid”

Command(s) Add – Note – Shape

Form(s) Add Note Shape

Form Field Line Style

Type Boolean

Value(s) t, nil

Default t

Command(s) Edit – Stretch

Form(s) Stretch

Form Field Back Trace Wire From

June 2000 556 Product Version 4.4.6

Page 557: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

pinNameSeed

Specifies the pin name prefix the editor uses when automatically creating new pins for blocksyou add to your design.

pinRefDuplicates

Specifies whether the editor reports duplicate pin references found within one zone of amultisheet schematic.

pinRefFormat

Specifies the format for displaying the pin reference information that appears next to each pinwhen you use the Cross Reference command.

Type string

Value(s) n/a

Default “pin”

Command(s) Add – Block

Form(s) Add Block

Form Field Pin Name Seed

Type Boolean

Value(s) t, nil

Default t

Command(s) Sheet – Cross Reference

Form(s) Cross Reference Options

Form Field Show Duplicate Zones

Type string

Value(s) n/a

Default “<sheetnumber><zone><referenceName>”

Command(s) Sheet – Cross Reference

June 2000 557 Product Version 4.4.6

Page 558: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

pinRefSorting

Specifies how the editor sorts pin references when you use the Cross Reference command.

replSaveChanges

Specifies whether the editor saves changes when you complete the Replace command andyour design is in multiple-cellview mode (for example, hierarchy or library).

Form(s) Cross Reference Options

Form Field Format String

Type string

Value(s) “Direction” “Sheet Number”

Default “Sheet Number”

Command(s) Sheet – Cross Reference

Form(s) Cross Reference Options

Form Field Sort References By

Type Boolean

Value(s) t, nil

Default nil

Command(s) Edit – Search – Replace

Form(s) Schematic Replace

Symbol Replace

Form Field Save Changes

June 2000 558 Product Version 4.4.6

Page 559: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

runSRC

Specifies whether or not to run the schematic rules checker during schematic checking.Normally, during a check, connectivity is extracted, SRC is run, and VIC is run. A value of nildisables the SRC.

runVIC

Specifies whether to run the cross-view checker during schematic checking. Normally, duringa check, connectivity is extracted, SRC is run, and VIC is run. A value of nil disables the VIC.

saveAction

Specifies what to do during hierarchical checking when checkHierSaveis t and schematicscontaining errors are encountered.

Type Boolean

Value(s) t, nil

Default t

Command(s) Check – Options

Form(s) Schematic Check Options

Form Field Run the Schematic Rule Checker

Type Boolean

Value(s) t, nil

Default t

Command(s) Check – Options

Form(s) Schematic Check Options

Form Field Cross View Checker Severity

Type cyclic

Value(s) “Save” “No Save” “Ask Me”

Default “Ask Me”

June 2000 559 Product Version 4.4.6

Page 560: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

schematicAreaPartialSelect

Specifies whether the system selects partial objects during area selection.

schematicSelectFilter

Specifies the selection filter setting for schematic objects.

Command(s) Check – Options

Form(s) Schematic Check Options

Form Field Check And Save Action

Type Boolean

Value(s) t, nil

Default nil

Command(s) Edit – Select – Filter

Form(s) Schematic Selection Filter

Form Field Area Partial Selection

Type string

Value(s) “wire” “pin” “instance” “noteShape” “wireName” “marker”“pinName” “noteText” “flight” “label” “allSchObj” “instanceName”“instancePin” “instancePinName” “instanceLabel” “allInstObj”

Default “allSchObj instancePin”

Command(s) Edit – Select – Filter

Form(s) Schematic Selection Filter

Form Field Schematic Objects/Instance Objects

June 2000 560 Product Version 4.4.6

Page 561: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

sensitiveMenu

Specifies whether the middle mouse button uses the object-sensitive menus or the standardpop-up menu.

shapeLineType

Specifies the line style that the editor uses to draw a note shape.

shapeLineWidth

Specifies a width for the line that the editor uses to draw a note shape.

Type Boolean

Value(s) t, nil

Default t

Command(s) Options – Display

Form(s) Display Options

Form Field Object-Sensitive Pop-Up Menus

Type string

Value(s) “solid” “dashed”

Default “solid”

Command(s) Add – Note – Shape

Add – Shape – Line

Form(s) Add Note Shape

Add Symbol Shape

Form Field Line Style

Type float

Value(s) n/a

Default 0.0625 (assumes inches)

June 2000 561 Product Version 4.4.6

Page 562: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

simProbeFormat

Specifies how the editor displays the monitor and which simulation information the monitordisplays.

simProbeType

Specifies the simulation monitor type.

Command(s) Add – Note – Shape

Add – Shape – Line

Form(s) Add Note Shape

Add Symbol Shape

Form Field Line Width

Type string

Value(s) “<state>” “<time>:<state>” “<name>=<state>”“<name>=<time>:<state>”

Default “<state>”

Command(s) Check – Schematic Monitors – Add

Form(s) Add Simulation Monitor

Form Field Format

Type string

Value(s) “monitor” “display”

Default “monitor”

Command(s) Check – Schematic Monitors – Add

Form(s) Add Simulation Monitor

Form Field Type

June 2000 562 Product Version 4.4.6

Page 563: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

snapEnabled

Specifies whether the Add Wire command uses snap mode to complete a wire.

spanLib

Specifies whether the editor spans reference libraries when you use the Check – Hierarchycommand. You use the libList environment variable to specify the list of reference libraries.

srcConnByName

Specifies a check for naming conventions between wires and pins connected by name. Thischeck verifies identical names that exist in more than one physically disjoint group of wires orpins. A user might have inadvertently connected objects when using a name that was alreadyused elsewhere in the schematic.

Type Boolean

Value(s) t, nil

Default t

Command(s) Options – Editor

Form(s) Editor Options

Form Field Wire Snapping

Type string

Value(s) “do not check” “check”

Default “do not check”

Command(s) Check – Hierarchy

Form(s) Check Hierarchy

Form Field Reference Libraries

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

June 2000 563 Product Version 4.4.6

Page 564: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcFloatingBIDIR

Specifies the severity of the SRC signal check for floating bidirectional pins. Controls thecheck for component or schematic bidirectional pins whose signals are not driven bycomponent output pins, schematic input pins, or any other schematic I/O pins.

srcFloatingInput

Specifies the severity of the SRC signal check for floating inputs. Controls the check forcomponent input pins and schematic output pins with signals that are not driven bycomponent output pins, schematic input pins, or any schematicI/O pins.

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Connection By Name

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Floating Switch Pins

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Floating Input Pins

June 2000 564 Product Version 4.4.6

Page 565: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcFloatingIO

Specifies the severity of the SRC signal check for floating I/Os. Controls the check forcomponent or schematic input/output pins with signals that are not driven by componentoutput pins, schematic input pins, or any other schematicI/O pins.

srcFloatingNets

Specifies the severity of the SRC signal check for floating nets. Controls the check for wiresthat are not physically connected to schematic or component pins. It does not check for wiresconnected by name to schematic or instance pins.

srcFloatingOutput

Specifies the severity of the SRC signal check for floating outputs. Controls the check forcomponent output pins and schematic input pins with signals that are not driving any

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Floating I/O Pins

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Floating Nets

June 2000 565 Product Version 4.4.6

Page 566: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

component input pins, schematic output pins, or any schematicI/O pins.

srcInheritedConnCheck

Specifies the severity of the SRC inherited connection check. Controls the check for inheritedconnections.

srcInstNameExpr

Specifies the regular expression to use when the SRC instance name check is enabled.Specifies the regular expression used in the instance name check.

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Floating Output Pins

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Inherited Pin/Net Connections

Type string

Value(s) n/a

Default “ ”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

June 2000 566 Product Version 4.4.6

Page 567: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcInstNameSyntax

Specifies the severity of the SRC instance name check. Controls name-syntax checking forinstance names.

srcInstOverlap

Specifies the severity of the SRC instance overlap check. Controls the check for instancesthat overlap other instances.

srcInstOverlapValue

Specifies the overlap percentage to use when the SRC instance overlap check is enabled.When enabled, the variable specifies the amount (as a percentage of the smaller instancebounding box) that two instances can overlap.

Form Field Instance Name Expression

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Instance Name Syntax

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Overlapping Instances

Type integer

June 2000 567 Product Version 4.4.6

Page 568: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcMaxLabelOffset

Specifies the severity of the SRC maximum label offset check. Controls the check for thoselabels that are beyond a given distance from a wire.

srcNameCollision

Specifies the severity of the SRC instance and net name collision check. Controls the checkfor instance and net name collisions within the schematic.

Value(s) n/a

Default 10%

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Percent Overlap Allowed

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Maximum Label Offset

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Instance/Net Name Collision

June 2000 568 Product Version 4.4.6

Page 569: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcNetNameExpr

Specifies the regular expression to use when the SRC net name check is enabled.

srcNetNameSyntax

Specifies the severity of the SRC net name check. Controls name-syntax checking for netnames.

srcNoOverrideNet

Specifies the severity of the SRC check for missing override nets. Controls the check foroverride nets when a schematic contains override properties. If the override property is a netexpression, the SRC will try to validate the property by ensuring the default name specifies ascalar, global name. If the override property is a literal string, the SRC will first validate theproperty by ensuring it is a legal, scalar name. In both cases, the SRC will then check if a netby that name exists in the cellview.

Type string

Value(s) n/a

Default “ ”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Net Name Expression

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Net Name Syntax

Type cyclic

Value(s) “ignored” “warning” “error”

June 2000 569 Product Version 4.4.6

Page 570: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcOffsheetConnCheck

Specifies the severity of the SRC check for offsheet connectors. Controls the check foroffsheet connectors used on only one sheet in a multisheet design. It also checks for netsused locally in more than one sheet that are not connected across the sheets by an offsheetconnector.

srcPinNetCollision

Specifies the severity of the SRC check for pin/net name collisions. Controls the check forpins that are connected to nets whose wire names do not match the pin.

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Missing Override Nets

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Offsheet Connector Check

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Pin/Net Name Collision

June 2000 570 Product Version 4.4.6

Page 571: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcShortedOutputs

Specifies the severity of the SRC shorted outputs check. Controls the check for componentoutput or schematic input pins that are connected to any other component output orschematic input pins.

srcSolderOnCrossover

Specifies the severity of the SRC check for solder dots on crossovers (four or more wires atan intersection).

srcTermNameExpr

Specifies the regular expression to use when the SRC terminal name check is enabled.Specifies the regular expression used in the terminal name check.

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Shorted Output Pins

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Solder on CrossOver

Type string

Value(s) n/a

Default “ ”

June 2000 571 Product Version 4.4.6

Page 572: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcTermNameSyntax

Specifies the severity of the SRC terminal name check. Controls name-syntax checking fornet names.

srcUnconnectedWires

Specifies the severity of the SRC unconnected wires check. Controls the check for wiresegments whose endpoints do not physically connect to schematic or component pins,labels, or other wire segments.

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Pin Name Expression

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Pin Name Syntax

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Unconnected Wires

June 2000 572 Product Version 4.4.6

Page 573: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

srcVerilogSyntax

Specifies the severity of the SRC Verilog syntax name check. Controls the check for VerilogHDL syntax across all instance and signal names. This check verifies that names are validVerilog HDL identifiers and are not Verilog HDL reserved words.

srcVHDLSyntax

Specifies the severity of the SRC VHDL syntax name check. Controls the check for VHDLsyntax across all instance and signal names. This check verifies that names are valid VHDLidentifiers and are not VHDL reserved words.

ssgSortPins

Specifies how the text-to-symbol generator sorts the symbol pins for the new symbol.

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field Verilog HDL Syntax

Type cyclic

Value(s) “ignored” “warning” “error”

Default “ignored”

Command(s) Check – Rules Setup

Form(s) Setup Schematic Rules Checks

Form Field VHDL Syntax

Type cyclic

Value(s) “unknown” “alphanumeric” “geometric”

Default “alphanumeric”

June 2000 573 Product Version 4.4.6

Page 574: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

statusBanner

Specifies whether the status banner appears on all windows that contain schematic or symboldata.

statusBannerXY

Specifies whether the editor displays the X and Y coordinates in the status banner when thestatus banner is displayed.

Command(s) Options – Editor

Form(s) Editor Options

Form Field Symbol Generator Pin Sorting

Type Boolean

Value(s) t, nil

Default t

Command(s) Options – Display

Form(s) Display Options

Form Field Display Status Banner

Type Boolean

Value(s) t, nil

Default nil

Command(s) Options – Display

Form(s) Display Options

Form Field Coordinates on Status Banner

June 2000 574 Product Version 4.4.6

Page 575: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

stickyWireLabelRange

Specifies the range between the origin of a wire name and a wire segment vertex. When youreroute the wire segment using the Stretch command, the wire name remains in a relativeposition to the vertex if the wire name is within the specified range.

symbolAreaPartialSelect

Specifies whether the editor includes partially selected objects in an area selection action.

symbolLabelChoiceText

Specifies the purpose of a symbol label.

Type float

Value(s) n/a

Default 0.3125 (assumes inches)

Command(s) Edit – Stretch

Form(s) Stretch

Form Field n/a

Type Boolean

Value(s) t, nil

Default nil

Command(s) Edit – Select – Filter

Form(s) Symbol Selection Filter

Form Field Area Partial Selection

Type string

Value(s) “component label” “device annotate” “logicallabel” “physicallabel” “pin label” “pin” “annotate”

Default “ ”

Command(s) Add – Label

June 2000 575 Product Version 4.4.6

Page 576: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symbolLabelFontHeight

Specifies a value (in user units) for the font height for a label that you add with the Add – Labelcommand.

symbolLabelFontStyle

Specifies a font for a label that you add with the Add – Labelcommand.

Form(s) Add Symbol label

Form Field Label Choice

Type float

Value(s) n/a

Default 0.0625 (assumes inches)

Command(s) Add – Label

Form(s) Add Symbol Label

Form Field Font Height

Type cyclic

Value(s) “euroStyle” “gothic” “math” “roman” “script” “stick” “fixed”“swedish” “milSpec”

Default “stick”

Command(s) Add – Label

Form(s) Add Symbol Label

Form Field Font Style

June 2000 576 Product Version 4.4.6

Page 577: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symbolLabelJustify

Specifies the position of the cursor with respect to the label that you add with the Add – Labelcommand.

symbolLabelType

Specifies how the editor displays a symbol label.

symbolPinFlatten

Specifies whether the symbol editor flattens pins that you add to your design. When the valuefor this variable is nil , the editor flattens the pins that you add to your design. A value of nilcorresponds to the on option in the user interface form. A value of t corresponds to the offoption in the user interface form.

Type cyclic

Value(s) “upperLeft” “centerLeft” “lowerLeft” “upperCenter”“centerCenter” “lowerCenter” “upperRight”“centerRight” “lowerRight”

Default “lowerCenter”

Command(s) Add – Label

Form(s) Add Symbol Label

Form Field Justification

Type cyclic

Value(s) “normalLabel” “NLPLabel” “ILLabel”

Default “NLPLabel”

Command(s) Add – Label

Form(s) Add Symbol Label

Form Field Label Type

Type cyclic

Value(s) t, nil

June 2000 577 Product Version 4.4.6

Page 578: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symbolPinIncrCount

Specifies the distance between a pin and the pin label.

symbolPinLocate

Specifies the location of the pin label with respect to the pin.

Default t

Command(s) Option – Editor

Form(s) Editor Options

Form Field Add Symbol Pins As Instances

Type integer

Value(s) n/a

Default 1

Command(s) Add – Pin

Form(s) Add Pin

Form Field Label Offset

Type cyclic

Value(s) “none” “left” “right”

Default “left”

Command(s) Add – Pin

Form(s) Add Pin

Form Field Label Location

June 2000 578 Product Version 4.4.6

Page 579: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symbolPinUsage

Specifies whether the symbol editor sets up the Add Pin form to use square as the initialvalue for pin type when it is defined in the schSymbolPinMaster list.

symbolSelectFilter

Specifies the selection filter setting for symbol objects.

symbolShape

Specifies the symbol shape you want to add.

Type cyclic

Value(s) “square” “round” “actHi” “commActLo” “ieeeActLo” “block”

Default “square”

Command(s) Add – Pin

Form(s) Add Pin

Form Field Type

Type string

Value(s) “pin” “deviceShape” “instanceBox” “noteShape” “pinName”“label” “marker” “noteText”

Default “allSymObj”

Command(s) Edit – Select – Filter

Form(s) Symbol Selection Filter

Form Field Symbol Objects

Type cyclic

Value(s) “line” “rectangle” “polygon” “arc” “ellipse” “circle”

Default “line”

Command(s) Add – Shape

June 2000 579 Product Version 4.4.6

Page 580: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

symbolShapeFillStyle

Specifies whether a shape is filled. Filled maps to solid.

transToSheetType

Specifies the type of sheet that the editor creates when you complete the Create Cellview –From Cellview command and the destination view type is schematic.

tsgTemplateType

Specifies which tsg template file the system loads the first time you use one of the CreateCellview commands to automatically generate a symbol.

Form(s) Add Symbol Shape

Form Field Shape

Type cyclic

Value(s) “outline” “solid”

Default “outline”

Command(s) Add – Shape

Form(s) Add Symbol Shape

Form Field Fill Style

Type string

Value(s) “single” “multi-sheet”

Default “single”

Command(s) Design – Create Cellview – From Cellview

Design – Create Cellview – Pin List

Design – Create Cellview – Instance

Form(s) Create Schematic

Form Field Schematic Type

June 2000 580 Product Version 4.4.6

Page 581: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

The system uses the value of this variable to look up the full file path in thetsgTemplateMasters list, which is defined in the schConfig.il file.

Important

Once you have loaded a template file, you cannot switch to another template file byjust changing the value of the environment variable. To switch to another templatefile, you must use either the Load button on the Symbol Generation Options form orthe schSetAndLoadTsgTemplateType() procedural interface (PI) function.

updateConn

Specifies whether the editor extracts connectivity during schematic checking.

Type string

Value(s) “digital” “artist” “PCB” “metric” “other”

Default “digital”

Command(s) Design – Create Cellview – From Cellview

Design – Create Cellview – From Instance

Design – Create Cellview – From Pin List

Form(s) Symbol Generation Options

Form Field Load

Type Boolean

Value(s) t, nil

Default t

Command(s) Check – Options

Form(s) Schematic Check Options

Form Field Update Connectivity

June 2000 581 Product Version 4.4.6

Page 582: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

vicExactPinMatch

Specifies whether the cross-view checker generates a port mismatch warning when one viewhas a single pin (for example, pin[0:7] and another view has multiple pins (for example, pin[0],pin[1], pin[2], ... pin[7])

vicInheritedPins

Specifies whether the cross-view checker generates a warning if a terminal is inherited in oneview but is not inherited in another view.

vicInheritedPinsMatch

Specifies whether the cross-view checker generates a warning if an inherited terminal in oneview has a different net expression than the matching terminal in another view.

Type Boolean

Value(s) t, nil

Default nil

Command(s) Check – Options

Form(s) Schematic Check Options

Form Field Match Pin Names Exactly

Type Boolean

Value(s) t, nil

Default t

Command(s) Check – Options

Form(s) Schematic Check Options

Form Field Match Inherited Terminals

Type Boolean

Value(s) t, nil

Default t

June 2000 582 Product Version 4.4.6

Page 583: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

vicSeverity

Specifies the severity of the cross-view check. When the severity level is ignored, the checkersimply returns.

vicViewList

Specifies the list of view names that the cross-view checker checks.

Command(s) Check – Options

Form(s) Match Terminal Net Expressions

Form Field n/a

Type cyclic

Value(s) “ignored” “warning” “error”

Default “warning”

Command(s) Check – Options

Check – Cross View Check

Form(s) Schematic Check Options

Cross-View Checker

Cross View Check Severity

Form Field Severity

Type string

Value(s) n/a

Default “symbol schematic functional behavioral system opt_schopt_netl”

Command(s) Check – Options

Form(s) Check-Cross View Check

Schematic Check Options

Form Field Cross-View Checker

June 2000 583 Product Version 4.4.6

Page 584: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideEnvironment Variables

wireBackTrace

Specifies how unselected wires that are connected to selected instances, wires, and pinsbehave.

zoomOutButton

Automatically sizes the window display to show all objects that match a specified searchcriterionfs.

View Names

Type Boolean

Value(s) t, nil

Default nil

Command(s) Edit – Stretch

Form(s) Stretch

Form Field Back Trace Wire From

Type Boolean

Value(s) t, nil

Default nil

Command(s) Edit−Select – By Property

Form(s) Schematic Select By Property

Symbol Select By Property

Form Field Zoom Out To Fit All Figures

June 2000 584 Product Version 4.4.6

Page 585: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

BText-to-Symbol Generator

The text-to-symbol generator (TSG) is a Cadence® application program that automaticallygenerates symbol cellviews for schematic composer and subsequent simulation processes.TSG provides a quick way to generate a symbol from a list of pins in a TSG file.

This appendix describes the TSG file syntax and illustrates the use of various TSGconstructs.

■ Symbol Shape Generated by TSG on page 586

■ TSG Symbol Description File on page 587

■ TSG Template File on page 587

■ Clock and Negation Indicators on page 588

■ Backannotation on page 588

■ Simple File Example on page 588

■ Complex File Example on page 589

■ Extended File Example on page 591

■ TSG Symbol Description File Structure on page 592

❑ Basic File Structure on page 592

❑ Data Types on page 595

■ Using TSG Constructs on page 596

❑ Cell Definition on page 597

❑ Input Pin on page 598

❑ Output Pin on page 598

❑ I/O Pin on page 598

❑ Symbol Definition on page 599

June 2000 585 Product Version 4.4.6

Page 586: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

■ Executing TSG on page 611

❑ TSG Processing Order on page 612

❑ Creating Symbols Automatically from a Schematic on page 612

Symbol Shape Generated by TSG

All symbols generated by TSG are rectangular in shape. The default origin of a symbol islocated at the upper left pin terminal. The following symbol was created by TSG.

Negative logic typeswith negationindicator (bubble)

A Symbol Master

Clock pin with inputclock indicator(arrow)

[@refDes:%]

[@partName:%]

[@slotId:%]

June 2000 586 Product Version 4.4.6

Page 587: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

TSG Symbol Description File

The TSG symbol description file is the primary input file that controls the symbol to begenerated by TSG. This ASCII file is built using the constructs detailed in this appendix. Youcan create a very simple file containing only the cell name and the pin names, or you can addconstructs to enhance the symbol description.

Defaults and error checking are built-in features of TSG. TSG has extensive error checkingand error handling capabilities. It checks for syntax, variable-type, and logical errors in theTSG symbol description file. Depending on the severity of a detected error, TSG either exitsthe generation of the current symbol or displays an error message and continues processing.

TSG Template File

The TSG template file is a secondary input file that specifies default controls for symbols tobe generated by TSG. The TSG template file uses the same format as the TSG symboldescription file. Within this file, you can configure symbol labels, properties, andcharacteristics such as pin spacing, stub length, and origin placement.

An Instance

An instance of the symbol shownabove when placed in a schematic

U2

TSGFIG

June 2000 587 Product Version 4.4.6

Page 588: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

A template file helps avoid unnecessarily large TSG description files. You can specify TSGconstructs shared by a large group of symbols within a single template file. This allows youto create TSG symbol description files that contain only constructs specific to a particularsymbol.

The first time you use TSG during a Virtuoso® schematic composer session, a defaulttemplate file is automatically loaded. This default template file is always used unless youspecify an optional template file argument in the call to execute TSG, as described later.

Settings specified within the currently active template file will apply to all symbols generatedby TSG unless overridden by constructs specified within the TSG symbol description file. Youcan find available template filenames within the tsgTemplateMasters list, which is defined inthe schConfig.il file. The default template file that is chosen depends on the initial settingof the tsgTemplateType environment variable.

Clock and Negation Indicators

To alter the appearance of certain pins, you can specify special pin graphics; for example:

■ To identify a clock pin, you can draw a clock indicator (a small triangle) at the beginningof the pin wire

■ For a negative logic pin, you can draw a negation indicator (a bubble) at the beginning ofthe pin wire

The example TSG files and associated figures illustrate some of these capabilities. Refer tothe PinGraphicSpec construct and the wireLength and pinConnector symbolparameters.

Backannotation

After laying out parts for printed circuit boards (PCB), you often need to backannotate toschematics or PCB maps parameters, such as pin numbers and reference designators ofsymbol instances.

You can include constructs in the TSG symbol description file that specify the properties andparameters required to support the backannotation operation.

Simple File Example

The simplest TSG symbol description for an SN74LS181 symbol has the following format:

June 2000 588 Product Version 4.4.6

Page 589: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

defcell("tsgfig1"

input(A0 A1 A2 A3 B0 B1 B2 B3 Cn Set Reset)

output(F0 F1 F2 F3 C)

defsymbol(symbolProps( partName = "TSGFIG1"))

)

The following example shows a symbol generated from the TSG symbol description fileshown above.

Complex File Example

A more elaborate version of a TSG symbol description file for an SN74LS181 symbol has thefollowing format. This symbol was generated using the PCB package.tsg template file asan argument to the tsg command:

tsg( "exampleLib" "~/tsgFiles/fig2.tsg"prependInstallPath("samples/symbolGen/package.tsg") )

defcell("tsgfig2"

input( A0 A1 A2 A3 B0 B1 B2 B3 Cn Set Reset)output( F0 F1 F2 F3 C)defsymbol(

symbolProps(

June 2000 589 Product Version 4.4.6

Page 590: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

vendorName = DEMOpartName = "TSGFIG2"refDes = U2 )

pinNumSpec(

A0:1 A1:2 A2:3 A3:4B0:18 B1:17 B2:16 F0:7F1:8 F2:9 F3:10 C:11 )

pinLocSpec(

topPins( Set)bottomPins( Reset) )

pinGraphicSpec(

A0:actLo A1:actLo A2:actLo A3:actLoB0:actLo B1:actLo B2:actLo B3:actLoCn:clock Set:actLo Reset:actLo F0:actLoF1:actLo F2:actLo F3:actLo C:actHi )

)

)

The following example shows a symbol generated from the TSG symbol description fileshown above.

June 2000 590 Product Version 4.4.6

Page 591: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Extended File Example

The following example demonstrates many of the available TSG constructs.

defcell("count4"input("clock" "reset")output("a0" "a1" "a2" "a3")defsymbol(

symbolProps(partName = "count4" ; cellview prop with valueType=stringpinNum = (4 (0 24))timeVal = time("Jan 1 12:00:00 1993")color = ("red" ("red" "green" "blue"))defTermProp(

input Iih = 1.24 ) ; all pins get property “a”.defTermProp(

all b=6 ) ; all pins get property "b".symbolParam(

wireSpacing = 0.125000wireLength = 0.250000vSideLength = 0.000000hSideLength = 0.000000origin = topLeftPinpinConnector = "block"

)symbolLabels(

defLabel( name("[@partName]")location( "(xleft + xright)/2:(ytop + ybottom)*3/4")labelType(NLPLabel)layer(device)purpose(label)

)defLabel( name("[@instanceName]")

location( "xleft:(ytop + ybottom)/2")labelType(NLPLabel)justification(upperLeft)layer(instance)purpose(label)apply(cellview)fontHeight(0.1)

)defLabel( name("{pinName}")

location( "1.15*stubLength:0")justification(centerLeft)apply(left)

)defLabel( name("[@p_{pinName}]")

June 2000 591 Product Version 4.4.6

Page 592: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

location( "-stubLength/2:0.03125")labelType(NLPLabel)layer(pin)purpose(annotate)apply(right)

))pinNumSpec( "a0":16 "a1":17 "a2":18 )pinGraphicSpec( "reset":ieeeActLo "clock":clock )

))

The following example shows a symbol generated from the TSG symbol description fileshown above.

TSG Symbol Description File Structure

Basic File Structure

A TSG file is an ASCII file used as input to TSG for generating symbol cellviews. To createthe file, you must use a special format that includes several constructs and keywords. Allconstructs have one of the following forms (CF = construct format):

CF1: =keyword( [variable] ... [variable] [construct] ... [construct] )

CF2: =keyword( [keyword = value] ... [keyword = value] [construct] [construct] )

CF3: =keyword( [variable : value] ... [variable : value] )

June 2000 592 Product Version 4.4.6

Page 593: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Some constructs can appear only inside certain other constructs. Some keywords canappear only once within a construct.

To define more than one symbol in a TSG file, you can use multiple defcell constructs.Unless otherwise specified, draw input pins on the left side, output pins on the right side, andI/O pins along the top.

To add comments to a TSG file, use the Cadence® SKILL language comment characters ;or /* */ .

An illustration of the structure of the defcell construct, which is the only top-level constructallowed in a TSG file, follows.

Following the defcell example are further syntax descriptions for properties and labels.

Text in bold = keywordsText in italics = data typesText in angle brackets = < names of variables >

cellName must be a character stringpinName must be a pin name string

Words in square brackets = [optional]. Can be placed anywhere inside their own constructs

defcell( <cellName>[ input ( <pinName1> <pinName2> ... <pinNameN> )][ output ( <pinName1> <pinName2> ... <pinNameN> )][ io ( <pinName1> <pinName2> ... <pinNameN> )][ defsymbol ( [viewName]

[ symbolProps (<property pair><property pair>..[ defTermProp ( <terminal list>

<property list>)]..[ defVisibleProp ( <property pair>

<label attributes>)]..

)][ symbolParam (

[ wireSpacing = float ][ wireLength = float ]

June 2000 593 Product Version 4.4.6

Page 594: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

[ vSideLength = float ][ hSideLength = float ][ pinConnector = string ][ origin = topLeftPin | bottomLeftPin | centerLeft]

)][ symbolLabels (

defLabel (<label specification>)defLabel (<label specification>)..

)][ controlParam (

[ queryMode = t | nil] )]

[ pinNumSpec ([<pinName1> : integer ].[<pinNameK> : integer ] )]

[ pinLocSpec ([ leftPins ( <pinName1> <pinName2> ... <pinNameN> )][ rightPins ( <pinName1> <pinName2> ... <pinNameN> )][ topPins ( <pinName1> <pinName2> ... <pinNameN> )][ bottomPins ( <pinName1> <pinName2> ... <pinNameN> )])]

[ pinGraphicSpec ([<pinName1> : string ]...[<pinNameN> : string ] )]

[ pinLogicSpec ([ positive ( <pinName1> <pinName2> ... <pinNameN> )][ negative ( <pinName1> <pinName2> ... <pinNameN> )] )]

[ clockPins ( <pinName1> <pinName2> ... <pinNameN> )])]

)

<property list>:= <property pair> <property list> | <propertypair>

<property pair>:= <property name> = <property value><property name>:= < string ><property value>:=

<simple value> |( <simple value> [(<range>)]) |time ( <time value> ) |filename ( <filename value> ) |ilExpr ( < string > ) |

June 2000 594 Product Version 4.4.6

Page 595: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

nlpExpr ( < string > )<simple value>:= < string > | <numeric value> | <boolean value><numeric value>:= < integer > | < float ><boolean value>:= yes | no | true | false | TRUE | FALSE | t | nil<time value>:= < string ><filename value>:= < string ><range>:= <enumeration> | <lower bound> <upper bound><enumeration>:= < string > <enumeration> | < string ><lower bound>:= <numeric value> | nil<upper bound>:= <numeric value> | nil<terminal list>:= all | input | output | inputOutput | topPins |

bottomPins | leftPins | rightPins<label specification>:=

name( string <label attributes>)<label attributes>:=

location ("<expression>:<expression>")apply ( string )[ labelType (normalLabel | NLPLabel | ILLabel)][ format ("value" | "name=value" | "off") ][ layer ( string ) ][ purpose ( string ) ][ justification ( float ) ][ orientation ( R0 | R90 | R180 | R270 ) ][ isOverbar (t/nil) ][ fontStyle ( string ) ][ fontHeight ( float ) ]

Data Types

Some data types used in a TSG symbol description file are defined in the following sections.

Character String

A character string can contain one or more alphanumeric characters (a–z, A–Z, 0–9), theunderscore (_), and the question mark (?). The first character cannot be a number. Anycharacter other than these must be enclosed in quotation marks (" "). Blank characters mustbe replaced by an underscore. Examples of character strings are as follows:

SN74LS169AAm2901_MPR006FFTchip_2MC_V1"RAM_1M-6/86"

June 2000 595 Product Version 4.4.6

Page 596: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Pin Name String

A pinName string is similar to a character string except that any slash ( / ) is replaced by avertical bar ( | ). For example, X/Y is transformed to X|Y. Examples of pinName strings areas follows:

OutputEnableinputA"Read|Write_""Up_|Down"

Terminal List

A terminal list consists of one of the following values:

Using TSG Constructs

The following constructs can be included in a TSG symbol description file.

all Specifies all terminals of the cell.

input Specifies all input terminals.

output Specifies all output terminals.

inputOutput Specifies all input/output terminals.

topPins Specifies all top pin terminals.

bottomPins Specifies all bottom pin terminals.

leftPins Specifies all left pin terminals.

rightPins Specifies all right pin terminals.

TSG Construct Definition

defcell cell definition

input input pin

output output pin

io I/O pin

June 2000 596 Product Version 4.4.6

Page 597: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Cell Definition

The defcell construct is the highest level construct in a TSG symbol description file. It hasthe form CF1 and contains the variable cell name and four constructs: input , output , io ,and defsymbol .

These four constructs, specific to defcell , are the only ones that you can include indefcell . Any other construct is ignored by TSG but can be processed by other Cadencetools, such as the symbol and simulation library generator (S/SLG). Refer to Appendix C,“Symbol and Simulation Library Generator.”

The variable cellName represents the cell name portion of a symbol cellview into which thegenerated symbol is stored. You must specify this cell name as a string.

Example:

defcell ( <cellName> )

defsymbol symbol definition

viewName symbol view name

symbolProps symbol properties

symbolParam symbol parameter

symbolLabels symbol labels

controlParam control parameters

pinNumSpec pin number specification

pinGraphicSpec pin graphic specification

pinLocSpec pin location specification

pinLogicSpec pin logic type specification

TSG Construct Definition

June 2000 597 Product Version 4.4.6

Page 598: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Input Pin

The input construct has the form CF1, and you can include it in the defcell construct. Itcontains a list of the symbol input pins. By default, all input pins are drawn on the left side ofthe symbol from top to bottom.

To move an input pin to any other side, you specify the pin in the pinLocSpec construct.Refer to “Pin Location Specification” on page 608 for details. If a pin specified in this constructis also specified in the output or io constructs, an error message is generated.

Example:

defcell ( <cellName>[ input ( <pinName1> <pinName2> ... <pinNameK> )] )

Output Pin

The output construct has the form CF1, and you can include it in the defcell construct.The output construct contains a list of the symbol’s output pins. By default, all output pinsare drawn on the right side of the symbol from top to bottom.

To move an output pin to any other side, you specify the pin in pinLocSpec . Refer to “PinLocation Specification” on page 608 for details. If a pin specified in this construct is alsospecified in the input or io constructs, an error message is generated.

Example:

defcell ( <cellName>[ output ( <pinName1> <pinName2> ... <pinNameK> )] )

I/O Pin

The io construct has the form CF1, and you can include it in the defcell construct. Itcontains a list of all I/O symbol pins. By default, all I/O pins are drawn on top of the symbolfrom left to right.

To move an I/O pin to any other side, you specify the pin in the pinLocSpec construct. Referto “Pin Location Specification” on page 608 for details. If a pin specified in this construct isalso specified in the input or output constructs, an error message is generated.

June 2000 598 Product Version 4.4.6

Page 599: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Example:

defcell ( <cellName>[ io ( <pinName1> <pinName2> ... <pinNameK> )] )

Symbol Definition

The defsymbol construct specifies symbol properties and parameters, control parameters,labels, and pin information. These values override applicable defaults. This construct has theform CF1, and you can include it in the defcell construct.

defsymbol can contain one or more of the constructs symbolProps , symbolParam ,symbolLabels , controlParam , pinNumSpec , pinLocSpec , pinGraphicSpec ,pinLogicSpec , and clockPins . These constructs, specific to defsymbol , are the onlyones that you can include in defsymbol .

Example:

defsymbol ( [<viewName>][ symbolProps ( ...)][ symbolParam ( ...)][ symbolLabels ( ...)][ controlParam ( ...)][ pinNumSpec ( ...)][ pinLocSpec ( ...)][ pinGraphicSpec ( ...)][ pinLogicSpec ( ...)][ clockPins ( ...)]

)

Symbol View Name

viewName is an optional parameter that specifies the view name of the cellview to becreated. The default value is symbol. If you specify the viewName parameter, it must be astring and must be the first parameter in the defSymbol construct.

Symbol Properties

The symbolProps construct has the form CF2, and you can include it in the defsymbolconstruct. This construct can accept any number of property pairs and any number ofdefTermProp and defVisibleProp subconstructs. The symbolProps construct is usedto create properties on the symbol cellview or properties on sets of terminal pins.

symbolProps (

June 2000 599 Product Version 4.4.6

Page 600: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

<property pair><property pair>..[ defTermProp ( <terminal list>

<property list>)]..[ defVisibleProp ( <property pair>

<label attributes>)]..

)

defTermProp

defTermProp defines properties on the terminals represented by any of the followingchoices: all , input , output , inputOutput , topPins , bottomPins , leftPins , orrightPins .

Example:

defTermProp ( input Iih = 1.24 a = 3)

defVisibleProp

defVisibleProp defines a property and the label attributes information fordisplaying that property.

Within defVisibleProp , you can specify one or more of the following label attributes:location , apply , format , layer , purpose , justification , orientation ,isOverbar , fontStyle , and fontHeight .

Example:

defVisibleProp ( dName = maraformat( "value")location( "xleft : ytop + 0.0625")justification( centerLeft )

)

June 2000 600 Product Version 4.4.6

Page 601: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

property pair

A property pair specification consists of a property name and property value pair. Aproperty pair uses the format

property_name = property_value

property_name can be any identifier or string. property_value can be a simple valueplus an optional range, a time, a filename, a SKILL expression, or an NLP expression.

Property values other than simple values require a keyword and an argument enclosed inparentheses. Do not leave a space between the keyword and the left parenthesis immediatelyfollowing it.

When the property pair is specified directly within the symbolProps construct, a symbolcellview property is created.

simple value

A simple property value can be an integer, a floating-point number (float ), or a string(characters enclosed in quotation marks). The special string values {yes | no | true |false | TRUE | FALS E | t | nil} create Boolean properties. Simple values can alsobe combined with a range value. When a range is included, enclose the value/range pair inparentheses. For example, the following are valid property pair expressions:

partName = "ALU" )month = (3 (1 12)) )color = ("red" ("red" "green" "blue")

time

The time keyword indicates the property type is time . Properties of type time areexpressed as a time value and an optional range. The time value contains the date, time, andyear, enclosed in parentheses. For example, the propertylastChanged = time("Jan 01 8:17:56 2000") is a valid expression. Only the firstthree characters are needed to specify the month.

filename

The filename keyword indicates the property type is a filename. Follow filename with astring indicating the filename. Enclose the filename string in parentheses. For example, theproperty myFile = filename("magic.c") is a valid expression.

June 2000 601 Product Version 4.4.6

Page 602: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

ilExpr

The ilExpr keyword indicates the property type is a SKILL expression. This type of propertyrequires a valid SKILL expression enclosed in parentheses. For example, pval =ilExpr("if(rc print(\"rc=0"))") is a valid expression.

nlpExpr

The nlpExpr keyword indicates the property type is an NLP expression. This type ofproperty requires a valid NLP expression enclosed in parentheses.

range

Range values are optional arguments when specifying a property. A range value can beeither an enumeration type or a pair of values specifying the upper and lower bounds of therange. The values of range must be enclosed in parentheses. If a range is an enumerationtype, each value in the range should be a string (a name in quotation marks).

Upper and lower bounding values can be simple numeric values or the argument nil . If nilis specified for a lower or upper bound in a range, the range is unbounded. For example:

p1 = (4 (1 10))color = ("red" ("red" "green" "blue"))

Symbol Parameter

The symbolParam construct has the form CF2, and you can include it in the defsymbolconstruct. The following symbol parameters, specific to this construct, are the only ones thatcan be included in any order without replication. They are not stored in the symbol masterproperty list.

wireSpacing

The minimum spacing between any pair of adjacent pin wires on a side. The default is twicethe snap spacing. The value you supply is rounded to the nearest multiple of snap spacing.For more information on snap spacing, refer to the environment variable symSnapSpacing.

wireLength

The length of each pin wire; in other words, a pin stub. The default is twice the value of thewireSpacing field. The value you supply is rounded to the nearest multiple of snap spacing.

June 2000 602 Product Version 4.4.6

Page 603: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

vSideLength

The minimum length of the vertical sides. The default ensures enough vertical span toaccommodate the pins on both sides. If the value you supply is less than the computeddefault, the computed default is used. The vSideLength value is rounded to the nearestsnap spacing.

hSideLength

The minimum width of the horizontal sides. The default ensures enough horizontal span toaccommodate the pins on both the top and bottom sides of the symbol, the part name, andpin name labels. If the value you supply is less than the computed default, the computeddefault is used instead. The hSideLength value is rounded to the nearest snap spacing.

pinConnector

The default pin connector graphic. Each entry is mapped into a cellview that contains theactual graphics for the connector. The choices are square , block , and circle . You canadd new types by creating a new pin connector cellview and updating thetsgConnectorMasters list in the schConfig.il file.

origin

The default placement of the symbol origin. The choices are topLeftPin ,bottomLeftPin , or centerLeft .

Example:

symbolParam (wireSpacing = 0.125wireLength = 0.0vSideLength = 0.0hSideLength = 0.0pinConnector = "block"origin = topLeftPin )

Symbol Labels

The symbolLabels construct has the form CF1, and you can include it in the defsymbolconstruct. The symbolLabels construct allows you to define symbol labels. If this constructis not specified, a set of default labels is generated on the symbol.

June 2000 603 Product Version 4.4.6

Page 604: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

defLabel

Defines a label with the specified text string and the label attributes for its display.

symbolLabels (defLabel ( name( string <label attributes> ) )

)

Example:

defLabel ( name("[@instanceName]")location ( "xleft:(ytop + ybottom)/2")labelType (NLPLabel)justification (upperLeft)layer (instance)purpose (label)apply (cellview)fontHeight (0.1)

)

A label specification consists of a name and one or more of the following labelattributes: location , apply , labelType , layer , purpose , justification ,orientation , isOverbar , fontStyle , and fontHeight .

name

The required name keyword is followed by a name string that specifies the text for the label.Enclose the label text in quotation marks. If the isOverbar specification is set, place anunderscore before and after any text you want an overbar above. For example, the labelread|_write_ converts to read|write with an overbar above write .

Label Attributes

The following label attributes are shared by the ldefVisibleProp and defLabelconstructs.

location

Location specifies where to place the label. The location keyword is followed by anexpression that positions the label on the symbol. The expression can be any SKILLexpression that evaluates to a point. The location expression is a function of the variablesxleft , xright , ytop , ybottom , and fontHeight for labels applied to a cellview, and ofthe variables pinSpacing , stubLength , and fontHeight for labels applied to pins. Top,bottom, left, and right pin label positions must be specified separately.

June 2000 604 Product Version 4.4.6

Page 605: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

The following specifications are valid location expressions.

location ( "xleft : ytop")

Places a label in the upper left corner of a symbol.

location ( "(xleft + xright)/2 : ytop + .0625")

Places a label just above the top center of a symbol.

location ( "(stubLength)/2 : 0")

Places a pin label halfway down the pin stub for left pins.

location ( "0 : -(stubLength)/2")

Places a pin label halfway down the pin stub for top pins.

apply

Apply specifies whether the label is applied to either the cellview or to specific pins. Thechoices are cellview , top , bottom , left , right , input , output , and inputOutput .

labelType

The optional labelType field (used only in the defLabel construct) specifies the label typeas either normalLabel (default), NLPLabel , or ILLabel .

format

The optional format field (used only in the defVisibleProp construct) specifies whichparts of the property name/value pair are to be displayed. The choices are value (default),name=value , and off .

layer

The optional layer field contains a string that defines the color of the label. The default isdevice .

purpose

The optional purpose field contains a string that defines the purpose of the label. The defaultis annotate .

June 2000 605 Product Version 4.4.6

Page 606: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

orientation

The optional orientation field determines the rotation of the label in degrees. The choicesare R0, R90, R180, and R270.

isOverbar

The optional isOverbar field determines whether a bar or overline is placed over the labeltext that is placed between underscore characters. Assigning a value of t to isOverbarplaces the bar on the text. Use nil when no bar is required. The default is nil .

fontStyle

The optional fontStyle field specifies the default font style for a label. fontStyle requiresa string value specifying the new font style. The default is stick .

fontHeight

The optional fontHeight field specifies the default font height for a label. fontHeightrequires a float value specifying the new height.

Control Parameter

The controlParam construct has the form CF2, and you can include it in the defsymbolconstruct. The controlParam construct contains control parameters you can specify todefine execution behavior.

queryMode

Use queryMode only when the specified symbol master already exists in the library. Whenset to t , TSG runs in query mode in which several questions are asked interactively.

If set to nil (default), TSG runs in the autonomous mode and assumes an existing symbolshould be overwritten. It does not prompt you for permission to overwrite an existing symbolcellview. Refer to “Executing TSG” on page 611 for details about the built-in questions whenqueryMode is set to t .

This control parameter is the only one that can be included in this construct and is not storedin the property list of the symbol master.

June 2000 606 Product Version 4.4.6

Page 607: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Example:

controlParam ( queryMode = t )

Pin Number Specification

The pinNumSpec construct has the form CF3, and you can include it in defsymbol . Itcontains a list of pinName:pinNumber pairs. A colon (: ) separates the pin name and pinnumber. Any pin specified in this construct must also be declared in input , output , or ioor TSG ignores it and its pin number. This construct is most often used for printed circuit boarddesign libraries.

A pin number must be a positive integer. For each pinName:pinNumber pair specified, thep_pinName property, along with the specified pin number, is stored in the symbol masterproperty list for annotation and backannotation into instances.

Example:

pinNumSpec ( [<pinName1> : integer] [<pinName2> : integer] )

Pin Graphic Specification

The pinGraphicSpec construct has the form CF3, and you can include it in defsymbol . Itcontains a list of pinName:string pairs. A colon (: ) separates the pin name and string. Theconstruct identifies special pin graphics, such as negation bubbles and clock indicators, to bedrawn with the specified pins. The length of the pin stub and the shape of the pin connectorare controlled separately with the wireLength and pinConnector symbol parameters.The default is actHi . The predefined values for pinGraphicSpec are actHi , actLo ,ieeeActLo , clock , and actLoClock . Each of these values matches an entry in theschConfig.il file, which maps to a corresponding cellview containing the pin graphics. Tocreate a new type of pin graphic, create a new cellview with the pin graphic and add an entryto the tsgPinGraphicMasters list in the schConfig.il file.

Example:

pinGraphicSpec ([<pinName1> : string][<pinName2> : string] )

June 2000 607 Product Version 4.4.6

Page 608: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Pin Location Specification

The pinLocSpec construct has the form CF1, and you can include it in defsymbol . ThepinLocSpec construct contains up to four subconstructs with which you can specify the pinlocation in any order without replication. All four of these subconstructs have the CF1 form,and you can include them in the pinLocSpec . Pin names in any of these subconstructs mustalso be specified in the input , output , or io constructs or TSG ignores them. Thisconstruct allows you to override default pin placement locations.

leftPins

The names of pins to draw on the left of the symbol.

Other pins can be drawn on the left of the symbol. Pins specified in input are also drawn onthe left of the symbol. A pin specified in input but not specified in pinLocSpec is drawn onthe left before those in leftPins . A pin name in leftPins cannot be specified again in theother three subconstructs.

rightPins

The names of pins to draw on the right of the symbol.

Other pins can be drawn on the right of the symbol. Pins specified in output are also drawnon the right of the symbol. A pin specified in output but not specified in pinLocSpec isdrawn on the right before those in rightPins . A pin name in rightPins cannot bespecified again in the other three subconstructs.

topPins

The names of pins to draw on the top of the symbol.

Other pins can be drawn on the top of the symbol. Pins specified in io are also drawn on thetop of the symbol. A pin specified in io but not in pinLocSpec is drawn on the top beforethose in topPins . A pin name in topPins cannot be specified again in the other threesubconstructs.

bottomPins

The names of pins to draw on the bottom of the symbol.

A pin name in bottomPins cannot be specified again in the other three subconstructs.

June 2000 608 Product Version 4.4.6

Page 609: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Example:

pinLocSpec ([ leftPins ( <pinName1> <pinName2> ... <pinNameN> )][ rightPins ( <pinName1> <pinName2> ...<pinNameN> )][ topPins ( <pinName1> <pinName2> ... <pinNameN> )][ bottomPins ( <pinName1> <pinName2> ...<pinNameN> )]

)

Pin Logic Type Specification

Using this construct is not recommended, but it remains supported for backward compatibility.The pinGraphicSpec construct is the preferred method for specifying special pin graphics.The pinLogicSpec construct specifies negation indicators. It has the form CF1, and youcan include it in defsymbol . It contains one or more of the following subconstructs to specifythe logic types of symbol pins. Both subconstructs have the form CF1, and you can includethem in the pinLogicSpec in any order without replication. Any pins specified in eithersubconstruct must also be specified in the input , output , or io constructs; otherwise, TSGignores this subconstruct.

positive

A list of pin names that indicate the positive logic type of the pins.

negative

A list of pin names that indicate the negative logic pin type. Negative pins appear in thesymbol as a bubble.

Clock Pins Specification

Using this construct is not recommended, but it emains supported for backward compatibility.The pinGraphicSpec construct is the preferred method for specifying special pin graphics.The clockPins construct specifies the display of clock indicators. It has the form CF1, andyou can include it in defsymbol . Any pins specified must also be specified in input ,output , or io or TSG ignores the construct. This construct takes a list of pin names to bedrawn as clock pins. Clock pins are designated by a small triangle (a clock indicator) next tothe pin.

June 2000 609 Product Version 4.4.6

Page 610: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Configuration Variables

tsgFilterGlobalNames

When this SKILL global variable is set to t , global names ending with an exclamation pointare filtered out and do not appear in the symbol; for example, VDD! or GND!. The default is t .

tsgHSymbolBoxFactor, tsgVSymbolBoxFactor

These SKILL global variables represent horizontal and vertical symbol box factors,respectively. They are applied to the horizontal and vertical length of the symbol box to let youhave control over the symbol size. The defaults are tsgHSymbolBoxFactor = 1 ,tsgVSymbolBoxFactor = 1 . For example, tsgHSymbolBoxFactor = .7 would makesymbols narrower.

tsgKeepPinPlacement

Left and right symbol pins are placed starting near the top of the symbol. Therefore, theuppermost left pin is at the same Y dimension as the uppermost right pin. In other words, thepins are not centered but instead are moved up near the top of the symbol. When additionalpins are added, the original pins are not moved and do not need to be rewired. If you want tohave the symbol pins centered with respect to the symbol box, set this SKILL global variableto nil . The default is t .

tsgResolution

You can use this SKILL global variable to override the default tsg resolution. The resolutiondefines the granularity for the location of pins, labels, and symbol graphics. The default isundefined , in which case the system uses the snap spacing of the symbol view.

tsgTemplateType

You can use this schematic environment variable to map to a filename with thetsgTemplateMasters variable. TSG uses this environment variable to identify whichtemplate file will be loaded during the first run of TSG. For further information, refer to thetsgTemplateType environment variable.

June 2000 610 Product Version 4.4.6

Page 611: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

Executing TSG

TSG runs as a separate SKILL program in the Cadence environment to generate symbolsthat you can place as instances in schematics.

Running TSG from SKILL requires a library name, an input filename, and optionally atemplate filename. TSG first reads the input parameters from the TSG file, then uses anysymbol parameters contained in the template file that are not specified in the input file. Thisallows you to have one large template file that specifies most of the symbol parameters andsmaller TSG files that contain only pin specifications. The resulting cellview is saved to thelibrary identified in the command.

To run TSG in TSG mode, do the following:

1. Start the Cadence design environment.

2. In the CIW, type the SKILL function call

tsg ( <libName> < tsgFil e> [< tsgTemplateFile >]))

libName is the name of a preexisting library.

tsgFile is the name of the TSG symbol description text file. If the TSG file is not in thecurrent directory, include the full path to the file.

tsgTemplateFile is the name of an optional TSG template file. If the template file isnot in the current directory, include the full path to the file.

June 2000 611 Product Version 4.4.6

Page 612: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

TSG Processing Order

When you run TSG, the following sequence of steps is performed.

1. TSG fetches the first unprocessed defcell from the tsgFileName file and parses itto extract the symbol information.

Any syntax error messages are displayed in the CIW and the program continues.

2. If the symbol does not exist in the specified library, TSG goes to step 6.

3. If you set the queryMode parameter to t (true), TSG warns you of the existence of thesymbol view and asks whether to overwrite the existing symbol with one that it is goingto generate.

If you respond yes , TSG goes to step 6. If you respond no, TSG goes to step 4. If youset queryMode to nil (not true), TSG goes to step 6.

4. TSG asks whether you want to save the symbol under a different cell name.

If you respond yes , TSG continues. If you respond no, the symbol is not saved and TSGgoes to step 7.

5. TSG asks you to specify a new cell name for the symbol.

6. TSG generates and saves the symbol in the specified library.

7. TSG checks for an unprocessed defcell in the tsgFileName file.

8. If such constructs exist, TSG returns to step 1. If not, it stops execution and passescontrol to the Cadence design system.

After program execution, you can find any error messages printed by TSG in the CommandInterpreter Window (CIW).

Creating Symbols Automatically from a Schematic

A convenient feature available from the schematic editor environment allows you to create asymbol with the same pins that are found within an existing schematic, Verilog, or othercellview.

The TSG symbol generator is automatically invoked whenever you create symbols using theCreate Cellview – From Cellview command or the Create Cellview – From Pin Listcommand, which are available from the schematic and symbol editor windows. You can usethe Symbol Generation Options form to override defaults or to help create new TSG templatefiles.

June 2000 612 Product Version 4.4.6

Page 613: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideText-to-Symbol Generator

The Symbol Generation Options form can be accessed by turning on the Edit Optionsbuttonon the Create Cellview – From Cellview command or the Create Cellview – From PinList command.

June 2000 613 Product Version 4.4.6

Page 614: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

CSymbol and Simulation LibraryGenerator

The Cadence® SKILL-based symbol and simulation library generator (S/SLG) is a librarymanagement program that generates symbol and simulation views. S/SLG generates asymbol in the library and defines the complete characterization of a symbol for use incomputer-aided engineering applications.

This appendix describes the S/SLG commands and program and the library managementSKILL functions used with S/SLG.

■ Terms and Conventions on page 616

■ Library Command File on page 618

■ Running the Symbol and Simulation Library Generator on page 619

❑ Running the Symbol and Simulation Library Generator in the Cadence GraphicEnvironment on page 619

❑ Running the Symbol and Simulation Library Generator in the Cadence NongraphicEnvironment on page 620

■ Library Management Commands on page 622

❑ lmCheckTerm on page 624

❑ lmCheckView on page 625

❑ lmCloseLib on page 627

❑ lmDefCell on page 628

❑ lmDefTermProp on page 631

❑ lmDefViewProp on page 633

❑ lmDeleteTermProp on page 637

❑ lmDeleteViewProp on page 638

June 2000 614 Product Version 4.4.6

Page 615: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

❑ lmGetValue on page 639

❑ lmLoadData on page 640

❑ lmOpenLib on page 641

❑ lmPrintLibTermProp on page 642

❑ lmPrintLibViewProp on page 643

❑ lmPrintTerm on page 644

❑ lmPrintTermProp on page 645

❑ lmPrintViewProp on page 646

❑ lmReset on page 647

❑ lmSimView on page 648

■ Variables That Control Command Execution on page 649

■ Properties That Modify Values on page 650

■ Sample Library Command File on page 650

June 2000 615 Product Version 4.4.6

Page 616: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Terms and Conventions

The following table shows the format for library management commands, which is differentfrom the rest of this user guide.

You can use the alias mechanism to give a command a shorter name. For example, thecommand alias p lmPrintViewProp makes p an alias name for lmPrintViewProp .Thus, the command p( and2 symbol ) is equivalent to the command

Format Description

< > A user-supplied argument.

[ ] An optional item.

| (vertical bar) The logical operator OR. Example: in the expression “length :=[<integer> | <floating point number>]” , length iseither an integer or a floating-point number.

names A cell name, view name, property name, or filename can containalphanumeric characters (a-z , A-Z , 0-9 ), the underscore ( _ ),and question mark (?). However, the first character of a namecannot be a number.

" " Enclose a name that contains a blank, asterisk (* ), period (. ),slash (/ ), or hyphen (- ).

If a terminal has the same name as a keyword, enclose theterminal name in quotation marks. For example, enclose theterminal names input , output , io , or switch in doublequotation marks.

Enclose property names in double quotation marks.

spaces No space is allowed between a command name and the leftparenthesis that follows it.

\ (backslash) If a character such as backslash (\ ) or double quote ("" ) is usedin a string, one additional backslash must precede it as an escapecharacter.

lm + commandname

All S/SLG commands use the lm (library management) prefix.

… Continue using the same format with more of the same argument,if necessary.

t_ Datatype which stands for text. The t_ is not typed.

June 2000 616 Product Version 4.4.6

Page 617: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmPrintViewProp( and2 symbol ) . Then you can use p whenever you would have usedlmPrintViewProp .

June 2000 617 Product Version 4.4.6

Page 618: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Library Command File

The library command file is one master text file that contains all text information in the libraryprogramming environment needed for S/SLG. Because this file is the only input to S/SLG,library editing becomes essentially text editing. You can generate symbol and simulationviews after you create the library command file and run S/SLG.

S/SLG can do the following:

■ Add or delete properties in the symbol or simulation view

■ Check for library consistency

■ Backannotate objects in a schematic

■ Specify timing parameters

Note: All Cadence SKILL capabilities are available in S/SLG. Refer to the Virtuoso SchematicComposer SKILL Functions Reference for details about programming in SKILL.

June 2000 618 Product Version 4.4.6

Page 619: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Running the Symbol and Simulation Library Generator

You can run S/SLG in one of two environments:

■ Graphic

■ Nongraphic

Running the Symbol and Simulation Library Generator in the CadenceGraphic Environment

S/SLG is integrated into the Cadence graphic environment. If you want to do symbolgeneration or backannotation, you must run S/SLG in the Cadence graphic environment.Refer to Figure 3-1 on page 620 for an overview.

You can run S/SLG either by typing a function or a sequence of functions in the CommandInterpreter Window (CIW) or by creating a library command file.

When you create a library command file that contains S/SLG commands or SKILL functions,each command or function runs sequentially. You can load the file where you plan to saveyour generated symbol into S/SLG.

To load your file while you run S/SLG, do the following:

➤ Type the following function in the CIW:

lmLoadData( myFile.lm myLib )

where

lmLoadData opens your working library, loads your library command file, then closesyour working library when you complete running S/SLG.

myFile.lm is your library command file.

myLib is your working library.

Output and Error Messages

An error ends execution. Output and error messages are displayed in the CIW duringexecution. An exit status of t indicates there are no output or error messages; nil indicatesan error occurred. Error messages can be the result of syntax errors, insufficient arguments,or undefined parameters.

June 2000 619 Product Version 4.4.6

Page 620: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Figure 3-1 Diagram of Running S/SLG in the Cadence Graphic Environment

Running the Symbol and Simulation Library Generator in the CadenceNongraphic Environment

You can run S/SLG in the Cadence nongraphic environment in a UNIX window. For runningfunctions other than lmDefCell , run S/SLG in a UNIX window to display the output quickly.

Run the Cadence nongraphic program in a UNIX window to start interactive library editing;then type an S/SLG command or SKILL function.

To load a library command file and run all functions sequentially, do the following:

➤ In a UNIX window, type the following:

lmLoadData( "myFile.lm" "myLib" )

where

Method 2:lmLoadData closes your

working library

Method 2:Create a library command file using

S/SLG or SKILL commands

Load the library command file into S/SLG; start S/SLG by typing

lmLoadData in the CIW

Symbol generation/modification Timing specification Consistency

checking Backannotation

Method 1:Enter lmOpenLib to open yourworking library, then enter one

command or a sequence ofcommands in the CIW

Start S/SLG by typing anyS/SLG command in the CIW

S/SLG opens yourworking library

Method 1:Enter lmCloseLib to close your

working library in the CIW

June 2000 620 Product Version 4.4.6

Page 621: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmLoadData opens your working library, loads your library command file, then closesyour working library when you complete running S/SLG.

myFile.lm is your library command file.

myLib is your working library.

Refer to Figure 3-2 on page 621 for an overview of the above processes.

Figure 3-2 Diagram of Running S/SLG in the Cadence Nongraphic Environment

Method 2: Create a library command filethat contains S/SLG or SKILL commands

in the UNIX window

Start Cadence nongraphic program in aUNIX window. Type lmLoadData in a UNIX

window within Cadence nongraphicenvironment to load the library command

file

Timingspecifications

Propertyaddition

Consistencychecking

Method 2:S/SLG closes your working

library

Method 1: Execute Cadencenongraphic program in a UNIX

window

S/SLG opensyour working

library

Method 1:Enter lmCloseLib toclose your workinglibrary in a UNIX

window

Enter the command to open yourworking library, then enter one

command or a sequence ofcommands in aUNIX window

Method 2: Create a library command file thatcontains S/SLG commands or SKILL functions in

the UNIX window

June 2000 621 Product Version 4.4.6

Page 622: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Output and Error Messages

Each function returns a running status. Output and error messages are displayed on thescreen during execution. An exit status of t means that there are no output or errormessages, and nil means an error occurred during execution. Error messages can be theresult of syntax errors, insufficient arguments, or undefined parameters.

You can direct the output to a file and check it with a text editor, or you can check the outputon the screen.

To direct output and error messages to a file, add the following to your library command file:

poport = outfile( filename )errport = outfile( filename )

You can specify different files for storing the output or error messages, or you can specify thesame file. If you want to store them in the same file, use the following command:

poport = errport = outfile( filename )

Library Management Commands

The following table lists the library management (lm ) commands in the order described in thissection.

Command Name Description

lmCheckTerm Checks the consistency of terminal name, type, andwidth for views of a specified cell

lmCheckView Evaluates a sequence of expressions for specifiedcellviews

lmCloseLib Closes a library previously opened by lmOpenLib

lmDefCell Defines a cell, generates a symbol, and backannotatesobjects

lmDefTermProp Adds properties to terminals of the specified cellview

lmDefViewProp Adds properties to the specified cellview

lmDeleteTermProp Deletes properties from the terminals of specified views

lmDeleteViewProp Deletes properties from the specified view

June 2000 622 Product Version 4.4.6

Page 623: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmGetValue Returns the value of a specified property in thereferenced view

lmLoadData Loads a library command file

lmOpenLib Opens a library

lmPrintLibTermProp Prints terminal properties of a view for each cell in thecurrent library

lmPrintLibViewProp Prints properties of the specified view for each cell inthe current library

lmPrintTerm Prints names, types, and widths of all terminals of thespecified cellviews

lmPrintTermProp Prints properties of all terminals of a cellview

lmPrintViewProp Prints properties of all specified cellviews

lmReset Resets all global variables to their default values

lmSimView Creates a view with specified properties for a cell

Command Name Description

June 2000 623 Product Version 4.4.6

Page 624: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmCheckTerm

lmCheckTerm( <cell list > [<filename>] )

Description

Checks the consistency of terminal name, type, and width for all views of each specified cell.

If there is a schematic view, terminals in the schematic view are used as the basis ofcomparison for each cell. Otherwise, terminals in the symbol view are used as the basis ofcomparison. When neither schematic nor symbol view exists, no terminal checking isperformed. After checking, inconsistent terminal names/widths and input/output types areidentified and printed.

Arguments

cell list <cell list> := <cell name > | t | (<cell name> …<cell name>)

If cell list is t , all views of the specified cell are implied.

filename Name of a file where the printout is stored. If not specified, outputis displayed on the screen.

Examples

lmCheckTerm( (and2 and3) "check.out" )

Checks the terminal consistency of all views for the cells and2 and and3 and puts output inthe file check.out .

lmCheckTerm( t )

Checks the terminal consistency of all views for each cell in the current library.

June 2000 624 Product Version 4.4.6

Page 625: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmCheckView

lmCheckView( <cell list> <view name> [<filename>] <expression> …<expression>)

Description

Evaluates a sequence of expressions for each specified cellview. Checks the property valuefor consistency.

Property values can be included in an expression. The expressions should conform to SKILLsyntax. After evaluation, the result is printed for each expression.

Arguments

cell list <cell list> := <cell name > | t | (<cell name> …<cell name>)

view name Default: symbol

filename Name of a file where the printout is stored. If not specified, outputis displayed on the screen.

expression A property used in an expression refers to the property in <viewname>.

Examples

fast_process = tmargin = 1nslmCheckView( (and2 and3) symbol

if( fast_process thensum = 5nstrmax = 4nstfmax = 3ns

elsesum = 9nstrmax = 6nstfmax = 5ns

)lmGetValue(tr) < trmaxlmGetValue(tf) < tfmax

June 2000 625 Product Version 4.4.6

Page 626: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmGetValue(tr) + lmGetValue(tf) <- sum + margin)

Checks some conditions for the rise and fall time in the symbol view of and2 and and3 . Theproperty names tr and tf contain the rise and fall times. The predefined functionlmGetValue gets the value of the specified property.

lmCheckView( t spicegammaValue = lmGetValue(gamma)lambdaValue = lmGetValue(lambda)gammaValue < 0.4lamdaValue < 0.04

)

Checks the values of the properties gamma and lambda in the spice view for each cell inthe current library.

June 2000 626 Product Version 4.4.6

Page 627: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmCloseLib

lmCloseLib=> t/nil

Description

Closes the previously opened working library.

Note: Call lmOpenLib before starting any S/SLG command or SKILL function and calllmCloseLib when you are done if you are not using lmLoadData to load the librarycommand file.

Example

lmCloseLib

Closes a working library previously opened by lmOpenLib .

June 2000 627 Product Version 4.4.6

Page 628: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmDefCell

lmDefCell( <cell name> … <parameters> ); input and output declaration, and various parameters; for symbol generation[input( <term name> <term name> … <term name> )][output( <term name> <term name> … <term name> )][io( <term name> <term name> … <term name> )][switch( <term name> <term name> … <term name> )][defsymbol( <symbol arguments> )]; delay parameters and model/element initialization for; a timing analyzer[delayTable( <delay arguments> )[taModelInit( <model initialization arguments> )][taElmInit( <element initialization arguments> )][timingViolationTable( <timing violation arguments> )][ <any S/SLG command or SKILL function> ];; symbol generation takes place (default)symbolGen = t;; timing view generation takes place (default)taGen = t;; append properties to symbol[lmDefViewProp( <view property arguments> )]; append properties to terminals of symbol[lmDefTermProp( <terminal property arguments> )]

)

Description

Defines a cell, generates a symbol, and backannotates objects.

You can use any S/SLG command or SKILL function as an argument. If you specify requiredparameters, the symbol view of the cell can be automatically generated. You can specifytime delay information for a timing analyzer view. In addition, you can specify properties of thesymbol view for simulation and other purposes.

June 2000 628 Product Version 4.4.6

Page 629: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Properties

Each argument specified in lmDefCell is sequentially run in addition to default symbolgeneration and timing view generation. You can add commands (such as lmDefViewPropand lmDefTermProp ) to manipulate symbol properties. You can specify a completecharacterization of the symbol in the argument.

Variables

You can set the values of several global Boolean variables to change default values. ThesymbolGen variable controls symbol generation. The default value, t , triggers symbolgeneration as the first action of lmDefCell . If you set symbolGen to nil , no symbolgeneration takes place.

The taGen variable controls timing view generation. The default value, t , enables timing viewgeneration if delayTable parameters are specified. If you set taGen to nil , no timing viewgeneration takes place.

Arguments

input Input terminals.

output Output terminals.

io Input/output terminals.

switch Switch terminals.

defsymbol Symbol generation parameters. Refer to Appendix B, “Text-to-Symbol Generator”, for the format of defsymbol arguments.

delayTable Timing delay for the input/output pairs of the cell.

taModelInit Model for a timing analyzer to initialize.

taElmInit Element for a timing analyzer to initialize.

timingViolationTableIllegal timing.

June 2000 629 Product Version 4.4.6

Page 630: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Example

lmDefCell( aoi32input(A1 A2 A3 B1 B2)output(Y)lmDefViewProp(; add some properties to the symbol )

)

Generates a symbol view for the cell aoi32 .

June 2000 630 Product Version 4.4.6

Page 631: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmDefTermProp

lmDefTermProp([<cell name>][<view name>]( <terminal list> <property name> <property value> … <propertyname> = <property value> )( <terminal list> <property name> = <property value> … <propertyname> <property value> ))

Description

Adds properties to the terminals of the specified cellview. To add terminal properties, addspecified properties to the original property list and save the new file.

Variables

The replaceTermProp global variable controls the property-adding mode. The defaultvalue is nil , which means the mode is appending. If you set replaceTermProp to t , themode is replacement. replaceTermProp is automatically set to nil when you runlmDefCell and reset to the original value when finished.

Arguments

cell name Optional only when lmDefTermProp is used in lmDefCell .The first name (not a terminal name) in the argument list istreated as the cell name.

view name Default: symbol

terminal listHas the following format:

<terminal list> := <terminal name> | t | input | output | io |switch | ( <terminal name> <terminal name> … <terminal name> )

t Implies all terminals of the cell.input Implies all input terminals.output Implies all output terminals.io Implies all input/output terminals.switch Implies all switch terminals.

June 2000 631 Product Version 4.4.6

Page 632: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Note: If a terminal name is t , input , output , io , or switch , enclose it in quotationmarks to distinguish it from the keyword.

property nameAny SKILL symbol (identifier) or string.

property valueAny SKILL expression that returns proper values.

Example

lmDefTermProp( and2 symbol( A name = "A" )( B name = "B" )( Y name = "Y" )

)lmDefTermProp( and2

( t create = time("Apr 15 9:00:00 2000") ); refer to all terminals

)lmDefTermProp( and2 symbol

( input a = 1 ); refer to all input terminals( Y b = 1.1)

)lmDefTermProp( and2

( (A B) type = "input"))

Cell and2 has input terminals A and B and output terminal Y. Puts a list of properties intothese terminals.

June 2000 632 Product Version 4.4.6

Page 633: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmDefViewProp

lmDefViewProp( [<cell name>] [<view name>] <property name> <propertyvalue> … <property name> <property value> )

Description

Adds properties to the specified cellview. To add properties, add the specified properties tothe original property list and save the new file.

Variables

The replaceViewProp global variable controls the property adding mode. The defaultvalue, nil , means the mode is appending. If you set replaceViewProp to t , the mode isreplacement. replaceViewProp is automatically set to nil when running lmDefCell andis reset to the original value when finished.

Arguments

cell name Optional only when lmDefViewProp is used in lmDefCell .The first name (not a property name) in the argument list istreated as the cell name.

view name Default: symbol

property nameAny SKILL symbol (identifier) or string.

property valueAny SKILL expression that returns proper values. The syntax isas follows:

<property value> := <simple value>( <simpleValue> [(<range>)]) |time( <time value> [(<range>)]) |<filename>( <filename value> ) |ilExpr( <string> ) |nlpExpr( <string> ) |proplist( <property list> )

<property list> := <property pair> <property list> |<property pair> <property pair> := <property name> =<property value>

range := <enumeration> | <lower bound> <upper bound>

June 2000 633 Product Version 4.4.6

Page 634: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

<enumeration> := <string enumeration> | <string><lower bound> := <simple value> | <time value> | nil<upper bound> := <simple value> | <time value> | nil<simple value> := <integer> | <floating point number> | <string><Boolean value> := yes | true | t | no | false | nil<time value> := <string><filename value> := <string>

time Indicates the property type is time. If the type of a property istime , <time value> should contain the date, time, and year.For example, the propertylastChanged = time(“Jan 20 8:17:56 2000”)is a valid expression. Only the first three characters are neededto specify the month.

filename Indicates the property type is a filename. If the property type isfilename , <filename value> should be a string indicatingthe filename. For example, the propertymyFile = filename(“magic.c”) is a valid expression.

ilExpr Indicates the property type is a SKILL expression. This type ofproperty should have a valid SKILL expression.

nlpExpr Indicates the property type is a Netlist Processor (NLP)expression. This type of property is used mainly by the NLP ingenerating a netlist. Refer to the Open Simulation System (OSS)Reference Manual for details about NLP.

proplist Indicates the property type is a property list. In the database, aproperty list can be specified as the value of a property. That is,a property list can contain other property lists to form ahierarchical property list.

range The values of range must be enclosed in parentheses. If nil isspecified for a lower or upper bound in a range, it is unbounded.If a range is an enumeration type, each value in the range shouldbe a string (a name in quotation marks).

Examples

lmDefViewProp( and2 symbol"instance#" = 1snapSpacing = 4screenGridSpacing = 20

June 2000 634 Product Version 4.4.6

Page 635: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

screenGridMultiple = 5drawGrid? = yesdrawAxes? = nouserUnits = "userUnits""graphicsEditorUnits per userUnit" = 1newFont2 = time("Mar 19 14:38:57 2000")instancesLastChanged = time("Jun 20 10:16:19 2000")lastChecked = time("Nov 27 14:30:57 1999")tr = 2.0 * basic_process_timetf = 0.5 * lmGetValue(tr); properties for SILOS simulation (a hierarchical property listsilos = proplist(

Input_Pin_List = nlpExpr("[|A] [|B]")Pin_Net_Map = nlpExpr("\\n$ 1 [|Y]=Y [|A]=A [|B]=B")

; the value of Pin_Net_map is nlpExpr("\n$ 1 ; [|Y]=Y [|A]=A [|B]=b")

; the first "\" is used to quote the second for parsingNLPElementPostamble = nlpExpr("[@SILOS_AND_Image]")

); property with name="speed", value=10, type=integer,; lower-bound=8 and upper-bound=12speed = (10 (8 12)); property with name="file", value="property.c", type=filenamefile = filename("property.c")

)

Puts a list of properties into the symbol view of the cell and2 . Before you run this function,you should define the variable basic_process_time . The lmGetValue function is apredefined function for getting the value of a named property.

ten = 10 ; define variable tenunit = 1n ; define variable unitlmDefViewProp( and2 "cmos_sch" ; cmos_sch is double quoted because

; the non-alphanumeric character; "." is in the name

a = 10b = (ten (8 12))c = (10)d = (ten (8 nil))e = 2*unitf = (2n (1n 4n))g = (2n)h = (2*unit (nil 4*unit))i = yes ; yes, true, and t are identicalj = truek = tl = no ; no, false, and nil are identical

June 2000 635 Product Version 4.4.6

Page 636: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

m = falsen = nilo = yesp = "test"q = ("test" ("try" "test" "experiment"))r = ("test")s = ("test" ("test" "try" "debug"))"t" = filename("print.c") ; name t is double quoted

; to distinguish it from; SKILL keyword t

u = filename("print.c") ; do not specify a range; for filename

v = time("Apr 1 12:00:00 2000")w = time("Apr 1 12:00:00 2000" ("Mar 1 12:00:00 2000"

"May 1 12:00:00 2000"))x = time("Apr 1 12:00:00 2000")y = time("Apr 1 12:00:00 2000" (nil "May 1 12:00:00 2000")z = proplist( ; hierarchical property listaa = 1bb = 1.1cc = proplist(

aaa = 2bbb = 2.2)

))

Property specification for the cmos_sch view of the cell and2 .

June 2000 636 Product Version 4.4.6

Page 637: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmDeleteTermProp

lmDeleteTermProp( <cell list> <view name> ( <terminal list> …<property name> <terminal list> … <property name> ))

Description

Deletes specified properties from the terminals of specified views.

Arguments

cell list <cell list> := <cell name> | t | (<cell name><cell name> … <cell name>)

If cell list is t , all cells in the current library are implied.

view name Default: symbol

terminal listHas the following format:

<terminal list> := <terminal name> | t | input | output | io |switch | ( <terminal name> <terminal name> … <terminal name> )

t Implies all terminals of the cell.input Implies all input terminals.output Implies all output terminals.io Implies all input/output terminals.switch Implies all switch terminals.

Note: If a terminal name is t , input , output , io , or switch , enclose it in quotationmarks to distinguish it from the keyword.

Example

lmDeleteTermProp( SN74181 symbol(input Iih)(output Iol Ioh)

)

Deletes the property Iih from all input terminals and the properties Iol and Ioh from alloutput terminals for the symbol view of cell SN74181.

June 2000 637 Product Version 4.4.6

Page 638: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmDeleteViewProp

lmDeleteViewProp( <cell list> <view name> <property name> … <propertyname> )

Description

Deletes specified properties from the specified view.

Arguments

cell list <cell list> := <cell name> | t | (<cell name><cell name> … <cell name>)

view name Default: symbol

property nameAny SKILL symbol (identifier) or string.

Examples

lmDeleteViewProp( (and2 and3) symbol partName slotId )

Deletes the properties partName and slotId from and2 and and3 cells symbol view.

lmDeleteViewProp( t spice gamma lambda )

Deletes the gamma and lambda properties from the spice view for each cell in the currentlibrary.

June 2000 638 Product Version 4.4.6

Page 639: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmGetValue

lmGetValue( <property name> )

Description

Returns the value of a specified view property in the current referenced view.

If the specified property does not exist, nil is returned. The returned value can be an integer,a floating-point number, a Boolean value, or a string.

Use lmGetValue only in expressions in lmDefViewProp , lmDefTermProp , orlmCheckView to remove any ambiguity about the referenced cellview.

Arguments

property nameAny SKILL symbol (identifier) or string.

June 2000 639 Product Version 4.4.6

Page 640: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmLoadData

lmLoadData( t_file t_lib [t_path | nil [t_config | nil [t_mode |nil] ] ] )=> t/nil

Description

Opens a working library, loads the library command file, and closes the library when you arefinished.

Arguments

t_file S/SLG library command filename.

t_lib Working library name.

t_path Search path of the working library. If you specify a null string ornil , the program searches paths previously set up bydbSetPath for the named library.

t_config Configuration name, which lets you to set up the working contextof the library. If you specify a null string or nil , the program usesthe default configuration.

t_mode Valid Values: r (read only), a (append), w (write only)Default: r

Example

lmLoadData( "myFile.lm" "myLib" "" "" "a" )

Loads a command file, where myFile.lm is the library command file, and myLib is yourworking library.

June 2000 640 Product Version 4.4.6

Page 641: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmOpenLib

lmOpenLib( t_lib [t_path | nil [t_config | nil [t_mode | nil]]] )=> t/nil

Description

Opens a library.

Note: Call lmOpenLib before starting any S/SLG command and call lmCloseLib when youare done if you are not using lmLoadData to load the library command file.

Arguments

t_lib Working library name.

t_path Search path of the working library. If you specify a null string ornil , the program searches paths previously set up bydbSetPath for the named library.

t_config Configuration name, which lets you set up the working context ofthe library. If you specify a null string or nil , the program usesthe default configuration.

t_mode Valid Values: r (read only), a (append), w (write only) Default: r

Example

lmOpenLib( "myLib" )

Opens a library in read mode, where myLib is your working library.

June 2000 641 Product Version 4.4.6

Page 642: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmPrintLibTermProp

lmPrintLibTermProp( <view name> [<filename>] )

Description

Prints terminal properties of the specified view for each cell in the current library.

Arguments

view name <view list> := <view name > | t | (<view name> …<view name>)

filename Name of a file where the printout is stored. If not specified, outputis displayed on the screen.

Example

lmPrintLibTermProp( symbol )

Prints all terminal properties of the symbol view for each cell in the current library.

June 2000 642 Product Version 4.4.6

Page 643: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmPrintLibViewProp

lmPrintLibViewProp( <view name> [<filename>] )

Description

Prints properties of the specified view for each cell in the current library.

Arguments

view name Default: symbol

filename Name of a file where the printout is stored. If not specified, outputis displayed on the screen.

Examples

lmPrintLibViewProp( symbol )

Prints properties of the symbol view for each cell in the current library.

lmPrintLibViewProp( symbol "symbol.lil" )

Stores output in the file symbol.lil .

June 2000 643 Product Version 4.4.6

Page 644: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmPrintTerm

lmPrintTerm( <cell name> <view list> [<filename>] )

Description

Prints names, types, and widths of all terminals of the specified cellviews.

Arguments

cell name Optional only when lmPrintTerm is used in lmDefCell .

view list <view list> := <view name > | t | (<view name> …<view name>)

filename If specified, the output is put into the named file; otherwise, theoutput is displayed on the screen.

June 2000 644 Product Version 4.4.6

Page 645: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmPrintTermProp

lmPrintTermProp( <cell name> <view list> [<filename>])

Description

Prints properties of all terminals of the specified views of a cell.

Arguments

cell name Optional only when lmPrintTermProp is used in lmDefCell .

view list <view list> := <view name > | t | (<view name> …<view name>)

filename Name of a file where the printout is stored. If not specified, outputis displayed on the screen.

Output from lmPrintTermProp has the same format as that of lmDefTermProp , so youcan edit the output file, and then put the properties back into the terminals.

Example

lmPrintTermProp( nfet t )

Prints the terminal properties of all views of the cell nfet .

June 2000 645 Product Version 4.4.6

Page 646: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmPrintViewProp

lmPrintViewProp( <cell name> <view list> [<filename>] )

Description

Prints properties of all specified views of a cell.

Arguments

cell name Optional only when lmPrintViewProp is used in lmDefCell .The first name (not a property name) in the argument list istreated as the cell name.

view list <view list> := <view name > | t | (<view name> …<view name>)

filename Name of a file where the printout is stored. If not specified, theoutput is displayed on the screen.

Output from lmPrintViewProp has the same format as that of lmDefViewProp , so youcan edit the output file and then put the properties back into the view.

Examples

lmPrintViewProp( and2 symbol "and2.out" )

Prints properties of the symbol view of the cell and2 in the file and2.out .

lmPrintViewProp( and2 t "and2prop" )

Prints properties of all views of the cell and2 in the file and2prop .

lmPrintViewProp( and2 (symbol silos ta) "and2.sim" )

Prints properties of views symbol , silos , and ta of the cell and2 in the file and2.sim .

June 2000 646 Product Version 4.4.6

Page 647: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmReset

lmReset( )

Description

Resets all global variables to their default values.

June 2000 647 Product Version 4.4.6

Page 648: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmSimView

lmSimView( <cell name> <template view name> target<view name><property name> = <property value> … <property name> <propertyvalue> )

Description

Creates a view with specified properties for the specified cell.

Arguments

cell name Optional only when lmSimView is used in lmDefCell .

template view nameName of a template view, normally symbol , in which theterminal information is stored.

target view nameName of the view to be created.

property nameAny SKILL symbol (identifier) or string.

property valueAny SKILL expression, as long as the expression returns propervalues.

All specified properties are added into the target view. <cell name> and <template viewname> must exist in the current library.

Example

lmSimView( and2 symbol silosCreationTime = time("May 1 10:00:00 2000")Input _Pin_List = nlpExpr("[|A] [|B]")NLPElementPostamble = nlpExpr("[|Y] .AND[@Input_Pin_List][@NLPElementId]")

)

Creates the view silos with a list of properties for the cell and2 .

June 2000 648 Product Version 4.4.6

Page 649: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Variables That Control Command Execution

Predefined global variables control command execution that affect the modification of thedatabase. The following table shows variables and how they control lm functions.

Variable Default Value Use

symbolGen t Controls lmDefCell execution fordefining a cell

taGen t Controls lmDefCell execution for timingview generation

replaceViewProp nil Controls lmDefViewProp execution bycontrolling the property-adding mode

replaceTermProp nil ControlslmDefTermProp execution bycontrolling the property-adding mode

June 2000 649 Product Version 4.4.6

Page 650: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

Properties That Modify Values

To modify the value of a view or terminal property in the Cadence environment, use theproperty list editor.

To delete a property, use lmDeleteViewProp or lmDeleteTermProp . Then uselmDefViewProp or lmDefTermProp in append mode to put the property with the desiredvalue back into the database.

You can also use S/SLG commands and text editing. First, print all properties into a file. Then,edit the file by modifying the values of the target property and load the file into S/SLG toreplace all original properties. Remember to set replaceViewProp to t orreplaceTermProp to t . You can add parameters to the property values.

Sample Library Command File

The following example shows a text file containing several commands and variable settings.These commands and variables generate symbols, specify timing parameters, definecellview and terminal properties, and print cellview and terminal properties. A semicolon ( ;) defines comments.

lmOpenLib( "myLib" "" "" "a" ); library must be opened in append mode in order to execute; subsequent commands, such as lmDefCell, lmDefViewProp. This; command is redundant if you use lmLoadData to load this library; command file.;symbolGen = t; global variable setting;; cell description for SN74181;lmDefCell( "74181"

; input and output terminal namesinput( A0 A1 A2 A3 B0 B1 B2 B3 S0 S1 S2 S3 CIN_ M )output( F0 F1 F2 F3 AEQB COUT_ Y X )defsymbol(

symbolProps(vendorName = "TI"partName = "SN74181"refDes = "U100"

)

June 2000 650 Product Version 4.4.6

Page 651: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

); specify time delay for generating a timing view delayTable(

( CIN_ COUT_ 12:13 nonInvert )( (A0 A1 A2 A3) COUT_ 35ns:33ns invert )( (B0 B1 B2 B3) COUT_ 35ns:33ns nonInvert )( CIN_ (F0 F1 F2 F3) 13ns:12ns )( (A0 A1 A2 A3) Y 17ns:17ns nonInvert )( (B0 B1 B2 B3) Y 17ns:17ns invert )( (A0 A1 A2 A3) X 17ns:17ns nonInvert )( (B0 B1 B2 B3) X 17ns:17ns invert )( (A0 B0) F0 32ns:23ns )( (A1 B1) F1 32ns:23ns )( (A2 B2) F2 32ns:23ns )( (A3 B3) F3 32ns:23ns )( (A0 A1 A2 A3 B0 B1 B2 B3) AEQB 35ns:32ns )

); add properties into the symbol viewlmDefViewProp(

timeAdded = time("Apr 1 10:00:00 2000")author = "John Smith"; define properties for SILOS logic/fault simulation if; used as function modelsilos = proplist(

NLPElementPostamble =nlpExpr("[@SILOS_FNx_Image]")Input_Pin_List = nlpExpr("[|A0] [|A1] [|A2]\

[|A3] [|B0] [|B1] [|B2] [|B3] [|S0] [|S1] [|S2] \[|S3] [|CIN_] [|M]")

Output_Pin_List = nlpExpr("[|F0] [|F1] [|F2] [|F3] \[|AEQB] [|COUT_] [|Y] [|X]")

Pin_Net_Map = nlpExpr("\\n$ 8 [|F0]=F0 [|F1]=F1 \[|F2]=F2 [|F3]=F3 [|AEQB]=AEQB [|COUT_]=COUT_ \[|Y]=Y [|X]=X \[|A0]=A0 [|A1]=A1 [|A2]=A2 [|A3]=A3N[|B0]=B0 \[|B1]=B1 [|B2]=B2 [|B3]=B3 [|S0]=S0 [|S1]=S1 \[|S2]=S2 [|S3]=S3 [|CIN_]=CIN_ [|M]=M") \

; The value of Input_Pin_List Output_Pin_List and; Pin_Net_Map should be put into one line of a text; file. Here it is split into several lines for a more; readable format.)

); define the characteristics of input/output current for; terminals

June 2000 651 Product Version 4.4.6

Page 652: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

; iol : low-level output current; ioh : high-level output current; iil : low-level input current; iih : high-level input current;

lmDefTermProp(( output iol = 16mA )( (F0 F1 F2 F3 COUT_ Y X) ioh = -800uA )( AEQB ioh = 250uA )( (A0 A1 A2 A3 B0 B1 B2 B3) iil = -4.8mA iih = 120uA )( (S0 S1 S2 S3) iil = -6.4mA iih = 160uA )( M iil = -1.6mA iih = 40uA )( COUT_ iil = -8mA iih = 200uA ))

); cell description for TC4531BP - 12bit parity tree; ignore symbol generationsymbolGen = nillmDefCell( "4531"

; input and output terminal namesinput( D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11\"ODD|EVEN" )output( Q )defsymbol(

symbolProps(vendorName = "TOSHIBA"partName = "TC4531BP"refDes = "U200"

))

; specify time delaydelayTable(

( (D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11) 320ns:320ns )( "ODD|EVEN" 210ns:210ns )

); add properties into the symbol viewlmDefViewProp(

timeAdded = time("Apr 1 10:00:00 2000")author = "John Smith"; define properties for SILOS logic/fault simulation; if used as a function modelsilos = proplist(

NLPElementPostamble =

June 2000 652 Product Version 4.4.6

Page 653: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

nlpExpr("[@SILOS_FNx_Image]")Input_Pin_List = nlpExpr("[|D0] [|D1] [|D2] \[|D3] [|D4] [|D5] [|D6] [|D7] [|D8] [|D9] \[|D10] [|D11] [|ODD|EVEN]") \

Output_Pin_List = nlpExpr("[|Q]") \Pin_Net_Map = nlpExpr("\\n$ 1 [|Q]=Q [|D0]=D0 \

[|D1]=D1 [|D2]=D2 [|D3]=D3 [|D4]=D4 [|D5]=D5 \[|D6]=D6 [|D7]=D7 [|D8]=D8 [|D9]=D9 \[|D10]=D10 [|D11]=D11 [|ODD|EVEN]=ODD|EVEN")

; The value of Input_Pin_List and Pin_Net_Map; should be put into one line of a text file. Here it; is split into several lines for a more readable format)

);; define the characteristics of input/output current for; terminals; iol : low-level output current; ioh : high-level output current; iil : low-level input current; iih : high-level input current; VDD = 5V, VSS = 0V, 25ClmDefTermProp(

( outputiol = 1.5 ; 1.5Aioh = -1.0 ; –1.0A

)( input

iil = -0.01nAiih = 0.01nA

))

); append properties to the symbol of SN74181replaceViewProp = nillmDefViewProp( "74181"

vdd = 5date = time("Apr 1 12:00:00 2000")

); append properties to some terminals of the symbol of TC4531replaceTermProp = nillmDefTermProp( "4531"

("ODD|EVEN"

June 2000 653 Product Version 4.4.6

Page 654: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

check = "odd or even parity")(Q is = "only output")

); print all properties of the symbol of SN74181 in the file; prop.74181lmPrintViewProp( "74181" symbol "prop.74181" ); print all terminal properties of the symbol of TC4531BP in; the file term.4531lmPrintTermProp( "4531" symbol "term.4531" ); replace the properties in the symbol of SN74169replaceViewProp = tlmDefViewProp( "74169" symbol

instancesLastChanged = time("Jun 28 18:37:50 2000")userUnits = "userUnits""DBUPerUU" = 1.0snapSpacing = 5screenGridSpacing = 10screenGridMultiple = 4displayExpanded? = yestype = "TTL"manufacturerID = "TI"partName = "1000"

); replace the terminal properties in the symbol of SN74169replaceTermProp = tlmDefTermProp( "74169" symbol

(inputiil = -2mAiih = 50uA

)(output

iol = 20mAioh = -1mA

)); print the properties of symbol view for each cell in the current; working library in the file sym.proplmPrintLibViewProp( symbol "sym.prop" ); print the terminal properties of symbol view for each cell; in the current working library in the term.prop filelmPrintLibTermProp( symbol "term.prop" )

June 2000 654 Product Version 4.4.6

Page 655: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideSymbol and Simulation Library Generator

lmCloseLib; this command is redundant if you use lmLoadData to load this; command file.

June 2000 655 Product Version 4.4.6

Page 656: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

DConfiguring and Using Kanji Notes

You can configure your system to access Add – Note – Kanji Note for instantiating kanji notesymbols in your schematic design. The following topics are covered in this chapter.

■ Overview on page 657

■ Configuring Your System on page 657

❑ Installing the Required Files on page 657

❑ Uncompressing the Files on page 657

❑ Modifying the Schematic Editor Menu File on page 658

❑ Setting the Environment Variable on page 659

❑ Modifying the Data Registry File on page 659

■ Using Kanji Notes on page 660

❑ Formats, Files, and Views on page 660

❑ Adding a New Note on page 661

❑ Generating a Symbol from an Existing File on page 661

❑ Generating a Symbol from a New File on page 662

❑ Editing an Existing Note on page 664

■ Limitations on page 666

■ Known Problems on page 666

■ Using the schHiCreateKanjiSymbol Function on page 668

June 2000 656 Product Version 4.4.6

Page 657: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

Overview

The Virtuoso® schematic composer provides a user interface that lets you create or modifyEUC packed format kanji files. Based on the information in a kanji file, the software generatesa symbol cellview that contains kanji character graphics. You can then add documentation toyour schematics by placing an instance of the symbol.

Configuring Your System

To enable the user interface, you need to perform the following tasks:

■ Install (obtain and uncompress) the required vector files

■ Modify the schematic editor menu file

■ Set an environment variable

■ Modify the data registry file (as required)

The following sections describe the configuration tasks you must complete before you canaccess Add – Note – Kanji Note.

Installing the Required Files

The software uses two vector files to convert EUC-formatted files into schematic composercompatible graphics. The vector files describe the shapes of approximately 5,000 kanjicharacters.

The two compressed kanji vector files are

■ kanjiVectors1.Z

■ kanjiVectors2.Z

The vector files are normally stored in the following location:

your_install_dir /tools/dfII/etc/tools/schematic/

Note: If you do not find the files in the specified location, you can request copies from eitherCKK or the Cadence Customer Response Center (CRC).

Uncompressing the Files

To uncompress the vector files, type the following commands at the UNIX prompt:

June 2000 657 Product Version 4.4.6

Page 658: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

uncompress kanjiVectors1.Z

uncompress kanjiVectors2.Z

The software creates the following uncompressed vector files:

./tools/dfII/etc/tools/schematic/kanjiVectors1

./tools/dfII/etc/tools/schematic/kanjiVectors2

Note: The software looks for these uncompressed kanji vector files in the three followinglocations in the specified order:

■ your_install_dir /tools/dfII/etc/tools/schematic

■ . (the current working directory)

■ /tmp

Modifying the Schematic Editor Menu File

You need to modify the schematic menu file so that the users can access the Add – Note –Kanji Note command from the user interface.

To modify the file, do the following:

1. Use your text editor to open

your_install_dir /etc/tools/menus/schematic.menus

2. Search for the following text:

(NText "Note Text ..." "schHiCreateNoteLabel()" editOnly)

3. Open a line below it, and add the following:

(NKanji "Note Kanji ..." "schHiCreateKanjiSymbol()" editOnly)

4. Search for the following text:

(NoteText "Note Text ..." "schHiCreateNoteLabel()" editonly)

5. Open a line below it, and add the following:

(NoteKanji "Note Kanji ..." "schHiCreateKanjiSymbol()"editOnly)

6. Save the file and quit the editor.

June 2000 658 Product Version 4.4.6

Page 659: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

Setting the Environment Variable

The value of the invokeKanjiEditor environment variable determines which kanji EUC texteditor you access from the user interface.

The default value is set to

kterm -km euc -e vi

If the default value does not work for your system, you need to change the default setting inyour .cdsenv or .cdsinit file.

Testing the Default Setting

You can test whether the default value works for your system.

At a UNIX prompt, type the default value and append a filename as shown in the example:

unix> kterm -km euc -e vi /tmp/kanji_test

If a kanji editor opens, the default value works for your system.

Modifying the Data Registry File

Unless you register a special view type, as shown below, the software generates the followingwarning message when users in a TDM workarea save the original EUC file in the same cellas the new kanji symbol:

Warning: Unknown master tool file 'kanjitxt.euc' in view directory ...

To register the special view type, do the following:

1. Change directories to the directory that contains your data registry file, which should beone of the following:

.../4.4/share/cdssetup/registry/data/composer.reg

./data.reg

~/data.reg

2. Add the following to the data registry file:

DataFormat kanjiEUCText { // Define kanjiEUCText, non-asciisource text

Pattern = kanjitxt.euc;

Default_Editor = NONE;

June 2000 659 Product Version 4.4.6

Page 660: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

dfII_ViewType = kanjiEUCText;

Co_Managed = kanjitxt.euc master.tag;

}

The online help file appears.

3. Click one of the help topics.

The help file displays information about the topic you selected.

Using Kanji Notes

The Add – Note – Kanji Note command lets you create symbol cellviews containing kanjicharacters that you can instantiate in your schematic design.

The general procedure for creating and placing a kanji note follows:

■ Use a kanji text editor to create or edit a Kanji EUC-formatted file.

■ Generate a symbol cellview based on the information in the Japanese EUC-formattedfile.

■ Add an instance of the symbol cellview to your design.

Formats, Files, and Views

You use Add – Note – Kanji Note to open a kanji text editor, which you use to create aJapanese EUC packed (multiple-width) formatted file.

After you quit the kanji text editor, you click on the OK or Apply button on the Add Kanji Noteform. The software then

■ Generates a symbol cellview

■ Creates a kanj i cellview

The symbol cellview contains the graphics that represent the characters described in theEUC file. The software draws each character in the symbol by referencing the X and Ycoordinates, which are stored in the two kanji vector files.

The kanji cellview, which the software stores in your library, contains an exact copy of theinformation in the source Japanese EUC packed (multiple-width) formatted file.Because this copy resides in your library, you can use the schematic editor, whenever youwish, to change the file and regenerate the associated symbol and any instances.

June 2000 660 Product Version 4.4.6

Page 661: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

Note: The software stores the symbol and the kanji cellviews in the same cell.

Adding a New Note

The basic procedure for adding a new kanji note to your schematic is to generate a newsymbol and place an instance in your design. There are two ways to generate a new kanjinote symbol:

■ Generate a kanji note symbol based on an existing Japanese EUC packed (multiwidth)formatted file

■ Generate a kanji note symbol based on a new Japanese EUC packed (multiwidth)formatted file

Generating a Symbol from an Existing File

To generate a new kanji note symbol based on an existing Japanese EUC packed (multiple-width) formatted file, do the following:

1. Choose Add – Note – Kanji Notefrom the schematic editor menu banner.

The Add Kanji Note form appears.

June 2000 661 Product Version 4.4.6

Page 662: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

2. In the Kanji EUC File field, type the name of the existing EUC file.

3. (Optional) Change the default kanji note display parameters.

4. Click OK.

The software

❑ Generates a symbol cellview

❑ Creates a kanji cellview

❑ Opens the Add Instance form and makes the Add Instance command active

5. Move your cursor into the schematic.

A box that represents the instance of the kanji note symbol is bound to your cursor.

6. Place the symbol instance by clicking in the schematic.

The kanji note appears where you click your mouse. The Add Instancecommand remainsactive.

7. Press the Esc key to end the Add Instance command.

The Add Instance form closes.

Generating a Symbol from a New File

To generate a new kanji note symbol based on a new Japanese EUC packed (multiple-width)formatted file, do the following:

1. Choose Add – Note – Kanji Notefrom the schematic editor menu banner.

June 2000 662 Product Version 4.4.6

Page 663: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

The Add Kanji Note form appears.

2. In the File Editor field, click Open.

The software initializes the form with a filename and your kanji text editor opens the newfile.

3. In the kanji text editor, enter your kanji text, save the file, and quit the kanji text editor.

4. (Optional) Change the default kanji note display parameters.

5. Click OK.

The software

❑ Generates a symbol cellview

❑ Creates a kanji cellview

❑ Opens the Add Instance form and makes the Add Instance command active

6. Move your cursor into the schematic.

A box that represents the instance of the kanji note symbol is bound to your cursor.

7. Place the symbol instance by clicking in the schematic.

The kanji note appears where you click your mouse. The Add Instancecommand remainsactive.

June 2000 663 Product Version 4.4.6

Page 664: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

8. Press the Esc key to end the Add Instance command.

The Add Instance form closes.

Editing an Existing Note

To change an existing kanji note symbol and all instances of the note, do the following:

1. Select the instance object in your schematic.

The software highlights the object.

2. Choose Edit – Properties – Objects from the schematic editor menu banner.

The Edit Object Properties form appears.

June 2000 664 Product Version 4.4.6

Page 665: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

The form displays the current display parameter settings as CDF values and providesaccess to the kanji text editor.

3. (Optional) Open the kanji text editor, change the kanji note text, and close the editor.

4. The software updates the kanji cellview.

You will not see any change on the Edit Object Properties form.

You will not see any change in the schematic editor window until you click OK or Applyonthe Edit Object Properties form.

5. (Optional) On the Edit Object Properties form, change the parameter values.

June 2000 665 Product Version 4.4.6

Page 666: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

You will not see any change in the schematic editor window until you click OK or Applyonthe Edit Object Properties form.

6. Click OK or Apply on the Edit Object Properties form.

Caution

The software regenerates the symbol cellview, which changes allinstances of the symbol cellview.

Limitations

You should consider the following limitations when working with kanji notes.

■ You can use scale factor values of less than 1.0 to create smaller characters. Due toroundoff errors, however, scale factor values of less than 0.25 might make manycharacters unreadable.

■ Each kanji character is converted into many lines in a symbol cellview. Therefore, verylarge EUC files result in symbols that require huge amounts of memory, which can slowredraw speeds significantly.

■ The following character sets are not used often. They are not supported in either thesoftware or the vector files:

❑ EUC half-width katakana (code set 2)

❑ JIS X 0212-1990 (code set 3)

■ The conversion program reads only the first 5,000 characters in an EUC file.

■ If there are errors in the EUC file, the conversion program generates error messages foronly the first 20 errors. The conversion process continues, however, until the programreaches the end of the EUC file or the 5,000-character limit.

Known Problems

Consider the following known problems when working with kanji notes.

■ False warning messages

Sometimes, regenerating a kanji symbol results in a warning message similar to thefollowing:

*WARNING* Ignoring instance "I14" with zero area

June 2000 666 Product Version 4.4.6

Page 667: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

You can ignore the warning message. The warning seems to appear when both of thefollowing conditions are true:

❑ A recently created kanji symbol cellview is overwritten

❑ An instance of the overwritten symbol was recently placed on a schematic

■ Japanese EUC packed (multiple-width) formatted files are not deleted automatically.

After you generate the symbol and kanji cellviews, the files you create with the kanji texteditor are no longer needed. Although they do not take up much disk space, you shouldperiodically remove them to maintain a clean file system.

June 2000 667 Product Version 4.4.6

Page 668: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

Using the schHiCreateKanjiSymbol Function

schHiCreateKanjiSymbol([ t_text ][ t_justify ][ t_fontStyle ][ n_fontHeight ][ t_type ] )

Description

Creates a note label to annotate the design for documentation purposes. These shapes donot affect connectivity.

Usage

Usable when editing schematics or symbols.

Arguments

t_text Text for your note. The text can include spaces, tabs, and newlines.

t_justify Justification of the label text with respect to its placement.Valid Values: upperLeft , upperCenter , upperRight ,centerLeft , centerCenter , centerRight ,lowerLeft , lowerCenter , lowerRight

t_fontStyle Label font style.Valid Values: euroStyle , fixed , gothic , math , roman ,script , stick , milSpec

n_fontHeight Label height in user units: an integer or a floating-point number.Default: 0.0625

t_type Label type.Valid Values: normalLabel , NLPLabel , ILLabel Default:normalLabel

June 2000 668 Product Version 4.4.6

Page 669: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideConfiguring and Using Kanji Notes

Using schHiCreateKanjiSymbol

If you do not specify t_text or you specify it as nil , the options form appears and promptsyou for the note label text.

The editor drags the label described by arguments and prompts you to select a location toplace the label.

Example

schHiCreateKanjiSymbol( "Low Pass Filter Section" )

Creates the single string label Low Pass Filter Section using the current settings of allother arguments.

June 2000 669 Product Version 4.4.6

Page 670: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

EForm Descriptions

Appendix E describes the schematic composer forms.

■ Add Block Form on page 675

■ Add Custom Pin Form on page 676

■ Add Generic Form – VHDL Properties on page 677

■ Add Instance Form on page 678

■ Add Kanji Note Form on page 679

■ Add Net Expression Form on page 680

■ Add New Property to Find Form on page 681

■ Add New Property to Replace Form on page 682

■ Add New Property for Search Form on page 683

■ Add Note Shape Form – Arc on page 684

■ Add Note Shape Form – Circle on page 685

■ Add Note Shape Form – Ellipse on page 686

■ Add Note Shape Form – Line on page 687

■ Add Note Shape Form – Polygon on page 688

■ Add Note Shape Form – Rectangle on page 689

■ Add Note Text Form on page 690

■ Add Pin Form – Schematic on page 692

■ Add Pin Form – Symbol on page 693

■ Add Property Form – Edit Object Properties on page 694

■ Add Selection Box Form on page 695

June 2000 670 Product Version 4.4.6

Page 671: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

■ Add Simulation Monitor Form on page 696

■ Add Symbol Label Form on page 698

■ Add Symbol Shape Form – Arc on page 699

■ Add Symbol Shape Form – Circle on page 700

■ Add Symbol Shape Form – Ellipse on page 701

■ Add Symbol Shape Form – Line on page 702

■ Add Symbol Shape Form – Polygon on page 703

■ Add Symbol Shape Form – Rectangle on page 704

■ Add Wire Form on page 705

■ Add Wire Name Form on page 706

■ Build Inherited View List Form on page 708

■ Cellview From Cellview Form on page 709

■ Cellview From Instance Form on page 710

■ Cellview From Pin List Form on page 711

■ Change Sheet Border Size Form on page 712

■ Check Hierarchy Form on page 713

■ Component Browser Form on page 714

■ Component Browser Preferences Form on page 715

■ Copy Form on page 716

■ Create Cellview Dialog Box – Replace or Modify on page 717

■ Create Schematic Form on page 718

■ Create Schematic Sheet Form on page 719

■ Cross Reference Options Form on page 720

■ Cross-View Checker Form on page 721

■ Delete All Markers Form on page 722

■ Delete Generic Form – VHDL Properties on page 723

■ Delete Property Form – Edit Object Properties on page 724

June 2000 671 Product Version 4.4.6

Page 672: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

■ Delete Schematic Sheet Form on page 725

■ Descend Form – Descend Options on page 726

■ Descend Form – Iterated Instance on page 727

■ Descend Form – Multisheet on page 728

■ Descend Form – Noniterated Instance on page 729

■ Display Options Form on page 730

■ Edit Cellview Properties Form on page 733

■ Edit Component Display Form on page 735

■ Edit Object Properties Form – Basic on page 737

■ Edit Object Properties Form – Instance and Block on page 738

■ Edit Object Properties Form – Instance Pin on page 741

■ Edit Object Properties Form – Label on page 743

■ Edit Object Properties Form – Master Property on page 745

■ Edit Object Properties Form – Net Expression on page 747

■ Edit Object Properties Form – Note Shapes on page 749

■ Edit Object Properties Form – Note Text on page 751

■ Edit Object Properties Form – Other Object on page 753

■ Edit Object Properties Form – Pin on page 755

■ Edit Object Properties Form – Pin Name on page 757

■ Edit Object Properties Form – Selection Box on page 759

■ Edit Object Properties Form – Symbol Label on page 760

■ Edit Object Properties Form – Symbol Pin on page 762

■ Edit Object Properties Form – Symbol Shape on page 764

■ Edit Object Properties Form – Wire Name on page 766

■ Edit Object Properties Form – Wire Segment on page 768

■ Edit Pin Order Form on page 770

■ Edit Schematic Sheet Number Form on page 771

June 2000 672 Product Version 4.4.6

Page 673: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

■ Editor Options Form on page 772

■ Find Marker Form on page 775

■ Go To Pin Form on page 777

■ Go To Sheet Form on page 778

■ Import Symbol Form on page 779

■ Left, Right, Top, Bottom Pin Attributes Form on page 780

■ Load Label Display Form on page 781

■ Load Schematic Defaults Form on page 782

■ Modify Generic Form – VHDL Properties on page 783

■ Modify Property Form – Edit Object Properties on page 784

■ Move Form on page 785

■ Open Simulation Data Form on page 786

■ Plot Options Form on page 787

■ Renumber Instances Form on page 789

■ Reset Invisible Labels Form on page 790

■ Rotate Form on page 791

■ Route Flight Line Form on page 792

■ Save Label Display Form on page 793

■ Save Schematic Defaults Form on page 794

■ Save Schematics with Errors Form on page 795

■ Schematic Check Options Form on page 796

■ Schematic Find and Symbol Find Forms on page 798

■ Schematic Replace and Symbol Replace Forms on page 800

■ Schematic Select All Form on page 802

■ Schematic Select By Property Form on page 803

■ Schematic Selection Filter Form on page 804

■ Schematic Title Block Properties Form on page 805

June 2000 673 Product Version 4.4.6

Page 674: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

■ Set Instance Binding Form on page 806

■ Set Label Display Simulation Data Directory Form on page 807

■ Set Radix Form on page 808

■ Set Time Form on page 809

■ Setup Schematic Rules Checks Form on page 810

■ Show Label Form on page 814

■ Show Views Found Form on page 815

■ Stretch Form – Schematic Editor on page 816

■ Stretch Form – Symbol Editor on page 818

■ Submit Plot Form on page 819

■ Symbol Generation Options Form on page 823

■ Symbol Select All Form on page 827

■ Symbol Select By Property Form on page 828

■ Symbol Selection Filter Form on page 829

■ Synchronization Form on page 830

■ Time Scale Form on page 831

■ VHDL Properties Form on page 832

June 2000 674 Product Version 4.4.6

Page 675: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Block Form

Library specifies the library in which you want to add a new block. The default is the libraryfor the current design.

Cells specifies the cell name of the block you want to create. You can specify multiple cellnames by using a space to separate each name. The Cells and Names fields must match innumber. If there are more entries in Cellsthan in Names, the system assigns a name for each.If there are more entries in Names than in Cells, the system ignores the extra names.

View specifies the view you want to create. The default is symbol .

Names specifies the name of the cell. Only one name (instance) can be entered for each cell.There is a one-to-one correspondence between the entries in the Cellsand the Namesfields.You can specify multiple cell names by using a space to separate each name. The CellsandNames fields must match in number. If there are more entries in Cells than in Names, thesystem assigns a name for each. If there are more entries in Namesthan in Cells, the systemignores the extra names.

Pin Name Prefix specifies a name that the system uses to name all the pins that the systemcreates automatically when you connect wires to this block. The default is pin .

Block Shape lists a drawing option and a predefined set of presized blocks that you can addto the design.

freeform prompts you to drag your cursor between two points to specify the oppositecorners of a rectangle. The system draws the rectangle as you drag the cursor.

The default set of presized blocks includes small, medium, large, 2 by1,1 by 2, alu, mux4, and mux8.

June 2000 675 Product Version 4.4.6

Page 676: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Custom Pin Form

Pin Names specifies the names for the pins you want to add to your design and the order inwhich you want to add them. To add more than one pin name, use a space to separate thepin names. You can also use a bus expression to name an array of pins.

Direction contains a list of pin directions you can specify for the pins you want to add.

Bus Expansion specifies how the system interprets bus names.

off (default) interprets a bus name as one name and generates only one pin name thatincludes all the bits in the bus range. For example, for the name A<0:1> , the systemgenerates only the pin A<0:1> .

on interprets a bus name as multiple names and generates a pin for each bit of a busrange that you specify in the Pin Names field. For example, for the name A<0:1> , thesystem generates labels A<0> and A<1>.

Draw Mode specifies the line entry method.

draws a straight line in any angle between two points.

begins an L90 shape with a horizontal line segment and alternates betweenhorizontal and vertical.

begins an L90 shape with a vertical line segment and alternates between verticaland horizontal.

draws either a horizontal or vertical line segment first, then a 45-degree angle.

draws a 45-degree angle first, then either a horizontal or vertical line segment.

Lock Angle appears only when Draw Mode is set to .

any draws a line using any angle.

45 restricts cursor movement to 45-degree angles from the starting point.

June 2000 676 Product Version 4.4.6

Page 677: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Generic Form – VHDL Properties

Name specifies the generic name.

Type specifies the generic type.

Value (Optional) specifies a value for the generic.

June 2000 677 Product Version 4.4.6

Page 678: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Instance Form

Library specifies the library that contains the instance.

Cell specifies the instance cell name.

View specifies the instance view name.

Names specifies the names of the components you want to add to the design.

Browse opens a browser. Use the Editor Options form (Options – Editorcommand) to specifywhich browser, the Library Browser or Component Browser, the system opens.

Array lets you create multiple copies of the specified instance in a single operation.

Rows specifies the number of rows.

Columns specifies the number of columns.

Rotate turns an object in 90-degree increments counterclockwise around the currentreference point.

Sideways mirrors the object across an imaginary vertical line passing through the currentreference point.

Upside Down mirrors the object across an imaginary horizontal line passing through thecurrent reference point.

June 2000 678 Product Version 4.4.6

Page 679: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Kanji Note Form

Kanji EUC File specifies the path for an existing EUC packed formatted file. Leave this fieldblank if you are creating a new file.

File Editor Open starts the kanji text editor and creates a new EUC packed formatted file.The software automatically names the file by adding a string( _kanji_ ) and a unique number to the current schematic name and by adding the .docsuffix. The software displays the new filename in the Kanji EUC File field.

Library Name specifies the library where you want the software to create the new kanjisymbol. When you start the kanji text editor, the software automatically places the name ofthe current library in this field.

Cell Name specifies the cell where you want the software to create the new kanji symbol.When you start the kanji text editor, the software automatically generates a default cellnameby appending the current schematic cellname with a string ( _kanji_ ) and a uniquenumber.

The software stores the following display parameter settings as cell-level CDF parameters.

Scale Factor specifies a floating-point number for the character size. A value of 1.0represents a character that is 50 database units high and 50 database units wide, which isthe resolution used in the vector files. The default is 0.5 .

Note: Because of roundoff errors, a scale factor of .25 or less can make many charactersunreadable.

Horizontal Spacing specifies the prescaled X distance between adjacent characters. Thedefault value is 20 database units.

Text Direction specifies how the kanji text editor writes the text in the schematic.

horizontal causes the editor to write the text from left to right.

vertical causes the editor to write the text from top to bottom.

Vertical Spacing specifies the prescaled Ydistance between adjacent characters. Thedefault value is 20 database units.

June 2000 679 Product Version 4.4.6

Page 680: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Net Expression Form

Property Name specifies the name of the property that can be used to override the defaultglobal signal; in other words, the name of the property whose value redefines the name of thenet. The system evaluating the expression searches for the property that has this name to getthe value to inherit for the net.

Default Net Name specifies the global signal name to be used for the net associated with thisnet expression label. The system uses the default net name —for example vdd! , gnd! , orvss! –—when a netSet property has not been found on an instance of the currenthierarchical path. The name must specify a global scalar value.

Font Height specifies the height of the net expression label text in user units.

Font Style specifies the font used to display the net expression label.

Justification specifies the position of the cursor with respect to the text.

Entry Style specifies the mechanism for placing the net expression label on a wire or pin.

fixed offset automatically positions the net expression label at a specified distance fromthe wire or pin. The offset can be changed on the Add Wire Name form.

manual requires you to place the net expression label at a grid location on or near thewire or pin.

Rotate turns the label text counterclockwise in 90-degree increments around the referencepoint.

June 2000 680 Product Version 4.4.6

Page 681: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add New Property to Find Form

Property Name specifies a name of the property you want to add to the property namesearch list on the Schematic Find or Symbol Find form.

June 2000 681 Product Version 4.4.6

Page 682: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add New Property to Replace Form

Property Name specifies a name of the property you want to add to the property namesearch list on the Schematic Replace or Symbol Replace form.

June 2000 682 Product Version 4.4.6

Page 683: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add New Property for Search Form

Property Name specifies a name for the property you want to add to the list of propertynames on the Schematic Select By Property form.

June 2000 683 Product Version 4.4.6

Page 684: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Note Shape Form – Arc

Shape specifies a shape you can add to your design to outline the note text. The Add NoteShape form expands and contracts depending on which Shape option you select.

Line Style specifies the type of line you want to use to draw the arc shape.

June 2000 684 Product Version 4.4.6

Page 685: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Note Shape Form – Circle

Shape specifies a shape you can add to your design to outline the note text. The Add NoteShape form expands and contracts depending on which Shape option you select.

Line Style specifies the type of line you want to use to draw the circle shape.

solid specifies a solid line.

dashed specifies a dashed line.

June 2000 685 Product Version 4.4.6

Page 686: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Note Shape Form – Ellipse

Shape specifies a shape you can add to your design to outline the note text. The Add NoteShape form expands and contracts depending on which Shape option you select.

Line Style specifies the type of line you want to use to draw the ellipse shape.

solid specifies a solid line.

dashed specifies a dashed line.

June 2000 686 Product Version 4.4.6

Page 687: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Note Shape Form – Line

Shape specifies a shape you can add to your design. The Add Note Shape form expands andcontracts depending on which Shape option you select.

Line Style specifies the type of line you want to add.

solid specifies a solid line.

dashed specifies a dashed line.

Draw Mode specifies the line entry method.

draws a straight line in any angle between two points.

draws two line shapes. The first is horizontal; the second is vertical.

draws two line shapes. The first is vertical; the second is horizontal.

draws either a horizontal or vertical line segment first, then a 45-degree angle.

draws a 45-degree angle first, then either a horizontal or vertical line segment.

Lock Angle appears only when Draw Mode is set to .

any draws a wire using any angle.

45 restricts cursor movement to 45-degree angles from the starting point.

Line Width specifies the line width in user units.

narrow draws a line using the default setting of 0.0625 user units.

wide draws a wide-width line. When you select this option, you can edit the text field tochange the default width of 0.0625 user units.

June 2000 687 Product Version 4.4.6

Page 688: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Note Shape Form – Polygon

Shape specifies a shape you can add to your design to outline the note text. The Add NoteShape form expands and contracts depending on which Shape option you select.

Line Style specifies the type of line you want to use to draw the polygon shape.

narrow draws a line using the default setting of 0.0625 user units.

wide when enabled, lets you edit the default width of 0.0625 user units.

Draw Mode specifies the line entry method.

draws a straight line in any angle between two points.

begins an L90 shape with a horizontal line segment and alternates betweenhorizontal and vertical.

begins an L90 shape with a vertical line segment and alternates between verticaland horizontal.

draws either a horizontal or vertical line segment first, then a 45-degree angle.

draws a 45-degree angle first, then either a horizontal or vertical line segment.

Lock Angle appears only when Draw Mode is set to .

any draws a line using any angle.

45 restricts cursor movement to 45-degree angles from the starting point.

June 2000 688 Product Version 4.4.6

Page 689: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Note Shape Form – Rectangle

Shape specifies a shape you can add to your design to outline the note text. The Add NoteShape form expands and contracts depending on which Shape option you select.

Line Style specifies the type of line you want to use to draw the rectangle shape.

solid specifies a solid line.

dashed specifies a dashed line.

June 2000 689 Product Version 4.4.6

Page 690: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Note Text Form

Note Text specifies the text for the note you want to add to your design.

Entering text

Click in the text box. The pointer becomes an I-beam and you can begin typing.

Adding new lines

Press Return to move the cursor to a new line.

Selecting text

Click once at the location where you want to start selecting text.Click twice to select the word to the right of the cursor.Click three times to select the entire line.Click four times to select all the text in the text box.

Hold the left mouse button down and drag the cursor to select an area of text.

Pasting text

Select some text, point to the location in the text box, hold down the Control key,and click where you want to copy the selection, then click the middle mouse buttonto paste the text.

Deleting selected text

Control-h , Del , and Backspace delete selected text.

Deleting unselected text

Control-h or Backspace deletes one character to the left.

Del deletes one character to the right.

Meta-Backspace deletes one word to the left.

Meta-Del deletes one word to the right.

Deleting entire lines

Press Control-a to move the cursor to the beginning of the line,then press Control-k .

Press Control-e to move the cursor to the end of the line, thenpress Control-u .

June 2000 690 Product Version 4.4.6

Page 691: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Read File copies in a file and displays the file contents in the Note Text field. This actionoverwrites any text you entered in the text box.

To read in the file, specify the path to the text file, then click on Read File. When the filecontains characters that cannot be displayed, the system issues a warning and removes thecharacters before copying in the file.

The following options affect the appearance of the note text in the design but not in the NoteText field.

Font Height specifies the height of the note text in user units.

Font Style specifies the font the system uses to display text.

Justification specifies the position of the cursor with respect to the text.

Rotate turns the note text counterclockwise in 90-degree increments around the referencepoint.

June 2000 691 Product Version 4.4.6

Page 692: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Pin Form – Schematic

Pin Names specifies the names for the pins you want to add to the design and the order inwhich you want to place them. To add more than one pin name, use a space to separate eachname. When you enable the Bus Expansionoption, you can use a bus expression to name anarray of pins.

Direction contains a list of the directions you can specify for the pins you want to add.

Usage contains a list of the pin types you can specify for the pins you want to add. The defaultis schematic. Use offsheetonly when you are going to connect the added pins to another sheetin a multisheet schematic.

Bus Expansion specifies how the system interprets bus names.

off (default) causes the system to interpret a bus name as a single name and generatea single pin that includes all the bits in the bus range. For example, for the name A<0:1> ,the system generates only the pin A<0:1> .

on causes the system to interpret a bus name as multiple names and generate a pin foreach bit of a bus range that you specify in the Pin Names field. For example, for the pinA<0:1> , the system generates pins A<0> and A<1>.

Placement controls whether you can place multiple pins automatically in one operation.

single (default) requires you to point and click to identify the location for each pin.

multiple prompts you to point and click to specify the first and second pin locations. Thesystem uses the distance between these two points as a basis for automatically placingany remaining pins.

Rotate turns the pin in 90-degree increments counterclockwise around the reference point.

Sideways mirrors the pin across an imaginary vertical line passing through the referencepoint.

Upside Down mirrors the pin across an imaginary horizontal line passing through thereference point.

June 2000 692 Product Version 4.4.6

Page 693: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Pin Form – Symbol

Pin Names specifies the names for the pins you want to add to the design and the order inwhich you want to place them. To add more than one pin name, use a space to separate eachname. If you enable the Bus Expansionoption, you can use a bus expression to name an arrayof pins.

Direction contains a list of pin directions you can specify for the pins you want to add.

Bus Expansion specifies how the system interprets bus names.

off (default) interprets a bus name as one name and generates only one pin that includesall the bits in the bus range. For example, for the name A<0:1> , the system generatesonly the pin A<0:1> .

on interprets a bus name as multiple names and generates a pin for each bit of a busrange that you specify in the Pin Namesfield. For example, for the pin A<0:1> , the systemgenerates pins A<0> and A<1>.

Type contains a list of the valid pin types.

Placement controls whether you can place multiple pins automatically in one operation.

single (default) requires you to point and click to identify the location for each pin.

multiple prompts you to point and click to specify the first and second pin locations. Thesystem uses the distance between these two points as a basis for automatically placingany remaining pins.

Label Offset specifies how far, in user units, the pin name (pin label) is from the pin.

Label Location specifies where the pin name (pin label) appears in respect to the pin.

Rotate turns the pin in 90-degree increments counterclockwise around the reference point.

Sideways mirrors the pin across an imaginary vertical line passing through the referencepoint.

Upside Down mirrors the pin across an imaginary horizontal line passing through thereference point.

June 2000 693 Product Version 4.4.6

Page 694: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Property Form – Edit Object Properties

Name specifies a name for the new property.

Type specifies a property type.

Value specifies a value for the property.

Note: To define most properties, you need to specify only the name, type, and value.However, when you specify string, int, or float as the type, one of the following fields appearson the form.

Choices appears when Typeis set to string. If the string can have more than one value, typethe possible values. Entries in this field must match an entry in the Value field.

Min and Max appear when Type is set to int or float. Specify a range for the minimum andmaximum range for the integer or floating-point value.

June 2000 694 Product Version 4.4.6

Page 695: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Selection Box Form

Use your mouse to indicate two opposite vertices of a rectangle that contains the objects youwant to select, or click Automatic.

Automatic adds a selection box that contains all the objects that make up the symbol.

June 2000 695 Product Version 4.4.6

Page 696: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Simulation Monitor Form

Signal Name specifies the names of the nets you want to monitor. You can add net namesby selecting a wire, pin, or instance in the schematic or by typing the signal names. Use aspace to separate multiple signal names. The following rules apply:

■ If the name is not a valid name in the database, the signal is not monitored and a warningis issued.

■ The system concatenates relative signal names to the scope of the design, which resultsin a fully scoped name being passed to the simulation database connection. Forexample, specifying clock results in the name current_scopeclock .

■ You can specify signal names from child scopes by typing the partial scope. For example,specifying I3/clock results in the name + current_scopeI3/clock .

■ Signal names preceded by a slash ( / ) do not have the scope attached. This lets youprobe signals outside of the current scope. For example,/top/I3/I4/reset results in /top/I3/I4/reset .

■ The system displays in bus format the state of any signal name made up of multiple bits.The default bus radix is hexadecimal.

Format specifies how the monitor appears and which simulation information the monitordisplays. The possible choices are

<state><time>:< state><name>=<state><name>=<time>:< state>

Type specifies the type of simulation monitor.

monitor continuously displays the state of the signal and updates the display every timethe current simulation time of the window changes.

display shows the state of the signal only until the command ends. When the commandends, all simulation monitors are deleted.

Bus Expansion specifies how Signal Nameis interpreted.

off (default) places a monitor for each terminal name that you specify in the Signal Namefield. When selected, the system resets the signal name of the pin to the full text of thename that generates the current member name.

June 2000 696 Product Version 4.4.6

Page 697: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

on generates the terminal name for each bus name (specified as individual vectors) inthe order specified in the Signal Name field. For example, for the name A<0:1> , thesystem generates the labels A<0> and A<1>.

Placement specifies the mode you use to place monitors.

single (default) requires you to point and click to identify a monitor location.

multiple prompts you to point and click to specify the first and second monitor locations.The system uses the distance between these two points to automatically place anyremaining monitors.

Auto Placement automatically places the specified signal monitors near a pin figure thatconnects to a matching net name.

June 2000 697 Product Version 4.4.6

Page 698: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Symbol Label Form

Label specifies the label name. The system fills in this field automatically, depending on theoption you select from the Label Choice cyclic field.

Font Height specifies the height of the text in user units.

Label Choice contains a list of valid label types.

Font Style specifies the font the system uses to display the label.

Label Type specifies how the system displays the label in the design.

normalLabel displays the label as a text string.

NLPLabel interprets the label according to netlisting rules and displays the result.

ILLabel interprets the label as a SKILL expression and displays the result.

Justification specifies the position of the cursor with respect to the text.

Rotate turns the note text counterclockwise in 90-degree increments around the referencepoint.

June 2000 698 Product Version 4.4.6

Page 699: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Symbol Shape Form – Arc

Shape specifies a shape you can add to your design. The Add Symbol Shape form expandsand contracts depending on which Shape option you select.

June 2000 699 Product Version 4.4.6

Page 700: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Symbol Shape Form – Circle

Shape specifies a shape you can add to your design. The Add Symbol Shape form expandsand contracts depending on which Shape option you select.

Fill Style determines whether the circle is filled or not.

outline draws just the border.

filled fills in the specified shape.

June 2000 700 Product Version 4.4.6

Page 701: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Symbol Shape Form – Ellipse

Shape specifies a shape you can add to your design. The Add Symbol Shape form expandsand contracts depending on which Shape option you select.

Fill Style determines whether the ellipse is filled or not.

outline draws just the border.

filled fills in the specified shape.

June 2000 701 Product Version 4.4.6

Page 702: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Symbol Shape Form – Line

Shape specifies a shape you can add to your design. The Add Symbol Shape form expandsand contracts depending on which Shape option you select.

Line Width specifies the width of the line you want to add.

narrow draws a line using the default setting of 0.0625 user units.

wide lets you edit the default width.

Draw Mode specifies the line entry method.

draws a straight line in any angle between two points.

begins an L90 shape with a horizontal line segment and alternates betweenhorizontal and vertical.

begins an L90 shape with a vertical line segment and alternates between verticaland horizontal.

draws either a horizontal or vertical line segment first, then a 45-degree angle.

draws a 45-degree angle first, then either a horizontal or vertical line segment.

Lock Angle appears only when Draw Mode is set to .

any draws a line using any angle.

45 restricts cursor movement to 45-degree angles from the starting point.

June 2000 702 Product Version 4.4.6

Page 703: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Symbol Shape Form – Polygon

Shape specifies a shape you can add to your design. The Add Symbol Shape form expandsand contracts depending on which Shape option you select.

Fill Style determines whether the polygon is filled or not.

outline draws just the border.

filled fills in the specified shape.

Draw Mode lists the possible line entry methods.

draws a straight line in any angle between two points.

begins an L90 shape with a horizontal line segment and alternates betweenhorizontal and vertical.

begins an L90 shape with a vertical line segment and alternates between verticaland horizontal.

draws either a horizontal or vertical line segment first, then a45-degree angle.

draws a 45-degree angle first, then either a horizontal or vertical line segment.

Lock Angle appears only when Draw Mode is set to .

any draws a line using any angle.

45 restricts cursor movement to 45-degree angles from the starting point.

June 2000 703 Product Version 4.4.6

Page 704: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Symbol Shape Form – Rectangle

Shape specifies a shape you can add to your design. The Add Symbol Shape form expandsand contracts depending on which Shape option you select.

Fill Style determines whether the rectangle is filled or not.

outline draws just the border.

filled fills in the specified shape.

June 2000 704 Product Version 4.4.6

Page 705: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Wire Form

Draw Mode specifies the wire entry method.

route (default) creates a route between two points.

draws a straight line in any angle between two points.

begins an L90 shape with a horizontal line segment and alternates betweenhorizontal and vertical.

begins an L90 shape with a vertical line segment and alternates between verticaland horizontal.

draws either a horizontal or vertical line segment first, then a 45-degree angle.

draws a 45-degree angle first, then either a horizontal or vertical line segment.

Route Method specifies how the system routes wires. This option appears when you setDraw Mode to route.

full draws complex lines consisting of right angles and up to three segments to completethe connection wire.

direct draws a straight line between two points.

flight draws a dashed, straight line between two points.

Lock Angle appears when Draw Mode is set to . Use this option to control the cursormovement.

any (default) lets you drag your cursor along any angle.

45 limits cursor movement to 45-degree angles.

Width specifies the wire width in user units. The default values are 0 (zero) for a narrow wireand 0.0625 for a wide wire.

June 2000 705 Product Version 4.4.6

Page 706: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Add Wire Name Form

Names specifies one or more names for wires. You can specify multiple names by separatingeach name with a space. You can also use a bus expression to name an array of wire names.

Font Height specifies the size of your wire name text as a floating-point value, in user units.The default is 0.625 .

Font Style specifies the typeface the system uses to display the wire name.

Justification specifies the position of the cursor with respect to the wire name.

Entry Style specifies the mechanism for placing the name with the wire.

fixed offset automatically positions the wire name at a specified distance from the wire.

manual requires you to place the wire name at a grid location on or near the wire.

Bus Expansion specifies how the system interprets bus names.

off (default) interprets the bus name as a single name and generates a single name thatincludes all the bits in the bus range. For example, for the name A<0:1> , the systemgenerates only the name A<0:1> .

on interprets the bus name as multiple names and generates a name for each bit of abus range that you specify in the Names field. For example, for the name A<0:1> , thesystem generates names A<0> and A<1>.

Placement controls whether you can place multiple wire names automatically in oneoperation.

single (default) requires you to point and click to identify each wire name location.

multiple lets you drag your mouse between two points to designate the wires that youwant the system to name automatically.

Purpose defines the purpose of the wire name.

label assigns the wire name to the corresponding wire.

alias defines the wire name as an alternative name (usually shorter or more descriptive)for the wire.

Show Offset Defaults expands the form so you can change the fixed offsetvalues that thesystem uses for placing wire names on horizontal or vertical wires.

Text Offset specifies the distance between a wire name and a wire.

June 2000 706 Product Version 4.4.6

Page 707: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Text Position specifies the location of a wire name in relation to the wire.

Text Rotation specifies the orientation of a wire name in relation to the wire.

Hide Offset Defaults collapses the form to hide the offset defaults.

Rotate turns the wire name in 90-degree increments counterclockwise around the referencepoint when Entry Style is set to manual.

June 2000 707 Product Version 4.4.6

Page 708: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Build Inherited View List Form

Available Constants/Views provides a selection list of available constants and views. Thelist is made up of constants that have been defined for this design and the union of all viewsof the selected instances.

Arrow keys move the selected elements into and out of the Inherited View list box.

Inherited View List specifies the contents of the new Inherited View list box that you arecreating.

Add lets you type in other views to add.

Up moves the selected view in the Inherited View list box up one position in the list.

Down moves the selected view in the Inherited View list box down one position in the list.

June 2000 708 Product Version 4.4.6

Page 709: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Cellview From Cellview Form

Library Name specifies the library that contains the source cellview.

Cell Name specifies the cell name.

Browse opens the Library Browser. You can use the browser to select the library, cell, andview names. The system automatically fills in the form with the information you specify in thebrowser.

From View Name contains a list of the existing views for the source cellview.

To View Name specifies the view name of the cellview the software generates when you clickon OK or Apply. The Tool/Data Type setting initializes this field. You can edit this field.

Tool / Data Type specifies the type of cellview to be created.

Display Cellview , when enabled, causes the software to open the newly created cellview inan editor window when you complete the cellview generation process.

Edit Options, when enabled, displays a subform when you complete the Cellview FromCellview form. Use the subform to specify other options.

June 2000 709 Product Version 4.4.6

Page 710: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Cellview From Instance Form

View Name specifies the type of cellview the software generates when you click OK. The Tool/ Data Type setting initializes this field.

Tool / Data Type specifies the type of cellview to be created.

Display Cellview , when enabled (default), causes the system to open the newly createdcellview in an editor window when you complete the cellview generation process.

June 2000 710 Product Version 4.4.6

Page 711: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Cellview From Pin List Form

Input Pins specifies an input pin list either from any library or expressed as a new pin name.

Output Pins specifies an output pin list either from any library or expressed as a new pinname.

IO Pins specifies an input/output pin list from any library or expressed as a new pin name.

Switch Pins specifies a switch level pin list from any library or expressed as a new pin name.

Library Name specifies the library name for the generated cellview.

Cell Name specifies the cell name for the generated cellview.

View Name specifies the type of cellview the software generates. The Tool /Data Type settinginitializes this field.

Tool / Data Type specifies the type of cellview to be created; for example, Composer – Symbol.

Browse opens a Library Browser. Use the browser to select the library name, cell name, andview name. The system automatically fills in the form with the information you select in thebrowser.

Display Cellview , when enabled, causes the software to open the newly created cellview inan editor window when you complete the cellview generation process.

Edit Options , when enabled, displays a subform when you complete the Cellview From PinList form. Use the subform to specify other options.

June 2000 711 Product Version 4.4.6

Page 712: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Change Sheet Border Size Form

Border Size specifies the new sheet size to use in the schematic.

A changes the sheet to an A-size sheet with a vertical orientation, as it would appear ina book.

none deletes an existing sheet border; otherwise, this option does not affect the sheet.When you select this option, the system ignores the Border Type field.

Border Type specifies the sheet border type.

basic (default) changes the sheet to include global and sheet-specific border titles in thetitle block.

continue changes the sheet to include sheet-specific border titles in the title block.

June 2000 712 Product Version 4.4.6

Page 713: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Check Hierarchy Form

Process specifies which schematics the system checks.

every schematic checks all schematics in the hierarchy.

only those that need it (default) checks only those schematics that have been updatedsince the last time you saved your design.

Referenced libraries specifies whether the hierarchy check continues outside of the currentlibrary.

check activates the text field so you can edit the list. When you click Apply or OK, thesystem checks the libraries displayed in the field.

do not check (default) checks only the current library; the libraries that appear in the textfield are not checked.

Save schematics specifies whether the system saves schematics when the check operationis complete.

yes (default) saves the checked schematics.

no does not save the checked schematics.

those with errors appears only when you select yes. This option specifies how thesystem handles schematics that contain errors.

Ask Me (default) prompts you to confirm which of the displayed schematics youwant to save.

No Save does not save any schematics that contain errors.

Save saves all schematics even when they contain errors.

View Name List displays a scrollable list of views that is used to traverse the hierarchy.

When the schematic is in the context of a design configuration or a hierarchy configuration,the following two fields appear:

Using configuration displays the configuration name using the format lib cell view .

Starting from displays the name of the top level cellview using the format lib cellview.

June 2000 713 Product Version 4.4.6

Page 714: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Component Browser Form

Library specifies the library that contains the component you want to add.

Flatten controls whether the list box displays cell categories (default; turned off) or cells(turned on) contained in the specified library. The display changes when you toggle thisoption.

Filter specifies a text string that limits the list box display to categories or cells that containthe text string. The display changes when you click on the Library option.

Remove appears only when you use the Commands – Add Library command to expand theform. This option lets you remove the associated library from the form.

The list box displays the categories or cells contained in the library (see Flatten).

June 2000 714 Product Version 4.4.6

Page 715: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Component Browser Preferences Form

Browser Opens with the Invocation of when turned on (default), the system opens theComponent Browser when you click on the Browse button on the Add Instance form.

Status of Browser After Closing defines what happens to the Component Browser whenyou close the Add Instance form.

icon (default) collapses the window into an icon.

open leaves the Component Browser window open.

closed closes the Component Browser window.

June 2000 715 Product Version 4.4.6

Page 716: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Copy Form

Snap Mode specifies the angles along which you can move copied objects within thecellview.

anyAngle (default) lets you move the copied objects along any angle.

diagonal restricts the movement of copied objects to points along 45-degree, 90-degree,and 180-degree angles from the current location.

orthogonal restricts the movement of copied objects to points along the X and Y axesfrom the current location.

Array lets you create multiple copies of a selected object in a single operation and specifythe dimensions of the array.

Rows specifies the number of rows.

Columns specifies the number of columns.

Rotate turns an object in 90-degree increments counterclockwise around the currentreference point.

Sideways mirrors the object across an imaginary vertical line passing through the currentreference point.

Upside Down mirrors the object across an imaginary horizontal line passing through thecurrent reference point.

June 2000 716 Product Version 4.4.6

Page 717: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Create Cellview Dialog Box – Replace or Modify

Replace does the following to a cellview:

■ Discards any modifications you may have made to that cellview

■ Creates only the pins, properties, selection box, labels, and other graphics; all schematicinstances, schematic wires, and HDL body text are lost

■ May alter the position of pins in the new symbol cellview

Modify does the following to a symbol cellview:

■ Automatically edits the cellview with a minimal amount of changes to the current pinlocations, graphics, and properties within the symbol cellview

■ Deletes pins that are no longer needed

■ Adds pins that do not yet exist in the new cellview

Pins are added near the bottom of the cellview. Use the symbol editor to reposition thesenew pins and to adjust any symbol graphics. The system determines attributes of thenew pins by the currently active TSG template file.

■ Adds or updates cellview properties and terminal properties

■ Annotates the changes that were made in note format at the bottom of the cellview andin the Command Interpreter Window (CIW)

■ Does not delete cellview or terminal properties

June 2000 717 Product Version 4.4.6

Page 718: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Create Schematic Form

Schematic Type determines which type of schematic you create.

single creates a single sheet schematic.

multi-sheet creates a multisheet schematic and opens the first page so you can beginediting.

Size specifies the size of the sheet border for the new schematic. The possible values are Athrough F, A Book, and none.

Type specifies the type of sheet border.

basic specifies global and sheet-specific border titles. This option creates a templateonly. To fill in the fields in the title box, use the Sheet – Edit Title command.

continue specifies a continuation border, which contains only specific border titles suchas the sheet size and number.

June 2000 718 Product Version 4.4.6

Page 719: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Create Schematic Sheet Form

Number specifies the sheet number that the editor creates when you click Applyor OK. Thedefault sheet number is the next sheet number in the multisheet sequence. Valid choices areintegers greater than zero (0).

Size specifies which sheet border size the editor uses for the new sheet. The valid choicesare A through F, A Book, and none.

A Book creates an A-size sheet with a vertical orientation, as it would appear in a book.

none creates a new sheet without a sheet border. The system ignores the Type optionwhen you select this option.

Type specifies the sheet border type.

basic (default) specifies a template that contains global and sheet-specific border titles.You use the Schematic Title Block Properties form to fill in the fields in the title box.

continue specifies the same sheet size and border titles as those used for the schematicin the current design window.

June 2000 719 Product Version 4.4.6

Page 720: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Cross Reference Options Form

Generate Cross Reference Report File specifies whether the system generates a cross-reference report file.

off (default) does not generate a cross-reference report file.

on generates a cross-reference report file.

View Report opens a view window that displays the report file you specify in the Report Filefield.

Report File specifies a name for the file where you want to store the cross-reference report.

Display Cross References in Schematic specifies whether the editor displays cross-reference strings in the design window.

off does not display cross-reference strings.

on displays cross-references next to the pin in the schematic.

Cross Reference Format specifies how the system displays cross-references in the designwindow and report file.

Format String specifies the format of the text strings that the system displays in thedesign window. The default is

sheetNumber zone referenceName

Show Duplicate Zones determines whether the system displays duplicate pinreferences found within one zone.

off does not display duplicate references.

on displays all duplicate references.

Sort References By determines how the system sorts the elements within cross-reference lists.

Direction sorts the pins into groups by pin direction, then sorts the groups by sheetnumber and zone. The valid pin direction groups are input pins, output pins, andI/O pins.

Sheet Number sorts the reference list by sheet number and zone.

June 2000 720 Product Version 4.4.6

Page 721: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Cross-View Checker Form

Cross View Check Severity specifies which action the system performs when pin namesand pin directions do not match.

ignored results in no action.

warning generates warnings.

error generates error messages.

Views To Check displays a list of the views the cross-view checker checks when you click onOK or Apply.

Match Pin Names Exactly , when enabled, checks whether pin names match exactly. Forexample, pins A<0> and A<1> in view1 and pin A<0:1> in view2 would not match.

Match Inherited Terminals , when enabled (default), checks whether inherited terminalsmatch.

Match Terminal Net Expressions , when enabled (default), checks whether terminal netexpressions match.

June 2000 721 Product Version 4.4.6

Page 722: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Delete All Markers Form

Severity defines which level of markers the system deletes in the list box and in your design.

all deletes all markers.

error deletes all markers with error messages.

warning deletes all markers with warning messages.

Search Scope defines the scope of the deletion.

cellview deletes markers from the current cellview only.

hierarchy starting from top cellview deletes markers throughout the entire hierarchy.

hierarchy starting from current cellview deletes markers throughout the hierarchystarting from the current cellview.

Source specifies the category of markers that are to be deleted in terms of the program thatgenerated them.

SRC deletes schematic rules checker markers.

VIC deletes cross-view checker markers.

conn deletes connectivity markers.

none appears when there are no messages in the list box.

Note: The SRC, VIC, and conn buttons appear when you are checking a schematic design;only the VIC button appears when you are checking a symbol design.

June 2000 722 Product Version 4.4.6

Page 723: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Delete Generic Form – VHDL Properties

Name specifies the generic name.

Note: When you select a generic in the list box before you select the command, the systemfills in the form with the generic information.

June 2000 723 Product Version 4.4.6

Page 724: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Delete Property Form – Edit Object Properties

Note: In general, you use the Delete Property form only to delete properties from the EditObject Properties form or the Edit Cellview Properties form. Therefore, to delete propertiesfrom your cellview, you normally click OK or Applyon the form that calls the Delete Propertyform. However, the software deletes hierarchical properties from the database when you clickOK or Apply on the Delete Property form.

The list box displays a list of all the user-defined properties.

Delete All , when enabled, deletes all the displayed properties.

June 2000 724 Product Version 4.4.6

Page 725: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Delete Schematic Sheet Form

Starting Number specifies the first number of a range to delete. The default is 0.

Ending Number specifies the last number of a range to delete. If you specify same or do notspecify the last sheet number in the range, only the current sheet is deleted. The default issame.

June 2000 725 Product Version 4.4.6

Page 726: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Descend Form – Descend Options

Target Cellview specifies how the system identifies the destination cellview.

query user prompts you to select a view name from a cyclic field list on the Descend Editform. The list contains the existing view names for the instance.

use viewNameList uses the view name list to automatically descend into the firstexisting view for the specified instance. Enter the view name list on the Editor Optionsform.

June 2000 726 Product Version 4.4.6

Page 727: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Descend Form – Iterated Instance

Iteration Number lets you type the iteration you want to descend into.

View Name lists the existing views for the selected instance.

June 2000 727 Product Version 4.4.6

Page 728: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Descend Form – Multisheet

View Name contains a list of the existing views for the selected instance.

Display specifies the type of sheet you want to descend into.

index descends into the index sheet.

sheet (default) descends into the sheet number you specify.

June 2000 728 Product Version 4.4.6

Page 729: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Descend Form – Noniterated Instance

View Name contains a list of the existing view names for the selected instance.

June 2000 729 Product Version 4.4.6

Page 730: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Display Options Form

Net Expression Display allows you to choose how a net expression label will be displayed.The net name can vary depending on the sequence of instances through which you havedescended. If you have descended down through an instance that has a netSet overrideproperty, the overriding signal name is displayed in the schematic editor window.

Display preferences for net expressions and evaluation for a particular descended branch ofthe hierarchy are as follows:

Drag Limit lets you specify the maximum number of shapes whose movement is shown inthe design window during a move or copy operation. When the total number of shapesexceeds the specified maximum, the system substitutes a bounding box for the set of shapes.

Axes specifies whether the schematic editor displays the X and Y axes when you view or edita schematic view.

Object-Sensitive Pop-Up Menus lets you use the middle mouse button to open a menu ofcommands. The menu varies depending on the object currently under the cursor.

off disables this option. When you turn this option off, the default pop-up menu appearswhenever you press the middle mouse button while an object is selected.

on (default) enables this option.

Dynamic Highlighting highlights the objects in the design that are affected when certainactive commands are implemented.

off disables this option.

Property gnd notfound

Property gnd foundand specifiesmygnd!

Property gnd found andspecifies a local signal“ A” two levels downfrom the top

value only gnd!* mygnd!* /I1/I2/A*

value (default) gnd! (gnd!)* mygnd! (gnd!)* /I1/I2/A (gnd!)*

value [propertyname]

gnd! [gnd]* mygnd! [gnd]* /I1/I2/A [gnd]*

value[expression]

gnd![@gnd:%:gnd!]*

mygnd![@gnd:%:gnd!]*

/I1/I2/A[@gnd:%:gnd!]*

expression only [@gnd:%:gnd!]* [@gnd:%:gnd!]* [@gnd:%:gnd!]*

June 2000 730 Product Version 4.4.6

Page 731: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

on (default) enables this option.

Show Direct Connections shows the connection between pins.

off (default) disables this option.

on enables this option.

Show Text Justification displays a plus sign (+) in the design wherever a text string begins.

off (default) disables this option.

on enables this option.

Gravity affects how the Add – Wire command is completed. When you add a wire to a blockinstance, the system terminates the wire on the edge of the block. When you add a wire toanother type of instance, the system terminates the wire on the instance pin.

off disables this option.

on (default) enables this option.

Display Status Banner displays an extra line of status information in the status banner of thedesign window. The status line displays the coordinates for the pointer or the selection count.When disabled, the Coordinates on Status Banner option disappears from the form.

off disables this option.

on (default) enables this option.

Coordinates on Status Banner displays the coordinates of the current mouse position in thestatus banner. This option appears only when Display Status Banner is on.

off (default) disables this option.

on enables this option.

Grid Controls

Type controls the display and the appearance of the grid.

none turns off the grid display.

dotted (default) displays a grid of dots.

line displays a grid of lines.

June 2000 731 Product Version 4.4.6

Page 732: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Spacing specifies the number of user units between minor grid points on the visible grid. Thedefault is 0.125 .

Multiple specifies the number of minor grid points. The default is 8.

Snap Spacing specifies the minimum distance the cursor moves, in user units. The defaultdistance (0.0625 ) is equal to half the default grid spacing distance.

June 2000 732 Product Version 4.4.6

Page 733: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Cellview Properties Form

Show options specify which properties the system displays on the form.

system displays the system-defined properties for a selected object.

user (default) displays the user-defined properties for a selected object.

Property displays the property names for the selected object. This section of the formexpands and contracts depending on which of the Showoptions you select and whether youselect an object in the design.

The default display shows only the following system-defined properties:

Library specifies the library that contains the current design.

Cell specifies the cell name of the current design.

View specifies the view of the current design.

Note: You cannot add, delete, or modify grayed-out properties.

When you select system, the following system-generated properties appear on the form:

CellView Type specifies the cellview type of the current design.

Mode identifies which mode you are in: edit or read only.

Modified displays TRUE if the cellview has been modified during the current editingsession.

schType identifies the type of schematic data.

instNamePrefix (appears only when the cellview is a symbol) defines a new prefix forinstances of the symbol cellview.

DBUPerUU displays the number of database units per user unit.

User Unit displays the current user unit.

Last Changed displays the date the cellview was last modified.

Last Checked displays the date the cellview was last checked.

Upper Right and Lower Left display the X and Y coordinates for the upper right cornerand lower left corner of the cellview.

Note: Except for the instNamePrefix symbol property, you cannot add, delete, or modifysystem-generated properties.

June 2000 733 Product Version 4.4.6

Page 734: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Value displays the value for a property. Use Modify to edit values.

Display determines whether a property value is displayed in the design. When you enableone of the display options (value, name, or both), the information appears on the schematicnear the selected object.

value displays only the value of the property.

name displays only the name of the property.

both displays both the name and the value of the property, separated by an equal sign.

off (default) displays neither the name nor the value of the property.

The Add, Delete, and Modifybuttons appear on the form only when you enable the Show – useroption at the top of the form. Use these options to add, delete, and modify user-definedproperties.

Add displays the Add Property form, which you use to add new user properties to the EditCellview Properties form. To add the new properties to your cellview, click on OK or Applyonthe Edit Cellview Properties form.

Delete displays the Delete Property form, which lets you delete user properties. To deleteproperties from your cellview, click OK or Apply on the Edit Cellview Properties form.

Caution

The software deletes hierarchical properties from the database when youclick OK or Apply on the Delete Property form.

Modify displays the Modify Property form, which lets you change the names and values forselected user properties. To apply the changes to your cellview, click on OK or Apply on theEdit Cellview Properties form.

June 2000 734 Product Version 4.4.6

Page 735: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Component Display Form

Select Label specifies the type of label you want to edit.

terminal expands the form to let you edit the display information for the selectedterminals.

parameter expands the form to let you edit the display information for the selectedparameters.

instance expands the form to let you edit the display information for the selectedinstances.

Auto Redraw specifies whether the editor redraws the schematic automatically when youclick OK.

yes (default) redraws the schematic automatically.

no does not redraw the schematic automatically.

Save opens the Save Label Display form, which lets you specify the file in which you want thesystem to save the current label display configuration.

Load opens the Load Label Display form, which lets you specify a previously saved labeldisplay configuration file that you want to use.

Attach saves the current label display configuration to a temporary file and attaches the fileto the library so that it loads automatically when you open the library.

Detach removes an attached label display configuration from the library.

Set Simulation Data Directory opens the Set Label Display Simulation Data Directory form.

Apply To

library applies the label display configuration to the entire library.

cell applies the label display configuration only to the cell.

instance applies the label display configuration only to the instance.

none applies the label display configuration to no objects.

You can apply parameter , model parameter , instance name , cell name , pin name ,net name , voltage , current , and operating point options to the label displayconfiguration.

June 2000 735 Product Version 4.4.6

Page 736: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

You can apply literal , suffixes , globals , related , and full options to the label displayconfiguration of parameters .

You can apply schematic or simulation options to the label display configuration ofa net name .

You can apply DC or transient voltage or current to the label display configuration.You must select results to annotate currents or voltages. You can designate a Timewhen to apply transient voltage or current .

June 2000 736 Product Version 4.4.6

Page 737: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Basic

You use the Previous and Next buttons along with the Apply To options below to locateobjects in your design window. When there are multiple objects in the selected set, you usethe Next and Previous buttons to locate objects in the set. You use the Apply To optionsto specify the objects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Show specifies which properties the system displays on the form.

system displays the system-defined properties for a selected object.

user (default) displays the user-defined properties for a selected object.

CDF (default) displays predefined properties defined by the Component DescriptionFormat (CDF).

June 2000 737 Product Version 4.4.6

Page 738: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Instance and Block

You use the Previous and Next buttons along with the Apply To options below to locateobjects in your design window. When there are multiple objects in the selected set, you usethe Next and Previous buttons to locate objects in the set. You use the Apply To optionsto specify the objects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type. The possible choices for the instance object typeare same masterand any master.

Show specifies which properties the system displays on the form.

system displays the system-defined properties for a selected object.

user (default) displays the user-defined properties for a selected object.

CDF (default) displays predefined properties defined by the Component DescriptionFormat (CDF).

Browse opens the Library Browser, which you can use to fill in the form automatically.

Reset Instance Labels Display resets the display and placement of all instance labels totheir default specifications as defined in the symbol view.

June 2000 738 Product Version 4.4.6

Page 739: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Property lists the properties that the system automatically extracts from the design database.

Value displays the values for the corresponding properties.

Display determines whether the system displays the property name and property value in theschematic.

off (default) displays neither the name nor the value.

value displays only the value.

name displays only the name.

both displays both the name and the value, separated by an equal sign.

The two options described below appear when you enable the Show – system option.

Magnification controls the scaling factor applied to the selected instance. A value of 1 (one)specifies the true size.

Origin displays the location of the instance in the cellview.

The Add, Delete, and Modify buttons affect only the display of properties on the Edit ObjectsProperties form. You must click OK or Apply to apply the changes to objects in your design.

Add displays the Add Property form, which lets you add a new property to the Edit ObjectProperties form.

Delete displays the Delete Property form, which lets you delete selected properties from theEdit Object Properties form.

Modify displays the Modify Property form, which lets you redefine properties currentlydisplayed on the Edit Object Properties form.

The following fields appear for block editing in addition to the ones described for editing aninstance on the previous pages.

FreezePinCreate appears only if you have selected a block. It controls whether the systemadds a pin to a block when you connect a new wire to the edge of a block. When this optionis disabled (default), the system automatically creates a pin when you click on the edge of ablock to terminate the wire. When this option is enabled, the system does not create a pin.Instead, the system automatically draws the wire to the nearest existing pin, when one exists.When no pin exists, the system does not let you connect a wire to the block. Use the EditorOptions form (Options – Editor command) to specify the pin directions.

The following options appear on the form only when you enable the Show – system option.

June 2000 739 Product Version 4.4.6

Page 740: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Pin Direction specifies a direction for the pin.

Pin Name specifies the pin name.

Net Name displays the net name.

Inherit , in general when this option is enabled, derives the pin name from the net name.However, if you delete the wire segment for a pin, the system automatically enables thisoption and derives the net name from the pin name.

June 2000 740 Product Version 4.4.6

Page 741: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Instance Pin

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Show specifies which properties the system displays on the form.

user (default) displays the user-defined properties for a selected object.

CDF (default) displays predefined properties defined by the Component DescriptionFormat (CDF).

Name displays the name of the instance pin.

Direction specifies the direction of the instance pin.

Net Name displays the name of the net that is connected to the instance pin.

June 2000 741 Product Version 4.4.6

Page 742: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

The cyclic field to the right of the Name field determines whether the system displays theproperty value in the schematic.

The Add, Delete, and Modify buttons affect only the display of properties on the Edit ObjectsProperties form. You must click OK or Apply to apply the changes to objects in your design.

Add displays the Add Property form, which lets you add a new property to the Edit ObjectProperties form.

Delete displays the Delete Property form, which lets you delete selected properties from theEdit Object Properties form.

Modify displays the Modify Property form, which lets you redefine properties currentlydisplayed on the Edit Object Properties form.

June 2000 742 Product Version 4.4.6

Page 743: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Label

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Attachment Label specifies which object the label belongs to.

Display determines whether the system displays the property value in the design window.You can toggle this option to off to suppress the display.

Height lets you specify the height of the label.

Font lets you select a font for the label.

Justification lets you specify where the label appears in relation its origin (placementlocation).

June 2000 743 Product Version 4.4.6

Page 744: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Drafting , when enabled (default), maintains the normal orientation of the text as you rotate alabel 180 degrees around a reference point. When this option is disabled, rotated textappears upside down.

Overbar is only a display option. You use this option to specify whether the software displaysan overbar over a label. When this option is disabled (default), the software displaysunderscore characters ( _ ) in the label as part of the label text string. When this option isenabled, the software interprets underscore characters ( _ ) in the label as toggle switchesthat control where overbars begin and end. Overbars appear above the label, as shown in theexamples.

Caution

To avoid confusion when text actually contains underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 744 Product Version 4.4.6

Page 745: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Master Property

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Attachment Label specifies which object the property belongs to.

Property lists the properties that the system automatically extracts from the design database.

<property name> appears only when the selected property is on an instance. This optiondoes not appear when the property is on a net, a terminal, or a cellview.

Master Value specifies the master symbol property value. You cannot edit this field.

Local Value specifies the local instance property value.

Display specifies whether the system displays the property name and property value in theschematic.

off displays neither the name nor the value.

value (default) displays only the value.

June 2000 745 Product Version 4.4.6

Page 746: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

name displays only the name of the property.

both displays both the name and the value, separated by an equal sign.

Height specifies the height of the property label.

Font specifies a font for the property label.

Justification specifies where the label appears in relation to its origin (placement location).

Drafting , when enabled (default), maintains the normal orientation of the text as you rotate alabel 180 degrees around a reference point. When this option is disabled, rotated textappears upside down.

Overbar is only a display option. You use this option to specify whether the software displaysan overbar over a property label. When this option is disabled (default), the software displaysunderscore characters ( _ ) in the property label as part of the property label text string. Whenthis option is enabled, the software interprets underscore characters ( _ ) in the property labelas toggle switches that control where overbars begin and end. Overbars appear above theproperty label, as shown in the examples.

Caution

To avoid confusion when text actually contains underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 746 Product Version 4.4.6

Page 747: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Net Expression

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Attachment reattaches the net expression label to a wire or pin.

Property Name specifies the name of the property that can be used to override the defaultglobal signal. In other words, the name of the property whose value redefines the name ofthe net. The system evaluating the expression searches for the property that has this nameto get the value to inherit for the net.

Default Net Name specifies the default property name of the global signal or net name. Thesystem uses the default net name—for example vdd! , gnd! , or vss! —when an inheritedconnection has not been established. The name must specify a global scalar value.

Evaluated Name contains the result of evaluating the net expression for the current descendpath of the window.

Height specifies the height of the net expression label text in user units.

Font specifies the font the system uses to display the net expression label.

June 2000 747 Product Version 4.4.6

Page 748: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Justification specifies where the label appears in relation to its origin (placement location).

June 2000 748 Product Version 4.4.6

Page 749: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Note Shapes

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Property lists the properties that the system automatically extracts from the design database.

Value displays the values for the corresponding properties.

Line Style specifies whether the system uses a solid or dashed line to draw the note shape.

The form displays various options depending on the shape type you select.

The following options appear when you select a line shape.

Width specifies whether the line shape is narrow (default) or wide. You can edit the textfield when you enable the wide option.

Points List specifies the coordinates for the points that make up the shape.

The following option appears when you select a polygon shape.

Point List specifies the coordinates for the points that make up the shape.

June 2000 749 Product Version 4.4.6

Page 750: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

The following options appear when you select a rectangle shape.

Upper Right specifies coordinates that define the upper right-hand corner of the shape.

Lower Left specifies coordinates that define the lower left-hand corner of the shape.

The following options appear when you select either a circle shape or an ellipse shape. Notethat the Shape text field displays ellipse for both circle and ellipse shapes.

Center specifies the coordinates that define the center of the shape.

X Radius specifies the coordinate that defines the Xradius of the shape.

Y Radius specifies the coordinate that defines the Yradius of the shape.

The following options appear when you select an arc shape.

Center specifies the coordinates that define the center of the shape.

X Radius specifies the coordinate that defines the Xradius of the shape.

Y Radius specifies the coordinate that defines the Yradius of the shape.

Start Angle specifies the first point of the arc.

Stop Angle specifies the second point of the arc.

June 2000 750 Product Version 4.4.6

Page 751: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Note Text

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Attachment performs two functions.

■ When the text is already associated with an object, the software highlights the associatedobject in the cellview.

■ Lets you associate the note text with an object in the cellview by automatically drawing aline from the text to the object when you move the cursor into the design window.

Note Text specifies the text for your note. You can either type in the text or use Read File toload the text from a file. You can edit any text you load into the this edit window.

Read File loads text from the specified file into the Note Text edit window.

Height lets you specify the height of the note text.

Font lets you select a font for the note text.

June 2000 751 Product Version 4.4.6

Page 752: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Justification lets you specify where the note text appears in relation to its origin (placementlocation).

Drafting , when enabled (default), maintains the normal orientation of the note text as yourotate a label 180 degrees around a reference point. When this option is disabled, rotated textappears upside down.

Overbar is only a display option. You use this option to specify whether the software displaysan overbar over the note text. When this option is disabled (default), the software displaysunderscore characters ( _ ) in the note text as part of the note text string. When this option isenabled, the software interprets underscore characters ( _ ) in the note text as toggle switchesthat control where overbars begin and end. Overbars appear above the note text, as shownin the examples.

Caution

To avoid confusion when text actually contains underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 752 Product Version 4.4.6

Page 753: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Other Object

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Owner specifies which object the property belongs to.

Property lists the properties that the system automatically extracts from the design database.

Name specifies the property name.

Value specifies the property value.

Display specifies whether the system displays the property name and property value in theschematic.

off displays neither the name nor the value.

value (default) displays only the value.

name displays only the name of the property.

both displays both the name and the value, separated by an equal sign.

June 2000 753 Product Version 4.4.6

Page 754: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Height specifies the height of the property label.

Font specifies a font for the property label.

Justification specifies where the label appears in relation to its origin (placement location).

Drafting , when enabled (default), maintains the normal orientation of the text as you rotate alabel 180 degrees around a reference point. When this option is disabled, rotated textappears upside down.

Overbar is only a display option. You use this option to specify whether the software displaysan overbar over a property name. When this option is disabled (default), the software displaysunderscore characters ( _ ) in the property name as part of the property name text string.When this option is enabled, the software interprets underscore characters ( _ ) in theproperty name as toggle switches that control where overbars begin and end. Overbarsappear above the property name, as shown in the examples.

Caution

To avoid confusion when text actually contains underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 754 Product Version 4.4.6

Page 755: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Pin

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Show specifies which properties the system displays on the form.

system displays the system-defined properties for a selected object.

When you enable the Show – systemoption, the form expands to display information aboutthe pin master to show the Magnification and Origin fields.

Magnification controls the scaling factor applied to the selected instance. A value of 1(one) specifies the true size.

Origin specifies the location of the instance in the design.

user (default) displays the user-defined properties for a selected object.

June 2000 755 Product Version 4.4.6

Page 756: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

CDF (default) displays predefined properties defined by the Component DescriptionFormat (CDF).

Property lists the properties that the system automatically extracts from the design database.

Value displays the values for the corresponding properties.

Display determines whether the system displays the property value in the schematic.

Direction specifies a direction for the pin.

Usage specifies whether the pin is an offsheet connector.

Add displays the Add Property form, which lets you add a new property to the Edit ObjectProperties form.

Delete displays the Delete Property form, which lets you delete selected properties from theEdit Object Properties form.

Modify displays the Modify Property form, which lets you redefine properties currentlydisplayed on the Edit Object Properties form.

June 2000 756 Product Version 4.4.6

Page 757: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Pin Name

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Attachment lets you reattach the pin name to the pin.

Label specifies the text for the pin name.

Value specifies whether the system displays the property value in the schematic. You canchoose off to suppress the display.

Height specifies the height of the pin label in user units.

Font specifies a font for the pin label.

Justification specifies where the label appears in relation to the pin.

June 2000 757 Product Version 4.4.6

Page 758: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Drafting when enabled (default) maintains the normal orientation of the text when you rotatea label 180 degrees around a reference point. When disabled, rotated text appears upsidedown.

Overbar is only a display option. You use this option to specify whether the software displaysan overbar over a pin name. When disabled (default), the software displays underscorecharacters ( _ ) in the pin name as part of the pin name text string. When enabled, thesoftware interprets underscore characters ( _ ) in the pin name as toggle switches that controlwhere overbars begin and end. Overbars appear above the pin name, as shown in theexamples.

Caution

To avoid confusion when pin names actually contain underscorecharacters, Cadence recommends that you disable this display option. Itis provided only for backward compatibility.

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 758 Product Version 4.4.6

Page 759: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Selection Box

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Property lists the properties that the system automatically extracts from the design database.

Shape specifies the shape of the selection box.

Upper Right specifies the coordinates for the upper right corner of the selection box.

Lower Left specifies the coordinates for the lower left corner of the selection box.

Value specifies the values for the properties. You can edit the coordinate values when theselection scope is set to only current.

June 2000 759 Product Version 4.4.6

Page 760: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Symbol Label

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Attachment lets you reattach the label to another component in the design.

Label specifies the label name.

Value determines whether the system displays the property value in the schematic. You canset this option to off to suppress the display.

Choice contains a list of valid label types.

Height specifies the height of the symbol label.

Font specifies a font for the symbol label.

Justification specifies where the label appears in relation to its origin (placement location).

Type specifies a label type.

normalLabel displays the label as a text string.

June 2000 760 Product Version 4.4.6

Page 761: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

NLPLabel evaluates the label according to netlisting rules and displays the result.

ILLabel evaluates the label as a SKILL expression and displays the result.

Drafting , when enabled (default), maintains the normal orientation of the text as you rotate alabel 180 degrees around a reference point. When this option is disabled, rotated textappears upside down.

Overbar is only a display option. You use this option to specify whether the software displaysan overbar over a label. When this option is disabled (default), the software displaysunderscore characters ( _ ) in the label as part of the label text string. When this option isenabled, the software interprets underscore characters ( _ ) in the label as toggle switchesthat control where overbars begin and end. Overbars appear above the label, as shown in theexamples.

Caution

To avoid confusion when labels actually contain underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Label Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 761 Product Version 4.4.6

Page 762: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Symbol Pin

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Show specifies which properties the system displays on the form.

system displays the system-defined properties for a selected object.

user (default) displays the user-defined properties for a selected object.

Property lists the properties that the system automatically extracts from the design database.

Value displays the values for the corresponding properties.

Display determines whether the system displays the property value in the schematic. Youcan toggle this option to off to suppress the display.

Direction specifies a direction for the pin.

June 2000 762 Product Version 4.4.6

Page 763: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

When you enable the Show system option, the following options appear.

accessDir options let you specify a property that defines the valid direction from which a wiresegment can be attached to a pin. You can specify combinations of these options. Theseoptions are not referenced in the Virtuoso® schematic composer environment; they arereferenced in the place-and-route environment.

left specifies that the wire segment must be routed from the left.

right specifies that the wire segment must be routed from the right.

top specifies that the wire segment must be routed from the top.

bottom specifies that the wire segment must be routed from the bottom.

none specifies that a wire segment cannot be routed to the pin.

unknown specifies that any wire segment route is unknown.

The Add, Delete, and Modify options affect only the display of properties on the Edit ObjectsProperties form. You must click OK or Apply to apply the changes to objects in your design.

Add displays the Add Property form, which lets you add a new property to the Edit ObjectProperties form.

Delete displays the Delete Property form, which lets you delete selected properties from theEdit Object Properties form.

Modify displays the Modify Property form, which lets you redefine properties currentlydisplayed on the Edit Object Properties form.

June 2000 763 Product Version 4.4.6

Page 764: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Symbol Shape

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Property lists the properties that the system automatically extracts from the design database.

Value specifies the type of symbol shape.

The form displays various options depending on the shape type you select.

The following options appear when you select a line shape.

Width specifies whether the line shape is narrow (default) or wide. You can edit the textfield when you enable the wide option.

Point List specifies the coordinates for the points that make up the shape.

The following option appears when you select a polygon shape.

Point List specifies the coordinates for the points that make up the shape.

The following options appear when you select a rectangle shape.

June 2000 764 Product Version 4.4.6

Page 765: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Upper Right specifies coordinates that define the upper right-hand corner of the shape.

Lower Left specifies coordinates that define the lower left-hand corner of the shape.

The following options appear when you select either a circle shape or an ellipse shape. Notethat the Shape text field displays ellipse for both circle and ellipse shapes.

Center specifies the coordinates that define the center of the shape.

X Radius specifies the coordinate that defines the Xradius of the shape.

Y Radius specifies the coordinate that defines the Yradius of the shape.

The following options appear when you select an arc shape.

Center specifies the coordinates that define the center of the shape.

X Radius specifies the coordinate that defines the Xradius of the shape.

Y Radius specifies the coordinate that defines the Yradius of the shape.

Start Angle specifies the first point of the arc.

Stop Angle specifies the second point of the arc.

June 2000 765 Product Version 4.4.6

Page 766: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Wire Name

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Attachment performs two functions.

❑ When the Label entry is already associated with an object, the software highlightsthe associated object in the cellview.

❑ It lets you associate the Label entry with a wire segment in the cellview byautomatically drawing a line from the wire name to the object when you move thecursor into the design window.

Label specifies the net name.

Value determines whether the system displays the property value in the schematic. You cantoggle this option to off to suppress the display.

June 2000 766 Product Version 4.4.6

Page 767: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Height specifies the height of the name.

Font specifies a font for the name.

Justification specifies where the wire name appears in relation to its origin (placementlocation).

Alias , when enabled, specifies that the Label entry is an alias for the net name.

Drafting , when enabled (default), maintains the normal orientation of the text as you rotate alabel 180 degrees around a reference point. When this option is disabled, rotated textappears upside down.

Overbar is only a display option. You use this option to specify whether the software displaysan overbar over a wire name. When this option is disabled (default), the software displaysunderscore characters ( _ ) in the wire name as part of the wire name text string. When thisoption is enabled, the software interprets underscore characters ( _ ) in the label as toggleswitches that control where overbars begin and end. Overbars appear above the wire name,as shown in the examples.

Caution

To avoid confusion when names actually contain underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 767 Product Version 4.4.6

Page 768: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Object Properties Form – Wire Segment

You use the Previousand Nextbuttons along with the Apply Tooptions below to locate objectsin your design window. When there are multiple objects in the selected set, you use the Nextand Previous buttons to locate objects in the set. You use the Apply To options to specify theobjects the software changes.

Previous cycles backward to view the preceding object in the selected set. When you reachthe first object in the selected set, this button has no effect.

Next cycles forward to view the next object in the selected set. When you reach the lastobject in the selected set, this button has no effect.

Apply To consists of up to three cyclic fields that you use to specify the object, or group ofobjects in a selected set, whose properties you want to change. The software uses one colorto highlight selected objects. But when there are multiple objects in the selected set, thesoftware uses a second color to highlight the current object. And when you configure thecyclic fields to apply changes to multiple objects, the software uses a third color to highlightall the affected objects.

Selection scope specifies whether you want to edit only the current object, only theselected objects in the specified object type group, or all the objects in the specifiedobject type group (which includes both selected and unselected objects of the specifiedobject type).

Object group lists the object types in the selected set. Use this option to locate the firstobject of a particular object type.

Object filter appears only when the selection scope is set to all selectedor all. This optionacts as a secondary filter for further limiting the selection scope. The options varydepending on the selected object type.

Show specifies which properties the system displays on the form.

system displays the system-defined properties for a selected object.

user (default) displays the user-defined properties for a selected object.

The following option appears when you turn on the system option.

Point List displays the coordinates for the first and second point.

Property lists the properties that the system automatically extracts from the design database.

Value displays the values for the corresponding properties.

June 2000 768 Product Version 4.4.6

Page 769: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Display determines whether the system displays the property value in the schematic. Youcan toggle this option to off to suppress the display.

Width specifies whether the wire segment is narrow or wide. You can edit this field when youenable the wide option.

The Add, Delete, and Modify options affect only the display of properties on the Edit ObjectsProperties form.

Add displays the Add Property form, which lets you add a new property to the Edit ObjectProperties form.

Delete displays the Delete Property form, which lets you delete selected properties from theEdit Object Properties form.

Modify displays the Modify Property form, which lets you redefine properties currentlydisplayed on the Edit Object Properties form.

June 2000 769 Product Version 4.4.6

Page 770: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Pin Order Form

Move Up moves the selected pin up one position.

Move Down moves the selected pin down one position.

Move To Top moves the selected pin to the top of the list.

Move To Bottom moves the selected pin to the bottom of the list.

Reset Order resets the pin order to the default order. The default port order is outputinput inputOutput , and the pins in each type are sorted alphanumerically.

Copy From copies a pin order property from a list of available views.

June 2000 770 Product Version 4.4.6

Page 771: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Edit Schematic Sheet Number Form

From Number specifies the current sheet number.

To Number specifies the new sheet number.

June 2000 771 Product Version 4.4.6

Page 772: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Editor Options Form

Add Instance Browser Type specifies which browser the system opens when you click onthe Browse button on the Add Instance form.

library (default) specifies the Library Browser.

component specifies the Component Browser.

Block Pin Direction Rule specifies which pin direction rule the system uses to create pinsautomatically when you connect a wire to a block.

edge (default) specifies the pin direction based on the edge where the system createsthe pin. When you add a wire to the left edge of a block, the system creates an input pin.When you add a wire to the right edge of a block, the system creates an output pin. Whenyou add a wire to the top or bottom of a block, the system creates an I/O pin.

order of entry assigns the pin direction based on how you implement the Add Wirecommand. When you start a wire from the edge of a block, the system creates an outputpin. When you terminate a pin on the edge of a block, the system creates an input pin.

Wire Snapping lets you use the s key to quickly complete a wire drawing action. When wiresnapping is enabled, the system highlights an unconnected pin in the design when you movethe cursor near the pin.

Automatic Solder Dots when enabled (default), automatically creates a solder dot when youcreate wire intersections. The system does not create solder dots when you draw a wire overanother wire.

Solder Dot Wire Overlap specifies the amount that a solder dot extends outward from thethickest wire segment the dot connects.

Symbol Generator Pin Sorting specifies how the text-to-symbol generator sorts the symbolpins onto the edge of the new symbol.

alphanumeric sorts pins by pin name.

geometric sorts pins by their relative positions in the schematic and is valid only whena schematic exists for the specified cellview.

Add Symbol Pins as Instances specifies how the symbol editor creates pins when you addpins to a symbol using the Add – Pincommand or creates a symbol using the Create Cellview– From Cellview command.

June 2000 772 Product Version 4.4.6

Page 773: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

off (default) creates a graphical symbol pin shape based on a symbol pin master. Afteryou place symbol pin shapes, any changes you make to the original symbol pin masterdo not affect the symbol pin shapes based on the symbol pin master.

on creates an instance of a symbol pin master. After you place symbol pin instances, anychanges you make to the symbol pin master also affect the appearance of all the existinginstances created from the symbol pin master.

Modal Commands specifies whether repeatable commands remain active after youcomplete an action.

off specifies that repeatable commands cannot be repeated.

on (default) specifies that repeatable commands remain active until you press theEscape key. However, some repeatable commands do not remain active when youenable this option if you have preselected an object. The Copy, Move, and Edit commandsare examples of such commands.

Cross Selection controls whether object selection is exported to other tools.

off (default) does not export the selection to other tools.

on exports the selection to tools that are open and which can support the selection.

Minimum Marker Size specifies the minimum size of any error or warning markers that thesystem generates when you check your design.

View Name List displays a series of view names listed in the order you want the editor todisplay them, if they exist. You use View Name Listin conjunction with the Hierarchy – DescendEdit and Hierarchy – Descend Read commands.

Bus Range Order specifies which order the system uses to generate buses. The default isascending.

Net Name Method specifies a net naming mechanism for schematic extraction.

prefix (default) generates a unique name for nets that you do not explicitly label orconnect to a pin. The unique name consists of the prefix that you specify in the Net NamePrefix field followed by a number.

derived generates a net name from the driving instance name and the driving terminalname. The derived net name is of the form instName_pinName .

Net Name Separator specifies the field separator for derived names. The underscorecharacter ( _ ) is the default separator. You can edit the separator when you select the derivedoption in the Net Name Method field.

June 2000 773 Product Version 4.4.6

Page 774: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Net Name Prefix specifies the prefix for all new net names generated by the editor. Thedefault is net. You can edit this field when you select the prefix option.

June 2000 774 Product Version 4.4.6

Page 775: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Find Marker Form

To Ignore appears only when the Show Ignored option is on (default).This option ignoresviolations indicated by markers in future rule extractions. The schematic composer opens acolumn in the list box. It then displays an asterisk in the column when you apply anignoreCheck property to a corresponding marker.

Reason displays marker severity levels, associated messages, and the cellview name wherethe errors and warnings occurred.

Zoom To Markers displays a magnified view of the specified marker in the design window ifit is turned on.

Scale appears only when you turn on Zoom To Markers. This option lets you specify the zoomscale. The smaller the scale setting, the greater the degree of magnification.

The following four options let you control which markers the system displays in the list box.

Show Ignored displays markers for objects that have an ignoreCheck property. When ShowIgnoredis on (default), the software displays the To Ignorelabel above the list box and opensa column under the label. The software displays an asterisk in the column when you apply anignoreCheck property to a corresponding marker.

Ignore automatically assigns an ignoreCheckproperty to the object highlighted in the list box.

Restore deletes an ignoreCheck property from an object highlighted in the list box.

Restore All deletes the ignoreCheck property from all objects.

Severity specifies which messages the system displays in the list box.

all displays both error and warning messages.

error displays only error messages.

warning displays only warning messages.

Search Scope lets you specify the scope of a search for schematic objects.

cellview (default) searches only the current cellview.

hierarchy starting from top cellview searches the design hierarchy, starting with thetop cellview in the window.

hierarchy starting from current cellview searches the design hierarchy, starting withthe currentcellview in the window.

June 2000 775 Product Version 4.4.6

Page 776: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Source displays a button and label for the sources of the error and warning messages. Whenthere is more than one source for the error and warning messages, you can toggle the sourcebuttons to control which messages the system displays in the list box.

SRC specifies the schematic rules checker as the source.

VIC specifies the cross-view checker as the source.

conn specifies connectivity as the source.

none appears when there are no messages in the list box.

Note: The SRC, VIC, and conn buttons appear when you are checking a schematic design;only the VIC button appears when you are checking a symbol design.

June 2000 776 Product Version 4.4.6

Page 777: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Go To Pin Form

Order specifies, in a multisheet schematic, the relative location of other pins that referencethe same net. The choices are next, previous, first, and last.

The reference list for a pin or offsheet connector is a list of zones identifying where other pinson other sheets reference the same net. The reference lists for the pins in the multisheetschematic are generated by the Create Pin Reference command.

June 2000 777 Product Version 4.4.6

Page 778: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Go To Sheet Form

index displays the index sheet for the multisheet schematic in the current design window.

first displays the first sheet of the multisheet schematic in the current design window.

last displays the last sheet of the multisheet schematic in the current design window.

next displays the next sheet in sequence of the multisheet schematic in the current designwindow.

previous displays the previous sheet in sequence of the multisheet schematic in the currentdesign window.

number enables the text field so you can specify which sheet of the multisheet schematic youwant the editor to display in the current design window.

June 2000 778 Product Version 4.4.6

Page 779: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Import Symbol Form

Library Name specifies the library that contains the symbol.

Cell Name specifies the symbol cell name.

View Name specifies the symbol view name.

Browse opens the Library Browser. You can use the browser to fill in the form with the symbolinformation.

Rotate turns an object in 90-degree increments counterclockwise around the currentreference point.

Sideways mirrors the object across an imaginary vertical line passing through the currentreference point.

Upside Down mirrors the object across an imaginary horizontal line passing through thecurrent reference point.

June 2000 779 Product Version 4.4.6

Page 780: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Left, Right, Top, Bottom Pin Attributes Form

Name lists the pins by name.

Direction contains the direction attributes you can apply to the pins.

Pin Graphic contains the graphic attributes you can apply to the pins.

June 2000 780 Product Version 4.4.6

Page 781: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Load Label Display Form

Filename specifies a previously saved label display configuration file that you want to use.

June 2000 781 Product Version 4.4.6

Page 782: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Load Schematic Defaults Form

File Name specifies the name of the file that contains the variables and form defaults youwant to load. The default is a file named .cdsenv in your home directory.

June 2000 782 Product Version 4.4.6

Page 783: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Modify Generic Form – VHDL Properties

Name specifies the generic name.

Type specifies the generic type.

Value (Optional) specifies a value for the generic.

June 2000 783 Product Version 4.4.6

Page 784: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Modify Property Form – Edit Object Properties

Type specifies a property type.

Name specifies the name of the property you want to modify.

Value specifies a value for the property.

Note: To define most properties, you need to specify only the name, type, and value.However, when you specify string, int, or float as the type, one of the following fields appearson the form.

Choices appears when Typeis set to string. If the string can have more than one value, typethe possible values. Entries in this field must match an entry in the Value field.

Min and Max appear when Typeis set to int or float. Specify a minimum and maximum rangefor the integer or floating-point value.

June 2000 784 Product Version 4.4.6

Page 785: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Move Form

Snap Mode specifies the angles along which you can move objects within the cellview.

anyAngle lets you move the objects along any angle.

diagonal restricts the movement of objects to points along 45-degree, 90-degree, and180-degree angles from the current location.

orthogonal restricts the movement of objects to points that are along the X and Y axesfrom the current location.

Rotate turns an object in 90-degree increments counterclockwise around the currentreference point.

Sideways mirrors the object across an imaginary vertical line passing through the currentreference point.

Upside Down mirrors the object across an imaginary horizontal line passing through thecurrent reference point.

June 2000 785 Product Version 4.4.6

Page 786: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Open Simulation Data Form

File Name specifies the name of the SHM database that contains the simulation data youwant to monitor.

Shm Host specifies the host system where the SHM database resides. This option defaultsto your local host name.

June 2000 786 Product Version 4.4.6

Page 787: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Plot Options Form

Display Type specifies the plotter display type. The default is display, which represents acolor monitor. Each plotter display type defines the colors, line styles, and stipple patterns forany layers.

Plotter Name contains a list of the available plotters. The system creates the list of availableplotters and default settings from the .cdsplotinit file.

Paper Size contains a list of the available paper sizes. The system creates the list of availableplotters and default settings from the .cdsplotinit file.

Orientation specifies the plot orientation of the paper.

portrait plots the drawing vertically.

landscape plots the drawing horizontally.

automatic (default) lets the software select the best orientation.

Scale displays the ratio of the drawing area of the paper to the plot data area.

Center Plot , when enabled, automatically adjusts the offset settings to print the plot in thecenter of the paper.

Fit to Page sets the Plot Size and Offset values to fit the plot area specified in Paper Size.

Plot Size specifies the length and width of the plot. The cyclic field lists the available units.The default is the width and height of the plot area of the paper specified in Paper Size, inuser units.

Offset lets you specify the offset of the plot relative to the lower left corner of the paper usingX and Y coordinates. The default is 0, which is the lower left corner.

Total Plot Size displays the sum of the Plot Size and Offset values.

Image Position shows the image position window and how the design will be plotted on oneor multiple sheets.

Total Pages displays the number of pages needed.

Number Of Copies specifies the number of copies the plotter generates.

Local Tmp Directory specifies the location of the intermediate plot file. The default locationis /usr/tmp . This option lets you change the default directory when the /usr/tmpdirectory is not large enough to contain all the data.

June 2000 787 Product Version 4.4.6

Page 788: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Queue Plot Data At specifies the time and day when you want the system to generate theoutput plot. The cyclic fields contain lists of the available times and days.

Send Plot Only To File lets you specify the base filename where you want the system tostore the output plot. The system appends lib/cell/view to the end of the base namethat you specify. For example, when you specify a base name, such as myPlot , the systemdesignates the output files as myPlot@libName,cellName,viewName .

Mail Log To collects log information in a file and sends the file to you through e-mail.

June 2000 788 Product Version 4.4.6

Page 789: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Renumber Instances Form

Verbose when enabled (default), displays in the Command Interpreter Window (CIW) the oldand new numbering for each renumbered instance.

Scope specifies which instances in the hierarchy the system renumbers.

cellview (default) renumbers the instances only in the current cellview.

hierarchy renumbers all instances within the hierarchy. When you select hierarchy, twoother options appear on the form.

top (default) specifies that the system renumber instances from the top-levelcellview.

current cellview specifies that the system renumber instances in all cellviewsbelow and including the current cellview.

library renumbers all instances within the library. When you select library, a text fieldappears. Type the name of the library containing the instances you want to renumber.

June 2000 789 Product Version 4.4.6

Page 790: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Reset Invisible Labels Form

visible causes the highlighted labels to remain visible in the design after you click the Hidebutton.

invisible causes the highlighted labels to revert to the invisible state after you click on theHide button.

June 2000 790 Product Version 4.4.6

Page 791: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Rotate Form

Rotate turns an object in 90-degree increments counterclockwise around the currentreference point.

Sideways mirrors the object across an imaginary vertical line passing through the currentreference point.

Upside Down mirrors the object across an imaginary horizontal line passing through thecurrent reference point.

June 2000 791 Product Version 4.4.6

Page 792: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Route Flight Line Form

Route Method indicates how the schematic editor routes wires.

full draws complex lines to complete the connection. Can generate more than threesegments to complete the connection. Usually used as a bus.

direct draws a direct line between two given points.

Note: In some cases, full and direct cannot complete the connection wire. In these cases, aflight line remains in the schematic to indicate the intended connectivity.

June 2000 792 Product Version 4.4.6

Page 793: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Save Label Display Form

Filename specifies the file in which you want the system to save the current label displayconfiguration.

June 2000 793 Product Version 4.4.6

Page 794: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Save Schematic Defaults Form

File Name specifies the name of the file to store the variables and form defaults. The defaultis a file named .cdsenv in your home directory.

June 2000 794 Product Version 4.4.6

Page 795: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Save Schematics with Errors Form

all (default) saves all the schematics listed on the form. When you turn on this option, thesystem automatically enables all the selection buttons for all the schematics listed on theform.

none disables all the selection buttons for all the schematics listed on the form. When youselect this option, you can turn on the selection buttons for individual schematics listed on theform.

Save “< Library ><cell ><view >” with < number > errors? specifies a design and the numberof errors in that design. The system displays this field for each schematic that contains errors.

June 2000 795 Product Version 4.4.6

Page 796: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Schematic Check Options Form

The Schematic Check Options form sets up options to be run when you choose the followingcommands: Design – Check and Save, Check – Current Cellview, Check – Hierarchy, Check – CrossView Check.

Connectivity Options

Update Connectivity specifies whether the system updates the connectivity of a cellviewwhen you use the Check – Current Cellviewcommand. When enabled (default), the systemextracts connectivity from the design.

Beep When 0 Errors/Warnings when enabled (default), causes the system to beep afterevery save and check in even if there is no error or warning message. The benefit of turningon this option is to let you know when the check is complete. Disabling this option restoresthe behavior to release 4.3.x so that the system beeps only when an error or warning is found.

Check and Save Action on Error specifies whether the system saves schematics thatcontain errors.

Save saves all schematics including those that contain errors.

No Save saves all schematics except those that contain errors.

Ask Me (default) prompts you to confirm that you want to save a schematic that containserrors. When you choose this option and click OK, a dialog box appears. The dialogbox lists all the schematics that contain errors and then prompts you to confirm whichof the displayed schematics you want to save.

From a Multisheet Index, Check specifies which sheets in a multisheet schematic thesystem checks.

all checks all multisheets.

only if needed (default) checks only the multisheets that you have edited since the lastcheck.

Wire Name Glue Distance specifies a distance, in user units, between wire names and theirassociated wires. During the check operation, the system looks for unglued wire names.When the checker finds an unglued wire name within the specified distance from a wire, thesystem glues the wire name to the wire. When the unglued wire name is beyond the specifieddistance, the checker marks the unglued label.

Schematic Rules Check Options

June 2000 796 Product Version 4.4.6

Page 797: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Run Schematic Rules Check when enabled (default), specifies whether the system runs theschematic rule checks when you use the Check – Current Cellview command.

Rules Setup opens the Setup Schematic Rules Checks form.

Cross View Check Options

Cross View Check Severity specifies which action the system performs when pin namesand directions do not match.

ignored results in no action.

warning generates warnings.

error generates error messages.

Views To Check displays a list of the views to be checked when you click OK on a Checkcommand form.

Match Pin Names Exactly , when enabled, checks whether pin names matchexactly when you click OK on a Check command form. For example, pinsA<0> and A<1> in view1 and pin A<0:1> in view2 would not match.

Match Inherited Terminals , when enabled (default), checks whetherinherited terminals match when you click OK on a Check command form.

Match Terminal Net Expressions , when enabled (default), checks whetherterminal net expressions match when you click OK on a Check commandform.

June 2000 797 Product Version 4.4.6

Page 798: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Schematic Find and Symbol Find Forms

Previous highlights the previous object that matched the search criteria and displaysinformation about the object in the form. When you reach the first object that matches thesearch criteria, this button has no effect.

Next highlights the next object that matches the search criteria and displays informationabout the object in the form. When you reach the last object that matches the search criteria,this button has no effect.

Search For lets you specify the search criteria.

The cyclic field contains a list of frequently used properties.

When you select otherfrom the cyclic field, the Add New Property for Find form appears.

When you select master from the cyclic field, you must specify a property value. Youcannot use wildcards for masterproperty values.

The relational operator cyclic field lets you limit the search to objects that have a valuethat either exactly matches or differs from the value specified in the text entry field.

The text entry field specifies a value of the property.

Search Scope specifies the scope of the search.

selected set searches only for objects in the selected set.

cellview searches only for objects in the cellview currently displayed in the designwindow.

hierarchy expands the form to display two more option fields: top and current cellview.Specify the cellview from which you want the system to start the search. The systemsearches all cellviews specified in the design hierarchy.

library expands the form to display a text field. Specify the library that you want thesystem to search. The system searches all cellviews in the library. The library must existin the current library search path.

Zoom To Object specifies how the editor displays a matching object. When this option isselected, the editor zooms in on the search object and centers the object in the designwindow.

Zoom Scale appears only when you turn on Zoom To Object. Specifies the scale used toenlarge the object.

Select adds the currently highlighted object to the selected set.

June 2000 798 Product Version 4.4.6

Page 799: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

List All lists all the matching objects in the Command Interpreter Window (CIW).

Show Object Filter expands the form to show the Search Filter. You can use the filter to limitthe search scope to only the objects you specify.

Schematic Objects lists the schematic object types. You can specify any combinationof object types, or you can use one of the following options:

all enables the selection button for all the object types.

none disables the selection button for all the object types. You can use this optionto quickly clear any existing selections before you begin to create a new selectionset.

Instance Objects lists the instance object types. You can specify any combination of theobject types, or you can use one of the following options.

all enables the selection buttons for all the object types.

none disables the selection button for all the object types. You can use this optionto quickly clear any existing selections before you begin to create a new selectionset.

June 2000 799 Product Version 4.4.6

Page 800: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Schematic Replace and Symbol Replace Forms

Replace assigns the new property name to the currently highlighted matching object.

Skip highlights the next object that matches the Search For criteria and displays informationabout the object in the form.

ReplaceAll assigns the new property name to all the matching objects.

Search For lets you specify the search criteria.

The cyclic field contains a list of frequently used properties.

When you select other from the cyclic field, the Add New Property for Replace formappears.

When you select master from the cyclic field, you must specify a property value. Youcannot use wildcards for master property values.

The relational operator cyclic field lets you limit the search to objects that have a valuethat either exactly matches or differs from the value specified in the text entry field.

The text entry field specifies a value of the property.

Replace With lets you specify values for the replace action.

The cyclic field contains a list of frequently used properties.

When you select other, the Add New Property for Replace form appears. Type aproperty name in the text entry field. When you click Apply, the property is added to theProperty Name list.

The text entry field specifies a value of the property.

When you select master from the cyclic field, you must specify a property value. Youcannot use wildcards for master property values. You must type the exact value.

You can use the following wildcards in the text entry field:

* matches zero or more occurrences of any characters

. matches any character

[c..] matches one of the characters in the set

Search Scope specifies the scope of the search.

selected set searches only for objects in the selected set.

June 2000 800 Product Version 4.4.6

Page 801: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

cellview searches only for objects in the cellview currently displayed in the designwindow.

hierarchy expands the form to display two more option fields: top and current cellview.Specify the cellview from which you want the system to start the search. The systemsearches all cellviews specified in the design hierarchy.

library expands the form to display a text field. Specify the library that you want thesystem to search. The system searches all cellviews in the library. The library must existin the current library search path.

Zoom To Object specifies how the editor displays a matching object. When this option isselected, the editor zooms in on the search object and centers the object in the designwindow.

Zoom Scale appears only when you turn on Zoom To Object. Specifies the scale used toenlarge the object.

Preview Changes (No Edits) , when enabled, writes messages to the Command InterpreterWindow detailing what would happen when you click Apply, Replace, Skip, or ReplaceAll.

Save Changes , when enabled, writes changes to disk without prompting you to confirm thechanges. Only cellviews in the hierarchy or library are affected; the cellview currentlydisplayed in the design window is not affected. When disabled, prompts you to confirm thechanges when you attempt to start the File – Close Data command or exit the software.

Show Object Filter expands the form to show the Search Filter. You can use the filter to limitthe search scope to only the objects you select.

Schematic Objects lists the schematic object types. You can specify any combinationof object types, or you can use one of the following options:

all enables the selection button for all the object types.

none disables the selection button for all the object types. You can use this optionto quickly clear any existing selections before you begin to create a new selectionset.

Instance Objects lists the instance object types. You can specify any combination of theobject types, or you can use one of the following options.

all enables the selection buttons for all the object types.

none disables the selection button for all the object types. You can use this optionto quickly clear any existing selections before you begin to create a new selectionset.

June 2000 801 Product Version 4.4.6

Page 802: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Schematic Select All Form

Form Action controls whether the system selects or deselects all the specified object typeswhen you click OK or Apply.

select selects all the specified object types.

deselect selects everything but the specified object types.

Schematic Objects lists the schematic object types.

all turns on object types.

none turns off object types.

Instance Objects lists the instance object types.

all turns on instance object types.

none turns off instance object types.

June 2000 802 Product Version 4.4.6

Page 803: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Schematic Select By Property Form

Find lets you specify values for the search.

The cyclic field lists frequently used properties.

When you select other from the cyclic field, the Add New Property for Search formappears.

The relational operators let you limit the search to objects that have a property value thateither exactly matches or differs from the value specified in the field showing the propertyvalue.

The text entry field specifies a value of the property.

When you select master from the list of property names, you must specify a propertyvalue of the form

“libname cellname viewname”

Form Action controls whether the system selects or deselects the specified object typeswhen you click OK or Apply.

select selects all the specified object types.

deselect selects everything but the specified object types.

Zoom Out To Fit All Figures zooms the editor out to display all the objects that match theselection criteria.

Show Object Filter expands the form to show the Selection Filter.

Schematic Objects lists the schematic object types.

all turns on schematic object types.

none turns off schematic object types.

Instance Objects lists the instance object types.

all turns on instance object types.

none turns off instance object types.

June 2000 803 Product Version 4.4.6

Page 804: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Schematic Selection Filter Form

Area Partial Selection specifies whether the schematic editor includes partial objects in theselection set. Partial objects can be wire endpoints and vertices or note shape objectendpoints, vertices, and edges.

When this option is turned off (default), the editor does not include partial objects when youdrag your cursor through the design to select several objects at once (area selection).

When this option is turned on, the editor includes partial objects when you drag your cursorthrough the design to select several objects at once (area selection).

Schematic Objects lists the schematic object types you can select with your cursor.

all turns on all the object types.

none turns off all the object types.

Instance Objects (for point selection only) lists the instance subobject types that you canselect only by pointing and clicking in the design. You cannot select instance objects bydragging your cursor through the design (area selection). The selectability of most instancesubobjects is disabled by default, which allows for easier selection of the whole instance.

all turns on all the object types.

none turns off all the object types.

June 2000 804 Product Version 4.4.6

Page 805: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Schematic Title Block Properties Form

Global Border Titles defines properties shared by all sheets.

company specifies the name of the company.

dwg_no specifies the drawing number for the current sheet.

CAGE specifies the Commercial and Government Entities supply code. CAGE replacesthe Federal Supply Code for Manufacturers (FSCM) number.

Sheet Specific Border Titles specifies the properties specific to the current sheet.

rev specifies the revision level for the current sheet.

title specifies the title for the current sheet.

title1 specifies the subtitle for the current sheet.

June 2000 805 Product Version 4.4.6

Page 806: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Set Instance Binding Form

OK makes changes to the selected instances in the hierarchy editor and closes the form.

Cancel closes the form.

Apply makes changes to the selected instances in the hierarchy editor and leaves the formdisplayed.

Defaults reverts to the default bindings and inherited view list.

Previous selects the previously selected instance in the selection list (in the schematicwindow).

Next selects the next instance in the selection list (in the schematic window).

Apply To

current instance applies settings to only the current instance in the selected set (orselection list).

all selected instances applies settings to all instances in the selection list.

all instances applies settings to all instances in the schematic.

Of

same master applies settings to only instances that have the same master as thecurrent instance in the selection list.

any master applies settings to instances regardless of their masters.

Instance Name is the name of the current instance. You cannot edit this field.

View To Use identifies the view to be used when expanding down the design hierarchy. Youcan choose from the names of all available views for this instance.

Inherited View List specifies the view list that is inherited by all subordinate instances.

As Is retains the current setting without change.

Build displays the Build Inherited View List form that lets you create the view list by selectingviews and constants or by typing in your own selections.

June 2000 806 Product Version 4.4.6

Page 807: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Set Label Display Simulation Data Directory Form

Simulation Data Directory specifies the name of the directory in which you want to store thesimulation data.

June 2000 807 Product Version 4.4.6

Page 808: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Set Radix Form

Radix sets the radix for all selected monitors displaying buses.

June 2000 808 Product Version 4.4.6

Page 809: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Set Time Form

Time specifies a time value for displaying signal results. You can automatically fill in this formby sliding the Time Line indicator located in the middle of the form.

Units displays the time units for the value you enter in the Timefield. You cannot edit the timeunits. Use the Set Time Scalecommand to set the time units.

Time Line lets you automatically fill in the Time field. As you slide the indicator, a valueappears above the indicator and also in the Timefield. The value range varies depending onthe simulation history data.

Range fields display the start and end values of the simulation history represented by TimeLine. The system displays the start value of simulation history at the left end of the time lineand the end of the simulation history at the right end of the Time Line. You cannot edit theRange fields.

Move ( - ) ( + ) defines a time value by which you move through the simulation history. Youcan move backward by selecting the minus or forward by selecting the plus.

prev event sets the time to the most recent transition of the specified signals.

next event sets the time to the next transition of the specified signals.

June 2000 809 Product Version 4.4.6

Page 810: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Setup Schematic Rules Checks Form

Packaged Checks automatically sets the severity levels for the following predefined checks.

None sets the logical, physical, and name check severity levels to the default values.

Normal sets the logical, physical, and name check severity levels to either ignored orwarning.

Logical Only sets all logical check severity levels to warning. Physical and name checkseverity levels are set to ignored.

Physical Only sets all physical check severity levels to warning. Logical and namechecks are set to ignored.

VHDL sets logical, physical, and name check severity levels to preassigned values.VHDL syntax checks are set to error.

Verilog sets logical, physical, and name check severity levels to preassigned values.Verilog syntax checks are set to error.

Logical checks the high-level connectivity data.

Floating Nets checks for wires that are neither physically nor logically connected to aschematic or instance pin. Ignores wires that are connected by name to a schematic orinstance pin.

To minimize the number of messages when you set the severity levels for this check towarningor error, you should set the Unconnected Wirescheck in the Physical Checkssectionof the form to ignored.

Floating Input Pins checks for component input pins and schematic output pins that arenot connected to component output pins, schematic input pins, or schematic I/O pins.

Floating Output Pins checks for component output pins and schematic input pins thatare not connected to component input pins, schematic output pins, or schematic I/O pins.

Floating I/O Pins checks for component or schematic input/output pins whose signalsare not connected to component output pins, schematic input pins, or any otherschematic I/O pins.

Floating Switch Pins checks for component or schematic bidirectional pins whosesignals are not connected to component output pins, schematic input pins, or any otherschematic I/O pins.

Shorted Output Pins checks for component output or schematic input pins that areconnected to any other component output or schematic input pins.

June 2000 810 Product Version 4.4.6

Page 811: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Offsheet Connectors checks for offsheet connectors that appear on only one sheet ina multisheet design. Also checks whether a net is used locally in more than one sheetbut is not connected across the sheets with an offsheet connector.

Physical checks for unconnected wires, offset labels, and overlapping instances.

Unconnected Wires checks for wire segments whose end points do not physicallyconnect to

❑ A schematic pin

❑ A component pin

❑ A label

❑ Another wire segment

This check is a physical check, not a logical or connectivity check.

To minimize the number of messages when you set the severity levels for this check towarning or error, you should set the Floating Netscheck in the Logical Checks section ofthe form to ignored.

Solder On CrossOver checks for solder connections placed on wire crossovers.

Overlapping Instances checks for instances that overlap other instances.

Percent Overlap Allowed specifies a value that defines the degree to which twoinstances can overlap each other. The value represents a percentage of the boundingbox for the larger instance.

Maximum Label Offset checks for unglued labels beyond a specified distance from awire (see Maximum Offset From Wireoption). When the checker finds unglued labels withinthis specified distance, the checker automatically glues the labels to the appropriatewires if the severity level is set to warning or error.

Maximum Offset From Wire specifies the distance that an unglued label can be locatedfrom a wire. When the checker finds unglued labels beyond the specified distance, thechecker marks the unglued label (see Maximum Label Offsetoption).

Name checks for syntax and collisions.

Connection By Name checks whether a signal exists in more than one physicallydisjointed group of wires or pins. You might have inadvertently connected objects whenusing a name that was already used elsewhere in the schematic. For example, if aschematic contains a pin name “A” and you name a wire in the schematic “A”, the pin andthe objects connected to the wire are logically connected.

June 2000 811 Product Version 4.4.6

Page 812: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Instance/Net Name Collision checks whether a signal name collides with an instancename. For example, the schematic rules checker will flag an instance named “x ” and anet named “x ” because the names are identical. This option is especially useful forensuring Verilog HDL and VHDL consistency.

Pin/Net Name Collision checks whether a pin name differs from a net name. Forexample, the schematic rules checker will flag a pin named “x ” and a net named “y ”because the names differ. It flags the condition of a pin name connected to a wire with adifferent net name; it does not flag connection by name.

Verilog HDL Syntax checks Verilog HDL syntax for instance and signal names in aschematic cellview. The checker flags signal names or instance names when they collidewith Verilog HDL reserved words or when they are not valid Verilog HDL identifiers.

VHDL Syntax performs VHDL syntax checking on instance and signal names in aschematic cellview. The schematic rules checker flags signal names or instance nameswhen they collide with VHDL reserved words or when they are not valid VHDL identifiers.

Instance Name Syntax controls name syntax checking for instances.

Instance Name Expression specifies the regular expression the checker uses ininstance name syntax checks. This field is enabled only when the Instance Name Syntaxcheck is set to warning or error.

Pin Name Syntax controls name syntax checking for pins.

Pin Name Expression specifies the regular expression the checker uses in pin namesyntax checks. This field is enabled only when the Pin Name Syntaxfield is set to warningor error.

Net Name Syntax controls name syntax checking for nets.

Net Name Expression specifies the regular expression the checker uses in net namesyntax checks. This field is enabled only when the Net Name Syntaxfield is set to warningor error.

Inherited Connection

Inherited Pin/Net Connections checks whether any inherited pin or net connectionsexist in the schematic.

Missing Override Nets checks for net names that have been specified by inheritedconnection override properties. If the net name is not found, the appropriate severitymarker will be placed on the instance where the netSet property is defined.

AMS (Analog/Mixed-Signal) checks for AMS netlisting checks.

Run AMS Checks

June 2000 812 Product Version 4.4.6

Page 813: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

yes runs AMS checks.

no (default) does not run AMS checks.

Verilog AMS Checks supports the Verilog-AMS language and runs netlisting checks.

Illegal Identifiers checks all identifiers in the cellview for adherence to Verilog-AMSnaming restrictions (which allows mixed-case identifiers). This includes syntaxchecking and checks for reserved words. Verilog-AMS allows mixed-case identifiers.

Name Collisions checks all identifiers in the cellview for adherence to Verilog-AMSscoping rules.

Conflicting Bus Ranges checks all buses in the cellview for consistent bus rangedirection.

Sparse Buses checks all buses in the cellview for use of each bit within the busrange.

June 2000 813 Product Version 4.4.6

Page 814: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Show Label Form

Labels of specifies which attached labels the checker looks for and highlights in the designwindow when you click on Apply.

When you click on Apply, the system draws highlighted lines between the specified labels andtheir associated objects. The system displays a flashing box around any wire labels that arenot attached to a wire segment. The form stays open so you can perform other checkoperations.

June 2000 814 Product Version 4.4.6

Page 815: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Show Views Found Form

View Name(s) shows all the views bound to all the instances in the current schematiccellview.

Highlight Layers shows the colors used to highlight the instances with the correspondingviews. The command graphically shows the current view being used for each instance.

June 2000 815 Product Version 4.4.6

Page 816: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Stretch Form – Schematic Editor

Snap Mode specifies the angles along which you can stretch objects in the cellview.

anyAngle (default) lets you stretch along any angle from the current location.

diagonal restricts the movement of stretched objects to points that are along 45-degree,90-degree, and 180-degree angles from the current location.

orthogonal restricts the stretching of objects to points along the X and Y axes from thecurrent location.

Route Method controls how the schematic editor routes wires when you stretch an object.

full (default) draws complex lines and generates additional segments, when necessary,to complete the connection. When the editor cannot complete the connection,rubberband lines remain in the schematic to indicate the intended connectivity.

direct draws a direct line between two given points.

flight draws a dashed line between two given points.

simple restricts the movement of objects and the drawing of associated lines to pointsalong the X and Y axes from the current location.

Route Wire Segments Connected To specifies whether the editor stretches and reroutesthe unselected wires that are connected to a specified object type. When you do not enableback tracing for an object type, the editor stretches and reroutes only the first wire segmentthat is connected to the object you want to stretch. You can reroute wire segments connectedto the following object types:

■ Instance

■ Pin

■ Wire

When you turn on an option for an object type, the schematic editor stretches and reroutesall the connected wire segments from the selected object only back to the point where

■ The wire reaches a solder dot

■ The wire reaches a pin

■ The wire reaches a wire of a different width

■ The wire reaches another selected wire

June 2000 816 Product Version 4.4.6

Page 817: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Rotate turns an object in 90-degree increments counterclockwise around the currentreference point.

Sideways mirrors the object across an imaginary vertical line passing through the currentreference point.

Upside Down mirrors the object across an imaginary horizontal line passing through thecurrent reference point

June 2000 817 Product Version 4.4.6

Page 818: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Stretch Form – Symbol Editor

Snap Mode specifies the angles along which you can stretch objects in the cellview.

anyAngle (default) lets you stretch along any angle from the current location.

diagonal restricts the movement of stretched objects to points along the X and Y axesand to points that are along 45-degree angles from the current location.

orthogonal restricts the stretching of objects to points along the X and Y axes from thecurrent location.

June 2000 818 Product Version 4.4.6

Page 819: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Submit Plot Form

Plot – cellview (default)

Library Name specifies the library that contains the cellview you want to plot.

Cell Name specifies the name of the cellview you want to plot.

View Name specifies the view name of the cellview you want to plot.

Area to Plot specifies the boundaries for the plot. The text field displays the coordinatesfor the lower right-hand and upper left-hand corners of a bounding box that representsthe plot area.

Full Size (default) specifies the entire cellview and gives the coordinates in Area toPlot.

Select lets you type coordinates or drag your mouse across the design to specifythe plot area.

Browse opens the Library Browser. Use the browser to select a cellview. The systemautomatically fills in the form with the information you specify in the browser.

Plot Scope

Sheet Range (appears only when plotting from an index sheet) lets you choose the numberof sheets of a multisheet schematic.

none prints only the current cellview.

all prints the entire hierarchy starting from the current cellview.

from lets you specify a start and end page to plot.

Hierarchy options control hierarchical plotting.

current level plots only the specified cellview.

hierarchy plots portions of the design hierarchy.

levels down plots a specified number of design levels.

The following fields are editable when you select hierarchy or levels down.

View Name List specifies a prioritized list of view names that the system looks for duringhierarchical plotting.

Skip Libraries specifies a list of libraries that the system ignores during hierarchicalplotting.

June 2000 819 Product Version 4.4.6

Page 820: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Skip Cells Below specifies the last level of hierarchy that the system plots duringhierarchical plotting. Specify a cell name or list of cell names to identify the final level toplot. The system ignores all cells below the specified cell or list of cells.

Plot With options let you specify the information you want the system to include on the outputplot. You can specify more than one option.

header plots the header information.

notes enables the text box. Use the text box to create the note text.

grid/axes plots both the grid and axes lines.

Template File specifies a plot setup file. A plot setup file contains plot setup information forthe Submit Plot form and the Plot Options form. The Template File options let you read in, orwrite to, the file you specify in this field.

Load reads in plot setup information from a plot setup file. Specify a file that contains plotsetup options or a sample file. Two sample plot template files are available in theyour_install_dir /tools/dfII/samples/plot directory. The sample filesare schPlot.i l and schMetPlot.i l .

The system loads the default plot template file when you first use the Design – Submit –Plot command. Once the default plot template file is set, you must use the Load buttonto load another template file.

Save writes the current plot setup information to a setup file. Plot setup options arestored in a property list format.

Plot Options opens the Plot Options form. You use the Plot Options form to set the plotteroptions.

Plot – library

Library Name specifies the library that contains the cells you want to plot.

View Name List lists the view names of the cells you want to plot.

Browse opens the Library Browser. Use the browser to select a library. The systemautomatically fills in the form with the information you specify in the browser.

Plot With options let you specify the information you want the system to include on the outputplot. You can specify more than one option.

header plots the header information.

notes enables the text box. Use the text box to create the note text.

June 2000 820 Product Version 4.4.6

Page 821: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

grid/axes plots both the grid and axes lines.

Template File specifies a plot setup file. A plot setup file contains plot setup information forthe Submit Plot form and the Plot Options form. The Template Fileoptions let you read in, orwrite to, the file you specify in this field.

Load reads in plot setup information from a plot setup file. Specify a file that contains plotsetup options or a sample file. Two sample plot template files are available in theyour_install_dir /tools/dfII/samples/plot directory. The sample filesare schPlot.i l and schMetPlot.i l .

The system loads the default plot template file when you first use the Design – Submit –Plot command. Once the default plot template file is set, you must use the Load buttonto load another template file.

Save writes the current plot setup information to a setup file. Plot setup options arestored in a property list format.

Plot Options opens the Plot Options form. You use the Plot Options form to set the plotteroptions.

Plot – viewing area

Plot With options let you specify the information you want the system to include on the outputplot. You can specify more than one option.

header plots the header information.

notes enables the text box. Use the text box to create the note text.

index sheets plots the index sheets for the current plot job.

grid/axes plots both the grid and axes lines.

Template File specifies a plot setup file. A plot setup file contains plot setup information forthe Submit Plot form and the Plot Options form. The Template File options let you read in, orwrite to, the file you specify in this field.

Load reads in plot setup information from a plot setup file. Specify a file that contains plotsetup options or a sample file. Two sample plot template files are available in theyour_install_dir /tools/dfII/samples/plot directory. The sample filesare schPlot.i l and schMetPlot.i l .

The system loads the default plot template file when you first use the Design – Submit –Plot command. Once the default plot template file is set, you must use the Load buttonto load another template file.

June 2000 821 Product Version 4.4.6

Page 822: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Save writes the current plot setup information to a setup file. Plot setup options arestored in a property list format.

Plot Options opens the Plot Options form. You use the Plot Options form to set the plotteroptions.

June 2000 822 Product Version 4.4.6

Page 823: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Symbol Generation Options Form

Library Name specifies the library for the generated cellview.

Cell Name specifies the cell name for the generated cellview.

View Name specifies the view name for the generated cellview.

Pin Specifications lets you change pin order or move pins to different sides of the symbol.

Left Pins creates pins for the left side of the symbol.

Right Pins creates pins for the right side of the symbol.

Top Pins creates pins for the top of the symbol.

Bottom Pins creates pins for the bottom of the symbol.

Attributes

List opens a corresponding attributes form that you can use to change the pin directionand the pin graphic attributes.

Load/Save displays options you can use to specify which TSG template file the systemreferences when creating a symbol automatically.

Load consists of a Load button, a cyclic field, and a text field. The cyclic field lists theTSG template file keywords. The text field changes when you select a keyword. Whenyou click the Load button, the system loads the file displayed in the text field.

Save (TSG File) specifies a path for the file you want to save.

Load Template Data From Symbol specifies a file that contains the TSG templateinformation.

Library Name specifies the library name of the cellview that contains the TSG templateinformation.

Cell Name specifies the cell name of the cellview that contains the TSG templateinformation.

View Name specifies the view name of the cellview that contains the TSG templateinformation.

Edit Attributes expands the form to display the symbol attributes options.

Pin Spacing specifies the spacing between pins.

June 2000 823 Product Version 4.4.6

Page 824: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Stub Length specifies a length for the line that represents the pin wire.

Height increases the minimum height value for the generated symbol. When set to 0(default), TSG uses pin and label data to determine the minimum height value for thesymbol.

Width increases the minimum width value for the generated symbol. When set to 0(default), TSG uses pin and label data to determine the minimum width value for thesymbol.

Pin Connector contains a list of pin connector shapes.

Origin contains a list of possible origin locations for the generated symbol.

Reverse Pin Order creates a symbol with the pins in reverse order.

Edit Labels expands the form to display the label options.

Label contains a list of the current labels.

Name specifies a label that you want to add to the Labelcyclic field.

Label Choice contains a list of label types.

Apply To contains a list of the pin types to which you can apply the label.

Label Type contains a list of the types you can assign to the label.

Orientation specifies the orientation of the label.

Font Height specifies the height of the label text.

Justification specifies the location of the label.

Font Style contains a list of the fonts you can apply to the label.

isOverbar is only a display option. You use this option to specify whether the softwaredisplays an overbar over a label in the design window. When disabled (default), thesoftware displays underscore characters ( _ ) in the label as part of the label text string.When enabled, the software interprets underscore characters ( _ ) in the label as toggleswitches that control where overbars begin and end.

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

_abc_de abcde

June 2000 824 Product Version 4.4.6

Page 825: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Caution

To avoid confusion when text actually contains underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Location specifies where on the symbol to place the label.

Add adds the pin name you specify in the Namefield to the list under the Labelcyclic field.

Delete removes the pin name you specify in the Namefield from the list under the Labelcyclic field.

Modify applies the changes you specify in the form to the specified label.

Edit Properties expands the form to display the property options.

Property contains a list of the current properties.

Name specifies a property that you want to add to the Property Listcyclic field.

Value specifies a value for the property you specify in the Name field.

Apply To contains a list of the pin types to which you can apply the property.

Property Type contains a list of the types you can assign to the property.

Orientation specifies the orientation of the property in respect to the instance.

Font Height specifies the height of the property text.

Justification specifies the location of the property.

Font Style contains a list of the fonts you can apply to the property.

isOverbar is only a display option. Use this option to specify whether the softwaredisplays an overbar over a label in the design window. When disabled (default), thesoftware displays underscore characters ( _ ) in the label as part of the label text string.When enabled, the software interprets underscore characters ( _ ) in the label as toggleswitches that control where overbars begin and end.

ab_cd_ef_gh_ij ab cdef ghij

Property Name Appears in Design Window As

_abcde abcde

ab_cde ab cde

June 2000 825 Product Version 4.4.6

Page 826: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Caution

To avoid confusion when text actually contains underscore characters,Cadence recommends that you disable this display option. It is providedonly for backward compatibility.

Location specifies where on the symbol to place the property.

Add adds the property name you specify in the Name field to the list under the Propertycyclic field.

Delete removes the property name you specify in the Name field from the list under theProperty cyclic field.

Modify applies the property name you specify in the Name field to the list under theProperty cyclic field.

_abc_de abcde

ab_cd_ef_gh_ij ab cdef ghij

June 2000 826 Product Version 4.4.6

Page 827: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Symbol Select All Form

Form Action controls whether the system selects or deselects all the specified object typeswhen you click OK or Apply.

select selects all the specified object types.

deselect selects everything but the specified object types.

Symbol Objects lists the symbol object types.

all turns on symbol object types.

none turns off symbol object types.

June 2000 827 Product Version 4.4.6

Page 828: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Symbol Select By Property Form

Find lets you specify values for the search.

The cyclic field lists frequently used properties.

When you select other from the cyclic field, the Add New Property for Search formappears.

The relational operators let you limit the search to objects that have a property value thateither exactly matches or differs from the value specified in the field showing the propertyvalue.

The text entry field specifies a value of the property.

When you select master from the list of property names, you must specify a propertyvalue of the form

“libname cellname viewname”

Form Action controls whether the system selects or deselects the specified object typeswhen you click OK or Apply.

select selects all the specified object types.

deselect selects everything but the specified object types.

Zoom Out To Fit All Figures zooms the editor out to display all the objects that match theselection criteria.

Show Object Filter expands the form to show the Selection Filter.

Symbol Objects lists the symbol object types.

all turns on symbol object types.

none turns off symbol object types.

June 2000 828 Product Version 4.4.6

Page 829: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Symbol Selection Filter Form

Area Partial Selection specifies whether the symbol editor includes partial objects in theselection set. Partial objects can be wire endpoints and vertices or note shape objectendpoints, vertices, and edges.

When this option is turned off (default), the editor does not include partial objects when youdrag your cursor through the design to select several objects at once (area selection).

When this option is turned on, the editor includes partial objects when you drag your cursorthrough the design to select several objects at once (area selection).

Symbol Objects lists the symbol object types you can select with your cursor.

all turns on all the object types.

none turns off all object types.

June 2000 829 Product Version 4.4.6

Page 830: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Synchronization Form

Synchronize with Simulator at Breakpoint enables synchronization to display simulationresults in monitors at simulation breakpoints.

June 2000 830 Product Version 4.4.6

Page 831: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

Time Scale Form

Units specifies the time units for time values.

Scale Factor specifies a value to scale all displayed time values.

Precision specifies the number of digits to display to the right of the decimal point for alldisplayed time values.

June 2000 831 Product Version 4.4.6

Page 832: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideForm Descriptions

VHDL Properties Form

Generics specifies the property names and the corresponding VHDL types, organized asSKILL lists, for the netlister to use when generating the entity.

The Add, Modify, and Delete buttons affect only the display of properties on the VHDLProperties form. You must click OK or Apply to apply the changes to objects in your design.

Add displays the Add Generic form, which lets you add a new generic to the list box.

Modify displays the Modify Generic form, which lets you redefine the type and value for ageneric displayed in the list box. When you select a generic in the list box before you selectthe command, the system fills in the form with generic information.

Delete displays the Delete Generic form, which lets you delete a specified generic from thelist box. When you select a generic in the list box before you select the command, the systemfills in the form with generic information.

Scalar Data Type specifies the default data type for the netlister to use when generating theentity.

Vector Data Type specifies the default data type for the netlister to use when generatingvector ports and signals if no data type is specified on the pin or signal itself.

Use Clause specifies a list of packages to be inserted by default in the context clause of theVHDL entity generated by the netlister.

User Comment shows a string to be inserted as the first line of each VHDL entity andarchitecture generated by the netlister.

June 2000 832 Product Version 4.4.6

Page 833: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User Guide

that. For

nce

, or

nd

orm

Glossary

A

arrayAn ordered arrangement of instances in rows and columns with uniform spacing.

attributeA mandatory characteristic of a design object or cellview, such as the wire width attribute,you can change but cannot delete. It is a permanent and predefined part of the databaseexample, a wire requires a beginning coordinate and an ending coordinate, and an instarequires an instance name.

In contrast, properties are optional; attributes are not. Properties can be added, changeddeleted. Attributes can be added or changed, but they cannot be deleted.See alsoproperty.

B

backannotationThe process of passing information generated outside Virtuoso® schematic composer astoring the information in Virtuoso® schematic composer.

blockA generic instance that represents lower-level design data.

browserA window used for displaying the names of libraries, cellviews, views, or components for a ffield. Examples of browsers are the Component Browser and the Library Browser.

pin1

GATE_REP

N7

pin2

Input pin Outputpin

June 2000 833 Product Version 4.4.6

Page 834: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

nentsist; to

d in

by a

name

of theare

atten.

You can use the Component Browser to display multiple libraries and their available compoat the same time; to display a hierarchical list of components instead of an alphabetical lgo directly to a specific component without scrolling.

You can use the Library Browser to view information about the libraries you have specifieyourcds.l ib file.

bundleA collection of signals with different names. A bundle is represented by names separatedcomma; for example,A,B,Data<0:15> . See alsowire.

busA collection of signals sharing a common base name. A bus is represented by this base followed with a vector expression; for example,A<0:7> . See alsowire.

bus tappingTapping bits of a bus or bundle gives the tapping wire segments names that are membersbase bus or bundle. For example, in the following illustration, all names on the right columntaps from the bundleS,R,Q<0:15> .

C

CDBAThe database mechanism or application programming interface (API) used by Virtuoso®schematic composer for accessing design databases. It is traversed by netlisters like prflCDBA stands for C-level Database Access.

Q<5:3>

Q<0:7>

S

Q<0>

S,R

S,R,Q<0:15>

June 2000 834 Product Version 4.4.6

Page 835: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

tg of a

unit

ent,

your

The

ection

bjectew to

n or

jects.

cellA component of a design; a collection of different aspects (representations) of componenimplementations, such as schematic or symbol representations. A design object consistinset of views that can be stored and referenced independently.

An inverter and a buffer are examples of a small cell. A decoder register, arithmetic logic(ALU), memories, complete chips, and printed circuit boards are examples of large cells.

cellviewA specific representation (view) of a cell. A particular representation of a particular componsuch as a schematic symbol of a NAND gate.

Cellviews are classified by their view type. Each cellview has a view name.

Command Interpreter Window (CIW)The window that launches any Cadence Design Framework II application. The CIW logsdesign session and reports messages.

connectivityThe way in which components and pins are linked together in an unambiguous manner. connectivity in a schematic is represented by wires linking the component pins to othercomponent pins. Connectivity can also be represented by pins of the common name (connby name). The connectivity of a cellview is created by either theDesign – Check and Savecommand or theCheck – Current Cellview command.

cross selectionThe process of selecting an object in one view to automatically select the corresponding oin another Cadence application. For example, selecting an instance in a schematic cellvicross highlight the corresponding instance in the Hierarchy Editor.

D

delayThe time interval between the manifestation of a signal at one point and the manifestatiodetection of the same signal at another point.

delay pathAn ordered series of instance-pin pairs that forms a connected signal path.

direct manipulationClicking on an object and then dragging the mouse to quickly stretch, move, and copy ob

June 2000 835 Product Version 4.4.6

Page 836: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

esenttween

bels,

enterse.

s are

Gatestom

r andnd

s. In

E

editor, schematicThe interactive editor in which you can create schematic cellviews and edit objects that reprparts of the design, such as components and pins, and wires that establish connectivity bethem.

editor, symbolThe interactive editor in which you can create and edit schematic symbol cellviews using lapins, shapes, notes, and a selection box.

Enter FunctionA class of functions that gather data from the user interactively. Schematic composer usesfunctions to build the interactive commands that require performing actions with the mou

F

fontThe style and size of type, in Virtuoso® schematic composer, of the label text. The choiceeuroStyle, gothic, math, roman, script, stick, swedish, andmilSpec. Themath fontdisplays mathematical and Greek symbols. Theswedish font displays Swedish languagecharacters.

G

gateSymbol object for combinational logic; for example, AND gates and OR gates.

gate arrayGates placed in a prefabricated matrix where you provide the design for the interconnect.array designs are cheaper to manufacture because only the interconnects have to be cumade.

geThe graphics editor component of DFII that supports both Virtuoso® schematic composeVirtuoso® layout editor. It supplies a variety of functionality including display, selection, ahierarchical signal probing.

global signal or global netA signal that is connected by name across all levels of a design hierarchy without using pinCadence Database Access (CDBA), a global signal is a signal that has theisGlobal attribute

June 2000 836 Product Version 4.4.6

Page 837: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

withrename See

ntedgate.

oftf an

is,

ith

Whend

eamehe

set totrue . In schematics, a global signal is determined by name; if the signal name endsan exclamation point (! ), it is considered global. A signal that is explicitly passed everywhein a design is not considered global. A global signal connects to other signals with the sameelsewhere in the hierarchy without requiring an explicit connection through the hierarchy.inherited connections.

H

hierarchical designDivision of portions of large designs into manageable views that can be created, represesymbolically, edited, and called by or connected to other such views in a design, optimizingproduction through tool speed and distribution of work load across a design organization

I

ilInstThe ilInst SKILL variable provides self-reference to an instance during graphic displaythe cellview containing the instance. The typical usage is for IL labels, such as labels thaevaluate a SKILL expression and display the results. For example, to display the value oinstance property, you create an IL label with the valueilInst~>propertyName . TheexpressionilInst~>propertyName is evaluated for all instances of the cell and theresulting values are displayed in the graphic editor.

TheilInst SKILL variable is only evaluated for the instances in the top display level. Thatonly the instances in the schematic can have theilInst SKILL variable value defined. If, forexample, you are instantiating schematics in schematics in schematics,ilInst can only bedetermined for the instances in the top schematics, and all subinstances are evaluated wreference to the subschematic in which they are instantiated.

lLLabelIL labels are expressions that are evaluated by the SKILL language to determine the value.you place an instance in your schematic, the system evaluates the SKILL expression andisplays the resulting value. For example, the system displays the IL labelilInst~>name inthe symbol editor, but displays a value – for example,I3 – in the schematic editor. Other typesof labels arenormal andNLPLabel.

inherited connectionsA facility for specifying global signals that may be overridden for a particular branch of thhierarchy. Net expression labels are used to specify the default signal and the property nwhich the global signal looks for.netSet properties can be placed on instances to override tdefault signal for a branch of the hierarchy.

June 2000 837 Product Version 4.4.6

Page 838: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

. You

ularlybit on

rigin

s

ls ofr plot

not

inherited net expressionA use of the NLP expression to support declaring an inherited connection.

instanceAn instantiation of a lib cell symbol. It is a database object that represents a master cellviewcan have several instances of the same cellview in a design.

instance iterationA compact way of representing repeated instances of a symbol in your schematic. Particuseful in bus-type or data-flow architectures that have identical structures to handle eachthe bus.

interpreted labelRepresents the group ofILLabel andNLPLabel because their values are always derived.

J

justificationPosition of the label’s origin with respect to the label. The cursor is always attached to the opoint. The choices areupperLeft, upperCenter, upperRight, centerLeft, centerCenter,centerRight, lowerLeft, lowerCenter, andlowerRight. For example, if you specifylowerCenter, the cursor is centered below the label.

M

member netA bit of anet. For example, if a net had the nameX,vdd!,Z , then the net has three membernamedX, vdd! , andZ.

member terminalA bit of a terminal. For example, if a terminal had the nameX,vdd!,Z , then the terminal hasthree members namedX, vdd! , andZ.

multisheetThe use of several pages to represent a schematic, connected by pins. You use two levehierarchy, the index and sheet levels. This partition improves readability and produces betteoutput.

multisheet, indexA schematic representation that is given the instance of all the sheets. This schematic isintended to be edited manually.

June 2000 838 Product Version 4.4.6

Page 839: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

nal or

sheets

signalllview

y an

playted net

multisheet, pinConnects nets between sheets in a multisheet schematic. A pin can connect a single sigmultiple signals (buses) of a terminal.

multisheet, sheetA schematic containing the logical description of a sheet that can be connected to other with offsheet pins.

N

netA database object that describes one or more signals. Logical implementation of a singleor a group of signals that implements the connections to instance pins and pins of the cecontaining the net.

net expressionA use of theNLP expression to support declaring aninherited connection.

net expression labelThe object for displaying the value of net expressions to the user.

net, globalUsed to establish connectivity between nets in different levels of the hierarchy. Indicated bexclamation mark added to the end of the name; for example,vdd!

NLPNetlist property. NLP expressions, besides being used for netlisting, are also used to disevaluated property values. The syntax of NLP expressions can be used to support inheriexpressions.

NLPLabel

A CDBA label type. Other types of labels are Normal and ILLabel . Labels that are ofNLPLabel type undergo special NLP evaluation. In general, NLP expressions define aproperty name to look for, where to look for the property, a format string used to substitute afound property value, and a default value to use if the property is not found. The at sign ( @)in the net expression label specifies the beginning of a property substitution expression, as[@instanceName] . It specifies how NLP label expressions are interpreted.

June 2000 839 Product Version 4.4.6

Page 840: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

t nets.

ne netother

nal or

iew.

leted.

ber

s.

f the

O

OSSOpen Simulation System. The functionality provided within OSS is utilized by manyapplications and customers for writing netlist interfaces to a variety of tools.

P

patchcordA special connection symbol used to establish aliases between the signals of two differen

Unlike tap names, where you extract bits of a single net, you can use patchcords to copy oto another. You can also use the patchcord to map bits from one net to different bits of annet.

pinRepresents the connection point for a single signal or multiple signals of the terminal.

pin, offsheetConnects nets between sheets in a multisheet schematic. A pin can connect a single sigmultiple signals (buses) of a terminal.

placed masterThe master cellview of the instance placed in a schematic. Usually, this is the symbol cellvThe instance in a schematic references the symbol.

propertyA characteristic of a design object or cellview that affects the object and can be edited or deProperties can be mandatory or optional.See alsoattribute.

S

signalA database object that represents a scalar, logical entity that connects one or more meminstance terminals. A scalar net is equivalent to a signal.

Ties together all the nets that implement the signal. Can belong to a number of different netSeealso wire.

solder dotSmall filled-in circle used to identify connections between intersecting wires that are part osame net.

June 2000 840 Product Version 4.4.6

Page 841: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

do notsamefines

uch

the

iew.

elow

switched masterWhen a design hierarchy is traversed, the symbol views instantiated as the placed masterdefine the next level of the design. The placed view must be switched to another view of thecell that contains more detail, for example, the layout or schematic views. The view that dethe result of hiearchical descend is the switched master.

T

technology fileA file that defines all the physical information required for a design. It defines information sas layers, physical design rules for compaction, and devices.

terminalLogical counterpart of the pin that lets you connect from the next higher level of hierarchy tonet associated with the pin.

A database object that makes a net available for connection on instances of a given cellv

V

view, schematicContains connectivity data and graphics that describe the logical views of a design.

view, symbolGraphic representation of the interface between the current level of hierarchy to the level bthe symbol that is instantiated.

Mask layoutview

Schematicview

Symbol view

June 2000 841 Product Version 4.4.6

Page 842: Virtuoso schematic composer user guide

Virtuoso Schematic Composer User GuideGlossary

raw a

W

wireA line that connects a pin and an instance to represent a net in a schematic. When you dwire between a pin and an instance, you create a net.

wire nameDesignates the name of a net and signals represented by the wire.

June 2000 842 Product Version 4.4.6