Virtuoso® Schematic Composer User Guide Product Version 5.0 October 2002 1990-2002 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. Virtuoso Schematic Composer User Guide Contents Preface .......................................................................................................................... 31 Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Typographic and Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Starting the Schematic Composer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Command Interpreter Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening a New Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening an Existing Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Making Designs Editable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Making Designs Read Only . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving Your Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closing Editor Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quitting the Schematic Composer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Database Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Design Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reference Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Menus and the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Pull-Down Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Pop-Up Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Object-Sensitive Menus (OSMs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Command Prompts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canceling a Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 3 36 37 37 38 39 40 41 42 42 43 44 45 46 47 47 48 48 48 49 50 50 52 53 54 54 Product Version 5.0 Virtuoso Schematic Composer User Guide Undoing a Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Redoing a Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying a Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Form Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quick Reference Bindkey Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quick 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dynamic Highlighting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Mouse to Select Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extending the Selection Area of a Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting One Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Multiple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Parts of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Panning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Redrawing a Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing the Same Cell in Two Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving View Area Settings in Memory ................................... Restoring View Area Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing and Using the Library Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Browser Type Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Library Browser to Initialize Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . Using the Component Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Accessing and Using the Component Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Browser Type Option to the Component Browser . . . . . . . . . . . . . . . . October 2002 4 54 55 55 55 56 57 57 58 59 60 60 61 61 62 63 63 65 65 66 67 67 68 69 70 72 73 73 73 74 75 75 75 76 78 78 78 Product Version 5.0 Virtuoso Schematic Composer User Guide Opening the Component Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening the Add Instance Form Instead of the Component Browser . . . . . . . . . . . . Listing Components from Several Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Component Browser Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 80 81 82 2 Understanding Connectivity and Naming Conventions . . . . . . 85 Connectivity with Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Instance Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 System-Generated Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 User-Defined Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Iterated Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Wire Connections and Wire Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Wire-to-Wire Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Wire-to-Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Wire-by-Name Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Wire-to-Iterated Instance Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Global Net Name Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Multiple-Bit Wire Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Tapping Multiple Bits of a Bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Tapping Multiple Bits of a Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Tapping Wire Intersections by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Designating Tap Size and Bit Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 System-Generated Net Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Multiple-Bit Wire Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Using Vector Expressions in Multiple Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Evaluating Vector Expressions in Multiple-Bit Wire Names . . . . . . . . . . . . . . . . . . . 106 Using Prefix Repeat Operators in Multiple-Bit Wire Names . . . . . . . . . . . . . . . . . . . 106 Using Suffix Repeat Operators in Multiple-Bit Wire Names . . . . . . . . . . . . . . . . . . . 107 Pin Connections and Pin Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 Hierarchical Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Offsheet Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Bus Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Pin-to-Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Tapping Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 October 2002 5 Product Version 5.0 Virtuoso Schematic Composer User Guide Patchcord Connections and Patchcord Naming Conventions . . . . . . . . . . . . . . . . . . . . Naming Single and Multiple Bits Using Patchcords . . . . . . . . . . . . . . . . . . . . . . . . . Naming Multiple Nets Using Patchcords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inherited Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inherited Connections in a Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Defining Inherited Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Syntax of an Inherited Net Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How Net Expressions Evaluate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sample Net Expression Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inherited Connections Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analyzing Net Expression Property Names and Evaluated Names . . . . . . . . . . . . . Summary of Naming Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 112 113 114 116 117 118 118 121 121 122 122 3 Creating Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Getting Started with Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . What Is an Instance? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Methods of Adding an Instance to Your Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Instances One by One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Instances by Rows and Columns (an Array) . . . . . . . . . . . . . . . . . . . . . . . . Adding Instances Using an Iterative Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Default Instance Name Prefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Instance Masters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying the View to Use While Placing the Instance . . . . . . . . . . . . . . . . . . . . . . Changing the View after an Instance Is Already Placed . . . . . . . . . . . . . . . . . . . . . . Renumbering Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Wires and Pins to Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disabling Automatic Block Pin Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 6 128 128 130 130 131 133 136 138 138 139 139 139 141 143 145 145 147 148 150 150 Product Version 5.0 Virtuoso Schematic Composer User Guide Adding Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Schematic and Offsheet Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Showing Pin Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Narrow or Wide Wires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Wire Snap and Gravity Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Wire Draw, Width, and Route Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Wire Flight Lines Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Routing Flight Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manipulating Wires with Only the Mouse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Wires to Schematic Instance Pins using SKILL . . . . . . . . . . . . . . . . . . . . . . Adding Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Naming a Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Multiple Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying Invisible Wire Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Net Name Prefixes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Net Expression Labels to Create an Inherited Connection . . . . . . . . . . . . . . . . Adding a Net Expression Label to a Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding an Inherited Supply Symbol to a Wire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing a Net Expression Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Net Expression Label Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting a Net Expression Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding netSet Properties to Create an Inherited Connection . . . . . . . . . . . . . . . . . . . . Adding a netSet Property to an Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying a netSet Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting a netSet Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analyzing Net Expression Property Names and Evaluated Names . . . . . . . . . . . . . . . Finding a Net Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finding and Replacing a Net Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finding Available Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing the Evaluated Net Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing the Full List of all Hierarchical Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking the Net Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Solder Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Solder Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 7 151 152 153 154 155 155 155 156 157 158 158 159 160 160 163 165 165 167 168 169 169 170 172 172 173 176 176 177 178 178 179 180 182 183 184 185 Product Version 5.0 Virtuoso Schematic Composer User Guide Deleting Solder Dots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disabling Automatic Solder Dot Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Solder Dot Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Note Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Note Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importing an ASCII File for Note Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Patchcords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Probes to a Net, Pin, or Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Showing Probe Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing Probes from a Net, Pin, or Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing All Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 185 186 187 189 189 190 191 194 195 196 196 197 198 198 4 Creating a Multisheet Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 Browsing a List of Multisheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Converting a Single-Sheet Schematic to a Multisheet Schematic . . . . . . . . . . . . . . . . . Adding New Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing the Title Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing the Sheet Border Size and Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Offsheet Pins and Their Naming Conventions . . . . . . . . . . . . . . . . . . . Adding Offsheet Pins to Multisheet Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding the Index Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Going to and from the Index Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repositioning a Schematic within the Sheet Borders . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reordering Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renumbering Sheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Working with Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Cross-Reference Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Pin Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Cross-Reference Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 8 202 202 203 203 205 206 208 209 210 210 212 213 214 214 215 216 217 Product Version 5.0 Virtuoso Schematic Composer User Guide Preparing to Cross-Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zooming In to View All Cross-Referenced Pins One by One . . . . . . . . . . . . . . . . . . Going to a Specific Hierarchical Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Cross-Reference Reports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing a Cross-Reference Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Controlling the Format String Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing the Format String Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Multisheets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Basic Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing the Types and Sizes of Sheet Borders . . . . . . . . . . . . . . . . . . . . . . . . . Customizing the Cross Reference Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing a Customized Sheet Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing a Sheet Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Sheet Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Zone Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding the Sheet Zone Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Title Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Title Block Values with Normal Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Title Block Values with NLP and IL Labels . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying the Label Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Title Block Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Pin Cross-References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Presetting the Title Block Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 218 220 221 221 223 224 225 225 226 226 228 228 229 229 230 231 232 232 233 234 234 236 236 5 Creating Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Setting Grid Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importing Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating New Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Rectangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Circles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing Ellipses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 9 241 242 243 244 245 246 247 248 Product Version 5.0 Virtuoso Schematic Composer User Guide Drawing Arcs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Pins as Graphic Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Pins as Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Custom Pins as Graphic Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Duplicating Pin Figures in the Symbol Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Making the Custom Pin Name Visible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Selection Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Normal Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding an NLP Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding an IL Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Note Text and Note Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Net Expression Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Symbol Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Symbol Cellviews Using Generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 250 251 252 253 254 255 255 256 258 261 262 262 263 264 6 Automatically Creating Cellviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 Features of Creating Cellviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automatically 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding, Changing, and Reordering Pin Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Pin Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading and Saving a TSG Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Symbol Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Symbol Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a New Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying Label Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 10 266 266 268 270 271 274 275 277 278 280 282 285 286 289 291 293 296 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a New Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying Property Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying Symbol Generator Pin Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 299 301 303 7 Editing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 Using Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Direct Manipulation Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Turning Off Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Undoing and Redoing an Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Undo Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretching with the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretching with the Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretching with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretching with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Single Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Arrays of Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Across Cellviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Preselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Postselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Sheet Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotating Preselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotating Postselected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotating with Direct Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 11 306 307 308 308 308 309 310 313 315 316 316 317 317 318 318 319 319 320 321 322 322 323 323 324 324 324 325 326 Product Version 5.0 Virtuoso Schematic Composer User Guide Rotating with Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Discarding Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alternating Symbol Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the View of a Preselected Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the View of a Postselected Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toggling Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toggling Pin Direction Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Toggling 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326 327 327 327 328 328 328 328 329 329 330 332 332 333 334 335 8 Editing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 Using Command Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching for Objects That Have a Specific Property . . . . . . . . . . . . . . . . . . . . . . . . . . Search String Wildcards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replacing Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replacing String-Tagged Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Objects to Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Modal (Repeating) Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Objects by Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Objects Automatically by Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Objects by Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Property Name to the Search List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Objects by Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Object and Cellview Property Types and Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Applying Edits to Objects and Displaying Object Types . . . . . . . . . . . . . . . . . . . . . . Adding Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 12 339 339 341 341 343 347 347 348 349 351 352 353 354 356 356 357 Product Version 5.0 Virtuoso Schematic Composer User Guide Deleting Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Specific Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Instance and Block Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Pin Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Designating the Order of Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying a Pin Order from Another Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resolving Pin Order Mismatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verifying Pin Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Pin Name Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Wire Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Wire Name Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Instance Pin Properties on an Instance of a Block . . . . . . . . . . . . . . . . . . . . Editing Label Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resetting Invisible Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing netSet Properties ............................................ Editing Note Text Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Note Shape Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Symbol Shape Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Symbol Pin Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Symbol Label Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Symbol Selection Box Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing User-Defined Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passing Parameters in a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying Cellview Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 13 358 359 360 360 362 362 363 364 364 365 365 366 367 368 369 371 371 373 374 375 376 377 378 380 381 382 383 384 385 386 387 388 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting the Tool Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 9 Traversing the Design Hierarchy and Creating a Design Configuration View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 About the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exploring the Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Top-Level Schematic View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Middle-Level Schematic View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Lower-Level Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . About the Configuration View of a Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . About the Hierarchy Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Traversing a Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descending Using the Descend Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing an Instance in Place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descending 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a New Configuration View for the Design Hierarchy . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Updating a Design Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Building a New Inherited View List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Showing Views Found . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 14 392 393 394 395 396 396 397 398 398 400 401 402 403 403 404 405 405 406 408 408 409 409 409 411 411 413 Product Version 5.0 Virtuoso Schematic Composer User Guide 10 Checking Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 Features of the Check Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Check Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting User Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Schematic Rule Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking and Saving a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking the Current Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking a Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking a Design Hierarchy in the Configuration Context . . . . . . . . . . . . . . . . . . . Checking Multisheet Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking a Label Attachment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cross-View Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bypassing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bypassing Floating Pin Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bypassing Unconnected Wire Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resolving Check Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Finding Errors and Warnings in a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mapping an Error Message to a Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Managing the Error Message List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Assigning an ignoreCheck Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Suppressing Message Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting an ignoreCheck Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting All ignoreCheck Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Individual Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting All Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Monitoring a Verilog or VHDL Simulation State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Cross Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening an SHM Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying the Simulation State of Wires and Pins . . . . . . . . . . . . . . . . . . . . . . . . . . Setting a Time Value for Displaying Signal Results . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Time Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Display Radius . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronizing with Simulation at Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 15 416 418 418 420 425 426 428 429 430 431 432 433 435 435 436 438 440 441 441 441 442 442 442 443 443 444 445 445 447 448 449 450 451 Product Version 5.0 Virtuoso Schematic Composer User Guide Closing the SHM Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451 11 Plotting Designs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453 Setting Up System Options to Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Up Printer Options to Use Various Paper Sizes . . . . . . . . . . . . . . . . . . . . . . . . Plotting a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plotting a Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plotting a Cellview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plotting Part of a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plotting Without a Header Page for Every Session . . . . . . . . . . . . . . . . . . . . . . . . . Adding Notes to a Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Plot Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plotting a Color Schematic in Black and White . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Background Color of a Schematic Window . . . . . . . . . . . . . . . . . . . . Using a Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading a Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Default Plot Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking the Queue Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canceling a Plot Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454 454 455 456 457 459 460 460 461 463 464 465 465 468 469 470 470 12 Setting Schematic Composer Options . . . . . . . . . . . . . . . . . . . . . . . . 473 Overview of Schematic Composer Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing User Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Minimizing Mouse Clicks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Default Display Setting for Command Option Forms . . . . . . . . . . . . . Saving the Current Window Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restoring a Saved Window Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Bindkey Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Browser and CIW Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Canceling the Modal (Repeat) Command Option . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 16 474 475 475 477 477 478 478 479 480 480 Product Version 5.0 Virtuoso Schematic Composer User Guide Changing Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Objects Using the Filter Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Plot Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Schematic Check Options and Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Tool Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving Form Field Default Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading Form Field Default Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 481 481 482 482 482 483 13 Customizing the Schematic Composer . . . . . . . . . . . . . . . . . . . . . . . 485 Customizing Pull-Down and Pop-Up Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Default Menu Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sample Menu File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Object-Sensitive Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example of Customizing the Instance OSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing the Icon Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Converting a Schematic from a 0.125 Grid to a 0.1 Grid . . . . . . . . . . . . . . . . . . . . . Customizing Bindkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locating the schBindKeys.il Bindkey File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locating Your Installation Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................................................. Loading Your Customized Bindkey File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading the Cadence-Supplied Bindkey File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading the Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Global Editor Variables for Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Editor Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Editor Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Generation (tsg) Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 17 486 486 486 487 487 489 490 490 491 491 491 492 492 492 493 493 494 494 495 495 495 496 496 497 497 Product Version 5.0 Virtuoso Schematic Composer User Guide HDL (Verilog, SpectreHDL, and VerilogA) Variables . . . . . . . . . . . . . . . . . . . . . . . . AMS Netlisting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Block Pin Direction Rule Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Block Sample Sizes Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Name Exclusion Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Pin Types Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plot Template File Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Filter Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Rule Checker Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties for Find Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multisheet Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulation Probe Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Name Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . View Master Options Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Zone Formats Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Label Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Pin Masters Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Text-to-Symbol Generator (TSG) Variables for Form Fields . . . . . . . . . . . Pin Master Connections Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Pin Characteristics Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Template Masters Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing HDL Variables for Form Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit After Error Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Update Symbol After Edit Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cross View Check Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cross View String Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verbose Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . No Hierarchy Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Net to Port Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 18 497 498 498 499 501 503 504 505 505 506 507 508 509 511 512 513 515 516 517 518 519 519 519 520 520 520 520 521 521 521 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Plot Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522 A Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523 Overview of Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Editor Environment Variables File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Window Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schDisplayDepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schDrawAxesOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schDynamicHilightOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schGridMultiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schGridSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schGridType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schMaxDragFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schPathType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schShowDirectConnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schShowLabelOrigin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schSnapSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schWindowBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symDisplayDepth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symDrawAxesOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symDynamicHilightOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symGridMultiple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symGridSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symGridType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symMaxDragFig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symPathType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symShowDirectConnects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symShowLabelOrigin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symSnapSpacing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symWindowBBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viewNameList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . autoDot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . blockDirRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 19 529 530 534 534 534 535 535 535 536 536 536 537 537 538 538 538 539 539 540 540 540 541 541 542 542 542 543 543 544 544 544 Product Version 5.0 Virtuoso Schematic Composer User Guide broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . browserType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . checkAlways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . checkBeepOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . checkHierSave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . checkSymTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . compBackTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . condOp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createCvOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createInstResetCDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createInstShowCDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelFontHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelFontStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelHorzOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelHorzPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelHorzRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelJustify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelOffsetMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelVertOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelVertPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . createLabelVertRotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . cvDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . defaultsFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . defWideWireWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . descendSheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . descendTarget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dotOverlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . drawMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . drawModeRoute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . echoToCIW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . editPropShowCDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . editPropShowSystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . editPropShowUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . findZoomButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . gravityOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . libList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 20 545 545 545 546 546 547 547 548 548 549 549 549 550 550 551 551 551 552 552 552 553 553 554 554 554 555 555 556 556 557 557 557 558 558 559 559 Product Version 5.0 Virtuoso Schematic Composer User Guide markerSeverity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . markerShowIgnore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . markerZoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . maxLabelOffsetUU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . minMarkerSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . modalCommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . netExprDisplay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . netNameMethod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . netNamePrefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . netNameRangeDescend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . netNameSeparator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . noteFontHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . noteFontStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . noteJustify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . noteShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . noteShapeLineStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pinBackTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pinNameSeed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pinRefDuplicates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pinRefFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pinRefSorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . replSaveChanges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . runSRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . runVIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . saveAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schematicAreaPartialSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . schematicSelectFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . sensitiveMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . shapeLineType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . shapeLineWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . simProbeFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . simProbeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . snapEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . spanLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcConnByName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcFloatingBIDIR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 21 559 560 560 560 561 561 562 562 562 563 563 564 564 564 565 565 565 566 566 567 567 567 568 568 569 569 569 570 570 571 571 571 572 572 572 573 Product Version 5.0 Virtuoso Schematic Composer User Guide srcFloatingInput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcFloatingIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcFloatingNets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcFloatingOutput . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcInheritedConnCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcInstNameExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcInstNameSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcInstOverlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcInstOverlapValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcMaxLabelOffset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcNameCollision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcNetNameExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcNetNameSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcNoOverrideNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcOffsheetConnCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcPinNetCollision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcShortedOutputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcSolderOnCrossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcTermNameExpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcTermNameSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcUnconnectedWires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcVerilogSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . srcVHDLSyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ssgSortPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . statusBanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . statusBannerXY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . stickyWireLabelRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolAreaPartialSelect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolLabelChoiceText . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolLabelFontHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolLabelFontStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolLabelJustify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolLabelType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolPinFlatten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolPinIncrCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolPinLocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 22 573 574 574 575 575 575 576 576 577 577 577 578 578 579 579 580 580 580 581 581 582 582 582 583 583 584 584 584 585 585 585 586 586 587 587 587 Product Version 5.0 Virtuoso Schematic Composer User Guide symbolPinUsage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolSelectFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolShape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . symbolShapeFillStyle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . transToSheetType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . tsgTemplateType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . updateConn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vicExactPinMatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vicInheritedPins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vicInheritedPinsMatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vicSeverity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vicViewList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . wireBackTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . zoomOutButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588 588 588 589 589 590 590 591 591 591 592 592 593 593 B Text-to-Symbol Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595 Symbol Shape Generated by TSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TSG Symbol Description File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TSG Template File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clock and Negation Indicators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Backannotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simple File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complex File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extended File Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TSG Symbol Description File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Basic File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using TSG Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cell Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I/O Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 23 597 598 598 599 599 599 600 601 603 603 605 607 607 608 608 608 609 Product Version 5.0 Virtuoso Schematic Composer User Guide Executing TSG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620 TSG Processing Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621 Creating Symbols Automatically from a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . 621 C Symbol and Simulation Library Generator. . . . . . . . . . . . . . . . . . . . 623 Terms and Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Library Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Running the Symbol and Simulation Library Generator . . . . . . . . . . . . . . . . . . . . . . . . Running the Symbol and Simulation Library Generator in the Cadence Graphic Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Running the Symbol and Simulation Library Generator in the Cadence Nongraphic Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Library Management Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmCheckTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmCheckView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmCloseLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmDefCell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmDefTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmDefViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmDeleteTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmDeleteViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmGetValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmLoadData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmOpenLib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmPrintLibTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmPrintLibViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmPrintTerm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmPrintTermProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmPrintViewProp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmReset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lmSimView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . simRep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 24 625 626 626 626 628 630 632 633 635 636 638 640 644 645 646 647 648 649 650 651 652 653 654 655 656 Product Version 5.0 Virtuoso Schematic Composer User Guide Variables That Control Command Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657 Properties That Modify Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658 Sample Library Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658 D Configuring and Using Kanji Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuring Your System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Installing the Required Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uncompressing the Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying the Schematic Editor Menu File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Environment Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modifying the Data Registry File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Kanji Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Formats, Files, and Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a New Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating a Symbol from an Existing File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating a Symbol from a New File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing an Existing Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 25 664 664 664 664 665 665 666 667 667 667 668 669 670 Product Version 5.0 Virtuoso Schematic Composer User Guide Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 Known Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672 schHiCreateKanjiSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674 E Form Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677 Add Block Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Custom Pin Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Generic Form – VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Instance Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Kanji Note Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Net Expression Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add New Property to Find Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add New Property to Replace Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add New Property for Search Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Note Shape Form – Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Note Shape Form – Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Note Shape Form – Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Note Shape Form – Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Note Shape Form – Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Note Shape Form – Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Note Text Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Pin Form – Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Pin Form – Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Property Form – Edit Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Selection Box Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Simulation Monitor Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Symbol Label Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Symbol Shape Form – Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Symbol Shape Form – Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Symbol Shape Form – Ellipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Symbol Shape Form – Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Symbol Shape Form – Polygon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Symbol Shape Form – Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Add Wire Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 26 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 699 700 701 702 703 705 706 707 708 709 710 711 712 Product Version 5.0 Virtuoso Schematic Composer User Guide Add Wire Name Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Build Inherited View List Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cellview From Cellview Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cellview From Instance Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cellview From Pin List Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cellviews with Evaluated Net Expression Name Form . . . . . . . . . . . . . . . . . . . . . . . . . Change Sheet Border Size Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Check Hierarchy Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Component Browser Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Component Browser Preferences Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copy Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Create Cellview Dialog Box – Replace or Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Create Schematic Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Create Schematic Sheet Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cross Reference Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cross-View Checker Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete All Markers Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete Generic Form – VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete Property Form – Edit Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delete Schematic Sheet Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descend Form – Descend Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descend Form – Iterated Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descend Form – Multisheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descend Form – Noniterated Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Display Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Cellview Properties Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Component Display Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Instance and Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Instance Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Master Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Net Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Note Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Note Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Other Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 27 713 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 741 743 745 746 749 751 753 755 757 759 761 Product Version 5.0 Virtuoso Schematic Composer User Guide Edit Object Properties Form – Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Pin Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Selection Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Symbol Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Symbol Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Symbol Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Wire Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Object Properties Form – Wire Segment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Pin Order Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Edit Schematic Sheet Number Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editor Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Find Marker Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Go To Pin Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Go To Sheet Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Import Symbol Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Left, Right, Top, Bottom Pin Attributes Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Load Label Display Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Load Schematic Defaults Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modify Generic Form – VHDL Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modify Property Form – Edit Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Move Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Net Expression Available Property Names Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Net Expression Evaluated Names Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Occurrence Paths to Evaluated Name Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Open Simulation Data Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plot Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renumber Instances Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset Invisible Labels Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rotate Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Route Flight Line Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Save Label Display Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Save Schematic Defaults Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Save Schematics with Errors Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Check Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Find and Symbol Find Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Replace and Symbol Replace Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . October 2002 28 763 765 767 768 770 772 774 776 778 779 780 783 785 786 787 788 789 790 791 792 793 794 795 796 797 798 800 801 802 803 804 805 806 807 809 811 Product Version 5.0 Virtuoso Schematic Composer User Guide Schematic Select All Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Select By Property Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Selection Filter Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Title Block Properties Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Instance Binding Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Label Display Simulation Data Directory Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Radix Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Time Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setup Schematic Rules Checks Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Show Label Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Show Views Found Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretch Form – Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stretch Form – Symbol Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Submit Plot Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Generation Options Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Select All Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Select By Property Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Selection Filter Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Synchronization Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time Scale Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VHDL Properties Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 813 814 815 816 817 818 819 820 821 825 826 827 829 830 834 838 839 840 841 842 843 Glossary ..................................................................................................................... 845 October 2002 29 Product Version 5.0 Virtuoso Schematic Composer User Guide October 2002 30 Product Version 5.0 Virtuoso Schematic Composer User Guide Preface The Virtuoso® Schematic Composer is a design entry tool that supports the work of logic and circuit design engineers, including drafters. Physical layout designers and printed circuit board designers can use the information as background material to support their work. The preface discusses the following topics: ■ Related Documents on page 32 ■ Typographic and Syntax Conventions on page 32 October 2002 31 Product Version 5.0 Virtuoso Schematic Composer User Guide Preface Related Documents You can use the schematic composer with other Cadence® products. It requires knowledge of special languages such as the Cadence SKILL language. The following documents give you more information about these tools and languages. ■ The Design Framework II User Guide provides information if you are not familiar with Cadence terms and starting your system. ■ The Cadence Application Infrastructure User Guide provides additional information about the architecture. ■ The Virtuoso Schematic Composer Tutorial assumes that you know how to design schematics but are new to the schematic composer software. ■ The Inherited Connections Flow Guide describes how to use inherited connections and net expressions with various Cadence tools in the design flow. ■ The Virtuoso Schematic Composer SKILL Functions Reference Manual is for users who customize the standard product. ■ The Library Manager User Guide explains how to open or create cellviews from the library manager. ■ The Verilog-XL Integration Reference Manual describes how to use design entry with Verilog® HDL. Integrated circuit designers who use the Verilog-XL simulator to verify the logic of their designs can benefit from this manual. ■ The Virtuoso Schematic Composer VHDL Interface User Guide describes how to use design entry with VHDL. ■ The Text-to-Symbol Generator (TSG) is a Cadence application program that automatically generates circuit symbols for the schematic composer and subsequent simulation 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 destination is 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 section describes typographic and syntax conventions used in this manual. October 2002 32 Product Version 5.0 Virtuoso Schematic Composer User Guide Preface text Indicates text you must type exactly as it is presented. z_argument Indicates text that you must replace with an appropriate argument. The prefix (in this case, z_) indicates the data type the argument can accept. Do not type the data type or underscore. [ ] Denotes optional arguments. When used with vertical bars, they enclose a list of choices from which you can choose one. { } Used with vertical bars and encloses a list of choices from which you must choose one. | Separates a choice of options. The Boolean logical operator OR. … Indicates that you can repeat the previous argument. => Precedes the values returned by a Cadence® SKILL language function. / Separates the possible values that can be returned by a Cadence SKILL language function. text Indicates names of manuals, menu commands, form buttons, and form fields. n Represents a positive integer less than 16,375. This is also the bus width limitation and the limitation for inherited connections. < n:n > Indicates a number range of an instance. Important The language requires many characters not included in the preceding list. You must type these characters exactly as they are shown in the syntax. October 2002 33 Product Version 5.0 Virtuoso Schematic Composer User Guide Preface October 2002 34 Product Version 5.0 Virtuoso Schematic Composer User Guide 1 Getting Started The Virtuoso® Schematic Composer is a design entry tool that supports the work of logic and circuit design engineers, including drafters. Physical layout designers and printed circuit board designers can use the information as background material to support their work. This chapter discusses the following topics: ■ Starting the Schematic Composer on page 36 ■ Working with Designs on page 37 ■ Working with Libraries on page 46 ■ Using Menus and the Icon Bar on page 48 ■ Working with Commands on page 53 ■ Quick Reference Bindkey Charts on page 57 ■ Selecting Objects on page 60 ■ Working with Windows on page 69 ■ Using the Library Browser on page 75 ■ Using the Component Browser on page 78 October 2002 35 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 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 ■ 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 xterm window for other tasks while the software is running. 2. Press the Return key. The Command Interpreter Window (CIW) appears. October 2002 36 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Using the Command Interpreter Window The Command Interpreter Window (CIW) is the first window that appears after you start one of the executables. The menu banner displays the Cadence® Design Framework II menus. The message area displays messages from the software as you use the schematic composer. You can resize the CIW to see more messages in this area. The input line is where you can type Cadence SKILL commands and functions or indicate coordinates. The mouse settings line shows the current settings for the mouse buttons (left, middle, right). The settings change as you move the mouse in and out of cellviews or start and stop commands. Press Shift to see Shift mouse bindings; press Control to see Control mouse bindings. The prompt line shows messages from the current command. For details, refer to Design Framework II User Guide. Working with Designs The following section describes the basics about the schematic editor and the symbol editor. ■ Opening a New Cellview on page 38 ■ Opening an Existing Cellview on page 39 ■ Using the Schematic Editor on page 40 October 2002 37 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started ■ Using the Symbol Editor on page 41 ■ Making Designs Editable on page 42 ■ Making Designs Read Only on page 42 ■ Saving Your Edits on page 43 ■ Closing Editor Windows on page 44 ■ Quitting the Schematic Composer on page 45 Opening a New Cellview To open a new cellview from the CIW, do the following: 1. Choose either Design – New from an editor window or File – New – Cellview from the CIW. The Create New File 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 to create; for example, schematic or symbol. schematic opens the schematic editor. October 2002 38 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started symbol opens the symbol editor. 5. Set the Tool cyclic field to either Composer – Schematic or Composer – Symbol. 6. Click OK. 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 October 2002 39 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 4. Click OK. Using the Schematic Editor A schematic design is a graphical representation of a logic circuit design. The connectivity information is derived from the placement of pins, wires, and instances. To create a schematic design, you use the schematic editor, which is shown in the following graphic. Window banner Virtuoso® Schematic Editing: mixedVHDL designA 1 schematic Status banner Tools Design Window Edit Add Check Sheet Options Menu banner Icon bar Cursor Pointer Design area Mouse settings Prompt line October 2002 40 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Use the schematic editor to add the following objects. ■ Instances ■ Schematic pins ■ Wires and wire names A B C I1 Y nand3 TERM1 ■ Solder dots ■ Notes for documentation purposes Schematic for Group B 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. Using the Symbol Editor When a schematic design requires a symbol that does not have a corresponding symbol in a Cadence 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 your design using the schematic editor. If you later change a master symbol, the schematic editor automatically applies the changes to all the existing instances of that symbol, as well as to any new instances you might add. The only differences visually between the schematic editor and the symbol editor are the commands. October 2002 41 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started You use the symbol editor to add the following graphics. ■ The basic shape, such as a polygon, circle, or rectangle ■ Symbol pins [@instanceName] A ■ Lines to connect the shapes to the pins ■ Symbol labels ■ A selection box around your symbol ■ Notes for documentation purposes Y inv ABC Inverter Making Designs Editable If you opened your schematic or symbol in read-only mode, you can change the mode to make it editable. ➤ Choose Design – Make Editable. This command toggles with Design – Make Read Only. Note: Some libraries might have read-only file permissions, which you cannot override with this command. Making Designs Read Only To make a design open in read-only mode, do the following: ➤ Choose Design – Make Read Only. October 2002 42 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started If you have made any changes to the current cellview but have not saved them, the Change Edit Mode dialog box appears and prompts you to either save the changes or discard them. Change Edit Mode 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. 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. October 2002 43 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started The Save As form appears. Save As 2. Change the form fields to a filename of your choice. 3. Click OK. 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 Save Changes dialog box appears and prompts you to save the changes, discard them, or cancel the Close operation. Save Changes October 2002 44 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 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 to the cellview you were editing. Quitting the Schematic Composer To quit the schematic composer, do the following: 1. From the CIW, choose File – Exit. The system prompts you before exiting. exit icds? If you have not saved your edits, the Save Changes form appears. Save Changes 2. Specify one of the save options by clicking on the corresponding button. ❑ Click All to reselect all cellviews and save all your changes. October 2002 45 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started ❑ 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 quit operations, 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 User Guide. Working with Libraries This section describes the following topics: ■ Database Structure on page 47 ■ Design Libraries on page 47 ■ Reference Libraries on page 48 ■ Library Browser on page 48 October 2002 46 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Database Structure Design Entry database Cellviews Libraries sample basic testA Views Cells aoi inverter design1 IOreg IOreg/sheet001 IOreg/sheet002 IOreg/sheet003 IOreg/sheet004 symbol layout verilog schematic The database holds all design data as follows: ■ Libraries hold your design hierarchy. A library has associated files, such as the technology file, catalog file, foreign database files, and an audit trail. The catalog file keeps track of the logical names of design objects and their physical location. ■ Cells are components of a design. If a schematic spans more than one page, as the IO reg does, the page shows up as a cell denoted by the sheet number. The first cell name without the 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. The Cadence Application Infrastructure User Guide provides additional information about the library structure. Design Libraries A design library is a storage area where you create a new design. Design libraries have readwrite 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 a design in it. October 2002 47 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Reference Libraries Reference libraries store Cadence-supplied cells. In the design entry system, several collections of master symbols, such as various pins and gates, are stored in the following reference 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 contents of those libraries that you specify in your cds.lib file. Also, several forms, such as the Open Design form, let you use the Library Browser to initialize library and cellview form fields. Using Menus and the Icon Bar The following section describes using the various schematic editor and symbol editor menus and the icon bar. ■ Using Pull-Down Menus on page 49 ■ Using Pop-Up Menus on page 50 ■ Using Object-Sensitive Menus (OSMs) on page 50 ■ Using the Icon Bar on page 52 October 2002 48 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Using Pull-Down Menus Menu titles Design Window Check and Save Save Save As Hierarchy Create Cellview New ... Open ... Discard Edits ... Command names Edit Add X Letters indicate bindkeys. S ^s Triangles bring up slider commands. Three dots bring up options forms. 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 the window (prompts can appear in the editor window and the CIW) ❑ Displays an options form to assist you in completing the command One of the quickest ways to start a command for an application type, such as the schematic editor or the symbol editor, is to press a bindkey (a letter key or function key on your keyboard that is mapped to a pull-down menu command) for that command. The following example shows some of the Edit pull-down menu commands and their corresponding bindkeys. Note: For all uppercase letters, use the Shift key and not the Caps Lock key. For example, the bindkey for Save is an uppercase S. October 2002 49 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Using Pop-Up Menus Schematic Zoom In Zoom Out By 2 Fit Add Component ... Add Pin... Create Cellview ... Wire (narrow) Return Commands for the schematic editor Symbol Zoom In Zoom Out By 2 Fit Undo Select Filter ... Add Pin ... Return Commands for the symbol editor 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 pop-up menus) contains the most commonly used 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). 6. From the editor window, choose Options – Select Filter and set Schematic Objects to all (default). October 2002 50 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 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. 2. Press and hold the middle mouse button. A menu pops up at the pointer location. Instance Instance Stretch Stretch Copy Copy Delete Delete Properties... Properties ... Descend Edit ... ... Descend Edit Descend Read ... ... Descend Read Edit In Place Edit In Place Create Cellview ... ... Create Cellview Rotate Rotate 3. Slide the pointer to the command you want and release the middle mouse button. October 2002 51 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Using the Icon Bar The icon bar appears on the left side of the design window. This bar allows for quick access to frequently used commands. Check and Save checks and saves the cellview. Property lets you edit features of objects. Save saves the cellview. Zoom In By 2 enlarges the image in the window. Instance lets you create an instance. Wire (narrow) lets you create a narrow wire. Zoom Out By 2 reduces the image in the window. Wire (wide) lets you create a wide or bus wire. Stretch stretches object edges or corners. Wire Name lets you name a wire. Copy duplicates objects in this cellview. Delete removes objects from this cellview. Undo cancels the last edit. Pin lets you create a pin. Command Options lets you display (or hide) an options form of an active command. Repeat lets you repeat a command. To start a command from the icon bar, do the following: 1. Click on an icon. 2. Complete the form that appears (you may need to press the F3 key to bring up the corresponding form). The commands displayed on the icon bar vary depending on which editor you are using and on whether you are in edit or read mode. You can ■ Turn off the icon name. ■ Customize the icon bar. October 2002 52 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Working with Commands The following sections provide information about working with commands. ■ Using Command Prompts on page 54 ■ Canceling a Command on page 54 ■ Undoing a Command on page 54 ■ Redoing a Command on page 55 October 2002 53 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Using Command Prompts After you start a command, the CIW and the editor window tell you what to do next. The prompt line shows messages from the current command. Left mouse button Right mouse button Middlem ouse button The mouse settings line shows the current settings for the mouse buttons. The settings change as you move the mouse in and out of design windows or start and stop commands. For example: mouseSingleSelectPt = enter a point mousePopUp = popup menu schHiCopy = Copy command The window banner at the top of the schematic window or symbol window shows the active command. Canceling a Command To cancel a command, do one of the following: ■ Press the Escape key. ■ Click Cancel on a form. ■ Select another command. Undoing a Command To undo a command, do one of the following: October 2002 54 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started ■ Press the u key. ■ Choose Edit – Undo. 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. Displaying a Form In general, when a menu command is followed by three dots, a form automatically appears when you choose the command. Some commands that are not followed by three dots have an optional form associated with them. To display the associated options form, press the F3 key after you choose the command. Using Form Buttons The buttons at the top of standard forms have the following functions: Completes the command and closes the form Resets default values for options on the form Closes the form without completing the command Completes the command and continues to display the form on the screen Resets default values, if any, for options on the form Closes the form and lets you go on with the command October 2002 Closes the form without completing the command 55 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Note: Some forms do not have a Defaults button. Using Form Fields In addition to the buttons at the top of a form, there are several types of fields and buttons inside a form. Text fields The text cursor shows where you can start typing. You can jump from one text field to another by pressing the Tab key. Scroll back and forth using the left and right arrow keys. system user Press and hold the left mouse button on a cyclic field and a list appears. To select a value, slide the cursor to one item in the list and release the mouse button. Click on a button to choose an action that takes place immediately. Click on a radio button to turn a form setting on (filled in or checked) or off (empty). Click on a radio button to choose one setting from several options. October 2002 56 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Quick Reference Bindkey Charts You may print these charts and place them by your computer as a handy reference. Quick Reference Bindkey Chart — Schematic Editor ^e 9 / i w W l p b L n ADD Instance Wire (narrow) Wire (wide) Wire Name Pin Block Net Expression Solder Dot Note–Text Note–Shape October 2002 z ] [ ↑ X S ^s E e DESIGN Check and Save Save (not needed) Save As Hierarchy–Descend Edit Hierarchy–Descend Read Hierarchy–Edit In Place Hierarchy–Show Scope Hierarchy–Return Hierarchy–Return To Top Create Cellview New Open Discard Edits Make Read Only Make Editable Probe–Add Net Plot Renumber Instances ← → ↑ f F6 WINDOW Zoom In Zoom In By 2 Zoom Out By 2 Pan Down Pan Left Pan Right Pan Up Fit Redraw Utilities Close u U m c M Del r q Q ^f 5 x g ^g CHECK Current Cellview Hierarchy Options Rules Setup Label Attachment Find Marker Delete Marker Delete All Markers Simulation Monitors 57 O o ^f EDIT Undo Redo Stretch Copy Move Delete Rotate Properties–Objects Properties–Cellviews Reset Invisible Labels Component Display Alternate View Select–Filter Search Route Flight OPTIONS Editor Display Select Filter Check Check Rules Setup Tool Filter Save Defaults Load Defaults Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Quick Reference Bindkey Chart — Symbol Editor ^e 9 p l L n ADD Pin Shape Label Selection Box Note ⇒ Text Note ⇒ Shape Net Expression Custom Pin Import Symbol October 2002 WINDOW Zoom In Zoom In By 2 Zoom Out By 2 Pan Down ← Pan Left → Pan Right ↑ Pan Up f Fit F6 Redraw Utilities Close u U m c M Del r q Q CHECK Cross View Check Find Marker Delete Marker Delete All Markers O o ^f z ] [ ↑ X S ^s E e DESIGN Check and Save Save (not needed) Save As Hierarchy–Descend Edit Hierarchy–Descend Read Hierarchy–Edit In Place Hierarchy–Show Scope Hierarchy–Return Hierarchy–Return To Top Create Cellview New Open Discard Edits Make Read Only Make Editable Probe–Add Net Plot x g ^g 58 ^f EDIT Undo Redo Stretch Copy Move Delete Rotate Properties–Objects Properties–Cellviews Reset Invisible Labels Select–Filter Search Origin OPTIONS Editor Display Select Filter Save Defaults Load Defaults Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Quick Reference Bindkey Chart — Mouse Buttons Left Mouse Button – Select and Deselect Click Select Point Double Click Extend Select Shift 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 EF (Enter Function) bindkeys used within an active command. *Direct Edit applies only when over object. Middle Mouse Button – Pop-Up Menus Click Pop-Up Menus Click (EF) Pop-Up Menus Double Click (EF) Toggle Options Form Right Mouse Button – Repeat, Zoom, Options Click Repeat Last Command Drawthrough Zoom In Shift Drawthrough Zoom Out (EF) Command Options *Command-specific bindings October 2002 59 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Quick Reference Bindkey Chart — General Bindkeys Z ^v ← → ↑ Previous View Go To CIW Pan Down Pan Left Pan Right Pan Up F3 F4 Toggle Options Form Toggle Partial Selection r R ^r Rotate (EF) Sideways (EF) Upside Down (EF) Del Esc F1 Help Undo Point (EF), Delete Stop Command Iteration Help Help VERILOG HDL or VHDL Check and Save ^s Save As Search Open Print ^e Return Return To Top Close Window ↑ You can customize bindkey settings. Selecting Objects This section describes the following topics: ■ Dynamic Highlighting on page 61 ■ Using the Mouse to Select Objects on page 61 ■ Extending the Selection Area of a Net on page 62 ■ Selecting One Object on page 63 ■ 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 67 ■ Selecting an Instance and Its Associated Wire Segments on page 67 ■ Deselecting Objects on page 68 October 2002 60 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Dynamic Highlighting By default, the software highlights objects automatically when you move your cursor over the object. 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. Also, when a Cadence® SKILL language enterfunction is executed, the dynamic highlighting of the objects in the schematic window is turned off. Using the Mouse to Select Objects Left Mouse Button To select or deselect a command from a menu To select options on a form To select objects in a cellview To draw objects October 2002 61 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started To move, stretch, and shrink a schematic window To bring a schematic window to the foreground To select a windowing system command Middle Mouse Button To pop up the object-sensitive pop-up menus To pop up options forms (double-click) Right Mouse Button To repeat the last command To use command-specific bindings, such as rotate The following table summarizes how you can use your mouse to manipulate objects in a design window: Action Result Click once on an object Selects the object under the pointer and deselects all other objects. 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 selects its wire segments. Click, hold, and drag Selects objects in the box. These objects become the selected set. Deselects objects outside the box. Shift-click Adds an object to the selected set. 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 extend the 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 October 2002 62 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started ■ 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 mouse button. Dynamic highlighting 2. Click the mouse button. The selected object is highlighted. Highlighted object 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 to the 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 to add to the selected set October 2002 63 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Example 1 ■ Hold down the Shift key and click on each object you want to add to the set. Click on an object. The object becomes highlighted. ✘ Shift–click on a second object. ✘ The object also becomes highlighted. Both objects are now highlighted. Example 2 ■ Hold down the left mouse button while you drag a box completely around all the objects you want to select. Click and hold while dragging. ✘ Release. All the objects are now highlighted October 2002 64 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Example 3 ■ Click on the first object and then hold down the Shift key and the left mouse button and drag a box completely around the objects you want to add to a selected set. Shift, click, and drawthrough. Release. The first and subsequent objects are now highlighted Selecting Parts of Objects Selecting a part of an object is important when you want to stretch only that part. Edge of an object Vertex of an object Wire or line segment endpoint You can select parts of schematic wires, note shapes, symbol lines, and symbol devices. Selecting Wires Wire 4 Wire 2 Wire 3 Wire 1 October 2002 65 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 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. Selecting a Wire Name and Its Associated Wire Segments Click on wire name. WireName Double-click on the highlighted wire name to select its corresponding wire. 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. October 2002 66 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Selecting a Pin and Its Associated Wire Segments First click selects pin. First double-click adds a wire segment to the selection. Second double-click adds the entire connected network to the selection. 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. This extends the selection area to all physically connected wire segments. Selecting an Instance and Its Associated Wire Segments First click selects instance. First double-click selects all wire segments up to the first branch. Second double-click selects all wire segments. To select an instance and its associated wire segments, do the following: 1. Click on an instance to select it. October 2002 67 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 2. Double-click on the selected instance. This adds all single wire segments that are connected to the instance up to the first branch to the selection. 3. Double-click again on the instance. This extends the selection area to all physically connected wire segments. 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 design window: Action Result Click once in an open area Deselects all objects if not within a command. If in a modal (repeating) command, use Control-d. Control-click Deselects the object under the pointer. To deselect all objects, click in an open area of your design. ✘ Click. Before After To deselect one object and select another, click on the second object. Click. ✘ Before October 2002 After 68 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started To deselect only one object from a selected set, hold down the Control key and click on the object you want to deselect. Hold Control and click. ✘ ✘ Before After To deselect more than one object from the selected set, hold down both the Control key and the left mouse button while dragging a box around the objects you want to deselect. Hold Control, click, and drawthrough. Release. Working with Windows A variety of window commands is available to help you work quickly. ■ Zooming on page 70 ■ Panning on page 72 ■ Redrawing a Window on page 73 ■ Viewing the Same Cell in Two Windows on page 73 ■ Saving View Area Settings in Memory on page 73 ■ Restoring View Area Settings on page 74 October 2002 69 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Zooming Zooming is helpful as you add and edit objects. For example, you can view objects in two windows 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. Before Zoom In After Zoom In Selecting Zoom In area 2nd click ✘ A B C ✘ I2 Y nand3 1st click Zooming In Automatically To zoom in automatically by 2 (decrease the display area by a factor of 2), do the following: ➤ Choose Window – Zoom – Zoom In By 2. I2 A B C Before Zoom In By 2 October 2002 Y nand3 After Zoom In By 2 70 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 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. A B C I2 Y nand3 Before Zoom Out By 2 After 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 the following: ➤ Choose Window – Fit. I2 A B Before Fit October 2002 Y nand After Fit 71 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Panning Panning lets you reposition your design within the editor window, which is helpful when you add 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, (the reference point). A B C I2 A B C Y nand3 Reference point I n Center of screen Before Pan After Pan 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: October 2002 72 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting 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 pan settings simultaneously. This feature lets you work in one area of the cellview and still have a reference 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 window affects 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. Saving View Area Settings in Memory You can temporarily store your current viewing area. This procedure is useful when you want to 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. October 2002 73 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started The Save Window form appears. Save Window saveView2 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. The Restore View form appears, listing the names you assigned with the Window – Utilities – Save View command. Restore View 2. Click once on the name. 3. Click OK. The previously saved viewing area appears. October 2002 74 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started Using the Library Browser You can use the Library Browser to view and select the contents of the libraries you specify in your cds.lib file. As an alternative, you can use the Component Browser. Accessing and Using the Library Browser You can use the Library Browser ■ To view the contents of the libraries specified in your cds.lib file ■ To initialize the Library, Cell, and View fields on certain forms (these forms have a Browse button) You can access the Library Browser by clicking on the Browse button when it appears on a form, such as the Open File form or the Add Instance form. The browser type option must be set to Library Browser (the default). Changing the Browser Type Option To set the browser type option, do the following: 1. Choose Options – Editor. The Editor Options form appears. October 2002 75 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started 2. In the Add Instance Browser Type option, click library or component. 3. Click OK. Using the Library Browser to Initialize Form Fields To automatically fill in the fields of a form after you click on the Browse button, 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 toggle button. 3. Click on a cell name in the Cell list box. 4. Click on a view name in the View list box. October 2002 76 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started As you click on the names in the Library Browser, the corresponding form fields are initialized 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. October 2002 77 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting 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 you specify 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 – Instance command, and only after you change the default setting on the Editor Options form. By default, the browser 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: October 2002 78 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting 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. October 2002 79 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started The Component Browser form appears. The form on the left shows the top-level categories for the sample library. The form on the right 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 the Add Instance form first when you choose Add – Instance, do the following: 1. From the Component Browser, choose Commands – Preferences. October 2002 80 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting 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. October 2002 81 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting 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 list of 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 all library components. October 2002 82 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting 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 first character in the set is ^, it matches a character not in the set. Specify an inclusive 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 in the pattern, is treated as an ordinary character. * When used alone, lists all components. When used as the last character in a pattern, matches zero or more occurrences of a pattern. For example, to list all components beginning with the letter c, use the filter c*. + When used as the last character in a pattern, matches one or more occurrences 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 regular expression. \<...\> Restricts the pattern matching to the beginning and/or end of a word. rs A composite regular expression. Matches the longest match of r followed by a match for s. ^ At the beginning of a filter string, matches the beginning of a pattern. Used elsewhere in the pattern, is treated as an ordinary character. October 2002 83 Product Version 5.0 Virtuoso Schematic Composer User Guide Getting Started October 2002 84 Product Version 5.0 Virtuoso Schematic Composer User Guide 2 Understanding Connectivity and Naming Conventions Connectivity is the way in which components and pins are linked together in a nonambiguous manner. The connectivity in a schematic is represented by wires linking the component pins to other component pins. Connectivity can also be represented by pins of the common name (connection by name). The connectivity of a cellview is created by either the Design – Check and Save command or the Check – 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 105 ■ Pin Connections and Pin Naming Conventions on page 107 ■ Patchcord Connections and Patchcord Naming Conventions on page 111 ■ Inherited Connections on page 114 ■ Summary of Naming Conventions on page 122 October 2002 85 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions 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 implement physical connections. Terminals and signals implement logical connections. Pins and terminals indicate which signals in a cellview are imported from or exported to other levels of a design hierarchy. A complete schematic design provides input data for a variety of design tools, such as simulation and layout. It is essential, therefore, that you establish connectivity in your schematic designs. The following diagram shows connectivity and naming conventions. H A B reset _ Q RESET C 3 clk INPUT wire1 CLK I out<3:0> J out<2> BUFF K a0,a1,a2,a3 DATA Q ADDER A<0:3> D L E OUTPUT [@ground:%:gnd!] F gnd! M G 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 October 2002 86 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Key Connectivity / Name Key Connectivity / Name E Wire-to-wire connection L Wire-to-iterated instance connection F Pin-to-pin connection M Net expression label G Global net name Instance Naming Conventions You can name instances using any one of the following naming conventions: ■ System-Generated Names on page 88 ■ User-Defined Names on page 88 ■ Iterated Names on page 89 October 2002 87 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions System-Generated Names If you do not name the instance explicitly, the system assigns default instance names by using I plus a number. The editor increases incrementally the instance number starting from 0. I0 I1 The advantage of system-generated instance names is that you never have to type a name on 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 your design. 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 name an instance when you create it using the Add Instance form. If you do not name the instance explicitly, the system generates a name for you. October 2002 88 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions On the Add Instance form, separate each instance name by a space; for example, ABC BCD. ABC BCD Iterated Names Use the iterative naming method to name many instances created from only one visual instance in your design. This method is particularly useful in bus-type or dataflow architectures that have identical structures 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 of the colon indicate the numbered range (0 through 3), which names instances A<0>, A<1>, A<2>, and A<3>. A B C A<0:3> Y nand3 Iterated instances save space. The instances in the following two figures represent identical circuitry, but the second figure is easier and faster to create. October 2002 89 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions The first schematic shows four IOlatch instances in a design: I0, I1, I2, I3. Compare this with the next schematic. I3 October 2002 I4 I5 90 I6 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions This schematic shows one IOlatch iterated four times: I<0:3>. Compare this with the previous schematic. I<0:3> 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 93 ■ Wire-by-Name Connections on page 95 ■ Wire-to-Iterated Instance Connections on page 95 ■ Global Net Name Connections on page 98 October 2002 91 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Wire-to-Wire Connections If you draw two intersecting manhattan wires in a T configuration, the editor automatically connects the wires. Wire 1 Wire 2 If you draw two manhattan wires that cross, you must explicitly add a solder dot to make the connection at the crossover. Wire 2 Wire 2 Wire 1 Wire 1 Before You must add a solder dot if you want the wires to connect. After If you draw two manhattan wires in an L configuration, or if you draw an angled wire and a manhattan wire that intersect at their end points, the wires are connected, but the editor does not add a solder dot. Wire 1 Wire 2 Wire 1 Wire 2 If you connect a narrow wire to a wide wire—for example, as in a bus—you must intersect the centerline of the wide wire. Unconnected wire at the edge of the wire Wide wire Connected wire at the center of the wire October 2002 92 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions If you want to connect to an angled wire, you must connect to one of its endpoints. The editor automatically adds a solder dot after you add the last wire in each of these examples. Wire 3 Wire 1 Wire 1 Wire 2 Wire 2 Note: Make connections for all angled wide wires, narrow wires, and flight lines at their endpoints. 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. ■ Pin Pin Wire Angled wire Draw the wire so it ends on the border or perimeter of a pin. Pin Pin Wire Wire ■ Draw the wire so it passes through a pin. Pin Wire October 2002 93 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions ■ You cannot make a wire-to-pin connection by drawing an angled wire that passes through a pin. Floating pin Angled wire 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 appears over the pin to show you the nearest object with which you can establish electrical connectivity. ■ You can zoom in on your design to see if you are making an accurate connection. October 2002 94 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding 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 group of wires exist that carry the signal. Instance pin connections net_name Instance pin connections net_name net_name To connect instance pins, assign the same name to each wire. The wires do not have to be physically connected. If you use a local net name, you can connect by name on the same page. If you use a global net name, you can connect by name across all levels of the hierarchy. 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 Before the editor lets you connect a wire to an iterated instance, it checks to see that the net width equals one of the following: ■ Connection Width on page 96 October 2002 95 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions ■ Pin Width on page 96 ■ 1 on page 97 If the connection cannot be made, the editor generates an error message when you check your design. Note: The net width has no limit. Connection Width If the connection width is equal to the net width, the editor allows the connection without modifying the design. To determine whether net width equals connection width, the editor compares the net width to a computed connection width. The connection width is computed as follows: instanceIterationWidth * instancePinWidth 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. 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> Pin Width If the net width is equal to the pin width, the editor adds a net prefix repeat operator to the net width before it allows the connection. If the net width equals the pin width but does not equal October 2002 96 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions the connection width, the editor computes a net prefix repeat operator that equals the instance iterations. 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, and instance I<0:2> is 3 bits wide. The computed connection width is 9. 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 the connection. <*3>(N<0:2>) P<0:2> N<0> is N<1> is N<2> is N<0> is . . . connected connected connected connected to to to to P<0> P<1> P<2> P<0> of of of of I<0> I<0> I<0> I<1> I<0:2> 1 If the net width is equal to 1, the editor adds a net prefix repeat operator to the net width before it allows the connection. If the connection width is 1, the editor computes a net prefix repeat operator that equals the computed connection width. N P<0:2> I<0:2> October 2002 The net width equals 1, the pin width equals 3, and the instance width equals 3. The computed width is 9. 97 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions The net width does not equal either the connection width (9) or the pin width (3), but it does equal 1. <*9>N P<0:2> The editor generates a net prefix repeat operator, <*9>, for the net in order to allow the connection. I<0:2> Global Net Name Connections Global nets make connections across the design hierarchy without using pins and wires to explicitly pass the signal throughout the hierarchy. Global nets are used primarily for power and ground connections. To create a global net, add an exclamation mark to the net name. gnd! To make a bus global, add an exclamation mark to the base name of the bus. A!<0:3> Another way to make a net global is to connect it to a pin or instance pin that is global. The net inherits the name of the global pin or instance pin. The basic library has various global symbols you can use to indicate global nets. gnd! vdd! 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 October 2002 98 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding 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 100 ■ 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 October 2002 99 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions 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 that contains the signals. You can use one of the many different configurations of wire-to-wire or pin-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 on whether you tap from a bus or from a bundle. You tap bits of a bus or bundle when you connect multiple-bit wires to a bus or bundle and name the wires accordingly. For example, in the following illustration, all multiple-bit wires use signal S, signal R, or bus Q. Bundle S,R,Q<0:15> Collinear taps contain a common wire. Q<5:3> S,R Q<0:7> S Q<0> A bundle is a wire or pin name consisting of simple names separated by a comma; for example, 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 the same base name), you must specify the name of the signals in the wire name to indicate numbered bits. In the following example, bus Q<0:7> taps eight bits from bus Q<0:15>, which is part of a bundle. In this case, the tap name contains a base name with a vector expression. Wire S,R October 2002 100 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions taps two signals with different names from the bundle. In this case, the wire name is a list of names separated by commas. S,R,Q<0:15> Q<0:7> S,R Q<0> The following example shows the same multiple bits of a bundle with a pin and a collinear intersection or tap. Bundle S,R,Q<0:15> Collinear intersection or tap Q<5:3> S,R Q<0:7> Five subsets of the bundle S Q<0> Tapping Multiple Bits of a Bus A wire named with a vector expression can intersect another wire named with a vector expression, 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 of instances connected to tap wires inherit the name of the tapped signal. This process is called October 2002 101 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions “cascading” bus taps. If a tap wire carries more than one bit from the bus, the editor can tap the wire. For example, to tap signal DATA<0> from bus DATA<0:3>, specify <0> or 0. DATA<0:3> <0> This is DATA<0>. <1> This is DATA<1>. You can create a geometric configuration when a tap wire carries more than one bit from the bus. 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. Wire named using a vector expression DATA<0:3> 2-bit taps carry two signals, <2> and <3> Wire named using a 2-bit tap <0:1> <2:3> Wire named with tap signal DATA<0> Wire named with tap signal DATA<2> <0> <2> Wire named with tap signal DATA<3> Wire named with tap signal DATA<1> <1> <3> As shown in the above example, if you intersect a bus wire named DATA<0:7> with a tap wire named <0:3>, you can intersect the tap wire with a second tap wire named <0:1>. The name of the first tap wire becomes DATA<0:3>. The name of the second tap wire becomes DATA<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 is a tap of a larger bus. Taps can cascade down any number of steps. October 2002 102 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Tapping Wire Intersections by Name The following illustration summarizes how to specify bus tap intersections. <1> The <1> wire represents a T-tap intersection. Wire (wide) is the bus wire for all intersections. Wire (narrow) taps the single bit called DATA<3> from the bus. DATA<0:3> <3> <0> Collinear intersections occur where wide and narrow 419wires meet. <2> The <0> wire represents an L-tap intersection and taps the single bit called DATA<0> from the bus. The <2> wire represents a Ttap intersection. Any other wires or pins of instances connected to tap wires inherit the name of the tapped signal. This process is called “cascading” bus taps. Any narrow or wide wire connected to the wire named <3> is connected to the DATA<3> bit of the bus. Any wire connected to the wire named <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 tap wire can exceed the total number of bits in the bus. To make this happen, use one of the repeat operators in the tap expression. For example, you can intersect a 4-bit bus wire named A<0:3> with an 8-bit tap wire named <0:1*2,(0:1)*2>. The resulting name of the tap wire is 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 orders bits in a tap as they appear in the tap name. October 2002 103 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions For example, you can tap the four bits of a bus named DATA<0:3> in order from DATA<0> to DATA<3>. However, a tap wire named DATA<3:0> that intersects with bus DATA<0:3> taps the bits in reverse order, as shown in the following figure. DATA<0:3> 0:3 This is DATA<0:3>. 3:0 This is DATA<3:0>. 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 the named nets that intersect with the unnamed net. Named nets are those nets whose names 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 unique members. For example, a net named A,B,C has three unique members, but a net named A,A has only one unique member. ■ At all wire-wire and wire-pin intersections, the editor verifies that all names present at the intersection 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 segments are intersecting and unnamed ■ This unnamed net is then named A,B,C because it takes the names of all the intersecting named nets. The name A,B,C is the one with the most unique member names; that is, three. October 2002 104 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions ■ The editor then verifies that all intersecting named nets (B,C,C,B and A,A,B,B) are taps of A,B,C. A,B,C A,A,B,B 1 2 3 C,B B,C 4 5 6 7 Multiple-Bit Wire Naming Conventions You can connect multiple-bit wires in your design using any one of the following naming conventions: ■ Using Vector Expressions in Multiple-Bit Wire Names on page 105 ■ Using Vector Expressions in Multiple Signals on page 106 ■ Evaluating Vector Expressions in Multiple-Bit Wire Names on page 106 ■ Using Prefix Repeat Operators in Multiple-Bit Wire Names on page 106 ■ Using Suffix Repeat Operators in Multiple-Bit Wire Names on page 107 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 improve readability 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 base name. 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 individual suffixes (<0>, <1>, <2>, and <3>), assign the following names: DATA<0>, DATA<1>, DATA<2>, and DATA<3>. October 2002 105 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Using Vector Expressions in Multiple Signals To name a wire that contains multiple signals with the same base name, specify the base name followed by a vector expression. The vector expression can be ■ A list of the individual bit numbers separated by commas and enclosed with angle brackets. 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 increment value. 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 editor uses 1. The ordering of the bits in a bus is important when you are connecting the bus to a pin that has 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> and DATA<2>. ■ The vector expression DATA<1:3:2> names a 2-bit bus containing DATA<1> and DATA<3>. ■ The vector expressions DATA<0:3> and DATA<0:3:1> are equivalent names that generate 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 in descending 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 improve readability in your designs by shortening multiple-bit wire names. October 2002 106 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions You can repeat a single signal name, a group of signal names, or a vector term any number of times in the wire name by placing a prefix repeat operator <*n> in front of the name, where n 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 following equivalent wire names both name the same four-bit wire: <*2>A,B,C A,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),C A,B,A,B,C ■ Use combinations of the prefix repeat operator <*n> and parentheses to nest parenthetical expressions to any required depth. The editor expands nested expressions 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 improve readability 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 integer that 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 before expanding the vector term. For example, the following three names all describe the same six-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 bit names. In this case, the vector term is expanded before the bits are repeated. The following 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 for reserved characters. October 2002 107 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions You can name pins in a design ■ To declare which nets in the schematic are connected to a higher level of the design hierarchy ■ 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 109 ■ Offsheet Pin Names on page 109 ■ Bus Pin Names on page 109 ■ Pin-to-Pin Connections on page 110 ■ Tapping Pins on page 110 October 2002 108 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Hierarchical Pin Names If you are designing a multisheet schematic, your sheets contain hierarchical pins and offsheet pins. Hierarchical pins are pins that also appear on the symbol of the design. The hierarchical pins from each sheet become the hierarchical pins of the multisheet. IO<0:7> A<0:7> OUT2<0:7> Hierarchical pin Offsheet pin Offsheet Pin Names Offsheet pins connect signals across the sheets of a multisheet schematic only. Use the same name 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 more than one hierarchical pin with the same name in a multisheet design. IO<0:7> A<0:7> OUT2<0:7> Hierarchical pin Offsheet pin Bus Pin Names Use a base name with a vector expression. For example, IN<16:10:2> expands to these four pins: IN<16>, IN<14>, IN<12>, and IN<10>. October 2002 109 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Pin-to-Pin Connections A direct connection between two instance pins without an intermediate wire is called a pin-topin connection. There are four ways to make pin-to-pin connections: Pin 1 Pins overlap partially. Pin 2 Pins overlap entirely. Pin 1 Pin 2 Pin is contained within a pin. Pin 1 Pin 2 Pins touch each other. Pin 1 Pin 2 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 name to 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 vector expression to name a wire that intersects with the pin. October 2002 110 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions The following figure shows how to tap pins in a design. Symbol pins I1<0:3> <7:4> A Y I4<0:3> INPUT <7:0> A inv Y OUTPUT <0:3> B nand2 <3:0> Hierarchical pin Wire named OUTPUT<0:3> Hierarchical pin In the example above, the wire named <7:4> is a tap of the schematic pin named INPUT<7:0> and connects a four-bit bus called INPUT<7:4> to the input of the inverter (an iterated instance). The wire named <3:0> is also a tap of the INPUT<7:0> pin and connects a four-bit bus called 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 same name as the pin. For example, the wire that connects the output of the NAND2 gate to the OUTPUT<0:3> pin is called OUTPUT<0:3>. Patchcord Connections and Patchcord Naming Conventions The schPatchExpr connection expression (value) for patchcords has the following form: srcVectorExpression = dstVectorExpression 0=0 A October 2002 B 111 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions where srcVectorExpression is the source and dstVectorExpression is the destination. Naming Single and Multiple Bits Using Patchcords Naming conventions for patchcords using vector expressions have exactly the same syntax as the vector expressions for wires with multiple bits. The number of bits in srcVectorExpression must equal the number of bits in dstVectorExpression. In the following example, nets A and B are aliased together. Logically, each object that A is connected to is also connected to B, and the patchcord connects the first bit named in srcVectorExpression to the first bit named in dstVectorExpression. 0=0 A B A B In the following example, signal A is aliased to CNTR<2>, signal B is aliased to CNTR<1>, and signal C is aliased to CNTR<0>. 0:2 = 0:2 CNTR<2:0> A,B,C A CNTR<2> B CNTR<1> C CNTR<0> October 2002 112 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding 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 aliased to B<1>, and A<3> is aliased to B<0>. 0:3 = 3:0 B<0:3> A<0:3> B<0> B<1> A<0> A<1> A<2> A<3> B<2> B<3> Naming Multiple Nets Using Patchcords The following figure shows how to use patchcords to merge two buses. 0:7 = 0:7 src dst DATA<7:0> ( SYSBUS<15:8> ) SYSBUS<15:0> 8:15 = 0:7 src dst ADDR<7:0> ( SYSBUS<7:0> ) The upper patchcord connects the eight-bit bus SYSBUS<15:8> to the eight-bit bus DATA<7:0>. The lower patchcord connects the eight-bit bus SYSBUS<7:0> to the eight-bit bus 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 pin of the patchcord. Therefore, according to the connection expression, bits 8 through 15 of bus SYSBUS<15:0> (corresponding to the bits named SYSBUS<7:0>) are connected to bit 0 through 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 pin in the order they are attached to the src pin, omit the src vector expression and the equal sign ( = ) from the connection expression. October 2002 113 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions For example, to connect two single-bit nets called NET1 and NET2 with a patchcord, a connection expression of 0 is sufficient. Note: Only one of the nets can be connected to a schematic pin (I/O pin). Also, in the schematic editor, you cannot connect an input pin to an output pin even though you use a patchcord in the middle. Inherited Connections If you have a need to change the value of a global signal in your design, you can do so without recreating a complete hierarchical branch. You can build one library containing components potentially requiring different power and ground connections in different parts of a design. This is referred to as an inherited connection. Inherited connections let you selectively override global signals in designs originated in the Virtuoso® Schematic Composer. To have this override information available to other Cadence® tools across the design flow, the override information is communicated to the software by means of net expressions and a class of properties called netSet properties. Inherited connections is an extension to the connectivity model that allows you to create special 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 many tools throughout the IC design flow. To learn about using inherited connections and net expressions with various Cadence tools in the 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 117 ■ The Syntax of an Inherited Net Expression on page 118 ■ How Net Expressions Evaluate on page 118 ■ Sample Net Expression Library on page 121 ■ Inherited Connections Restrictions on page 121 October 2002 114 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions ■ Analyzing Net Expression Property Names and Evaluated Names on page 122 October 2002 115 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding 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 explanation: High-Level Schematic vdd! 3V! analogVdd power=3V! power=analogVdd I1 I2 I3 cellA cellB cellB Wire segments and wire names Property names Instances I4 I5 cellA cellB Lower-Level Schematic Inverter Symbol Inverter Schematic p vdd_inherit [@instanceName] A Y A a vdd_inherit -> [@power:%:vdd!] Y inv gnd_inherit gnd_inherit -> [@gnd:%:gnd!] The high-level schematic shows five instances: I1, I2, I3, I4, and I5. Each instance represents a portion of the design, each of which eventually references the inverter shown in the lower-level schematic. October 2002 116 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding 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 pmos transistors 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 are to use 3V! as the power supply, and the inverters in instance I3 of cellC are to use analogVdd. To selectively override the default global signal vdd!, create a netSet property on instance I2 named power with the value 3V! and a netSet property on instance I3 named power with the value analogVdd. Notice that the inverter pmos transistors below instances I1, I4, and I5 are still connected to vdd!. In other words, you place a netSet property on an instance representing the branch of hierarchy where it is to be applied. You can create the netSet property on any instances at any level above the cellviews with net expressions. For example, if a large hierarchical design has seven levels of hierarchy, you can place a netSet property power = 3V! on an I2 instance in the top-level schematic. This affects all the logic below instance I2 all the way to the bottom in all cellviews that contain a net expression, such as [@power:%:vdd!]. All cellviews that contain this net expression would use 3V! instead of vdd! for that branch of the 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. Defining Inherited Connections In the schematic composer, you define an inherited connection by adding a net expression label to either a wire or a pin. A net expression defines the default global signal name for the connection and the name of a property that can be used to override that default global signal name. October 2002 117 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions The Syntax of an Inherited Net Expression The syntax of an inherited net expression is a subset of that of an NLP expression. The four components are the search scope, search property name, format instruction, and default global signal name. Example Net Expression [@power:%:vdd!]* Search scope Default global signal name Search property name Format instruction Example Net Expression Labels [@gnd:%:gnd!]* [@vdd:%:vdd!]* Schematic wire with a net expression label Ground supply symbol containing a symbol pin with a net expression label The asterisk ( * ) after a global name shows that this is not a regular wire name but a name that is an overridable net expression. The default global signal name specifies what the wire or pin is connected to by default. Note: The display of the net expression label has several options. How Net Expressions Evaluate The search scope is limited to the @ search, which requires an instance lineage. The search travels up the instance hierarchy looking for an instance property of the given search property name until either an override is found or the instance lineage is exhausted. The default signal name must be global in nature and serves two important purposes: it names the net locally October 2002 118 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions and is the inherited signal when no override is found during the search. The format instruction is retained here in compliance with the syntax of an NLP expression. The lookup property is a netSet type and is used only for an inherited connection. The netSet property value can be one of the two possibilities: an override signal name or an overriding, redirecting net expression. The former is the inherited signal name while the latter case redirects the search to a new property name and may introduce a new default signal name to replace the one in the original net expression in the hierarchy below it. The search for the new lookup property starts with the current instance where the netSet property with the override inherited net expression is found. Net expressions are evaluated for each hierarchical path. The system uses the property name specified in the net expression label to search upward from the cellview containing the net expression label (one instance at a time) to the top of the design. The first instance that is found that has a matching property name terminates the search. If the property is of type netSet and is a legal net name, its value is used as the connecting net rather than the default net name specified in the expression. Start at cellview containing net expression Is there a cellview above? No Use default net name specified in the net expression Yes No Is there a netSet property on the instance of this path? Yes Use value of the netSet property The netSet property can be placed on any instance and it will affect all net expression labels with matching property names at all levels below that instance unless overridden by another netSet property on a lower-level instance. You can create an inherited connection in a schematic by placing an instance of a symbol where one of the symbol pins has a net expression label. When you run the checker program October 2002 119 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions on the schematic, the net expression label from the symbol pin is propagated onto the net within the schematic. Inverter Schematic p gnd_inherit Symbol vdd_inherit [@gnd:%:gnd!] A Y a gnd_inherit Inverter Schematic [@vdd:%vdd!] p A Net expression labels can also be placed on wires to achieve the same effect. a Y [@gnd:%:gnd!] The basic library contains sample parameterized power and ground supply symbols called vcc_inherit, vdd_inherit, gnd_inherit, and vss_inherit. Inherited Supply Symbol Net Expression Label vcc_inherit [@vcc:%:vcc!] vdd_inherit [@vdd:%:vdd!] gnd_inherit [@gnd:%:gnd!] vss_inherit [@vss:%:vss!] October 2002 120 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions 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 The following design shows the top-level schematic cellview. inhConnFlow / top_easy / schematic 3.3V! a_gnd! Inherited Connections Restrictions You should be aware of some restrictions when using net expression labels and netSet properties: ■ The default name in a net expression label must denote a scalar, global name. For example, 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. Note: The signal name used in a netSet property must be the name of an existing net in that cellview. ■ Within one cellview, you cannot use two different net expression labels for the same default global signal. Therefore, using both [@power:%:vdd!] and [@vdd:%:vdd!] in the same cellview is not allowed. October 2002 121 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Analyzing Net Expression Property Names and Evaluated Names A designer who uses inherited connections during the many phases of the design process can take advantage of the analyzing commands. You can find the net expression property names that are available for setting on the selected instances as well as investigate the evaluated names produced by all net expressions below the selected instances. The analysis commands might be useful for the following tasks: ■ Block authoring ■ Module instantiation ■ Chip assembly ■ Debugging 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 125 ■ Expanded Names for Instances on page 126 October 2002 122 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Table 2-1 Reserved Characters for Wire, Net, and Pin Names Character Symbol comma , angle brackets < > parentheses ( ) Description Example Separates the elements of a wire name A,B<0:1>,C Enclose expressions for multiple-bit wires; used for iterators (prefix repeat operator) and bus taps A<0:3>, <*2>B,<12> Enclose related multiple-bit wires within A<(0:2)*2> an expression asterisk * Is used in the graphic screen to highlight net expression labels is not part of the net expression A<(0:2)*2> colon : Separates a range of numbers within an 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 numbers expressed by a starting and ending number 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 * October 2002 123 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Table 2-4 Illegal Characters in Instance Names colon : forward slash / Table 2-5 Syntax Conventions for Wire, Net, and Pin Names Name Description baseName A string of printable ASCII characters that does not include reserved characters. NET, R, C nameTerm A baseName optionally followed by a vector expression enclosed in angle brackets. 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 repeat operator, 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 } vectTerm A single number or a range of numbers. The range can be expressed by a starting, ending, and increment number, separated by colons. A vectTerm can also be a vector expression enclosed in parentheses. In this case, the innermost term is expanded first, and then the repeat operator 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 vectTerm is called a suffix repeat operator and indicates n repetitions of each bit of the 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 } October 2002 124 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions Table 2-6 Syntax Conventions for Instances Name Description baseName A string of printable ASCII characters that does not include reserved characters. I0, R, C instName Scalar and iterated instance names must be unique. A scalar name cannot imply more than one member. An iterated instance name must imply the same number of members as iterations. instName ::= baseName [ < n [ : n ] > ] where n is a positive integer less than 16,375. 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> Note: You can use up to 1,024 characters for a name, but the editor ignores any blank or tab characters found before or after a name. October 2002 125 Product Version 5.0 Virtuoso Schematic Composer User Guide Understanding Connectivity and Naming Conventions To determine the nth member name, use a zero-based counting method to find the nth element 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> ■ Member two in this case is called b<2> 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> Note: You can use up to 1,024 characters for a name, but the editor ignores any blank or tab characters found before or after a name. October 2002 126 Product Version 5.0 Virtuoso Schematic Composer User Guide 3 Creating Schematics This chapter provides information about creating a schematic. ■ Getting Started with Schematics on page 128 ■ Adding Instances on page 128 ■ Adding Blocks on page 141 ■ Adding Pins on page 151 ■ Adding Wires on page 154 ■ Adding Wire Names on page 159 ■ Adding Net Expression Labels to Create an Inherited Connection on page 167 ■ Adding netSet Properties to Create an Inherited Connection on page 172 ■ Analyzing Net Expression Property Names and Evaluated Names on page 177 ■ Adding Solder Dots on page 184 ■ Adding Notes on page 187 ■ Adding Patchcords on page 191 ■ Adding Probes on page 194 October 2002 127 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Getting Started with Schematics One of the best ways to begin a schematic in an empty window is by adding objects in a certain order, as indicated below: 1. Add instances from your library, such as this nand3 gate. 2. Add blocks to hold the place of an undetermined instance, such as this GATE_REP. N1 3. Add schematic pins, such as this input pin. 4. Add wires and wire names to connect schematic pins to instances. GATE_REP pin1 N7 N2 N5 N3 N6 N4 wireName 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 October 2002 128 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics ■ Adding Instances Using an Iterative Expression on page 136 ■ Changing the Default Instance Name Prefix on page 138 ■ Editing Instance Masters on page 138 ■ 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 139 October 2002 129 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics What Is an Instance? An instance is a database object that represents a master symbol cellview. When you add an instance to your design, you actually create a reference of the master symbol from a reference library. Instance name A B C I4 nand2 nand3 nand4 nand5 nand6 nor2 Y nand3 Cell names for other instance symbol masters stored in the Cadence sample library You can have several instances of the same master symbol cellview in a design, but the instance name must be different. For example, the nand3 gate is a master symbol stored in the Cadence® sample library. Each time you add a nand3 gate to your design, you add an instance 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) October 2002 130 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics ■ By using iterative expressions One by one. Use this method to place instances singly. A B C A<1:8> Y nand3 A B C I1 Y Using an iterative expression. To save space in your design window when you need to add several instances of the same type, you can express multiple unique names with an iterative expression. nand3 A B C I2 Y nand3 By rows and columns (an array). Use this method to place instances in an array. A B C I1 A B C I3 A B C I5 Y nand3 Y nand3 Y nand3 A B C I2 A B C I4 A B C I6 Y nand3 Y nand3 Y nand3 Adding Instances One by One The Add – Instance command lets you place multiple copies of a single instance in a schematic, based on a single lib/cell/view name. To add instances singly in your design window, do the following: 1. Choose Add – Instance. October 2002 131 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 to add. You can designate the Browse button to open either the Component Browser or the Library Browser. If the cell you want does not exist, you need to create it using the symbol editor. If you do not add instance names in the Names field, the system generates default instance 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 to prompt you to add another instance. To stop generating instances, press the Esc key, press Control-c, or choose another command. October 2002 132 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 to add. If you do not add instance names in the Names field, the system generates default instance 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. October 2002 133 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 5. Place the first instance by clicking the mouse. First click A B C I1 Y nand3 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. A B C I1 A B C I4 A B C I7 A B C I10 Y nand3 Y nand3 Y nand3 Y nand3 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 second column. October 2002 134 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The rest of the instances follow the cursor. First instance of the second column A B C I1 A B C I4 A B C I7 A B C A B C I2 A B C I5 A B C I8 Y nand3 I10 Y nand3 A B C Y nand3 Y nand3 A B C I3 A B C I6 A B C I9 Y nand3 I11 Y nand3 A B C I12 Y nand3 Y nand3 Y nand3 Y nand3 Y nand3 Y nand3 The Add – Instance is modal and continues to prompt you to add another instance. To stop generating instances, press the Esc key, press Control-c, or choose another command. October 2002 135 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding Instances Using an Iterative Expression Instance iteration is a compact way of displaying repeated instances of a symbol in your schematic. It is particularly useful in bus-type or data-flow architectures that have identical structures to handle each bit on the bus. To save space in your design window when you need to add several instances of the same type, 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. A B C A<0:3> Y nand3 Using iterated instances not only saves space in your design, it makes your design easier to read. 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. October 2002 136 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The following schematic shows four instances: I0, I1, I2, and I3. Compare this schematic with the following schematic showing iterated instances: I0 I1 I2 I3 The following schematic shows one latch iterated four times: I<0:3>. Compare this schematic with the previous schematic showing four individual instances. I<0:3> October 2002 137 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Changing the Default Instance Name Prefix Each instance requires a unique name. If you do not specify instance names on the Add Instance form, the schematic editor generates unique names automatically. The prefix is a symbol cellview property, not an instance object property. To change the default instance name prefix from I to a prefix that you designate, do the following: 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 instNamePrefix property. You can use more than one character. 5. Click OK. When you place new instances of this same symbol in the same cellview, 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 Objects Properties Form appears. To edit a single instance, you edit object properties, not cellview properties. The system changes all cellviews containing instances of this master. October 2002 138 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Specifying the View to Use While Placing the Instance To change instance views (for example, from a nand2 symbol view to a nand2 symbolNeg view) 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 to toggle through the symbol views. The following diagram shows an instance changing views from nand2 symbol to nand2 symbolNeg. 3. Place the instance. Changing the View after an Instance Is Already Placed To change instance views (for example, from a nand2 symbol view to a nand2 symbolNeg view) after you have added an instance, do the following: 1. Select the instance you want to change. 2. Choose Edit – Alternate View. Renumbering Instances If you deleted several instances in your cellview, you might want to renumber the instances to make the numbers consecutive. To renumber all the instances in your hierarchy consecutively, do the following: 1. Choose Design – Renumber Instances. October 2002 139 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Renumber Instances form appears. Renumber Instances 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 Interpreter Window (CIW). 2. Do one of the following: ❑ If you want to renumber instances in the your entire hierarchy, change the Scope cyclic field to hierarchy. Renumber Instances October 2002 140 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics ❑ If you want to renumber instances in the your entire library, change the Scope cyclic field to library. Renumber Instances 3. Click OK. Adding Blocks You can use blocks when you design with a top-down methodology. Blocks let you create a symbol from the context of a higher-level schematic. Input pin Output pin GATE_REP pin1 pin2 N7 You create a block to represent a lower-level cell. As you develop the logic of your higher-level schematic, you can add wires to the block, which automatically creates block pins. After you name 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 Verilog® representation) for the lower-level block cell. ■ Adding Blocks on page 143 ■ Adding Wires and Pins to Blocks on page 145 ■ Changing the Block Pin Direction Rule on page 145 ■ Changing the Direction or Name of a Single Block Pin on page 147 October 2002 141 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics ■ Changing the Names and Directions of Multiple Block Pins on page 148 ■ Deleting Block Pins on page 150 ■ Disabling Automatic Block Pin Creation on page 150 October 2002 142 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding Blocks Unlike adding multiple copies of a single instance in a schematic based on a single lib/cell/ view name, the Add – Block command lets you create multiple blocks, each with a different lib/cell/view name. To add a block, do the following: 1. Choose Add – Block 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) can be entered for each cell. There is a one-to-one correspondence between the entries in the Cells and the Names fields. You can specify multiple cell names by using a space to separate each name. The Cells and Names fields must match in number. If there are more entries in Cells than 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. 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. October 2002 143 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 4. In the Pin Name Prefix field, 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 prefix name; for example, pin1, pin2, pin3, and so forth. 5. Choose a block from the Block Shape cyclic field. The freeform option lets you create a rectangular block of any size by entering opposite corners of the rectangle. mux4 small medium mux8 large alu freeform 1 by 2 2 by 1 6. Move the pointer into your design. The block symbol is attached to the pointer unless you chose freeform. You can toggle the block shape before you place it by pressing the right mouse button until you reach the 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 of that block appears in your schematic. October 2002 144 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding Wires and Pins to Blocks Caution Do not create a block pin using the Add – Pin command in either the symbol editor or schematic editor. For general information, see Adding Narrow or Wide Wires. When you add a wire that touches the edge of a block, the editor automatically creates a block pin attached to the wire. 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 creates a pin where the wire touches the block edge. The pin name is constructed from the pin name prefix and a unique sequence number. The pin direction depends on the block pin direction rule. pinName blockName 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 October 2002 145 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics ■ Any pin created on the top or bottom side of the block becomes an inputOutput pin InputOutput pin Input pin Output pin GATE_REP pin1 pin2 N7 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 ■ Starting the wire on the edge of the block creates an output pin Ending the wire on the edge of the block creates an input pin. GATE_REP pin1 N7 pin2 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 edge or order of entry, do the following: 1. Choose Options – Editor. October 2002 146 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Editor Options form appears. 2. Select the Block Pin Direction Rule option you want. 3. Click OK. 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. October 2002 147 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Edit Object Properties form appears. Edit Object Properties 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. October 2002 148 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Edit Object Properties form appears. Edit Object Properties 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. October 2002 149 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. October 2002 150 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Edit Object Properties 3. In the Show field, turn on the system button. 4. Turn on the FreezePinCreate button. 5. Click OK. Adding Pins This section describes the following procedures: ■ Adding Schematic and Offsheet Pins on page 152 ■ Showing Pin Connections on page 153 Pins represent the schematic input, output, and inputOutput terminals to which a net connects in a schematic. October 2002 151 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics You add pins to establish connectivity between different levels of hierarchy and to connect different sheets of a multisheet schematic. Offsheet pin N6 Pin name NAND3 Schematic pin Hierarchical pins (schematic pins) connect signals that span different levels of a hierarchical design. 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 basic reference library. 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. opin (output pin) ipin (input pin) iopin (inputOutput pin) 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. October 2002 152 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 to name bus pins. 3. Set the Usage cyclic field to schematic for a schematic pin or offsheet to connect the pin to another sheet in 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. October 2002 153 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. When you draw a wire between a pin and an instance, you create a net. ■ Adding Narrow or Wide Wires on page 155 ■ Using Wire Snap and Gravity Options on page 155 ■ Using Wire Draw, Width, and Route Options on page 155 ■ Using Wire Flight Lines Option on page 156 ■ Routing Flight Lines on page 157 ■ Manipulating Wires with Only the Mouse on page 158 ■ Adding Wires to Schematic Instance Pins using SKILL on page 158 October 2002 154 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding Narrow or Wide 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 object closest to the pointer. The diamond jumps from one connection object to another as you move 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 wire endpoint. ❑ 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 be in 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. October 2002 155 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Add Wire form appears. Add Wire 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 or direct wire connection cannot be made. In this case, move the instances apart to make 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 a schematic so that you will have more space to add instances. You use a flight line to show an intended logic connection. After all the instances are in place, you can let the system route the 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. October 2002 156 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 5. Draw a direct line between two objects. A B C Flight line I1 Y nand3 TERM1 Routing Flight Lines To convert wires to normal wires after adding them using the flight route method on the Add Wire 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. Route Flight Line 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. October 2002 157 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 Wires to Schematic Instance Pins using SKILL To find the coordinates of the instTerms of each instance, query the following dbObject: ➤ With the schematic view open, enter the following commands in the CIW: list_of_points=nil cv=geGetEditCellView() foreach( inst cv~>instances when( inst~>purpose == "cell" printf( " %L\n" inst~>name ) foreach( instTerm inst~>instTerms printf( " %L\n" instTerm~>name ) foreach( pin instTerm~>term~>pins printf( " %L" pin~>name ) if( pin~>fig then bBox = dbTransformBBox( pin~>fig~>bBox inst~>transform ) a=xCoord(car(bBox)) + (xCoord(cadr(bBox)) xCoord(car(bBox)))/2 b=yCoord(car(bBox)) + (yCoord(cadr(bBox)) yCoord(car(bBox)))/2 list_of_points=cons(a:b list_of_points) );if );foreach );foreach );when );foreach The above code is a sample. Modify it to suit your requirements. October 2002 158 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding Wire Names Naming a wire affects the connectivity of your design. You must follow specific naming rules. ■ Naming a Wire on page 160 ■ Adding Wire Names on page 160 ■ Adding Multiple Wire Names on page 163 ■ Verifying Invisible Wire Names on page 165 ■ Using Net Name Prefixes on page 165 October 2002 159 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 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 Name command. The wire name becomes the net name. For VHDL designs, the net name must match the pin name; if not, the schematic rules checker (SRC) flags it as a VHDL violation. TERM1 ■ net_name 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. TERM1 ■ 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 and subscripts. BUS<15:8> ■ Name a wire that consists of a collection of signals with different names. A bundle is represented by names separated by a comma. DATA,BUS<0:7> Adding Wire Names To add wire names, do the following: October 2002 160 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 1. Choose Add – Wire Name. The Add Wire Name form appears. Add Wire Name 2. In the Names field, type the names of the wires. To establish connectivity, use specific wire naming conventions. To name a bus, use vector 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. WireA Rotated wire name A InputA October 2002 161 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The text justification option displays a plus sign (+) in your cellview at the location of the justification. +WireA +A InputA If you place the wire name at a greater distance from the wire than the default offset, click on the wire that the label names. When a wire name is associated with a wire, any action you perform with the wire affects the wire name. For example, if you stretch the wire, the wire name remains with the wire. If you delete the wire, the wire name is deleted. If you select the entry style of fixed offset, the system uses predefined default settings to automatically calculate the position of the wire name. To change the fixed offset defaults, do the following: 1. Click Show Offset Defaults. October 2002 162 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Add Wire Name form expands. Add Wire Name 2. Edit the Text Offset fields. Adding Multiple Wire Names To add multiple wire names, do the following: 1. Choose Add – Wire Name. October 2002 163 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Add Wire Name form appears. Add Wire Name 2. In the Names field, type the names you want to create; for example, addr<0:3> or addr1 addr2 addr3. 3. Set the following options as needed: ❑ If you want bus expansion of multiple wire names, turn the Bus Expansion field to on. This option places multibit bus names as multiple names, one for each bit of the bus range, instead of one name. For example, for the name A<0:1>, the label A<0> is placed 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 bring the 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 on the wire that the label names. 5. Place the remaining names by moving the pointer above each wire to be named and clicking once to place the remaining wire names. October 2002 164 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. October 2002 165 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. October 2002 166 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding Net Expression Labels to Create an Inherited Connection A net expression defines the default global signal name for the connection and the name of the property that can be used to override that global signal name. To create an inherited connection, do the following: ■ Add a net expression label to a power supply (or wire) in a lower-level schematic, which is described in “Adding a Net Expression Label to a Wire” on page 168. ■ Add a netSet property to an instance in a higher-level schematic, which is described in “Adding netSet Properties to Create an Inherited Connection” on page 172. [@power:%:vdd!]* Search scope Default global signal name Search property name Format instruction You place the net expression on a wire segment that represents the signal. The net expression names the signal in the same way that a wire name names a signal. The default name in the net expression serves to name the underlying signal. Refer to “Inherited Connections” on page 114 for a description of inherited connections. This section describes the following: ■ Adding a Net Expression Label to a Wire on page 168 ■ Adding an Inherited Supply Symbol to a Wire on page 169 ■ Editing a Net Expression Label on page 169 ■ Changing the Net Expression Label Display on page 170 ■ Deleting a Net Expression Label on page 172 October 2002 167 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding a Net Expression Label to a Wire To add a net expression label to a wire in a lower-level schematic, do the following: 1. Choose Add – Net Expression. The Add Net Expression form appears. 2. In the Property Name field, type a property name. 3. In the Default Net Name field, type the name of a global signal. 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 expression display is vdd!*. The asterisk ( * ) after the net expression label distinguishes it from a regular wire name. 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. 4. Drag the cursor into your design and place the label on a wire (or symbol pin in the symbol editor). October 2002 168 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 5. If the label does not automatically attach to the wire, click on the wire you want to want to add the net expression to. 6. Choose Check – Current Cellview or Design – Check and Save to ensure that the signal is updated with the information from the net expression label. When a net expression label is attached to a wire, the default net name in the expression names the net. The schematic extractor processes expressions associated with symbol pins only when the extractor encounters an instance of the inherited symbol in a schematic. You can change the net expression label display using the Options – Editor command. When initially becoming familiar with net expressions, the value [expression] option can be very useful. Adding an Inherited Supply Symbol to a Wire Add an inherited supply symbol by placing an instance of an inherited power supply on a wire in a schematic (which is done only once). Creating a library with inherited power and ground supplies is done only once. In a similar way, regular power supplies can be used instead of wire names to give a global signal name to a net. Inherited power supplies can be used, instead of net expression labels, to assign 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 on a wire. [@prop:%:vdd!]* 3. Choose Check – Current Cellview or Design – Check and Save to ensure that the signal is updated with the information from the inherited supply symbol. Editing a Net Expression Label To edit a net expression label, do the following: October 2002 169 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 1. In the lower-level schematic, select the net expression label. 2. Choose Edit – Properties – Objects. The Edit Object Properties form appears. The Evaluated Name field contains the result of evaluating the net expression for the current descend path of the window. 3. Change the Property Name, Default Net, Height, Font, or Justification value of the net expression label. 4. Click Attachment to reattach the label to the new wire or pin, if required. 5. Click OK. Changing the Net Expression Label Display To change the net expression label display so that you can see the value, property, or expression, do the following: 1. Choose Options – Display. October 2002 170 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Display Options form appears. 2. From the Net Expression Display cyclic field, choose one of the following: Option Display value only vdd!* value (default) vdd! (vdd!)* value (property) vdd! [power]* value [expression] vdd! [@power:%:vdd!]* expression only [@power:%:vdd!]* The value option implies the resulting signal name from the evaluated net expression for the current hierarchical path. The hierarchical path is the instance path that was descended to get to this level. October 2002 171 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 3. Click OK. To display the hierarchical path, choose Design – Hierarchy – Show Scope. 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. 4. Choose Check – Current Cellview or Design – Check and Save to update the connectivity of the cellview. Adding netSet Properties to Create an Inherited Connection Adding a netSet property to an instance in a higher-level schematic lets you override the default signal name specified in a net expression of a lower-level schematic. ■ Adding a netSet Property to an Instance on page 173 ■ Modifying a netSet Property on page 176 ■ Deleting a netSet Property on page 176 Refer to “Inherited Connections” on page 114 for a description of netSet properties used as inherited connections. October 2002 172 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding a netSet Property to an Instance To add a netSet property to an instance, do the following: 1. At the desired level of hierarchy, select an instance that represents the branch of the design hierarchy to be affected. 2. Choose Edit – Properties – Objects. The Edit Object Properties form appears. 3. Click Add. October 2002 173 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Add Property form appears. 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 default signal name. This will be the new net name. It may be a global or a local signal name, or it may be a net expression. The value must be 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 added netSet property. October 2002 174 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 8. (optional) For clarity, you should change the Display cyclic field from the default off to both to display both the name and value of the netSet property on the instance. This more clearly shows that power = 3V! will be used in this branch of your design. 9. Click OK. 10. Choose Check – Current Cellview or Design – Check and Save. If the current cellview does not have a signal with the signal name used within the netSet property value, the Check command automatically creates a small wire with this name. October 2002 175 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Modifying a netSet Property To modify the netSet property in your design, do the following: 1. Choose Edit – Properties – Objects. The Edit Object Properties form appears. 2. Select an instance in the schematic window you want to modify. You can also change the Display cyclic field from the default off to both to display both the value and name of the netSet property on the instance. 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 design hierarchy below this instance. 5. Click OK. For more details, see “Modifying Object Properties” on page 359. 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 delete. 3. Click Delete in the User Property section of the Edit Object Properties form. For more details, see “Deleting Object Properties” on page 358. October 2002 176 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Analyzing Net Expression Property Names and Evaluated Names The Virtuoso® Schematic Composer now displays all evaluated net expressions in a design hierarchy. This enables you to verify that devices connect to the right nets at each level in the hierarchy. The most helpful task in analyzing net expression property names and evaluated names is searching for net expressions and related names and properties. The Virtuoso schematic composer has various ways to search for a net expression. You can also find net expression and netSet overrides in the instance hierarchy and find the actual evaluated results, which can be the default signal when there is no netSet override. ■ Finding a Net Expression on page 178 ■ Finding and Replacing a Net Expression on page 178 ■ Finding Available Properties on page 179 ■ Viewing the Evaluated Net Names on page 180 ■ Viewing the Full List of all Hierarchical Paths on page 182 ■ Checking the Net Expression October 2002 177 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Finding a Net Expression You can search for a net expression, netSet name, or netSet value. Wildcard searches are also permitted. For more than one match, you can cycle through the match list. To search for a net expression, do the following: 1. Choose Edit – Search – Find. The Schematic Find form appears. 2. In the Search For cyclic field, choose net expression, netSet name, or netSet value. 3. Click Apply. For more information on this command, see “Searching for Objects That Have a Specific Property” on page 339. Finding and Replacing a Net Expression You can also use the Edit – Replace – Find command to preview the changes and save the changes if you are satisfied with the operation. As with the Find command, you can search for a net expression, netSet name, or netSet values. Wildcard searches are also permitted. For more than one match, you can cycle through the match list. 1. Choose Edit – Search – Replace. October 2002 178 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Schematic Replace form appears. 2. In the Search For cyclic field, choose net expression, netSet name, or netSet value. 3. Use any of the fields depending on your need, then click Apply. For more information on this command, see “Replacing Properties” on page 341. Finding Available Properties To find the net expression property names that are available for setting on the selected instance, do the following: 1. Choose Edit – Net Expression – Available Properties. October 2002 179 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Net Expression Available Property Names form appears. All net expression properties available to instance: I1 in the top level cellview: inhConnFlow top_easy schematic 2. Choose an instance in the schematic. For the form shown above, the I1 instance was selected. The form displays all the active net expression property names available to the I1 instance in the hierarchy. The active property name is the name of the lookup property in a net expression (associated with an inherited signal or an inherited terminal) or in a redirecting net expression (the value of a netSet property) for which no override is found in the hierarchy below the selected instance. 3. Click OK. Viewing the Evaluated Net Names To view the net names that result from the evaluation of all net expressions that are found in the hierarchy below the selected instances, do the following: 1. Choose Edit – Net Expression – Evaluated Names. October 2002 180 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Net Expression Evaluated Names form appears. The form displays all the different evaluated names that result from evaluations of all net expressions in the hierarchy below the selected instance; in this case, the I1 instance. All evaluated names from net expressions below instance I1 in the top level cellview: inhConnFlow top_easy schematic vdd! 1 1 2. Choose one of the evaluated names. 3. Click List Cellviews with Selected Evaluated Name to obtain a comprehensive picture of the inherited connection usage in the design. The Cellviews with Evaluated Net Expression Name form appears. October 2002 181 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics This secondary form contains the full list of cellviews that contain net expressions that evaluate to the selected evaluated name. It shows the lookup property name and the default signal for each of these net expressions. Cellviews with net expressions that evaluate to: vdd! below instance I1 in the top level cellview: inhConnFlow top_easy schematic Viewing the Full List of all Hierarchical Paths To view the full list of all hierarchical paths, do the following: 1. Choose Edit – Net Expression – Evaluated Names. 2. Choose an evaluated name. 3. Click List Occurrences for Selected Evaluated Name. The Occurrence Paths to Evaluated Name form appears. October 2002 182 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics This form contains the full list of all hierarchical paths (for example, all lineages) that can be followed down to all net expressions that evaluate to the selected evaluated name. All occurrence paths to net expressions that evaluate to: vdd! below instance I1 in the top level cellview: inhConnFlow top_easy schematic 4. Set the Display occurrence paths with cyclic field to instance names, cell names, or instance and cell names, depending on the occurrence path display you want. 5. Review the results for gathering information to debug your design, then click OK to close the form. Checking the Net Expression To check the net expression for accuracy, do the following: 1. Choose Check – Current Cellview or Design – Check and Save after adding or changing a net expression label or netSet property. After the check is completed, the Command Interpreter Window (CIW) shows the results of the check, and a dialog box appears. Flashing highlighted markers in your schematic indicate the objects that have errors or warnings. 2. On the dialog box, click Close. For more information, see “Checking a Design” on page 425. October 2002 183 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics Adding Solder Dots Place a solder dot where more than two wire segments intersect. Do not confuse four-wire intersections, which are always connected logically, with two-wire overpasses. wire_2 wire_2 wire_4 wire_1 Two overpass wires Four connected wires ■ Adding Solder Dots on page 185 ■ Deleting Solder Dots on page 185 ■ Disabling Automatic Solder Dot Creation on page 185 ■ Changing Solder Dot Size on page 186 October 2002 wire_3 wire_2 184 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 dots automatically. 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. The system 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 wire segments. To stop the system from adding solder dots automatically, do the following: 1. Choose Options – Editor. October 2002 185 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Editor Options form appears. Editor Options 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. October 2002 186 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Editor Options form appears. Editor Options 2. In the Solder Dot Wire Overlap field, specify a value in user units to define the distance that solder dots overlap wires. 3. Click OK. Adding Notes To document a schematic, you can use ■ Note shapes ■ Note text October 2002 187 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The following diagram shows an inverter with documentation notes to the left of the inverter. [@instanceName] ABC Inverter A Note text Y inv Note shape (rectangle) ■ Adding Note Shapes on page 189 ■ Adding Note Text on page 189 ■ Importing an ASCII File for Note Text on page 190 October 2002 188 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 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. Add Note Shape 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 on the shape you are drawing. Adding Note Text To add text to annotate your design for documentation purposes, do the following: 1. Choose Add – Note – Note Text. October 2002 189 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Add Note Text form appears. Add Note Text You can type a note to document your design. You can also read in (or import) an ASCII file from disk. 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. October 2002 190 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Add Note Text form appears. Add Note Text You can type a note to document your design. You can also read in (or import) an ASCII file from disk. ~/fileName my_directory/fileName 2. In the Read File field, type the path to the file. 3. Click the Read File button. Adding Patchcords A patchcord is a special connection symbol. You use a patchcord to establish aliases between the signals of two different nets. Unlike tap names, where you extract bits of a single net, you can use patchcords to copy one net to another. You can also use the patchcord to map bits from one net to different bits of another net. The value (connection expression) of the NLP label describes how to map the bits of the net attached to the src (source) pin to the bits of the net attached to the dst (destination) pin. October 2002 191 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The syntax you use for naming the vector expression is the same as the syntax for wires and multiple bits. The number of bits in the src vector expression must equal the number of bits in the dst vector 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 or greater than 1 bit wide. October 2002 192 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics If the nets are more than 1 bit wide, you can update the connection expression value on the Edit Object Properties form. 4. Move the cursor into your design and click to add the patchcord. 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 ignores patchcord 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 Expression field, which indicates that the nets are equal to or greater than 1 bit wide. If the nets are more than 1 bit wide, you can update the connection expression value on the Add Instance form. 0=0 src pin dst pin 4. Click OK. Note: The basic library contains the component cds_thru, which creates a pseudo-short for the situations where a patch does not suffice; for example, if you need a short between two terminals or a terminal and a global signal. The component is arranged to netlist in sensible ways for the following tools: ■ lvs/auLvs: the cds_thru component can be shorted using the Diva removeDevice function in your LVS rules ■ cdl/auCdl: a small value resistor which can be ignored with *.RESI October 2002 193 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics ■ spectre: an iprobe (effectively a zero-voltage source) ■ spectreS: an iprobe (effectively a zero-voltage source) ■ hspiceS: a zero-voltage source ■ verilog: a module describing the short (terminal-terminal assigns are legal in verilog) Adding Probes The Probe – Add command lets you select the data you want to display in another cellview and select the data for the net for which you want to show a cross-reference. ■ Adding Probes to a Net, Pin, or Instance on page 195 ■ Showing Probe Information on page 196 ■ Removing Probes from a Net, Pin, or Instance on page 196 ■ Removing All Probes on page 197 ■ Saving Probes on page 198 ■ Loading Probes on page 198 October 2002 194 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 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. Applications to Cross Probe 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. The color of the net, pin, or instance changes to show that your probes are added. October 2002 195 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 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 the object. If you clicked near two or more objects with probes, the window lists each object and its probe type. Removing Probes from a Net, Pin, or Instance The Design – Probe Remove command removes the data you displayed in another cellview or removes 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. October 2002 196 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics The Delete Cross Probes form appears. Delete Cross Probes 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. The color 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. The color 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 the current window, do the following: ➤ Choose Design – Probe – Remove All. October 2002 197 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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, then choose 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. Save Probes 2. In the Probe File Name field, 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 – Load to 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. Load Probes October 2002 198 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics 2. In the Probe File Name field, type the name of the file containing the probes you want to load. 3. Click OK. October 2002 199 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Schematics October 2002 200 Product Version 5.0 Virtuoso Schematic Composer User Guide 4 Creating a Multisheet Schematic You can use multisheet schematics to partition your design among several sheets, thus creating a hierarchy. This chapter provides information about the following topics: ■ Browsing a List of Multisheets on page 202 ■ Converting a Single-Sheet Schematic to a Multisheet Schematic on page 202 ■ Adding New Sheets on page 203 ■ Editing the Title Block on page 203 ■ Editing the Sheet Border Size and Type on page 205 ■ Understanding Offsheet Pins and Their Naming Conventions on page 206 ■ Adding Offsheet Pins to Multisheet Schematics on page 208 ■ Understanding the Index Schematic on page 209 ■ Going to and from the Index Schematic on page 210 ■ Repositioning a Schematic within the Sheet Borders on page 210 ■ Deleting Sheets on page 212 ■ Reordering Sheets on page 213 ■ Renumbering Sheets on page 214 ■ Working with Cross-References on page 214 ■ Customizing Multisheets on page 225 ■ Drawing a Customized Sheet Border on page 228 ■ Customizing Pin Cross-References on page 236 ■ Presetting the Title Block Values on page 236 October 2002 201 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Browsing a List of Multisheets The system uses a base name to group sheets of a multisheet schematic in a library. By default, the base name is the cell name of the original single-sheet schematic. Each sheet of a multisheet schematic has a unique sheet number. myDesign myDesign@sheet001 myDesign@sheet002 myDesign@sheet003 myDesign@sheet004 Index sheet Individual sheets Converting a Single-Sheet Schematic to a Multisheet Schematic When you extend your design over several sheets, you improve readability, maintain drafting standards, 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. Create Schematic Sheet 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 change the size of the border, reposition your schematic within the border, or edit the sheet title. October 2002 202 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. Create Schematic Sheet 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 lower right-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 the creation of the new sheet. The schematic editor creates the new sheet with the number you chose and renumbers the remaining sheets. The schematic editor also updates all properties 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. October 2002 203 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The Schematic Title Block Properties form appears. Schematic Title Block Properties 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. October 2002 204 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The following sheet title block shows the information from the form on the previous page. 1999 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. Change Sheet Border Size October 2002 205 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 Naming Conventions 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 hierarchical design. When you place a hierarchical pin or offsheet pin in a sheet schematic, the schematic editor creates an equivalent pin in the index schematic. The following examples show how to use hierarchical and offsheet pins in a multisheet schematic. See the pin naming conventions 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 1 or a matching hierarchical pin named out2<0:7> in sheet 1. Sheet 2 Sheet 1 IO<0:7> A<0:7> IO<0:7> A<0:7> OUT1<0:7> OUT2<0:7> KEY: Schematic pins Offsheet pins Example 2 In this example, the following hierarchical pins represent the partitioned bit width of a bus signal, 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) October 2002 206 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The example shows the usage of offsheet pin S<0:3> connecting sheet 1 to sheet 2 and vice versa. Sheet 2 Sheet 1 IO<0:3> IO<0:3> A<0:3> A<4:7> OUT<0:3> OUT<4:7> S<0:3> I1<0:3> B<0:3> S<0:3> KEY: Schematic pins Offsheet pins Example 3 Pin A is hierarchical in sheet 1. To access pin A from sheet 2, you use an offsheet pin. Sheet 1 Sheet 2 IO IO A OUT1 A OUT2 KEY: Schematic pins Offsheet pins 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>. October 2002 207 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Sheet 3 uses another two bits, which you access with offsheet pin B<6:7>. Sheet 2 Sheet 1 I1<0:7> B<0:7> I2<0:1> B<0:1> Sheet 3 KEY: Schematic pins Offsheet pins 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. October 2002 208 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 index schematic to organize the sheets. The index schematic provides a graphical overview of all the sheets in the schematic. When you run a check on your design, the schematic editor displays all hierarchical pins and their names at the top of the index schematic. The following diagram is an example of an index schematic. Hierarchical pins Output offsheet pins (top right corner) Project A Asize Rev: 4 Project A Asize Rev: 3 Sheet title Input offsheet pins (top left corner) Sheet number Note: When renaming the cell name of a multisheet schematic’s index cell with the library manager Edit – Rename command, only the index cell is renamed. The cell names for all the sheet cells are not renamed as expected. To correct this situation, use the Edit – Rename command to rename all the cells of a multisheet schematic individually. October 2002 209 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Going to and from the Index Schematic To go to the index schematic, do the following: 1. Choose Sheet – Go To. The Go To Sheet form appears. Go To Sheet 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 destination sheet. 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 must reposition it. To reposition a schematic within the sheet borders, do the following: October 2002 210 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic 1. Draw a selection box around all the objects in your schematic. The selected objects are highlighted. 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 the highlighted schematic. 5. Click in an open area to deselect the highlighted schematic. October 2002 211 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. You can 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. October 2002 212 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The Delete Schematic Sheet form appears. Delete Schematic Sheet 2. Type the page range you want to delete. The schematic editor prompts you to confirm or cancel the deletion. Delete Schematic Sheet This action is not undoable, continue? Reordering Sheets To change the order in which sheets are numbered, do the following: 1. From an index schematic, choose Sheet – Renumber. The Edit Schematic Sheet Number form appears. Edit Schematic Sheet Number 2. Specify the sheet to be renumbered and the new sheet number. 3. Click OK. October 2002 213 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic If there is already a sheet with the new sheet number, the sheet whose number you want to change is inserted before the existing sheet and gets the specified sheet number. The sheets following it are automatically renumbered. On the example form above, sheet 1 becomes 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 sheet numbers. Renumbering Sheets To sequentially renumber all sheets in a multisheet schematic beginning with 1, do the following: ➤ From an index schematic, choose Sheet – Resequence. The schematic editor renumbers all sheets sequentially beginning with sheet 1. For example, if you previously deleted sheets 4 and 5 so that your sheets are numbered 1 2 3 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 other locations 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 crossreferenced This section discusses the following topics: ■ Understanding Cross-Reference Zones on page 215 ■ Understanding Pin Cross-References on page 216 ■ Understanding Cross-Reference Reports on page 217 ■ Preparing to Cross-Reference on page 217 ■ Displaying Cross-References on page 218 October 2002 214 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic ■ Zooming In to View All Cross-Referenced Pins One by One on page 220 ■ Going to a Specific Hierarchical Pin on page 221 ■ Viewing Cross-Reference Reports on page 221 ■ Editing a Cross-Reference Display on page 223 ■ Controlling the Format String Syntax on page 224 ■ Customizing the Format String Syntax on page 225 Understanding Cross-Reference Zones Multisheet schematics with borders show numbers and letters that reference different zones, similar to the squares on a map. Aug 10 21:57 Letter zones Number zones October 2002 215 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Understanding Pin Cross-References Pin cross-references are displayed on the schematic next to the pin name. Pin names i1 and a<0:3>,b a<0:3>,b 1B3, 3B2(a<0>), 4C1(b) i1 2A4, 3B1 Zone numbers B3 and B2(a<0>) Sheet numbers 2 and 3 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 A1 by pin name PP<7:0>; and at sheet 3, zone B4 by pin name PP<7:0>. The reference names are not listed for the last two locations because the reference name matches the pin name. PP<7:0> October 2002 1A2(PP<0:3>),2A1,3B4 216 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Understanding Cross-Reference Reports The following cross-reference report shows pin names and lists locations where the pins are referenced. --------------------------------Composer Cross Reference Report Library name: myLib Module Name: test2 --------------------------------Sheet Number: 1 sheet001 Pin Name -------B<0:7> CLEAR CLEAR CLEAR PRESET PRESET Duplicate zones are shown if you turn the option on. Sheet 1 shows where the signal is referenced. Zone C3 specifies the area where the pin is referenced, using alphanumeric grids on the sheet borders. Cellname: test2/ References ---------1C4(B<0:7>) Sheet Number: 3 sheet003 Pin Name -------B<6:7> A comma separates location references References ---------2A1(B<0:1>),3A1(B<6:7>) 1C3 1C3 1B3 1A1 1C3 Sheet Number: 2 sheet002 Pin Name -------B<0:1> Cellname: test2/ Cellname: test2/ References ---------1C4(B<0:7>) The reference name lists the name of the pin that made the reference, B<0:7>. Preparing to Cross-Reference You must make sure your schematic is error free before you cross-reference pins, but you do not have to correct warnings. To check a multisheet schematic for errors before displaying cross-references, do the following: 1. From the index schematic, choose Design – Check and Save. October 2002 217 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. Schematic Check There were 0 errors and 7 warnings found. Close 2. Correct all errors, if applicable. Displaying Cross-References You can display cross-reference annotations to schematic and offsheet pins to indicate other locations 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. October 2002 218 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The Cross Reference Options form appears. Cross Reference Options report.file <sheetNumber><zone><referenceName> 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 where you use each pin or a subset of a bus or bundle pin. The reference pin must have at least one shared member name with the pin name. October 2002 219 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Pin cross-references are displayed on the schematic next to the pin name. Pin names i1 and a<0:3>,b a<0:3>,b 1B3, 3B2(a<0>), 4C1(b) i1 2A4, 3B1 Sheet numbers 2 and 3 Zone numbers B3 and B2(a<0>) 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, do the following: 1. From the index schematic, choose Check – Current Cellview to make sure the cellview is 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. Go To Pin 4. Select the pin or offsheet connector in your design to follow throughout the multisheets. October 2002 220 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The schematic editor zooms in to the area that contains the specified pin or offsheet connector. For example, if you selected first, the schematic editor shows the cellview that contains 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. From the index schematic, choose Check – Current Cellview to make sure the cellview is 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 the hierarchical 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 locations where each pin is referenced in a multisheet schematic. The report lists the cross-references in 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. October 2002 221 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The Cross Reference Options form appears. Cross Reference Options report.file <sheetNumber><zone><referenceName> 2. Click View Report. A window listing the pin references appears, as follows: October 2002 222 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Example In this sample design, a hierarchial pin for the bus B<0:7> is declared in sheet 1. Sheets 2 and 3 use two bits of the bus declared in sheet 1. These two bits are represented by offsheet pins. Sheet 1 B<0:7> Composer Cross Reference Report Library name: myLib Module Name: test2 ------------------------------Sheet Number: 1 Cellname: test2/sheet001 Pin Name References B<0:7> 2A1(B<0:1>),3A1(B<6:7>) CLEAR 1C3 CLEAR 1C3 CLEAR 1B3 PRESET 1C3 PRESET 1C3 Sheet 2 B<0:1> Sheet Number: 2 Cellname: test2/ sheet002 Pin Name References B<0:1> 1C4(B<0:7>) Sheet 3 B<6:7> Sheet Number: 3 Cellname: test2/ sheet003 Pin Name References B<6:7> 1C4(B<0:7>) Editing a Cross-Reference Display You can edit the cross-reference display using standard editing commands and control the visibility of the strings. You can ■ Make text invisible ■ Change fonts and sizes to make text easier to read October 2002 223 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic ■ Move the text independent of the pin or pin label (when you move the pin, crossreference 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 to pins) by using your own cross-reference format string. You construct a string using the following parameters in any order: [sheetNumber] Sheet number that contains the pin [zone] The alphanumeric grids that contain the pin [direction] The direction of the pin [referenceName] The name of the pin. The referenced pin name is only printed when it does not exactly match the original pin name. For example, the following string lets you see which bits of a bus are used on which sheets "1A1(bus<0:7>),2B2(bus<0:3>), 3C3(bus<4:7>)" Syntax pinName location,location,… location:=[sheetNumber][zone][direction] [referenceName] direction:=’i’|’o’|’io’ for input, output, or input/output respectively referenceName:= B<0:7> pin name that has at least one shared bus component October 2002 224 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Example Using the default format of sheetNumber zone referenceName Pin Name PP<7:0> References 1A2(PP<0:3>), 2A1, 3B4 The reference name (PP<0:3>) is enclosed in parentheses only if it is different from the pin name. 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 to each 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 choose Sheet – 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 The following sections describe in detail the process of customizing multisheets: ■ The Basic Procedure on page 226 ■ Customizing the Types and Sizes of Sheet Borders on page 226 ■ Customizing the Cross Reference Options Form on page 228 ■ Drawing a Customized Sheet Border on page 228 ■ Drawing Sheet Zones on page 229 October 2002 225 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic ■ Drawing Zone Labels on page 230 ■ Adding the Sheet Zone Property on page 231 ■ Adding a Title Block on page 232 ■ Adding Title Block Values with Normal Labels on page 232 ■ Verifying the Label Type on page 234 ■ Adding Title Block Properties on page 234 ■ Customizing Pin Cross-References on page 236 ■ Presetting the Title Block Values on page 236 The Basic Procedure In general, to use customized sheets in your schematic, do the following: 1. Create your own sheet as a symbol or use one from Cadence-supplied US_10ths library. 2. Open the schematic view in Virtuoso® Schematic Composer. 3. Instantiate the desired sheet symbol in your schematic. 4. Fit the sheet symbol into the page. 5. Move, align, and resize the schematic within the sheet border. 6. Check and save your schematic. Customizing the Types and Sizes of Sheet Borders You can use your own customized sheet border symbols when you create new sheet schematics. You can customize the display of pin cross-references. October 2002 226 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic The fields on the Create Schematic Sheet form appear as follows: Create Schematic Sheet 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" list("myLib" "myCsize.c" "symbol") "symbol")) where 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. October 2002 227 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Customizing the Cross Reference Options Form The fields on the Cross Reference Options form appear as follows: Cross Reference Options You can customize default settings on the Cross Reference Options form. The cross-reference format string variable, PinRefFormat, can contain any text and the following 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" Drawing a Customized Sheet Border A sheet border symbol contains several cellview properties that you can customize: ■ Drawing a Sheet Border on page 229 October 2002 228 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic ■ Drawing Sheet Zones on page 229 ■ Drawing Zone Labels on page 230 ■ Adding the Sheet Zone Property on page 231 ■ Adding a Title Block on page 232 ■ Adding Title Block Values with Normal Labels on page 232 ■ Adding Title Block Values with NLP and IL Labels on page 233 ■ Verifying the Label Type on page 234 ■ Adding Title Block Properties on page 234 Drawing a Sheet Border The border symbol needs to contain two other cellview properties, both with the property type string. ■ "nlAction" = "ignore" Choose Edit – Properties – Cellview to add this property. ■ geQuerySelSet() Type this function 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, and continue with the following section. Drawing Sheet Zones To add sheet zones, do the following: 1. In the symbol editor, choose Add – Shape – Line. October 2002 229 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic 2. Press F3. The Add Symbol Shape form appears. 3. Draw the equally spaced short lines (tick marks) around the sheet border. To draw equally spaced tick marks, draw the first segment, and then use the Edit – Copy command array option. 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. October 2002 230 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic 3. Select the normalLabel option. 3 2 1 C C B B A A 3 2 Sheet zones describe a coordinate system that helps you identify exactly where an object is located in a cellview. You can divide your sheet into a 3 x 3 matrix with sheet zones 1, 2, 3, A, B, and C. 1 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 the second describes the Y coordinates (C,B,A). The order of the coordinates determines how they are displayed in the sheet border zones. The X coordinate list is displayed left to right, and the Y coordinate list is displayed top to bottom. 5. Click OK. 6. Click OK on the Edit Cellview Properties form. October 2002 231 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 schematic design. 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 editor window 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 block and the block fields. Lines Adding Title Block Values with Normal Labels To name the sheet title block fields for a normal label, do the following: October 2002 232 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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. Company Title Date Sheet No. 4. Repeat steps 2 and 3 to place all the labels you plan to use. Adding Title Block Values with NLP and IL Labels 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: Company [@COMPANY] Label 1 Title [@TITLE] Label 2 Date ilInst~>cellView~>instancesLastChanged Label 3 Sheet No. October 2002 [@SHEET] 233 Label 4 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic 2. On the first line, type [@COMPANY]. 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 graphic display 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. The schSheetTitles property is added to the titleblock cellview, which is a symbol. The October 2002 234 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic schSheetTitles property contains the list of properties that can be edited with the Sheet – Edit Title command. 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 all sheets. 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 the index schematic (on the instances of the msymbols). Properties for global titles are placed on all msymbol instances. Properties for local titles are placed only on the instance of the corresponding msymbol. When you display a sheet schematic, the NLPLabels in the title block are evaluated; these labels use the property values stored in the index schematic. 6. Verify the creation of the schSheetTitles property by selecting an instance of an msymbol. 7. In the CIW, type geQuerySelSet( ) 8. Click OK. 9. Click OK to add the property to the cellview. October 2002 235 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic Customizing Pin Cross-References You can customize environment variables for pin cross-references as follows: ■ Pin reference format The pinRefFormat environment variable specifies the format for displaying the pin reference information that appears next to each pin when you use Sheet – Cross Reference. ■ Pin reference duplicates The pinRefDuplicates environment variable specifies whether the editor reports duplicate pin 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 references when you use Sheet – Cross Reference. Presetting the Title Block Values The Schematic Title Block Properties form, available when you choose Sheet – Edit from a schematic design having a title block, can be preset with values if the properties already exist on the title instance. The title form is dynamic and created every time you want to see the title information. The values in the form are taken from the properties of the title instance. You can preset the values by adding CDF properties to the title cell and saving the defaults. The properties exist on the instance and will be presented on the form. To add CDF properties, do the following: 1. From the CIW, choose Tools – CDF – Edit. The Edit Component CDF form appears. 2. Set CDF Selection to Cell. 3. Set CDF Type to Base. 4. Set Library Name to US_8ths. Note: You need to have write permission to edit this library. 5. Set Cell Name to Title. October 2002 236 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic 6. Press the Tab key on your keyboard to get the CDF properties in the form. 7. Click Add in the Component Parameters section. The Add CDF Parameter form appears. 8. Set paramType to string. 9. In the name field, type company. 10. In the prompt field, type company. 11. In the defValue field, type the company name you want to see. 12. Click Apply. 13. Set paramType to string. 14. In the name field, type title. 15. In the prompt field, type title. 16. In the defValue field, type the title name you want to see. 17. Click Apply. 18. Set paramType to string. 19. In the name field, type title1. 20. In the prompt field, type title1. 21. In the defValue field, type another title name you want to see. 22. Click OK on both the Add CDF Parameter and Edit Component CDF forms to save the added CDF properties. You now see your default values when you instantiate the title cell. If you have write permission to the US_8ths library, you can also modify the NLPlabels for company and title from the symbol view of the title cell in the US_8ths library to customize the title blocks. You can have default values by adding the variables on the symbol view. October 2002 237 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating a Multisheet Schematic October 2002 238 Product Version 5.0 Virtuoso Schematic Composer User Guide 5 Creating Symbols You can quickly create a new symbol by importing (copying) an existing symbol into the symbol editor window and then modifying the imported symbol. If you cannot use an existing symbol—for example, if your schematic requires an electrical or logical function that does not have a corresponding symbol in a Cadence® software library—you need to create your own symbol using the symbol editor. This chapter describes the following topics: ■ Setting Grid Options on page 241 ■ Importing Symbols on page 242 ■ Creating New Symbols on page 243 ❑ Drawing Lines on page 244 ❑ Drawing Rectangles on page 245 ❑ Drawing Polygons on page 246 ❑ Drawing Circles on page 247 ❑ Drawing Ellipses on page 248 ❑ Drawing Arcs on page 248 ❑ Adding Pins as Graphic Images on page 250 ❑ Adding Pins as Instances on page 251 ❑ Creating Custom Pins as Graphic Images on page 252 ❑ Duplicating Pin Figures in the Symbol Master on page 253 ❑ Making the Custom Pin Name Visible on page 254 ❑ Adding a Selection Box on page 255 ❑ Adding Labels on page 255 October 2002 239 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols ■ ❑ Adding a Normal Label on page 256 ❑ Adding an NLP Label on page 258 ❑ Adding an IL Label on page 261 ❑ Adding Note Text and Note Shapes on page 262 ❑ Adding a Net Expression Label on page 262 ❑ Setting the Symbol Origin on page 263 Creating Symbol Cellviews Using Generators on page 264 October 2002 240 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols Setting Grid Options Before you create a symbol, you might want to set the grids in the symbol editor to assist you in drawing. If you want to create shapes that are smaller than what the current snap spacing allows, 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. October 2002 241 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols Importing Symbols You can import (copy) an existing symbol into the symbol editor. You can then modify the imported 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. October 2002 242 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols Creating New Symbols On occasion, your design might require an electrical function that does not have a corresponding symbol in an existing library. In such situations, you need to create your own symbol. 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 in the schematic editor ■ Notes that consist of text and shapes to annotate the symbol. Input pin Inverter symbol polygon (device shape) NLP label [@instanceName] A Y Output pin INV ABC Inverter Selection box Note text October 2002 Note shape (rectangle) Line (shape) Normal label 243 Circle (shape) Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 to start a line. ✘ ✘ You can enter many points to create a multisegmented line. You can also press the Esc key to terminate lines. Double-click the last point to end the line. October 2002 244 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 the rectangle. 5. Click the opposite corner. 1st point ✘ ✘ 2nd point October 2002 245 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 polygon symbol by clicking on each point. 4th point ✘ 1st point ✘ 2nd point ✘ 3rd point, or double-click to close the polygon October 2002 246 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 radius and complete the circle. 1st point ✘ October 2002 ✘ 2nd point 247 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 the ellipse. 5. Stretch the ellipse to your specifications and click the second point to complete the ellipse. 1st point ✘ ✘ 2nd point Drawing Arcs To draw an arc, using the symbol editor, do the following: 1. Choose Add – Shape – Arc. 2. Press F3. October 2002 248 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 October 2002 3rd point ✘ ✘ ✘ 2nd point 1st point 249 2nd point ✘ 3rd point Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols Adding Pins as Graphic Images By default, the symbol pin that you create using the Add – Pin command in the symbol editor is a graphic image of a symbol master. When you add pins as graphic images of a symbol master, any changes you make to the symbol pin master are not reflected in the graphic images 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. October 2002 250 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols The following example shows how an input pin with a pin name of A appears after you click your mouse in the design. Input pin A 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. Input pin A Y Output pin Adding Pins as Instances When you add symbol pins as instances, any changes you make to the graphics of the symbol pin master are reflected in all the pin instances that were previously added from the symbol pin master. To turn on the option for adding symbol pins as instances, do the following: 1. Choose Options – Editor. October 2002 251 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols The Editor Options form appears. 2. In the Command Controls section of the form, turn on the Add Symbol Pins as Instances option. 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 Pin command to create your own graphic images (polygons) for the 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. October 2002 252 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating 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 polygon shape 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 to display the pin name. By default, the pin names are not visible. 6. Press the Esc key. Duplicating Pin Figures in the Symbol Master Duplicate or overlapping pin figures in the symbol master are difficult to identify because they are the same size and shape. They can cause errors in the logic of the design. Cadence Design Framework II (DFII) does not crash with duplicated/overlapping pin figures. To correct this situation, do the following: ➤ Run the following SKILL routine on the symbol master cellview to test if duplicate or overlapping pin figures exist: procedure( checkDupPinBBox( cv ) let((shape inst pinFigs otherFigs dup) shape = setof(s cv~>shapes s~>lpp == '("pin" October 2002 253 "drawing")) Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols inst = setof(s cv~>instances s~>purpose == "pin") pinFigs = nconc(shape inst) otherFigs = copy( pinFigs ) foreach( fig pinFigs otherFigs = cdr(otherFigs) dup = nconc(dup setof( f otherFigs f~>bBox == fig~>bBox)) ) when( dup info("\"%s\" contains duplicated pin figures\n" cv~>cellName) foreach( d dup info("... terminal \"%s\" at %L\n" d~>pin~>term~>name d~>bBox) ) ) ) ; let ) 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 Value field displays the name you gave to your custom pin. 3. Set the Display cyclic field to value. 4. Click OK. October 2002 254 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols Adding a Selection Box A symbol selection box defines the area of the symbol that you can use when selecting an instance 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 dialog box appears. 2. Draw a selection box manually, or click Automatic. ❑ To draw the selection box manually, click the first corner of the rectangle, then move the cursor to the opposite corner and click. 1st point ✘ A [@instanceName] Y inv ✘ 2nd point ❑ To draw the box automatically, click Automatic. The software generates a selection box that encloses all symbol pins and symbol shapes. Note: You can use the Stretch command to adjust the box shape. Adding Labels Symbol labels display assorted textual information. You can add one of three types of labels to your symbol: October 2002 255 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols ■ 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 NLP expression and displays the resulting value. For example, the system displays the NLP label [@instanceName] in the symbol editor but displays a value—for example, I3— in the schematic editor. Symbol editor Schematic editor [@instanceName] A I3 Y Y A inv ■ inv IL labels, which have expressions that are evaluated by the SKILL language to determine the value When you place an instance in your schematic, the system evaluates the SKILL expression and displays the resulting value. For example, the system displays the IL label ilInst~>name in the symbol editor, but displays a value—for example, I3—in the schematic editor. Symbol editor A Schematic editor I3 ilInst~>name Y A INV Y INV Adding a Normal Label To add a normal label, using the symbol editor, do the following: 1. Choose Add – Label. October 2002 256 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols 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. A Y INV Example of a normal label 6. Click to place the label. When you place an instance of the symbol in your design, the schematic editor displays the label text. To force an evaluation of the SKILL expression or function and display the results, use the Window – Redraw command. October 2002 257 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols 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. In 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. The NLPLabel expression is attached to the pointer. [@instanceName] A October 2002 Example of an NLP label Y 258 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols 5. Click to place the label next to the symbol. When you place an instance of a symbol in a schematic cellview, the schematic editor interprets 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, use the 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, and displayFormat2 (optional) is used when a specified property cannot be located. If displayFormat2 is not defined and the property does not exist, the editor does not display the NLP label. The rules table below and the examples that follow the table show how NLP label expressions are interpreted. Syntax Expression Definition [ ] Delimits the property substitution expression. Text outside square brackets remains unevaluated. @ Specifies the beginning of a property substitution expression, as [@instanceName]. propertyName Specifies the property name. : Separates the property name from the display format string. For example, in [@w:w=%], the colon separates the property name (w) from the expression (w=%). % A placeholder in the format string for the current value of propertyName. \ plus a reserved character Lets you include one of the above reserved characters as a text character in your label. \n Generates a carriage return. \t Generates a tab. \nnn Substitutes an ASCII character defined by octal nnn. October 2002 259 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols Examples – Evaluating NLP Label Expressions If the current value of a named property is defined, the schematic editor substitutes the defined value for the percent character (%) in the NLPLabel expression when you place the instance in the design. If the schematic editor does not find a value for a property when you place an instance of a symbol, 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 NLPLabel expression, you specify only the name of 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=%] The editor considers any nonreserved characters after the separator (:) to be a text string. When evaluated, the schematic editor returns the string. If there is a special character in the expression, the editor evaluates it also. In Example 2, when w has a value 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 generates the following label: l=8; In Example 3, if w has a value of 4 and l has a value of 8, the editor generates the following label: w=4;l=8; If you specify a value for w and l after you place the instance, or if you change the value after you place the instance, the schematic editor updates the label to display the current value. ■ Example 4 – Combined label expressions October 2002 260 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols [@w:w=%:w is not defined;] In Example 4, if w is not defined, the editor goes on to the next label expression, w is not defined, which is a text string. The editor evaluates the string as a value and displays 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 the following 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® SKILL language expression that can be evaluated by the SKILL language. Using the symbol editor, do the following: 1. Choose Add – Label. The default [@instanceName] label is attached to the cursor. The Add Symbol Label form appears. October 2002 261 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols 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 graphic display of the cellview containing the instance. 3. Set the Label Choice cyclic field to instance label. 4. In the Label Type field, click ILLabel. 5. Move the pointer into your cellview and click to place the IL label. ilInst~>master~>libName A Y GaCells A ■ IL label library name Y 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 the schematic editor. Refer to “Adding Notes” on page 187. Adding a Net Expression Label You add a net expression label in the symbol editor in the same way you add a net expression label in the schematic editor. Refer to “Adding Net Expression Labels to Create an Inherited Connection” on page 167. October 2002 262 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols Setting the Symbol Origin The origin of a symbol is the (0,0) location within a symbol. When you place instances in a schematic, the symbol origin affects the position of the symbol graphics and pins relative to the instance placement point. Caution Changing the origin of a symbol moves instance pins within all schematics that use that symbol. This might affect the connectivity of the schematic because schematic wires do not automatically move to the new 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. Point to a location. [@instanceName] A Y ✘ INV 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. [@instanceName] A Y INV 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 October 2002 263 Product Version 5.0 Virtuoso Schematic Composer User Guide Creating Symbols 3. Choose Window – Fit to 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 Cellview command mentioned in Chapter 6, “Automatically Creating Cellviews,” you can create symbol cellviews using generators. ■ Text-to-Symbol Generator on page 595 The text-to-symbol generator (TSG) is a Cadence application program that automatically generates symbol cellviews for schematic capture and subsequent simulation processes. TSG provides a quick way to generate a symbol from a list of pins in a TSG file. ■ Symbol and Simulation Library Generator on page 623 The Cadence SKILL-based symbol and simulation library generator (S/SLG) is a library management program that generates symbol and simulation views. October 2002 264 Product Version 5.0 Virtuoso Schematic Composer User Guide 6 Automatically Creating Cellviews This chapter discusses the following topics: ■ Features of Creating Cellviews on page 266 ■ Automatically Creating a Cellview from Another Cellview on page 266 ■ Automatically Creating a Cellview from a Pin List on page 274 ■ Automatically Creating a Cellview from an Instance on page 275 ■ Editing Symbol Generation Options on page 277 ■ Specifying Symbol Generator Pin Sorting on page 303 October 2002 265 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews 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 Refer to the Cadence® SKILL-based library management program Symbol and Simulation 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 can automatically create a symbol from a schematic. Automatic cellview creation can be very useful 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. October 2002 266 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews The Cellview From Cellview form appears. By default, the software initializes the form with information about the cellview currently open (the default cellview). 2. Use a different cellview as the source of the port/pin information by changing the Library Name, Cell Name, and From View Name fields. 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 Type cyclic field do not contain the desired view or conversion function, you must modify the schViewToPinListReg list or the schPinListToViewReg list, which are defined in your schConfig.il file. 4. Display the cellview in a new window by turning on the Display Cellview button. 5. Edit various cellview creation options by turning on the Edit Options button. 6. Click OK. When generating a symbol, the Symbol Generation Options form appears if you turned on 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 either replace the cellview, modify it (symbol cellview only), or cancel the command. October 2002 267 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews From this point, the exact behavior of the command depends on the type of data being created. Replacing an Existing Symbol Cellview You can replace or modify existing symbol cellviews. You can only replace (not modify) all other 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 box appears. 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; all schematic instances, schematic wires, and HDL body text are lost ❑ May alter the position of pins in the new symbol cellview 4. Click Replace. October 2002 268 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews The Symbol Generation Options form appears. 5. Click OK. 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 272. October 2002 269 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews 6. Click Yes. Modifying an Existing Symbol Cellview You can replace or modify existing symbol cellviews. You can only replace (not modify) all other types of existing cellviews. 1. In the schematic editor, choose either Design – Create Cellview – From Cellview or Design – Create Cellview – From Pin List. 2. Click OK. If the symbol cellview to be created already exists, the Create Cellview dialog box appears. Caution Modifying a symbol cellview does the following: ❑ Automatically edits the cellview with a minimal amount of changes to the current pin locations, 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 these new pins and to adjust any symbol graphics. The system determines attributes 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 cellview and in the Command Interpreter Window (CIW) October 2002 270 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews ❑ 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 273. 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 – From Cellview from a schematic that had the pins { a bb ccc dddd eeeee f gg hhh iii k ll mmm }. The following changes were then made to the schematic: ■ Deleted input pin bb ■ Deleted inputOutput pin iii ■ Added input pins wwwwww and zz October 2002 271 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews ■ Added inputOutput pin ii All three figures show pin a at the exact same location, (X,Y) = (0,0) which is the symbol’s origin point. By default, TSG puts the top-most left pin at the origin of the symbol. Figure 6-1 The Symbol 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 other unaffected 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 by the deletion of pin bb. October 2002 272 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews ■ Although the ordering and number of pins along the top is similar to the original (with new pin ii replacing pin iii), all four top pins have moved down by one-half a grid (due to the shorter label). ■ Due to the length of new or deleted pin names, the graphic has been recalculated in size accordingly. 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 ll mmm} at their original locations. The new pins {wwwwww, zz, ii} have been placed at the bottom of the cellview, outside of the bounding box of the original symbol. The pin and pin names {bb, iii} have been deleted, but the graphic pin line (pin stub) remains to show the position of the pins that were deleted. If necessary, you can delete these graphic pin lines using the symbol editor. Also shown is the note used to describe the changes that were made to the symbol. October 2002 273 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews 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 from existing pins, such as those from the basic pin library, or you can create the cellview from new pin names. 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 currently open (the default cellview). October 2002 274 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews 3. If you want to use a different cellview as the source of the port/pin information, change the Library Name, Cell Name, and View Name fields. Note: If either theView Name field or the Tool / Data Type cyclic field does not contain the desired view or conversion function, you must modify the schViewToPinListReg list or the schPinListToViewReg list, both of which are defined in your schConfig.il file. 4. If you want the system to display the cellview in a new window, turn on the Display Cellview 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 turned on 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 the form. 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. October 2002 275 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews 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 you turn on Display Cellview, the system displays the cellview in a new window. October 2002 276 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews Editing Symbol Generation Options The Symbol Generation Options form displays the property and attribute settings that the text-to-symbol generator (TSG) uses to generate symbols. The software loads the default form settings from a template file, which you specify using the tsgTemplateType environment variable. This section discusses the following tasks: ■ Adding, Changing, and Reordering Pin Names on page 278 ■ Editing Pin Attributes on page 280 ■ Loading and Saving a TSG Template File on page 282 ■ Editing Symbol Attributes on page 285 ■ Editing Symbol Labels on page 286 ■ Creating a New Label on page 289 ■ Deleting Labels on page 291 ■ Modifying Label Attributes on page 293 ■ Editing Properties on page 296 ■ Creating a New Property on page 297 ■ Deleting Properties on page 299 ■ Modifying Property Attributes on page 301 October 2002 277 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews Adding, Changing, and Reordering Pin Names To add, change, or reorder pin names, do the following: 1. Choose either Design – Create Cellview – From Cellview or Design – Create Cellview – From Pin 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 278 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the Cellview From Cellview form. 4. To space pins further apart, add one or more asterisk ( * ) in the Left Pins, Right Pins, Top Pins, and Bottom Pins fields. 5. Click OK. October 2002 279 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews This setting results in the following: INPUTA OUTPUTA INPUTB INPUTC OUTPUTB Editing Pin Attributes To edit the attributes of a pin, do the following: 1. Choose either Design – Create Cellview – From Cellview or Design – Create Cellview – From Pin 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 Symbol Generation Options form. October 2002 280 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews The Symbol Generation Options form appears. By default, the software initializes the form with information from the current cellview and the Cellview From Cellview form. 4. Select List from one of the Attributes cyclic fields. The pin attributes form appears. left pin attributes The banner title on the form indicates left, right, top, or bottom pin attributes. October 2002 281 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews 5. Use the Direction cyclic fields to change the direction of the pins. 6. Use the Pin Graphic cyclic fields to change the graphic of the pin. 7. Click OK. Loading and Saving a TSG Template File The TSG template file contains the default property and attribute settings that appear on the Symbol Generation Options form. The software loads the TSG template file the first time you use one of the Create Cellview commands to automatically generate a symbol. You use the tsgTemplateType environment 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 Cellview or Design – Create Cellview – From Pin 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 Symbol Generation Options form. October 2002 282 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews The Symbol Generation Options form appears. By default, the software initializes the form with information from the current cellview and the Cellview From Cellview form. 4. Turn on Load/Save. October 2002 283 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews The Symbol Generation form expands to display the template data fields. your_install_dir/tools/dfII/samples/symbolGen/ 5. In the Load / Save Symbol Template Configuration section, type the path to the TSG template file. 6. Click Load or Save. The system initializes the Load / Save Symbol Template Configuration section of the form with the values from the specified TSG file. The software builds all subsequent symbols using the new values. October 2002 284 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews Editing Symbol Attributes To edit symbol attributes, do the following: 1. Choose either Design – Create Cellview – From Cellview or Design – Create Cellview – From Pin 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 285 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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 Cellview or Design – Create Cellview – From Pin List. October 2002 286 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 287 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the Cellview From Cellview form. 4. Turn on Edit Labels. October 2002 288 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Cellview or Design – Create Cellview – From Pin List. October 2002 289 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 290 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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 during symbol generation. Deleting Labels To delete a symbol label from the Label cyclic field, do the following: 1. Choose either Design – Create Cellview – From Cellview or Design – Create Cellview – From Pin List. October 2002 291 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 292 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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 Cellview or Design – Create Cellview – From Pin List. October 2002 293 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 294 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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. October 2002 295 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews Editing Properties To modify edit properties, do the following: 1. Choose either Design – Create Cellview – From Cellview or Design – Create Cellview – From Pin 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 296 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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 Cellview or Design – Create Cellview – From Pin List. October 2002 297 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 298 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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 created during symbol generation. Deleting Properties To delete properties, do the following: 1. Choose either Design – Create Cellview – From Cellview or Design – Create Cellview – From Pin List. October 2002 299 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 300 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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 Cellview or Design – Create Cellview – From Pin List. October 2002 301 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically 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 Symbol Generation Options form. The Symbol Generation Options form appears. October 2002 302 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews By default, the software initializes the form with information from the current cellview and the 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 location fields. 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 alphanumerically by pin name (default) or geometrically according to the pin’s relative position in the source schematic view. To specify how TSG sorts the pins, do the following: 1. Choose Design – Options – Editor. The Editor Options form appears. October 2002 303 Product Version 5.0 Virtuoso Schematic Composer User Guide Automatically Creating Cellviews 2. In the Command Controls section of the form, set the Symbol Generator Pin Sorting option to 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 ssgSortPins environment variable. The system uses this variable when you choose Design – Options – Save Defaults. It is also available as arguments to the schGetEnv and schSetEnv procedural interface SKILL functions. October 2002 304 Product Version 5.0 Virtuoso Schematic Composer User Guide 7 Editing Objects This chapter discusses commands such as Copy, Move, Stretch, and Delete. The next chapter discusses Edit Properties commands. ■ ■ Using Direct Manipulation on page 306 ❑ Direct Manipulation Operations on page 307 ❑ Turning Off Direct Manipulation on page 308 Undoing and Redoing an Edit on page 308 ❑ ■ ■ ■ Changing the Undo Limit on page 308 Stretching on page 309 ❑ Stretching with the Schematic Editor on page 310 ❑ Stretching with the Symbol Editor on page 313 ❑ Stretching with Direct Manipulation on page 315 ❑ Stretching with Bindkeys on page 316 Copying on page 316 ❑ Copying Single Objects on page 317 ❑ Copying Arrays of Objects on page 317 ❑ Copying Across Cellviews on page 318 ❑ Copying with Direct Manipulation on page 318 ❑ Copying with Bindkeys on page 319 Moving on page 319 ❑ Moving Objects on page 320 ❑ Moving with Direct Manipulation on page 321 October 2002 305 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects ❑ ■ ■ Moving with Bindkeys on page 322 Deleting on page 322 ❑ Deleting Preselected Objects on page 323 ❑ Deleting Postselected Objects on page 323 ❑ Deleting Sheet Borders on page 324 Rotating on page 324 ❑ Rotating Preselected Objects on page 324 ❑ Rotating Postselected Objects on page 325 ❑ Rotating with Direct Manipulation on page 326 ❑ Rotating with Bindkeys on page 326 ■ Discarding Edits on page 327 ■ Alternating Symbol Views on page 327 ■ ❑ Changing the View of a Preselected Object on page 327 ❑ Changing the View of a Postselected Object on page 328 Toggling Objects on page 328 ❑ Toggling Pin Direction Options on page 328 ❑ Toggling Wire Draw Mode Options on page 328 ❑ Toggling Instance Symbol View Options on page 329 Using Direct Manipulation Direction manipulation is one of the quickest ways to edit an object. You use the mouse, rather than 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 create an object. October 2002 306 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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 October 2002 307 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects Turning Off Direct Manipulation To turn off direct manipulation, do the following: 1. Open the schBindKeys.il file located in the your_install_dir/tools/dfII/samples/local directory. 2. Comment out schDirectEdit(1), schDirectEdit(2), and schDirectEdit(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 future sessions. 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 at a time, the last 10 levels of edit commands. You can set the undo limit between 0 and 10 using the Options – 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. October 2002 308 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects The User Preferences form appears. 2. Move the Undo Limit slider to the limit you want. 3. Click OK. Stretching Use the Stretch command to reposition the placement of objects in your design without losing connectivity 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) and associated 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 when necessary The Stretch command supports partially selected wire vertexes. The remaining nonselected vertexes are anchored in place. October 2002 309 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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. October 2002 310 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects Note: If you select objects other than instances, wires, or schematic pins, they move instead of 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 default settings. Before the stretch, showing a selected instance INPUTA IO Y A OUTPUTA inv INPUTA OUTPUTA During the stretch process IO Y A inv INPUTA After stretching an instance OUTPUTA IO Y A inv To reroute wire segments, do the following: ➤ On the Stretch form, turn on Reroute Wire Segments Connected To Instance. October 2002 311 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects The following diagram illustrates stretching an instance named I1. I1 (a) (b) When you set Reroute Wire Segments Connected To Instance to off, the rubberband lines begin at the wire (a). When you set Reroute Wire Segments Connected To Instance to on, the rubberband lines begin at the pin (b). October 2002 312 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects Stretching a Wire The following diagram shows how to stretch a wire using the schematic editor default settings. INPUTA IO Y A OUTPUTA During the stretch process inv INPUTB IO Y A inv After the stretch process INPUTA IO Y A OUTPUTA inv IO Y A inv You can stretch a wire in any direction. The editor reroutes the wire and maintains connectivity. 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 the following: 1. Choose Edit – Stretch. 2. Click once on an edge or a vertex of a shape or an endpoint of a line. October 2002 313 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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. Stretch 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. October 2002 314 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects Stretching Edges, Vertexes, or Endpoints The following diagram shows how to stretch partially selected objects in the symbol editor. Before After The edge of a shape ✘ The vertex of a shape ✘ The endpoint of a line ✘ 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. October 2002 315 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects 2. Drag and release the mouse button to complete the stretch. Before stretching an instance INPUT IO Y A OUTPUT inv INPUT OUTPUT During the stretch process IO Y A inv INPUT OUTPUT IO Y After stretching an instance A inv 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 October 2002 316 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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 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. 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. October 2002 317 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects 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. Copying Across Cellviews You can copy objects from one cellview to another. Copied objects remain attached to the cursor when you move the cursor into another window containing a schematic or symbol cellview. 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. 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. October 2002 318 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects 2. Press the Shift key, and click and drag the mouse. When you release the mouse button, the original object is copied and placed. Before copying INPUT A IO Y OUTPUT inv After copying INPUT A IO Y OUTPUT INPUT A I4 Y OUTPUT inv inv 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 Move command to reposition objects in your design. Unlike the Stretch command, the Move 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 October 2002 319 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects ■ 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 work with partially selected objects, only the selected vertexes move while the other vertexes or 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. 3. Click a destination for the object. Before moving INPUT IO Y A OUTPUT inv INPUT OUTPUT IO After moving A Y inv 4. To change Move command options, press F3. October 2002 320 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects The Move form appears. After a move, all connectivity breaks between the selected object and the objects to which it was 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: 1. Place the pointer over an object. 2. Press the Control key, and click and drag the mouse. October 2002 321 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects You are now in the Move command. When you release the mouse button, the object is placed. Before moving INPUT IO Y A OUTPUT inv INPUT OUTPUT IO After moving A Y inv 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 Delete command ends after the selected objects are deleted. ■ You can select an object after you use the Delete command (postselection). When you postselect objects, press the Esc key to end the Delete command unless you want to delete another object. To be sure the Delete command is no longer active, check the prompt line at the bottom of the window in which the cellview is displayed. ■ You can recover an object that you deleted by mistake by choosing Edit – Undo. October 2002 322 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects ■ You can delete an instance and the wires that connect to it by using extended selection with the Delete command. You cannot use the Delete command to delete ■ Sheet borders To remove sheet borders, use the Sheet – Edit Size command. ■ 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 on preselected objects. You can also delete objects by pressing the Delete key. Deleting Postselected Objects If you prefer to use the Delete command first and then select the object you want to delete, do the 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 the Esc key or by starting another command. You can also delete objects by pressing the Delete key. October 2002 323 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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. Change Sheet Border Size 2. Set the Border Type to none. 3. Click OK. Rotating The Edit – Rotate command rotates objects counterclockwise, sideways, or upside down. A B B A A B A B Rotate turns objects 90 degrees. Sideways flips objects from side to side. A B A B Upside Down flips objects from top to bottom. A B B A Rotating Preselected Objects To rotate a preselected object, do the following: 1. Click on the object you want to rotate. October 2002 324 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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. October 2002 325 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects The Rotate form appears. 3. Change the option setting. Rotating with Direct Manipulation To rotate objects while in the Move, Copy, Stretch, Add – Instance, Add – Pin, Add – Wire, Add – Note Text, or Add – Label command, 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 – Label command, 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 October 2002 326 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects Discarding Edits To discard edits you made since the last save, do the following: 1. Choose Design – Discard Edits. The following dialog box appears. Discard Edits 2. Click Yes or No. If you click Yes, the edits are discarded and the last version saved appears. If you click No, the edits are retained. Alternating Symbol Views When you create a schematic, you might find it convenient for a particular library cell to have more than one symbol representation. These different symbols might represent deMorgan equivalents or adhere to different drafting standards. Use the Edit – Alternate View command to switch between the different symbol representations. Changing the View of a Preselected Object To change symbol views for a preselected object, do the following: ➤ Choose Edit – Alternate View. October 2002 327 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects 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 last view, the command redisplays the first view. Toggling Objects Use bindkeys to toggle an object while in the Add – Pin or 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. 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 mode that you specify on the Add Wire form. Use your mouse to cycle through the possible draw modes (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. October 2002 328 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects 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 nand2 symbolNeg view), do the following: 1. Choose Add – Instance. 2. Press the Shift key and click right to cycle through the options. Editing the Display Configuration of a Component This section describes the following topics: ■ Changing the Display Configuration of Instance IL Labels on page 330 ■ Saving the Current Label Display File on page 332 ■ Loading the Current Label Display File on page 332 ■ Attaching the Label Display File to the Library on page 333 ■ Detaching the Label Display File from the Library on page 334 ■ Setting the Simulation Data Directory on page 335 October 2002 329 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects Changing the Display Configuration of Instance IL Labels You can edit the display configuration of instance IL labels (cdsName, cdsTerm, and cdsParam) that you created using the Add – Label command from the symbol editor or from the instances supplied with the analog circuit designer. IL labels (labels generated automatically during automatic symbol generation) are evaluated when an instance of a symbol containing the IL label is instantiated in a schematic. To change the display configuration of instance IL labels (cdsName, cdsTerm, and cdsParam), do the following: 1. Choose Edit – Component Display. 2. Point to an instance label in your design. October 2002 330 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects The system checks the design for errors. The Edit Component Display form appears and expands 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 To field, click library, cell, and/or instance, to which to apply the label display configuration. 5. Click OK. October 2002 331 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects For more details about annotating the schematic with label information, refer to the section on annotating schematics in the Analog Circuit Design Environment User Guide. For details on the Edit Component CDF form, see the label information chapter in the Component Description Format (CDF) 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: October 2002 332 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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 label display configuration. 3. Click OK. Attaching the Label Display File to the Library You can save the current label display configuration to a temporary file and attach the file to the library. You can then load the file automatically when you open the library. To save the current label display configuration, do the following: October 2002 333 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects 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 attaches the 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 display to the library. Detaching the Label Display File from the Library To remove the attached label display configuration from the library, do the following: 1. From the Edit Component Display form, click Detach. 2. Click OK. The system removes the attached label display configuration from the library. October 2002 334 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects The CIW displays a message saying that the system detached the current label display file from the library or that there was no label display file to remove from the library. 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. October 2002 335 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Objects October 2002 336 Product Version 5.0 Virtuoso Schematic Composer User Guide 8 Editing Properties This chapter describes how to find and edit object properties. ■ Searching for Objects That Have a Specific Property on page 339 ❑ ■ Search String Wildcards on page 341 Replacing Properties on page 341 ❑ Replacing String-Tagged Characters on page 343 ❑ Selecting Objects Automatically by Type on page 349 ❑ Selecting Objects by Property on page 351 ❑ Adding a Property Name to the Search List on page 352 ■ Selecting Objects by Filtering on page 353 ■ Object and Cellview Property Types and Values on page 354 ■ Editing Object Properties on page 356 ■ ❑ Applying Edits to Objects and Displaying Object Types on page 356 ❑ Adding Object Properties on page 357 ❑ Deleting Object Properties on page 358 ❑ Modifying Object Properties on page 359 Editing Specific Object Properties on page 360 ❑ Editing Instance and Block Properties on page 360 ❑ Editing Pin Properties on page 362 ❑ Designating the Order of Pins on page 362 ❑ Copying a Pin Order from Another Cellview on page 363 ❑ Resolving Pin Order Mismatch on page 364 October 2002 337 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties ■ ■ ❑ Verifying Pin Order on page 364 ❑ Editing Pin Name Properties on page 365 ❑ Editing Wire Properties on page 365 ❑ Editing Wire Name Properties on page 366 ❑ Editing Instance Pin Properties on an Instance of a Block on page 367 ❑ Editing Label Properties on page 368 ❑ Resetting Invisible Labels on page 369 ❑ Editing netSet Properties on page 371 ❑ Editing Note Text Properties on page 371 ❑ Editing Note Shape Properties on page 373 ❑ Editing Symbol Shape Properties on page 374 ❑ Editing Symbol Pin Properties on page 375 ❑ Editing Symbol Label Properties on page 376 ❑ Editing Symbol Selection Box Properties on page 377 ❑ Editing User-Defined Object Properties on page 378 ❑ Passing Parameters in a Design on page 380 Editing Cellview Properties on page 381 ❑ Adding Cellview Properties on page 382 ❑ Deleting Cellview Properties on page 383 ❑ Modifying Cellview Properties on page 384 ❑ Editing VHDL Properties on page 385 ❑ Adding VHDL Properties on page 386 ❑ Deleting VHDL Properties on page 387 ❑ Modifying VHDL Properties on page 388 Setting the Tool Filter on page 388 October 2002 338 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Using Command Shortcuts Direct editing (or direct manipulation) is the quickest way to edit or create an object. You can use your mouse to start the following command operations, rather than selecting a menu command 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 Searching for Objects That Have a Specific Property Use the Edit – Search – Find command to find objects that have a property that matches your specific search criteria. To find objects that have a specific property, do the following: 1. Choose Edit – Search – Find. October 2002 339 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 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 For cyclic field to other, the Add New Property to Find/ Replace form appears. When you click OK, the new name appears in the cyclic field on the Find form. 3. Specify the value of the property in the text entry field on the Find form. The asterisk ( * ) matches zero or more occurrences of any characters. 4. Click Apply. When a 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 a list. To display the list of matches, click the List All button. October 2002 340 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties ❑ 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. Search String Wildcards Wildcards help you replace properties easily using partial string substitution. You can use one or more wildcards or tagged fields in the search and replace fields on the Replace form. Search String Wildcards 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. The system counts each occurrence of an “ * ”, “ . ” or “[c..]” as one single wildcard, except when the “ . ” and “ * ” appear together, in that order. In this case, the system counts the two together as one wildcard only. Replacing Properties Use the Edit – Search – Replace command to find objects that have a property that matches the search criteria you specify on the Replace form. You can then replace the property or the value 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 for and the cellview that contains the replacement property. To find and replace properties, do the following: October 2002 341 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 1. Choose Edit – Search – Replace. 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 For cyclic field to other, the Add New Property to Find/ Replace form appears. When you click OK, the new name appears in the cyclic field on the Find form. 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 match exists, a dialog box confirms no objects were found. October 2002 342 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 5. On the Replace form, do one of the following: ❑ Click ReplaceAll to replace all property names and values in the list with the new property names and property values. ❑ Use the Replace and Skip buttons to view individual matches and apply the replacement property name and value as desired. Replacing String-Tagged Characters In the Virtuoso® schematic composer, you can use partial strings and wildcards in searchand-replace statements. The table below and the following examples describe the process. Replace String-Tagged Characters 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 nine wildcards in the search pattern are tagged. If a tagged field that is used in 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 wildcards exist 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 the corresponding 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. 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} October 2002 343 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Example 2 You can specify the tagged fields in any order in the replace string. If you want to swap the start and end values for all buses with prefix ABC, enter the following: Search: ABC<*:*> Replace: ABC<{2}:{1}> The {2} tag in the replace string corresponds to the characters represented by the second asterisk in the search string, while {1} corresponds to the characters represented by the first asterisk 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 first asterisk 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 the asterisk in the search string. Example 5 You can use any combination of wildcards in the search string. To search for net names A1B1C1, A2B2C2, and so forth, and replace them with P1Q1R1, P2Q2R2, and so forth, you can enter any one of the following: Search: A[0-9]B[0-9]C[0-9] or A.B.C. or A*B*C* or A[0-9]B.C. or October 2002 344 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties A.B[0-9]C[0-9] or A*B.C. or A.B*C* Replace: P{1}Q{2}R{3} or P*Q*R* Example 6 A tagged field can appear any number of times in the replace string. If you want to replace AfooB 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 a different tag except when a “ . ” and “ * ” appear together, in that order. In this case, the wildcards 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 CxD and not CxyzD because the “ * ” in the replace string is interpreted as the first tagged field, which is the wildcard “ . ”. To achieve the desired result, you can use C***D or 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 tagged field 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} October 2002 345 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 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 Replace: A\*B The \ before “ * ” in the replace string indicates that the asterisk be treated as a literal and not as a wildcard. If you had an array A[1], A[2], A[3] … A[n] and you wanted to replace all square brackets by 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 tagged field. 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 following the second backslash in the replace pattern is treated as a wildcard. If the replace string is A\\\*\\\* instead, then the result is A\*\*. Example 9 If the search string does not have a wildcard character and the replace string does, a substitution 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 not as wildcards. October 2002 346 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Example 10 If you had more than nine wildcards in the search-and-replace strings, only the first nine in the replace string can be substituted correctly. The rest are substituted with empty strings. Suppose you want to search for a string A1B2C3D4E5F6G7H8I9JKL by P1Q2R3S4T5U6V7W8X9YKZ: Search: A*B*C*D*E*F*G*H*I*J*L Replace: P*Q*R*S*T*U*V*W*X*Y*Z The result is P1Q2R3S4T5U6V7W8X9YZ. The last “ * ” in the replace string gets substituted by an empty string and not the substring corresponding to the last “ * ” in the search string. 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 a starting point called the reference point for the edit. The reference point is usually in the middle 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 by pressing the Escape key. To change the default to nonrepeating, do the following: 1. Choose Options – Editor. The Editor Options form appears. 2. Turn Modal Commands off. 3. Click OK. Using Modal (Repeating) Commands You do not have to repeatedly select a command if you plan to perform the same task several consecutive times. For example, editing commands automatically repeat when the modal commands option is set to on (the default). October 2002 347 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Selecting Objects by Filtering The Symbol Selection Filter form and the Schematic Selection Filter form let you specify which object types you can select manually for editing. This is especially useful when you have 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 capabilities for 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. If you are in the symbol editor, the Symbol Selection Filter form appears. October 2002 348 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 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 select for editing. The option none turns off all object types. 3. Click OK. 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. October 2002 349 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties If you are in the schematic editor, the Schematic Select All form appears. If you are in the symbol editor, the Symbol Select All form appears. Symbol Select All 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. October 2002 350 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Note: This command does not modify the selection filter settings that you set using Options – Select – Filter. Selecting Objects by Property You can limit the selection set by specifying that the software select only those objects with certain 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. October 2002 351 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties You usually look for objects that have a particular property value. You can also use the relational operator cyclic field to control which objects are selected. 3. Click Show Object Filter to make sure the object type is selectable. 4. Click OK. The software highlights the specified objects in the design window. 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 list using 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. Add New Property for Search October 2002 352 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 3. In the Property Name field, 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 Symbol Select By Property form. Selecting Objects by Filtering The Selection Filter form lets you specify which object types you can select manually for editing. This is especially useful when you have 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 capabilities for pins only. As a result, if you 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. If you are in the symbol editor, the Symbol Selection Filter form appears. October 2002 353 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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 select for 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 field on 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 October 2002 354 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Property Type Description ILList SKILL list NLPExpr Expression evaluated by the netlister substitution language fileName Name of a file time Time and date hierProp No value Object and cellview property values must correspond to the property type shown in the Type cyclic 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 maximum value to define a range. ■ The minimum and maximum values must be valid for the int or float type. The value can be 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 separated by spaces. ■ The individual word specified represents the only possible values for this property. If the Choice 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 October 2002 355 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Editing Object Properties Properties describe specific characteristics of a design object, such as values of wires and pins. You can add, delete, or modify properties. This section provides information about the following: ■ Applying Edits to Objects and Displaying Object Types on page 356 ■ Adding Object Properties on page 357 ■ Deleting Object Properties on page 358 ■ Modifying Object Properties on page 359 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 To option consists of up to three cyclic fields that you use to specify the group of objects whose properties you want to edit. A current object exists when you select multiple objects in a selected set. The current object is highlighted in a color different from the selection highlight. When you configure the Apply To cyclic fields to apply changes to multiple objects, the system highlights all affected objects (other than the current object) in a different color. October 2002 356 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 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. 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. October 2002 357 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 6. On the Edit Object Properties form, click OK to add the properties to the database object. 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 database object. October 2002 358 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Modifying Object Properties To modify 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 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 Object Properties form. 6. On the Edit Object Properties form, click OK to modify the properties on the database object. October 2002 359 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Editing Specific Object Properties Before you can edit object properties, you must be in edit mode. You can edit object properties that describe the following objects: 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 You can also edit System properties Cellview properties User-defined properties VHDL properties CDF properties Analog Design Environment properties Caution To avoid confusion when text, labels, or names actually contain underscore characters, Cadence does not recommend that you enable the Overbar display option. It is provided only for backward compatibility with prior releases. 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. October 2002 360 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. Edit Object Properties 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 your schematic If you clicked on a block in your design, ❑ The Magnification, Origin, and FreezePinCreate fields appear when you enable the Show system field To automatically add a pin when you add a wire to a block, turn on FreezePinCreate. You can change the direction and name of a block pin when you enable the Show system button. To change the Instance Name default field, see Changing the Default Instance Name Prefix. October 2002 361 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 3. Click OK. 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. Edit Object Properties 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 order either manually or by copying. Note: CDLOUT, Verilog-XL Integration, and VHDL Integration support the portOrder property. To manually redefine the logical pin ordering for netlisting, do the following: October 2002 362 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 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. 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. October 2002 363 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 3. Choose a view name from which to copy the pin order from the available choices on the form. 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 cellview that is out of order with the current pin order. Port Order Mismatch The following views of "test1/sheet001" are out of sync with "test1/sheet001" schematic port order. View functional State Ports are out of order The view name that is out of order Action Requires Manual Update The reason the view is out of order The action you can take to resolve the mismatch 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, this command opens the Edit Pin Order form so you can verify or redefine the new pin ordering. October 2002 364 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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. Edit Object Properties 3. Change the Height, Font, or Justification fields. 4. Click OK. 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. October 2002 365 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. Edit Object Properties 3. Edit the width value of the wire. 4. Click OK. 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. October 2002 366 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. Edit Object Properties 3. Change the Height, Font, or Justification fields. 4. Click OK. 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. October 2002 367 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. Edit Object Properties 3. Click Add, Delete, or Modify. 4. Edit the form that appears. 5. Click OK on both forms. 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. October 2002 368 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. Edit Object Properties 3. Change the Height, Font, or Justification fields. 4. Click OK. Resetting Invisible Labels If you turned off label display on the Edit Object Properties form while editing a label, you can do 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. October 2002 369 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties All the visible labels appear as nonbinding 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 remain visible when you quit the command. When you click again on a label to deselect it, it starts blinking again, indicating it will remain 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. The Reset Invisible Labels form appears. Reset Invisible Labels 1. Turn on visible. All the invisible labels remain highlighted but stop blinking. 2. Click Hide to close the Reset Invisible Labels form. 3. Press the Esc key to end the command. The selected labels remain visible in your design, regardless of the Selection Filter settings. October 2002 370 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Editing netSet Properties Refer to Adding Net Expression Labels to Create an Inherited Connection on page 167 and Adding netSet Properties to Create an Inherited Connection 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. The Edit Object Properties form appears and displays text in the Note Text field. Edit Object Properties You can type a note to document your design. You can also read in (or import) an ASCII file from disk. 3. Make your changes using the keystrokes on the following table. 4. Click OK. October 2002 371 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 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 ■ Delete text Editing Commands Key Sequences Adding text Adds a new line Return, Shift-Return, Control-j, ControlReturn, 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) October 2002 372 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties Editing Commands Key Sequences 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 Moves to beginning of line Control-a Moves the cursor forward to the next 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 Note Shape Properties To change the line property of a note shape from a solid line to a dashed line or to reposition a note shape using coordinates, do the following: 1. Click a note shape in your design. October 2002 373 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 2. Choose Edit – Properties – Objects. 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. Editing Symbol Shape Properties To change the width property of a symbol shape from narrow to wide or to reposition a symbol shape using coordinates, do the following: 1. Click a symbol shape in your design. 2. Choose Edit – Properties – Objects. October 2002 374 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. The form appearance changes to show all properties for the type of object selected. Edit Object Properties 3. Change Width or the position of the symbol shape. 4. Click OK. You can also use the Move or Stretch commands for repositioning. 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. October 2002 375 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. The form appearance changes to show all properties for the type of object selected. Edit Object Properties 3. Change the Direction cyclic field of the symbol pin. 4. Click OK. 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. October 2002 376 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. The form appearance changes to show all properties for the type of object selected. Edit Object Properties 3. Change the properties of the label and click OK. 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. October 2002 377 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Object Properties form appears. Edit Object Properties 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. Editing User-Defined Object Properties To edit visible user-defined object properties, values, and their display attributes, do the following: 1. Click the object property. 2. Choose Edit – Properties – Objects. The Edit Object Properties form appears. The form’s appearance depends on whether you click the property master or a property instance. October 2002 378 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties When you select a user-defined property master, the form displays values for Master Value and Local Value. Edit Object Properties You cannot edit the Master Value field. October 2002 379 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties When you select a user-defined property instance, the Edit Object Properties form displays values for Name and Value. Edit Object Properties 3. Change the property values of Local Value, Height, Font, or Justification. 4. Click OK. Passing Parameters in a Design To pass a parameter from the symbol view to the schematic, set up a CDF parameter for the parameter under consideration. Do the following: 1. In the schematic, choose Edit Properties – Object on the instance and change the value of the instance parameter from a fixed value to, for example, pPar("rb"). 2. Create the symbol view by choosing Create Cellview – From cellview and make appropriate drawing shape changes to the symbol. 3. Save the symbol view. 4. Edit the CDF for this component (CIW – Tools – CDF – Edit). The Edit Component CDF form appears. October 2002 380 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 5. Make sure the CDF type is BASE, and click Add in the Component Parameters section to add the component parameter rb (from the example above). The Add CDF Parameter form appears. 6. In the Add CDF Parameter form, a. Set paramType to string. b. Set parseAsNumber to yes. c. Set the units cyclic field to an appropriate value. d. Set parseAsCEL to yes. e. Set name to rb. f. Set prompt to the value you want the system to display as the prompt. g. Set defValue to an appropriate value. Leave all other fields as they are. Note: Do not use artParamInToolDisplay('rb) in the display field. Leave the display field blank if you always want this parameter to show up in the Add Component, Edit Property, and Create Instance forms. The default is to always display the parameter. 7. Click OK on both the Add CDF Parameter and Edit Component CDF forms. When placing an instance, specify a value for rb and it will get passed to the schematic view. Editing Cellview Properties While using the Edit – Properties – Cellview command, you can add, delete, and modify the properties that appear on the form. To add, modify, or delete properties, open a subform. You use the subform to specify the property 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 the design window. To display cellview properties that you want to edit, do the following: 1. Choose Edit – Properties – Cellview. October 2002 381 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Edit Cellview Properties form appears. Edit Cellview Properties 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. October 2002 382 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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. Add Property 4. Type a new property name, and give it a value. 5. Click OK. 6. On the Edit Cellview Properties form, click OK. 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. October 2002 383 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Delete Property form appears. Delete Property 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. The Edit Cellview Properties form appears. 2. Set the Show option to user. 3. Click Modify. October 2002 384 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Modify Property form appears. Modify Property 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 the following: 1. Choose Edit – Properties – VHDL. October 2002 385 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The VHDL Properties form appears. VHDL Properties 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 User Guide for the Virtuoso Schematic Composer. 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. October 2002 386 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties The Add Generic form appears. Add Generic 3. Type a generic name, a type, and a value. 4. Click OK. 5. On the VHDL Properties form, click OK. 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. Delete Generic 3. Type the generic name you want to delete. October 2002 387 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties 4. Click OK. 5. On the VHDL Properties form, click OK. 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. Modify Generic 3. Type a generic name, a type, and a value. 4. Click OK. 5. On the VHDL Properties form, click OK. Setting the Tool Filter This section explains how to edit analog circuit design properties using the Tool Filter. To display the analog circuit design simulators that are active in your cellview, do the following: 1. Choose Edit – Properties – Tool Filter. October 2002 388 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing 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. By default, spectre, spectreS, auCdl, and auLvs are selected on the Tool Filter form. You can override this default by setting auCore.toolFilter defaultTools in your $HOME/.cdsenv file. You can also change the default within your entire site by changing the dfII/etc/tools/auCore/.cdsenv file. For example, if you want to specify only spectre as the active default, add the following to your .cdsenv file: auCore.toolFilter defaultTools string "spectre" nil 4. Select the tools for the Tool Filter display. 5. Click OK. October 2002 389 Product Version 5.0 Virtuoso Schematic Composer User Guide Editing Properties October 2002 390 Product Version 5.0 Virtuoso Schematic Composer User Guide 9 Traversing the Design Hierarchy and Creating a Design Configuration View This chapter provides information about the following topics: ■ About the Design Hierarchy on page 392 ■ Exploring the Design Hierarchy on page 393 ■ About the Configuration View of a Design Hierarchy on page 396 ■ About the Hierarchy Editor on page 397 ■ Traversing a Design Hierarchy on page 398 ■ Displaying the Current Hierarchical Scope on page 405 ■ Creating a New Configuration View for the Design Hierarchy on page 405 ■ Opening an Existing Design Configuration View on page 406 ■ About the Hierarchy Editor within the Schematic Composer on page 408 ■ Working with a Design Configuration within the Schematic Composer on page 408 October 2002 391 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View About the Design Hierarchy A design hierarchy comprises many levels of a single design. Each time you descend into the design hierarchy, you view a smaller division of the larger design in greater detail. Working in smaller divisions of a design lets you more effectively distribute work across multiple design engineers or groups. A single instance in a hierarchical design typically represents multiple types of different models. For example, an ASIC may include an underlying gate-level schematic, a layout, or a number of different behavioral descriptions, or a model. A model card is a collection of default parameters for a device. A model file is a collection of model cards. The specification of model cards is different based on the tool and the interface you use. You have the flexibility to define the relationship between an instance and its various representations. You can descend into any particular lower-level design representation for examination or editing. October 2002 392 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View Exploring the Design Hierarchy The following diagram shows an ALU and an ADDR symbol view instantiated in a schematic view. schematic Top-Level Design ALU instance symbol Top-Level Schematic schematic Middle-Level Schematic ALU symbol ADDR instance symbol ADDR symbol October 2002 vhdl functional VHDL ALU text file Verilog ALU text file schematic Lower-Level Schematic 393 behavioral Verilog ADDR text file Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View The following diagram shows the path (library, cell, and view name) for each view. You can traverse into any existing view of the cell that is referenced by an instance and whose view name has a corresponding view type in a registered tool. myLib/top/schematic Top Level 64-bit microprocessor ALU instance Middle Level myLib/ALU/symbol myLib/ALU/schematic VHDL ALU text file ALU ALU myLib/ALU/vhdl ADDR instance myLib/ALU/functional Verilog ALU text file Lower Level myLib/ADDR/symbol myLib/ADDR/schematic ADDR ADDR myLib/ADDR/behavioral Verilog ADDR text file Top-Level Schematic View The following illustration emulates descending from a top-level I/O register schematic into a middle-level I/O latch schematic. October 2002 394 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View If you click the I3 IOlatch instance shown below, you descend into the schematic view (see next page) of an I/O latch for the instance named I3. I0 I1 I2 I3 Middle-Level Schematic View If you click the fflop1 component shown below, you descend from a middle-level I/O latch schematic into the lower-level fflop1 schematic (see next page). October 2002 395 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing 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 this particular design, the fflop1 schematic. The fflop1 schematic instantiates the primitive logic 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 rather than the original schematic so that you can access the expansion information. October 2002 396 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View The Cadence® hierarchy editor creates a configuration view that provides expansion information controlling how the design hierarchy can be traversed. designLib Library name pulsegen Top cell name Configuration views schematic layout mixedConfig logicConfig View names In the above example, the library designLib contains two configuration definitions with the view names mixedConfig and logicConfig. You can use the hierarchy editor to open these views. About the Hierarchy Editor The hierarchy editor is a tool you use to create and edit a configuration. A configuration is a set of rules that defines which cellviews under a top-level cell are to be considered part of the design 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 to manage 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. October 2002 397 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing 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 Design menu. When you 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 is not 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 first available view in the list. ■ Use the Design – Hierarchy – Edit In Place command to access the symbol editor from within the schematic editor environment. The schematic, while not editable, shows you the relationship of your lower-level symbol to the entire schematic. 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. If you do not have edit permission to descend, you are prompted to use read mode. 2. Select an instance in your design to descend into. When you postselect the instance using the default settings, you descend directly into the 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 for descending 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 lets you choose to go to the index sheet or a specific sheet number. October 2002 398 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View ■ 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, the Descend form opens immediately. ■ If the instance is iterated, the Descend form lets you choose the iteration number you want 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 which view you want to descend into. If the descend target is use viewNameList, type view names in a specific order in the View Name List field of the Options – Editor command. The following three forms show data for different instances. ❑ Using a single instance representing a single-sheet schematic on the Descend form. ❑ Using an iterated instance representing a single-sheet schematic on the Descend form. Descend October 2002 399 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View ❑ Using a single instance representing a multisheet schematic on the Descend form. Descend If the Descend form opens, do the following: 1. Complete the form depending on your data and options. 2. Click OK. If you select a graphic view to descend into, either the schematic editor or the symbol editor opens. If you select a text view, a text editor window opens. Some text editors automatically check your text file for syntax errors. If the editor finds errors, the Parser Error/Warnings form 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. October 2002 400 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View You descend into the symbol view of the instance to use the symbol editor while still viewing the graphics of the higher-level schematic. The schematic, while not editable, shows you the relationship of your symbol to the entire schematic. GATE_REP N1 GATE_REP instance, symbol view in the symbo editor pin1 [@instanceName] N2 N5 N3 N6 Schematic view in the symbol editor, not editable N4 Descending Using the View Name List By default, when you descend into another view, the system prompts you for the destination view. If you want to bypass this step to descend directly into a view in a certain order, you can use 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 the view name list box, do the following: 1. Choose Design – Hierarchy – Descend Edit / Read. 2. Press the F3 key. October 2002 401 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View 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 viewNameList for 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 List option to set up the precedence order for the view to 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 List field in the order in which you want to descend. For example: schematic symbol vhdl functional abstract layout synthesis The arrangement sets up the precedence order of views to use when you descend into another view. 3. Click OK. The hierarchy configuration is more powerful and flexible than the View Name List method for specifying design comparisons. You edit a hierarchy configuration using the hierarchy editor. The View Name List option does not work in configuration mode. October 2002 402 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing 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. Using OSMs to Traverse the Design Hierarchy To use object-sensitive menus (OSM), make sure you turned on the OSM option. The default is off. 1. Place the cursor over an instance. 2. Press the middle mouse button. The OSM pops up. 3. Select a Descend command. October 2002 403 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View 4. With the cursor over an open area in the descended view, use the same process to return to the previous level. Instance Stretch Copy Delete Properties ... Descend Edit ... Descend Read ... Hierarchy commands Edit In Place Create Cellview Rotate 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 October 2002 404 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View Command Bindkey Return Control-e 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 and view 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 of the current window. Info Hierarchical IO Register 6 5 Scope is: schematic (IOLatch (FFlop1 Top-level cell name Top-level view name schematic) schematic) List of the instance names you have descended into with their cell name and view name. 2. Click Close to close the dialog box. Creating a New Configuration View for the Design Hierarchy To create a new configuration view of a design and open the hierarchy editor, do the following: October 2002 405 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View 1. From the Command Interpreter Window (CIW), choose File – New – Cellview. 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. Opening an Existing Design Configuration View To open an existing design configuration view, do the following: 1. In the CIW, choose File – Open. October 2002 406 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View The Open File form appears. 2. Set View Name to config for the schematic design you want to open. 3. Click OK. The Open Configuration or Top CellView form appears. config” October 2002 407 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View 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 this configuration. 4. Click OK. Notice the window banner changes to indicate you opened the schematic view in the context of this configuration: Virtuoso Schematic Editing: mixedVHDL designA designA config schematic Config: mixedVHDL For details on opening a configuration view, refer to the Hierarchy Editor User Guide. About the Hierarchy Editor within the Schematic Composer The hierarchy editor integration with the Virtuoso® schematic composer provides a convenient way to synchronize the configuration database with the Cadence design framework II (DFII) database. From the Hierarchy-Editor menu on the schematic composer window, 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: mixed-signal circuit design environment, analog circuit design environment, Verilog®-XL simulator, and VHDL integration. The Hierarchy-Editor menu provides four commands: ■ Edit Configuration ■ Update ■ Set Instance Binding ■ Show Views Found Working with a Design Configuration within the Schematic Composer This section covers the commands available from the Hierarchy-Editor menu within the schematic composer. October 2002 408 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View ■ Opening a Hierarchy Editor Menu within the Schematic Composer on page 409 ■ Editing a Design Configuration within the Schematic Composer on page 409 ■ Setting Instance Bindings on page 409 ■ Updating a Design Configuration on page 411 ■ Building a New Inherited View List on page 411 ■ Showing Views Found on page 413 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 the inherited view list. You can also set the view to use and the inherited view list from the hierarchy editor, but the Set Instance Binding command from the schematic composer gives you 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. October 2002 409 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View 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 To cyclic field to display current instance (the main selection), all selected instances (in a group selection, including the main selection), or all instances (in the cellview). If you choose all selected or all instances, another cyclic field appears on the form. Choose same master or any master. 4. Select View To Use to be bound to these instances. Views common to all of the selected instances are available for selection. If you want to revert to the default bindings for your configuration in the hierarchy editor, set the View To Use field to <Default>. 5. To keep the inherited view list as is and not build a new inherited view list (default), turn on the As Is field. You can change the inherited view list. To build a new inherited view list, refer to the following section. 6. Click Apply to make your changes. Your changes are reflected in the View To Use field in the hierarchy editor for the instances you selected. October 2002 410 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View 7. To propagate your changes to subordinate instances and save your changes, choose Hierarchy-Editor – Update in the schematic window. All instances that are affected by your View To Use selection are changed in the hierarchy editor and saved. Updating a Design Configuration After you edit the configuration, such as defining a new instance binding, you need to update the information in the hierarchy editor. To update a configuration from the schematic composer, do the following: ➤ Choose Hierarchy-Editor – Update. If you are using the schematic composer to edit cellviews, you must save them in order to have 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 Binding and completing the steps in the previous section, 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. October 2002 411 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View The Build Inherited View List form appears. The Available Constants/Views list 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 the Inherited View List list box. 4. Use the Up and Down buttons to reposition entries for using the appropriate views in a specific order. 5. To specify a view name that is not listed, type the name in the field below the Inherited View 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 – Update in the schematic window to update the hierarchy editor and save the changes. October 2002 412 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View Your changes are propagated through subordinate instances in the hierarchy editor and are saved in both the configured schematic and in the hierarchy editor 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 show views 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 current schematic cellview. The Highlight Layers option shows the colors used to highlight the instances with the corresponding views. The command graphically shows the current view 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 views used by all the instances. October 2002 413 Product Version 5.0 Virtuoso Schematic Composer User Guide Traversing the Design Hierarchy and Creating a Design Configuration View October 2002 414 Product Version 5.0 Virtuoso Schematic Composer User Guide 10 Checking Designs This chapter describes the procedures you use for checking your design. ■ Features of the Check Commands on page 416 ■ Setting the Check Options on page 418 ■ ■ ■ ❑ Setting User Preferences on page 418 ❑ Setting Schematic Rule Checks on page 420 Checking a Design on page 425 ❑ Checking and Saving a Design on page 426 ❑ Checking the Current Cellview on page 428 ❑ Checking a Design Hierarchy on page 429 ❑ Checking a Design Hierarchy in the Configuration Context on page 430 ❑ Checking Multisheet Schematics on page 431 ❑ Checking a Label Attachment on page 432 ❑ Cross-View Checking on page 433 Bypassing Checks on page 435 ❑ Bypassing Floating Pin Checks on page 435 ❑ Bypassing Unconnected Wire Checks on page 436 Resolving Check Errors on page 438 ❑ Finding Errors and Warnings in a Design on page 440 ❑ Mapping an Error Message to a Marker on page 441 ❑ Managing the Error Message List on page 441 ❑ Assigning an ignoreCheck Property on page 441 October 2002 415 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs ■ ❑ Suppressing Message Displays on page 442 ❑ Deleting an ignoreCheck Property on page 442 ❑ Deleting All ignoreCheck Properties on page 442 ❑ Deleting Individual Markers on page 443 ❑ Deleting All Markers on page 443 Monitoring a Verilog or VHDL Simulation State on page 444 ❑ Using Cross Selection on page 445 ❑ Opening an SHM Database on page 445 ❑ Displaying the Simulation State of Wires and Pins on page 447 ❑ Setting a Time Value for Displaying Signal Results on page 448 ❑ Setting the Time Scale on page 449 ❑ Setting the Display Radius on page 450 ❑ Synchronizing with Simulation at Breakpoint on page 451 ❑ 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 for connectivity, errors, and rule violations. The Cadence® netlisters cannot generate the netlist until you check your design and, if necessary, correct any errors found during the check process. You do not need to correct any warnings found during the check process, but you should review 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 October 2002 416 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking 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 commands simultaneously 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 logical and 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 – Check and 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 check the 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 October 2002 417 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking 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: Check and Check Rules Setup are accessible from both the Options menu and the Check menu. Setting User Preferences To set user preferences, do the following: 1. Choose Options – Check. October 2002 418 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs The Schematic Check Options form appears. 2. Specify the options you want to apply to your check. 3. Click OK. October 2002 419 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Setting Schematic Rule Checks The Setup Schematic Rules Checks form lets you set the rules for running the SRC. Once you set these rules and SRC is enabled on the Schematic Check Options form, you can use any one of the following Check commands to run SRC checks: Design – Check and Save, Check – Current Cellview, and Check – Hierarchy. To set the rules for running the SRC, do the following: 1. Choose Options – Check Rules Setup. The Setup Schematic Rules Checks form appears. 2. Set the Packaged Checks cyclic field to a specified predefined check. The items listed in the Packaged Checks cyclic field are defined by the schSRCPackagedChecks environment variable. Packaged checks are a means of setting a set of severities using a single selection. 3. Set the severity levels for the following rules: ❑ Logical checks the high-level connectivity data. ❑ Physical checks for unconnected wires, offset labels, and overlapping instances. ❑ Name checks for syntax and collisions for the Cadence VHDL verification tool or the Verilog®-XL simulator. ❑ Inherited Connections checks existing or missing inherited connections. ❑ AMS checks analog mixed signal netlisting checks. 4. Click OK. October 2002 420 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Logical Checks Description of Logical checks October 2002 421 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Physical Checks Description of Physical checks October 2002 422 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Name Checks Description of Name checks The following specifics apply to this form: ■ Connection By Name field. To run this check on a net marked as being connected by name, set the severity level to error. If your design has errors after checking it, you can highlight all wire segments for that net by choosing Edit – Search – Find and searching October 2002 423 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs on that net name. Your design will show you which net is disjointed and where you need to add wire segments. ■ Text fields Instance Name Expression, Pin Name Expression, and Net Name Expression. To use these fields, set the corresponding syntax severity level to either warning or error. In the text fields, use the 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 regular expression, an appropriate message is reported: pin name "name" does not match expression "regular expression" You can precede the expression in these text fields with an exclamation point ( ! ) to report names that do not match a specified regular expression. The message takes this form: net name "name" does not match expression "regular expression" If these text fields consist of more than one signal or bundle, the name check is applied only to the base name portion of the name. Inherited Connections Checks Description of Inherited Connections checks October 2002 424 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs AMS Checks Description of AMS checks The AMS CDBA-to-Verilog-AMS translator is a mixed-signal translator that supports the Verilog-AMS language standard. The purpose of the AMS checks is to give you feedback regarding CDBA-to-Verilog-AMS translation without having to actually generate a netlist. The checks must be enabled in order for them to run, but enabling netlisting is not necessary. By default, this feature is not enabled. For details, see the Cadence AMS Simulator User Guide. Checking a Design You have several options for checking a design: ■ Checking and Saving a Design on page 426 October 2002 425 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs ■ Checking the Current Cellview on page 428 ■ Checking a Design Hierarchy on page 429 ■ Checking a Design Hierarchy in the Configuration Context on page 430 ■ Checking Multisheet Schematics on page 431 ■ Checking a Label Attachment on page 432 ■ Cross-View Checking on page 433 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. October 2002 426 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs After the check is completed, the Command Interpreter Window (CIW) shows the results of the check, and a dialog box appears. icds - Log: /usr1/mnt1/mara/CDS.log Schematic Check Flashing highlighted markers in your schematic indicate the objects that have errors or warnings. 2. On the dialog box, click Close. The Cadence® netlisters cannot generate the netlist until you check the design and, if necessary, correct any errors found during the check process. You do not need to correct any warnings found during the check process, but you should review them before you attempt to generate a netlist. If no errors exist, the system automatically saves your design. October 2002 427 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs If errors exist, the system prompts you to save your cellview. You can change this default behavior by altering the value of the Check and Save Action on Error option on the Schematic Check Options form. Check and Save 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 the results 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. October 2002 428 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking 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. sample basic vhdl qalib2 test1 test2 schematic symbol Note: The appearance of this form is different when the schematic is in the context of a design 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 Check Options form or Setup Schematic Rules Checks form. October 2002 429 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs If errors are found, they are listed in the CIW. icds - Log: /usr1/mnt1/mara/CDS.log If you have errors, the Save Schematics with Errors form appears. Save Schematics with Errors? Note: To save time, you can check only those cellviews that have not been checked since the last time you saved your cellview. To customize the view name list, refer to the schCycleViewNameExclusionList 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 – Hierarchy command does not use the view name list. Instead, the command uses the schematic associated with its configuration data through partitioning. Partitioning is the process of separating the cells or blocks of a design into sets that will be simulated in either the digital or analog domain. Refer to “Partitioning Your Design” in the Mixed-Signal Circuit Design Environment User Guide. October 2002 430 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs If you are checking a hierarchy in the design configuration context, the Check Configuration Hierarchy form appears, and the View Name List field is replaced with two fields that display the configuration name and the name of the top-level cellview. Check Configuration Hierarchy 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 following operations: ■ 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 the index schematic October 2002 431 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs ■ Flags occur only when the connector imports or exports a signal that does not connect to 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 a schematic pin. If you modify some of the sheets in your design so that an offsheet connector on a specific sheet becomes disconnected, an error message appears. If your signals implicitly attach across page boundaries, an error message appears; signals need 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 connector with the same name on another sheet Note: Whenever you check a multisheet schematic using the Check – Current Cellview or Check and 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), do the following: 1. Choose Check – Label Attachment. The Show Label form appears. 2. In the Labels of cyclic 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 associated object. A flashing box appears around any labels not attached. October 2002 432 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Cross-View Checking You can check symbols using the Check – Cross View Check command. It provides the following capabilities: ■ 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 found in the symbol. ❑ The software displays blinking highlighted markers in your symbol to indicate the objects with errors or warnings. October 2002 433 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs ❑ The CIW displays a one-line explanation of each error and warning. icds - Log: /usr1/mnt1/mara/CDS.log Cross-View Checker Cross View Check 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 and schematic cellviews. If, for example, you place input pins in the schematic editor for bus A as A<1>, A<2>, and A<3>, but in the symbol cellview you unexpand the bus as A<3:1>, crossview 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) October 2002 434 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Bypassing Checks Besides changing check options to ignored, you can bypass floating pin checks and unconnected 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. October 2002 435 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking 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. A B C A<0:3> Y nand3 noConn symbol 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: October 2002 436 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs 1. Choose Add – Instance. The Add Instance form appears. 2. Click Browse. October 2002 437 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking 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. onPageConn symbol 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 flashing highlighted marker on each object that generated an error or warning. If your design has errors or warnings, the Check – Find Marker command lets you view them easily by listing the corresponding error and warning messages in the Find Marker form. October 2002 438 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs You can use the Find Marker form to narrow your search by limiting the list box display to a particular severity level. You can also use the Find Marker form to expand your search by expanding the scope. This section provides information about the following: ■ Finding Errors and Warnings in a Design on page 440 ■ Mapping an Error Message to a Marker on page 441 ■ Managing the Error Message List on page 441 ■ Assigning an ignoreCheck Property on page 441 ■ Suppressing Message Displays on page 442 ■ Deleting an ignoreCheck Property on page 442 ■ Deleting All ignoreCheck Properties on page 442 ■ Deleting Individual Markers on page 443 ■ Deleting All Markers on page 443 October 2002 439 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Finding Errors and Warnings in a Design To search for error markers in your design after you run one of the Check commands, do the following: 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 the design window. 2. Click the Next and Previous buttons to navigate through the message list. If you selected the Zoom To Markers button, the editor zooms in on each associated marker and highlights the marker in the design window. October 2002 440 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Mapping an Error Message to a Marker To find the message that corresponds to a specific marker in the design window, do the following: 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 ignoreCheck property to a net, an instance, or an instance terminal in your design. The ignoreCheck property operates in conjunction with the Show Ignored option on the Find Marker form. When you 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 warning messages 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 the following: 1. Choose Check – Find Marker. The Find Marker form appears. 2. Click the message in the list box. 3. Click the Ignore button. October 2002 441 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs The software assigns an ignoreCheck property to the object and displays an asterisk next 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 Ignored option. 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 the message 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. October 2002 442 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs The software removes all the ignoreCheck properties and deletes the asterisks from the messages 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 – Marker command and click the Delete button at the top of the form to delete the current marker. Deleting All Markers To find and delete all the markers of a particular severity level, and in a particular cellview or hierarchy, 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. October 2002 443 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Monitoring a Verilog or VHDL Simulation State To debug a Cadence VHDL design, you can set breakpoints or traces on certain objects. You can use the Schematic Monitors commands only with an ongoing Verilog-XL or VHDL session or 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 the simulation data source SHM file. The Schematic Monitors commands let you observe the simulation state directly on wires or pins that represent signals, giving you a sense that simulation is being performed directly on the design that you created. This section describes the procedures for the following: ■ Using Cross Selection on page 445 ■ Opening an SHM Database on page 445 ■ Displaying the Simulation State of Wires and Pins on page 447 ■ Setting a Time Value for Displaying Signal Results on page 448 ■ Setting the Time Scale on page 449 ■ Setting the Display Radius on page 450 ■ Synchronizing with Simulation at Breakpoint on page 451 ■ Closing the SHM Database on page 451 October 2002 444 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs Using Cross Selection To enable cross selection to other Cadence applications via interprocess communication and to 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 SHM database can be opened by multiple schematic windows. You can open a new SHM database at any time. You must open an SHM database to display feedback from the Verilog-XL simulator 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. October 2002 445 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking 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 status banner is updated to show the SHM database name, the current simulation time, and the current design scope. The Open Data command connects the schematic to an SHM database, which exists in one 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-XL simulator, any monitors you add are automatically probed. If monitors exist on your schematic, they display signal data from the new SHM database. October 2002 446 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking 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 the signal if it exists in the database. Add net names from wires, pins, or instances selected in 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 warning is issued. If the signal name is made up of multiple bits, the state is displayed in bus format. The default bus radix is hexadecimal. The following list shows each format and an example of how the schematic monitor appears. ST0 (default) <state> <time>:<state> 2.35:ST0 <name>=<state> clock=ST0 <time>:<name>:<state> 2.35:clock:ST0 October 2002 447 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs 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. 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 of the monitors in the window. Monitors displaying the time show what time the signal transitioned to its current state. If you are synchronizing the monitors with your simulation, you can still set the time manually. You do not have to turn synchronization off to use the Set Time command. 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. October 2002 448 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs 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 through simulation history. The value above the slider changes to reflect simulation time values. Release the button when you reach the new time value. ❑ In the Move field, click the minus to move backward through time by the time interval you set in the interval field. Click the plus to move forward through time by the time interval you set in the interval field. ❑ In the prev event and next event, select the monitors that display the results of the signals you are interested in. Click prev event to move directly to the most recent transition of the signals monitored by the selected monitors. Click next event to move directly 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 the Schematic Monitors – Set Time command form. Note: You must open a simulation database before you can use the Set Time Scale command. October 2002 449 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs To change the units, scale factor, and precision of time values displayed in the status banner and 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 displayed in 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. The Set Radix form appears. 2. Click the monitors from the schematic cellview to display bus values. October 2002 450 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs 3. Choose a new radix. 4. Click OK. Synchronizing with Simulation at Breakpoint Synchronization updates the schematic monitors each time you interrupt your simulation. The updated 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 at simulation breakpoints. 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 the database as a source for those windows as well. After you close a database, all monitor values are cleared. The monitors and their empty format fields remain in your schematic window. The simulation time and the SHM database name disappear from the status banner. October 2002 451 Product Version 5.0 Virtuoso Schematic Composer User Guide Checking Designs October 2002 452 Product Version 5.0 Virtuoso Schematic Composer User Guide 11 Plotting 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 System Options to Plot on page 454 ■ Setting Up Printer Options to Use Various Paper Sizes on page 454 ■ Plotting a Design on page 455 ■ ❑ Plotting a Library on page 456 ❑ Plotting a Cellview on page 457 ❑ Plotting Part of a Schematic on page 459 ❑ Plotting Without a Header Page for Every Session on page 460 ❑ Adding Notes to a Plot on page 460 ❑ Setting Plot Options on page 461 ❑ Plotting a Color Schematic in Black and White on page 463 ❑ Changing the Background Color of a Schematic Window on page 464 Using a Plot Template File on page 465 ❑ Creating a Plot Template File on page 465 ❑ Loading a Plot Template File on page 468 ❑ Creating a Default Plot Template File on page 469 ■ Checking the Queue Status on page 470 ■ Canceling a Plot Job on page 470 October 2002 453 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs Setting Up System Options 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. Refer to your operating system documentation for specifics about your plotter. For details about configuring your operating system for plotting, refer to the Plotter Configuration 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 (output device), which you define in your operating system. 4. Create a site-specific version of the plot configuration file as detailed in the Plotter Configuration 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 working or home directory. The .cdsplotinit file is used to define the list of available printers and plotters and their characteristics. Setting Up Printer Options to Use Various Paper Sizes Cadence Plotting Services software does not specify paper trays because there is no standard method that plotters use to select paper trays. However, if you are using a PostScript plotter, you can use PostScript printer definition (PPD) files to set up various paper sizes and paper trays. PPD files are available at www.adobe.com/supportservice/custsupport/LIBRARY/pdrvwin.htm Click on the manufacturer name of your plotter to go to the download page for the PPD file for your plotter. PPD files are not operating-system specific. You can download the Windows/ DOS versions of PPD files and use them with Cadence tools. Include the PPD file information in your .cdsplotinit file. Notice the addition of the lines beginning with PPD, which have been included in the following sample .cdsplotinit file October 2002 454 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs for an HP LaserJet 5si MX PostScript plotter. These PPD lines are used to tell the printer which paper tray to use for a given paper size. bos13b|bos13b: \ :manufacturer=Hewlett-Packard: \ :type=postscript1: \ :spool=lp -dbos12s13: \ :query=lpstat -obos12s13: \ :remove=cancel $1 bos12s13: \ :PPDFile=./hplj5si1.ppd: \ :resolution#600: \ :maximumPages#10: \ :PPD="(A) *PageSize Letter": \ :PPD="(B) *PageSize Tabloid": \ :PPD="*Resolution 600dpi": \ :paperSize="A" 4902 6402 99 99: \ :paperSize="B" 6402 10002 99 99: For further details on setting up PPD files, do the following: 1. Go to the SourceLink web site at sourcelink.cadence.com 2. Click on Installation, Licensing & System Configuration Information under the Installation heading on the left side of the SourceLink page. You might be prompted for your SourceLink login name and password. The Cadence Installation, Licensing & System Information page appears. 3. Click on Cadence Plotting Services. 4. Click on What’s New. 5. Click on PostScript PPD. 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 October 2002 455 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs Plotting a Library To plot a library, do the following: 1. Choose Design – Plot – Submit. The Submit Plot form appears. 2. In the Plot field, turn on library. 3. In the Library Name and View Name List fields, type the library you want to plot and its views. You can also click Browse to select the library. October 2002 456 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs 4. Change other fields or options as needed. 5. Click OK. Plotting a Cellview To plot a cellview, do the following: 1. Choose Design – Plot – Submit. October 2002 457 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs The Submit Plot form appears. 2. In the Plot field, turn on cellview. 3. In the Library Name, Cell Name, and View Name fields, type the complete path to the cellview you want to plot. You can also click Browse to select the cellview. 4. Change other fields or options as needed. October 2002 458 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs 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. The Submit Plot form appears. October 2002 459 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs 3. In the Plot field, turn on viewing area. When you plot using the viewing area, you plot the cellview from which you started the Plot command. Only the area displayed in the graphic window is plotted. 4. Change other fields or options as needed. 5. Click OK. Plotting Without a Header Page for Every Session To plot without a header page from a layout or a schematic, do the following: 1. Choose Design – Plot – Submit. 2. Turn off Plot With header. 3. In the Template File field, type a fully-qualified template file name. 4. Click Save. 5. Click Cancel. 6. Add the following commands in the .cdsinit file to point to the saved template file: For layout: lePlotTemplate = path_to_the_template_file/name_of_the_template_file For schematic: schPlotTemplate = path_to_the_template_file/name_of_the_template_file Every Cadence session will now load the plot template files from the .cdsinit file and set the header off by default in the Submit Plot form. 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. October 2002 460 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs 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 position of 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. October 2002 461 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs 2. At the bottom of the Submit Plot form, click Plot Options. October 2002 462 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs The Plot Options form appears. 3. Set the options. 4. Click OK on the Plot Options and Submit Plot forms. Plotting a Color Schematic in Black and White To plot designs in black and white instead of in grayscale, do the following: October 2002 463 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs For postscript color plotters In the .cdsplotinit file, set the type entry to type=postscript1:\ Note: To change plotting back to grayscale, set the type entry to :type=postscript2:\ . For inkjet pen plotters The standard entry in the.cdsplotinit file denotes each color pen and its position as follows: white#x:black#x:red#x:yellow#x:green#x:cyan#x:blue#x:magenta#x:\ In the above example, x denotes the index number of the pen holder. A pen plotter maps colors to six or eight pens in its pen carousel and selects colors by an index number of the pen holder. The Cadence Plotting Services software supports eight colors for lines and stipple patterns. The index number is the location of the pen in the carousel. To plot in black and white, determine the position of the black pen and specify that position for all the other pens, except white, in the .cdsplotinit file. The software then sends all the non-white color requests to the black pen for black-and-white plotting. For example, if the position of the black pen is 5, specify the following in the .cdsplotinit file: white#0:black#5:red#5:yellow#5:green#5:cyan#5:blue#5:magenta#5:\ Changing the Background Color of a Schematic Window To change the background color of the schematic window, do the following: 1. Open the .Xdefaults file in edit mode. 2. Change or add the option Opus.editorBackground from black to the color you desire. For example: Opus.editorBackground: green 3. At the UNIX prompt, type xrdb -load ~/.Xdefaults 4. Restart your Cadence software. October 2002 464 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs If you do not know where your .Xdefaults file is located, you can change the background color of the schematic and layout windows by doing the following: 1. At the UNIX prompt, type xrdb -query > xyz This stores all the current system .Xdefaults variable settings in the file xyz. 2. In the xyz file, change or add the option Opus.editorBackground from black to the color you desire. For example: Opus.editorBackground: green 3. At the UNIX prompt, type xrdb -load xyz 4. Restart your Cadence software. Using a Plot Template File If you want to use the same plot options for other schematics, you can store the options in a plot template file. The plot template file stores plot options in property list format. You can use a template file to plot schematics in batch mode. Creating a Plot Template File To create a plot template file, do the following: 1. Choose Design – Plot – Submit. October 2002 465 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs 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. You can also create a plot template file using a text editor. The following list shows plot options that you can set. All of them map to a field on the Submit Plot form. library cell view version scope bBox multisheet startsheet endsheet indexsheet header hierarchy hierleveldown viewlist ignorelibs stopcells time October 2002 ; ; ; ; ; ; ; text field text field text field text field text field, "/" should be the default. not set when "Area Fit" is selected. set when "All Sheets" or "Start Sheet" is set. ; set when "Plot Index Sheets" is set. ; set when "Plot Header" is set. ; set when "Herarchy" or "Levels Down" is set. ; set when hierarchy is set. ; set when hierarchy is set. ; set when hierarchy is set. 466 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs copy outputfile ; plotter options form plotter papersize plotsize offset unit orientation display tmpdir mail ; new options plot area notes noteText ; ; ; ; current current current current value value value value of of of of plotAreaRadio plotAreaCyclic plot notes user header You can put the following sample information in the .cdsinit file and use it as a single cellview plot template file: schPlotOptions = ’(nil library "mylib" cell "mydesign" view "schematic" version "0.0" multisheet nil indexsheet nil hierarchy nil copy 1 outputfile "" plotter "MP Imagen" papersize "A" plotsize (200.0 165.0) offset (0.0 0.0) unit "mm" orientation "Automatic" display "display" tmpdir "/usr/tmp" mail t ) The following two files are samples for a hierarchical plot template file: schPlotOptions = ’(nil library "mylib" cell "mydesign" view "schematic" version "0.0" multisheet nil indexsheet t hierarchy t hierleveldown 2 viewlist "schematic" ignorelibs "basic sample" stopcells "" October 2002 467 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs copy outputfile plotter papersize plotsize offset unit orientation display tmpdir mail ) 1 "" "MP Imagen" "A" (8.0 6.5) (0.0 0.0) "inches" "Landscape" "display" "/usr/tmp" nil schPlotOptions = ’(nil hierleveldown 0 area "whole" version "0.0" multisheet nil indexsheet nil hierarchy nil copy 1 outputfile "" plotter "" papersize "A" plotsize (10.5 8.0) offset (0.0 0.0) unit "inches" orientation "Automatic" display “display” tmpdir "/usr/tmp" mail nil header nil notes nil grid nil noteText "" scope "/" ) Loading a Plot Template File When you load a template file, the system reads in plot setup information that you have previously saved. To load a template file, do the following: 1. Choose Design – Plot – Submit. October 2002 468 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting 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_install_dir/tools/dfII/samples/plot/schPlot.il your_install_dir/tools/dfII/samples/plot/schMetPlot.il 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 – Submit command for the first time. Once you change the path in your .cdsinit file, you can use the Load button on the Submit Plot form to load other template files. October 2002 469 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting 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. no entries 1st john 2nd john 963 001 standard input standard input 139772 bytes 1460 bytes 2. 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. October 2002 470 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs The Plot Job Queue Status/Removal form appears. 963 no entries 1st john 2nd john 963 001 standard input standard input 139772 bytes 1460 bytes 2. Select a job to cancel by clicking on the job in the text box. 3. Click Cancel Selected Plot Jobs. 4. Click OK. October 2002 471 Product Version 5.0 Virtuoso Schematic Composer User Guide Plotting Designs October 2002 472 Product Version 5.0 Virtuoso Schematic Composer User Guide 12 Setting Schematic Composer Options You can change the appearance and the behavior of the Virtuoso® schematic composer by using the Options menu in the schematic editor, symbol editor, or Command Interpreter Window (CIW). In general, you can choose a preference once you are in a session. When you 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 474 ■ Changing User Preferences on page 475 ■ Saving the Current Window Setup on page 477 ■ Viewing Bindkey Settings on page 478 ■ Changing Browser and CIW Preferences on page 479 ■ Changing Display Options on page 481 ■ Selecting Objects Using the Filter Option on page 481 ■ Setting Plot Options on page 481 ■ Setting Schematic Check Options and Rules on page 482 ■ Setting the Tool Filter on page 482 ■ Saving Form Field Default Settings on page 482 ■ Loading Form Field Default Settings on page 483 October 2002 473 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options Overview of Schematic Composer Options The following options are available from the CIW: 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 The following options are available from the schematic composer window: . 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 (no options available for a symbol cellview) Rules Setup Options to set up the rules to do a schematic design inspection (no options available for a symbol cellview) Tool Filter Select tools for parameter display (no options available for a symbol cellview) Component Display Options to display each object’s label in a design Save Defaults Save the current schematic composer environment variables to a file Load Defaults Load the schematic composer environment variable from a file to set the current environment October 2002 474 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options Changing User Preferences You can change window and command preferences from the CIW. The Options – User Preferences command is described in Design Framework II User Guide. 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, when you start a command, the editor uses the current location of your pointer as the first data point. To turn Infix on, do the following: 1. From the CIW, choose Options – User Preferences. October 2002 475 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options The User Preferences form appears. 2. Turn Infix on. 3. Click OK. October 2002 476 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options Changing the Default Display Setting for Command Option Forms You can reconfigure your system to display the command options forms automatically whenever you select a command that has an associated form. This reconfiguration is helpful when you are unfamiliar with schematic composer commands and how they work. To set your system to display associated options forms automatically whenever you choose commands 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 Commands Start. 3. Click OK. The User Preferences form closes. Command option forms appear automatically when you next start a command. Saving the Current Window Setup To save the display of your design window (including all window positions, customized settings, contents, window sizes, zoom levels, and design hierarchies) when you exit the current 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. October 2002 477 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting 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 file settings 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. October 2002 478 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options 3. Click Show Bind Keys. A view window displays the current bindkey file settings. You cannot edit the schBindKeys.il file from the view window, but you can customize the schBindKeys.il file. Changing Browser and CIW Preferences You can change browser and CIW preferences by using the Options – Browser Preferences command 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 variable browserType on page 545. Other options let you change browser preferences: ■ “Using the Component Browser” on page 78 ■ “Changing the Component Browser Display” on page 82 October 2002 479 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options Customizing Editor Options You can change general options for the schematic composer by using the Options – Editor command, 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 automatically repeating, do the following: 1. Choose Options – Editor. The Editor Options form appears. 2. Turn Modal Commands off. 3. Click OK. To set Modal permanently on for future sessions, change the environment variable modalCommands on page 561. October 2002 480 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options Changing Display Options You can change the window display and grid controls by using the Options – Display command. 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 for editing. This is especially useful when you have many object types, or overlapping object types, 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.” October 2002 481 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options Setting Schematic Check Options and Rules Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Setting the Tool Filter Editing analog circuit design simulator properties using the parameter (tool) filter is discussed 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. /your_directory/.cdsenv 3. Click OK. The filename specifies the name of the file where the variables and form defaults are saved. The default is a file named .cdsenv in your home directory. If you use this filename, the saved variables are automatically loaded the next time you start the editor. Note: This form saves environment variables only within the schematic composer environment. The same command in the CIW saves all environment variables. October 2002 482 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting 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. /your_directory/.cdsenv 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 display of 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 also preset session defaults and variables by editing the .cdsenv file. Note: This form loads environment variables only within the schematic composer environment. The same command in the CIW loads all environment variables. October 2002 483 Product Version 5.0 Virtuoso Schematic Composer User Guide Setting Schematic Composer Options October 2002 484 Product Version 5.0 Virtuoso Schematic Composer User Guide 13 Customizing the Schematic Composer The Virtuoso® schematic composer is an open application that you can customize. You can change its appearance and behavior. In general, you can choose a preference or customization once you are in a session. When you find a desired behavior or customization, you can make it the default for the product. For further details on file setup, see the Cadence Application Infrastructure User Guide. This chapter provides information about the following: ■ Customizing Pull-Down and Pop-Up Menus on page 486 ■ Customizing Object-Sensitive Menus on page 487 ■ Customizing the Icon Bar on page 489 ■ Understanding Initialization and Setup Files on page 491 ■ Customizing Bindkeys on page 492 ■ Customizing the Configuration File on page 494 ■ Customizing Global Editor Variables for Form Fields on page 496 ■ Customizing Text-to-Symbol Generator (TSG) Variables for Form Fields on page 516 ■ Customizing HDL Variables for Form Fields on page 519 ■ Customizing the Plot Configuration on page 522 October 2002 485 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Customizing Pull-Down and Pop-Up Menus You interact with the schematic composer through pull-down menus, pop-up menus, the icon bar, and bindkeys. You can customize all schematic composer menus. In general, you copy files 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 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 menu itemSymbol, its menu text, and the callBack function) and to organize these definitions into the respective pull-down and pop-up menus. You can easily change menu definitions without having to rebuild the Cadence® SKILL language context to see the change. You or your technical administrator can customize the menus. The menu file definitions are easier to maintain from one release to the next because they are independent of the code that implements the menus. You do not need to know the SKILL symbol name of a menu item to 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. It redefines 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 above showing default menu definitions, but schView.menus is listed for completeness. October 2002 486 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer You can also customize menus for different projects or work areas. Copy the customization files to your_install_dir/local/workOrProjectDir/menus/{schView,schematic}.menus For personal customization, copy the files to ~/menus/{schView,schematic}.menus 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 definitions because 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 specific category This procedure customizes which menu pops up when you place the cursor over specific objects. You can type the SKILL functions in the Command Interpreter Window (CIW), in which case they 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 schematic composer. Example of Customizing the Instance OSM Use the following procedure to customize an Instance OSM to display these commands: Stretch, Copy, Edit Properties, Descend Read, and Fit. 1. Define each command in the new menu. ; newMenuItem = hiCreateMenuItem( ; define new variable ; ?name ’newMenuItem ; use same variable name ; ?itemText "Menu String" October 2002 487 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer ; text displayed on menu ; ?callback "MenuCommand()" ; skill command to be executed ; ) newPopUpStretch = hiCreateMenuItem( ?name ’newPopUpStretch ?itemText "Stretch" ?callback "schHiStretch()" ) newPopUpCopy = hiCreateMenuItem( ?name ’newPopUpCopy ?itemText "Copy" ?callback "schHiCopy()" ) newPopUpEditInstance = hiCreateMenuItem( ?name ’newPopUpEditInstance ?itemText "EditInstance" ?callback "schHiObjectProperty()" ) newPopUpDescendRead = hiCreateMenuItem( ?name ’newPopUpDescendRead ?itemText "DescendRead" ?callback "schHiDescendRead()" ) newPopUpFitPlus = hiCreateMenuItem( ?name ’newPopUpFitPlus ?itemText "Fit" ?callback "hiZoomAbsoluteScale(getCurrentWindow() 0.9)" ) 2. Put the following menu items into a single menu. ; ; ; ; ; ; ; ; ; ; newMenu = hiCreateMenu( create new menu ’newMenu use same variable name "Title String" text displayed at top edge of menu list( menuItem1 : list of menus as menuItem2 defined by . . . hiCreateMenuItem ) October 2002 488 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer ; "" ; ) newInstPopUpMenu = hiCreateMenu( ’newInstPopUpMenu "Instance" list( newPopUpStretch newPopUpCopy newPopUpEditInstance newPopUpDescendRead newPopUpFitPlus ) "" ) 3. Register the new menu with the schematic pop-up manager. ; schRegisterPopUpMenu( "objectType" menuName) schRegisterPopUpMenu("instance" newInstPopUpMenu) 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 October 2002 489 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 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 ❑ Change any of the following parameters: name = SKILL symbol itemText = pop-up menu name itemIcon = icon as created by hiStringToIcon callback = SKILL function October 2002 490 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Changing the Display of the Icon Bar To specify how the system displays icon bar commands, such as icons or text, use SKILL functions. Refer to the schRegisterFixedMenu and schUnRegisterFixedMenu functions in the Virtuoso Composer Schematic SKILL Functions Reference Manual. You can type the SKILL functions in the Command Interpreter Window (CIW), in which case they 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 schematic composer. 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 composer configurations 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 that contain user or site SKILL code definitions You can set these variables by calling schSetEnv or envSetVal in the .cdsinit file. .cdsenv The Cadence environment file sets default values for environment variables in Cadence Design Framework II. You can create the .cdsenv file by using the Options – Save Defaults command. Converting a Schematic from a 0.125 Grid to a 0.1 Grid Setting a new grid spacing can cause some of your existing symbols, pins, and wires to go off grid. The best way to convert a schematic from a 0.125 grid to a 0.1 grid, is to change the values in the .cdsenv file by doing the following: Note: Change the default in your .cdsenv file to set the default for every library. It is not advisable to set up different grids or different snap spacing for different libraries. October 2002 491 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 1. In your .cdsenv file, change schematic symGridSpacing float 0.125000 nil schematic schGridSpacing float 0.125000 nil to schematic symGridSpacing float 0.100000 nil schematic schGridSpacing float 0.100000 nil 2. To change the snap spacing, set schematic symSnapSpacing float 0.050000 nil schematic schSnapSpacing float 0.050000 nil 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 Cadencesupplied schBindKeys.il file. If you are using a locally supplied file, substitute the appropriate path. 1. In a UNIX window, copy the schBindKeys.il file to your home directory: October 2002 492 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 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()") You can edit the following four elements for each bindkey setting: The application name in the syntax specifies when the bindkey applies; for example, when you run the schematic editor. Sets F6 to redraw the screen. bk("Schematics" "<Key>F6" "hiRedraw()") bk is the alias for the hiSetBindKey() function, which sets bindkeys. You can set a bindkey to perform any SKILL function. 1. 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 whenever you 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. October 2002 493 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing 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 the schBindkeys.il file automatically. If you have already started the Cadence software, you can load the bindkeys manually, for the current 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 SKILL variables that you can customize. The contents are organized into four groups: Schematic Editor, Symbol Editor, Symbol Generator, and HDL. Using SKILL variables, you customize certain command form fields to change the list of choices. You might want to customize the configuration file to limit or expand the options the editor displays on certain forms or fields. These options include choices such as sheet sizes, pin types, 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 getInstallPath October 2002 494 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer You can add or delete choices to the schConfig.il file anytime before you complete any schematic functionality in an interactive session. You can load the schConfig.il file at any 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 the behavior 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 directory by 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 so that 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, Symbol Generator, and HDL. The variable names are sorted alphabetically within each category. 3. Save the file. Loading the Configuration File To load the local configuration file for your current session, do the following: ➤ In the CIW, type October 2002 495 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 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 configuration file 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 symbol editor. You can customize these public global SKILL variables, which relate directly to the form field settings. These variables are stored in the schConfig.il file. To edit these variables, you need to open the configuration file. The following tables describe variables for customizing form fields. Schematic 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 edit properties user section schPropertiesFilter 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 October 2002 496 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Schematic Form Field Description Variable Name pin cross reference format schZoneFormatString pin cross reference format schZoneFormatValue Symbol Editor Variables Symbol Form Field Description Variable Name symbol label attributes schSymbolLabelChoices symbol pin direction and type schSymbolPinMasters Symbol Generation (tsg) Variables Symbol Form Field Description Variable Name pin connection type tsgConnectorMasters symbol pin graphic characteristics tsgPinGraphicMasters default tsgTemplateType tsgTemplateMasters HDL (Verilog, SpectreHDL, and VerilogA) Variables Symbol Form Field Description Variable Name enables/disables cross-view checking or checks 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 and off schHdlNoHierarchy controls HDL printing schHdlPrintCommand October 2002 497 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer configures the characteristics of symbols built by the text-to-symbol generator (TSG) schHdlUpdateSymbolAfterEdit prints out diagnostic messages while the Verilog® text is parsed and processed schHdlVerbose AMS Netlisting Variables You can set severities for the following AMS checks: Form Field Description Variable Name illegal identifiers allowLegalIdentifiers name collisions allowNameCollisions conflicting bus ranges allowDeviantBuses sparse buses allowSparseBuses Block Pin Direction Rule Variable schBlockPinAttrs Sets the pin direction implied by connecting to a specific edge of a block. This IL structure describes the mapping of the block edge to pin type and direction. This map is used by the schematic user interface to provide a simplified approach for selecting the pin direction implied 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 choices any 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 ) ... ) ) October 2002 498 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Arguments PIN_TYPE The name of the pin “type” EDGE_DIRECTION left, right, bottom, top TERMINAL_DIRECTION The CDBA terminal direction PIN_TYPE and TERMINAL_DIRECTION uniquely identify a pin master in the schSymbolPinMasters map. Example schBlockPinAttrs = "block" list("left" list("right" list("bottom" list("top" ) list( "input") "output") "inputOutput") "inputOutput") Block Sample Sizes Variable schBlockTemplate October 2002 499 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Sets the block sample sizes during top-down block creation. Add Block To edit this variable, you need to open the configuration file. You can add or delete choices any 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 block creation. Standard Structure list( list( BLOCK_NAME BLOCK_SIZE list( LABEL LABEL ... ) ) ... ) October 2002 500 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Body Definition 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”, “physical label”, “pin label”, “device annotate”, “pin annotate”. height Label height in user units. font A dbFontStyle; for example, “stick”. type A dbLabelType: “normalLabel”, “NLPlabel”, “ILLabel”. 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"))) ... ) View Name Exclusion Variable schCycleViewNameExclusionList October 2002 501 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Sets the exclusion for schematicSymbol views from being cycled through on the Add Instance form. Add Instance To edit this variable, you need to open the configuration file. You can add or delete choices any 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" ) October 2002 502 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Schematic Pin Types Variable schPinMasters Sets the pin usage, pin masters, and pin direction on the Add Pin form for creating a schematic pin. Sample pin masters are in the basic library. Add Pin To edit this variable, you need to open the configuration file. You can add or delete choices any 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 a multisheet schematic. Standard Structure list( list( PIN_USAGE ... ) list( PIN_DIRECTION TERMINAL_DIRECTION PIN_MASTER ... ) ... ) October 2002 503 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Arguments PIN_USAGE Each PIN_USAGE value is a list of two elements. The first element is a member of pin usage as it appears on the Add Pin form. The second element indicates the pin is used as an 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 that define the library, cell, and view names of a pin master. There must a matching PIN_MASTER entry to each PIN_USAGE entry. 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 Plot command is started for the very first time. To edit this variable, you need to open the configuration file. You can add or delete choices any time before you execute any schematic functionality in an interactive session. Example schPlotTemplate = "~/plot.tf" October 2002 504 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Property Filter Variable schPropertiesFilter Filters out the parameter property values on the Edit Properties form. Using the following nested list format, you can list the property names you want the Edit Properties command to skip over. Example schPropertiesFilter = list( list( object list( propName ... ) ) list( object list( propName ... ) ) .. .. ) object can be one of the following: “cellView” "wire segment" "pin" "instance" "wire name" “wire segment inherited” “pin inherited” propName can contain a wildcard character (*) to filter out a group of properties. 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 choices any time before you execute any schematic functionality in an interactive session. Example schSRCPackagedChecks = list( list("Normal" list("floatingNets" list("floatingInput" list("floatingOutput" list("floatingIO" list("floatingSwitch" list("shortedOutputs" list("offsheetConnCheck" list("unconnectedWires" ... October 2002 "warning") "warning") "warning") "warning") "warning") "warning") "ignored") "ignored") 505 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer ) ) 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 choices any 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] ) ... ) ... ) ... ) Arguments 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 and the expected values. 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") October 2002 506 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer list("partName" "partName") list("phyPartName" "phyPartName") list("power" "power") list("refDes" "refDes") list("technology" "technology") list("simMonitor" "schSimSignalName" list(’("objType" "inst"))) ) ) list("schematicSymbol" list( list("pinName" "name" list(’("objType" "net"))) list("fontStyle" "font") list("fontHeight" "height") list("orient" "orient") list("layer" "layerName") ) ) ) Multisheet Masters Variable schSheetMasters Sets the choices for sheet border sizes and types on the Create Schematic Sheet form that the editor uses for a new sheet. Create Schematic Sheet To edit this variable, you need to open the configuration file. You can add or delete choices any time before you execute any schematic functionality in an interactive session. Standard Structure list( list( SHEET_CHOICE ... ) list( SIZE_NAME SHEET_MASTER ... ) ... October 2002 507 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Arguments SHEET_CHOICE A sheet type that appears as an element in a cyclic field. You can list multiple choices. SIZE_NAME The first element of the sheet reference. Also, the name that appears on the user interface form. SHEET_MASTER Each SHEET_MASTER value is a list of three elements that define the library, cell, and view names of a sheet. There must be a matching SHEET_MASTER entry for each SHEET_CHOICE entry. To specify a choice that is valid but does not create a sheet border, use a list of null strings, such as list("" "" ""). Examples schSheetMasters = list( list("basic" "continue") list("A" list("US_8ths" "Asize" list("US_8ths" "Asize_c" list("B" list("US_8ths" "Bsize" list("US_8ths" "Bsize_c" ) "symbol") "symbol")) "symbol") "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 choices any time before you execute any schematic functionality in an interactive session. Standard Structure list( list( PROBE_FORMAT PROBE_MASTER) list( PROBE_FORMAT PROBE_MASTER) ... ) October 2002 508 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Arguments PROBE_FORMAT The format string that appears in the cyclic field of the create display 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 define the library, cell, and view names of a probe symbol. 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. Cellview From Cellview To edit this variable, you need to open the configuration file. You can add or delete choices any time before you execute any schematic functionality in an interactive session. October 2002 509 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Standard Structure list( list( VIEW_NAME TRANSLTE_TO TRANSLATE_FROM ) list( VIEW_NAME TRANSLTE_TO TRANSLATE_FROM ) ... ) Arguments VIEW_NAME The view name to be translated from or to. TRANSLATE_TO The name of the SKILL function for translating from this view to a pin list. TRANSLATE_FROM The name of the SKILL function for translating from a pin list to this view. 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 view names. l_pinList: A DPL list describing the cellview ports, cellview properties, and port 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 ) <pinList> := ( <pin> [ <pinList> ] ) <pin> := ( nil name "pinName" accessDir "pinAccessDir" [prop <propList>] ) Example pinList = list(nil ’ports list( list(nil ’name "clock" ’direction "input") October 2002 510 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 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) then schViewMasters = 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) ) else schViewMasters = list( list("schematic" "schSchemToPinList" "schPinListToSchem") list("symbol" "schSymbolToPinList" "schPinListToSymbolGen") ) ) View Master Options Variable schViewMastersOptionFunc The text-to-symbol generator (TSG) uses this variable to determine whether the creation function of a particular destination cellview (in this case, symbol) has an options form. Cellview From Cellview myLib decoder October 2002 511 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer For example, when you choose Edit Options on the Cellview From Cellview form and you want to 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) then schViewMastersOptionFunc = list( list("schematic" nil) list("symbol" "schDisplaySymbolTemplateForm") list("functional" nil) list("behavioral" nil) 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 choices any time before you execute any schematic functionality in an interactive session. These global variables specify the format of the pin cross-reference information, which specifies pin locations by sheet numbers, X and Y zones. The schZoneFormatString and schZoneFormatValue variables are used when creating pin cross-references by the Sheet – 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 sheet number, Y zone, and X zone. The schZoneFormatValue variable specifies the order of the 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 B2 in sheet 3. October 2002 512 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer schZoneFormatString = "%d%[?ABCDEFGHIJKLMNOPQRSTUVWXYZ]%d" schZoneFormatValue = list(nil ’sheet 1 ’yZone 2 ’xZone 3) Symbol Label Variables schSymbolLabelChoices Sets the symbol label attributes on the Add Symbol Label form. Add Symbol Label INV logical label Each label consists of label = list(choice text type layer purpose) Arguments 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 October 2002 513 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 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)) ... ) 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" )) ) October 2002 514 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Symbol Pin Masters Variable schSymbolPinMasters Sets the direction and type of pin masters on the Add Pin form for creating a symbol pin. Add Pin A Y The first element in the schConfig.il file lists only one entry for the number of increments and 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_TYPE list( TERMINAL_DIRECTION PIN_MASTER ) list( TERMINAL_DIRECTION PIN_MASTER ) ... ) ... ) Arguments OFFSET_INCREMENT Defines the basis unit of the label offset increment. MAX_INCREMENT_COUNT Defines the maximum basis units a label can be offset by the user. Controls the maximum value of a maximum increment slider on the user interface form. October 2002 515 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 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 elements that define the library, cell, and view names of a pin master. 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 as described by CDBA. schSymbolPinMasters = list( list(0.03125 32) list("square" list("input" list("basic" list("output" list("basic" list("inputOutput" list("basic" list("switch" list("basic" list("round" list("input" list("basic" list("output" list("basic" list("inputOutput" list("basic" list("switch" list("basic" ... ) "sympin" "sympin" "sympin" "sympin" "symbolNN")) "symbolNN")) "symbolNN")) "symbolNN"))) "circle" "circle" "circle" "circle" "symbol")) "symbol")) "symbol")) "symbol"))) Customizing Text-to-Symbol Generator (TSG) Variables for Form Fields The following IL variables describe the “indirection map” used by the schematic composer user interface. You can customize these public global SKILL variables used on command forms. These variables are stored in the schConfig.il file. Symbol Form Field Description Variable Name pin connection type tsgConnectorMasters symbol pin graphic characteristics tsgPinGraphicMasters default tsgTemplateType tsgTemplateMasters To edit these variables, you need to open the configuration file. October 2002 516 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Pin Master Connections Variable tsgConnectorMasters This IL structure describes the “indirection map” used by tsg to provide a simplified approach for selecting the pin connectors to be used during symbol generation. Put choices for the symbol generator “pin connector” here. Each entry contains a pin connector name followed by a cellview specification for each direction. The pin connector name is used on the user interface form. The cellview should contain the graphics for just the pin 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 ) ... ) ... ) Arguments PIN_TYPE The pin type as it appeared on the user interface form. Each pin type can have pins of different directions as defined by the lists that follow it. TERMINAL_DIRECTION The CDBA terminal direction. PIN_MASTER A list of three elements that define the library, cell, and view names of a pin master. Standard Structure tsgConnectorMasters = list( list("square" list("input" list("basic" list("output" list("basic" list("inputOutput" list("basic" list("switch" list("basic" list("circle" list("input" list("basic" list("output" list("basic" list("inputOutput" list("basic" list("switch" list("basic" list("block" list("input" list("basic" list("output" list("basic" October 2002 "sympin" "sympin" "sympin" "sympin" "symbolNN")) "symbolNN")) "symbolNN")) "symbolNN"))) "circle" "circle" "circle" "circle" "symbol")) "symbol")) "symbol")) "symbol"))) "blockipin" "blockopin" 517 "symbol")) "symbol")) Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer list("inputOutput" list("switch" list("basic" "blockiopin" "symbol")) list("basic" "blockiopin" "symbol"))) ) Symbol Pin Characteristics Variable tsgPinGraphicMasters This IL structure describes the “indirection map” used by TSG to provide a simplified approach for selecting the pin graphics to be used during symbol generation. Standard Structure list( list( PIN_TYPE list( TERMINAL_DIRECTION PIN_GRAPHIC ) list( TERMINAL_DIRECTION PIN_GRAPHIC ) ... ) ... ) Arguments PIN_TYPE The pin graphic types as they appeared on the user interface form. Each pin type can have pin graphics of different directions. TERMINAL_DIRECTION The CDBA terminal direction. PIN_GRAPHIC A list of three elements that define the library, cell, and view names of a pin graphic master such as a clock or negative indicator. A nil entry indicates there are no graphics for this type. Example tsgPinGraphicMasters = list( list("actHi" list("input" nil) list("output" nil) list("inputOutput" nil) list("switch" nil)) list("actLo" list("input" list("basic" "tsgActLo" list("output" list("basic" "tsgActLo" . . . October 2002 518 "symbol")) "symbol")) Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Template Masters Variables tsgTemplateMasters This IL structure contains a list of tsgType/tsgTemplateFile pairs. Each tsgTemplateFile contains a different set of defaults for use by TSG when creating symbols. The environment variable tsgTemplateType is associated with the initialization of the default tsgType. tsgTemplateMasters = list( list("digital" (prependInstallPath "samples/symbolGen/ default.tsg")) list("analog” (prependInstallPath "samples/symbolGen/ analog.tag")) 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 you can create a new TSG template file that contains the current settings within the Symbol Generation 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 new template master. The system uses the tsgTemplateType environment variable to determine which template 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 Verilog®-A or Verilog simulator descriptions again if a syntax error is found. Examples schHdlEditAfterError = nil schHdlEditAfterError = t October 2002 519 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer Update Symbol After Edit Variable schHdlUpdateSymbolAfterEdit After you edit Verilog or Verilog-A text, the symbol associated with the cell is conditionally updated to match the pinout of the Verilog module. A flag that controls the updating of the symbol can be set to one of three values: t nil "query" : If required, update symbol after editing : Don’t update symbol after editing : 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 Spectre® HDL. If turned on, cross-view checks are performed after editing Verilog or Spectre HDL. Examples schHdlCrossViewCheck = nil ; disable xview checks schHdlCrossViewCheck = t Cross View String Variable schHdlCrossViewString If cross-view checking is turned on, all views are checked against the edited view. Use schHdlCrossViewString 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 – Print menu item in the Verilog or Spectre HDL view window. October 2002 520 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing 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 a tristate flag: t | nil | "all" If hdlVerbose is set to all, a detailed description of the pseudoschematic is displayed in the CIW. The output can be quite lengthy. Examples schHdlVerbose = t schHdlVerbose = nil No Hierarchy Variable schHdlNoHierarchy This flag turns the mixed text-graphics feature on and off. If the flag is set, instance information is ignored when the Verilog text is postprocessed. Verilog descriptions edited when this flag is set can be used only as leaf cells in a netlist. Examples schHdlNoHierarchy = t schHdlNoHierarchy = nil Net to Port Variable schHdlNetToInputPort schHdlNetToInoutPort Port direction for instantiated Verilog modules is inferred by their connection to primary I/O or internal registers. The following variables map the inferred port type (input or inout) to the connecting net type. All other nets are assumed to be connected to instance output ports. The valid values in the list are reg, time, integer, real, expression, net, and unknown. October 2002 521 Product Version 5.0 Virtuoso Schematic Composer User Guide Customizing the Schematic Composer 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 resource file, called the cdsplotinit file, which you can edit. This file is the foundation plotter model data base for Cadence Design Systems plot software. This file builds site specific .cdsplotinit files. Caution You must create a site-specific version of the cdsplotinit file and locate it in your_install_dir/tools/plot, your working directory, or your home directory. 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 home directory and then edit it. A sample .cdsplotinit file is available in your_install_dir/tools/plot/samples/cdsplotinit.sample. You can edit the following specifications: ■ Type and name of plotter ■ Paper size ■ Page orientation ■ Page size ■ Resolution October 2002 522 Product Version 5.0 Virtuoso Schematic Composer User Guide A Environment Variables Appendix A describes the following environment variables: ■ Overview of Environment Variables on page 529 ■ Schematic Editor Environment Variables File on page 530 ■ Window Environment Variables on page 534 ❑ schDisplayDepth on page 534 ❑ schDrawAxesOn on page 534 ❑ schDynamicHilightOn on page 535 ❑ schGridMultiple on page 535 ❑ schGridSpacing on page 535 ❑ schGridType on page 536 ❑ schMaxDragFig on page 536 ❑ schPathType on page 536 ❑ schShowDirectConnects on page 537 ❑ schShowLabelOrigin on page 537 ❑ schSnapSpacing on page 538 ❑ schWindowBBox on page 538 ❑ symDisplayDepth on page 538 ❑ symDrawAxesOn on page 539 ❑ symDynamicHilightOn on page 539 ❑ symGridMultiple on page 540 ❑ symGridSpacing on page 540 October 2002 523 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables ■ ❑ symGridType on page 540 ❑ symMaxDragFig on page 541 ❑ symPathType on page 541 ❑ symShowDirectConnects on page 542 ❑ symShowLabelOrigin on page 542 ❑ symSnapSpacing on page 542 ❑ symWindowBBox on page 543 ❑ viewNameList on page 543 Schematic Environment Variables on page 544 ❑ autoDot on page 544 ❑ blockDirRules on page 544 ❑ broadcast on page 545 ❑ browserType on page 545 ❑ checkAlways on page 545 ❑ checkBeepOn on page 546 ❑ checkHierSave on page 546 ❑ checkSymTime on page 547 ❑ compBackTrace on page 547 ❑ condOp on page 548 ❑ createCvOptions on page 548 ❑ createInstResetCDF on page 549 ❑ createInstShowCDF on page 549 ❑ createLabelFontHeight on page 549 ❑ createLabelFontStyle on page 550 ❑ createLabelHorzOffset on page 550 ❑ createLabelHorzPosition on page 551 ❑ createLabelHorzRotation on page 551 October 2002 524 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables ❑ createLabelJustify on page 551 ❑ createLabelOffsetMode on page 552 ❑ createLabelVertOffset on page 552 ❑ createLabelVertPosition on page 552 ❑ createLabelVertRotation on page 553 ❑ cvDisplay on page 553 ❑ defaultsFile on page 554 ❑ defWideWireWidth on page 554 ❑ descendSheet on page 554 ❑ descendTarget on page 555 ❑ dotOverlap on page 555 ❑ drawMode on page 556 ❑ drawModeRoute on page 556 ❑ echoToCIW on page 557 ❑ editPropShowCDF on page 557 ❑ editPropShowSystem on page 557 ❑ editPropShowUser on page 558 ❑ findZoomButton on page 558 ❑ gravityOn on page 559 ❑ libList on page 559 ❑ markerSeverity on page 559 ❑ markerShowIgnore on page 560 ❑ markerZoom on page 560 ❑ maxLabelOffsetUU on page 560 ❑ minMarkerSize on page 561 ❑ modalCommands on page 561 ❑ netExprDisplay on page 562 October 2002 525 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables ❑ netNameMethod on page 562 ❑ netNamePrefix on page 562 ❑ netNameRangeDescend on page 563 ❑ netNameSeparator on page 563 ❑ noteFontHeight on page 564 ❑ noteFontStyle on page 564 ❑ noteJustify on page 564 ❑ noteShape on page 565 ❑ noteShapeLineStyle on page 565 ❑ pinBackTrace on page 565 ❑ pinNameSeed on page 566 ❑ pinRefDuplicates on page 566 ❑ pinRefFormat on page 567 ❑ pinRefSorting on page 567 ❑ replSaveChanges on page 567 ❑ runSRC on page 568 ❑ runVIC on page 568 ❑ saveAction on page 569 ❑ schematicAreaPartialSelect on page 569 ❑ schematicSelectFilter on page 569 ❑ sensitiveMenu on page 570 ❑ shapeLineType on page 570 ❑ shapeLineWidth on page 571 ❑ simProbeFormat on page 571 ❑ simProbeType on page 571 ❑ snapEnabled on page 572 ❑ spanLib on page 572 October 2002 526 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables ❑ srcConnByName on page 572 ❑ srcFloatingBIDIR on page 573 ❑ srcFloatingInput on page 573 ❑ srcFloatingIO on page 574 ❑ srcFloatingNets on page 574 ❑ srcFloatingOutput on page 575 ❑ srcInheritedConnCheck on page 575 ❑ srcInstNameExpr on page 575 ❑ srcInstNameSyntax on page 576 ❑ srcInstOverlap on page 576 ❑ srcInstOverlapValue on page 577 ❑ srcMaxLabelOffset on page 577 ❑ srcNameCollision on page 577 ❑ srcNetNameExpr on page 578 ❑ srcNetNameSyntax on page 578 ❑ srcNoOverrideNet on page 579 ❑ srcOffsheetConnCheck on page 579 ❑ srcPinNetCollision on page 580 ❑ srcShortedOutputs on page 580 ❑ srcSolderOnCrossover on page 580 ❑ srcTermNameExpr on page 581 ❑ srcTermNameSyntax on page 581 ❑ srcUnconnectedWires on page 582 ❑ srcVerilogSyntax on page 582 ❑ srcVHDLSyntax on page 582 ❑ ssgSortPins on page 583 ❑ statusBanner on page 583 October 2002 527 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables ❑ statusBannerXY on page 584 ❑ stickyWireLabelRange on page 584 ❑ symbolAreaPartialSelect on page 584 ❑ symbolLabelChoiceText on page 585 ❑ symbolLabelFontHeight on page 585 ❑ symbolLabelFontStyle on page 585 ❑ symbolLabelJustify on page 586 ❑ symbolLabelType on page 586 ❑ symbolPinFlatten on page 587 ❑ symbolPinIncrCount on page 587 ❑ symbolPinLocate on page 587 ❑ symbolPinUsage on page 588 ❑ symbolSelectFilter on page 588 ❑ symbolShape on page 588 ❑ symbolShapeFillStyle on page 589 ❑ transToSheetType on page 589 ❑ tsgTemplateType on page 590 ❑ updateConn on page 590 ❑ vicExactPinMatch on page 591 ❑ vicInheritedPins on page 591 ❑ vicInheritedPinsMatch on page 591 ❑ vicSeverity on page 592 ❑ vicViewList on page 592 ❑ wireBackTrace on page 593 ❑ zoomOutButton on page 593 October 2002 528 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Overview of Environment Variables This appendix describes the schematic environment variables that control the characteristics of the schematic and symbol editor window display and the behavior of many schematic and symbol editor commands. You can customize the behavior of the schematic or symbol editor by changing the value of a particular environment variable. To do this, perform any one of the following procedures: ■ Choose Options – Display, Options – Editor, or Check – Options to change some of the default variables or settings. For example, to change the browser type from library (default) to component, see “Changing the Browser Type Option” on page 75. Environment Variable defaults can also be changed on various forms detailed in “Window Environment Variables” on page 534 and “Schematic Environment Variables” on page 544. The changes are effective for the current session only. ■ Copy the variables you want to change from the default .cdsenv file (search for Composer Schematic Editor Environment Variables) to the .cdsenv file in your home directory. You can edit the default values in your home directory. The default file is located at: <install_dir>/tools/dfII/samples/.cdsenv The .cdsenv file in your home directory is loaded last; any values in your home directory override those previously loaded. See “Schematic Editor Environment Variables File” on page 530. ■ Set the variable in the Command Interpreter Window (CIW) using the following SKILL function: envSetVal("editorName" <"env var name"> <type of value> <value>) For example: envSetVal("schematic" "browserType" ’string “component”) To verify that the change was made, type the following SKILL function in the CIW: envGetVal("schematic" "browserType") Using these procedures, you specify the specific environment variable as an argument for the schGetEnv and schSetEnv SKILL procedural interface functions. For information on envGetVal and envSetVal, refer to the User Interface SKILL Functions Reference manual. Note: The system writes to the .cdsenv file automatically whenever you choose the Options – Save Defaults command to retain the current settings for future sessions; if the file already exists, the system prompts you to overwrite the file or save it using another name. For details, see “Saving Form Field Default Settings” on page 482. October 2002 529 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Schematic Editor Environment Variables File schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic October 2002 autoDot boolean t blockDirRules cyclic "edge" broadcast boolean nil browserType string "library" checkAlways boolean nil checkBeepOn boolean t checkHierSave boolean t checkSupportAMS boolean nil checkSymTime int 1 compBackTrace boolean t condOp cyclic "==" createCvOptions boolean t createInstResetCDF boolean t createInstShowCDF boolean t createLabelFontHeight float 0.0625 createLabelFontStyle cyclic "stick" createLabelHorzOffset float 0.045 createLabelHorzPosition cyclic "above" createLabelHorzRotation cyclic "R0" createLabelJustify cyclic "lowerCenter" createLabelOffsetMode boolean t createLabelVertOffset float 0.045 createLabelVertPosition cyclic "left" createLabelVertRotation cyclic "R90" cvDisplay boolean t defWideWireWidth float 0.0625 defaultsFile string "" deleteInstPinsWire boolean t descendSheet string "sheet" descendTarget string "query user" differential boolean nil dotOverlap float 0.03125 drawMode string "anyAngle" drawModeRoute string "route" echoToCIW boolean t editPropCDFParamView string "Use Tools Filter" editPropShowCDF boolean t editPropShowSystem boolean nil editPropShowUser boolean t findAccessMode string "edit" findZoomButton boolean nil 530 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic October 2002 flightWidth float 0.0 gravityOn boolean t invokeKanjiEditor string "kterm -km euc -e vi" libList string "" markerSeverity string "all" markerShowIgnore boolean t markerSource toggle (t t t t) markerType toggle (t t) markerZoom boolean nil maxLabelOffsetUU float 0.045 minMarkerSize float 0.05 modalCommands boolean t netExprDisplay cyclic "value only" netNameMethod cyclic "prefix" netNamePrefix string "net" netNameRangeDescend boolean nil netNameSeparator string "_" noteFontHeight float 0.0625 noteFontStyle cyclic "stick" noteJustify cyclic "lowerCenter" noteShape cyclic "line" noteShapeLineStyle cyclic "solid" noteType cyclic "normalLabel" pinBackTrace boolean t pinNameSeed string "pin" pinRefDuplicates boolean nil pinRefFormat string "<sheetNumber><zone><referenceName>" pinRefSorting string "Sheet Number" replSaveChanges boolean nil runSRC boolean t runVIC boolean t saveAction cyclic "Ask Me" schCoalesceLimit int 2 schDisplayDepth int 3 schDrawAxesOn boolean nil schDynamicHilightOn boolean t schFilterSize float 0.3 schGridMultiple int 8 schGridSpacing float 0.125 schGridType cyclic "dotted" schHdlCrossViewCheck boolean t schHdlCrossViewString string "" schHdlEditAfterError boolean t 531 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic October 2002 schHdlNetToInoutPort toggle (t t t t t t t) schHdlNetToInputPort toggle (t t t t t t t) schHdlNoHierarchy boolean nil schHdlPrintCommand string "lpr" schHdlVerbose boolean nil schMaxDragFig int 100 schPathType cyclic "full" schShowDirectConnects boolean nil schShowLabelOrigin boolean nil schSnapSpacing float 0.0625 schWindowBBox string "((120 185) (1020 875))" schematicAreaPartialSelect boolean nil schematicSelectFilter string "allSchObj instancePin" sensitiveMenu boolean t shapeLineType cyclic "narrow" shapeLineWidth float 0.0625 simProbeAutoPlace boolean nil simProbeFormat string "<state>" simProbeType string "monitor" snapEnabled boolean t spanLib string "do not check" srcConnByName cyclic "ignored" srcFloatingBIDIR cyclic "warning" srcFloatingIO cyclic "warning" srcFloatingInput cyclic "warning" srcFloatingNets cyclic "warning" srcFloatingOutput cyclic "warning" srcInheritedConn cyclic "ignored" srcInstNameExpr string "" srcInstNameSyntax cyclic "ignored" srcInstOverlap cyclic "warning" srcInstOverlapValue int 10 srcMaxLabelOffset cyclic "ignored" srcNameCollision cyclic "warning" srcNetNameExpr string "" srcNetNameSyntax cyclic "ignored" srcNoOverrideNet cyclic "warning" srcOffsheetConnCheck cyclic "ignored" srcPinNetCollision cyclic "ignored" srcShortedOutputs cyclic "warning" srcSolderOnCrossover cyclic "warning" srcTermNameExpr string "" srcTermNameSyntax cyclic "ignored" 532 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic schematic October 2002 srcUnconnectedWires cyclic "ignored" srcVHDLSyntax cyclic "ignored" srcVerilogSyntax cyclic "ignored" ssgPackageLabels cyclic "none" ssgSortPins cyclic "alphanumeric" statusBanner boolean t statusBannerXY boolean nil stickyWireLabelRange float 0.3125 symCoalesceLimit int 2 symDisplayDepth int 3 symDrawAxesOn boolean nil symDynamicHilightOn boolean t symFilterSize float 0.3 symGridMultiple int 8 symGridSpacing float 0.125 symGridType cyclic "dotted" symMaxDragFig int 100 symPathType cyclic "full" symShowDirectConnects boolean nil symShowLabelOrigin boolean nil symSnapSpacing float 0.0625 symWindowBBox string "((120 185) (1020 875))" symbolAreaPartialSelect boolean nil symbolLabelChoice cyclic "instance label" symbolLabelChoiceText string "" symbolLabelFontHeight float 0.0625 symbolLabelFontStyle cyclic "stick" symbolLabelJustify cyclic "lowerCenter" symbolLabelType cyclic "NLPLabel" symbolPinFlatten boolean t symbolPinIncrCount int 1 symbolPinLocate cyclic "left" symbolPinUsage string "" symbolSelectFilter string "allSymObj" symbolShape cyclic "line" symbolShapeFillStyle cyclic "outline" transToSheetType string "single" tsgTemplateType string "digital" updateConn boolean t updateInstResetCDF boolean t vicExactPinMatch boolean nil vicInheritedPinMatch boolean t vicInheritedPins boolean t 533 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables schematic schematic schematic schematic schematic vicSeverity cyclic "warning" vicViewList string "symbol schematic functional behavioral system opt_sch opt_net" viewNameList string "schematic symbol" wireBackTrace boolean nil zoomOutButton boolean nil Window Environment Variables schDisplayDepth Specifies the display depth for the graphics editor. A value of 0 specifies that none of the graphics 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 schDrawAxesOn Specifies whether the schematic editor displays the X and Y axes when you view or edit a schematic view. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default nil Command(s) Options – Display Form(s) Display Options Form Field Axes On October 2002 534 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables schDynamicHilightOn Specifies whether the schematic editor dynamically highlights the items that it will select when you click on them. When t, the editor highlights the items with a dashed outline as you move the cursor over objects in your design. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default t Command(s) Options – Display Form(s) Display Options Form Field Dynamic Highlighting schGridMultiple When the grid type is either dotted or line, this value specifies the number of grids between major grids. For details, see Changing Display Options on page 481. Type integer Value(s) any positive number Default 8 Command(s) Options – Display Form(s) Display Options Form Field Grid Multiple schGridSpacing Specifies the distance between grids. For details, see Changing Display Options on page 481. Type float Value(s) n/a Default 0.125 (assumes inches) October 2002 535 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Options – Display Form(s) Display Options Form Field Snap Spacing schGridType Specifies the type of grid to display when you view or edit schematics. For details, see Changing Display Options on page 481. Type cyclic Value(s) “none” “dotted” “line” Default “dotted” Command(s) Options – Display Form(s) Display Options Form Field Grid Type schMaxDragFig Specifies the maximum number of figures that will be rendered during dragging. If dragging objects would result in rendering more than this number of objects, a bounding box is dragged instead. For details, see Changing Display Options on page 481. Type integer Value(s) n/a Default 100 Command(s) Options – Display Form(s) Display Options Form Field Drag Limit schPathType Specifies how the schematic editor renders wide wires. For example, you might want to see only the centerline. The default “full” shows a solid wide line; “outline” shows the two outer October 2002 536 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables edges (or lines) of the wide line; and “centerline” shows only an imaginary line in the center of the wide line. Type cyclic Value(s) “full” “outline” “centerline” Default “full” Command(s) n/a Form(s) n/a Form Field n/a schShowDirectConnects When enabled, the editor highlights the direct connections from pin to pin. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default nil Command(s) Options – Display Form(s) Display Options Form Field Show Direct Connection 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. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default nil Command(s) Options – Display Form(s) Display Options October 2002 537 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form Field Show Text Justification schSnapSpacing Specifies the minimum distance that the cursor moves. The default distance (0.0625) is equal to half the default grid spacing distance (0.125). For details, see Changing Display Options on page 481. Type float Value(s) n/a Default 0.0625 (assumes inches) Command(s) Options – Display Form(s) Display Options Form Field Snap Spacing 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. Type string Value(s) “((120 185) (1020 875))” Default n/a Command(s) n/a Form(s) n/a Form Field n/a symDisplayDepth Specifies the display depth for the graphics editor. A value of 0 specifies that none of the graphics are to be rendered. Instead, a bounding box is drawn with the name of the symbol. Type October 2002 integer 538 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Value(s) n/a Default 3 Command(s) n/a Form(s) n/a Form Field n/a symDrawAxesOn Specifies whether the symbol editor displays the X and Y axes when you view or edit a symbol view. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default nil Command(s) Options – Display Form(s) Display Options Form Field Axes On symDynamicHilightOn Specifies whether the symbol editor dynamically highlights the items that it will select when you click the left mouse button. When t, the editor highlights the items with a dashed outline as you move the cursor over objects in your design. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default t Command(s) Options – Display Form(s) Display Options Form Field Dynamic Highlighting October 2002 539 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables symGridMultiple When the grid type is either dotted or line, this value specifies the number of grids between major grids. For details, see Changing Display Options on page 481. Type integer Value(s) n/a Default 0.0625 (assumes inches) Command(s) Options – Display Form(s) Display Options Form Field Grid Multiple symGridSpacing Specifies the distance between minor grids. For details, see Changing Display Options on page 481. Type float Value(s) n/a Default 0.125 (assumes inches) Command(s) Display – Options – Display Form(s) Display Options Form Field Snap Spacing symGridType Specifies the type of grid to display when you view or edit symbols. For details, see Changing Display Options on page 481. Type cyclic Value(s) “none” “dotted” “line” Default “dotted” Command(s) Display – Options – Display October 2002 540 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form(s) Display Options Form Field Grid Type symMaxDragFig Specifies the maximum number of figures that will be rendered during dragging. If dragging objects would result in rendering more than this number of objects, a bounding box is dragged instead. For details, see Changing Display Options on page 481. Type integer Value(s) n/a Default 100 Command(s) Display – Options – Display Form(s) Display Options Form Field Drag Limit symPathType Specifies how the schematic editor renders wide wires. For example, you might want to see only the centerline. The default “full” shows a solid wide line; “outline” shows the two outer edges (or lines) of the wide line; and “centerline” shows only an imaginary line in the center of the wide line. Type cyclic Value(s) “full” “outline” “centerline” Default “full” Command(s) n/a Form(s) n/a Form Field n/a October 2002 541 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables symShowDirectConnects When enabled, the editor highlights the direct connections from pin to pin. For details, see Changing Display Options on page 481 Type Boolean Value(s) t, nil Default nil Command(s) Options – Display Form(s) Display Options Form Field Show Direct Connection 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. For details, see Changing Display Options on page 481 Type Boolean Value(s) t, nil Default nil Command(s) Options – Display Form(s) Display Options Form Field Show Text Justification symSnapSpacing Specifies the minimum distance that the cursor moves. The default distance (0.0625) is equal to half the default grid spacing distance (0.125). For details, see Changing Display Options on page 481. Type float Value(s) n/a Default 0.0625 (assumes inches) October 2002 542 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Options – Display Form(s) Display Options Form Field Snap Spacing 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. Type string Value(s) “((120 185) (1020 875))” Default n/a Command(s) n/a Form(s) n/a Form Field n/a viewNameList Specifies the default view name list to place on schematic and symbol editor windows. The view name list controls how hierarchy traversal should expand the design except in the case where a schematic is in the context of a hierarchy configuration. For details, see Traversing a Design Hierarchy on page 398. Type string Value(s) n/a Default “schematic symbol” Command(s) n/a Form(s) n/a Form Field n/a October 2002 543 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Schematic Environment Variables autoDot Specifies whether the editor automatically generates a solder dot for three-wire T-intersections or intersections that include either angled wires or flight lines. For details, see Disabling Automatic Solder Dot Creation on page 185. See also Editor Options Form on page 780. Type Boolean Value(s) t, nil Default t Command(s) Options – Editor Form(s) Editor Options Form Field Solder Dots Created Automatically blockDirRules Specifies the rule for setting the direction of the new pins that the system creates automatically when you edit a block. For details, see Editor Options Form on page 780. See also Changing the Block Pin Direction Rule on page 145. Type cyclic Value(s) “edge” “order of entry” Default “edge” Command(s) Options – Editor Form(s) Editor Options Form Field Block Pin Direction Rule October 2002 544 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables broadcast Specifies whether cross-selection is broadcast. For details, see Editor Options Form on page 780. See also Using Cross Selection on page 445. Type Boolean Value(s) t, nil Default nil Command(s) Options – Editor Form(s) Editor Options Form Field Enable Cross Section browserType Specifies which browser you access when the Add Instance command is active. For details, see Editor Options Form on page 780. See also Using the Library Browser on page 75. . Type string Value(s) “library” “component” Default “library” Command(s) Options – Editor Form(s) Editor Options Form Field Browser Type checkAlways Specifies whether the editor checks all schematics encountered during traversal or only those that have been modified. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type Boolean Value(s) t, nil Default nil Command(s) Check – Hierarchy October 2002 545 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Check – Options Form(s) Check Hierarchy Schematic Check Options Form Field(s) Process From a Multisheet Index, Check checkBeepOn Specifies whether the system beeps after every save and check-in. If set to t, the system beeps even if there is no error or warning message. The benefit of turning this option on is to let you know when the check is complete. If set to nil, the system restores the behavior to release 4.3.x (the system beeps only when an error or warning is found). Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type Boolean Value(s) t, nil Default t Command(s) Check – Options Form(s) Schematic Check Options Form Field Beep When 0 Errors/Warnings checkHierSave Specifies whether the system saves schematics as they are processed during a hierarchical check. When nil, schematics are not saved during processing, which allows you to save or discard the edits manually. When t, schematics containing zero errors are automatically saved. For those schematics that do contain errors, whether they are saved is based on the value of the saveAction variable. Type Boolean Value(s) t, nil Default t Command(s) Check – Hierarchy Form(s) Check Hierarchy October 2002 546 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form Field Save Schematics checkSymTime Specifies whether the system runs a consistency check of the symbol masters and specifies the level of the check. When you specify a level of 0, the system does not run a consistency check. When you specify a level of 1 to 3, the system attempts to run the specified check during loading. A level 2 check attempts to run the level 1 check first. A level 3 check attempts to 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 value of a symbol’s instancesLastChanged property is newer than the schematic’s instancesLastChanged property. When you set the value of this variable to 2, the system generates a warning when the value of the symbol’s UNIX file modification time stamp is newer than the schematic’s. The system does 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 value of the symbol’s check-in time stamp is newer than the value of the schematic’s instancesLastChanged property. The system does not run this check if either the level 1 or level 2 check fails. Type integer Value(s) 0, 1, 2, 3 Default 1 Command(s) n/a Form(s) n/a Form Field n/a compBackTrace Specifies whether routing should backtrace to components when you stretch an object. Type Boolean Value(s) t, nil Default t October 2002 547 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Edit – Stretch Form(s) Stretch Form Field Back Trace Wire From condOp Specifies the conditional operator for the Find and Replace commands. Type cyclic Value(s) “==” “!=” “<“ “>” “<=” “>=” Default “==” Command(s) Edit – Search – Find Edit – Search – Replace Form(s) Schematic Find Schematic Replace Symbol Find Symbol Replace Form Field Search For/Replace With createCvOptions Specifies whether the Create Cellview commands display an options form that is specific to the destination cellview. 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 October 2002 548 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form Field Edit Options createInstResetCDF Specifies whether the Add Instance command retains the current effective CDF values for a component when the same component is placed at a later time. If set to t, the editor CDF resets the CDF values to their default settings when you start the Add Instance command. Type Boolean Value(s) t, nil Default t Command(s) Add – Instance Form(s) n/a Form Field n/a createInstShowCDF Specifies whether the Add Instance form appears when the component you want to add contains CDF parameters. Type Boolean Value(s) t, nil Default t Command(s) Add – Instance Form(s) n/a Form Field n/a createLabelFontHeight Specifies a value (in user units) for the font height for the wire names that you add with the Add Wire Name command. Type October 2002 float 549 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Value(s) n/a Default 0.625 (assumes inches) Command(s) Add – Wire Name Form(s) Add Wire Name Form Field Font Height createLabelFontStyle Specifies a font for the wire names that you add with the Add Wire Name command. Type cyclic Value(s) “euroStyle” “gothic” “math” “roman” “script” “stick” “fixed” “swedish” “milSpec” Default “stick” Command(s) Add – Wire Name Form(s) Add Wire Name Form Field Font Style createLabelHorzOffset Specifies the offset distance of the wire name text in relation to a horizontal wire. 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 October 2002 550 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables createLabelHorzPosition Specifies the position of the wire name text in relation to a horizontal wire. Type cyclic Value(s) “above” “below” Default “above” Command(s) Add – Wire Name Form(s) Add Wire Name Form Field Horizontal/Text Position createLabelHorzRotation Specifies the orientation of the wire name text in relation to a horizontal wire. Type cyclic Value(s) “R0” “R90” Default “R0” Command(s) Add – Wire Name Form(s) Add Wire Name Form Field Horizontal/Text Rotation createLabelJustify Specifies the justification for the wire name text. 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 October 2002 551 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form Field Justification createLabelOffsetMode Specifies the wire name Entry Style mode. When set to t, the mode is fixed offset. When set to nil, the mode is manual. Type Boolean Value(s) t, nil Default t Command(s) Add – Wire Name Form(s) Add Wire Name Form Field Entry Style createLabelVertOffset Specifies the location 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 createLabelVertPosition Specifies the position of the wire name text in relation to a vertical wire. Type cyclic Value(s) “left” “right” Default “left” October 2002 552 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Add – Wire Name Form(s) Add Wire Name Form Field Vertical/Text Position createLabelVertRotation Specifies the orientation of the wire name text in relation to a vertical wire. Type cyclic Value(s) “R0” “R90” Default “R90” Command(s) Add – Wire Name Form(s) Add Wire Name Form Field Vertical/Text Rotation cvDisplay Specifies whether the system displays a new cellview in a window when you complete the Create – Cellview command. 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 October 2002 Display Cellview 553 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables defaultsFile Specifies which file the editor accesses when loading or dumping the schematic environment variables. 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 defWideWireWidth Specifies a value for the width of wires and flight lines that you create with the Add Wire command. The value must be greater than 0.0 and specified in user units. Type float Value(s) n/a Default 0.0625 (assumes inches) Command(s) Add – Wire {narrow, wide} Form(s) Add Wire Form Field Width descendSheet Specifies the type of sheet to descend into when descending into a level that expands to a multisheet schematic. Type string Value(s) “index” “sheet” October 2002 554 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Default “sheet” Command(s) Design – Hierarchy – Descend Edit Form(s) Descend Form Field schDescendSheetNum descendTarget Specifies whether the editor descends automatically when you start a Descend command. Type string Value(s) “query user” “use viewNameList” Default “query user” Command(s) Design – Hierarchy – Descend Design – Hierarchy – Descend Edit Design – Hierarchy – Descend Read Form(s) Descend Form Field Target Cellview dotOverlap Specifies the value for automatically generated solder dots that overlap wires at a wire intersection. The value must be specified in user units. For details, see Editor Options Form on page 780. 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 October 2002 555 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables drawMode Specifies the drawing mode for the Shape commands. Type string Value(s) “anyAngle” “l90X” “l90Y” “l45Long” “l45Angle” (where “l” is a lowercase 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 drawModeRoute Specifies the drawing mode for the Add Wire command. The difference between this and drawMode is the route choice, which invokes the wire router when adding wires to a schematic. For a sample drawing of the values, see “Add Wire Form” on page 712. 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 October 2002 556 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables echoToCIW Causes the system to print a summary of error and warning messages to the CIW when you check your design. This is the same summary the system displays in the dialog box when the editor encounters warning and error conditions during a check of your design. Type Boolean Value(s) t, nil Default t Command(s) Check Form(s) n/a Form Field n/a editPropShowCDF Specifies whether the CDF options field appears in the Show region of the Edit Object Properties form. Type toggle Value(s) t, nil Default t Command(s) Edit – Properties – Object Form(s) Edit Object Properties Form Field Show CDF editPropShowSystem Specifies whether the System options field appears in the Show region of the Edit Object Properties form. Type toggle Value(s) t, nil Default nil Command(s) Edit – Properties – Object October 2002 557 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Edit – Properties – Cellview Form(s) Edit Object Properties Edit CellView Properties Form Field Show System editPropShowUser Specifies whether the User options field appears in the Show region of the Edit Object Properties form. Type toggle Value(s) t, nil Default t Command(s) Edit – Properties – Object Edit – Properties – Cellview Form(s) Edit Object Properties Edit CellView Properties Form Field Show User findZoomButton Specifies whether the editor zooms into an object that matches the pattern specified in the Find command. Type Boolean Value(s) t, nil Default nil Command(s) Edit – Search – Find Form(s) Schematic Find Symbol Find Form Field October 2002 Zoom To Figure 558 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables gravityOn Specifies whether the cursor snaps to instance pins when you use the Add Wire command. For details, see Editor Options Form on page 780. Type Boolean Value(s) t, nil Default t Command(s) Options – Editor Form(s) Editor Options Form Field Gravity libList Specifies a list of libraries the editor processes during hierarchical checking when the environment variable spanLib is set to check. Type string Value(s) n/a Default “” Command(s) Check – Hierarchy Form(s) Check Hierarchy Form Field Reference Libraries markerSeverity Specifies a search based on marker severity level. Type string Value(s) “all” “error” “warning” Default “all” Command(s) Check – Find Marker Form(s) Find Marker October 2002 559 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form Field Severity markerShowIgnore Specifies whether the Find Marker form displays markers that have the ignore property set. Type Boolean Value(s) t, nil Default t Command(s) Check – Find Marker Form(s) Find Marker Form Field Show Ignore markerZoom Specifies whether the Find Marker command zooms to the current marker. Type Boolean Value(s) t, nil Default nil Command(s) Check – Find Marker Form(s) Find Marker Form Field Zoom to Markers maxLabelOffsetUU Specifies the maximum distance between a label and a wire. During schematic loading and connectivity extraction, any unglued wire names whose control point is within this distance of a wire is automatically glued to the wire. During SRC, this value is used in the maxLabelOffset check to flag any wire name that is farther than this distance from any wire whether or not the name is glued to the wire. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type October 2002 float 560 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables 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 minMarkerSize Specifies a value for the minimum marker size. The value is specified in user units. For details, see Editor Options Form on page 780. Type float Value(s) n/a Default 0.05 (assumes inches) Command(s) Options – Editor Form(s) Editor Options Form Field Minimum Marker Size modalCommands Specifies whether commands stay active until explicitly cancelled by pressing the Esc key or by starting another command. For details, see Canceling the Modal (Repeat) Command Option on page 480. Type Boolean Value(s) t, nil Default t Command(s) Options – Editor Form(s) Editor Options Form Field Modal Commands October 2002 561 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables netExprDisplay Specifies how to display inherited connections values. The value is what the connection resolves to; if it is overridden at a higher level in the hierarchy, the full path to a local signal might be displayed. For details, see Changing Display Options on page 481. 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 netNameMethod Specifies which naming mechanism the editor uses for system-generated net names during connectivity extraction. For details, see Editor Options Form on page 780. Type cyclic Value(s) “prefix” “derived” Default “prefix” Command(s) Options – Editor Form(s) Editor Options Form Field Net Name Method netNamePrefix Specifies the prefix string for the net names that the editor generates during connectivity extraction. For details, see Editor Options Form on page 780. Type string Value(s) n/a Default “net” October 2002 562 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Options – Editor Form(s) Editor Options Form Field Net Name Prefix netNameRangeDescend Specifies whether the range specification in system-generated buses is descending. When the value is nil (default), system generated buses are ascending. For details, see Editor Options Form on page 780. Type Boolean Value(s) t, nil Default nil Command(s) Option – Editor Form(s) Editor Options Form Field Bus Range Order netNameSeparator Specifies the name separator for net names that the editor generates during connectivity extraction if the value of netNameMethod is derived. For details, see Editor Options Form on page 780. Type string Value(s) n/a Default “_” Command(s) Options – Editor Form(s) Editor Options Form Field Net Name Separator October 2002 563 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables noteFontHeight Specifies a font height for the text you add to your design using the Add – Note – Text command. 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 noteFontStyle Specifies a font for the text you add to your design using the Add – Note – Text command. 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 noteJustify Specifies the justification for the text you add to your design using the Add – Note – Text command. Type cyclic Value(s) “upperLeft” “centerLeft” “lowerLeft” “upperCenter” “centerCenter” “lowerCenter” “upperRight” “centerRight” “lowerRight” Default “lowerCenter” Command(s) Add – Note – Text October 2002 564 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form(s) Add Note Text Form Field Justification noteShape Specifies the shape for a note that you add to your design using the Add – Note – Shape command. Type cyclic Value(s) “line” “rectangle” “polygon” “circle” “ellipse” “arc” Default “line” Command(s) Add – Note – Shape Form(s) Add Note Shape Form Field Shape noteShapeLineStyle Specifies the line style that the editor uses to draw a note shape. Type cyclic Value(s) “solid” “dashed” Default “solid” Command(s) Add – Note – Shape Form(s) Add Note Shape Form Field Line Style pinBackTrace Specifies whether the editor stretches the wires connected to a pin when you stretch a pin. Type Boolean Value(s) t, nil October 2002 565 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Default t Command(s) Edit – Stretch Form(s) Stretch Form Field Back Trace Wire From pinNameSeed Specifies the pin name prefix the editor uses when automatically creating new pins for blocks you add to your design. Type string Value(s) n/a Default “pin” Command(s) Add – Block Form(s) Add Block Form Field Pin Name Seed pinRefDuplicates Specifies whether the editor reports duplicate pin references found within one zone of a multisheet schematic. Type Boolean Value(s) t, nil Default t Command(s) Sheet – Cross Reference Form(s) Cross Reference Options Form Field Show Duplicate Zones October 2002 566 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables pinRefFormat Specifies the format for displaying the pin reference information that appears next to each pin when you use the Cross Reference command. Type string Value(s) n/a Default “<sheetnumber><zone><referenceName>” Command(s) Sheet – Cross Reference Form(s) Cross Reference Options Form Field Format String pinRefSorting Specifies how the editor sorts pin references when you use the Cross Reference command. 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 replSaveChanges Specifies whether the editor saves changes when you complete the Replace command and your design is in multiple-cellview mode (for example, hierarchy or library). Type Boolean Value(s) t, nil Default nil Command(s) Edit – Search – Replace Form(s) Schematic Replace October 2002 567 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Symbol Replace Form Field Save Changes 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 nil disables the SRC. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type Boolean Value(s) t, nil Default t Command(s) Check – Options Form(s) Schematic Check Options Form Field Run the Schematic Rule Checker runVIC Specifies whether to run the cross-view checker during schematic checking. Normally, during a check, connectivity is extracted, SRC is run, and VIC is run. A value of nil disables the VIC. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type Boolean Value(s) t, nil Default t Command(s) Check – Options Form(s) Schematic Check Options Form Field Cross View Checker Severity October 2002 568 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables saveAction Specifies what to do during hierarchical checking when checkHierSave is t and schematics containing errors are encountered. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “Save” “No Save” “Ask Me” Default “Ask Me” Command(s) Check – Options Form(s) Schematic Check Options Form Field Check And Save Action schematicAreaPartialSelect Specifies whether the system selects partial objects during area selection. The Select Filter command is discussed in Chapter 8, “Editing Properties.” Type Boolean Value(s) t, nil Default nil Command(s) Edit – Select – Filter Form(s) Schematic Selection Filter Form Field Area Partial Selection schematicSelectFilter Specifies the selection filter setting for schematic objects. The Select Filter command is discussed in Chapter 8, “Editing Properties.” Type string Value(s) “wire” “pin” “instance” “noteShape” “wireName” “marker” “pinName” “noteText” “flight” “label” “allSchObj” “instanceName” “instancePin” “instancePinName” “instanceLabel” “allInstObj” October 2002 569 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Default “allSchObj instancePin” Command(s) Edit – Select – Filter Form(s) Schematic Selection Filter Form Field Schematic Objects/Instance Objects sensitiveMenu Specifies whether the middle mouse button uses the object-sensitive menus or the standard pop-up menu. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default t Command(s) Options – Display Form(s) Display Options Form Field Object-Sensitive Pop-Up Menus shapeLineType Specifies the line style that the editor uses to draw a note shape. 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 October 2002 Line Style 570 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables shapeLineWidth Specifies a width for the line that the editor uses to draw a note shape. Type float Value(s) n/a Default 0.0625 (assumes inches) Command(s) Add – Note – Shape Add – Shape – Line Form(s) Add Note Shape Add Symbol Shape Form Field Line Width simProbeFormat Specifies how the editor displays the monitor and which simulation information the monitor displays. 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 simProbeType Specifies the simulation monitor type. Type string Value(s) “monitor” “display” Default “monitor” October 2002 571 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Check – Schematic Monitors – Add Form(s) Add Simulation Monitor Form Field Type snapEnabled Specifies whether the Add Wire command uses snap mode to complete a wire. For details, see Editor Options Form on page 780. Type Boolean Value(s) t, nil Default t Command(s) Options – Editor Form(s) Editor Options Form Field Wire Snapping spanLib Specifies whether the editor spans reference libraries when you use the Check – Hierarchy command. You use the libList environment variable to specify the list of reference libraries. Type string Value(s) “do not check” “check” Default “do not check” Command(s) Check – Hierarchy Form(s) Check Hierarchy Form Field Reference Libraries srcConnByName Specifies a check for naming conventions between wires and pins connected by name. This check verifies identical names that exist in more than one physically disjoint group of wires or pins. A user might have inadvertently connected objects when using a name that was already October 2002 572 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables used elsewhere in the schematic. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” Default “ignored” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Connection By Name srcFloatingBIDIR Specifies the severity of the SRC signal check for floating bidirectional pins. Controls the check for component or schematic bidirectional pins whose signals are not driven by component output pins, schematic input pins, or any other schematic I/O pins. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 srcFloatingInput Specifies the severity of the SRC signal check for floating inputs. Controls the check for component input pins and schematic output pins with signals that are not driven by component output pins, schematic input pins, or any schematic I/O pins. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” Default “warning” October 2002 573 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Floating Input Pins srcFloatingIO Specifies the severity of the SRC signal check for floating I/Os. Controls the check for component or schematic input/output pins with signals that are not driven by component output pins, schematic input pins, or any other schematic I/O pins. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 srcFloatingNets Specifies the severity of the SRC signal check for floating nets. Controls the check for wires that are not physically connected to schematic or component pins. It does not check for wires connected by name to schematic or instance pins. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” Default “warning” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Floating Nets October 2002 574 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables srcFloatingOutput Specifies the severity of the SRC signal check for floating outputs. Controls the check for component output pins and schematic input pins with signals that are not driving any component input pins, schematic output pins, or any schematic 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 Output Pins srcInheritedConnCheck Specifies the severity of the SRC inherited connections check. Controls the check for inherited connections. 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 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. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type string Value(s) n/a Default “” October 2002 575 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Instance Name Expression srcInstNameSyntax Specifies the severity of the SRC instance name check. Controls name-syntax checking for instance names. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 srcInstOverlap Specifies the severity of the SRC instance overlap check. Controls the check for instances that overlap other instances. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” Default “warning” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Overlapping Instances October 2002 576 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables 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 instance bounding box) that two instances can overlap. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type integer Value(s) n/a Default 10% Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Percent Overlap Allowed srcMaxLabelOffset Specifies the severity of the SRC maximum label offset check. Controls the check for those labels that are beyond a given distance from a wire. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 srcNameCollision Specifies the severity of the SRC instance and net name collision check. Controls the check for instance and net name collisions within the schematic. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” October 2002 577 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Default “warning” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Instance/Net Name Collision srcNetNameExpr Specifies the regular expression to use when the SRC net name check is enabled. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type string Value(s) n/a Default “” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Net Name Expression srcNetNameSyntax Specifies the severity of the SRC net name check. Controls name-syntax checking for net names. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 October 2002 578 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables srcNoOverrideNet Specifies the severity of the SRC check for missing override nets. Controls the check for override nets when a schematic contains override properties. If the override property is a net expression, the SRC will try to validate the property by ensuring the default name specifies a scalar, global name. If the override property is a literal string, the SRC will first validate the property by ensuring it is a legal, scalar name. In both cases, the SRC will then check if a net by that name exists in the cellview. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” Default “warning” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Missing Override Nets srcOffsheetConnCheck Specifies the severity of the SRC check for offsheet connectors. Controls the check for offsheet connectors used on only one sheet in a multisheet design. It also checks for nets used locally in more than one sheet that are not connected across the sheets by an offsheet connector. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 October 2002 579 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables srcPinNetCollision Specifies the severity of the SRC check for pin/net name collisions. Controls the check for pins that are connected to nets whose wire names do not match the pin. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 srcShortedOutputs Specifies the severity of the SRC shorted outputs check. Controls the check for component output or schematic input pins that are connected to any other component output or schematic input pins. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 srcSolderOnCrossover Specifies the severity of the SRC check for solder dots on crossovers (four or more wires at an intersection). Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” October 2002 580 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Default “warning” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Solder on CrossOver 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. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” . Type string Value(s) n/a Default “” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Pin Name Expression srcTermNameSyntax Specifies the severity of the SRC terminal name check. Controls name-syntax checking for net names. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 October 2002 581 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables srcUnconnectedWires Specifies the severity of the SRC unconnected wires check. Controls the check for wire segments whose endpoints do not physically connect to schematic or component pins, labels, or other wire segments. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” Default “ignored” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field Unconnected Wires srcVerilogSyntax Specifies the severity of the SRC Verilog syntax name check. Controls the check for Verilog HDL syntax across all instance and signal names. This check verifies that names are valid Verilog HDL identifiers and are not Verilog HDL reserved words. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 srcVHDLSyntax Specifies the severity of the SRC VHDL syntax name check. Controls the check for VHDL syntax across all instance and signal names. This check verifies that names are valid VHDL October 2002 582 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables identifiers and are not VHDL reserved words. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type cyclic Value(s) “ignored” “warning” “error” Default “ignored” Command(s) Check – Rules Setup Form(s) Setup Schematic Rules Checks Form Field VHDL Syntax ssgSortPins Specifies how the text-to-symbol generator sorts the symbol pins for the new symbol. For details, see Editor Options Form on page 780. Type cyclic Value(s) “unknown” “alphanumeric” “geometric” Default “alphanumeric” Command(s) Options – Editor Form(s) Editor Options Form Field Symbol Generator Pin Sorting statusBanner Specifies whether the status banner appears on all windows that contain schematic or symbol data. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default t Command(s) Options – Display Form(s) Display Options Form Field Display Status Banner October 2002 583 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables statusBannerXY Specifies whether the editor displays the X and Y coordinates in the status banner when the status banner is displayed. For details, see Changing Display Options on page 481. Type Boolean Value(s) t, nil Default nil Command(s) Options – Display Form(s) Display Options Form Field Coordinates on Status Banner stickyWireLabelRange Specifies the range between the origin of a wire name and a wire segment vertex. When you reroute the wire segment using the Stretch command, the wire name remains in a relative position to the vertex if the wire name is within the specified range. Type float Value(s) n/a Default 0.3125 (assumes inches) Command(s) Edit – Stretch Form(s) Stretch Form Field n/a symbolAreaPartialSelect Specifies whether the editor includes partially selected objects in an area selection action. Type Boolean Value(s) t, nil Default nil Command(s) Edit – Select – Filter October 2002 584 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form(s) Symbol Selection Filter Form Field Area Partial Selection symbolLabelChoiceText Specifies the purpose of a symbol label. Type string Value(s) “component label” “device annotate” “logicallabel” “physical label” “pin label” “pin” “annotate” Default “” Command(s) Add – Label Form(s) Add Symbol label Form Field Label Choice symbolLabelFontHeight Specifies a value (in user units) for the font height for a label that you add with the Add – Label command. Type float Value(s) n/a Default 0.0625 (assumes inches) Command(s) Add – Label Form(s) Add Symbol Label Form Field Font Height symbolLabelFontStyle Specifies a font for a label that you add with the Add – Label command. Type October 2002 cyclic 585 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables 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 symbolLabelJustify Specifies the position of the cursor with respect to the label that you add with the Add – Label command. 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 symbolLabelType Specifies how the editor displays a symbol label. Type cyclic Value(s) “normalLabel” “NLPLabel” “ILLabel” Default “NLPLabel” Command(s) Add – Label Form(s) Add Symbol Label Form Field Label Type October 2002 586 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables symbolPinFlatten Specifies whether the symbol editor flattens pins that you add to your design. When the value for this variable is nil, the editor flattens the pins that you add to your design. A value of nil corresponds to the on option in the user interface form. A value of t corresponds to the off option in the user interface form. For details, see Editor Options Form on page 780. Type cyclic Value(s) t, nil Default t Command(s) Option – Editor Form(s) Editor Options Form Field Add Symbol Pins As Instances symbolPinIncrCount Specifies the distance between a pin and the pin label. Type integer Value(s) n/a Default 1 Command(s) Add – Pin Form(s) Add Pin Form Field Label Offset symbolPinLocate Specifies the location of the pin label with respect to the pin. Type cyclic Value(s) “none” “left” “right” Default “left” Command(s) Add – Pin October 2002 587 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Form(s) Add Pin Form Field Label Location symbolPinUsage Specifies whether the symbol editor sets up the Add Pin form to use square as the initial value for pin type when it is defined in the schSymbolPinMaster list. Type cyclic Value(s) “square” “round” “actHi” “commActLo” “ieeeActLo” “block” Default “square” Command(s) Add – Pin Form(s) Add Pin Form Field Type symbolSelectFilter Specifies the selection filter setting for symbol objects. The Select Filter command is discussed in Chapter 8, “Editing Properties.” 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 symbolShape Specifies the symbol shape you want to add. Type October 2002 cyclic 588 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Value(s) “line” “rectangle” “polygon” “arc” “ellipse” “circle” Default “line” Command(s) Add – Shape Form(s) Add Symbol Shape Form Field Shape symbolShapeFillStyle Specifies whether a shape is filled. Filled maps to solid. Type cyclic Value(s) “outline” “solid” Default “outline” Command(s) Add – Shape Form(s) Add Symbol Shape Form Field Fill Style 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. 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 October 2002 589 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables tsgTemplateType Specifies which tsg template file the system loads the first time you use one of the Create Cellview commands to automatically generate a symbol. The system uses the value of this variable to look up the full file path in the tsgTemplateMasters list, which is defined in the schConfig.il file. Important Once you have loaded a template file, you cannot switch to another template file by just changing the value of the environment variable. To switch to another template file, you must use either the Load button on the Symbol Generation Options form or the schSetAndLoadTsgTemplateType() procedural interface (PI) function. Type string Value(s) “digital” “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 updateConn Specifies whether the editor extracts connectivity during schematic checking. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type Boolean Value(s) t, nil Default t Command(s) Check – Options Form(s) Schematic Check Options Form Field Update Connectivity October 2002 590 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables vicExactPinMatch Specifies whether the cross-view checker generates a port mismatch warning when one view has a single pin (for example, pin[0:7] and another view has multiple pins (for example, pin[0], pin[1], pin[2], ... pin[7]). Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type Boolean Value(s) t, nil Default nil Command(s) Check – Options Form(s) Schematic Check Options Form Field Match Pin Names Exactly vicInheritedPins Specifies whether the cross-view checker generates a warning if a terminal is inherited in one view but is not inherited in another view. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type Boolean Value(s) t, nil Default t Command(s) Check – Options Form(s) Schematic Check Options Form Field Match Inherited Terminals vicInheritedPinsMatch Specifies whether the cross-view checker generates a warning if an inherited terminal in one view has a different net expression than the matching terminal in another view. Type Boolean Value(s) t, nil October 2002 591 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Default t Command(s) Check – Options Form(s) Match Terminal Net Expressions Form Field n/a vicSeverity Specifies the severity of the cross-view check. When the severity level is ignored, the checker simply returns. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” 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 vicViewList Specifies the list of view names that the cross-view checker checks. Setting schematic check options and rules are discussed in Chapter 10, “Checking Designs.” Type string Value(s) n/a Default “symbol schematic functional behavioral system opt_sch opt_netl” Command(s) Check – Options Form(s) Check-Cross View Check October 2002 592 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables Schematic Check Options Form Field Cross-View Checker View Names wireBackTrace Specifies how unselected wires that are connected to selected instances, wires, and pins behave. Type Boolean Value(s) t, nil Default nil Command(s) Edit – Stretch Form(s) Stretch Form Field Back Trace Wire From zoomOutButton Automatically sizes the window display to show all objects that match a specified search criterions. 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 October 2002 Zoom Out To Fit All Figures 593 Product Version 5.0 Virtuoso Schematic Composer User Guide Environment Variables October 2002 594 Product Version 5.0 Virtuoso Schematic Composer User Guide B Text-to-Symbol Generator The text-to-symbol generator (TSG) is a Cadence® application program that automatically generates 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 TSG constructs. ■ Symbol Shape Generated by TSG on page 597 ■ TSG Symbol Description File on page 598 ■ TSG Template File on page 598 ■ Clock and Negation Indicators on page 599 ■ Backannotation on page 599 ■ Simple File Example on page 599 ■ Complex File Example on page 600 ■ Extended File Example on page 601 ■ TSG Symbol Description File Structure on page 603 ■ ❑ Basic File Structure on page 603 ❑ Data Types on page 605 Using TSG Constructs on page 607 ❑ Cell Definition on page 607 ❑ Input Pin on page 608 ❑ Output Pin on page 608 ❑ I/O Pin on page 608 ❑ Symbol Definition on page 609 October 2002 595 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator ■ Executing TSG on page 620 ❑ TSG Processing Order on page 621 ❑ Creating Symbols Automatically from a Schematic on page 621 October 2002 596 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator Symbol Shape Generated by TSG All symbols generated by TSG are rectangular in shape. The default origin of a symbol is located at the upper left pin terminal. The following symbol was created by TSG. A Symbol Master Clock pin with input clock indicator (arrow) Negative logic types with negation indicator (bubble) October 2002 [@refDes:%] [@partName:%] [@slotId:%] 597 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator An Instance An instance of the symbol shown above when placed in a schematic U2 TSGFIG TSG Symbol Description File The TSG symbol description file is the primary input file that controls the symbol to be generated by TSG. This ASCII file is built using the constructs detailed in this appendix. You can create a very simple file containing only the cell name and the pin names, or you can add constructs to enhance the symbol description. Defaults and error checking are built-in features of TSG. TSG has extensive error checking and error handling capabilities. It checks for syntax, variable-type, and logical errors in the TSG symbol description file. Depending on the severity of a detected error, TSG either exits the 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 to be generated by TSG. The TSG template file uses the same format as the TSG symbol description file. Within this file, you can configure symbol labels, properties, and characteristics such as pin spacing, stub length, and origin placement. October 2002 598 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator A template file helps avoid unnecessarily large TSG description files. You can specify TSG constructs shared by a large group of symbols within a single template file. This allows you to create TSG symbol description files that contain only constructs specific to a particular symbol. The first time you use TSG during a Virtuoso® schematic composer session, a default template file is automatically loaded. This default template file is always used unless you specify 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 generated by TSG unless overridden by constructs specified within the TSG symbol description file. You can find available template filenames within the tsgTemplateMasters list, which is defined in the schConfig.il file. The default template file that is chosen depends on the initial setting of 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 beginning of the pin wire ■ For a negative logic pin, you can draw a negation indicator (a bubble) at the beginning of the pin wire The example TSG files and associated figures illustrate some of these capabilities. Refer to the PinGraphicSpec construct and the wireLength and pinConnector symbol parameters. Backannotation After laying out parts for printed circuit boards (PCB), you often need to backannotate to schematics or PCB maps parameters, such as pin numbers and reference designators of symbol instances. You can include constructs in the TSG symbol description file that specify the properties and parameters required to support the backannotation operation. Simple File Example The simplest TSG symbol description for an SN74LS181 symbol has the following format: October 2002 599 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-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 file shown above. Complex File Example A more elaborate version of a TSG symbol description file for an SN74LS181 symbol has the following format. This symbol was generated using the PCB package.tsg template file as an 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( vendorName = DEMO partName = "TSGFIG2" refDes = U2 ) pinNumSpec( October 2002 600 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator A0:1 A1:2 A2:3 A3:4 B0:18 B1:17 B2:16 F0:7 F1:8 F2:9 F3:10 C:11 ) pinLocSpec( topPins( Set) bottomPins( Reset) ) pinGraphicSpec( A0:actLo A1:actLo A2:actLo B0:actLo B1:actLo B2:actLo Cn:clock Set:actLo Reset:actLo F1:actLo F2:actLo F3:actLo A3:actLo B3:actLo F0:actLo C:actHi ) ) ) The following example shows a symbol generated from the TSG symbol description file shown above. Extended File Example The following example demonstrates many of the available TSG constructs. defcell("count4" input("clock" "reset") output("a0" "a1" "a2" "a3") October 2002 601 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator defsymbol( symbolProps( partName = "count4" ; cellview prop with valueType=string pinNum = (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 wireLength vSideLength hSideLength origin pinConnector = = = = = = 0.125000 0.250000 0.000000 0.000000 topLeftPin "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}]") 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 ) ) ) October 2002 602 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator The following example shows a symbol generated from the TSG symbol description file shown 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 create the file, you must use a special format that includes several constructs and keywords. All constructs 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] ) Some constructs can appear only inside certain other constructs. Some keywords can appear 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, and I/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 construct allowed in a TSG file, follows. October 2002 603 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator Following the defcell example are further syntax descriptions for properties and labels. Text in bold = keywords Text in italics = data types Text in angle brackets = < names of variables > cellName must be a character string pinName 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] [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( October 2002 604 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator [<pinName1> : string] . . . [<pinNameN> : string] )] [pinLogicSpec( [positive( <pinName1> <pinName2> ... <pinNameN> )] [negative( <pinName1> <pinName2> ... <pinNameN> )] )] [clockPins( <pinName1> <pinName2> ... <pinNameN> )] )] ) <property list>:= <property pair> <property list> | <property pair> <property pair>:= <property name> = <property value> <property name>:= <string> <property value>:= <simple value> | ( <simple value> [(<range>)]) | time( <time value> ) | filename( <filename value> ) | ilExpr( <string> ) | 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. October 2002 605 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator Character String A character string can contain one or more alphanumeric characters (a–z, A–Z, 0–9), the underscore (_), and the question mark (?). The first character cannot be a number. Any character other than these must be enclosed in quotation marks (" "). Blank characters must be replaced by an underscore. Examples of character strings are as follows: SN74LS169A Am2901_MPR006 FFTchip_2MC_V1 "RAM_1M-6/86" Pin Name String A pinName string is similar to a character string except that any slash ( / ) is replaced by a vertical bar ( | ). For example, X/Y is transformed to X|Y. Examples of pinName strings are as follows: OutputEnable inputA "Read|Write_" "Up_|Down" Terminal List A terminal list consists of one of the following values: 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. October 2002 606 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator Using TSG Constructs The following constructs can be included in a TSG symbol description file. TSG Construct Definition defcell cell definition input input pin output output pin io I/O pin 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 Cell Definition The defcell construct is the highest level construct in a TSG symbol description file. It has the 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 in defcell. Any other construct is ignored by TSG but can be processed by other Cadence tools, 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 the generated symbol is stored. You must specify this cell name as a string. October 2002 607 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator Example: defcell( <cellName> ) Input Pin The input construct has the form CF1, and you can include it in the defcell construct. It contains a list of the symbol input pins. By default, all input pins are drawn on the left side of the 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 617 for details. If a pin specified in this construct is 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 pins are 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 “Pin Location Specification” on page 617 for details. If a pin specified in this construct is also specified 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. It contains a list of all I/O symbol pins. By default, all I/O pins are drawn on top of the symbol from left to right. To move an I/O pin to any other side, you specify the pin in the pinLocSpec construct. Refer to “Pin Location Specification” on page 617 for details. If a pin specified in this construct is also specified in the input or output constructs, an error message is generated. October 2002 608 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-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 the form 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 only ones 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 be created. The default value is symbol. If you specify the viewName parameter, it must be a string 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 defsymbol construct. This construct can accept any number of property pairs and any number of defTermProp and defVisibleProp subconstructs. The symbolProps construct is used to create properties on the symbol cellview or properties on sets of terminal pins. symbolProps( <property pair> <property pair> . . October 2002 609 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator [defTermProp( <terminal list> <property list> )] . . [defVisibleProp( <property pair> <label attributes> )] . . ) defTermProp defTermProp defines properties on the terminals represented by any of the following choices: all, input, output, inputOutput, topPins, bottomPins, leftPins, or rightPins. Example: defTermProp( input Iih = 1.24 a = 3) defVisibleProp defVisibleProp defines a property and the label attributes information for displaying 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 = mara format( "value") location( "xleft : ytop + 0.0625") justification( centerLeft ) ) property pair A property pair specification consists of a property name and property value pair. A property pair uses the format property_name = property_value property_name can be any identifier or string. property_value can be a simple value plus an optional range, a time, a filename, a SKILL expression, or an NLP expression. October 2002 610 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator Property values other than simple values require a keyword and an argument enclosed in parentheses. Do not leave a space between the keyword and the left parenthesis immediately following it. When the property pair is specified directly within the symbolProps construct, a symbol cellview 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 | FALSE | t | nil} create Boolean properties. Simple values can also be combined with a range value. When a range is included, enclose the value/range pair in parentheses. 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 are expressed as a time value and an optional range. The time value contains the date, time, and year, enclosed in parentheses. For example, the property lastChanged = time("Jan 01 8:17:56 2000") is a valid expression. Only the first three characters are needed to specify the month. filename The filename keyword indicates the property type is a filename. Follow filename with a string indicating the filename. Enclose the filename string in parentheses. For example, the property myFile = filename("magic.c") is a valid expression. ilExpr The ilExpr keyword indicates the property type is a SKILL expression. This type of property requires 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 of property requires a valid NLP expression enclosed in parentheses. October 2002 611 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator range Range values are optional arguments when specifying a property. A range value can be either an enumeration type or a pair of values specifying the upper and lower bounds of the range. The values of range must be enclosed in parentheses. If a range is an enumeration type, 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 nil is 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 defsymbol construct. The following symbol parameters, specific to this construct, are the only ones that can be included in any order without replication. They are not stored in the symbol master property list. wireSpacing The minimum spacing between any pair of adjacent pin wires on a side. The default is twice the 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 the wireSpacing field. The value you supply is rounded to the nearest multiple of snap spacing. vSideLength The minimum length of the vertical sides. The default ensures enough vertical span to accommodate the pins on both sides. If the value you supply is less than the computed default, the computed default is used. The vSideLength value is rounded to the nearest snap spacing. hSideLength The minimum width of the horizontal sides. The default ensures enough horizontal span to accommodate the pins on both the top and bottom sides of the symbol, the part name, and October 2002 612 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator pin name labels. If the value you supply is less than the computed default, the computed default 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 the actual graphics for the connector. The choices are square, block, and circle. You can add new types by creating a new pin connector cellview and updating the tsgConnectorMasters list in the schConfig.il file. origin The default placement of the symbol origin. The choices are topLeftPin, bottomLeftPin, or centerLeft. Example: symbolParam( wireSpacing wireLength vSideLength hSideLength pinConnector origin = = = = = 0.125 0.0 0.0 0.0 "block" = topLeftPin ) Symbol Labels The symbolLabels construct has the form CF1, and you can include it in the defsymbol construct. The symbolLabels construct allows you to define symbol labels. If this construct is not specified, a set of default labels is generated on the symbol. 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) October 2002 613 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator apply(cellview) fontHeight(0.1) ) A label specification consists of a name and one or more of the following label attributes: 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 an underscore before and after any text you want an overbar above. For example, the label read|_write_ converts to read|write with an overbar above write. Label Attributes The following label attributes are shared by the ldefVisibleProp and defLabel constructs. location Location specifies where to place the label. The location keyword is followed by an expression that positions the label on the symbol. The expression can be any SKILL expression that evaluates to a point. The location expression is a function of the variables xleft, xright, ytop, ybottom, and fontHeight for labels applied to a cellview, and of the variables pinSpacing, stubLength, and fontHeight for labels applied to pins. Top, bottom, left, and right pin label positions must be specified separately. 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. October 2002 614 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator apply Apply specifies whether the label is applied to either the cellview or to specific pins. The choices are cellview, top, bottom, left, right, input, output, and inputOutput. labelType The optional labelType field (used only in the defLabel construct) specifies the label type as either normalLabel (default), NLPLabel, or ILLabel. format The optional format field (used only in the defVisibleProp construct) specifies which parts 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 is device. purpose The optional purpose field contains a string that defines the purpose of the label. The default is annotate. orientation The optional orientation field determines the rotation of the label in degrees. The choices are R0, R90, R180, and R270. isOverbar The optional isOverbar field determines whether a bar or overline is placed over the label text that is placed between underscore characters. Assigning a value of t to isOverbar places 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 requires a string value specifying the new font style. The default is stick. October 2002 615 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator fontHeight The optional fontHeight field specifies the default font height for a label. fontHeight requires a float value specifying the new height. Control Parameter The controlParam construct has the form CF2, and you can include it in the defsymbol construct. The controlParam construct contains control parameters you can specify to define execution behavior. queryMode Use queryMode only when the specified symbol master already exists in the library. When set 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 symbol should be overwritten. It does not prompt you for permission to overwrite an existing symbol cellview. Refer to “Executing TSG” on page 620 for details about the built-in questions when queryMode is set to t. This control parameter is the only one that can be included in this construct and is not stored in the property list of the symbol master. Example: controlParam( queryMode = t ) Pin Number Specification The pinNumSpec construct has the form CF3, and you can include it in defsymbol. It contains a list of pinName:pinNumber pairs. A colon (:) separates the pin name and pin number. Any pin specified in this construct must also be declared in input, output, or io or TSG ignores it and its pin number. This construct is most often used for printed circuit board design libraries. A pin number must be a positive integer. For each pinName:pinNumber pair specified, the p_pinName property, along with the specified pin number, is stored in the symbol master property list for annotation and backannotation into instances. October 2002 616 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator Example: pinNumSpec( [<pinName1> : integer] [<pinName2> : integer] ) Pin Graphic Specification The pinGraphicSpec construct has the form CF3, and you can include it in defsymbol. It contains a list of pinName:string pairs. A colon (:) separates the pin name and string. The construct identifies special pin graphics, such as negation bubbles and clock indicators, to be drawn with the specified pins. The length of the pin stub and the shape of the pin connector are 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 the schConfig.il file, which maps to a corresponding cellview containing the pin graphics. To create a new type of pin graphic, create a new cellview with the pin graphic and add an entry to the tsgPinGraphicMasters list in the schConfig.il file. Example: pinGraphicSpec( [<pinName1> : string] [<pinName2> : string] ) Pin Location Specification The pinLocSpec construct has the form CF1, and you can include it in defsymbol. The pinLocSpec construct contains up to four subconstructs with which you can specify the pin location 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 must also be specified in the input, output, or io constructs or TSG ignores them. This construct 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 on the left of the symbol. A pin specified in input but not specified in pinLocSpec is drawn on the left before those in leftPins. A pin name in leftPins cannot be specified again in the other three subconstructs. October 2002 617 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator 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 drawn on the right of the symbol. A pin specified in output but not specified in pinLocSpec is drawn on the right before those in rightPins. A pin name in rightPins cannot be specified 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 the top of the symbol. A pin specified in io but not in pinLocSpec is drawn on the top before those in topPins. A pin name in topPins cannot be specified again in the other three subconstructs. 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. 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 you can include it in defsymbol. It contains one or more of the following subconstructs to specify the logic types of symbol pins. Both subconstructs have the form CF1, and you can include them in the pinLogicSpec in any order without replication. Any pins specified in either subconstruct must also be specified in the input, output, or io constructs; otherwise, TSG ignores this subconstruct. October 2002 618 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator 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 the symbol 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, and you 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 be drawn as clock pins. Clock pins are designated by a small triangle (a clock indicator) next to the pin. Configuration Variables tsgFilterGlobalNames When this SKILL global variable is set to t, global names ending with an exclamation point are 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 you have control over the symbol size. The defaults are tsgHSymbolBoxFactor = 1, tsgVSymbolBoxFactor = 1. For example, tsgHSymbolBoxFactor = .7 would make symbols narrower. tsgKeepPinPlacement Left and right symbol pins are placed starting near the top of the symbol. Therefore, the uppermost left pin is at the same Y dimension as the uppermost right pin. In other words, the pins are not centered but instead are moved up near the top of the symbol. When additional pins are added, the original pins are not moved and do not need to be rewired. If you want to October 2002 619 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator have the symbol pins centered with respect to the symbol box, set this SKILL global variable to nil. The default is t. tsgResolution You can use this SKILL global variable to override the default tsg resolution. The resolution defines the granularity for the location of pins, labels, and symbol graphics. The default is undefined, 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 the tsgTemplateMasters variable. TSG uses this environment variable to identify which template file will be loaded during the first run of TSG. For further information, refer to the tsgTemplateType environment variable. Executing TSG TSG runs as a separate SKILL program in the Cadence environment to generate symbols that you can place as instances in schematics. Running TSG from SKILL requires a library name, an input filename, and optionally a template filename. TSG first reads the input parameters from the TSG file, then uses any symbol parameters contained in the template file that are not specified in the input file. This allows you to have one large template file that specifies most of the symbol parameters and smaller TSG files that contain only pin specifications. The resulting cellview is saved to the library 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> <tsgFile> [<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 the current directory, include the full path to the file. tsgTemplateFile is the name of an optional TSG template file. If the template file is not in the current directory, include the full path to the file. October 2002 620 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-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 it to 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 the symbol view and asks whether to overwrite the existing symbol with one that it is going to generate. If you respond yes, TSG goes to step 6. If you respond no, TSG goes to step 4. If you set 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 TSG goes 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 passes control to the Cadence design system. After program execution, you can find any error messages printed by TSG in the Command Interpreter Window (CIW). Creating Symbols Automatically from a Schematic A convenient feature available from the schematic editor environment allows you to create a symbol with the same pins that are found within an existing schematic, Verilog, or other cellview. The TSG symbol generator is automatically invoked whenever you create symbols using the Create Cellview – From Cellview command or the Create Cellview – From Pin List command, which are available from the schematic and symbol editor windows. You can use the Symbol Generation Options form to override defaults or to help create new TSG template files. October 2002 621 Product Version 5.0 Virtuoso Schematic Composer User Guide Text-to-Symbol Generator The Symbol Generation Options form can be accessed by turning on the Edit Options button on the Create Cellview – From Cellview command or the Create Cellview – From Pin List command. October 2002 622 Product Version 5.0 Virtuoso Schematic Composer User Guide C Symbol and Simulation Library Generator The Cadence® SKILL-based symbol and simulation library generator (S/SLG) is a library management program that generates symbol and simulation views. S/SLG generates a symbol in the library and defines the complete characterization of a symbol for use in computer-aided engineering applications. This appendix describes the S/SLG commands and program and the library management SKILL functions used with S/SLG. ■ Terms and Conventions on page 625 ■ Library Command File on page 626 ■ Running the Symbol and Simulation Library Generator on page 626 ■ ❑ Running the Symbol and Simulation Library Generator in the Cadence Graphic Environment on page 626 ❑ Running the Symbol and Simulation Library Generator in the Cadence Nongraphic Environment on page 628 Library Management Commands on page 630 ❑ lmCheckTerm on page 632 ❑ lmCheckView on page 633 ❑ lmCloseLib on page 635 ❑ lmDefCell on page 636 ❑ lmDefTermProp on page 638 ❑ lmDefViewProp on page 640 ❑ lmDeleteTermProp on page 644 ❑ lmDeleteViewProp on page 645 October 2002 623 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator ❑ lmGetValue on page 646 ❑ lmLoadData on page 647 ❑ lmOpenLib on page 648 ❑ lmPrintLibTermProp on page 649 ❑ lmPrintLibViewProp on page 650 ❑ lmPrintTerm on page 651 ❑ lmPrintTermProp on page 652 ❑ lmPrintViewProp on page 653 ❑ lmReset on page 654 ❑ lmSimView on page 655 ■ Variables That Control Command Execution on page 657 ■ Properties That Modify Values on page 658 ■ Sample Library Command File on page 658 October 2002 624 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Terms and Conventions The following table shows the format for library management commands, which is different from the rest of this user guide. 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 is either an integer or a floating-point number. names A cell name, view name, property name, or filename can contain alphanumeric characters (a-z, A-Z, 0-9), the underscore ( _ ), and question mark (?). However, the first character of a name cannot 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 the terminal name in quotation marks. For example, enclose the terminal names input, output, io, or switch in double quotation marks. Enclose property names in double quotation marks. spaces No space is allowed between a command name and the left parenthesis that follows it. \ (backslash) If a character such as backslash (\) or double quote ("") is used in a string, one additional backslash must precede it as an escape character. lm + command name 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. You can use the alias mechanism to give a command a shorter name. For example, the command alias p lmPrintViewProp makes p an alias name for lmPrintViewProp. Thus, the command p( and2 symbol ) is equivalent to the command lmPrintViewProp( and2 symbol ). Then you can use p whenever you would have used lmPrintViewProp. October 2002 625 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Library Command File The library command file is one master text file that contains all text information in the library programming 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 simulation views 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 Schematic Composer SKILL Functions Reference for details about programming in SKILL. 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 Cadence Graphic Environment S/SLG is integrated into the Cadence graphic environment. If you want to do symbol generation or backannotation, you must run S/SLG in the Cadence graphic environment. Refer to Figure C-1 on page 628 for an overview. You can run S/SLG either by typing a function or a sequence of functions in the Command Interpreter 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 save your generated symbol into S/SLG. To load your file while you run S/SLG, do the following: October 2002 626 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator ➤ Type the following function in the CIW: lmLoadData( myFile.lm myLib ) where lmLoadData opens your working library, loads your library command file, then closes your 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 during execution. An exit status of t indicates there are no output or error messages; nil indicates an error occurred. Error messages can be the result of syntax errors, insufficient arguments, or undefined parameters. October 2002 627 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Figure C-1 Diagram of Running S/SLG in the Cadence Graphic Environment Method 1: Enter lmOpenLib to open your working library, then enter one command or a sequence of commands in the CIW Start S/SLG by typing any S/SLG command in the CIW Symbol generation/ modification 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 Timing specification Method 1: Enter lmCloseLib to close your working library in the CIW Consistency checking S/SLG opens your working library Backannotation Method 2: lmLoadData closes your working library Running the Symbol and Simulation Library Generator in the Cadence Nongraphic Environment You can run S/SLG in the Cadence nongraphic environment in a UNIX window. For running functions 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 October 2002 628 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator lmLoadData opens your working library, loads your library command file, then closes your working library when you complete running S/SLG. myFile.lm is your library command file. myLib is your working library. Refer to Figure C-2 on page 629 for an overview of the above processes. Figure C-2 Diagram of Running S/SLG in the Cadence Nongraphic Environment Method 1: Execute Cadence nongraphic program in a UNIX window Enter the command to open your working library, then enter one command or a sequence of commands in a UNIX window Timing specifications Method 1: Enter lmCloseLib to close your working library in a UNIX window Method 2: Create a library command file that contains S/SLG commands or SKILL functions in the UNIX window Start Cadence nongraphic program in a UNIX window. Type lmLoadData in a UNIX window within Cadence nongraphic environment to load the library command file Property addition S/SLG opens your working library Consistency checking Method 2: S/SLG closes your working library Output and Error Messages Each function returns a running status. Output and error messages are displayed on the screen during execution. An exit status of t means that there are no output or error October 2002 629 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator messages, and nil means an error occurred during execution. Error messages can be the result 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 output on 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 the same 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 this section. Command Name Description lmCheckTerm Checks the consistency of terminal name, type, and width for views of a specified cell lmCheckView Evaluates a sequence of expressions for specified cellviews lmCloseLib Closes a library previously opened by lmOpenLib lmDefCell Defines a cell, generates a symbol, and backannotates objects 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 lmGetValue Returns the value of a specified property in the referenced view lmLoadData Loads a library command file lmOpenLib Opens a library October 2002 630 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Command Name Description lmPrintLibTermProp Prints terminal properties of a view for each cell in the current library lmPrintLibViewProp Prints properties of the specified view for each cell in the current library lmPrintTerm Prints names, types, and widths of all terminals of the specified 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 October 2002 631 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 of comparison for each cell. Otherwise, terminals in the symbol view are used as the basis of comparison. When neither schematic nor symbol view exists, no terminal checking is performed. After checking, inconsistent terminal names/widths and input/output types are identified 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, output is 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 in the file check.out. lmCheckTerm( t ) Checks the terminal consistency of all views for each cell in the current library. October 2002 632 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 value for consistency. Property values can be included in an expression. The expressions should conform to SKILL syntax. 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, output is displayed on the screen. expression A property used in an expression refers to the property in <view name>. Examples fast_process = t margin = 1ns lmCheckView( (and2 and3) symbol if( fast_process then sum = 5ns trmax = 4ns tfmax = 3ns else sum = 9ns trmax = 6ns tfmax = 5ns ) lmGetValue(tr) < trmax lmGetValue(tf) < tfmax lmGetValue(tr) + lmGetValue(tf) <- sum + margin ) October 2002 633 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Checks some conditions for the rise and fall time in the symbol view of and2 and and3. The property names tr and tf contain the rise and fall times. The predefined function lmGetValue gets the value of the specified property. lmCheckView( t spice gammaValue = lmGetValue(gamma) lambdaValue = lmGetValue(lambda) gammaValue < 0.4 lamdaValue < 0.04 ) Checks the values of the properties gamma and lambda in the spice view for each cell in the current library. October 2002 634 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 call lmCloseLib when you are done if you are not using lmLoadData to load the library command file. Example lmCloseLib Closes a working library previously opened by lmOpenLib. October 2002 635 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 required parameters, the symbol view of the cell can be automatically generated. You can specify time delay information for a timing analyzer view. In addition, you can specify properties of the symbol view for simulation and other purposes. Properties Each argument specified in lmDefCell is sequentially run in addition to default symbol generation and timing view generation. You can add commands (such as lmDefViewProp and lmDefTermProp) to manipulate symbol properties. You can specify a complete characterization of the symbol in the argument. October 2002 636 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Variables You can set the values of several global Boolean variables to change default values. The symbolGen variable controls symbol generation. The default value, t, triggers symbol generation as the first action of lmDefCell. If you set symbolGen to nil, no symbol generation takes place. The taGen variable controls timing view generation. The default value, t, enables timing view generation if delayTable parameters are specified. If you set taGen to nil, no timing view generation 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-toSymbol 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. timingViolationTable Illegal timing. Example lmDefCell( aoi32 input(A1 A2 A3 B1 B2) output(Y) lmDefViewProp( ; add some properties to the symbol ) ) Generates a symbol view for the cell aoi32. October 2002 637 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator lmDefTermProp lmDefTermProp( [<cell name>] [<view name>] ( <terminal list> <property name> <property value> … <property name> = <property value> ) ( <terminal list> <property name> = <property value> … <property name> <property value> ) ) Description Adds properties to the terminals of the specified cellview. To add terminal properties, add specified properties to the original property list and save the new file. Variables The replaceTermProp global variable controls the property-adding mode. The default value is nil, which means the mode is appending. If you set replaceTermProp to t, the mode is replacement. replaceTermProp is automatically set to nil when you run lmDefCell 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 is treated as the cell name. view name Default: symbol terminal list Has 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 quotation marks to distinguish it from the keyword. October 2002 638 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator property name Any SKILL symbol (identifier) or string. property value Any 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 into these terminals. October 2002 639 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator lmDefViewProp lmDefViewProp( [<cell name>] [<view name>] ( <property name> <property value> … <property name> <property value> ) ) Description Adds properties to the specified cellview. To add properties, add the specified properties to the original property list and save the new file. Variables The replaceViewProp global variable controls the property adding mode. The default value, nil, means the mode is appending. If you set replaceViewProp to t, the mode is replacement. replaceViewProp is automatically set to nil when running lmDefCell and is 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 is treated as the cell name. view name Default: symbol property name Any SKILL symbol (identifier) or string. property value Any SKILL expression that returns proper values. The syntax is as 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> <enumeration> := <string enumeration> | <string> <lower bound> := <simple value> | <time value> | nil <upper bound> := <simple value> | <time value> | nil October 2002 640 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator <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 is time, <time value> should contain the date, time, and year. For example, the property lastChanged = time(“Jan 20 8:17:56 2000”) is a valid expression. Only the first three characters are needed to specify the month. filename Indicates the property type is a filename. If the property type is filename, <filename value> should be a string indicating the filename. For example, the property myFile = filename(“magic.c”) is a valid expression. ilExpr Indicates the property type is a SKILL expression. This type of property 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 in generating 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, a property list can be specified as the value of a property. That is, a property list can contain other property lists to form a hierarchical property list. range The values of range must be enclosed in parentheses. If nil is specified for a lower or upper bound in a range, it is unbounded. If a range is an enumeration type, each value in the range should be a string (a name in quotation marks). Examples lmDefViewProp( and2 symbol "instance#" = 1 snapSpacing = 4 screenGridSpacing = 20 screenGridMultiple = 5 drawGrid? = yes drawAxes? = no userUnits = "userUnits" "graphicsEditorUnits per userUnit" = 1 newFont2 = time("Mar 19 14:38:57 2000") October 2002 641 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator instancesLastChanged = time("Jun 20 10:16:19 2000") lastChecked = time("Nov 27 14:30:57 1999") tr = 2.0 * basic_process_time tf = 0.5 * lmGetValue(tr) ; properties for SILOS simulation (a hierarchical property list silos = 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 parsing NLPElementPostamble = nlpExpr("[@SILOS_AND_Image]") ) ; property with name="speed", value=10, type=integer, ; lower-bound=8 and upper-bound=12 speed = (10 (8 12)) ; property with name="file", value="property.c", type=filename file = 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 a predefined function for getting the value of a named property. ten = 10 unit = 1n lmDefViewProp( and2 "cmos_sch" ; ; ; ; ; define variable ten define variable unit cmos_sch is double quoted because the non-alphanumeric character "." is in the name a = b = c = d = e = f = g = h = i = j = k = l = m = n = o = p = q = r = s = "t" 10 (ten (8 12)) (10) (ten (8 nil)) 2*unit (2n (1n 4n)) (2n) (2*unit (nil 4*unit)) yes ; yes, true, and t are identical true t no ; no, false, and nil are identical false nil yes "test" ("test" ("try" "test" "experiment")) ("test") ("test" ("test" "try" "debug")) = 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 list aa = 1 October 2002 642 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator bb = 1.1 cc = proplist( aaa = 2 bbb = 2.2 ) ) ) Property specification for the cmos_sch view of the cell and2. October 2002 643 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 list Has 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 quotation marks 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 all output terminals for the symbol view of cell SN74181. October 2002 644 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator lmDeleteViewProp lmDeleteViewProp( <cell list> <view name> <property name> … <property name> ) 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 name Any 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 current library. October 2002 645 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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, or lmCheckView to remove any ambiguity about the referenced cellview. Arguments property name October 2002 Any SKILL symbol (identifier) or string. 646 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 are finished. 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 or nil, the program searches paths previously set up by dbSetPath for the named library. t_config Configuration name, which lets you to set up the working context of the library. If you specify a null string or nil, the program uses the 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 your working library. October 2002 647 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 you are 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 or nil, the program searches paths previously set up by dbSetPath for the named library. t_config Configuration name, which lets you set up the working context of the library. If you specify a null string or nil, the program uses the 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. October 2002 648 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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, output is displayed on the screen. Example lmPrintLibTermProp( symbol ) Prints all terminal properties of the symbol view for each cell in the current library. October 2002 649 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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, output is 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. October 2002 650 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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, the output is displayed on the screen. Example lmPrintTerm( list(“nand2” “symbol”) ) Prints names, types and widths of all terminals of the nand2 symbol cellview. See pcr 311494 October 2002 651 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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, output is displayed on the screen. Output from lmPrintTermProp has the same format as that of lmDefTermProp, so you can 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. October 2002 652 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol 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 is treated 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, the output is displayed on the screen. Output from lmPrintViewProp has the same format as that of lmDefViewProp, so you can 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. October 2002 653 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator lmReset lmReset( ) Description Resets all global variables to their default values. October 2002 654 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator lmSimView lmSimView( <cell name> <template view name> <target view name> [<target view type>] <property name> = <property value> … <property name> <property value> ) Description Creates a view with specified properties for the specified cell. Arguments cell name Optional only when lmSimView is used in lmDefCell. template view name Name of a template view, normally symbol, in which the terminal information is stored. target view name Name of the view to be created. target view type Type of the view to be created. Use this optional argument if you do not want to overwrite the current view type. The view type schematicSymbol is the default. property name Any SKILL symbol (identifier) or string. property value Any SKILL expression, as long as the expression returns proper values. All specified properties are added into the target view. The arguments <cell name> and <template view name> must exist in the current library. Example lmSimView( and2 symbol silos CreationTime = time("May 1 10:00:00 2000") Input_Pin_List = nlpExpr("[|A] [|B]") NLPElementPostamble = nlpExpr("[|Y] .AND [@Input_Pin_List] [@NLPElementId]") ) October 2002 655 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator simRep simRep( <cell name> <template view name> <target view name> [<target view type>] <property name> = <property value> … <property name> <property value> ) Description Creates a view with specified properties for the specified cell. Use this function only for backward compatibility with Edge 2.1; otherwise, use the lmSimView function. Arguments cell name Optional only when lmSimView is used in lmDefCell. template view name Name of a template view, normally symbol, in which the terminal information is stored. target view name Name of the view to be created. target view type Type of the view to be created. Use this optional argument if you do not want to overwrite the current view type. The view type schematicSymbol is the default. property name Any SKILL symbol (identifier) or string. property value Any SKILL expression, as long as the expression returns proper values. All specified properties are added into the target view. The arguments <cell name> and <template view name> must exist in the current library. Example SimRep( and2 symbol silos CreationTime = time("May 1 10:00:00 2000") Input_Pin_List = nlpExpr("[|A] [|B]") NLPElementPostamble = nlpExpr("[|Y] .AND [@Input_Pin_List] [@NLPElementId]") ) October 2002 656 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Variables That Control Command Execution Predefined global variables control command execution that affect the modification of the database. The following table shows variables and how they control lm functions. Variable Default Value Use symbolGen t Controls lmDefCell execution for defining a cell taGen t Controls lmDefCell execution for timing view generation replaceViewProp nil Controls lmDefViewProp execution by controlling the property-adding mode replaceTermProp nil ControlslmDefTermProp execution by controlling the property-adding mode October 2002 657 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator Properties That Modify Values To modify the value of a view or terminal property in the Cadence environment, use the property list editor. To delete a property, use lmDeleteViewProp or lmDeleteTermProp. Then use lmDefViewProp or lmDefTermProp in append mode to put the property with the desired value 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 to replace all original properties. Remember to set replaceViewProp to t or replaceTermProp 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, define cellview 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 names input( 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" ) ) ; 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 ) October 2002 658 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator ( ( ( ( ( ( ( (A0 (B0 (A0 (A1 (A2 (A3 (A0 A1 A2 A3) X 17ns:17ns nonInvert ) B1 B2 B3) X 17ns:17ns invert ) B0) F0 32ns:23ns ) B1) F1 32ns:23ns ) B2) F2 32ns:23ns ) B3) F3 32ns:23ns ) A1 A2 A3 B0 B1 B2 B3) AEQB 35ns:32ns ) ) ; add properties into the symbol view lmDefViewProp( timeAdded = time("Apr 1 10:00:00 2000") author = "John Smith" ; define properties for SILOS logic/fault simulation if ; used as function model silos = 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 ; 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 generation symbolGen = nil lmDefCell( "4531" ; input and output terminal names input( D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11\ "ODD|EVEN" ) output( Q ) defsymbol( symbolProps( vendorName = "TOSHIBA" October 2002 659 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator partName = "TC4531BP" refDes = "U200" ) ) ; specify time delay delayTable( ( (D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11) 320ns:320ns ) ( "ODD|EVEN" 210ns:210ns ) ) ; add properties into the symbol view lmDefViewProp( timeAdded = time("Apr 1 10:00:00 2000") author = "John Smith" ; define properties for SILOS logic/fault simulation ; if used as a function model silos = proplist( NLPElementPostamble = 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, 25C lmDefTermProp( ( output iol = 1.5 ; 1.5A ioh = -1.0 ; –1.0A ) ( input iil = -0.01nA iih = 0.01nA ) ) ) ; append properties to the symbol of SN74181 replaceViewProp = nil lmDefViewProp( "74181" vdd = 5 date = time("Apr 1 12:00:00 2000") ) ; append properties to some terminals of the symbol of TC4531 replaceTermProp = nil lmDefTermProp( "4531" ("ODD|EVEN" check = "odd or even parity" October 2002 660 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator ) (Q is = "only output" ) ) ; print all properties of the symbol of SN74181 in the file ; prop.74181 lmPrintViewProp( "74181" symbol "prop.74181" ) ; print all terminal properties of the symbol of TC4531BP in ; the file term.4531 lmPrintTermProp( "4531" symbol "term.4531" ) ; replace the properties in the symbol of SN74169 replaceViewProp = t lmDefViewProp( "74169" symbol instancesLastChanged = time("Jun 28 18:37:50 2000") userUnits = "userUnits" "DBUPerUU" = 1.0 snapSpacing = 5 screenGridSpacing = 10 screenGridMultiple = 4 displayExpanded? = yes type = "TTL" manufacturerID = "TI" partName = "1000" ) ; replace the terminal properties in the symbol of SN74169 replaceTermProp = t lmDefTermProp( "74169" symbol (input iil = -2mA iih = 50uA ) (output iol = 20mA ioh = -1mA ) ) ; print the properties of symbol view for each cell in the current ; working library in the file sym.prop lmPrintLibViewProp( symbol "sym.prop" ) ; print the terminal properties of symbol view for each cell ; in the current working library in the term.prop file lmPrintLibTermProp( symbol "term.prop" ) lmCloseLib ; this command is redundant if you use lmLoadData to load this ; command file. October 2002 661 Product Version 5.0 Virtuoso Schematic Composer User Guide Symbol and Simulation Library Generator October 2002 662 Product Version 5.0 Virtuoso Schematic Composer User Guide D Configuring and Using Kanji Notes You can configure your system to access Add – Note – Kanji Note for instantiating kanji note symbols in your schematic design. The following topics are covered in this chapter. ■ Overview on page 664 ■ Configuring Your System on page 664 ■ ❑ Installing the Required Files on page 664 ❑ Uncompressing the Files on page 664 ❑ Modifying the Schematic Editor Menu File on page 665 ❑ Setting the Environment Variable on page 665 ❑ Modifying the Data Registry File on page 666 Using Kanji Notes on page 667 ❑ Formats, Files, and Views on page 667 ❑ Adding a New Note on page 667 ❑ Generating a Symbol from an Existing File on page 668 ❑ Generating a Symbol from a New File on page 669 ❑ Editing an Existing Note on page 670 ■ Limitations on page 672 ■ Known Problems on page 672 ■ schHiCreateKanjiSymbol on page 674 October 2002 663 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes Overview The Virtuoso® schematic composer provides a user interface that lets you create or modify EUC packed format kanji files. Based on the information in a kanji file, the software generates a symbol cellview that contains kanji character graphics. You can then add documentation to your 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 can access Add – Note – Kanji Note. Installing the Required Files The software uses two vector files to convert EUC-formatted files into schematic composer compatible graphics. The vector files describe the shapes of approximately 5,000 kanji characters. 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 either CKK or the Cadence Customer Response Center (CRC). Uncompressing the Files To uncompress the vector files, type the following commands at the UNIX prompt: October 2002 664 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring 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 following locations 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. Setting the Environment Variable The value of the invokeKanjiEditor environment variable determines which kanji EUC text editor you access from the user interface. October 2002 665 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes 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 in your .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 following warning message when users in a TDM workarea save the original EUC file in the same cell as 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 be one 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-ascii source text Pattern = kanjitxt.euc; Default_Editor = NONE; 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. October 2002 666 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes Using Kanji Notes The Add – Note – Kanji Note command lets you create symbol cellviews containing kanji characters 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-formatted file. ■ 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 a Japanese 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 Note form. The software then ■ Generates a symbol cellview ■ Creates a kanji cellview The symbol cellview contains the graphics that represent the characters described in the EUC file. The software draws each character in the symbol by referencing the X and Y coordinates, which are stored in the two kanji vector files. The kanji cellview, which the software stores in your library, contains an exact copy of the information in the source Japanese EUC packed (multiple-width) formatted file. Because this copy resides in your library, you can use the schematic editor, whenever you wish, to change the file and regenerate the associated symbol and any instances. 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 new symbol and place an instance in your design. There are two ways to generate a new kanji note symbol: October 2002 667 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes ■ 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 (multiplewidth) formatted file, do the following: 1. Choose Add – Note – Kanji Note from the schematic editor menu banner. The Add Kanji Note form appears. 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 October 2002 668 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes ❑ 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 Instance command remains active. 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 Note from the schematic editor menu banner. The Add Kanji Note form appears. 2. In the File Editor field, click Open. October 2002 669 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes The software initializes the form with a filename and your kanji text editor opens the new file. 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 Instance command remains active. 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. October 2002 670 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes The form displays the current display parameter settings as CDF values and provides access 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. October 2002 671 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes You will not see any change in the schematic editor window until you click OK or Apply on the Edit Object Properties form. 5. (Optional) On the Edit Object Properties form, change the parameter values. You will not see any change in the schematic editor window until you click OK or Apply on the Edit Object Properties form. 6. Click OK or Apply on the Edit Object Properties form. Caution The software regenerates the symbol cellview, which changes all instances 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 to roundoff errors, however, scale factor values of less than 0.25 might make many characters unreadable. ■ Each kanji character is converted into many lines in a symbol cellview. Therefore, very large EUC files result in symbols that require huge amounts of memory, which can slow redraw speeds significantly. ■ The following character sets are not used often. They are not supported in either the software 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 for only the first 20 errors. The conversion process continues, however, until the program reaches 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 October 2002 672 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes Sometimes, regenerating a kanji symbol results in a warning message similar to the following: *WARNING* Ignoring instance "I14" with zero area You can ignore the warning message. The warning seems to appear when both of the following 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 text editor are no longer needed. Although they do not take up much disk space, you should periodically remove them to maintain a clean file system. October 2002 673 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes schHiCreateKanjiSymbol 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 do not affect connectivity. Usage Usable when editing schematics or symbols. Arguments t_text Text for your note. The text can include spaces, tabs, and new lines. 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 October 2002 674 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes Using schHiCreateKanjiSymbol If you do not specify t_text or you specify it as nil, the options form appears and prompts you for the note label text. The editor drags the label described by arguments and prompts you to select a location to place the label. Example schHiCreateKanjiSymbol( "Low Pass Filter Section" ) Creates the single string label Low Pass Filter Section using the current settings of all other arguments. October 2002 675 Product Version 5.0 Virtuoso Schematic Composer User Guide Configuring and Using Kanji Notes October 2002 676 Product Version 5.0 Virtuoso Schematic Composer User Guide E Form Descriptions Appendix E describes the schematic composer forms. ■ Add Block Form on page 682 ■ Add Custom Pin Form on page 683 ■ Add Generic Form – VHDL Properties on page 684 ■ Add Instance Form on page 685 ■ Add Kanji Note Form on page 686 ■ Add Net Expression Form on page 687 ■ Add New Property to Find Form on page 688 ■ Add New Property to Replace Form on page 689 ■ Add New Property for Search Form on page 690 ■ Add Note Shape Form – Arc on page 691 ■ Add Note Shape Form – Circle on page 692 ■ Add Note Shape Form – Ellipse on page 693 ■ Add Note Shape Form – Line on page 694 ■ Add Note Shape Form – Polygon on page 695 ■ Add Note Shape Form – Rectangle on page 696 ■ Add Note Text Form on page 697 ■ Add Pin Form – Schematic on page 699 ■ Add Pin Form – Symbol on page 700 ■ Add Property Form – Edit Object Properties on page 701 ■ Add Selection Box Form on page 702 October 2002 677 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions ■ Add Simulation Monitor Form on page 703 ■ Add Symbol Label Form on page 705 ■ Add Symbol Shape Form – Arc on page 706 ■ Add Symbol Shape Form – Circle on page 707 ■ Add Symbol Shape Form – Ellipse on page 708 ■ Add Symbol Shape Form – Line on page 709 ■ Add Symbol Shape Form – Polygon on page 710 ■ Add Symbol Shape Form – Rectangle on page 711 ■ Add Wire Form on page 712 ■ Add Wire Name Form on page 713 ■ Build Inherited View List Form on page 715 ■ Cellview From Cellview Form on page 716 ■ Cellview From Instance Form on page 717 ■ Cellview From Pin List Form on page 718 ■ Cellviews with Evaluated Net Expression Name Form on page 719 ■ Change Sheet Border Size Form on page 720 ■ Check Hierarchy Form on page 721 ■ Component Browser Form on page 722 ■ Component Browser Preferences Form on page 723 ■ Copy Form on page 724 ■ Create Cellview Dialog Box – Replace or Modify on page 725 ■ Create Schematic Form on page 726 ■ Create Schematic Sheet Form on page 727 ■ Cross Reference Options Form on page 728 ■ Cross-View Checker Form on page 729 ■ Delete All Markers Form on page 730 ■ Delete Generic Form – VHDL Properties on page 731 October 2002 678 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions ■ Delete Property Form – Edit Object Properties on page 732 ■ Delete Schematic Sheet Form on page 733 ■ Descend Form – Descend Options on page 734 ■ Descend Form – Iterated Instance on page 735 ■ Descend Form – Multisheet on page 736 ■ Descend Form – Noniterated Instance on page 737 ■ Display Options Form on page 738 ■ Edit Cellview Properties Form on page 741 ■ Edit Component Display Form on page 743 ■ Edit Object Properties Form – Basic on page 745 ■ Edit Object Properties Form – Instance and Block on page 746 ■ Edit Object Properties Form – Instance Pin on page 749 ■ Edit Object Properties Form – Label on page 751 ■ Edit Object Properties Form – Master Property on page 753 ■ Edit Object Properties Form – Net Expression on page 755 ■ Edit Object Properties Form – Note Shapes on page 757 ■ Edit Object Properties Form – Note Text on page 759 ■ Edit Object Properties Form – Other Object on page 761 ■ Edit Object Properties Form – Pin on page 763 ■ Edit Object Properties Form – Pin Name on page 765 ■ Edit Object Properties Form – Selection Box on page 767 ■ Edit Object Properties Form – Symbol Label on page 768 ■ Edit Object Properties Form – Symbol Pin on page 770 ■ Edit Object Properties Form – Symbol Shape on page 772 ■ Edit Object Properties Form – Wire Name on page 774 ■ Edit Object Properties Form – Wire Segment on page 776 ■ Edit Pin Order Form on page 778 October 2002 679 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions ■ Edit Schematic Sheet Number Form on page 779 ■ Editor Options Form on page 780 ■ Find Marker Form on page 783 ■ Go To Pin Form on page 785 ■ Go To Sheet Form on page 786 ■ Import Symbol Form on page 787 ■ Left, Right, Top, Bottom Pin Attributes Form on page 788 ■ Load Label Display Form on page 789 ■ Load Schematic Defaults Form on page 790 ■ Modify Generic Form – VHDL Properties on page 791 ■ Modify Property Form – Edit Object Properties on page 792 ■ Move Form on page 793 ■ Net Expression Available Property Names Form on page 794 ■ Net Expression Evaluated Names Form on page 795 ■ Occurrence Paths to Evaluated Name Form on page 796 ■ Open Simulation Data Form on page 797 ■ Plot Options Form on page 798 ■ Renumber Instances Form on page 800 ■ Reset Invisible Labels Form on page 801 ■ Rotate Form on page 802 ■ Route Flight Line Form on page 803 ■ Save Label Display Form on page 804 ■ Save Schematic Defaults Form on page 805 ■ Save Schematics with Errors Form on page 806 ■ Schematic Check Options Form on page 807 ■ Schematic Find and Symbol Find Forms on page 809 ■ Schematic Replace and Symbol Replace Forms on page 811 October 2002 680 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions ■ Schematic Select All Form on page 813 ■ Schematic Select By Property Form on page 814 ■ Schematic Selection Filter Form on page 815 ■ Schematic Title Block Properties Form on page 816 ■ Set Instance Binding Form on page 817 ■ Set Label Display Simulation Data Directory Form on page 818 ■ Set Radix Form on page 819 ■ Set Time Form on page 820 ■ Setup Schematic Rules Checks Form on page 821 ■ Show Label Form on page 825 ■ Show Views Found Form on page 826 ■ Stretch Form – Schematic Editor on page 827 ■ Stretch Form – Symbol Editor on page 829 ■ Submit Plot Form on page 830 ■ Symbol Generation Options Form on page 834 ■ Symbol Select All Form on page 838 ■ Symbol Select By Property Form on page 839 ■ Symbol Selection Filter Form on page 840 ■ Synchronization Form on page 841 ■ Time Scale Form on page 842 ■ VHDL Properties Form on page 843 October 2002 681 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Block Form Library specifies the library in which you want to add a new block. The default is the library for the current design. Cells specifies the cell name of the block you want to create. You can specify multiple cell names by using a space to separate each name. The Cells and Names fields must match in number. If there are more entries in Cells than 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 Cells and the Names fields. You can specify multiple cell names by using a space to separate each name. The Cells and Names fields must match in number. If there are more entries in Cells than 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. Pin Name Prefix specifies a name that the system uses to name all the pins that the system creates 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 add to the design. freeform prompts you to drag your cursor between two points to specify the opposite corners 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. October 2002 682 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Custom Pin Form Pin Names specifies the names for the pins you want to add to your design and the order in which you want to add them. To add more than one pin name, use a space to separate the pin 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 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 interprets a bus name as multiple names and generates a pin for each bit of a bus range that you specify in the Pin Names field. For example, for the name A<0:1>, the system 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 between horizontal and vertical. begins an L90 shape with a vertical line segment and alternates between vertical and 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. October 2002 683 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Generic Form – VHDL Properties Name specifies the generic name. Type specifies the generic type. Value (Optional) specifies a value for the generic. October 2002 684 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 – Editor command) to specify which 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 current reference point. Sideways mirrors the object across an imaginary vertical line passing through the current reference point. Upside Down mirrors the object across an imaginary horizontal line passing through the current reference point. October 2002 685 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Kanji Note Form Kanji EUC File specifies the path for an existing EUC packed formatted file. Leave this field blank 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 .doc suffix. 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 kanji symbol. When you start the kanji text editor, the software automatically places the name of the 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 cellname by appending the current schematic cellname with a string ( _kanji_ ) and a unique number. 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.0 represents a character that is 50 database units high and 50 database units wide, which is the 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 characters unreadable. Horizontal Spacing specifies the prescaled X distance between adjacent characters. The default 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 Y distance between adjacent characters. The default value is 20 database units. October 2002 686 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Net Expression Form Property Name specifies the name of the property that can be used to override the default global signal; in other words, the name of the property whose value redefines the name of the net. The system evaluating the expression searches for the property that has this name to get the value to inherit for the net. Default Net Name specifies the global signal name to be used for the net associated with this net expression label. The system uses the default net name —for example vdd!, gnd!, or vss! –—when a netSet property has not been found on an instance of the current hierarchical 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 from the 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 the wire or pin. Rotate turns the label text counterclockwise in 90-degree increments around the reference point. October 2002 687 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add New Property to Find Form Property Name specifies a name of the property you want to add to the property name search list on the Schematic Find or Symbol Find form. October 2002 688 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add New Property to Replace Form Property Name specifies a name of the property you want to add to the property name search list on the Schematic Replace or Symbol Replace form. October 2002 689 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add New Property for Search Form Property Name specifies a name for the property you want to add to the list of property names on the Schematic Select By Property form. October 2002 690 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Note Shape Form – Arc Shape specifies a shape you can add to your design to outline the note text. The Add Note Shape 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. October 2002 691 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Note Shape Form – Circle Shape specifies a shape you can add to your design to outline the note text. The Add Note Shape 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. October 2002 692 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Note Shape Form – Ellipse Shape specifies a shape you can add to your design to outline the note text. The Add Note Shape 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. October 2002 693 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Note Shape Form – Line Shape specifies a shape you can add to your design. The Add Note Shape form expands and contracts 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 to change the default width of 0.0625 user units. October 2002 694 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Note Shape Form – Polygon Shape specifies a shape you can add to your design to outline the note text. The Add Note Shape 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 between horizontal and vertical. begins an L90 shape with a vertical line segment and alternates between vertical and 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. October 2002 695 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Note Shape Form – Rectangle Shape specifies a shape you can add to your design to outline the note text. The Add Note Shape 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. October 2002 696 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 button to 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, then press Control-u. October 2002 697 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Read File copies in a file and displays the file contents in the Note Text field. This action overwrites 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 file contains characters that cannot be displayed, the system issues a warning and removes the characters before copying in the file. The following options affect the appearance of the note text in the design but not in the Note Text 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 reference point. October 2002 698 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Pin Form – Schematic Pin Names specifies the names for the pins you want to add to the design and the order in which you want to place them. To add more than one pin name, use a space to separate each name. When you enable the Bus Expansion option, you can use a bus expression to name an array 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 default is schematic. Use offsheet only when you are going to connect the added pins to another sheet in 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 generate a 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 for each bit of a bus range that you specify in the Pin Names field. For example, for the pin A<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. The system uses the distance between these two points as a basis for automatically placing any 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 reference point. Upside Down mirrors the pin across an imaginary horizontal line passing through the reference point. October 2002 699 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Pin Form – Symbol Pin Names specifies the names for the pins you want to add to the design and the order in which you want to place them. To add more than one pin name, use a space to separate each name. If you enable the Bus Expansion option, you can 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 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 interprets a bus name as multiple names and generates a pin for each bit of a bus range that you specify in the Pin Names field. For example, for the pin A<0:1>, the system generates 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. The system uses the distance between these two points as a basis for automatically placing any 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 reference point. Upside Down mirrors the pin across an imaginary horizontal line passing through the reference point. October 2002 700 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 appears on the form. Choices appears when Type is set to string. If the string can have more than one value, type the 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 and maximum range for the integer or floating-point value. October 2002 701 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Selection Box Form Use your mouse to indicate two opposite vertices of a rectangle that contains the objects you want to select, or click Automatic. Automatic adds a selection box that contains all the objects that make up the symbol. October 2002 702 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Simulation Monitor Form Signal Name specifies the names of the nets you want to monitor. You can add net names by selecting a wire, pin, or instance in the schematic or by typing the signal names. Use a space 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 warning is issued. ■ The system concatenates relative signal names to the scope of the design, which results in a fully scoped name being passed to the simulation database connection. For example, 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 you probe 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 monitor displays. 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 time the current simulation time of the window changes. display shows the state of the signal only until the command ends. When the command ends, all simulation monitors are deleted. Bus Expansion specifies how Signal Name is interpreted. off (default) places a monitor for each terminal name that you specify in the Signal Name field. When selected, the system resets the signal name of the pin to the full text of the name that generates the current member name. on generates the terminal name for each bus name (specified as individual vectors) in the order specified in the Signal Name field. For example, for the name A<0:1>, the system generates the labels A<0> and A<1>. October 2002 703 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions 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 any remaining monitors. Auto Placement automatically places the specified signal monitors near a pin figure that connects to a matching net name. October 2002 704 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Symbol Label Form Label specifies the label name. The system fills in this field automatically, depending on the option 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 reference point. October 2002 705 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Symbol Shape Form – Arc Shape specifies a shape you can add to your design. The Add Symbol Shape form expands and contracts depending on which Shape option you select. October 2002 706 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Symbol Shape Form – Circle Shape specifies a shape you can add to your design. The Add Symbol Shape form expands and 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. October 2002 707 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Symbol Shape Form – Ellipse Shape specifies a shape you can add to your design. The Add Symbol Shape form expands and 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. October 2002 708 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Symbol Shape Form – Line Shape specifies a shape you can add to your design. The Add Symbol Shape form expands and 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 between horizontal and vertical. begins an L90 shape with a vertical line segment and alternates between vertical and 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. October 2002 709 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Symbol Shape Form – Polygon Shape specifies a shape you can add to your design. The Add Symbol Shape form expands and 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 between horizontal and vertical. begins an L90 shape with a vertical line segment and alternates between vertical and 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. October 2002 710 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Symbol Shape Form – Rectangle Shape specifies a shape you can add to your design. The Add Symbol Shape form expands and 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. October 2002 711 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 between horizontal and vertical. begins an L90 shape with a vertical line segment and alternates between vertical and 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 set Draw Mode to route. full draws complex lines consisting of right angles and up to three segments to complete the 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 movement. . Use this option to control the cursor 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 wire and 0.0625 for a wide wire. October 2002 712 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Add Wire Name Form Names specifies one or more names for wires. You can specify multiple names by separating each 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 that includes all the bits in the bus range. For example, for the name A<0:1>, the system generates only the name A<0:1>. on interprets the bus name as multiple names and generates a name for each bit of a bus range that you specify in the Names field. For example, for the name A<0:1>, the system generates names A<0> and A<1>. Placement controls whether you can place multiple wire names automatically in one operation. 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 you want 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 offset values that the system uses for placing wire names on horizontal or vertical wires. Text Offset specifies the distance between a wire name and a wire. October 2002 713 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 reference point when Entry Style is set to manual. October 2002 714 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Build Inherited View List Form Available Constants/Views provides a selection list of available constants and views. The list is made up of constants that have been defined for this design and the union of all views of 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 are creating. 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. October 2002 715 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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, and view names. The system automatically fills in the form with the information you specify in the browser. 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 click on 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 in an editor window when you complete the cellview generation process. Edit Options, when enabled, displays a subform when you complete the Cellview From Cellview form. Use the subform to specify other options. October 2002 716 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 created cellview in an editor window when you complete the cellview generation process. October 2002 717 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 pin name. 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 setting initializes 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, and view name. The system automatically fills in the form with the information you select in the browser. Display Cellview, when enabled, causes the software to open the newly created cellview in an editor window when you complete the cellview generation process. Edit Options, when enabled, displays a subform when you complete the Cellview From Pin List form. Use the subform to specify other options. October 2002 718 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Cellviews with Evaluated Net Expression Name Form Cellview shows the full list of cellviews that contain net expressions that evaluate to the selected evaluated name. Property Name shows the property name in the list of cellviews. Default Value shows the default value (usually a global name) in the list of cellviews. Number of Occurrences shows the number of occurrence paths down the hierarchy to a cellview which has a net expression that evaluates to the specified name. October 2002 719 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 in a 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 the title block. continue changes the sheet to include sheet-specific border titles in the title block. October 2002 720 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 updated since the last time you saved your design. Referenced libraries specifies whether the hierarchy check continues outside of the current library. check activates the text field so you can edit the list. When you click Apply or OK, the system checks the libraries displayed in the field. do not check (default) checks only the current library; the libraries that appear in the text field are not checked. Save schematics specifies whether the system saves schematics when the check operation is 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 the system handles schematics that contain errors. Ask Me (default) prompts you to confirm which of the displayed schematics you want 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 cell view. October 2002 721 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 this option. Filter specifies a text string that limits the list box display to categories or cells that contain the 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 the form. 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). October 2002 722 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Component Browser Preferences Form Browser Opens with the Invocation of when turned on (default), the system opens the Component 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 when you 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. October 2002 723 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Copy Form Snap Mode specifies the angles along which you can move copied objects within the cellview. anyAngle (default) lets you move the copied objects along any angle. diagonal restricts the movement of copied objects to points along 45-degree, 90degree, and 180-degree angles from the current location. orthogonal restricts the movement of copied objects to points along the X and Y axes from the current location. Array lets you create multiple copies of a selected object in a single operation and specify the 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 current reference point. Sideways mirrors the object across an imaginary vertical line passing through the current reference point. Upside Down mirrors the object across an imaginary horizontal line passing through the current reference point. October 2002 724 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 schematic instances, 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 pin locations, 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 these new pins and to adjust any symbol graphics. The system determines attributes 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 cellview and in the Command Interpreter Window (CIW) ■ Does not delete cellview or terminal properties October 2002 725 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 begin editing. Size specifies the size of the sheet border for the new schematic. The possible values are A through F, A Book, and none. Type specifies the type of sheet border. basic specifies global and sheet-specific border titles. This option creates a template only. 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 such as the sheet size and number. October 2002 726 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Create Schematic Sheet Form Number specifies the sheet number that the editor creates when you click Apply or OK. The default sheet number is the next sheet number in the multisheet sequence. Valid choices are integers greater than zero (0). Size specifies which sheet border size the editor uses for the new sheet. The valid choices are 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 option when 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 schematic in the current design window. October 2002 727 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Cross Reference Options Form Generate Cross Reference Report File specifies whether the system generates a crossreference 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 File field. 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 crossreference 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 design window and report file. Format String specifies the format of the text strings that the system displays in the design window. The default is sheetNumber zone referenceName Show Duplicate Zones determines whether the system displays duplicate pin references 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 crossreference lists. Direction sorts the pins into groups by pin direction, then sorts the groups by sheet number and zone. The valid pin direction groups are input pins, output pins, and I/O pins. Sheet Number sorts the reference list by sheet number and zone. October 2002 728 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Cross-View Checker Form Cross View Check Severity specifies which action the system performs when pin names and 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 on OK or Apply. Match Pin Names Exactly, when enabled, checks whether pin names match exactly. For example, 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 terminals match. Match Terminal Net Expressions, when enabled (default), checks whether terminal net expressions match. October 2002 729 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 hierarchy starting from the current cellview. Source specifies the category of markers that are to be deleted in terms of the program that generated 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. October 2002 730 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 system fills in the form with the generic information. October 2002 731 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Delete Property Form – Edit Object Properties Note: In general, you use the Delete Property form only to delete properties from the Edit Object Properties form or the Edit Cellview Properties form. Therefore, to delete properties from your cellview, you normally click OK or Apply on the form that calls the Delete Property form. However, the software deletes hierarchical properties from the database when you click OK 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. October 2002 732 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 not specify the last sheet number in the range, only the current sheet is deleted. The default is same. October 2002 733 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 Edit form. The list contains the existing view names for the instance. use viewNameList uses the view name list to automatically descend into the first existing view for the specified instance. Enter the view name list on the Editor Options form. October 2002 734 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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. October 2002 735 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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. October 2002 736 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Descend Form – Noniterated Instance View Name contains a list of the existing view names for the selected instance. October 2002 737 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 have descended. If you have descended down through an instance that has a netSet override property, the overriding signal name is displayed in the schematic editor window. Display preferences for net expressions and evaluation for a particular descended branch of the hierarchy are as follows: Property gnd not found Property gnd found and specifies mygnd! Property gnd found and specifies a local signal “A” two levels down from the top value only gnd!* mygnd!* /I1/I2/A* value (default) gnd! (gnd!)* mygnd! (gnd!)* /I1/I2/A (gnd!)* value [property name] 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!]* Drag Limit lets you specify the maximum number of shapes whose movement is shown in the design window during a move or copy operation. When the total number of shapes exceeds 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 edit a schematic view. Object-Sensitive Pop-Up Menus lets you use the middle mouse button to open a menu of commands. 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 appears whenever 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 certain active commands are implemented. off disables this option. October 2002 738 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 block instance, the system terminates the wire on the edge of the block. When you add a wire to another 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 the design 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 the status 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. October 2002 739 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Spacing specifies the number of user units between minor grid points on the visible grid. The default 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 default distance (0.0625) is equal to half the default grid spacing distance. October 2002 740 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 form expands and contracts depending on which of the Show options you select and whether you select 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 editing session. schType identifies the type of schematic data. instNamePrefix (appears only when the cellview is a symbol) defines a new prefix for instances of the symbol cellview. The prefix can be more than one character. 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 corner and lower left corner of the cellview. Note: Except for the instNamePrefix symbol property, you cannot add, delete, or modify system-generated properties. October 2002 741 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 enable one of the display options (value, name, or both), the information appears on the schematic near 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 Modify buttons appear on the form only when you enable the Show – user option at the top of the form. Use these options to add, delete, and modify userdefined properties. Add displays the Add Property form, which you use to add new user properties to the Edit Cellview Properties form. To add the new properties to your cellview, click on OK or Apply on the Edit Cellview Properties form. Delete displays the Delete Property form, which lets you delete user properties. To delete properties from your cellview, click OK or Apply on the Edit Cellview Properties form. Caution The software deletes hierarchical properties from the database when you click OK or Apply on the Delete Property form. Modify displays the Modify Property form, which lets you change the names and values for selected user properties. To apply the changes to your cellview, click on OK or Apply on the Edit Cellview Properties form. October 2002 742 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 selected terminals. parameter expands the form to let you edit the display information for the selected parameters. instance expands the form to let you edit the display information for the selected instances. Auto Redraw specifies whether the editor redraws the schematic automatically when you click 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 the system to save the current label display configuration. Load opens the Load Label Display form, which lets you specify a previously saved label display configuration file that you want to use. Attach saves the current label display configuration to a temporary file and attaches the file to 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 display configuration. October 2002 743 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions You can apply literal, suffixes, globals, related, and full options to the label display configuration of parameters. You can apply schematic or simulation options to the label display configuration of a 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 Time when to apply transient voltage or current. October 2002 744 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Basic You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending 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 Description Format (CDF). October 2002 745 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Instance and Block You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending on the selected object type. The possible choices for the instance object type are same master and 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 Description Format (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 to their default specifications as defined in the symbol view. October 2002 746 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 the schematic. 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 Objects Properties 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 Object Properties form. Delete displays the Delete Property form, which lets you delete selected properties from the Edit Object Properties form. Modify displays the Modify Property form, which lets you redefine properties currently displayed on the Edit Object Properties form. The following fields appear for block editing in addition to the ones described for editing an instance on the previous pages. FreezePinCreate appears only if you have selected a block. It controls whether the system adds a pin to a block when you connect a new wire to the edge of a block. When this option is disabled (default), the system automatically creates a pin when you click on the edge of a block 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 Editor Options form (Options – Editor command) to specify the pin directions. The following options appear on the form only when you enable the Show – system option. October 2002 747 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 this option and derives the net name from the pin name. October 2002 748 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Instance Pin You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending 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 Description Format (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. October 2002 749 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions The cyclic field to the right of the Name field determines whether the system displays the property value in the schematic. The Add, Delete, and Modify buttons affect only the display of properties on the Edit Objects Properties 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 Object Properties form. Delete displays the Delete Property form, which lets you delete selected properties from the Edit Object Properties form. Modify displays the Modify Property form, which lets you redefine properties currently displayed on the Edit Object Properties form. October 2002 750 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Label You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending 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 (placement location). October 2002 751 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Drafting, when enabled (default), maintains the normal orientation of the text as you rotate a label 180 degrees around a reference point. When this option is disabled, rotated text appears upside down. Overbar is only a display option. You use this option to specify whether the software displays an overbar over a label. When this option is disabled (default), the software displays underscore characters ( _ ) in the label as part of the label text string. When this option is enabled, the software interprets underscore characters ( _ ) in the label as toggle switches that control where overbars begin and end. Overbars appear above the label, as shown in the examples. Property Name Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when text actually contains underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. October 2002 752 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Master Property You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object 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 option does 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 the schematic. off displays neither the name nor the value. value (default) displays only the value. October 2002 753 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 a label 180 degrees around a reference point. When this option is disabled, rotated text appears upside down. Overbar is only a display option. You use this option to specify whether the software displays an overbar over a property label. When this option is disabled (default), the software displays underscore characters ( _ ) in the property label as part of the property label text string. When this option is enabled, the software interprets underscore characters ( _ ) in the property label as toggle switches that control where overbars begin and end. Overbars appear above the property label, as shown in the examples. Property Name Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when text actually contains underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. October 2002 754 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Net Expression You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object 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 default global signal. In other words, the name of the property whose value redefines the name of the net. The system evaluating the expression searches for the property that has this name to get the value to inherit for the net. Default Net Name specifies the default property name of the global signal or net name. The system uses the default net name—for example vdd!, gnd!, or vss!—when an inherited connection 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 descend path 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. October 2002 755 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Justification specifies where the label appears in relation to its origin (placement location). October 2002 756 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Note Shapes You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object 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 text field 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. October 2002 757 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Point List specifies the coordinates for the points that make up the shape. 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. Note that 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. October 2002 758 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Note Text You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Attachment performs two functions. ■ When the text is already associated with an object, the software highlights the associated object in the cellview. ■ Lets you associate the note text with an object in the cellview by automatically drawing a line 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 to load 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. October 2002 759 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Justification lets you specify where the note text appears in relation to its origin (placement location). Drafting, when enabled (default), maintains the normal orientation of the note text as you rotate a label 180 degrees around a reference point. When this option is disabled, rotated text appears upside down. Overbar is only a display option. You use this option to specify whether the software displays an overbar over the note text. When this option is disabled (default), the software displays underscore characters ( _ ) in the note text as part of the note text string. When this option is enabled, the software interprets underscore characters ( _ ) in the note text as toggle switches that control where overbars begin and end. Overbars appear above the note text, as shown in the examples. Property Name Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when text actually contains underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. October 2002 760 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Other Object You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object 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 the schematic. off displays neither the name nor the value. value (default) displays only the value. name displays only the name of the property. October 2002 761 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions 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 a label 180 degrees around a reference point. When this option is disabled, rotated text appears upside down. Overbar is only a display option. You use this option to specify whether the software displays an overbar over a property name. When this option is disabled (default), the software displays underscore characters ( _ ) in the property name as part of the property name text string. When this option is enabled, the software interprets underscore characters ( _ ) in the property name as toggle switches that control where overbars begin and end. Overbars appear above the property name, as shown in the examples. Property Name Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when text actually contains underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. October 2002 762 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Pin You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending 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 – system option, the form expands to display information about the 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. October 2002 763 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions CDF (default) displays predefined properties defined by the Component Description Format (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 Object Properties form. Delete displays the Delete Property form, which lets you delete selected properties from the Edit Object Properties form. Modify displays the Modify Property form, which lets you redefine properties currently displayed on the Edit Object Properties form. October 2002 764 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Pin Name You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending 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 can choose 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. October 2002 765 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Drafting when enabled (default) maintains the normal orientation of the text when you rotate a label 180 degrees around a reference point. When disabled, rotated text appears upside down. Overbar is only a display option. You use this option to specify whether the software displays an overbar over a pin name. When disabled (default), the software displays underscore characters ( _ ) in the pin name as part of the pin name text string. When enabled, the software interprets underscore characters ( _ ) in the pin name as toggle switches that control where overbars begin and end. Overbars appear above the pin name, as shown in the examples. Property Name Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when pin names actually contain underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. October 2002 766 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Selection Box You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object 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 the selection scope is set to only current. October 2002 767 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Symbol Label You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object 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 can set 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. October 2002 768 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 a label 180 degrees around a reference point. When this option is disabled, rotated text appears upside down. Overbar is only a display option. You use this option to specify whether the software displays an overbar over a label. When this option is disabled (default), the software displays underscore characters ( _ ) in the label as part of the label text string. When this option is enabled, the software interprets underscore characters ( _ ) in the label as toggle switches that control where overbars begin and end. Overbars appear above the label, as shown in the examples. Label Name Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when labels actually contain underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. October 2002 769 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Symbol Pin You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending 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. You can toggle this option to off to suppress the display. October 2002 770 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Direction specifies a direction for the pin. 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 wire segment can be attached to a pin. You can specify combinations of these options. These options are not referenced in the Virtuoso® schematic composer environment; they are referenced 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 Objects Properties 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 Object Properties form. Delete displays the Delete Property form, which lets you delete selected properties from the Edit Object Properties form. Modify displays the Modify Property form, which lets you redefine properties currently displayed on the Edit Object Properties form. October 2002 771 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Symbol Shape You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object 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 text field 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. October 2002 772 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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. Note that 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. October 2002 773 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Wire Name You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending on the selected object type. Attachment performs two functions. ❑ When the Label entry is already associated with an object, the software highlights the associated object in the cellview. ❑ It lets you associate the Label entry with a wire segment in the cellview by automatically drawing a line from the wire name to the object when you move the cursor into the design window. Label specifies the net name. Value determines whether the system displays the property value in the schematic. You can toggle this option to off to suppress the display. October 2002 774 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 (placement location). 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 a label 180 degrees around a reference point. When this option is disabled, rotated text appears upside down. Overbar is only a display option. You use this option to specify whether the software displays an overbar over a wire name. When this option is disabled (default), the software displays underscore characters ( _ ) in the wire name as part of the wire name text string. When this option is enabled, the software interprets underscore characters ( _ ) in the label as toggle switches that control where overbars begin and end. Overbars appear above the wire name, as shown in the examples. Property Name Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when names actually contain underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. October 2002 775 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Object Properties Form – Wire Segment You use the Previous and Next buttons along with the Apply To options below to locate objects in your design window. When there are multiple objects in the selected set, you use the Next and Previous buttons to locate objects in the set. You use the Apply To options to specify the objects the software changes. Previous cycles backward to view the preceding object in the selected set. When you reach the 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 last object 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 of objects in a selected set, whose properties you want to change. The software uses one color to highlight selected objects. But when there are multiple objects in the selected set, the software uses a second color to highlight the current object. And when you configure the cyclic fields to apply changes to multiple objects, the software uses a third color to highlight all the affected objects. Selection scope specifies whether you want to edit only the current object, only the selected objects in the specified object type group, or all the objects in the specified object type group (which includes both selected and unselected objects of the specified object type). Object group lists the object types in the selected set. Use this option to locate the first object of a particular object type. Object filter appears only when the selection scope is set to all selected or all. This option acts as a secondary filter for further limiting the selection scope. The options vary depending 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. October 2002 776 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Display determines whether the system displays the property value in the schematic. You can 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 you enable the wide option. The Add, Delete, and Modify options affect only the display of properties on the Edit Objects Properties form. Add displays the Add Property form, which lets you add a new property to the Edit Object Properties form. Delete displays the Delete Property form, which lets you delete selected properties from the Edit Object Properties form. Modify displays the Modify Property form, which lets you redefine properties currently displayed on the Edit Object Properties form. October 2002 777 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 output input inputOutput, and the pins in each type are sorted alphanumerically. Copy From copies a pin order property from a list of available views. October 2002 778 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Edit Schematic Sheet Number Form From Number specifies the current sheet number. To Number specifies the new sheet number. October 2002 779 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Editor Options Form Add Instance Browser Type specifies which browser the system opens when you click on the 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 pins automatically when you connect a wire to a block. edge (default) specifies the pin direction based on the edge where the system creates the 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. When you 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 Wire command. When you start a wire from the edge of a block, the system creates an output pin. 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 wire snapping is enabled, the system highlights an unconnected pin in the design when you move the cursor near the pin. Automatic Solder Dots when enabled (default), automatically creates a solder dot when you create wire intersections. The system does not create solder dots when you draw a wire over another wire. Solder Dot Wire Overlap specifies the amount that a solder dot extends outward from the thickest wire segment the dot connects. Symbol Generator Pin Sorting specifies how the text-to-symbol generator sorts the symbol pins 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 when a schematic exists for the specified cellview. Add Symbol Pins as Instances specifies how the symbol editor creates pins when you add pins to a symbol using the Add – Pin command or creates a symbol using the Create Cellview – From Cellview command. October 2002 780 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions off (default) creates a graphical symbol pin shape based on a symbol pin master. After you place symbol pin shapes, any changes you make to the original symbol pin master do 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, any changes you make to the symbol pin master also affect the appearance of all the existing instances created from the symbol pin master. Modal Commands specifies whether repeatable commands remain active after you complete an action. off specifies that repeatable commands cannot be repeated. on (default) specifies that repeatable commands remain active until you press the Escape key. However, some repeatable commands do not remain active when you enable this option if you have preselected an object. The Copy, Move, and Edit commands are 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 the system generates when you check your design. View Name List displays a series of view names listed in the order you want the editor to display them, if they exist. You use View Name List in conjunction with the Hierarchy – Descend Edit and Hierarchy – Descend Read commands. Bus Range Order specifies which order the system uses to generate buses. The default is ascending. 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 or connect to a pin. The unique name consists of the prefix that you specify in the Net Name Prefix field followed by a number. derived generates a net name from the driving instance name and the driving terminal name. The derived net name is of the form instName_pinName. Net Name Separator specifies the field separator for derived names. The underscore character ( _ ) is the default separator. You can edit the separator when you select the derived option in the Net Name Method field. October 2002 781 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Net Name Prefix specifies the prefix for all new net names generated by the editor. The default is net. You can edit this field when you select the prefix option. October 2002 782 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Find Marker Form To Ignore appears only when the Show Ignored option is on (default).This option ignores violations indicated by markers in future rule extractions. The schematic composer opens a column in the list box. It then displays an asterisk in the column when you apply an ignoreCheck property to a corresponding marker. Reason displays marker severity levels, associated messages, and the cellview name where the errors and warnings occurred. Zoom To Markers displays a magnified view of the specified marker in the design window if it is turned on. Scale appears only when you turn on Zoom To Markers. This option lets you specify the zoom scale. 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 Show Ignored is on (default), the software displays the To Ignore label above the list box and opens a column under the label. The software displays an asterisk in the column when you apply an ignoreCheck property to a corresponding marker. Ignore automatically assigns an ignoreCheck property 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 the top cellview in the window. hierarchy starting from current cellview searches the design hierarchy, starting with the current cellview in the window. October 2002 783 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Source displays a button and label for the sources of the error and warning messages. When there is more than one source for the error and warning messages, you can toggle the source buttons 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. October 2002 784 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Go To Pin Form Order specifies, in a multisheet schematic, the relative location of other pins that reference the 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 pins on other sheets reference the same net. The reference lists for the pins in the multisheet schematic are generated by the Create Pin Reference command. October 2002 785 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 design window. previous displays the previous sheet in sequence of the multisheet schematic in the current design window. number enables the text field so you can specify which sheet of the multisheet schematic you want the editor to display in the current design window. October 2002 786 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 symbol information. Rotate turns an object in 90-degree increments counterclockwise around the current reference point. Sideways mirrors the object across an imaginary vertical line passing through the current reference point. Upside Down mirrors the object across an imaginary horizontal line passing through the current reference point. October 2002 787 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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. October 2002 788 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Load Label Display Form Filename specifies a previously saved label display configuration file that you want to use. October 2002 789 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Load Schematic Defaults Form File Name specifies the name of the file that contains the variables and form defaults you want to load. The default is a file named .cdsenv in your home directory. October 2002 790 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Modify Generic Form – VHDL Properties Name specifies the generic name. Type specifies the generic type. Value (Optional) specifies a value for the generic. October 2002 791 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 appears on the form. Choices appears when Type is set to string. If the string can have more than one value, type the 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 minimum and maximum range for the integer or floating-point value. October 2002 792 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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, and 180-degree angles from the current location. orthogonal restricts the movement of objects to points that are along the X and Y axes from the current location. Rotate turns an object in 90-degree increments counterclockwise around the current reference point. Sideways mirrors the object across an imaginary vertical line passing through the current reference point. Upside Down mirrors the object across an imaginary horizontal line passing through the current reference point. October 2002 793 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Net Expression Available Property Names Form Property Name shows the active net expression property names available to a specific instance in the hierarchy. The active property name is the name of the lookup property in a net expression for which no override is found in the instance hierarchy below it. The lookup property is associated with an inherited signal or an inherited terminal. The active property name could also be the name of the lookup property in a redirecting net expression which is the value of a netSet property. Evaluated Name shows the evaluated name of the net expression property. October 2002 794 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Net Expression Evaluated Names Form Evaluated Name displays all the different evaluated names that result from evaluations of all net expressions below the selected instances for the current hierarchy. Number of Cellviews displays the number of cellviews that contain net expressions that evaluate to a particular connection. Number of Occurrences displays the number of occurrence paths, for example, unique lineages to net expressions that evaluate to that particular signal. List Cellviews with Selected Evaluated Name opens the Cellviews with Evaluated Net Expression Name form showing the library, cell, and view names of the cellviews within which net expressions are evaluated to the selected evaluated result. List Occurrences for Selected Evaluated Name opens the Occurrence Paths to Evaluated Name form showing the lineages leading to the net expressions that evaluated to the selected evaluated result. October 2002 795 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Occurrence Paths to Evaluated Name Form Occurrence Path shows the full list of all hierarchical paths that can be followed down to a net expression that evaluates to the selected evaluated name. Cellview shows the cellview name in which the net expression resides. Property Name shows the property name of the net expression. Default Value shows the default value of the net expression. Display occurrence paths with gives you three choices for displaying the occurrence paths to evaluated names. instance names sets the display of the occurrence paths to instance names. cell names sets the display of the occurrence paths to cell names. instance and cell names sets the display of the occurrence paths to instance and cell names. October 2002 796 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Open Simulation Data Form File Name specifies the name of the SHM database that contains the simulation data you want to monitor. Shm Host specifies the host system where the SHM database resides. This option defaults to your local host name. October 2002 797 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Plot Options Form Display Type specifies the plotter display type. The default is display, which represents a color monitor. Each plotter display type defines the colors, line styles, and stipple patterns for any layers. Plotter Name contains a list of the available plotters. The system creates the list of available plotters and default settings from the .cdsplotinit file. Paper Size contains a list of the available paper sizes. The system creates the list of available plotters 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 the center 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, in user units. Offset lets you specify the offset of the plot relative to the lower left corner of the paper using X 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 one or 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 location is /usr/tmp. This option lets you change the default directory when the /usr/tmp directory is not large enough to contain all the data. October 2002 798 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Queue Plot Data At specifies the time and day when you want the system to generate the output 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 to store the output plot. The system appends lib/cell/view to the end of the base name that you specify. For example, when you specify a base name, such as myPlot, the system designates 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. October 2002 799 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Renumber Instances Form Verbose when enabled (default), displays in the Command Interpreter Window (CIW) the old and 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, two other options appear on the form. top (default) specifies that the system renumber instances from the top-level cellview. current cellview specifies that the system renumber instances in all cellviews below and including the current cellview. library renumbers all instances within the library. When you select library, a text field appears. Type the name of the library containing the instances you want to renumber. October 2002 800 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Reset Invisible Labels Form visible causes the highlighted labels to remain visible in the design after you click the Hide button. invisible causes the highlighted labels to revert to the invisible state after you click on the Hide button. October 2002 801 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Rotate Form Rotate turns an object in 90-degree increments counterclockwise around the current reference point. Sideways mirrors the object across an imaginary vertical line passing through the current reference point. Upside Down mirrors the object across an imaginary horizontal line passing through the current reference point. October 2002 802 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 three segments 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, a flight line remains in the schematic to indicate the intended connectivity. October 2002 803 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Save Label Display Form Filename specifies the file in which you want the system to save the current label display configuration. October 2002 804 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Save Schematic Defaults Form File Name specifies the name of the file to store the variables and form defaults. The default is a file named .cdsenv in your home directory. October 2002 805 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Save Schematics with Errors Form all (default) saves all the schematics listed on the form. When you turn on this option, the system automatically enables all the selection buttons for all the schematics listed on the form. none disables all the selection buttons for all the schematics listed on the form. When you select this option, you can turn on the selection buttons for individual schematics listed on the form. Save “<Library><cell><view>” with <number> errors? specifies a design and the number of errors in that design. The system displays this field for each schematic that contains errors. October 2002 806 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Schematic Check Options Form The Schematic Check Options form sets up options to be run when you choose the following commands: Design – Check and Save, Check – Current Cellview, Check – Hierarchy, Check – Cross View Check. Connectivity Options Update Connectivity specifies whether the system updates the connectivity of a cellview when you use the Check – Current Cellview command. When enabled (default), the system extracts connectivity from the design. Beep When 0 Errors/Warnings when enabled (default), causes the system to beep after every save and check in even if there is no error or warning message. The benefit of turning on this option is to let you know when the check is complete. Disabling this option restores the 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 that contain 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 contains errors. When you choose this option and click OK, a dialog box appears. The dialog box lists all the schematics that contain errors and then prompts you to confirm which of the displayed schematics you want to save. From a Multisheet Index, Check specifies which sheets in a multisheet schematic the system checks. all checks all multisheets. only if needed (default) checks only the multisheets that you have edited since the last check. Wire Name Glue Distance specifies a distance, in user units, between wire names and their associated 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, the system glues the wire name to the wire. When the unglued wire name is beyond the specified distance, the checker marks the unglued label. Schematic Rules Check Options October 2002 807 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Run Schematic Rules Check when enabled (default), specifies whether the system runs the schematic 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 names and 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 Check command form. Match Pin Names Exactly, when enabled, checks whether pin names match exactly when you click OK on a Check command form. For example, 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 terminals match when you click OK on a Check command form. Match Terminal Net Expressions, when enabled (default), checks whether terminal net expressions match when you click OK on a Check command form. October 2002 808 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Schematic Find and Symbol Find Forms Previous highlights the previous object that matched the search criteria and displays information about the object in the form. When you reach the first object that matches the search criteria, this button has no effect. Next highlights the next object that matches the search criteria and displays information about 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 other from 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. You cannot use wildcards for master property values. The relational operator cyclic field lets you limit the search to objects that have a value that 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 design window. 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 system searches all cellviews specified in the design hierarchy. library expands the form to display a text field. Specify the library that you want the system to search. The system searches all cellviews in the library. The library must exist in the current library search path. Zoom To Object specifies how the editor displays a matching object. When this option is selected, the editor zooms in on the search object and centers the object in the design window. Zoom Scale appears only when you turn on Zoom To Object. Specifies the scale used to enlarge the object. Select adds the currently highlighted object to the selected set. October 2002 809 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 limit the search scope to only the objects you specify. Schematic Objects lists the schematic object types. You can specify any combination of 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 option to quickly clear any existing selections before you begin to create a new selection set. Instance Objects lists the instance object types. You can specify any combination of the object 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 option to quickly clear any existing selections before you begin to create a new selection set. October 2002 810 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 information about 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 form appears. When you select master from the cyclic field, you must specify a property value. You cannot use wildcards for master property values. The relational operator cyclic field lets you limit the search to objects that have a value that 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 a property name in the text entry field. When you click Apply, the property is added to the Property 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. You cannot 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. October 2002 811 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions cellview searches only for objects in the cellview currently displayed in the design window. 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 system searches all cellviews specified in the design hierarchy. library expands the form to display a text field. Specify the library that you want the system to search. The system searches all cellviews in the library. The library must exist in the current library search path. Zoom To Object specifies how the editor displays a matching object. When this option is selected, the editor zooms in on the search object and centers the object in the design window. Zoom Scale appears only when you turn on Zoom To Object. Specifies the scale used to enlarge the object. Preview Changes (No Edits), when enabled, writes messages to the Command Interpreter Window 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 the changes. Only cellviews in the hierarchy or library are affected; the cellview currently displayed in the design window is not affected. When disabled, prompts you to confirm the changes 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 limit the search scope to only the objects you select. Schematic Objects lists the schematic object types. You can specify any combination of 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 option to quickly clear any existing selections before you begin to create a new selection set. Instance Objects lists the instance object types. You can specify any combination of the object 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 option to quickly clear any existing selections before you begin to create a new selection set. October 2002 812 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Schematic Select All Form Form Action controls whether the system selects or deselects all the specified object types when 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. October 2002 813 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 form appears. The relational operators let you limit the search to objects that have a property value that either exactly matches or differs from the value specified in the field showing the property value. The text entry field specifies a value of the property. When you select master from the list of property names, you must specify a property value of the form “libname cellname viewname” Form Action controls whether the system selects or deselects the specified object types when 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 the selection 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. October 2002 814 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Schematic Selection Filter Form Area Partial Selection specifies whether the schematic editor includes partial objects in the selection set. Partial objects can be wire endpoints and vertices or note shape object endpoints, vertices, and edges. When this option is turned off (default), the editor does not include partial objects when you drag 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 cursor through 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 can select only by pointing and clicking in the design. You cannot select instance objects by dragging your cursor through the design (area selection). The selectability of most instance subobjects 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. October 2002 815 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 replaces the 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. October 2002 816 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 form displayed. Defaults reverts to the default bindings and inherited view list. Previous selects the previously selected instance in the selection list (in the schematic window). 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 (or selection 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 the current 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. You can 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 selecting views and constants or by typing in your own selections. October 2002 817 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Set Label Display Simulation Data Directory Form Simulation Data Directory specifies the name of the directory in which you want to store the simulation data. October 2002 818 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Set Radix Form Radix sets the radix for all selected monitors displaying buses. October 2002 819 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Set Time Form Time specifies a time value for displaying signal results. You can automatically fill in this form by sliding the Time Line indicator located in the middle of the form. Units displays the time units for the value you enter in the Time field. You cannot edit the time units. Use the Set Time Scale command to set the time units. Time Line lets you automatically fill in the Time field. As you slide the indicator, a value appears above the indicator and also in the Time field. The value range varies depending on the simulation history data. Range fields display the start and end values of the simulation history represented by Time Line. The system displays the start value of simulation history at the left end of the time line and the end of the simulation history at the right end of the Time Line. You cannot edit the Range fields. Move ( - ) ( + ) defines a time value by which you move through the simulation history. You can 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. October 2002 820 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Setup Schematic Rules Checks Form Packaged Checks automatically sets the severity levels for the following predefined checks. These checks are defined by the schSRCPackagedChecks environment variable. 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 or warning. Logical Only sets all logical check severity levels to warning. Physical and name check severity levels are set to ignored. Physical Only sets all physical check severity levels to warning. Logical and name checks 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 a schematic or instance pin. Ignores wires that are connected by name to a schematic or instance pin. To minimize the number of messages when you set the severity levels for this check to warning or error, you should set the Unconnected Wires check in the Physical Checks section of the form to ignored. Floating Input Pins checks for component input pins and schematic output pins that are not 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 that are 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 signals are not connected to component output pins, schematic input pins, or any other schematic I/O pins. Floating Switch Pins checks for component or schematic bidirectional pins whose signals are not connected to component output pins, schematic input pins, or any other schematic I/O pins. Shorted Output Pins checks for component output or schematic input pins that are connected to any other component output or schematic input pins. October 2002 821 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Offsheet Connectors checks for offsheet connectors that appear on only one sheet in a multisheet design. Also checks whether a net is used locally in more than one sheet but 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 physically connect 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 to warning or error, you should set the Floating Nets check in the Logical Checks section of the 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 two instances can overlap each other. The value represents a percentage of the bounding box for the larger instance. Maximum Label Offset checks for unglued labels beyond a specified distance from a wire (see Maximum Offset From Wire option). When the checker finds unglued labels within this specified distance, the checker automatically glues the labels to the appropriate wires if the severity level is set to warning or error. Maximum Offset From Wire specifies the distance that an unglued label can be located from a wire. When the checker finds unglued labels beyond the specified distance, the checker marks the unglued label (see Maximum Label Offset option). Name checks for syntax and collisions. Connection By Name checks whether a signal exists in more than one physically disjointed group of wires or pins. You might have inadvertently connected objects when using a name that was already used elsewhere in the schematic. For example, if a schematic contains a pin name “A” and you name a wire in the schematic “A”, the pin and the objects connected to the wire are logically connected. October 2002 822 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Instance/Net Name Collision checks whether a signal name collides with an instance name. For example, the schematic rules checker will flag an instance named “x” and a net named “x” because the names are identical. This option is especially useful for ensuring Verilog HDL and VHDL consistency. Pin/Net Name Collision checks whether a pin name differs from a net name. For example, 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 a different net name; it does not flag connection by name. Verilog HDL Syntax checks Verilog HDL syntax for instance and signal names in a schematic cellview. The checker flags signal names or instance names when they collide with 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 a schematic cellview. The schematic rules checker flags signal names or instance names when 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 in instance name syntax checks. This field is enabled only when the Instance Name Syntax check 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 name syntax checks. This field is enabled only when the Pin Name Syntax field is set to warning or error. Net Name Syntax controls name syntax checking for nets. Net Name Expression specifies the regular expression the checker uses in net name syntax checks. This field is enabled only when the Net Name Syntax field is set to warning or error. Inherited Connection checks existing or missing inherited connections. Inherited Pin/Net Connections checks whether any inherited pin or net connections exist in the schematic. Missing Override Nets checks for net names that have been specified by inherited connection override properties. If the net name is not found, the appropriate severity marker will be placed on the instance where the netSet property is defined. AMS checks Analog Mixed Signal netlisting checks. Run AMS Checks October 2002 823 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 VerilogAMS naming restrictions (which allows mixed-case identifiers). This includes syntax checking and checks for reserved words. Verilog-AMS allows mixed-case identifiers. Name Collisions checks all identifiers in the cellview for adherence to Verilog-AMS scoping rules. Conflicting Bus Ranges checks all buses in the cellview for consistent bus range direction. Sparse Buses checks all buses in the cellview for use of each bit within the bus range. October 2002 824 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Show Label Form Labels of specifies which attached labels the checker looks for and highlights in the design window when you click on Apply. When you click on Apply, the system draws highlighted lines between the specified labels and their associated objects. The system displays a flashing box around any wire labels that are not attached to a wire segment. The form stays open so you can perform other check operations. October 2002 825 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Show Views Found Form View Name(s) shows all the views bound to all the instances in the current schematic cellview. Highlight Layers shows the colors used to highlight the instances with the corresponding views. The command graphically shows the current view being used for each instance. October 2002 826 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 the current 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 points along the X and Y axes from the current location. Route Wire Segments Connected To specifies whether the editor stretches and reroutes the unselected wires that are connected to a specified object type. When you do not enable back tracing for an object type, the editor stretches and reroutes only the first wire segment that is connected to the object you want to stretch. You can reroute wire segments connected to the following object types: ■ Instance ■ Pin ■ Wire When you turn on an option for an object type, the schematic editor stretches and reroutes all 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 October 2002 827 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Rotate turns an object in 90-degree increments counterclockwise around the current reference point. Sideways mirrors the object across an imaginary vertical line passing through the current reference point. Upside Down mirrors the object across an imaginary horizontal line passing through the current reference point October 2002 828 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 axes and 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 the current location. October 2002 829 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 coordinates for the lower right-hand and upper left-hand corners of a bounding box that represents the plot area. Full Size (default) specifies the entire cellview and gives the coordinates in Area to Plot. Select lets you type coordinates or drag your mouse across the design to specify the plot area. Browse opens the Library Browser. Use the browser to select a cellview. The system automatically 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 number of 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 during hierarchical plotting. Skip Libraries specifies a list of libraries that the system ignores during hierarchical plotting. October 2002 830 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Skip Cells Below specifies the last level of hierarchy that the system plots during hierarchical plotting. Specify a cell name or list of cell names to identify the final level to plot. 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 output plot. 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 for the Submit Plot form and the Plot Options form. The Template File options let you read in, or write to, the file you specify in this field. Load reads in plot setup information from a plot setup file. Specify a file that contains plot setup options or a sample file. Two sample plot template files are available in the your_install_dir/tools/dfII/samples/plot directory. The sample files are schPlot.il and schMetPlot.il. 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 button to load another template file. Save writes the current plot setup information to a setup file. Plot setup options are stored in a property list format. Plot Options opens the Plot Options form. You use the Plot Options form to set the plotter options. 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 system automatically 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 output plot. 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. October 2002 831 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 for the Submit Plot form and the Plot Options form. The Template File options let you read in, or write to, the file you specify in this field. Load reads in plot setup information from a plot setup file. Specify a file that contains plot setup options or a sample file. Two sample plot template files are available in the your_install_dir/tools/dfII/samples/plot directory. The sample files are schPlot.il and schMetPlot.il. 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 button to load another template file. Save writes the current plot setup information to a setup file. Plot setup options are stored in a property list format. Plot Options opens the Plot Options form. You use the Plot Options form to set the plotter options. Plot – viewing area Plot With options let you specify the information you want the system to include on the output plot. 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 for the Submit Plot form and the Plot Options form. The Template File options let you read in, or write to, the file you specify in this field. Load reads in plot setup information from a plot setup file. Specify a file that contains plot setup options or a sample file. Two sample plot template files are available in the your_install_dir/tools/dfII/samples/plot directory. The sample files are schPlot.il and schMetPlot.il. 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 button to load another template file. October 2002 832 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Save writes the current plot setup information to a setup file. Plot setup options are stored in a property list format. Plot Options opens the Plot Options form. You use the Plot Options form to set the plotter options. October 2002 833 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 direction and the pin graphic attributes. Load/Save displays options you can use to specify which TSG template file the system references when creating a symbol automatically. Load consists of a Load button, a cyclic field, and a text field. The cyclic field lists the TSG template file keywords. The text field changes when you select a keyword. When you 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 template information. Library Name specifies the library name of the cellview that contains the TSG template information. Cell Name specifies the cell name of the cellview that contains the TSG template information. View Name specifies the view name of the cellview that contains the TSG template information. Edit Attributes expands the form to display the symbol attributes options. Pin Spacing specifies the spacing between pins. October 2002 834 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 the symbol. 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 the symbol. 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 Label cyclic 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 software displays an overbar over a label in the design window. When disabled (default), the software displays underscore characters ( _ ) in the label as part of the label text string. When enabled, the software interprets underscore characters ( _ ) in the label as toggle switches that control where overbars begin and end. Property Name October 2002 Appears in Design Window As _abcde abcde ab_cde abcde _abc_de abcde 835 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when text actually contains underscore characters, Cadence recommends that you disable this display option. It is provided only for backward compatibility. Location specifies where on the symbol to place the label. Add adds the pin name you specify in the Name field to the list under the Label cyclic field. Delete removes the pin name you specify in the Name field from the list under the Label cyclic 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 List cyclic 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 software displays an overbar over a label in the design window. When disabled (default), the software displays underscore characters ( _ ) in the label as part of the label text string. When enabled, the software interprets underscore characters ( _ ) in the label as toggle switches that control where overbars begin and end. Property Name _abcde October 2002 Appears in Design Window As abcde 836 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions ab_cde abcde _abc_de abcde ab_cd_ef_gh_ij abcdefghij Caution To avoid confusion when text actually contains underscore characters, Cadence recommends that you disable this display option. It is provided only 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 Property cyclic field. Delete removes the property name you specify in the Name field from the list under the Property cyclic field. Modify applies the property name you specify in the Name field to the list under the Property cyclic field. October 2002 837 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Symbol Select All Form Form Action controls whether the system selects or deselects all the specified object types when 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. October 2002 838 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 form appears. The relational operators let you limit the search to objects that have a property value that either exactly matches or differs from the value specified in the field showing the property value. The text entry field specifies a value of the property. When you select master from the list of property names, you must specify a property value of the form “libname cellname viewname” Form Action controls whether the system selects or deselects the specified object types when 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 the selection 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. October 2002 839 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Symbol Selection Filter Form Area Partial Selection specifies whether the symbol editor includes partial objects in the selection set. Partial objects can be wire endpoints and vertices or note shape object endpoints, vertices, and edges. When this option is turned off (default), the editor does not include partial objects when you drag 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 cursor through 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. October 2002 840 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions Synchronization Form Synchronize with Simulator at Breakpoint enables synchronization to display simulation results in monitors at simulation breakpoints. October 2002 841 Product Version 5.0 Virtuoso Schematic Composer User Guide Form 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 all displayed time values. October 2002 842 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions VHDL Properties Form Generics specifies the property names and the corresponding VHDL types, organized as SKILL lists, for the netlister to use when generating the entity. The Add, Modify, and Delete buttons affect only the display of properties on the VHDL Properties 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 a generic displayed in the list box. When you select a generic in the list box before you select the command, the system fills in the form with generic information. Delete displays the Delete Generic form, which lets you delete a specified generic from the list box. When you select a generic in the list box before you select the command, the system fills in the form with generic information. Scalar Data Type specifies the default data type for the netlister to use when generating the entity. Vector Data Type specifies the default data type for the netlister to use when generating vector 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 the VHDL entity generated by the netlister. User Comment shows a string to be inserted as the first line of each VHDL entity and architecture generated by the netlister. October 2002 843 Product Version 5.0 Virtuoso Schematic Composer User Guide Form Descriptions October 2002 844 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary A array An ordered arrangement of instances in rows and columns with uniform spacing. attribute A mandatory characteristic of a design object or cellview, such as the wire width attribute, that you can change but cannot delete. It is a permanent and predefined part of the database. For example, a wire requires a beginning coordinate and an ending coordinate, and an instance requires an instance name. In contrast, properties are optional; attributes are not. Properties can be added, changed, or deleted. Attributes can be added or changed, but they cannot be deleted. See also property. B backannotation The process of passing information generated outside Virtuoso® schematic composer and storing the information in Virtuoso® schematic composer. block A generic instance that represents lower-level design data. Input pin Output pin GATE_REP pin1 pin2 N7 browser A window used for displaying the names of libraries, cellviews, views, or components for a form field. Examples of browsers are the Component Browser and the Library Browser. October 2002 845 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary You can use the Component Browser to display multiple libraries and their available components at the same time; to display a hierarchical list of components instead of an alphabetical list; to go directly to a specific component without scrolling. You can use the Library Browser to view information about the libraries you have specified in your cds.lib file. bundle A collection of signals with different names. A bundle is represented by names separated by a comma; for example, A,B,Data<0:15>. See also wire. bus A collection of signals sharing a common base name. A bus is represented by this base name followed with a vector expression; for example, A<0:7>. See also wire. bus tapping Tapping bits of a bus or bundle gives the tapping wire segments names that are members of the base bus or bundle. For example, in the following illustration, all names on the right column are taps from the bundle S,R,Q<0:15>. S,R,Q<0:15> Q<5:3> S,R Q<0:7> S Q<0> C CDBA The database mechanism or application programming interface (API) used by Virtuoso® schematic composer for accessing design databases. It is traversed by netlisters like prflatten. CDBA stands for C-level Database Access. October 2002 846 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary cell A component of a design; a collection of different aspects (representations) of component implementations, such as schematic or symbol representations. A design object consisting of a set 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 unit (ALU), memories, complete chips, and printed circuit boards are examples of large cells. cellview A specific representation (view) of a cell. A particular representation of a particular component, such 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 logs your design session and reports messages. connectivity The way in which components and pins are linked together in an unambiguous manner. The connectivity in a schematic is represented by wires linking the component pins to other component pins. Connectivity can also be represented by pins of the common name (connection by name). The connectivity of a cellview is created by either the Design – Check and Save command or the Check – Current Cellview command. cross selection The process of selecting an object in one view to automatically select the corresponding object in another Cadence application. For example, selecting an instance in a schematic cellview to cross highlight the corresponding instance in the Hierarchy Editor. D delay The time interval between the manifestation of a signal at one point and the manifestation or detection of the same signal at another point. delay path An ordered series of instance-pin pairs that forms a connected signal path. direct manipulation Clicking on an object and then dragging the mouse to quickly stretch, move, and copy objects. October 2002 847 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary E editor, schematic The interactive editor in which you can create schematic cellviews and edit objects that represent parts of the design, such as components and pins, and wires that establish connectivity between them. editor, symbol The interactive editor in which you can create and edit schematic symbol cellviews using labels, pins, shapes, notes, and a selection box. Enter Function A class of functions that gather data from the user interactively. Schematic composer uses enter functions to build the interactive commands that require performing actions with the mouse. F font The style and size of type, in Virtuoso® schematic composer, of the label text. The choices are euroStyle, gothic, math, roman, script, stick, swedish, and milSpec. The math font displays mathematical and Greek symbols. The swedish font displays Swedish language characters. G gate Symbol object for combinational logic; for example, AND gates and OR gates. gate array Gates placed in a prefabricated matrix where you provide the design for the interconnect. Gate array designs are cheaper to manufacture because only the interconnects have to be custom made. ge The graphics editor component of DFII that supports both Virtuoso® schematic composer and Virtuoso® layout editor. It supplies a variety of functionality including display, selection, and hierarchical signal probing. October 2002 848 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary global signal or global net A signal that is connected by name across all levels of a design hierarchy without using pins. In Cadence Database Access (CDBA), a global signal is a signal that has the isGlobal attribute set to true. In schematics, a global signal is determined by name; if the signal name ends with an exclamation point ( ! ), it is considered global. A signal that is explicitly passed everywhere in a design is not considered global. A global signal connects to other signals with the same name elsewhere in the hierarchy without requiring an explicit connection through the hierarchy. See inherited connections. H hierarchical design Division of portions of large designs into manageable views that can be created, represented symbolically, edited, and called by or connected to other such views in a design, optimizing gate production through tool speed and distribution of work load across a design organization. I ilInst The ilInst SKILL variable provides self-reference to an instance during graphic display of the cellview containing the instance. The typical usage is for IL labels, such as labels that evaluate a SKILL expression and display the results. For example, to display the value of an instance property, you create an IL label with the value ilInst~>propertyName. The expression ilInst~>propertyName is evaluated for all instances of the cell and the resulting values are displayed in the graphic editor. The ilInst SKILL variable is only evaluated for the instances in the top display level. That is, only the instances in the schematic can have the ilInst SKILL variable value defined. If, for example, you are instantiating schematics in schematics in schematics, ilInst can only be determined for the instances in the top schematics, and all subinstances are evaluated with reference to the subschematic in which they are instantiated. lLLabel IL labels are expressions that are evaluated by the SKILL language to determine the value. When you place an instance in your schematic, the system evaluates the SKILL expression and displays the resulting value. For example, the system displays the IL label ilInst~>name in the symbol editor, but displays a value – for example, I3 – in the schematic editor. Other types of labels are normal and NLPLabel. October 2002 849 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary inherited connections A facility for specifying global signals that may be overridden for a particular branch of the hierarchy. Net expression labels are used to specify the default signal and the property name which the global signal looks for. netSet properties can be placed on instances to override the default signal for a branch of the hierarchy. inherited net expression A use of the NLP expression to support declaring an inherited connection. instance An instantiation of a lib cell symbol. It is a database object that represents a master cellview. You can have several instances of the same cellview in a design. instance iteration A compact way of representing repeated instances of a symbol in your schematic. Particularly useful in bus-type or data-flow architectures that have identical structures to handle each bit on the bus. interpreted label Represents the group of ILLabel and NLPLabel because their values are always derived. J justification Position of the label’s origin with respect to the label. The cursor is always attached to the origin point. The choices are upperLeft, upperCenter, upperRight, centerLeft, centerCenter, centerRight, lowerLeft, lowerCenter, and lowerRight. For example, if you specify lowerCenter, the cursor is centered below the label. M member net A bit of a net. For example, if a net had the name X,vdd!,Z, then the net has three members named X, vdd!, and Z. member terminal A bit of a terminal. For example, if a terminal had the name X,vdd!,Z, then the terminal has three members named X, vdd!, and Z. October 2002 850 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary multisheet The use of several pages to represent a schematic, connected by pins. You use two levels of hierarchy, the index and sheet levels. This partition improves readability and produces better plot output. multisheet, index A schematic representation that is given the instance of all the sheets. This schematic is not intended to be edited manually. multisheet, pin Connects nets between sheets in a multisheet schematic. A pin can connect a single signal or multiple signals (buses) of a terminal. multisheet, sheet A schematic containing the logical description of a sheet that can be connected to other sheets with offsheet pins. N net A database object that describes one or more signals. Logical implementation of a single signal or a group of signals that implements the connections to instance pins and pins of the cellview containing the net. net expression A use of the NLP expression to support declaring an inherited connection. net expression label The object for displaying the value of net expressions to the user. net, global Used to establish connectivity between nets in different levels of the hierarchy. Indicated by an exclamation mark added to the end of the name; for example, vdd! NLP Netlist property. NLP expressions, besides being used for netlisting, are also used to display evaluated property values. The syntax of NLP expressions can be used to support inherited net expressions. October 2002 851 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary NLPLabel A CDBA label type. Other types of labels are Normal and ILLabel. Labels that are of NLPLabel type undergo special NLP evaluation. In general, NLP expressions define a property name to look for, where to look for the property, a format string used to substitute a found 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. O OSS Open Simulation System. The functionality provided within OSS is utilized by many applications and customers for writing netlist interfaces to a variety of tools. P patchcord A special connection symbol used to establish aliases between the signals of two different nets. Unlike tap names, where you extract bits of a single net, you can use patchcords to copy one net to another. You can also use the patchcord to map bits from one net to different bits of another net. pin Represents the connection point for a single signal or multiple signals of the terminal. pin, offsheet Connects nets between sheets in a multisheet schematic. A pin can connect a single signal or multiple signals (buses) of a terminal. placed master The master cellview of the instance placed in a schematic. Usually, this is the symbol cellview. The instance in a schematic references the symbol. property A characteristic of a design object or cellview that affects the object and can be edited or deleted. Properties can be mandatory or optional. See also attribute. October 2002 852 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary S signal A database object that represents a scalar, logical entity that connects one or more member instance 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 nets. See also wire. solder dot Small filled-in circle used to identify connections between intersecting wires that are part of the same net. switched master When a design hierarchy is traversed, the symbol views instantiated as the placed master do not define the next level of the design. The placed view must be switched to another view of the same cell that contains more detail, for example, the layout or schematic views. The view that defines the result of hiearchical descend is the switched master. T technology file A file that defines all the physical information required for a design. It defines information such as layers, physical design rules for compaction, and devices. terminal Logical counterpart of the pin that lets you connect from the next higher level of hierarchy to the net associated with the pin. A database object that makes a net available for connection on instances of a given cellview. V view, schematic Contains connectivity data and graphics that describe the logical views of a design. October 2002 853 Product Version 5.0 Virtuoso Schematic Composer User Guide Glossary view, symbol Graphic representation of the interface between the current level of hierarchy to the level below the symbol that is instantiated. Symbol view Schematic view Mask layout view W wire A line that connects a pin and an instance to represent a net in a schematic. When you draw a wire between a pin and an instance, you create a net. wire name Designates the name of a net and signals represented by the wire. October 2002 854 Product Version 5.0