Sie sind auf Seite 1von 727

Design Architect-IC Users Manual

Software Version v8.9_10 IC Flow Version 2003.1

Copyright Mentor Graphics Corporation 2003 All rights reserved. This document contains information that is proprietary to Mentor Graphics Corporation. The original recipient of this document may duplicate this document in whole or in part for internal business purposes only, provided that this entire notice appears in all copies. In duplicating any part of this document, the recipient agrees to make every reasonable effort to prevent the unauthorized use and distribution of the proprietary information.

End-User License Agreement Trademark Information

This document is for information and instruction purposes. Mentor Graphics reserves the right to make changes in specifications and other information contained in this publication without prior notice, and the reader should, in all cases, consult Mentor Graphics to determine whether any changes have been made. The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in written agreements between Mentor Graphics and its customers. No representation or other affirmation of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor Graphics whatsoever. MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS) ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT, EVEN IF MENTOR GRAPHICS CORPORATION HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. RESTRICTED RIGHTS LEGEND 03/97 U.S. Government Restricted Rights. The SOFTWARE and documentation have been developed entirely at private expense and are commercial computer software provided with restricted rights. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions set forth in the license agreement provided with the software pursuant to DFARS 227.72023(a) or as set forth in subparagraph (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is: Mentor Graphics Corporation 8005 S.W. Boeckman Road, Wilsonville, Oregon 97070-7777. This is an unpublished work of Mentor Graphics Corporation.

Table of Contents

Table of Contents
About This Manual ............................................................................................xxix Manual Organization .........................................................................................xxix Other Resources.................................................................................................xxxi Chapter 1 Introducing DA-IC .............................................................................................. 1-1 DA-IC Overview ................................................................................................ 1-1 DA-IC Features................................................................................................... 1-2 IC-Specific Component Libraries....................................................................... 1-4 DA-IC Design Flow............................................................................................ 1-5 Chapter 2 Getting Started .................................................................................................... 2-1 DA-IC Environment ........................................................................................... 2-2 Invoking DA-IC from Design Manager-IC ........................................................ 2-2 Invoking DA-IC From an Operating Shell ......................................................... 2-3 Exiting DA-IC .................................................................................................... 2-4 Getting Online Help............................................................................................ 2-4 Setting Up the DA-IC Session ............................................................................ 2-5 Setting Up Display Preferences .......................................................................... 2-7 Setting the Color of Design Objects................................................................. 2-7 Setting the Background Color.......................................................................... 2-8 Setting the Dynamic Cursor ............................................................................. 2-9 Setting the Default Text Editor........................................................................... 2-9 Setting up a Language Model Editor .................................................................. 2-9 Setting the Mouse Selection Behavior.............................................................. 2-10 Setting the Property Display ............................................................................. 2-11 Setting the Display Background Color .......................................................... 2-12 Setting the Show Property Name Display...................................................... 2-14 Browsing for Files ............................................................................................ 2-14 Selecting and Unselecting Objects ................................................................... 2-15 Selecting a Single Object ............................................................................... 2-16 Selecting Multiple Objects............................................................................. 2-16

Design Architect-IC Users Manual, v8.9_10

iii

Table of Contents

Table of Contents (cont.)


Selecting Attached Branches.......................................................................... 2-17 Selecting Attached Instances.......................................................................... 2-18 Selecting Attached Nets ................................................................................. 2-18 Selecting all Nets with the Same Name ......................................................... 2-18 Selecting Attached Pins.................................................................................. 2-19 Selecting by Object Name.............................................................................. 2-19 Unselecting a Single Object ........................................................................... 2-20 Unselecting Multiple Objects......................................................................... 2-20 Unselecting Everything .................................................................................. 2-21 Reselecting a Selection Set ............................................................................ 2-21 Reopening a Selection Set.............................................................................. 2-21 Setting the Default Selection Filter ................................................................ 2-22 Manipulating Graphical Objects....................................................................... 2-22 Moving Objects.............................................................................................. 2-22 Repeat Moving ............................................................................................... 2-23 Moving Objects Between Windows............................................................... 2-23 Copying Objects............................................................................................. 2-23 Repeat Copying.............................................................................................. 2-24 Copying Objects to a Line.............................................................................. 2-25 Copying Objects to an Array.......................................................................... 2-26 Copying Objects Between Windows ............................................................. 2-27 Resizing Instances .......................................................................................... 2-29 Grouping Design Objects ............................................................................... 2-29 Ungrouping Objects ....................................................................................... 2-30 Reporting Groups ........................................................................................... 2-30 Deleting Objects............................................................................................. 2-30 Pivoting and Rotating Objects ....................................................................... 2-32 Flipping Objects ............................................................................................. 2-33 Using Strokes to Manipulate Objects............................................................. 2-34 Understanding Object Handles in DA-IC......................................................... 2-35 Changing the Design View ............................................................................... 2-36 Viewing a Portion of the Sheet ...................................................................... 2-36 Viewing the Entire Sheet ............................................................................... 2-36 Other Viewing Capabilities............................................................................ 2-37 Printing in DA-IC ............................................................................................. 2-38

iv

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Printing All Sheets in a Design ...................................................................... 2-38 Printing Symbols............................................................................................ 2-43 Printing a Schematic Sheet............................................................................. 2-46 Printer Configuration ..................................................................................... 2-51 Using Panels ..................................................................................................... 2-51 Adding Panels ................................................................................................ 2-51 Viewing Panels............................................................................................... 2-52 Viewing and Hiding Panel Borders................................................................ 2-52 Deleting a Panel Definition ............................................................................ 2-53 Creating and Printing Panels in Read-Only Mode ......................................... 2-53 Setting up an IFF Interface to ADS Schematics ............................................ 2-54 Placing IFF Friendly Symbols ....................................................................... 2-55 Writing Out an IFF......................................................................................... 2-55 Reading In an IFF........................................................................................... 2-56 Setting A Default IFF Library Palette ............................................................ 2-56 Chapter 3 Creating Schematics............................................................................................ 3-1 Schematic Creation Overview ............................................................................ 3-2 Schematic Editor Features .................................................................................. 3-5 Opening/Creating a Schematic ........................................................................... 3-6 Opening a Language File.................................................................................... 3-8 Setting Up the Schematic Editor......................................................................... 3-9 Setting Grid, Pin Spacing and Snap ................................................................. 3-9 Setting Net Drawing Attributes...................................................................... 3-11 Setting Ripper Drawing Attributes................................................................. 3-13 Setting Design Context Drawing Attributes .................................................. 3-15 Setting Comment Drawing Attributes............................................................ 3-17 Choosing and Placing Symbols ........................................................................ 3-19 Selecting and Placing Active Symbols ............................................................. 3-20 Updating and Replacing Instances.................................................................... 3-20 Replacing Multiple Instances ........................................................................... 3-23 Using Repeating Instances................................................................................ 3-23 Using Nets, Buses and Net Bundles ................................................................. 3-24 Drawing and Routing Nets............................................................................. 3-25

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Automatic Net Routing .................................................................................. 3-26 Connecting and Disconnecting Net Vertices ................................................. 3-26 Understanding Basic Pin, Bus, and Net Naming Syntax ............................... 3-27 Naming Nets................................................................................................... 3-28 Changing Net Names ..................................................................................... 3-29 Renaming all Segments of a Net .................................................................... 3-29 Moving Net Names ........................................................................................ 3-30 Terminating a Dangling Net........................................................................... 3-30 Declaring Dangling Nets and Pins ................................................................. 3-30 Creating a Bus and Bus Connections................................................................ 3-31 Creating a Bus ................................................................................................ 3-32 Using Multi-Dimensional Buses .................................................................... 3-35 Representing a Bus Graphically..................................................................... 3-35 Using Bus Rippers ............................................................................................ 3-36 Creating a Bus Ripper Component ................................................................... 3-37 Connecting a Bus Ripper .................................................................................. 3-42 Instantiating 1x1 Bus Ripper Automatically .................................................... 3-46 Using the Automatic 1x1 Bus Ripper ............................................................... 3-46 Creating an Implicit Bus Ripper ....................................................................... 3-47 Creating an Implicit Bundle Ripper.................................................................. 3-48 Using the netcon Component............................................................................ 3-49 Creating and Naming a Net Bundle.................................................................. 3-49 Ripping Members from Net Bundles................................................................ 3-52 Creating Multi-Level Designs .......................................................................... 3-53 Creating a Schematic-Based Block ................................................................ 3-53 Creating a Sheet for a Symbol ....................................................................... 3-56 Creating Additional Sheets in a Schematic .................................................... 3-57 Using Off-Page Connectors ........................................................................... 3-58 Using Portin and Portout Symbols................................................................. 3-59 Editing the Underlying Sheet of a Symbol .................................................... 3-60 Creating a Symbol for a Sheet ....................................................................... 3-60 Creating a Pin List.......................................................................................... 3-62 Displaying a Lower Level Sheet .................................................................... 3-63 Displaying a Higher Level Sheet ................................................................... 3-63 Displaying the Top Level Sheet ..................................................................... 3-64

vi

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Locking/Unlocking Schematic Sheet Edits.................................................... 3-64 Adding Comment Text and Graphics ............................................................... 3-64 Types of Comment Objects............................................................................ 3-65 Uses for Comments ........................................................................................ 3-65 Setting Comment Text and Graphic Drawing Attributes............................... 3-66 Creating Comment Objects on Schematic Sheets .......................................... 3-67 Making a Symbol From Comment Objects ................................................... 3-68 Converting Electrical Objects to Comments.................................................. 3-69 Removing Comment Status............................................................................ 3-69 Creating FOR, CASE, and IF Frames .............................................................. 3-70 Creating FOR Frames .................................................................................... 3-70 Creating Repeating Instances ......................................................................... 3-71 Creating IF Frames......................................................................................... 3-74 Creating CASE, OTHERWISE Frames ......................................................... 3-75 Setting Parameters.......................................................................................... 3-75 Checking a Schematic for Errors ...................................................................... 3-77 Saving and Registering a Schematic................................................................. 3-80 Saving and Registering to the Default Component Interface......................... 3-80 Saving and Registering to a Specified Component Interface......................... 3-80 Navigating Multiple Page Schematics.............................................................. 3-83 Navigating Multi-Sheet Schematics with a Single Window.......................... 3-84 Sequentially Traversing a Schematic ............................................................. 3-84 Multiple Page Icon Button ............................................................................. 3-84 Closing a Multiple Sheet Schematic .............................................................. 3-85 Displaying/Editing Registered Models............................................................. 3-86 Netlisting a Schematic ...................................................................................... 3-88 Creating a SPICE Netlist................................................................................ 3-88 Using Advanced Options for a SPICE Netlist ............................................... 3-90 Creating a Verilog Netlist .............................................................................. 3-92 Using Advanced Options for a Verilog Netlist .............................................. 3-93 Invoking IC Station Directly from DA-IC........................................................ 3-95 Chapter 4 Creating Symbols ................................................................................................ 4-1 Symbol Creation Overview ................................................................................ 4-2

Design Architect-IC Users Manual, v8.9_10

vii

Table of Contents

Table of Contents (cont.)


Symbol Editor Features ...................................................................................... 4-2 Opening a Symbol Editor Window..................................................................... 4-3 Setting Up the Symbol Editor............................................................................. 4-4 Setting Grid and Pin Spacing and Snap ........................................................... 4-4 Setting Symbol Body Attributes ...................................................................... 4-4 Drawing a Symbol Body .................................................................................... 4-6 Drawing an Arc ................................................................................................ 4-7 Drawing a Circle .............................................................................................. 4-7 Drawing a Dot .................................................................................................. 4-8 Drawing a Line................................................................................................. 4-8 Drawing a Polyline........................................................................................... 4-9 Drawing a Rectangle ...................................................................................... 4-10 Drawing a Polygon......................................................................................... 4-10 Slicing Geometric Objects ............................................................................. 4-11 Joining Sliced Objects into Polylines and Polygons ...................................... 4-12 Adding and Naming Symbol Pins .................................................................... 4-13 Adding a Single Pin ....................................................................................... 4-13 Adding Multiple Pins ..................................................................................... 4-14 Creating Consecutive Pins ............................................................................. 4-15 Adding and Naming a Pin Bundle .................................................................... 4-21 Bundles Connected to Ports ........................................................................... 4-23 Checking a Symbol for Errors .......................................................................... 4-23 Saving and Registering a Symbol..................................................................... 4-24 Saving a Symbol and Deleting The Registration ........................................... 4-24 Saving a Symbol and Changing The Registration ......................................... 4-25 Registering Multiple Symbols to One Component Interface......................... 4-25 Chapter 5 Managing/Registering Models ........................................................................... 5-1 Registering Models for Simulation..................................................................... 5-2 Supported Modeling Types .............................................................................. 5-2 Invoking the Model Registrar .......................................................................... 5-3 Create Mode ..................................................................................................... 5-4 Manage Mode................................................................................................... 5-5 Edit Mode......................................................................................................... 5-5

viii

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Choosing a Model ............................................................................................ 5-7 Registering a Model to an Existing Symbol .................................................... 5-8 Editing an Existing Symbol for a Model.......................................................... 5-9 Generating a Symbol for a Model .................................................................. 5-10 Creating a Symbol for a Model ...................................................................... 5-13 Registering a Model from a Symbol .............................................................. 5-14 Mapping a Model to a Symbol....................................................................... 5-16 Setting a Default Model Registration............................................................. 5-19 Viewing the Registered Models for a Symbol ............................................... 5-20 Checking a Model Registration...................................................................... 5-22 Editing a Model Registration ......................................................................... 5-23 Renaming a Model Registration..................................................................... 5-25 Copying a Model Registration ....................................................................... 5-26 Deleting a Model Registration ....................................................................... 5-27 Restoring Deleted Model Registrations ......................................................... 5-28 Closing the Model Registrar .......................................................................... 5-29 Using the Model Registrar in Batch Mode .................................................... 5-29 Creating a Batch File Using the Model Registrar .......................................... 5-29 Creating a Batch File Manually ..................................................................... 5-31 Registering Models Using a Batch File ......................................................... 5-35 Chapter 6 Using Function Blocks ........................................................................................ 6-1 Function Block Terminology.............................................................................. 6-1 Chapter Structure ................................................................................................ 6-2 Setting up a Function Block ............................................................................... 6-3 Creating FB Definitions and FB Instances ......................................................... 6-6 FB Definitions and FB Instances Usage Models ............................................. 6-7 Creating FB Definitions ................................................................................... 6-8 Creating FB Instances .................................................................................... 6-13 Adding FB Pins .............................................................................................. 6-23 Net Construction ............................................................................................... 6-25 Constructing Internal Nets ............................................................................. 6-26 Constructing External Nets ............................................................................ 6-28 Constructing Passthru Nets ............................................................................ 6-29

Design Architect-IC Users Manual, v8.9_10

ix

Table of Contents

Table of Contents (cont.)


Constructing Flythru Nets .............................................................................. 6-29 FB Definition and FB Instance Checks.......................................................... 6-29 Manipulating FB Definitions and FB Instances ............................................... 6-30 Converting FB Instances to FB Definitions ................................................... 6-30 Selecting FB Definitions and FB Instances ................................................... 6-31 Adding or Removing Objects from within an FB Definition ........................ 6-32 Stretching or Resizing FB Definition and FB Instance Boundaries .............. 6-33 Setting Colors On-the-Fly .............................................................................. 6-35 Creating Made FB Definitions and FB Instances ............................................. 6-37 Prerequisites ................................................................................................... 6-37 Procedures ...................................................................................................... 6-38 Errors Encountered During the Make Function Block Operation ................. 6-41 Interface Pin Changes .................................................................................... 6-42 Unmaking Made FB Definitions and Made FB Instances................................ 6-42 Checking Function Blocks................................................................................ 6-45 Chapter 7 Using Properties .................................................................................................. 7-1 Introduction to Properties ................................................................................... 7-1 Property Ownership ............................................................................................ 7-4 Property Names Versus Property Values ........................................................... 7-4 Property Types.................................................................................................... 7-4 Property Name/Value Restrictions ..................................................................... 7-5 Property Name Restrictions ............................................................................. 7-6 Property Value Restriction ............................................................................... 7-6 Special Case Restrictions ................................................................................. 7-6 Properties and Color......................................................................................... 7-7 Symbol Properties............................................................................................... 7-9 Logical Symbol Properties............................................................................. 7-10 Property Stability Switches ............................................................................ 7-11 Property Visibility Switches .......................................................................... 7-12 Updating Properties on an Instance .................................................................. 7-13 Attribute-Modified Properties ........................................................................ 7-13 Value-Modified Properties............................................................................. 7-13 Mark Property Attributes ............................................................................... 7-14

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Mark Property Value...................................................................................... 7-14 Property Merge Options ................................................................................. 7-15 Automatic Update Process ............................................................................. 7-15 Property Update Examples............................................................................. 7-16 Parameters......................................................................................................... 7-17 Using Expressions as Property Values ............................................................. 7-19 Rules for Resolving Property Value Variables................................................. 7-19 Facts About Property Variable Resolution .................................................... 7-21 Example of Property Variable Resolution ..................................................... 7-22 Structured Logic Design Properties.................................................................. 7-25 Class Property ................................................................................................ 7-28 Global Property .............................................................................................. 7-29 Inst Property ................................................................................................... 7-29 Net Property ................................................................................................... 7-30 Pin Property.................................................................................................... 7-30 Rule Property ................................................................................................. 7-30 Frexp Property................................................................................................ 7-31 Function Block Properties.............................................................................. 7-31 Special Notation for CASE, FOR, and IF Property Values ........................... 7-32 Assigning Properties ......................................................................................... 7-35 Setting Up Property Text Attributes .............................................................. 7-36 Adding a Single Property ............................................................................... 7-39 Adding Multiple Properties to the Same Object ............................................ 7-41 Repeat Adding Properties to Changing Selection .......................................... 7-42 Deleting Property Name/Value ...................................................................... 7-43 Setting Property Owners ................................................................................ 7-43 Deleting Property Owners.............................................................................. 7-44 Listing Property Information.......................................................................... 7-45 Changing Property Values ............................................................................. 7-45 Changing Property Attributes ........................................................................ 7-47 Changing Property Text Color ....................................................................... 7-49 Changing the Background of Hidden Property Text...................................... 7-50 Changing Multiple Properties on the Same Object........................................ 7-50

Design Architect-IC Users Manual, v8.9_10

xi

Table of Contents

Table of Contents (cont.)


Chapter 8 Running Design Simulation................................................................................ 8-1 Simulation Mode Overview................................................................................ 8-4 Supported Language Types ................................................................................ 8-5 Requirements ...................................................................................................... 8-5 Using the HSPICE Simulator ............................................................................. 8-6 HSPICE Options .............................................................................................. 8-6 HSPICE ............................................................................................................ 8-7 Measurements .................................................................................................. 8-8 Adding an HSPICE Voltage Source ................................................................ 8-8 Running a Simulation ......................................................................................... 8-8 Changing the Default Editor for Simulation Mode.......................................... 8-9 Setting up a Default Viewpoint........................................................................ 8-9 Invoking Simulation Mode ............................................................................ 8-11 Setting Up the Default Simulator and Viewer ............................................... 8-14 Setting Ground/Node 0 .................................................................................. 8-16 Setting up the Simulation Environment ......................................................... 8-17 Creating Default Simulation Environment Setups......................................... 8-20 Restoring Simulation Environment Setups .................................................... 8-20 Copying a Simulation Configuration ............................................................. 8-20 Setting up Standard Simulator Options.......................................................... 8-21 Adding Forces ................................................................................................ 8-22 Adding Safe Operating Areas ........................................................................ 8-25 Specifying a Circuit Temperature .................................................................. 8-31 Setting up Parameter Variables for Models ................................................... 8-32 Reordering, Enabling/Disabling, Editing, and Deleting Sweep Analyses ..... 8-32 Setting up a Sweep Analysis .......................................................................... 8-34 Setting up a Monte Carlo Analysis ................................................................ 8-39 Setting up Simulation Analyses........................................................................ 8-43 Setting up a DCOP Analysis .......................................................................... 8-44 Setting up a DC Analysis ............................................................................... 8-45 Setting up an AC Analysis ............................................................................. 8-48 Setting up an AC Noise Analysis................................................................... 8-51 Setting up a Transient Analysis...................................................................... 8-54

xii

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Setting up a Transient Noise Analysis ........................................................... 8-57 Setting up a Steady State Analysis................................................................. 8-60 Setting up a Modulated Steady State Analysis .............................................. 8-63 Setting up an Oscillator Steady State Analysis .............................................. 8-64 Setting up a Steady State Noise Analysis ...................................................... 8-67 Setting up a Steady State AC Analysis .......................................................... 8-70 Setting Model Libraries for Simulation ......................................................... 8-73 Selecting/Editing Registered Models............................................................. 8-75 Displaying/Editing the Default Registered Model ......................................... 8-82 Including SPICE Command Files .................................................................. 8-83 Entering Additional Simulator Commands.................................................... 8-84 Setting Probes................................................................................................. 8-84 Plotting Simulation Results............................................................................ 8-86 Deleting Plots and Probes .............................................................................. 8-91 Displaying the Current Simulation Setups..................................................... 8-92 Displaying the Simulation Command File..................................................... 8-93 Displaying the DCOP Values......................................................................... 8-93 Hiding the DCOP Values ............................................................................... 8-94 Displaying Small Signal DCOP Parameters .................................................. 8-94 Reporting DCOP Values for a Selected Object ............................................. 8-96 Using Estimated Pre-layout Parasitic Extractions.......................................... 8-96 Using Post-layout Parasitic Extractions ....................................................... 8-103 Setting up the Netlist.................................................................................... 8-115 Understanding Analog/Digital Converters................................................... 8-119 Defining Default Analog/Digital Converters for Auto-Insertion................. 8-119 Editing Default Analog/Digital Converter Parameters ................................ 8-122 Deleting Default Analog/Digital Converters ............................................... 8-123 Inserting Analog/Digital Converters on Instances ....................................... 8-123 Inserting Analog/Digital Converters on Nets............................................... 8-126 Inserting Analog/Digital Converters on Pins ............................................... 8-129 Deleting Analog/Digital Converters ............................................................ 8-131 Understanding Analog/Digital Converter Properties ................................... 8-131 Associating an SDF File with an Instance ................................................... 8-132 Displaying SDF File Setups ......................................................................... 8-133 Deleting SDF File Setups............................................................................. 8-134

Design Architect-IC Users Manual, v8.9_10

xiii

Table of Contents

Table of Contents (cont.)


Changing SDF File Setups ........................................................................... 8-135 Deleting Unused References\Invalid Backannotations ................................ 8-136 Checking the Design Before Simulation...................................................... 8-137 Setting up the Design Check ........................................................................ 8-138 Generating a Netlist...................................................................................... 8-139 Running the Simulation................................................................................ 8-140 Extracting Waveform Measurements........................................................... 8-141 Exiting Simulation Mode ............................................................................. 8-144 Viewing Waveforms ....................................................................................... 8-145 About Xelga ................................................................................................. 8-145 Invoking Xelga............................................................................................. 8-146 Crossprobing Schematics with Xelga .......................................................... 8-146 Closing Xelga............................................................................................... 8-149 About Design Architect-IC View (DA-IC View) ........................................ 8-149 Invoking DA-IC View.................................................................................. 8-150 Crossprobing Schematics with DA-IC View ............................................... 8-150 Closing DA-IC View.................................................................................... 8-152 About EZwave ............................................................................................. 8-153 Invoking EZwave ......................................................................................... 8-153 Crossprobing Schematics with EZwave....................................................... 8-155 Closing EZwave ........................................................................................... 8-158 Chapter 9 Managing Designs ............................................................................................... 9-1 Design Management Overview .......................................................................... 9-2 Component Window ........................................................................................ 9-2 Component Hierarchy Window ....................................................................... 9-5 Viewing Design Hierarchy............................................................................... 9-5 Renaming a Component................................................................................... 9-7 Changing Component References.................................................................... 9-7 Releasing Designs ............................................................................................ 9-8 Version Operations........................................................................................... 9-9 Design Verification............................................................................................. 9-9 Reference and Object Checking....................................................................... 9-9 Configuration Build ....................................................................................... 9-10

xiv

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Application Invocation................................................................................... 9-11 Updating Parts on all Schematics in a Design .................................................. 9-12 Reporting on Objects ........................................................................................ 9-13 Reporting on Component Interfaces .............................................................. 9-13 Reporting on Schematic and Symbol Objects................................................ 9-15 Reporting on Object Status ............................................................................ 9-16 Chapter 10 Troubleshooting ................................................................................................. 10-1 No Response from DA-IC View....................................................................... 10-1 Cannot Invoke ADVance MS, Eldo, DA-IC View, or EldoNet .................................................................................. 10-1 Chapter 11 Editing in Design Context................................................................................. 11-1 In Simulation Mode .......................................................................................... 11-1 Properties in the Context of a Design ............................................................... 11-2 Setting New Annotation Visibility................................................................. 11-2 Adding Properties........................................................................................... 11-3 Viewing Annotations vs. Evaluations ............................................................ 11-4 Merging Backannotations to Schematic ........................................................... 11-5 Viewing Backannotations ................................................................................. 11-5 Evaluating Properties...................................................................................... 11-10 Expressions in Backannotation Objects.......................................................... 11-13 Applying Edits to the In-Memory Design................................................... 11-16 When Objects are Deleted .............................................................................. 11-16 Opening Non-Existent Schematics and Components ..................................... 11-17 Opening/Creating a Design Configuration................................................... 11-17 Creating Backannotations ............................................................................ 11-20 Editing Backannotations .............................................................................. 11-20 Viewing Evaluated Properties...................................................................... 11-21 Merging Backannotations ............................................................................ 11-22 Locking Schematic Sheet for Edits .............................................................. 11-23 Opening a Non-Existent Schematic in Design Context ............................... 11-23

Design Architect-IC Users Manual, v8.9_10

xv

Table of Contents

Table of Contents (cont.)


Opening a Non-Existent Component in Design Context ............................. 11-23 Chapter 12 Function Block Concepts .................................................................................. 12-1 Function Block Objects.................................................................................. 12-1 Function Block Development States.............................................................. 12-2 Terminology................................................................................................... 12-3 Understanding Function Block Properties ..................................................... 12-4 Unmade Function Blocks ................................................................................. 12-4 FB Definition ................................................................................................. 12-4 FB Instance..................................................................................................... 12-6 FB Pins ........................................................................................................... 12-8 Made Function Blocks ...................................................................................... 12-9 The Made FB Definition and Made FB Instance Creation Operation ......... 12-10 Usage Paradigm .............................................................................................. 12-11 Models.......................................................................................................... 12-12 Nested Function Blocks ............................................................................... 12-15 FB Definition and FB Instance Net Constructs............................................ 12-17 External Nets ................................................................................................ 12-19 Passthru Nets................................................................................................ 12-20 Flythru Nets.................................................................................................. 12-21 Chapter 13 Using Hotkeys .................................................................................................... 13-1 Hotkey Types ................................................................................................. 13-1 Hotkey User Interface Overview ................................................................... 13-2 Using DA-IC Predefined Hotkeys .................................................................... 13-4 Loading DA-IC Editing Hotkeys ................................................................... 13-4 Using User-Defined Hotkeys............................................................................ 13-6 Creating User-Defined Hotkeys ..................................................................... 13-6 Loading User-Defined Hotkeys ................................................................... 13-10 Using Custom Hotkeys ................................................................................... 13-10 Customizing Hotkeys ................................................................................... 13-11 Loading Custom Hotkeys............................................................................. 13-14

xvi

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Reporting Hotkey Status................................................................................. 13-15 Enabling and Disabling Hotkeys .................................................................... 13-16 Enabling Hotkeys ......................................................................................... 13-16 Disabling Hotkeys........................................................................................ 13-18 Chapter 14 Creating DA-IC Userware ................................................................................ 14-1 Customization Guidelines................................................................................. 14-2 Design Architect-IC Scopes ............................................................................. 14-3 Scope Specific Userware Directories............................................................. 14-4 Scope Search Order........................................................................................ 14-6 Simple Customizing........................................................................................ 14-11 DA-IC Startup Files ..................................................................................... 14-11 Source Location ........................................................................................... 14-15 How to Load Userware ................................................................................ 14-16 AMPLE_PATH Environment Variable ....................................................... 14-16 Scope Specific Dofiles ................................................................................. 14-18 DES_ARCH_PKGS_TO_LOAD Environment Variable............................ 14-19 Personal Startup Example ............................................................................ 14-19 Userware Examples...................................................................................... 14-20 Advanced Customizing................................................................................... 14-23 DES_ARCH_AUX_PKG_LIST Environment Variable ............................. 14-23 DES_ARCH_AUX_PKGS_LIST Example................................................. 14-25 Environment Variable Summary.................................................................. 14-26 Schematic Menus ......................................................................................... 14-28 Design Architect-IC Menu Customization Functions.................................. 14-35 Userware Examples...................................................................................... 14-43 Recommendations........................................................................................... 14-47 Chapter 15 Hotkey Function Dictionary ............................................................................. 15-1 Function Summary............................................................................................ 15-1 Function Description Legend ........................................................................... 15-2 Function Title ................................................................................................. 15-2

Design Architect-IC Users Manual, v8.9_10

xvii

Table of Contents

Table of Contents (cont.)


Usage.............................................................................................................. 15-2 Description ..................................................................................................... 15-5 Arguments ...................................................................................................... 15-5 Examples ........................................................................................................ 15-5 Function Descriptions ....................................................................................... 15-5 $copy_edit_hotkey_settings() ........................................................................ 15-6 $define_hotkey() ............................................................................................ 15-7 $get_hotkey_mode() ...................................................................................... 15-9 $get_hotkey_settings() ................................................................................. 15-10 $load_hotkey_settings() ............................................................................... 15-11 $report_hotkey_settings() ............................................................................ 15-13 $set_hotkey_mode() ..................................................................................... 15-15 Appendix A Predened Hotkeys..............................................................................................A-1 Appendix B Hotkey Commands ..............................................................................................B-1 Appendix C Design Checks ......................................................................................................C-1 Symbol Checks ...................................................................................................C-1 Special Symbols* .............................................................................................C-2 Pin* ..................................................................................................................C-2 Body* ...............................................................................................................C-3 Interface............................................................................................................C-3 Schematic Sheet Checks .....................................................................................C-3 Instance* ..........................................................................................................C-4 Special Instances* ............................................................................................C-4 Net* ..................................................................................................................C-6 Frame*..............................................................................................................C-7 Symbol Pins* ...................................................................................................C-8 Parameter..........................................................................................................C-8 Expressions ......................................................................................................C-8 Owner ...............................................................................................................C-8

xviii

Design Architect-IC Users Manual, v8.9_10

Table of Contents

Table of Contents (cont.)


Overlap .............................................................................................................C-9 Notdots .............................................................................................................C-9 Closedots ..........................................................................................................C-9 Dangles...........................................................................................................C-10 Init Props ........................................................................................................C-10 Annotations ....................................................................................................C-11 Bus Shorts ......................................................................................................C-11 Function Blocks .............................................................................................C-11 Analog/Digital Converters .............................................................................C-12 Schematic Checks .............................................................................................C-13 Schematic Interface ........................................................................................C-13 Schematic Special ..........................................................................................C-14 Schematic Instance.........................................................................................C-14 Schematic Bus Shorts.....................................................................................C-14 Schematic Net I/O ..........................................................................................C-14 Appendix D Migrating Userware to DA-IC ...........................................................................D-1 Scopes .................................................................................................................D-1 User Interface......................................................................................................D-2 Menu Changes..................................................................................................D-3 Softkey Changes...............................................................................................D-5 Default Behavior Changes ...............................................................................D-6 User Functions ....................................................................................................D-6 Files.....................................................................................................................D-7 Executables ......................................................................................................D-7 Header Files ...................................................................................................D-10 Libraries ............................................................................................................D-11

Design Architect-IC Users Manual, v8.9_10

xix

Table of Contents

Table of Contents (cont.)


Appendix E Special Instances.................................................................................................. E-1 Index Trademark Information End-User License Agreement

xx

Design Architect-IC Users Manual, v8.9_10

Table of Contents

List of Figures
Figure 1-1. DA-IC Design Flow ........................................................................ 1-6 Figure 2-1. Design Manager-IC Session Window............................................. 2-3 Figure 2-2. Session Setup Dialog Box............................................................... 2-6 Figure 2-3. Setup Display Dialog Box .............................................................. 2-7 Figure 2-4. Setup Selection Dialog Box .......................................................... 2-11 Figure 2-5. The Setup Property Display dialog box ........................................ 2-13 Figure 2-6. Selecting a Single Object .............................................................. 2-16 Figure 2-7. Selecting Multiple Objects............................................................ 2-17 Figure 2-8. Unselecting Multiple Objects ....................................................... 2-21 Figure 2-9. Result of Copy Multiple................................................................ 2-25 Figure 2-10. Result of Copy to Array .............................................................. 2-26 Figure 2-11. Schematic Window Strokes ........................................................ 2-34 Figure 3-1. Schematic Sheet .............................................................................. 3-5 Figure 3-2. Open (new) Sheet Options Dialog Box .......................................... 3-7 Figure 3-3. Setup Grid Dialog Box.................................................................. 3-10 Figure 3-4. Setup Objects Dialog Box............................................................. 3-12 Figure 3-5. Setup Objects Ripper Dialog Box................................................. 3-14 Figure 3-6. Setup Objects Design Context Dialog Box................................... 3-16 Figure 3-7. Setup Objects Comment Dialog Box ............................................ 3-18 Figure 3-8. A Bus Connected to a Four-Wide Output Port ............................. 3-31 Figure 3-9. Add Multiple Properties Dialog Box ............................................ 3-34 Figure 3-10. A Multi-Dimensional Bus........................................................... 3-35 Figure 3-11. A 8x1 Bus Ripper from $MGC_IC_GENERIC_LIB/rip ........... 3-37 Figure 3-12. Bus Ripper Symbol ..................................................................... 3-39 Figure 3-13. Installing a Bus Ripper................................................................ 3-40 Figure 3-14. A Bus with a Connected Sub-Bus............................................... 3-41 Figure 3-15. A Bus Ripper Extracts a Range of Lines .................................... 3-42 Figure 3-16. Basic Layout ............................................................................... 3-43 Figure 3-17. The Sequence Text dialog box.................................................... 3-44 Figure 3-18. Fully Connected Bus Ripper ....................................................... 3-45 Figure 3-19. Choose Bundle Member Dialog Box .......................................... 3-53 Figure 3-20. Generate Symbol Dialog Box ..................................................... 3-55 Figure 3-21. Open Schematic Options Dialog Box ......................................... 3-57 Figure 3-22. Generate Symbol Dialog Box ..................................................... 3-61 Figure 3-23. FOR Frame Example .................................................................. 3-70

xxi

Design Architect-IC Users Manual, v8.9_10

Table of Contents

List of Figures (cont.)


Figure 3-24. Repeating Instance Example....................................................... 3-73 Figure 3-25. Check Schematic Log ................................................................. 3-78 Figure 3-26. Default Sheet Check Settings Dialog Box .................................. 3-79 Figure 3-27. Save Sheet As Dialog Box .......................................................... 3-81 Figure 3-28. Schematic Sheet Navigation Buttons.......................................... 3-83 Figure 3-29. Display Specific Sheet Dialog Box............................................. 3-84 Figure 3-30. New Sheet Option ....................................................................... 3-85 Figure 3-31. Save Multiple Sheets Dialog Box ............................................... 3-86 Figure 3-32. Export SPICE Netlist Dialog Box............................................... 3-89 Figure 3-33. Export SPICE Options Dialog Box............................................. 3-91 Figure 3-34. Export Verilog Netlist Dialog Box ............................................. 3-92 Figure 3-35. Export Verilog Options Dialog Box ........................................... 3-94 Figure 4-1. Setup Symbol Body Dialog Box..................................................... 4-5 Figure 4-2. Pintype Property Text Location .................................................... 4-15 Figure 4-3. Copying Pins and Sequencing Text .............................................. 4-17 Figure 4-4. IXO and OUT Pins on PLD Symbol............................................. 4-19 Figure 4-5. $MGC_PLDLIB/16hd8 Symbol ................................................... 4-21 Figure 4-6. Check Symbol Log ....................................................................... 4-24 Figure 5-1. Create Dialog Box........................................................................... 5-4 Figure 5-2. Model Registrar Dialog Box ........................................................... 5-5 Figure 5-3. Model Registrar Dialog Box ........................................................... 5-6 Figure 6-1. Setup Function Blocks Dialog Box................................................. 6-4 Figure 6-2. Set Color Dialog Box...................................................................... 6-5 Figure 6-3. Add Popup Menu with Function Block Options............................. 6-7 Figure 6-4. Example Schematic......................................................................... 6-9 Figure 6-5. Function Block Options in the Add Popup Menu......................... 6-10 Figure 6-6. FB Definition Example ................................................................. 6-13 Figure 6-7. Function Block Popup Menu ........................................................ 6-15 Figure 6-8. Create Function Block Definition to Instance Prompt.................. 6-15 Figure 6-9. Positioning a FB Instance ............................................................. 6-16 Figure 6-10. FB Instance Created from a FB Definition ................................. 6-17 Figure 6-11. Example FB Definition ............................................................... 6-18 Figure 6-12. Add Popup Menu with Function Block Menu Options .............. 6-19 Figure 6-13. FB Instance Creation Example ................................................... 6-21 Figure 6-14. FB Instance Example .................................................................. 6-22

xxii

Design Architect-IC Users Manual, v8.9_10

Table of Contents

List of Figures (cont.)


Figure 6-15. Function Block Pins in the Add Popup Menu ............................ 6-23 Figure 6-16. Add Function Block Pin Prompt Bar .......................................... 6-23 Figure 6-17. FB Pin Placement........................................................................ 6-24 Figure 6-18. FB Definition with FB Pins ........................................................ 6-25 Figure 6-19. Example Circuit .......................................................................... 6-26 Figure 6-20. Example of an Enclosed Circuit within an FB Definition .......... 6-27 Figure 6-21. Completed FB Definition Example ............................................ 6-28 Figure 6-22. Setup Select Filter Dialog Box ................................................... 6-32 Figure 6-23. Resize in the Function Block Popup Menu................................. 6-34 Figure 6-24. Stretch Prompt Bar...................................................................... 6-34 Figure 6-25. Stretch Operation ........................................................................ 6-35 Figure 6-26. Setup Color Dialog Box.............................................................. 6-36 Figure 6-27. FB Definition Illustration............................................................ 6-39 Figure 6-28. Made FB Definition Example ..................................................... 6-40 Figure 6-29. Interface Pin Change Notification Box....................................... 6-42 Figure 6-30. Unmake Function Block Menu Patch ......................................... 6-43 Figure 6-31. Select Number of Unmake Levels Dialog Box........................... 6-44 Figure 6-32. The Default Schematic Check Settings Dialog Box ................... 6-46 Figure 7-1. Parameter Evaluation Rules .......................................................... 7-20 Figure 7-2. Property Variable Resolution Example ........................................ 7-24 Figure 7-3. Status Line Showing Annotations ON .......................................... 7-26 Figure 7-4. Typical FOR Frame ...................................................................... 7-35 Figure 7-5. Setup Objects Property Text Dialog Box...................................... 7-37 Figure 7-6. Change Color dialog box .............................................................. 7-49 Figure 7-7. Setup Property Display dialog box ............................................... 7-50 Figure 7-8. Modify Editable Properties dialog box ......................................... 7-51 Figure 8-1. Add Source Dialog Box .................................................................. 8-8 Figure 8-2. Setup Monte Carlo Analysis Dialog Box...................................... 8-40 Figure 8-3. Model Selector Tree Display ........................................................ 8-77 Figure 8-4. Generate Symbol Dialog Box ..................................................... 8-100 Figure 9-1. Component Window ....................................................................... 9-4 Figure 9-2. Hierarchy Window.......................................................................... 9-6 Figure 9-3. Renaming a Component Containing a Symbol............................... 9-7 Figure 9-4. Report Interfaces Example............................................................ 9-13 Figure 9-5. Component Window Transcript.................................................... 9-14

Design Architect-IC Users Manual, v8.9_10

xxiii

Table of Contents

List of Figures (cont.)


Figure 9-6. Report Object Example................................................................. 9-16 Figure 11-1. my_design Design ................................................................... 11-6 Figure 11-2. default Backannotation Window ............................................. 11-6 Figure 11-3. default: I$1 Window................................................................ 11-7 Figure 11-4. default: I$1 Window with Backannotations ............................ 11-8 Figure 11-5. default: I$2 Window................................................................ 11-9 Figure 11-6. default: I$2 Window with Backannotations ............................ 11-9 Figure 11-7. my_design Design Configuration with COMP Property ...... 11-11 Figure 11-8. default Backannotation Window with I$1/I$4 ...................... 11-11 Figure 11-9. default with Expression ......................................................... 11-12 Figure 11-10. default with Expression Evaluated ...................................... 11-12 Figure 11-11. default with Backannotations Enabled ................................ 11-13 Figure 11-12. default Backannotation Window with Expression .............. 11-14 Figure 11-13. default: I$1 Window............................................................ 11-14 Figure 11-14. default with Backannotation Expression ............................. 11-15 Figure 11-15. default with Backannotation Expression Evaluated ............ 11-15 Figure 11-16. & In the Schematic Window ............................................... 11-16 Figure 11-17. Create Design Configuration Dialog Box............................... 11-18 Figure 11-18. Open Design Configuration Dialog Box................................. 11-19 Figure 12-1. FB Definition and FB Instance Usage Model............................. 12-2 Figure 12-2. FB Definition .............................................................................. 12-5 Figure 12-3. FB Instance ................................................................................. 12-6 Figure 12-4. FB Definition Pin ........................................................................ 12-8 Figure 12-5. FB Inst Pin .................................................................................. 12-9 Figure 12-6. Made FB Definition .................................................................. 12-10 Figure 12-7. Unconnected FB Definition Usage Model................................ 12-12 Figure 12-8. The Function Block Popup Menu ............................................. 12-13 Figure 12-9. Connected FB Definition Usage Model.................................... 12-14 Figure 12-10. Nested Function Blocks .......................................................... 12-15 Figure 12-11. Unmake Function Block Menu Option................................... 12-16 Figure 12-12. FB Definitions Internal Net Example .................................... 12-18 Figure 12-13. External Net Example ............................................................. 12-19 Figure 12-14. Passthru Net Examples ........................................................... 12-20 Figure 12-15. Flythru Net Example............................................................... 12-21 Figure 13-1. Hotkeys Cascading Menu (Schematic Scope) ............................ 13-2

xxiv

Design Architect-IC Users Manual, v8.9_10

Table of Contents

List of Figures (cont.)


Figure 13-2. Hotkey Cascading Menu............................................................. 13-3 Figure 13-3. Loading Hotkeys (Schematic Scope).......................................... 13-4 Figure 13-4. Load Hotkey Settings dialog box................................................ 13-5 Figure 13-5. Design Architect-IC Status Bar with Hotkeys Enabled (Schematic Scope) ............................................................................................................... 13-6 Figure 13-6. Defining Hotkeys (Schematic Scope) ......................................... 13-7 Figure 13-7. Define Hotkey Dialog Box ......................................................... 13-7 Figure 13-8. User-Defined Hotkey Comment Dialog Box.............................. 13-8 Figure 13-9. Define more hotkeys? dialog box ............................................... 13-9 Figure 13-10. Hotkey Customize Menu Option (Schematic Scope) ............. 13-11 Figure 13-11. Customize Hotkey Settings dialog box................................... 13-11 Figure 13-12. Close Window Pulldown Menu .............................................. 13-13 Figure 13-13. Save Changes dialog box ........................................................ 13-13 Figure 13-14. The Load Hotkey Settings dialog box .................................... 13-14 Figure 13-15. Specify Custom Hotkey File dialog box ................................. 13-15 Figure 13-16. Report Hotkey Settings Dialog Box ....................................... 13-16 Figure 13-17. Load Hotkey Settings Dialog Box .......................................... 13-18 Figure 13-18. Disabling Hotkeys via the Miscellaneous Pulldown (Schematic Scope) ............................................................................................................. 13-19 Figure N-1. Sample Menu Item ..................................................................... 14-22 Figure 15-1. Function Usage Line Legend ...................................................... 15-2 Figure 15-2. Example of Function Command Usage ...................................... 15-3 Figure 15-3. Menu Path Example .................................................................... 15-4 Figure 15-4. $define_hotkey() Dialog Box ..................................................... 15-7 Figure 15-5. $load_hotkey_settings() Dialog Box ........................................ 15-11 Figure 15-6. $report_hotkey_settings() Dialog Box...................................... 15-13 Figure 15-7. $set_hotkey_mode() Prompt Bar .............................................. 15-15 Figure 15-8. Implicit Ripper Examples ............................................................. E-4

Design Architect-IC Users Manual, v8.9_10

xxv

Table of Contents

List of Tables
Table 1-1. Library Environment Variables ........................................................ 1-4 Table 2-1. Schematic Objects to Symbol Objects ........................................... 2-27 Table 2-2. Symbol Objects to Schematic Objects ........................................... 2-28 Table 3-1. Available Bus Rippers in $MGC_IC_GENERIC_LIB/rip .......... 3-37 Table 3-2. Pin and Bus Line Connections ..................................................... 3-46 Table 5-1. Example Registration Argument Values ........................................ 5-31 Table 5-2. Default Values for Optional Arguments ........................................ 5-32 Table 6-1. Function Block-Specific Properties ................................................. 6-6 Table 7-1. Property Structure ............................................................................ 7-3 Table 7-2. Property Update Examples ........................................................... 7-17 Table 7-3. DA-IC Objects Associated with Specific SLD Properties ............. 7-26 Table 7-4. Structured Logic Design Properties ............................................. 7-26 Table 8-1. Supported Simulation Language Types ........................................... 8-5 Table 8-2. Parameters Supported by Type ...................................................... 8-27 Table 8-3. Model Selector Model-Type Icons ................................................. 8-78 Table 8-4. VHDL-AMS Converter Properties ............................................... 8-131 Table 8-5. SPICE Converter Properties ......................................................... 8-132 Table 11-1. Where Properties are Added ........................................................ 11-3 Table 11-2. Property Values Displayed ........................................................... 11-4 Table 12-1. Function Block Terminology ....................................................... 12-3 Table 12-2. Function Block Properties ............................................................ 12-4 Table 14-1. Customization Tasks Categorized by Re-work Level .................. 14-3 Table 14-2. Scopes Searched in each Window ............................................. 14-6 Table 14-3. Environment Variable Summary .............................................. 14-26 Table 15-1. Function Summary ....................................................................... 15-1 Table A-1. DA-IC Hotkey Set ...........................................................................A-1 Table B-1. Hotkey Commands ..........................................................................B-1 Table D-1. Window Name Changes ..................................................................D-2 Table D-2. Session Scope Menu Changes .........................................................D-3 Table D-3. Schematic Scope Menu Changes ....................................................D-3 Table D-4. Symbol Scope Menu Changes .........................................................D-4 Table D-5. Remapped Softkeys .........................................................................D-5 Table D-6. Executable Filename Changes .........................................................D-7 Table D-7. Header Filename Changes .............................................................D-10 Table D-8. New IC Libraries ...........................................................................D-11

Design Architect-IC Users Manual, v8.9_10

xxvi

Table D-9. Library Filename Changes ............................................................D-11

xxvii

Design Architect-IC Users Manual, v8.9_10

Table of Contents

List of Tables (cont.)

xxviii

Design Architect-IC Users Manual, v8.9_10

About This Manual

This manual describes the Design Architect-IC application and provides procedures for creating and simulating analog, RF, and mixed signal designs. This manual is intended to help novice users create, edit, and simulate designs using the menu interface.

Manual Organization
This manual contains the following chapters:

Chapter 1 Introducing DA-IC - Introduces Design Architect-IC and


describes the Design Architect-IC design flow.

Chapter 2 Getting Started - Introduces the Design Architect-IC


environment and provides basic information on the editing tools and setting up the user interface preferences.

Chapter 3 Creating Schematics - Provides step-by-step procedures for


capturing schematic designs in DA-IC.

Chapter 4 Creating Symbols - Provides step-by-step procedures for


creating symbols in DA-IC.

Chapter 5 Managing/Registering Models - Introduces the Model


Registrar and provides detailed procedures for creating and managing model registrations in DA-IC.

Chapter 6 Using Function Blocks - Provides procedures to create,


manipulate, and convert Function Blocks.

Chapter 7 Using Properties - Describes how properties are assigned and


used by DA-IC and downstream tools.

Design Architect-IC Users Manual, v8.9_10

xxix

Manual Organization

About This Manual

Chapter 8 Running Design Simulation - Provides an overview of the


simulator and waveform viewer functions and provides procedures for setting up and performing a simulation from DA-IC and viewing the results with DA-IC View.

Chapter 9 Managing Designs - Provides information for changing and


deleting components, updating component references, releasing designs and managing designs in DA-IC.

Chapter 10 Troubleshooting - Provides information for solving problems


when the application does not perform as expected.

Chapter 11 Editing in Design Context - Defines design viewpoints,


backannotation objects, and design configurations and how to manipulate data in each.

Chapter 12 Function Block Concepts - Outlines Function Block


methodology and implementation.

Chapter 13 Using Hotkeys - Outlines the hotkey methodology and


provides procedures for customization.

Chapter 14 Creating DA-IC Userware - Provides information for creating


custom userware for Design Architect-IC.

Chapter 15 Hotkey Function Dictionary - Describes hotkey-specific


functions and available options.

Appendix A Predefined Hotkeys - Lists the predefined hotkeys available


in DA-IC.

Appendix B Hotkey Commands - Lists the commands available from the


Define Hotkey dialog box.

Appendix C Design Checks - Lists all the design checks available for
schematic, symbol, and interface checking.

xxx

Design Architect-IC Users Manual, v8.9_10

About This Manual

Other Resources

Appendix D Migrating Userware to DA-IC - Describes the changes


between Design Architect and DA-IC as it pertains to migrating custom userware from Design Architect to DA-IC.

Appendix E, Special Instances - Describes the special instances available


in the gen_lib provided with DA-IC.

Other Resources
Task To learn about online documentation To learn about searching manuals To find related IC Flow manuals To learn documentation conventions Link Online Documentationa Searching Manualsa Related Publicationsa Documentation Conventionsa

To learn about the Support Pulldown Menu Using the Support Menub
a. Refers to sections in the Managing Mentor Graphics IC Flow Software manual b. Refers to sections in the IC Flow Common User Interface manual

Design Architect-IC Users Manual, v8.9_10

xxxi

Other Resources

About This Manual

xxxii

Design Architect-IC Users Manual, v8.9_10

Chapter 1 Introducing DA-IC

This chapter introduces the Design Architect-IC (DA-IC) features and design flow. The following topics are available:
DA-IC Overview DA-IC Features IC-Specific Component Libraries DA-IC Design Flow

DA-IC Overview
Design Architect-IC (DA-IC) is a full schematic capture application with a multilevel environment designed to optimize the creation of integrated circuits. DA-IC is used to create and simulate analog, RF, and mixed signal schematic designs. DA-IC provides an open architecture which allows you to customize the application to fit your specific needs. For more information on customizing DAIC, see the IC Flow Common User Interface Manual and Design Architect-IC Reference Manual. Depending on the application, one or more of the following separately licensed components are required for the integrated simulation functions:

Eldo or HSPICE
Analog simulator applications. One is required for analog simulations.

Eldo RF
Simulator application required for RF simulations.

Design Architect-IC Users Manual, v8.9_10

1-1

DA-IC Features

Introducing DA-IC

Xelga Viewer
Waveform viewer used for analog, digital, RF, and mixed signal waveforms.

ADVance-MS
Simulation application required for mixed-signal simulations.

DA-IC Features
DA-IC provides the following features:

Allows you to capture and verify working schematic designs. For more
information, see Chapter 3 Creating Schematics.

Provides predefined hotkeys and supports user-defined hotkeys. For


more information, see Chapter 13 Using Hotkeys.

Supports stroke and function key shortcuts. For more information, see
the IC Flow Common User Interface Manual.

Allows you to specify hierarchical designs using top-down and bottomup methods. For more information, see Chapter 12 Function Block Concepts and Chapter 3 Creating Schematics.

Provides predefined component libraries. For more information, see ICSpecific Component Libraries in this chapter.

Provides an integrated SPICE netlister. For more information on


netlisting, see the EldoNet Users and Reference Manual.

Provides an integrated simulator and waveform viewer. For more


information, see Chapter 8 Running Design Simulation.

Supports analog, RF, and mixed signal designs. Allows editing in the context of a design viewpoint allowing different
design processes to occur simultaneously. For more information, see Chapter 11 Editing in Design Context.

1-2

Design Architect-IC Users Manual, v8.9_10

Introducing DA-IC

DA-IC Features

Supports custom userware developed with AMPLE. For more


information, see 14 Creating DA-IC Userware.

Supports an interface to Agilent Design System (ADS) schematics. For


more information, see

Design Architect-IC Users Manual, v8.9_10

1-3

IC-Specific Component Libraries

Introducing DA-IC

IC-Specific Component Libraries


DA-IC provides four IC-specific component libraries that contain primitive functional models (symbols). Libraries are accessed via the palette menu in the Schematic Editor. You can add these components to your design or put them together to form schematics and simulation models. The following component libraries are provided:

Device Lib - Provides symbols that represent primitive analog devices used
in IC design, such as resistors and capacitors.

Generic Lib - Provides symbols that represent generic components such as


ports and off-page connectors. Also provides an option for adding custom borders to your schematics.

Sources Lib - Provides symbols that represent different voltage and current
sources.

MCG IC Commlib - Provides VHDL-AMS templates for simulating


mixed signal circuits with ADVance MS. For more information, see ADVance CommLib Library manual. You must use a location map variable to access component libraries as listed in the following table. Table 1-1. Library Environment Variables For this library... Device Lib Generic Lib Sources Lib MGC IC Commlib Set this environment variable... MGC_IC_DEVICE_LIB MGC_IC_GENERIC_LIB MGC_IC_SOURCES_LIB MGC_IC_COMMLIB

Ask your system administrator where to find a location map and how to set your environment variables. For more information on location maps, see Design Management with Location Maps in the Design Manager-IC User's Manual.

1-4

Design Architect-IC Users Manual, v8.9_10

Introducing DA-IC

DA-IC Design Flow

DA-IC Design Flow


DA-IC simplifies the design process by integrating schematic capture tools with a netlister, simulator, and waveform viewer. You can capture a hierarchical design, check it for errors, netlist and simulate it, view the results, and edit the design without leaving DA-IC. Figure 1-1 illustrates the design process in DA-IC.

Design Architect-IC Users Manual, v8.9_10

1-5

DA-IC Design Flow

Introducing DA-IC

Lib Components

Function Blocks Model Registration

Symbols

1. Capture/edit schematic design. Design Properties 2. Check design for errors.

Simulation Stimulus

3. Create design configuration.

8. Edit design and simulation setups.

4. Set up the simulation.

7. View simulation results.

5. Create design netlist.

6. Run simulation.

Figure 1-1. DA-IC Design Flow

1-6

Design Architect-IC Users Manual, v8.9_10

Introducing DA-IC

DA-IC Design Flow

The design flow for developing a typical schematic design is described in the following steps: 1. Capture/edit schematic design. Use the Schematic editor and Symbol editor to create and edit your design including symbols, Function Blocks, and property annotations. Use Mentor Graphics library components or create your own unique component models. For more information, see:
o Chapter 12 Function Block Concepts o Chapter 3 Creating Schematics o Chapter 4 Creating Symbols o Chapter 7 Using Properties

2. Check design for errors. Use DA-IC error checking to verify the schematic is a valid working circuit that can be used by other design processes. For more information, see Checking a Schematic for Errors in Chapter 3. 3. Create design configuration. The design configuration consists of a design viewpoint and its backannotation object. The design viewpoint is a versioned representation of the schematic that contains configuration rules to define how the simulator or other downstream application interprets the schematic. For more information, see Chapter 11 Editing in Design Context. 4. Set up the simulation. From the palette menu in simulation mode, you can specify many setup conditions including the stimulus to use and simulator commands to run. The setups you specify are translated into commands for the simulator and placed in an ASCII simulator command file. The command file is used by

Design Architect-IC Users Manual, v8.9_10

1-7

DA-IC Design Flow

Introducing DA-IC

the simulator. You can modify the setup as needed. For more information, see Chapter 8 Running Design Simulation. 5. Create design netlist. The netlist is an ASCII text representation of your schematic design required by the simulator. For more information on netlisting, see the EldoNet Users and Reference Manual. 6. Run simulation. The simulator uses the command file and netlist to simulate the design and writes the simulation results to waveform databases. A waveform database is a binary format of the waveforms that represent a signal's activity. For more information, see Chapter 8 Running Design Simulation. 7. View simulation results. Use Xelga or DA-IC View to graphically display the results of the simulation. For more information, see Chapter 8 Running Design Simulation. 8. Edit design and simulation setups. During the simulation session, you can modify design property values. For example, you can change the temperature, voltage, and analysis parameters to immediately affect the results of the simulation. For more information, see Chapter 8 Running Design Simulation. Some edits, such as property changes that are not related to other components on the schematic (W, L, RESISTANCE) are stored in a backannotation object until you merge them into the source schematic with the Merge option on the simulation palette. For more information, see Chapter 11 Editing in Design Context. 9. Repeat steps 5 through 8 until the design produces the desired simulation results.

1-8

Design Architect-IC Users Manual, v8.9_10

Introducing DA-IC

DA-IC Design Flow

10. Netlist your design for downstream applications such as IC Station. For more information on IC Station, see IC Station Users Manual.

Design Architect-IC Users Manual, v8.9_10

1-9

DA-IC Design Flow

Introducing DA-IC

1-10

Design Architect-IC Users Manual, v8.9_10

Chapter 2 Getting Started

This chapter introduces the Design Architect-IC (DA-IC) environment and provides basic information on the editing tools and setting up the user interface preferences. The following topics are available:
DA-IC Environment Invoking DA-IC from Design Manager-IC Invoking DA-IC From an Operating Shell Exiting DA-IC Getting Online Help Setting Up the DA-IC Session Setting Up Display Preferences Setting the Default Text Editor Setting up a Language Model Editor Setting the Mouse Selection Behavior Setting the Property Display Browsing for Files Selecting and Unselecting Objects Manipulating Graphical Objects Understanding Object Handles in DA-IC Changing the Design View Printing in DA-IC Using Panels Setting up an IFF Interface to ADS Schematics

Design Architect-IC Users Manual, v8.9_10

2-1

DA-IC Environment

Getting Started

DA-IC Environment
DA-IC provides three editors as follows:

Schematic Editor
Allows you to edit and create schematics and function blocks. Also provides access to simulation mode and design context mode. The Schematic Editor is automatically invoked when you open/create a schematic from the session_palette menu.

Symbol Editor
Allows you to edit and create user-defined symbols. The Symbol Editor is automatically invoked when you open/create a symbol from the session_palette menu.

VHDL Editor
Allows you to edit and create VHDL models. The VHDL Editor is automatically invoked when you open/create an ASCII language file from the session_palette menu. Each editor operates in its own window within the Session window. Multiple windows for each editor can be open at the same time.

Invoking DA-IC from Design Manager-IC


Use the following steps to invoke DA-IC from Design Manager-IC: 1. Enter the following command at a shell prompt:
$ dmgr_ic

Design Manager-IC opens and displays the Tools window.

2-2

Design Architect-IC Users Manual, v8.9_10

Getting Started

Invoking DA-IC From an Operating Shell

2. Click the DA-IC icon in the Tools window as shown in Figure 5-1.

DA-IC icon

Figure 2-1. Design Manager-IC Session Window For more information , see the Design Manager-IC User's Manual.

Invoking DA-IC From an Operating Shell


To invoke the DA-IC from an operating system shell, enter the following command at a shell prompt:
$da_ic

Design Architect-IC Users Manual, v8.9_10

2-3

Exiting DA-IC

Getting Started

No arguments are needed for invocation. You can specify a sheet or symbol to automatically open by entering a pathname with the command. If you provide a relative pathname that does not begin with the dollar sign ($) character, it is converted to an absolute pathname based on the value of the environment variable MGC_WD. You must ensure that the value of MGC_WD is set to the correct value for your current working directory. If it is not set properly, an incorrect pathname for the reference may be stored.

Note

For a complete list of switches available for the da_ic shell command, see Shell Command Dictionary in the Design Architect-IC Reference Manual.

Exiting DA-IC
Select MGC >Exit from the DA-IC Session pulldown menu to exit DA-IC. If other windows are open in the DA-IC session area with unsaved edits, you are prompted to save or discard the edits for each window. The DA-IC Session window closes when all other windows are closed.

Getting Online Help


You can access online help using any of the following methods:

Select the Help pulldown menu from any window. Select the Help button inside dialog boxes to get Quick Help specific to the
function you are performing.

Select the Ref Help button within Quick Help windows to display detailed
information from the Design Architect-IC Reference Manual for the function.

Enter an asterisk (*) in a prompt bar, and then press Ctrl-? or Ctrl-Shift-? to
list all the commands available for the active window. For more

2-4

Design Architect-IC Users Manual, v8.9_10

Getting Started

Setting Up the DA-IC Session

information on using prompt bars, see the IC Flow Common User Interface Manual.

Setting Up the DA-IC Session


This section provides procedures for setting the default user preferences for the session window. 1. Click Session on the session_palette menu. The Session Setup dialog box displays. See Figure 2-2 for the DA-IC default settings. 2. Click the button to enable the following settings:

Show Menu Bar Show Session Title Show Message Area Show Status Line Show Softkey Area Show Symbol Window Show Context Window Show Palette Show Palette Scrollbars

3. Adjust the mouse Double Click Speed from slow to fast as needed. 4. Select the Window Layout you desire. Options available are Stacking, Up-Down Tiling, Quadrant Tiling, Left-to-Right Tiling, or Ask the User for Window Position.

Design Architect-IC Users Manual, v8.9_10

2-5

Setting Up the DA-IC Session

Getting Started

Figure 2-2. Session Setup Dialog Box 5. Click OK.

2-6

Design Architect-IC Users Manual, v8.9_10

Getting Started

Setting Up Display Preferences

Setting Up Display Preferences


From the Setup Display dialog box, you can change the colors of the display components and the cursor type. Click Display on the session_palette menu. The Setup Display dialog box displays as shown in Figure 2-3.

Setup Display Set Object Color:


Aquamarine Black Blue BlueViolet Brown CadetBlue

Comments Frames Instances Pin Nets Dots Symbol Bodies Background Color Config Black White

Selection Annotation Made Fn Block Defs Unmade Fn Block Defs Made Fn Block Insts Unmade Fn Block Insts Dynamic Cursor Plus Diamond CrossHair

OK

Reset

Cancel

Help

Figure 2-3. Setup Display Dialog Box

Setting the Color of Design Objects


Set the color of a design object to any one of a number of choices. If you change the color of property to something different than the object that owns the property, then the annotated value of the property, as well as the original value of the property, display in the new color.

Design Architect-IC Users Manual, v8.9_10

2-7

Setting Up Display Preferences

Getting Started

Select colors for design objects as follows: 1. Click Display on the session_palette menu. The Setup Display dialog box displays. 2. Click the desired color in the list box. A preview of the color displays at the bottom of the list box. 3. Click the component(s) to display in that color. 4. Click OK. If you view a schematic sheet in the context of a design configuration, annotated property values display in red by default. You can change the color that annotated property values display in by selecting the Annotation option. Backannotated property values display in the selected color. If you click the No button on the dialog box, the annotation colors return back to their original colors. Use this color change for display purposes only; it is not saved when the sheet is saved.

Setting the Background Color


The background color of a Schematic or Symbol editor window can be either black or white. The default is black. Change the background color as follows: 1. Click Display on the session_palette menu. The Setup Display dialog box displays. 2. Click White under the Background Color Config setting. 3. Click OK. When you use this function to change the background, all design objects in all windows are reset to the new default colors.

2-8

Design Architect-IC Users Manual, v8.9_10

Getting Started

Setting the Default Text Editor

Setting the Dynamic Cursor


Setup the Schematic and Symbol Editor to use a plus sign (the default), a diamond, or a full window crosshair cursor when prompting for a diagram location. The full window crosshair cursor is especially helpful when connecting instance pins with nets during a schematic editing session. To set the cursor shape, activate the DA-IC Session window, click Display on the session_palette menu. In the Dynamic Cursor area of the dialog box, enable Plus, Diamond, or CrossHair as desired, then click OK.

Setting the Default Text Editor


You can set the default editor in DA-IC to any UNIX/LINUX editor present on your system. By default the DA-IC Notepad editor is used. Use the following step to change your default editor: 1. Set the environment variable MGC_SIM_EDITOR to the invoke command for the desired editor. The editor you choose must be capable of opening its own Xterm window, and the invoke command must contain command options to open the window.

Note

For example: If MGC_SIM_EDITOR=vi, DA-IC does not open an Xterm window and allow you to access the Vi editor. If MGC_SIM_EDITOR = xterm -e vi, DA-IC opens Vi in an Xterm window whenever the editor is invoked.

Setting up a Language Model Editor


You can setup a specific text editor to invoke whenever you open language models for editing as follows:

Design Architect-IC Users Manual, v8.9_10

2-9

Setting the Mouse Selection Behavior

Getting Started

1. From the Session window, select Setup > Model Editor. The Setup Model Editor dialog box displays.

2. Specify the desired text editor for opening language models. Options include:
o Text Editor - Selects a text editor invoked with the command specified

in the Editor field. If no invoke command is specified in the Editor field, the default editor is used. For more information on the invoke commands and default editor, see Setting the Default Text Editor in this chapter.
o ADMS Editor - Selects the ADVance MS text editor.

3. Select Save > Setup to save the specified text editor as the default editor for language models. For more information on saving setups to a startup file, see $save_setup() in the Design Architect-IC Reference Manual and Chapter 10, Startup Files in the Ample for IC Flow Users Manual. For information on using the ADVance MS text editor, see Source window in the ADVance MS Users And Reference Manual.

Setting the Mouse Selection Behavior


Use the following steps to setup the mouse selection defaults for DA-IC:

2-10

Design Architect-IC Users Manual, v8.9_10

Getting Started

Setting the Property Display

1. Click the Selection option on the session_palette menu. The Setup Selection dialog box displays as shown in Figure 2-4.
Setup Selection
Selection Model Individual Additive

Out of view Warning

On

Off

Name Display

On

Off

OK

Reset

Cancel

Help

Figure 2-4. Setup Selection Dialog Box 2. Click Individual or Additive to specify the left mouse button selection behavior as follows:

Additive mode, each selection is added to the current selection set. Individual mode, only a single item can be selected. A previously
selected item is unselected when a new item is selected. 3. If necessary enable/disable the Out of View Warning option. When on, a warning displays when a selected object is outside the viewed area. 4. If necessary enable/disable the Name Display option. When on, the name of instances and nets are reported in the message area as they are selected.

Setting the Property Display


If you add a property value to a symbol that is invisible when the symbol is instantiated on a schematic sheet, the property value has a solid DimGray

Design Architect-IC Users Manual, v8.9_10

2-11

Setting the Property Display

Getting Started

rectangle as a background. The following sections provide information to allow you to modify the display of this rectangle.

Setting the Display Background Color


The color and background of this rectangle can be changed from the DA-IC Session pulldown menu Setup > Property Display.... For example, to change the background color of all hidden property text to white, perform the following steps: 1. Activate the DA-IC Session window, then execute the pulldown menu item: Setup > Property Display... 2. In the Hidden Property Display in Symbol Editor portion of the dialog box, move the window slider button down to the bottom, then click White. The Setup Property Display dialog box is displayed in Figure 2-5.

2-12

Design Architect-IC Users Manual, v8.9_10

Getting Started

Setting the Property Display

Setup Property Display


Hidden Property Display in Symbol Editor Display background? Background Color Violet VioletRed Wheat White Yellow YellowGreen No Yes Modify Properties Filter

Background Pattern Solid Stipple

Property Name

Show Property Name Properties: All None Specific Mscellaneous Properties R TC1 TC2 AREA CL CW IC T INSTPARTOL

MOS Properties L W AD AS PD PS NRD NRS RDC RSD RSC M

SUBCKT Properties NL PL NW PW LN LP WN WP

Additonal properties whose name to display:

Property Name

OK

Reset

Cancel

Help

Figure 2-5. The Setup Property Display dialog box 3. Select either Solid or Stipple for the Background pattern then click OK.

Design Architect-IC Users Manual, v8.9_10

2-13

Browsing for Files

Getting Started

Setting the Show Property Name Display


DA-IC allows you to select All, None, or Specify for MOS Properties, SUBCKT Properties, and miscellaneous property names. Figure 2-5 displays the Show property Name Display default settings. Make changes to the default settings as your needs require.

Browsing for Files


Navigate through your directory, and select DA-IC objects with the dialog navigator. Invoke the dialog navigator from dialog boxes within DA-IC that request object names. Enter the requested object names in the requesting dialog box text fields when selected. For example, when you execute the Open Symbol command, the Open Symbol dialog box appears with a button labeled Navigator. Type the full component name in the Component Name text box, or invoke the dialog navigator, and navigate through your directory structure until you find the correct object. After locating the correct object, click the OK button. DA-IC automatically enters the correct object name in the dialog text field. When you first invoke the dialog navigator, it lists the contents of the working directory in alphabetic order with an icon preceding each design object name. To select a name in the list, click the left mouse button on the item. If you have set the navigation filter to exclude certain types of objects, those objects that meet the filter requirements for exclusion are not visible when you explore the contents of a directory.

2-14

Design Architect-IC Users Manual, v8.9_10

Getting Started

Selecting and Unselecting Objects

The buttons to the right of the list are the navigation buttons. They let you explore and move through the directory structure. These buttons have the following meanings:

Explore Contents (down arrow). After you have selected an item from the
list, clicking the left mouse button navigates you down one level of hierarchy, and displays the contents of that directory, if hierarchy exists.

Explore Parent (up arrow) navigates one level up the hierarchy to the
parent directory, and displays the contents of that directory.

Explore References (right arrow) replaces the current display with the
references of the selected design object.

Explore Back to Parent (left arrow) navigates back to the design object
that holds the references currently displayed. That is, you return to the design object from which you originally explored references. This button is only activated when you have selected an object and explored its references (@ is the right-most character in the title bar).

Go To (multi-directional arrows) displays a dialog box in which you can


enter a soft or hard pathname for the file system destination to which you want to navigate. When invoking the Go To dialog box, you can enter either a soft path (such as $MGC_HOME) or a hard pathname. When using a hard pathname, you must specify a drive letter, such as C or D, followed by a colon :, and then a forward slash /. For example, the hard pathname C:/Designs would resolve to the Designs directory on the C drive.

Note

Selecting and Unselecting Objects


The following procedures describe how to select, unselect, and set the default selection filter.

Design Architect-IC Users Manual, v8.9_10

2-15

Selecting and Unselecting Objects

Getting Started

Selecting a Single Object


Before you can manipulate objects, you must select the objects you want to change. By default, the left mouse button selects various objects for you. You can use it to select a single object or a number of types of objects which fall within an area of a sheet. To select a single object, follow these steps: 1. Position the cursor on the object to be selected. 2. Click the left mouse button. The selected object becomes highlighted on the display, as shown in Figure 2-7. The basepoint (hourglass) icon is a reference point for future manipulations. The select count in the status line of the window reflects the number of selected objects (in this case, 1).

Figure 2-6. Selecting a Single Object

Selecting Multiple Objects


To select multiple objects, as shown in Figure 2-7, follow these steps: 1. Position the cursor at one corner of the objects to be selected. Press and hold the left mouse button. 2. Move the cursor while still holding the left mouse button. A dynamic rectangle is created which defines an area of the sheet. Manipulate the rectangle until it surrounds the objects to be selected.

2-16

Design Architect-IC Users Manual, v8.9_10

Getting Started

Selecting and Unselecting Objects

3. Release the left mouse button.

Figure 2-7. Selecting Multiple Objects The object types selected are controlled by the Selection Filter. Objects completely or partially intersected by the rectangle are selected. Each selected net vertex has a selection (bow tie) icon. The basepoint icon is a reference point for future selections. The select count in the status line reflects the number of selected objects.

Selecting Attached Branches


A branch is defined as the portion of a net between junction dots, pins, or dangling vertices. The following procedure selects the entire branch of any net that contains selected vertices on a schematic sheet. 1. Select one or more net vertices. 2. Execute the following menu items: (Most popup menus) Select > Attached > Branches (Pulldown menu) Edit > Select > Attached > Branches

Design Architect-IC Users Manual, v8.9_10

2-17

Selecting and Unselecting Objects

Getting Started

Selecting Attached Instances


The following procedure selects all unselected instances that have selected pins. Whenever an object is selected, the basepoint is automatically reset to the origin of the newly-selected object. If several objects are selected concurrently, the basepoint is reset to the left-most, lowest origin of the newly-selected objects (left-most takes precedence over lowest). 1. Select one or more pins. 2. Execute the following menu items: (Most popup menus) Select > Attached > Instances (Pulldown menu) Edit > Select > Attached > Instances

Selecting Attached Nets


The following procedure selects all unselected net segments and vertices of nets that have at least one selected net segment or vertex. As explained above, whenever an object is selected, the basepoint is automatically reset to the origin of the newly selected object. If several objects are selected concurrently, the basepoint is reset to the left-most, lowest origin of the newlyselected objects (left-most takes precedence over lowest). 1. Select one or more net vertices. 2. Execute the following menu items: (Most popup menus) Select > Attached > Nets (Pulldown menu) Edit > Select > Attached > Nets

Selecting all Nets with the Same Name


The following procedure selects all vertices and segments of a net and/or all nets with the same name. 1. Select one or more net vertices.

2-18

Design Architect-IC Users Manual, v8.9_10

Getting Started

Selecting and Unselecting Objects

2. Execute the following menu items: (Most popup menus) Select > Attached > Nets (Pulldown menu) Edit > Select > Attached > Nets 3. Hold the Ctrl key down, and reselect the object with the pointer and left mouse button. Alternatively, hold the Ctrl key down, and reselect by area. At this point, all the net components will be selected. 4. To select all nets with the same name as the selected net, hold the Ctrl key down again, and reselect the object. All nets with the same name are now selected.

Selecting Attached Pins


The following procedure selects pins of one or more selected instances. 1. Select one or more pins. 2. Execute the following menu items: (Most popup menus) Select > Attached > Pins (Pulldown menu) Edit > Select > Attached > Pins

Selecting by Object Name


This selection is based upon the INST property for instances, the NET property for nets, and the PIN property for pins. The following procedures allow you to select instances, nets, and pins by name. 1. Execute the pop up menu in the Schematic session. 2. Execute the following menu items For instances, Select > By Name > Instances: For nets, Select > By Name > Nets: For pins, Select > By Name > Pins:

Design Architect-IC Users Manual, v8.9_10

2-19

Selecting and Unselecting Objects

Getting Started

3. The Select by Name Prompt bar appears. Type the INST, NET, or PIN property name of the object you want to select in the Names field, and select OK. Alternatively, you can enter names with wild cards using regular expression syntax. Use the following procedure: 1. Execute the popup menu in the Schematic session. 2. Execute the following menu items For instances, Select > By Name > Reg Expr: > Instances: For nets, Select > By Name > Reg Expr: > Nets: For pins, Select > By Name > Reg Expr: > Pins: 3. The Select by Name Prompt bar appears. Type the INST, NET, or PIN property name of the object you want to select in the Names field, and select OK. For instances and pins, only the object(s) that match the specified name are selected. For nets, all vertices and segments on nets that match the specified name are selected.

Unselecting a Single Object


To unselect a single object, position the cursor on the object you want to unselect. Click the left mouse button. The object is now unselected. If you do not move the cursor and click the left mouse button again, this action reselects the currently unselected object.

Unselecting Multiple Objects


To unselect multiple objects, as shown in Figure 2-7, follow these steps: 1. Position the cursor at one corner of the objects to be selected. 2. Press the Shift-F2 (Unselect Area Anything) function key sequence and hold.

2-20

Design Architect-IC Users Manual, v8.9_10

Getting Started

Selecting and Unselecting Objects

3. Move the cursor while still holding the function key. A dynamic rectangle is created which defines an area of the sheet. Manipulate the rectangle until it surrounds the objects to be unselected, then release the keys.

Figure 2-8. Unselecting Multiple Objects

Unselecting Everything
To unselect all selected objects on a sheet, press F2 (Unselect All Anything), or execute the Unselect All > Anything menu item. Objects that were previously unselected remain unselected.

Reselecting a Selection Set


To reselect the last closed and discarded selection set, execute the Select > Reselect popup menu item.

Reopening a Selection Set


To reopen the last, closed selection set, execute the Select > Reopen Selection popup menu item, or press Ctrl-F1 (Reopen Selection Set).

Design Architect-IC Users Manual, v8.9_10

2-21

Manipulating Graphical Objects

Getting Started

Setting the Default Selection Filter


To setup the default selection filter, choose the Setup > Select Filter menu item. The Setup Select Filter dialog box displays.

Manipulating Graphical Objects


The following topics describe how to move, copy, delete, rotate, pivot, and flip selected schematic and symbol objects. These edit operations do not automatically make new electrical connections if a net passes over any existing pins or vertices.

Moving Objects
To move objects from one position to another, perform the following steps: 1. Select the object(s) to be moved. For information about selecting and unselecting objects, refer to Selecting a Single Object in this chapter. 2. Choose the Move > Selected popup menu item. The Move prompt bar appears in the schematic window with the location cursor on To Location. The moving cursor also appears when you move the mouse into the active window. To alter the basepoint while moving multiple objects, activate the Move prompt bar either by the Move Stroke or the Move > Selected popup menu item. Once the Move prompt bar appears, type the letter c. The Basepoint prompt bar appears over the Move prompt bar. Move the cursor to the desired location, and set the new basepoint by pressing the left mouse button. To finish moving the objects, proceed to Step 4. 3. Using the mouse, move the object(s) from one location to another. A ghost image of the object(s) appears on the screen. As the cursor moves, this image drags across the screen. 4. Press the left mouse button when the ghost image is in the proper location.

2-22

Design Architect-IC Users Manual, v8.9_10

Getting Started

Manipulating Graphical Objects

Repeat Moving
To move the same object(s) again, hold the Shift key down, move the cursor inside the schematic window, and click the right mouse button. This repeat key sequence only works if no other popup menu command has been issued in the meantime.

Moving Objects Between Windows


You can move objects to-and-from different schematic and symbol windows. The procedures for these operations are the same. When you move objects from one type of editor to another, a conversion of object type may occur. To move object(s) from one schematic or symbol window to another schematic or symbol window, perform the following steps: 1. Activate the Schematic or Symbol Editor window, from where you want to move objects, by clicking the center mouse button in the window area. 2. Select the object(s) to be moved. 3. Choose the Move > Selected popup menu item. The Move prompt bar appears in the schematic window with the location cursor on To Location. The moving cursor also appears when you move the mouse into the active window. 4. Using the mouse, move the object(s) from one location to another. A ghost image of the object(s) appears on the screen. As the cursor moves, this image drags across the screen. 5. Press the left mouse button when the ghost image is in the proper location.

Copying Objects
To copy object(s) from a schematic sheet, perform the following steps: 1. Select the object(s) to copy.

Design Architect-IC Users Manual, v8.9_10

2-23

Manipulating Graphical Objects

Getting Started

2. Choose the Copy > Selected popup menu item. The Copy prompt bar displays. 3. Press, but do not release the left mouse button. 4. Drag the ghost image to the position where you want the copy placed. The moving cursor is located on the basepoint of the ghost image. 5. Release the left mouse button when the ghost image is in the final position.

Repeat Copying
To copy the same instance again, hold the Shift key down, move the cursor inside the schematic window, and click the right mouse button. This repeat key sequence only works if no other popup menu command has been issued in the meantime.

2-24

Design Architect-IC Users Manual, v8.9_10

Getting Started

Manipulating Graphical Objects

Copying Objects to a Line


You can place copies of one or more selected objects in a line, specifying their locations by the offset between the basepoint of the selected objects, and the basepoint of the first copy. The line of copied objects can be in any direction. To create a diagonal line of four copies of two instances, perform the following steps, and refer to Figure 2-9. 1. Select the instances to copy. 2. Choose Copy > Multiple from one of the popup menus. This displays the Copy Multiple prompt bar. Enter the number of copies in the Count text entry box. Press either the Return or Tab key to move the location cursor to Placement. 3. Drag the ghost image of the selected items to the desired location for the first copy. 4. Press the left mouse button when the ghost image is in the correct position for the first copy. The distance and angle between the basepoint of the selected objects and the location you specify determine the placement for the other copies. The last copy remains selected. Figure 2-9 shows the result of this Copy Multiple.

Figure 2-9. Result of Copy Multiple

Design Architect-IC Users Manual, v8.9_10

2-25

Manipulating Graphical Objects

Getting Started

Copying Objects to an Array


There are two methods of copying one or more selected objects to an array. If you know the x- and y-offsets, perform the following steps: 1. Select the object(s) to copy. 2. Choose Copy > To Array from one of the popup menus. 3. Enter the number of columns in the X Count text entry box, and the number of rows in the Y Count text entry box. Press the Tab key to move from one prompt bar entry field to another. 4. The offset values displayed in the prompt bar are the minimum values you can use without objects overlapping when the array is created with the selected object in the upper left corner. Change values as needed. 5. Click OK, using the Select (left) mouse button. Figure 2-10 shows the array created. The last copied object remains selected.

Figure 2-10. Result of Copy to Array If you want to use the mouse cursor to specify the row and column locations, you can use the Copy Multiple command as follows: 1. Select the object to copy. 2. Choose Copy > Multiple from one of the popup menus.

2-26

Design Architect-IC Users Manual, v8.9_10

Getting Started

Manipulating Graphical Objects

3. Enter the number of rows in the Count text entry box in the Copy Multiple prompt bar. Press the Tab key to move the location cursor to Placement. 4. Drag the ghost image of the selected object to the desired location for the second row of the array, then release the button. This creates the first column. 5. Select the column of objects. 6. Choose Copy > Multiple from one of the popup menus. 7. Enter the number of columns in the Count text entry box. Press the Tab key to move the location cursor to Placement. 8. Drag the ghost image of the first column to the location for the second column, then press the Select button. The last column of the array remains selected.

Copying Objects Between Windows


You can copy objects to and from different schematic and symbol windows. The procedures used to copy between different windows are the same. When you move or copy objects from a schematic window to a symbol window, or from a symbol window to a schematic window, an object conversion occurs. Refer to Table 2-1 for how schematic objects are converted to symbol objects. Table 2-1. Schematic Objects to Symbol Objects Schematic Objects Instances, nets, pins, visible comments, and visible properties Invisible properties To Symbol Objects Symbol text and graphics, and properties No translation

Design Architect-IC Users Manual, v8.9_10

2-27

Manipulating Graphical Objects

Getting Started

Refer to Table 2-2 for information on how symbol objects are converted to schematic objects. Table 2-2. Symbol Objects to Schematic Objects Symbol Objects To Schematic Objects

Symbol graphics, visible properties (not Comment text and graphics, and pin properties), symbol comments properties Pins Properties attached to the pins Invisible properties (not pin properties) No change No change No translation

Use the following steps to move object(s) from one schematic or symbol window to another schematic or symbol window: 1. Activate the window, from where you want to copy objects, by clicking the center mouse button in the window area. 2. Select the object(s) to be copied. For information about how to select and unselect objects, refer Selecting and Unselecting Objects in this chapter. 3. Choose the Copy > Selected popup menu item. The Copy prompt bar displays in the window with the location cursor on At Location. The moving pointer appears when you move the mouse into the active window. 4. Using the left mouse button, activate the window you want to copy the objects into. 5. Drag the ghost image of the object(s) to the location within the window where you wish to copy the object(s). The moving pointer is located at the basepoint of the ghost image. 6. Press the left mouse button when the ghost image is in the final position.

2-28

Design Architect-IC Users Manual, v8.9_10

Getting Started

Manipulating Graphical Objects

Resizing Instances
You can set the schematic environment to allow resizing of instances. 1. Enter $allow_resizable_instances() function in a popup command line. 2. Select the appropriate instance(s) to be resized. 3. Execute the Resize > Half Size | Quarter Size | Normal Size | Four_x Size | Two_x Size item in the Schematic popup menu. All the size choices are absolute; that is, they are relative to the normal size of the component as established when the symbol was created in the Symbol Editor. If you choose Four_x Size, the selected instance(s) will be four times normal size. If you then choose Half Size, for example, the instance(s) will be one-half normal size, not one-half the Four_x size. The grid size is adjusted for both the Half Size and the Quarter Size, so that the pin spacing on the smallest instance is still accurate.

Grouping Design Objects


You can group design objects to make other editing actions easier. By giving the objects a group name, you can select the group, and move or copy it; if they are copied, the new objects do not retain the group name. You can append more objects to a group, which enables you to select and perform editing actions on more objects than the ones you originally had in the group. Additionally, you can report all the names of the groups in a design. To create a group of objects on the schematic sheet, perform the following steps: 1. Select the objects to be grouped. For information about selecting and unselecting objects, refer to Selecting and Unselecting Objects in this chapter. 2. Execute the Miscellaneous > Group pulldown menu to display the Group prompt bar.

Design Architect-IC Users Manual, v8.9_10

2-29

Manipulating Graphical Objects

Getting Started

3. Enter the appropriate value beside Group Name. 4. Choose the appropriate mode beside Existing. 5. Choose whether the name is persistent or temporary beside Duration. 6. Click OK. Once a group is created, you can select the group using the following steps: 1. Execute the Select > Group popup menu item to display the Select Group prompt bar. 2. Enter in the text box the name of the group you want to select. 3. Click OK.

Ungrouping Objects
To remove the name of a group from a set of objects, perform these steps: 1. Execute the Miscellaneous > Group > Ungroup pulldown menu item to display the Ungroup prompt bar. 2. Enter the name of the appropriate group beside Group Name. 3. Click OK.

Reporting Groups
To display a list of the groups in the active schematic design: Choose the Report > Groups pulldown menu item.

Deleting Objects
When you delete an object within a component, other objects in that component that reference the deleted object, are updated. However, if you delete an object (or an entire component), other objects that reference the deleted object (component)

2-30

Design Architect-IC Users Manual, v8.9_10

Getting Started

Manipulating Graphical Objects

need updating. For example, if you delete $MGC_IC_GENERIC_LIB/and2, then any designs that reference that component need updating. Keep the following in mind when deleting design objects:

Before deleting a model other than a symbol or schematic, unregister the


model from the component interface using the Component Interface Browser.

Deleting a symbol does not delete the pin and property information from
the interface, unless it is the last pin-creating model. Check Schematic and other evaluations will continue to compare the pins and properties with the models registered with the interface. When the last pin-creating model is deleted or unregistered from an interface, the pins are removed from the interface. The models considered to be pin-creating models are symbols and VHDL entities.

Always delete objects using iconic navigators. This method deletes file sets,
not just files. Remember, external object references to the deleted object will always need to be changed.

Never delete an object using operating system commands. These


commands do not preserve design object and file set relationships, and can easily corrupt data beyond repair. For general information about deleting a component, refer to Deleting a Design Object in the Design Manager-IC User's Manual. To delete object(s) from schematic sheet, perform the following steps: 1. Select the object(s) to be deleted. For information about selecting and unselecting objects, refer to Selecting and Unselecting Objects in this chapter. 2. Click on the schematic_edit [Edit] Delete palette item, or execute the Delete > Selected popup menu item. The selected object is now deleted. You can delete instances, frames, net vertices, pins, properties, comment text, and comment graphics using this method. You

Design Architect-IC Users Manual, v8.9_10

2-31

Manipulating Graphical Objects

Getting Started

also can delete properties by executing the Delete > Property popup menu item and filling out the Delete Property dialog box. After you delete a selected object(s), a basepoint icon remains. This icon displays until something else is selected, and facilitates replacing the new object(s) in the same location, when you issue the Undo command. The basepoint icon is not a part of the design.

Note

Pivoting and Rotating Objects


Pivoting and rotating are two identical operations when executed on an individual object. However, when you pivot or rotate a group of selected objects, there is an important difference. Pivoted objects move with respect to the origin on each individual object. Rotated objects move with respect to the basepoint of the selected objects. Furthermore, pivot operations do not affect nets, while rotate operations affect nets. Perform the following steps to pivot or rotate an object: 1. Select the object(s) you want to pivot or rotate. For information about selecting and unselecting objects, refer to Selecting and Unselecting Objects in this chapter. 2. Choose Edit > Edit Operations >Rotate menu item or select the [Edit] Rotate from the schematic_edit palette. 3. Cascading to the right of these menu items are three menu selections. Select one of the following:

90 - moves object(s) 90 degrees, counter-clockwise -90 - moves object(s) 90 degrees, clockwise 180 - moves object(s) 180 degrees
The selected object(s) are rotated to the specified position. The rotation must be multiple of 90 degrees.

2-32

Design Architect-IC Users Manual, v8.9_10

Getting Started

Manipulating Graphical Objects

Flipping Objects
To flip an object or a group of objects, perform the following steps. 1. Select the object(s) you want to flip. For information about selecting and unselecting objects, refer to Selecting and Unselecting Objects in this chapter. 2. Choose Edit > Edit Operations >Flip or select the [Edit] Flip from the schematic_edit palette. 3. Choose either Horizontal or Vertical from the cascading submenu. Objects are flipped, pivoted, and rotated in place. If you want to flip, pivot, or rotate object(s) that you are moving or copying, the Copy and Move menu items have cascading menu items for these operations.

Note

Design Architect-IC Users Manual, v8.9_10

2-33

Manipulating Graphical Objects

Getting Started

Using Strokes to Manipulate Objects


Hold down the middle mouse button and draw a question mark stroke ? , the Quick Help on Strokes chart displays as shown in Figure 2-11. The chart defines the strokes that are available to you in the active window.
Quick Help on Strokes
Common Design Architect-IC Strokes Activate Window 5 View Centered Double Click MMB View Area 159 View All 951 Zoom In (2) 357 Zoom Out (2) 753 Refresh 75357 Select Window 1475963 Copy 3214789 Copy Multiple 9874123 Move 74159 Stroke Recognition Grid 1 4 7 2 5 8 3 6 9 Print Ref Help Close Delete 741236987 Undo 7412369 Select Area 74123 Unselect All 1478963 Setup Select Filter 32147 Flip Horizontally 9632147 Rotate (90) 3698741 Report Selected 1474123 Set Active Symbol 321456987 Add Property 32159 Modify Property 95123 Help on Strokes 123658 Schematic Strokes Add Wire 258 Add Bus 852 Route Selected 96321 Connect Selected 7896321 Connect All 1236987 Display Schematic Palette 78963 Display Default Palette 98741 Place Active Symbol 14789 Choose Symbol 36987

More help on strokes

Figure 2-11. Schematic Window Strokes

2-34

Design Architect-IC Users Manual, v8.9_10

Getting Started

Understanding Object Handles in DA-IC

Understanding Object Handles in DA-IC


In Design Architect-IC, every graphical comment and electrical object has an associated handle. A handle is a unique, system-assigned identifier. You can also assign a name to an instance with the Inst property. The system recognizes the name you assign, but the instance handle is retained, not replaced. Depending on the object, a handle consists of one of the key letters listed below followed by the dollar sign character ($) and a system-assigned number.

B = Bundle C = Comment F = Frame G = Group I = Instance N = Net P = Pin T = Property Text V = Vertex
An example of an instance handle is:
I$385

Handles, like this one, appear in various error messages and netlists. The handle can be specified as an argument in commands such as Select By Handle or Report Object, as in the following examples:
Select By Handle I$385 -View Report Object I$385

The first command selects the object by its handle. The second command requests an extended status list associated with the object whose handle is I$385.

Design Architect-IC Users Manual, v8.9_10

2-35

Changing the Design View

Getting Started

Methods exist to make the handle of an instance visible. Assign the Inst property to the instance with a value of I$0. When the Check or Save commands are issued, the I$0 value will be replaced by the unique handle for that instance. Similarly, assigning the Net property a value of N$0 makes the net handles visible after the Check or Save commands are executed.

Changing the Design View


Changing the view of a sheet is useful when large schematics are edited. It allows you to see the schematic sheet or symbol in adequate detail. You can change the sheet view any time to see a small portion of the sheet, or zoom out to see the entire sheet.

Viewing a Portion of the Sheet


To view a portion of the sheet, perform the following steps: 1. Select the View > View Area menu item. The View Area prompt bar appears on the screen, with the location cursor on Area. 2. Place the cursor at one corner of the rectangular area you want to view. 3. Press and hold down the left mouse button. While the left mouse button is depressed, move the cursor to the opposite corner of the rectangular area. Notice that as you move the cursor, a rectangular box is displayed. This rectangle is the boundary of the area that will be viewed. 4. When the area you want to view is within the rectangle, release the left mouse button. The area you specified is enlarged to fill the active window. View Area is also available from the popup menu in a scroll bar, or by defining the view area within the Context window.

Viewing the Entire Sheet


To view the entire design sheet, perform the following steps:

2-36

Design Architect-IC Users Manual, v8.9_10

Getting Started

Changing the Design View

1. Select the View > View All menu item. 2. The entire design sheet displays in the active sheet window. You can also view the entire sheet by double-clicking the left mouse key in the Context window.

Other Viewing Capabilities


You can change the view of the design by choosing one of the following menu items:

View > View Centered. This view option centers the view around the
specified location. After choosing this menu item, the View Centered prompt bar appears in the active window with the location cursor on Center of View. As you move the mouse into the active window, the moving cursor appears. Click the left mouse button at the desired center of view. The view of the design is now centered around the location specified. Another method of centering the view is to double-click the center mouse button in the edit window.

View > View Selected. This view option centers the view around the
selected object(s).

View > Zoom In > 2.0 | 3.0 | As Specified. This view option expands the
image size in the active window to show more detail in the window. The image is zoomed-in by a factor of 2.0, 3.0, or the factor you specify in a prompt bar, with respect to the center of the image.

View > Zoom Out > 2.0 | 3.0 | As Specified. This view option shrinks the
image size in the active window to show less detail in the window. The image is zoomed out by a factor of 2.0, 3.0, or the factor you specify in a prompt bar, with respect to the center of the image.

Design Architect-IC Users Manual, v8.9_10

2-37

Printing in DA-IC

Getting Started

Printing in DA-IC
You can print schematic designs from DA-IC in a variety of ways as follows:

From the Session window you can print:


o All the schematic sheets that comprise a schematic. o All design sheets with backannotations specified by the current design

configuration. For more information, see Printing All Sheets in a Design in this chapter.

From the Symbol Editor window, you can print the contents of the active
window. For more information, see Printing Symbols in this chapter.

From a Schematic Editor window, you can print a schematic sheet. For
more information, see Printing a Schematic Sheet in this chapter.

Printing All Sheets in a Design


From the Session window, you can print all the schematic sheets in a specified design. The File pulldown menu provides two options as follows:

Print All Schematics with ICprint - Prints all sheets in a specified


schematic design. Generates Postscript files for each schematic sheet and sends them to a specified UNIX printer. For more information, see Printing all Sheets in a Schematic with ICprint in this chapter.

Print All Schematics - Prints all sheets in a specified schematic design. For
more information, see Printing all Sheets in a Schematic with Print/Plot in this chapter. Printing all Sheets in a Schematic with ICprint ICprint is not affected by the MGC > Setup > Printer setups. You must specify printing options, including a UNIX printer name, in the Print All Schematics with ICprint dialog box.

2-38

Design Architect-IC Users Manual, v8.9_10

Getting Started

Printing in DA-IC

Use the following steps to print all schematic sheets in a design with ICprint: 1. From the Session window, choose File > Print All Schematics with ICprint > Source Schematics....The Print All Schematics with ICprint dialog box displays.

2. Select a Destination for the PostScript printer files. The dialog box changes depending on the option you select. The following options are available:
o Send to Printer - Sends the file to the printer for printing. You must

enter a Printer Name. Specifies a UNIX printer to send the Postscript file to. This is the default setting.
o Print to File - Saves the file to disk in the working directory. Enter an

Output File name. The schematic number and sheet number are appended to the specified filename followed by _n for the page number. One file is generated for each schematic sheet printed. For example, myfile_Schematic#1_sheet#1_1.

Design Architect-IC Users Manual, v8.9_10

2-39

Printing in DA-IC

Getting Started

If no filename is specified, random names starting with mgc are generated without a schematic number or sheet number appended. For example: mgcOXDJ4U_1. 3. If necessary, enter a new Working Directory. The working directory is used to store the PostScript and temporary printer files. Defaults to the location of the active schematic sheet. 4. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. 5. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a continuous roll printer. 6. If necessary, enter a Panel Name. Panels are used to print only a portion of a window. For more information, see Using Panels in this chapter. 7. If necessary, select a Rotation option. The following options are available:
o Best Fit - Automatically determines the data orientation, and prints

either Portrait or Landscape. Selects the orientation that uses the least amount of paper. This is the default setting.
o Portrait - Prints data vertically on the page. o Landscape - Prints data horizontally on the page.

8. If necessary, click Color to toggle the setting. The following options are available:
o Enabled - prints color o Disabled - prints in black and white. This is the default setting.

9. If necessary, enter the Dot-Per-Inch (DPI) to print. The default is 300 DPI. 10. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. ICprint text sizing approximates what is on the display. Due to the conversion of fonts for printing, text sizing

2-40

Design Architect-IC Users Manual, v8.9_10

Getting Started

Printing in DA-IC

discrepancies can sometimes occur. To decrease or increase text size, enter a new value for Text Scale%. The default setting is 100%. A value of 0 omits all text. 11. Specify the number of copies to print up to 99. Default is 1. 12. If necessary enter any additional Printer Commands. For more information, see $$icprint() in the Design Architect-IC Reference Manual. 13. Click OK. The Print All Schematics dialog box displays.

14. Enter the pathname to the top-level sheet in the design in the Top-Level Component Name field. 15. If necessary, enter a vector of strings to restrict which sheets print. Sheets whose pathname includes a filter string (case sensitive), do not print. 16. Select Yes under Preview to display a list of the sheets available for printing to select from. 17. Click OK. The Print All Schematics Preview dialog box displays. 18. Select the sheets to print from the list.

Design Architect-IC Users Manual, v8.9_10

2-41

Printing in DA-IC

Getting Started

19. Click OK. The files are sent to the printer or saved to disk as specified. For more information, see $$icprint() in the Design Architect-IC Reference Manual. Printing all Sheets in a Schematic with Print/Plot Use the following steps to print all schematic sheets in a design with Print/Plot: 1. Choose the File > Print All Schematics > Source Schematics... item from the Session menu bar. The Print All Schematics dialog box displays.

2. Enter the pathname to the top-level sheet in the design in the Top-Level Component Name field. 3. If necessary, enter a vector of strings to restrict which sheets print. Sheets whose pathname includes a filter string (case sensitive), do not print. 4. Select Yes under Preview to display the Print All Schematics Preview dialog box before the sheets print. a. A list of all sheets available in the design display. b. Select the sheets from the list to print. 5. Click OK to print the sheets.

2-42

Design Architect-IC Users Manual, v8.9_10

Getting Started

Printing in DA-IC

Printing Symbols
The Symbol Editor provides two printing options from the File pulldown menu:

Print Symbol with ICprint - Generates a Postscript file and sends it to the
specified UNIX printer. For more information, see Printing the Active Symbol with ICprint in this chapter.

Print Symbol - Prints the active symbol with Print/Plot. For more
information, see Printing the Active Symbol with Print/Plot in this chapter. Printing the Active Symbol with ICprint ICprint is not affected by the MGC > Setup > Printer setups. You must specify printing options, including a UNIX printer name, in the Print Symbol with ICprint dialog box.

Design Architect-IC Users Manual, v8.9_10

2-43

Printing in DA-IC

Getting Started

Use the following steps to print a symbol with ICprint: 1. From the Symbol Editor, select File > Print Symbol with ICprint. The Print Symbol with ICprint dialog box displays.

2. Select a Destination for the PostScript printer file. The dialog box changes depending on the option you select. The following options are available:
o Send to Printer Sends the file to the printer for printing. You must

enter a Printer Name. Specifies a UNIX printer to send the Postscript file to. This is the default setting.
o Print to File Saves the file to disk in the working directory. Enter an

Output File name. If no name is specified, a random name starting with mgc is generated. View the transcript to determine the exact name. All generated printer files are appended with a _n where n is the number of pages in the file.

2-44

Design Architect-IC Users Manual, v8.9_10

Getting Started

Printing in DA-IC

3. If necessary, enter a new Working Directory. The PostScript and temporary printer files are stored in the specified directory. Defaults to the location of the active symbol. 4. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. 5. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a continuous roll printer. 6. If necessary, enter a Panel Name. Panels are used to print only a portion of a window. For more information, see Using Panels in this chapter. 7. If necessary, select a Rotation option. The following options are available:
o Best Fit Automatically determines the data orientation, and prints

either Portrait or Landscape. Selects the orientation that uses the least amount of paper. This is the default setting.
o Portrait Prints data vertically on the page. o Landscape Prints data horizontally on the page.

8. If necessary, click Color to toggle the setting. The following options are available:
o Enabled Prints color. o Disabled Prints in black and white. This is the default setting.

9. If necessary, enter the Dot-Per-Inch (DPI) to print. The default is 300 DPI. 10. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. ICprint text sizing approximates what is on the display. Due to the conversion of fonts for printing, text sizing discrepancies can sometimes occur. To decrease or increase text size, enter a new value for Text Scale%. The default setting is 100%. A value of 0 omits all text.

Design Architect-IC Users Manual, v8.9_10

2-45

Printing in DA-IC

Getting Started

11. Specify the number of copies to print up to 99. Default is 1. 12. If necessary enter any additional Printer Commands. For more information, see $$icprint() in the Design Architect-IC Reference Manual. 13. Click OK. The file is sent to the printer or saved to disk as specified. For more information, see $$icprint() in the Design Architect-IC Reference Manual. Printing the Active Symbol with Print/Plot To print the contents of a Symbol Editor window, perform the following steps: 1. Activate the edit window for the symbol you want to print. Choose the File > Print Symbol menu item to display the Print Object prompt bar. 2. Type the printer name in the Printer name text box. 3. If you want to override the default printer options, click the Options button. The Print Design Object dialog box displays. You can specify the number of copies, a job configuration file, the orientation, the priority, notification level, the scale, and the panel name (if you want to plot only a portion of the window). For a procedure describing how to create panels, refer to Using Panels in this chapter. You can change the default printer settings by specifying any or all of the printer attributes. This overrides the default printer settings for this job only. If you want to change the printer attributes for all subsequent print jobs, click Keep options. This changes the default settings to the values specified in the Print Screen dialog box. You can change the default printer settings by changing the MGC > Setup > Printer menu item. Refer to the Printer Interface Reference Manual for a description of all required and optional arguments.

Printing a Schematic Sheet


The Schematic Editor provides two printing options from the File pulldown menu:

2-46

Design Architect-IC Users Manual, v8.9_10

Getting Started

Printing in DA-IC

Print Sheet with ICprint - Generates a Postscript file and sends it to the
specified UNIX printer. For more information, see Printing the Active Sheet with ICprint in this chapter.

Print Sheet - Prints the active sheet with Print/Plot. For more information,
see Printing the Active Sheet with Print/Plot in this chapter. Printing the Active Sheet with ICprint ICprint is not affected by the MGC > Setup > Printer setups. You must specify printing options, including a UNIX printer name, in the Print Sheet with ICprint dialog box. LINUX 6.X saves the temporary PostScript printer files to the working directory. You need to delete them once the sheet is sent to the printer.

Linux

Use the following steps to print a schematic sheet with ICprint: 1. From the Schematic Editor, click on the sheet to print.

Design Architect-IC Users Manual, v8.9_10

2-47

Printing in DA-IC

Getting Started

2. Select File > Print Sheet with ICprint. The Print Sheet with ICprint dialog box displays.

3. Select a Destination for the PostScript printer file. The dialog box changes depending on the option you select. The following options are available:
o Send to Printer - Sends the file to the printer for printing. You must

enter a Printer Name. Specifies a UNIX printer to send the Postscript file to. This is the default setting.
o Print to File - Saves the file to disk in the working directory. Enter an

Output File name. If no name is specified, a random name starting with mgc is generated. View the transcript to determine the exact name. All generated printer files are appended with a _n where n is the number of pages in the file.

2-48

Design Architect-IC Users Manual, v8.9_10

Getting Started

Printing in DA-IC

4. If necessary, enter a new Working Directory. The PostScript and temporary printer files are stored in the specified directory. Defaults to the location of the active schematic sheet. 5. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. 6. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a continuous roll printer. 7. If necessary, enter a Panel Name. Panels are used to print only a portion of a window. For more information, see Using Panels in this chapter. 8. If necessary, select a Rotation option. The following options are available:
o Best Fit - Automatically determines the data orientation, and prints

either Portrait or Landscape. Selects the orientation that uses the least amount of paper. This is the default setting.
o Portrait - Prints data vertically on the page. o Landscape - Prints data horizontally on the page.

9. If necessary, click Color to toggle the setting. The following options are available:
o Enabled - prints color o Disabled - prints in black and white. This is the default setting.

10. If necessary, enter the Dot-Per-Inch (DPI) to print. The default is 300 DPI. 11. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. ICprint text sizing approximates what is on the display. Due to the conversion of fonts for printing, text sizing discrepancies can sometimes occur. To decrease or increase text size, enter a new value for Text Scale%. The default setting is 100%. A value of 0 omits all text.

Design Architect-IC Users Manual, v8.9_10

2-49

Printing in DA-IC

Getting Started

12. Specify the number of copies to print up to 99. Default is 1. 13. If necessary enter any additional Printer Commands. For more information, see $$icprint() in the Design Architect-IC Reference Manual. 14. Click OK. The file is sent to the printer or saved to disk as specified. For more information, see $$icprint() in the Design Architect-IC Reference Manual. Printing the Active Sheet with Print/Plot Use the following steps to print the active schematic sheet with Print/Plot: 1. Click on the sheet to print, and select File > Print Sheet. The Print Object prompt bar displays. 2. Type the printer name in the Printer name text box. 3. If you want to override the default printer options, click the Options button. The Print Design Object dialog box displays. You can specify the site name, the number of copies, a job configuration file, the orientation, the priority, notification level, the scale, and the panel name (if you want to plot only a portion of the window). For a procedure describing how to create panels, refer to Using Panels in this chapter. You can change the default printer settings by specifying any or all of the printer attributes. This overrides only the default printer settings for this job. If you want to change the printer attributes for all subsequent print jobs, click Keep options. This changes the default settings to the values specified in the Print Screen dialog box. You can change the default printer settings by changing the MGC > Setup > Printer menu item. Refer to the Printer Interface Reference Manual for a description of all required and optional arguments. When you send a schematic to a plotter, protected objects are plotted in their unprotected color.
Note

2-50

Design Architect-IC Users Manual, v8.9_10

Getting Started

Using Panels

Printer Configuration
You may want to adjust your printer configuration for plotting DA-IC data. Depending upon how your network printers are set up, you may want to use a separate printer configuration file for DA-IC, so that it will not affect printing from other applications. Add the following lines (or modify them, if they already exist) to your printer configuration file to adjust the page offset and the line weight for buses and borders:
tray_page_offset_top tray_page_offset_left ## line_weight line_weight line_weight line_weight 1 1 <tag> 1 3 5 7 0.25 0.25 <weight> 1 7 #default=5 9 #default=7 11 #default=9

Using Panels
You define panels to plot particular areas of symbol or schematic windows. The panel area is defined by the coordinates of a rectangular region. Panels can be large or small, and they may overlap.

Adding Panels
To create a panel in a Symbol or Schematic Editor window, perform the following steps: 1. Place the cursor in the Symbol or Schematic Editor window in which you want to create a panel, and click the center mouse button. 2. Execute the Add > Panel > Add Panel menu item. The Add Panel prompt bar displays. 3. Type the panel name in the Panel Name text box.

Design Architect-IC Users Manual, v8.9_10

2-51

Using Panels

Getting Started

4. If you want to replace a previously defined panel with the same name you specified, click the left mouse button on the choice stepper button to select the replace switch. 5. Click the left mouse button on the Panel Area button. 6. Position the cursor at one corner of the panel. Click and drag the left mouse button until a dynamic rectangle is created which defines an area of the sheet. 7. Release the mouse button.

Viewing Panels
To view and center the current panel in a Symbol or Schematic Editor window, perform the following steps: 1. Activate the edit window of the panel you want to view. Execute the View > Panel > View Panel menu item. The View Panel prompt bar displays. 2. Type the panel name in the Panel Name text box, then click OK.

Viewing and Hiding Panel Borders


To view panel borders in a Symbol or Schematic Editor window, perform the following steps: 1. Place the cursor in the Symbol or Schematic Editor window in which you want to view a panel and its border, and click the center mouse button. 2. Execute the View > Panel > Show Panel Border > All Panels On Sheet menu item to view all panel borders on the sheet. Execute the View > Panel > Show Panel Border > By Panel Name menu item to view a panel by name. 3. Type the panel name in the Panel Name text box, then click OK.

2-52

Design Architect-IC Users Manual, v8.9_10

Getting Started

Using Panels

To hide panel borders, perform the following steps: 1. Execute the View > Panel > Hide Panel Border > All Panels On Sheet menu item to view all panel borders on the sheet. Execute the View > Panel > Hide Panel Border > By Panel Name menu item to view a panel by name. 2. Type the panel name in the Panel Name text box, and click OK.

Deleting a Panel Definition


To delete a panel definition in a Symbol or Schematic Editor window, perform the following steps: 1. Place the cursor in the Symbol or Schematic Editor window from which you want to delete a panel, and click the mouse button. 2. Execute the Edit > Delete > Panel menu item. 3. Type the panel name in the Panel Name text box, and click OK. This deletes the definition of the panel; it does not delete objects in the panel.

Creating and Printing Panels in Read-Only Mode


DA-IC allows you to open a schematic sheet in read-only mode, create temporary panels, and print those panels without changing the read-only status of the sheet. The temporary panels are deleted when the schematic is closed, unless you specifically enter Edit Mode, and check and save the sheet. The procedure for creating and printing panels in read-only mode is as follows: 1. Open a sheet in Read-Only mode. 2. Execute the Add > Panel > Add Panel menu item. The Add Panel prompt bar displays. 3. Type the panel name of the temporary panel in the Panel Name text entry box, then create the panel as described in the previous procedure.

Design Architect-IC Users Manual, v8.9_10

2-53

Using Panels

Getting Started

4. View the panel border by executing the menu item: View > Panel > Show Panel Border > All Panels On Sheet 5. Print the panel by executing the menu File > Print Sheet: 6. Verify the printer name in the prompt bar. 7. Click the Options... button, and enter the Panel name in the dialog box text entry area. 8. Click OK on both forms.

Setting up an IFF Interface to ADS Schematics


DA-IC supports an interface to Agilent Design System (ADS) RF schematic format through an Intermediate File Format (IFF) translator. In order for the IFF interface to work correctly, you need to set up DA-IC to access the translator and symbol library. To access the translator and symbol library, you need access to a Mentor Graphics EN2002.1 installed software tree that is compatible with DA-IC. You can either use a Mentor Graphics combined tree that contains both DA-IC and RF Architect or separate trees. The symbol library is located at:
$MGC_HOME/pkgs/pcb_rf/data/lib/mgc_adslib.tar.Z

You will need to set additional Environment Variables, load necessary Libraries, and have an RF Architect License.
Environment Variables

In addition to the environment variables you must set to run DA-IC, set the following environment variables: Environment Variable ALTERNATE_MGC_HOMEa DES_ARCH_PKGS_TO_LOAD Value Location of PCB tree ads_iff_da_ic

2-54

Design Architect-IC Users Manual, v8.9_10

Getting Started

Using Panels

a. set only if using separate trees

Libraries

In order for the interface to work correctly, you must have the correct symbol library. The library is contained in the PCB tree, but it is not loaded automatically with the software. Check the software tree to make sure it contains the mgc_adslib directory. If it does not contain this directory, load this library from the software CD.
RF Architect License

An RF Architect license is required to use the IFF interface.

Placing IFF Friendly Symbols


DA-IC provides access to symbol libraries that contain parts that have equivalents in ADS. To place IFF friendly symbols: 1. Select Libraries > Select RF Library-ADS Equivalents. The Select RF Library dialog box displays. 2. Select the desired library and click OK. The selected library displays in the palette menu. 3. Select and place the desired symbol from the palette. For information on the available libraries and symbols, refer to the RF Design Tools User's and Reference Manual Supplement: Supported ADS Library Elements Manual.

Writing Out an IFF


To write out a schematic in IFF that is available to read into ADS, complete the following: 1. Save the schematic/symbol.

Design Architect-IC Users Manual, v8.9_10

2-55

Using Panels

Getting Started

2. Select RF > IFF Write. The Write IFF dialog box displays. 3. Enter the name of the output IFF file and click OK. The IFF file is written and placed in the same directory as the schematic. A transcript displays, detailing the actions taken by DA-IC. For more information on writing IFF, refer to the RF Design Tools User's Manual.

Reading In an IFF
To read in an IFF, you must be in schematic scope and have a schematic open. Complete the following: 1. From the DA-IC menu bar, select RF > IFF Read. The Read IFF dialog box displays. 2. Enter the name of the input file and transfer directory name and click OK. For more information on reading IFF, refer to the RF Design Tools User's Manual.

Setting A Default IFF Library Palette


DA-IC allows you to set up and access a default palette from the Library menu. To set a palette as the default palette: 1. Display the palette to set as the default. 2. Select Libraries > Set Default Palette. The current palette is set as the default palette. To display the default palette: 1. Select Libraries > Display Default Palette. The default palette displays.

2-56

Design Architect-IC Users Manual, v8.9_10

Chapter 3 Creating Schematics

This chapter introduces the Schematic Editor and provides procedures for creating, checking, and netlisting schematics. The following topics are available:
Schematic Creation Overview Schematic Editor Features Opening/Creating a Schematic Opening a Language File Setting Up the Schematic Editor Choosing and Placing Symbols Selecting and Placing Active Symbols Updating and Replacing Instances Using Repeating Instances Using Nets, Buses and Net Bundles Creating a Bus and Bus Connections Using Bus Rippers Creating a Bus Ripper Component Connecting a Bus Ripper Instantiating 1x1 Bus Ripper Automatically Using the Automatic 1x1 Bus Ripper Creating an Implicit Bus Ripper Creating an Implicit Bundle Ripper Using the netcon Component Creating and Naming a Net Bundle Ripping Members from Net Bundles

Design Architect-IC Users Manual, v8.9_10

3-1

Schematic Creation Overview

Creating Schematics

Creating Multi-Level Designs Adding Comment Text and Graphics Creating FOR, CASE, and IF Frames Checking a Schematic for Errors Saving and Registering a Schematic Navigating Multiple Page Schematics Displaying/Editing Registered Models Netlisting a Schematic Invoking IC Station Directly from DA-IC

Schematic Creation Overview


A schematic is a graphical and behavioral description of a circuit. Schematics include information about components, wiring, connectors, test points, timing, and engineering notes used by downstream applications. Schematics in DA-IC may include one or more of the following components:

Symbol instances
Instances of logical symbols represent anything from a simple logic function to a complete integrated circuit. An instance is a copy of a component symbol. For example: When you select a component symbol from a library and place it on your schematic, a copy of that symbol is generated and placed on the schematic. The copy of the component symbol is called an instance. The instance reflects the connectivity defined by the original component symbol. An instance is graphically represented by a symbol and can be updated by updating the original symbol. Placing the representative symbol on a schematic sheet is called instantiation. In order for an instance to be evaluated correctly, it must follow a set of connectivity rules. A full set of checks that define the proper instance connectivity is described in Appendix C, Design Checks.

3-2

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Schematic Creation Overview

Special Instances
Special instance connectors are not part of the final evaluated design and do not translate into physical components. They pass connectivity information to downstream applications that use an evaluated design. They are created by adding specific Class property values to an instance. Refer to Class Property in chapter 7 for more information about Class properties. You may define your own special instance symbols, or use components provided in the generic_lib in DA-IC. For more information, see Appendix E, Special Instances.

Properties
A property name is the label for a property, much like a variable name is a label for a variable in a programming language. The property value is the value associated with the name. The combination property name/value attaches to different objects in a schematic to supply more information about the object. For example, the rise time for a pin is specified by a value (for example, 10, 20, 30) of a property name Rise, attached to that pin.

Nets, buses, and net bundles


Nets provide pin-to-pin wiring connections between instances on a schematic sheet. A bus has the same electrical meaning as a set of individual wires collected together. Buses have a defined width, derived from the number of elements in the bus. The expression A(0:15) defines a bus with a width of 16 wires. Each wire is referenced sequentially: A(0), A(1), ..., A(15) through the array.

Comment text and Graphics


Comment text and graphics, also called comments, have no electrical meaning, but add other information to the schematic sheet. For example, the border of the schematic sheet is created with comment text and graphics. Many other forms of comments can be added to the sheet. See Adding Comment Text and Graphics in this chapter.

Design Architect-IC Users Manual, v8.9_10

3-3

Schematic Creation Overview

Creating Schematics

Function Blocks
Function Blocks allow you to create and reuse hierarchical design components from within a schematic. Function Blocks are created with the Schematic Editor and can consist of a schematic design as well as symbols. Once created, the Function Block can be instantiated on other design sheets and schematics. Function Blocks support both top-down and bottom-up design methodologies. For procedures to create Function Blocks, see Chapter 6, Using Function Blocks.

Frames
A frame is a graphical box that encloses circuitry that is repeated or conditionally included in a final netlist by a frame expression. FOR, IF, and CASE frame expression types are described in Frexp Property in chapter 7. Frames are used on schematic sheets only. In order for the contents of a frame to be evaluated correctly, certain connectivity rules must be followed. A full set of checks that define the proper frame connectivity is described in Appendix C, Design Checks.

3-4

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Schematic Editor Features

$MGC_HOME/shared/training/qsim82nwp/parts/models/fusefile.jed

A
PLS155 P6 P7 P8 P9 P12 P13 P18 P19 P14 P15 P16 P17
6 7 8 9 12 13 18 19 14 15 16 17 5 4 3 2 1 0 5 4

U30 CK _OE P2 P3 P4 P5

11

COUNT(11:0)
9 8 7 74LS08 6

2 3 4 5

OSC FINISH

PULSE LATCH C

U11
10

D COMPARE(7:0)
Engineer: john smith Drawn by: john smith R&D CHK:

D
Mentor Graphics 8005 SW Creek Rd. Wilsonville, OR TITLE: design_2397
Size: D

E
Changed by: john smith Date Changed: Monday, August 31, 1992 Time: 1:46:33 pm

DOC CTRL CHK MFG CTRL CHK QA CHK: REV B

E
Drawing Number: Page: 1 24

4 Net

Property Values

Comment Text and Graphics

Instances of Symbols

Figure 3-1. Schematic Sheet When you open the Schematic Editor, a set of schematic-specific palettes, popup, and pulldown menus display.

Schematic Editor Features


The Schematic Editor allows you to:

Instantiate components Create and modify properties

Design Architect-IC Users Manual, v8.9_10

3-5

Opening/Creating a Schematic

Creating Schematics

Create and modify nets Create and edit comment graphics and text Set up templates for creating nets, comments, property text, grids, pages Edit objects (moving, copying, deleting, or connecting) Report on sheet objects' status Check schematic sheets for errors Save and register schematics
In addition to schematic creation, the Schematic Editor allows you to:

Edit schematics in Design Context Register, edit and select behavioral models Netlist schematics Set up and run design simulations View and crossprobe design simulation results

Opening/Creating a Schematic
To open a schematic, click Open > Schematic on the session_palette menu. The Open Schematic dialog box prompts you for the component and schematic names. If no schematic is specified, sheet1 of the default schematic model is opened. You can change the sheet name for the default model, and you can open an existing sheet in read only mode, or list the component hierarchy in a window. To browse for a component, click the Navigator button. For more information, see Browsing for Files in Chapter 2.

3-6

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Opening/Creating a Schematic

To replace the default schematic and sheet name select the Options button. The options for a new sheet are different than those for an existing sheet. Click the New Sheet button to see the Open Schematic Options dialog box illustrated in Figure 3-2.
Open Schematic Options
Component Name: $CUSTOM_PARTS/dff Available:

Version... 0 Existing New Sheet

Auto Update Mode:


Auto None Clear

Startup File Path:


Navigator... OK Reset Cancel

Figure 3-2. Open (new) Sheet Options Dialog Box The Open Schematic Options dialog box lists the names of available schematics in the component. You can click the left mouse button on a name in the list, or you can enter schematic name in the respective text entry boxes in the dialog box. If you hold down the SHIFT key, and select more than one sheet in the list, all selected sheets will open at the same time. By default, the most current version of a schematic (indicated by 0) is opened; if you want an older version, enter the number in the Version box. To see which versions exist, click the Version button. If you want to execute a startup file for this sheet, click Yes for that option, and enter the file pathname.

Design Architect-IC Users Manual, v8.9_10

3-7

Opening a Language File

Creating Schematics

When you open an existing sheet, the Auto Update Mode allows you to specify whether instances should be updated when the sheet is opened and, if so, how the properties are merged. Click on one of the following buttons:

Auto: Instance-only and Value_Modified properties are not changed; new


properties on the current symbol are added to the instance.

None: Instances are not updated when the sheet is opened. Clear: Instance-only properties are deleted; all other properties are reset to
the current symbol values. For more information about how properties are updated, refer to Updating Properties on an Instance in Chapter 7.

Opening a Language File


You can open/edit VHDL, VHDL-AMS, Verilog, Verilog-A, SPICE, HSPICE and EldoSPICE language files from DA-IC. Use the following steps to open a language file: 1. Click Open >Language on the session_palette menu. The Open Language dialog box displays.

2. Next to Source File, enter the name of the language file to open. 3. Click OK. 4. The contents of the language file displays in the Notepad editor.

3-8

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Setting Up the Schematic Editor

For more information on setting up a specific language file editor, see Setting up a Language Model Editor in Chapter 2. For information on using Notepad, see the Notepad for IC Flow Users and Reference Manual.

Setting Up the Schematic Editor


Before you start working on a schematic sheet, you can change some or all of the default attribute settings for your schematic editing environment. Attributes such as pin spacing, grid spacing and snap, net drawing, and comment text and graphics display are all set to default settings when a new schematic sheet is opened. Menu items contained in the Setup menu set these attributes. The following procedures show you how to set up these attributes. These settings are available when the Schematic Editor window is open.

Setting Grid, Pin Spacing and Snap


A pattern of grid points normally displays in the editing window to assist you in drawing straight lines and finding points of reference. You can turn the grid pattern off or redefine the layout of the grid points. You can also stipulate that any object drawn snaps to the nearest grid point. Each window can have independent grid settings which allow different object placement characteristics (dynamics) for each window. To set up the grid and pin spacing and enable snap, perform the following steps: 1. Activate a symbol or schematic edit window, and execute the Setup > Grid pulldown menu item. The Set Grid dialog box appears.

Design Architect-IC Users Manual, v8.9_10

3-9

Setting Up the Schematic Editor

Creating Schematics

Figure 3-3. Setup Grid Dialog Box 2. Enter the number of grid points to be established between pins in the Grids Per Pin text box. A value of 4 means 4 grid points within 1 pin space. A value greater than 1 defines a finer grid by placing the specified number of points between each pin spacing interval. A value less than 1 is a coarser grid, which you can use to spread out objects in a design. The default is 4. 3. Type in the Minor Multiple text box the number of grid locations between displayed locations. Dots indicate minor multiple grid points. The default is 1. 4. Type in the Major Multiple text box the number of visible grid points to be highlighted with a cross. This feature can be used to highlight pin spacing or note relative distances between various objects on the sheet. The default is 4.

3-10

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Setting Up the Schematic Editor

5. Click the left mouse button on the snap you want (On/Off). 6. Click the left mouse button on whether to show the grid (On/Off). 7. Type the pin space number in the Pin Space text entry box. 8. Click the left mouse button on the user units (inch, cm, mm, or pin). Even though you are allowed to choose a user unit in the symbol editor, all pin spacing is measured in pin grid spaces in the Symbol Editor window. 9. When the grid, pin spacing, and snap setup are complete, click OK. The number used for each grid setting must be an even divisor of 1920. If the number you specify is not a divisor of 1920, the next larger divisor will be used. Valid numbers include 1, 2, 3, 4, 5, 6, 8, 10, 12, ... Numbers not supported include 7, 9, 11, 13, 14, ... If the system uses a number other than the one you specify, you will receive a warning message.

Setting Net Drawing Attributes


Before you begin drawing nets, you can specify how nets are graphically represented (bus width and net style) and other net drawing characteristics, such as automatic orthogonal net drawing, automatic net routing, and pin snapping. To set up the net characteristics, perform the following steps: 1. Place the cursor in a Schematic Editor window, and press the mouse button to activate the window. 2. Execute the Setup > Objects menu item. The Setup Objects dialog box appears in the active Schematic Editor window. 3. Choose Net. The Setup Objects dialog box displays the Net selections.

Design Architect-IC Users Manual, v8.9_10

3-11

Setting Up the Schematic Editor

Creating Schematics

Figure 3-4. Setup Objects Dialog Box 4. Type in the Set Dot Size text box the dot size (default is 0.025 user units). 5. Click on either Circle or Square to choose the dot style. 6. Type in the Set Snap Angle text box the snap angle (default 45). 7. Press the Set Ortho button On and the Set Snap button On, to set up orthogonal routing and pin snap.

3-12

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Setting Up the Schematic Editor

8. Select the Net Style (solid, dotted, long dash, short dash, centerline, and phantom) and Bus/Bundle Width (3 pixels, 5 pixels, or 7 pixels) by clicking on the appropriate buttons. 9. When you turn on Auto Net Name Placement and optionally enable Auto Net Naming, net names are automatically placed when you name nets that do not already have a NET property attached. a. Type the Name Offset value in the text field. b. Type the Intent Offset value in the text field. 10. If you want close-dots displayed on the sheet, press the Close Dots button On. The close-dot appears on a vertex when a non-orthogonal net segment passes so close to the vertex, that it is visually difficult to determine that they are not connected. 11. If you want nets automatically routed immediately after they are drawn, press the Auto Route button On. The net router defines an orthogonal path for a connected net that avoids instance extents, comment objects, and other nets. 12. When Net Setup is complete, click OK.

Setting Ripper Drawing Attributes


When you invoke DA-IC, implicit rippers are the default. They are not library symbols, but rather instances that look like rippers. To set the Ripper Drawing Attributes, follow these steps: 1. Choose the Setup > Objects pulldown menu item. The Setup Objects dialog box appears. 2. Choose Ripper. The Setup Objects dialog box displays the Ripper selections.

Design Architect-IC Users Manual, v8.9_10

3-13

Setting Up the Schematic Editor

Creating Schematics

Figure 3-5. Setup Objects Ripper Dialog Box 3. Select the Ripper Mode: Implicit (default), Auto, or None. 4. Select the Implicit Ripper as angled or straight. 5. Set the Ripper Query On or Off. 6. If you want junction dots to appear where bus rippers join bus lines, press the Set Ripper Dots button On. 7. Define the Autoplaced Text Height in the text box (default is 0.125 units) 8. Set Auto Ripper Symbol specifies that a single bit bus rippers is placed automatically during net creation when the current net width is 1 (default wire width), and one of the input vertices falls on a net segment with width greater than 1 (default bus width is 3). If you press the On button, you

3-14

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Setting Up the Schematic Editor

also need to specify a ripper component and symbol name. The default is the 1X1 symbol of $MGC_IC_GENERIC_LIB/rip. The specified ripper must have one BUNDLE, and one WIRE pin, evenly spaced in the X & Y direction.
Note

9. When Ripper Setup is complete, click OK.

Setting Design Context Drawing Attributes


To set Design Context attributes, follow these steps: 1. Choose the Setup > Objects pulldown menu item. The Setup Objects dialog box appears. 2. Choose Design Context. Changes can only be made in the menu when a schematic is open in design context.
Note

The Setup Objects dialog box displays the Design Context selections.

Design Architect-IC Users Manual, v8.9_10

3-15

Setting Up the Schematic Editor

Creating Schematics

Figure 3-6. Setup Objects Design Context Dialog Box 3. In the Default Annotated Property Attributes area of the menu, set the following item: a. Type in the font name you desire. Fonts and font registries for all workstations are located in $MGC_HOME/registry/fonts. The default is the stroke font. To change from the default, click the Menu... button to display all available choices. Select from the list displayed.

3-16

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Setting Up the Schematic Editor

b. Type in the font height you desire. The default height is 0.1875 user units. c. Orientation: 0 is the default setting. d. Horizontal Justification: select Left, Center, or Right (left is the default setting). e. Visibility: toggle On or Off (on is the default setting). 4. Click on the text vertical justification you desire (Top, Center, or Bottom). 5. Click on the text transparency you desire to On or Off. 6. Set the Apply Attributes To Existing Annotations? to Yes or No (no is the default setting. 7. Set the Show Annotations? to Yes or No (yes is the default setting). 8. Evaluate Expressions? toggle Yes or No (yes is the default setting). 9. When Design Context Setup is complete, click OK.

Setting Comment Drawing Attributes


To set Comment attributes, follow these steps: 1. Choose the Setup > Objects pulldown menu item. The Setup Objects dialog box appears. 2. Choose Comment. The Setup Objects dialog box displays the Comment selections.

Design Architect-IC Users Manual, v8.9_10

3-17

Setting Up the Schematic Editor

Creating Schematics

Figure 3-7. Setup Objects Comment Dialog Box 3. In the Default Comment Text Attributes area of the menu, set the following item: a. Type in the font name you desire. Fonts and font registries for all workstations are located in $MGC_HOME/registry/fonts. The default is the stroke font. To change from the default, click the Menu... button to display all available choices. Select from the list displayed.

3-18

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Choosing and Placing Symbols

b. Type in the font height you desire. The default height is 0.1875 user units. c. Orientation: 0 is the default setting. d. Click on the text vertical justification you desire (Top, Center, or Bottom). e. Click on the text horizontal justification you desire (Left, Center, or Right). f. Click on the text transparency you desire to On or Off. g. Click to set the restricted flipped/rotated text to On or Off. 4. In the Default Comment Graphics Attributes, set the following items: a. Click on the line width you desire (1 pixel, 3 pixels, 5 pixels, or 7 pixels). b. Click on the fill type you desire (Clear, Solid, or Stipple). c. Click on the line style you desire (Solid, Dotted, Long Dash, Short Dash, Centerline, and Phantom). 5. When Comment Setup is complete, click OK.

Choosing and Placing Symbols


Component symbols are selected and placed on a schematic sheet from the library palette as follows: 1. Click in a Schematic Editor window to activate. 2. Click Library on the schematic_edit palette menu. The ic_library palette menu displays. 3. Click the desired library. A list of the components in the selected library displays.

Design Architect-IC Users Manual, v8.9_10

3-19

Selecting and Placing Active Symbols

Creating Schematics

4. Click the symbol you want to place. 5. Move the cursor to the schematic window. The moving cursor displays, prompting you for a location to place the symbol. 6. Move the cursor to display a ghost image of the symbol. 7. Drag the ghost image to the desired location and click the left mouse button.

Selecting and Placing Active Symbols


The active symbol is the last symbol instantiated. To graphically display the active symbol, click the right mouse button on the palette menu and select Show Active Symbol Window from the popup menu. Use the following steps to place an instance of the active symbol: 1. Execute the Add > Instance > Active Symbol or Active Symbol > Add Active Symbol menu item. The Place Active Symbol prompt bar displays. 2. Move the cursor in the schematic window. A ghost image of the symbol appears. 3. Drag the ghost image to the desired location and click the left mouse button. You can also place an instance of the active symbol by clicking the left mouse button in the Active Symbol window, dragging the ghost image to the desired location, and clicking the left mouse button.

Updating and Replacing Instances


The Update command lets you update a symbol instance with the newest version of the same symbol. The Replace command lets you replace a symbol instance with an instance of a different symbol, such as replacing an AND with an OR.

3-20

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Updating and Replacing Instances

The method used to merge current symbol properties with properties attached to instances that are updated or replaced is determined by the following switches:

-Clear -Symbol -Instance -Auto


These switches are described in Property Merge Options in Chapter 7. For example, to update some instances on a sheet using the -Instance option, perform the following steps: 1. Select the instances you want to update. 2. Choose the Instance > Update > Instance menu item. To update selected instances using the default property merge, choose Instance > Update. Update is also available through the Edit > Update > submenu. The default Update menu pick is Auto. To automatically update all instances on a schematic when you open a sheet, specify the desired Auto Update Mode choice on the Open Schematic dialog box. To set up your DA-IC session to perform automatic updates using a different property merge option, execute the $set_auto_update_mode() function. For example, to perform an update with the -Instance merge, type the following function:
$set_auto_update_mode(@instance)

If you do not want subsequently opened schematics automatically updated during the current session, type this function:
$set_auto_update_mode(@noupdate)

When you set the auto_update mode, that setting remains in effect for the current DA-IC session, or until you explicitly change it. If you do not specify an auto_update_mode, sheets are not automatically updated when they are read.

Design Architect-IC Users Manual, v8.9_10

3-21

Updating and Replacing Instances

Creating Schematics

The Replace command, like Update, is accessible through the Edit pulldown menu and the Instance popup menu. You can replace selected instances with the active symbol, or you can choose a replacement symbol from a library, or you can enter the pathname of the replacement symbol in a dialog box. To replace selected instances with the active symbol, choose the Active Symbol > Replace Selected menu item. Replace Instance is also available in the Palette popup menu. To replace a selected symbol instance by choosing the replacement symbol from a library (when you do not know the pathname), perform the following steps: 1. Display the library that contains the desired component, as described in Choosing and Placing Symbols in this chapter. 2. Choose the Palette > Replace Instance menu item. 3. Click the left mouse button on the desired component in the library. If no instances were selected, you will be warned that the replace did not occur because no instances were selected to be replaced. Select the instance to replace, then select the replacement symbol. The Palette > Replace Instance menu item changes to Palette > Add Instance, indicating that the next component selected from a library will be instantiated on the sheet. Instance > Replace > From Library Menu and Edit > Replace > From Library Menu are used in the same manner. Select the instance to be replaced, then choose the menu item. These methods use the default replacement property merge set by the specific library menus. Mentor Graphics library menus set the default to -Clear. To replace a selected symbol instance with the active symbol, choose the desired property merge from the Instance > Replace > Active Symbol > submenu. If you know the pathname to the replacement component, select the instance(s) to be replaced, then choose Instance > Replace > Other. The Replace Instance dialog box displays for you to enter the pathname. If you want a symbol other than

3-22

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Replacing Multiple Instances

the default, or a property merge other than -Clear, click the Options? YES button and enter the appropriate information.

Replacing Multiple Instances


Replace Instance Mode allows you to repeatedly select instances and replace them with different symbol instances from a library. You can select and replace instances continually until you exit the mode. Use the following steps to replace multiple instances using the Replace Instance Mode: 1. Display the library that contains the desired symbols as described in Choosing and Placing Symbols in this chapter. 2. Select an instance to replace on the schematic sheet. 3. Choose the Edit > Replace > From Library Menu. You are now in Replace Instance Mode. 4. Click the library symbol you want to replace the instance with. The instance is replaced with the library symbol. 5. Select another instance on the schematic sheet and click the library symbol you want to replace the instance with. The instance is replaced with the library symbol. 6. Repeat Step 5 until all instances are replaced. 7. Right click on the palette menu and select Instance Replace Mode Off to exit the Replace Instance Mode.

Using Repeating Instances


A repeating instance is a short-hand way to specify a simple FOR Frame. A repeating instance enables you to repeat a single instance by entering a one-dimensional range in the INST property; for example, INST = XINST(3:0).

Design Architect-IC Users Manual, v8.9_10

3-23

Using Nets, Buses and Net Bundles

Creating Schematics

Using this optional range in the INST property value defines the number of times the instance is repeated and how the nets are connected to each repeated instance. Connections are implied by the ratio of the dimensions of a connected wire or bus to the dimensions of the pin of the repeated instance. The system creates a FOR frame to match the expression and connectivity of the repeated instance when the sheet is written to the EDDM database. Because a FOR frame is created for a repeating instance, downstream tools are not able to tell the difference between a real FOR Frame, and the short-hand FOR Frame of a repeating instance. Repeating instances should be used only in simple cases. For more robust purposes, you should use standard FOR frames.

Using Nets, Buses and Net Bundles


A net is the fundamental unit of connection. A net with a single connection is called a wire. A net composed of a set of wires is called a bus. And a net composed of a group of wires and buses is called a net bundle. Nets bind instances of symbols together at their pin locations through multiple hierarchies of the design. Nets on the same sheet, and different sheets in the same schematic (having the same name), are automatically tied together. A single net can not have the same name as a bus or bundle. For example, naming a single net DATA and a separate bus DATA(4:0) is not allowed. Proper net connectivity is defined by a set of checks, described in Appendix C, Design Checks. Bus have the same electrical meaning as a set of individual wires collected together. Buses have a defined width, derived from the number of elements in the bus. The expression A(0:15) defines a bus with a width of 16 wires. Each wire is referenced sequentially: A(0), A(1), ..., A(15) through the array. Net bundles are a means of collecting a set of signals into a logical unit in a single schematic. Net bundles cannot span the design hierarchy. Proper net bundle connectivity is defined by a set of checks, described in Appendix C, Design Checks.

3-24

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Using Nets, Buses and Net Bundles

Drawing and Routing Nets


Unconnected wires, buses, and pins cause warning messages when you check the schematic sheet. If you want to indicate that an unconnected wire, bus or pin is valid, use the Class Property. All input wires and buses should begin with a portin or offpag.in component from the gen_lib component library. Similarly, output nets and buses should be terminated with a portout or offpag.out component. If this is not done, warnings may result. See Choosing and Placing Symbols in this chapter. To draw a net, perform the following steps: 1. Click on the schematic_edit [Add] Wire palette item, or execute the Add > Wire popup menu item. The Add Wire prompt bar displays on the screen, prompting you to select the beginning net vertex location. 2. Position the cursor where the net is to begin (usually, at an instance pin location). Click the left mouse button. This is the start of the net segment, and is identified by the moving pointer. 3. Move the cursor to where the net segment is to end, and click the left mouse button. The net segment is created from the start point to the one you just specified; notice that the moving pointer moves to the end of the new net segment. 4. To continue the net, move the cursor to the vertex, and click the left mouse button. You can continue net to as many points (vertices) as necessary. Notice, at each net vertex there is a small hollow dot. 5. To complete a net, double-click the left mouse button. The Add Wire prompt bar is still displayed. Follow steps 1 5 to add more net segments. To exit from the Add Wire mode, click the Cancel button on the prompt bar. As you create net segments, and before the net is unselected, they can be deleted with the Delete key or the Backspace key.

Design Architect-IC Users Manual, v8.9_10

3-25

Using Nets, Buses and Net Bundles

Creating Schematics

Automatic Net Routing


When automatic routing is turned on, the Route command is automatically called after each net is drawn. The net router defines an orthogonalized pathway for a connected net that avoids instance extents, comment objects, and other nets. The net router utilizes the pin snap grid as the routing grid. If net vertices are not on the grid, they are not routed. Routing performance is faster if the pin snap grid is set to a value larger than one pin interval during the route operation, and then set back for component instantiation. To set up automatic net routing, perform the following steps: 1. Activate the schematic window by clicking in an open schematic design. 2. Choose the Setup > Objects... menu item. 3. Choose the Nets button. 4. Enable Auto Route On by clicking the ON button in the lower right of the Setup Objects Nets dialog box. Nets are now automatically routed as drawn.

Connecting and Disconnecting Net Vertices


After moving or copying objects, you may need to change some net connections. A not-dot on a vertex indicates that not all segments passing through the vertex are connected, even though they appear to be connected.

To force connections for an instance or an area, select the instance or area,


then choose the Edit > Connect > Connect Selected menu item.

To force connections at all not-dot locations on a sheet, choose the Edit >
Connect > Connect All menu item. The not-dots disappear, indicating there is an electrical connection. DA-IC replaces the not-dots with junction dots at overlapping net segments.

3-26

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Using Nets, Buses and Net Bundles

To disconnect nets, choose the Edit > Disconnect > Selected Area, or
Edit > Disconnect > Disconnect All, or Edit > Disconnect > Disconnect Area: menu item.

Understanding Basic Pin, Bus, and Net Naming Syntax


A net name is defined by selecting the net vertex and adding a Net property with a string value that becomes the net name. A discussion about property name/value restrictions can be found in Property Name/Value Restrictions in Chapter 7, Using Properties. Pins, wires, and buses are named using the following syntax: name = AMPLE_expression or explicit_name explicit_name=base_name[left_delimiter[dimension;...]right_delimiter...,[] ...] base_name = string with no delimiters, or slashes left_delimiter = '[', '(', or '<' right_delimiter = ']', ')', or '>' dimension = range...[,range] range = field or field:field field = AMPLE_expression or number The enclosed left and right brackets denote an optional block. The ... characters denote an optional repeating block.

AMPLE_expression must comply with AMPLE syntax and evaluate to a


valid explicit_name.

explicit_name is the base_name of the pin or net (bus), plus an optional


array description. The base_name can be any legal name allowed in Design Architect-IC. No space is allowed between the base_name and the

Design Architect-IC Users Manual, v8.9_10

3-27

Using Nets, Buses and Net Bundles

Creating Schematics

delimiters. If an array is specified, delimiters (square brackets or parentheses) are required.

base_name is a text string with no delimiters or slash characters. dimension defines an array of nets delimited by either brackets,
parentheses, or angle brackets. Multiple dimensions can be defined inside a set of delimiters and separated by a semicolon. The following list describes some array descriptions for single and multiple dimensional arrays:

(2) -- Defines a single pin or net labeled 2. (0:15) -- Defines an array of pins or nets labeled 0, 1, and so on, up
to 15.

(1,3,5,7) -- Defines an array of pins or nets labeled 1, 3, 5, and


7.

(0:2; 0:2) -- Defines a two-dimensional matrix with array elements


labeled 0,0, 1,0, 2,0, 0,1, 1,1, 2,1, 0,2, 1,2, and 2,2. For information on ripping bits from a two-dimensional bus, refer to Special Instances in this chapter.

Naming Nets
You can name one or more selected nets by clicking on the schematic_edit palette [Name] Net palette item, or by choosing the Net > Name Nets popup menu item. A net must be selected (not a vertex). A prompt bar displays as follows:

If there is no Net property on the net, you are prompted to add one. If there is already a Net property on one of the vertices, you are prompted
for a new Net property value.

If there is already a Net property, but it is not attached to any of the selected
vertices, you are prompted to place another Net property of the same value

3-28

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Using Nets, Buses and Net Bundles

on one of the selected vertices. If you want, you can change the current property value at the same time. In all cases, the Net property is added to only one of the selected vertices.

Changing Net Names


A net should always terminate at a component pin or connect with another net at a junction. The components portin, portout, offpag.in, and offpag.out provide net termination. By default, the portin and portout symbols assign the name NET to an unnamed net when attached. If two nets have the same name, the simulator sees them as being connected. Use the following steps to change a net name: 1. Select the net. 2. Select Name > Net on the schematic_edit palette menu. 3. When the prompt bar appears on the screen, type in the new value. 4. Click OK on the prompt bar. The new net name displays at the same location.

Renaming all Segments of a Net


Use the following steps to select and rename all the segments of a net: 1. Select all the nets with the same name. For more information, see Selecting all Nets with the Same Name in chapter 2. 2. Select Name > Net on the schematic_edit palette menu. A prompt bar displays. 3. Enter the new name in the New Value field. 4. Click OK on the prompt bar. The new name displays on the net.

Design Architect-IC Users Manual, v8.9_10

3-29

Using Nets, Buses and Net Bundles

Creating Schematics

Moving Net Names


Sometimes, after placing a net property value on the sheet, you may decide that you want it somewhere else. To save the effort of deleting the property and adding a new one, you can move the net property text value by completing these steps: 1. Place the cursor on the text you want to move. 2. Press F7 (Select Text and Move) and hold it down. Notice that you do not have to select the text beforehand; this is done automatically for you. 3. A ghost image of the text outline displays when the mouse is moved. Move the mouse until the text is positioned where you want it. 4. Release F7 (Select Text and Move) to lock in the new position of the text. The net property text value is now in its new location.

Terminating a Dangling Net


All input nets and buses should begin with a portin or offpag.in component from the gen_lib component library or any other component with a Class = P or Class = O property value. Similarly, output nets and buses should be terminated with a portout or offpag.out component. If this is not done, warnings can result. See Choosing and Placing Symbols in this chapter for details about how to place these components onto your schematic. See Assigning Properties in chapter 7 for details on how to add property values.

Declaring Dangling Nets and Pins


You can specify that a dangling net vertex or instance pin is valid and should not be reported by the Check command when you check the schematic. You do this by attaching the Class property with a value of dangle to any unconnected net, bus, or instance pin that you want the Check command to recognize as valid.

3-30

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating a Bus and Bus Connections

When you attempt to add the Class property to a pin or net, you may receive the following error message:
// Warning: Added 0 properties (1 failed for bad owners) (from: Capture/gdc/warning B6)

If this occurs, use the Set Property Owner command to declare pins and/or nets as valid owners of the Class property, then add the property to the pin or net.

Creating a Bus and Bus Connections


Buses let you represent multiple nets without drawing them individually. This increases drawing speed, reduces space requirements, and increases readability. Figure 3-8 shows a typical bus: four inverters connected into a bus for a set of output nets.
0 0 0 1 0 0 2 0 0 0 0 3 Out(0:3)

Figure 3-8. A Bus Connected to a Four-Wide Output Port The following topics describe procedures that demonstrate:

How to create and represent buses How to run individual lines from the bus through the use of bus rippers
Information is also presented on the use of the netcon component, which is used to connect two nets that have different Net property values.

Design Architect-IC Users Manual, v8.9_10

3-31

Creating a Bus and Bus Connections

Creating Schematics

Creating a Bus
You create a bus by assigning a net name that defines an array of nets. For example, a bus could use the following naming conventions: bus_net_name(msb:lsb)

bus_net_name is the name of the net that represents the bus. It can be any
legal name allowed in DA-IC. No space is allowed between the name of the bus net and the parenthesis, and the parenthesis is required. An example of a bus name is address.

msb is the most significant bit of the bus. No spaces are allowed between
the msb, the first parenthesis, and the bus_net_name. The colon must follow the most significant bit, with no intervening spaces.

lsb is the least significant bit of the bus. The final parenthesis follows the
least significant bit of the bus. Downstream applications such as Design Viewpoint Editor-IC (DVE-IC) and AccuSim II interpret buses based on bit ordering; the bit appearing first is considered to be the msb (that is, 0:7 labels bit 0 as the msb, whereas 7:0 labels bit 7 as the msb). When DA-IC compares or evaluates values on a bus, it scans the range of bit values from left to right. You can arrange your wires in ascending order (from left to right), or you can arrange your wires in descending order (from left to right). Regardless of the way you number the wires in your bus, you must always be consistent within your design. Portions of the same bus must always have its wires arranged in the same order. When you name buses, keep the following limitations in mind:

The least significant bit and most significant bit must be non-negative. No suffix is allowed following a right parenthesis. Therefore, net name
A(10) is legal, but name A(10)IN is illegal. If such suffixes are encountered, the Check command reports an error.

3-32

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating a Bus and Bus Connections

An example of a full bus name is address(31:0). This name represents the following:

A bus whose name is address A bus whose wires range from 31 to 0 (zero)
Again, the ordering of the bits is a convention that you establish within your schematic. DA-IC only checks that the bus lines define legal limits and numbers. To create a bus from a net, perform the following steps: 1. Draw the bus: a. Click on the schematic_edit pallet [Add] Bus/Bundle palette item, or choose the Add > Bus/Bundle popup menu item. b. Press the left mouse button at the start location for the bus. c. Move the mouse cursor to the end location of the bus, and double-click the left mouse button. d. Click Cancel on the prompt bar to terminate the Add Bus command. 2. Name the bus: a. Select a vertex on the bus segment by clicking the left mouse button on one of the vertices. b. Click the Net > Name Nets > [Properties] Add popup menu. The Add Multiple Property dialog box displays. c. Type Net in the Property Name text box. d. Select NET in the Existing Properties Names list. e. Type the name that defines the bus in the Property Value text box. f. Press OK. See Figure 3-9.

Design Architect-IC Users Manual, v8.9_10

3-33

Creating a Bus and Bus Connections

Creating Schematics

Figure 3-9. Add Multiple Properties Dialog Box g. Move the cursor in the schematic window. Press the left mouse button, and drag the property name text to the location to where you want it displayed. Release the mouse button.

3-34

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating a Bus and Bus Connections

Using Multi-Dimensional Buses


The expression B(0:2;0:2) defines a 2-dimensional bus which is a 3 X 3 matrix as shown in Figure 3-10: Figure 3-10. A Multi-Dimensional Bus
B(0:2;0:2)

B(0;0)

B(0;1)

B(0;2)

B(1;0)

B(1;1)

B(1;2)

B(2;0)

B(2;1)

B(2;2)

The following are two more examples of multi-dimensional buses: A(2,5;1:4) is a 2 X 4 matrix with the following eight wires: A(2;1), A(2;2), A(2;3), A(2;4), A(5;1), A(5;2), A(5;3), A(5;4). Z(0:1;0:1;0:1) is a 2 X 2 X 2 matrix with the following eight wires: Z(0;0;0), Z(0;0;1), Z(0;1;0), Z(0;1;1), Z(1;0;0), Z(1;0;1), Z(1;1;0), Z(1;1;1). Downstream applications using the DFI procedural interface (for ! example, Board layout applications) may not be able to recognize Caution and utilize multi-dimensional buses, such as A(0:7;0:7), since they consider a multi-dimensional bus to be a single net joining all attached pins.

Representing a Bus Graphically


To increase the readability of your schematic, you can represent buses with different graphical rendering (line width and style). The default bus width is three

Design Architect-IC Users Manual, v8.9_10

3-35

Using Bus Rippers

Creating Schematics

pixels, and the default style is solid. To change the graphical rendering for the bus, perform the following steps: 1. Click the left mouse button on the bus graphic to select it. 2. To change the graphical rendering for the bus width, select the desired Net > Change Net > Width > 1 pixel | 3 pixels | 5 pixels | 7 pixels menu item. 3. To change the graphical rendering for the bus style, select the desired Net > Change Net > Style > Solid | Dot | Long Dash | Short Dash menu item.

Using Bus Rippers


On a schematic sheet, you may be required to run individual lines from the bus to either another bus or a component. To accomplish this on your schematic, you need a special component called a bus ripper. A bus ripper connects individual lines or sub-buses from a source bus to a destination wire, bus, or device pin in a precise order. The bus ripper has a Class property value of R, indicating that the component is used to extract a range of lines from a bus (see Table 7-4, Structured Logic Design Properties in Chapter 7). The following topics provide information about the bus ripper component, and directions for connecting a bus ripper to a DRAM with eight data pins.

3-36

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating a Bus Ripper Component

Creating a Bus Ripper Component


You can find the bus ripper component in $MGC_IC_GENERIC_LIB/rip. Figure 3-11 shows a bus ripper for connecting eight wires to a bus. Figure 3-11 represents only one type of bus ripper (8x1); many other types are also available.

Figure 3-11. A 8x1 Bus Ripper from $MGC_IC_GENERIC_LIB/rip Table 3-1 describes the variations of the bus ripper that are available: Table 3-1. Available Bus Rippers in $MGC_IC_GENERIC_LIB/rip Symbol Name 1X1 1X2 1X3 1X4 1r1 1r2 2X1 3X1 4X1 8X1 16X1 Description 1 wire wirex 1 grid 1 wire x 2 grids 1 wire x 3 grids 1 wire x 4 grids 1 wire x 1 grid, rounded corner 1 wire x 2 grids, rounded corner 2 wires x 1 grid 3 wires x 1 grid 4 wires x 1 grid 8 wires x 1 grid 16 wires x 1 grid

To select and activate an instance of a bus ripper symbol on a schematic sheet, perform the following steps:

Design Architect-IC Users Manual, v8.9_10

3-37

Creating a Bus Ripper Component

Creating Schematics

1. Click the left mouse button on the Library palette item. This displays the various libraries available. 2. Click the left mouse button on Generic Lib in the library palette. This displays the components in $MGC_IC_GENERIC_LIB. 3. Scroll down the component names until you see Bus Rippers. Click on the Bus Rippers palette item, and DA-IC displays the list of bus ripper symbol names shown in Table 3-1. 4. Click on the name of the desired symbol. The Place Active Component prompt bar displays. 5. Move the cursor to the schematic window. Press the left mouse button and hold. A ghost image of the symbol displays. Drag the ghost image to the desired location, and release the mouse button. Each bus ripper pin owns a Rule property. This property tells you which lines to extract from a source bus. Figure 3-11 shows each bus ripper pin having this property, as identified by the series of eight R characters. The Rule property, called the Ripping Rule, identifies the bus lines that the ripper taps. When the bus ripper is first instantiated, each Rule property is set to a default value of R. You must change this property to identify what line or lines of the source bus are connected to an attached net, pin, or sub-bus. For example, if you change the Rule property to 1, then any pin or net attached to that ripper is connected to the number one wire of the bus. You must not leave the Rule property unchanged, or you will produce an error when you check the sheet.

3-38

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating a Bus Ripper Component

Each bus ripper component has at least two pins: the wire end and the bundle end. Figure 3-12 shows a 1x1 bus ripper illustrating the wire end, the bundle end, and the Rule property.
Wire End -->

R
<-- Bundle End

<-- Rule Proper

Figure 3-12. Bus Ripper Symbol The bundle end is actually a pin that has a Pin property value called bundle. The wire end is also a pin, and (for Mentor Graphic-supplied bus rippers) has a Pin property value called wire. The property value is not required to be wire. If you want to create your own bus ripper component, your bus ripper component must have only one pin whose Pin property value is bundle. Each other pin must own a Rule property, and the symbol body must own a Class property with a value of R. If your bus ripper does not have these characteristics, then your bus ripper will not work correctly in DA-IC. In addition, when you tap a source bus with your own bus ripper, you must obey the following connection rules:

The bundle end must always be graphically connected to the bus you want
to tap. If you are connecting two buses together, then the bundle end must be connected to the source bus (the bus whose wires you want to tap).

When you connect the wire end, it must be connected to a single net that
represents a single wire or a range of tapped wires (destination bus).

If you are connecting a source bus to a destination bus (sub-bus), then the
wire end must be connected to the destination bus.

Design Architect-IC Users Manual, v8.9_10

3-39

Creating a Bus Ripper Component

Creating Schematics

Figure 3-13 shows how the bundle and wire ends must be connected to a bus. The bundle end must be connected directly to the bus you want to tap.

Bus Installation
BUS(0:7) BUS(0:7)

Wire

Wire

Bundle end extends towards bus

Yes If a bus is installed backward, you will receive an error when a Check command is executed.

No

Figure 3-13. Installing a Bus Ripper Bus rippers allow you to tap the entire source bus or a specific range of wires. That is, bus rippers are not restricted to tapping only single wires. Figure 3-14 shows an example of a bus NETS(3:0), created by bundling individual wires, and a sub-bus called STROBES(127:126) branching off a larger bus. Bus ripper components from $MGC_IC_GENERIC_LIB are used in both cases. The STROBES bus taps the bus wires NETS(3) and NETS(2) (which are the same as the wires named QB and Q, respectively), and assigns them to STROBES(127) and STROBES (126). Therefore, the following wires are equivalent: QB = NETS(3) = STROBES(127) and Q = NETS(2) = STROBES(126)

3-40

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating a Bus Ripper Component

Bus Rippers
CLK o 0

CLR

QB

NETS(3:0)

3:2 STROBES(127:126)

Figure 3-14. A Bus with a Connected Sub-Bus You must alter the Rule property in a special manner when you run a group of wires from a source bus. Figure 3-15 illustrates the following rules for connecting sub-buses through the use of a bus ripper:

The Rule property value specifies a range of wires to be extracted. You can
use the following methods to identify which wires you want to tap: a. The Rule property value follows the range of nets to be ripped. The range format bus_line1:bus_line2 represents the beginning and ending wires of a range of wires to be tapped. The colon must be present between the numbers, with no intervening spaces. For example, 0:10 is a legitimate way to specify that you want to tap the first to eleventh wires of the bus as a range. b. The Rule property value can specify a group of non-sequential wires by the format wire, wire, [wire]; wire can be any wire on the bus. If the source bus wires are in ascending order, then the order of the tapped wires must be in ascending order. If the source bus wires are in descending order, then the order of the tapped wires must be in descending order. Here are legitimate examples: 0, 3, 6, 9 or 8, 6, 3.

Design Architect-IC Users Manual, v8.9_10

3-41

Connecting a Bus Ripper

Creating Schematics

c. The Rule property value can mix single wires with a range of wires. Here are legitimate examples: 0, 3, 5:12 or 20:10, 7 d. The Rule property can be parameterized, allowing the same schematic sheet to be used in different designs which require different wires to be extracted from a bus. Here is an example of a parameterized Rule property: w, x, y, z. In this example, a value must be supplied, using the Add Parameter command for each parameter in DVE-IC. A value can be supplied in DAIC with the Set Parameter command. If no value is supplied to the parameter in DA-IC, a warning message undefined parameters occurs when the schematic is checked.

The most significant bit and the least significant bit must match. If you
always put the least significant bit first when you name a bus, you must continue to follow that convention. The same holds true if your naming convention puts the most significant bit in the first position of the bus name.

QB 3 NETS (3:0) 3, 0 STROBES (127:126)

The Rule property designates the MSB of the NETS bus to go to bit 127 of the STROBES bus. The LSB goes to bit 126.

Figure 3-15. A Bus Ripper Extracts a Range of Lines

Connecting a Bus Ripper


The following steps show you how to connect the address pins of a 4164_20 DRAM to an 8x1 bus ripper, and then how to connect the bus ripper to a bus.

3-42

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Connecting a Bus Ripper

1. Place the source bus, address(7:0), an 8x1 bus ripper component, and the DRAM component onto your schematic sheet, as shown in Figure 3-16.
address(7:0)

R R R R R R R R A0 A1 A2 A3 A4 A5 A6 A7 D 4164_20

_RAS _CAS _W

Figure 3-16. Basic Layout 2. Flip the bus ripper component vertically, by first selecting the bus ripper component and then executing the Instance > Flip > Vertical popup menu item. To flip and also move the bus ripper, execute the Instance > Move > Flipped > Vertical popup menu item. 3. Draw a net segment between the wire end of each separate bus ripper to a pin on the memory component. To draw a net segment from the top-most pin on the bus ripper to the top-most pin on the memory component, perform the following steps: a. Select Add > Wire from the Add popup menu. b. Click the left mouse button on the bus ripper pin. c. Move the cursor to the corresponding pin on the memory component, and double-click with the left mouse button. d. Repeat steps b and c for all the bus ripper pins. e. Click Cancel in the prompt bar.

Design Architect-IC Users Manual, v8.9_10

3-43

Connecting a Bus Ripper

Creating Schematics

4. Change the Rule property of each separate bus ripper pin to indicate what wire you want your DRAM pin to match. For example, if you want pin A0 to connect to address(0), then you must change the Rule property value of the given bus ripper to 0. To change the Rule property value of each individual bus ripper, perform the following steps: a. Click the left mouse button on the Schematic palette item, and select the Text palette item. The schematic_text palette displays. b. Select [Edit] Sequence Text palette item. The Sequence Text dialog box displays as shown in Figure 3-17:
Sequence Text
New Prefix New Suffix
Sequence Type Auto Manual Choose Sequence Order... Beginning Index Number 0 Step By 1

Text will be sequenced left to right, top to bottom.

OK

Reset

Cancel

Figure 3-17. The Sequence Text dialog box c. Type the initial index number (for this example 0) that represents the first Rule property value in the Beginning Index Number text box. d. The Step By value determines the difference between sequenced property values. You can also specify a prefix and suffix for the property values.

3-44

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Connecting a Bus Ripper

e. Click Auto for the Sequence Type. f. (optional) Click Choose Sequence Order... to change the sequence order. g. Click OK. h. The Select Area prompt bar displays. Move the cursor to the top of the bus ripper. Press and hold the left mouse button; move the cursor so that all the R property text is within the dynamic rectangle. Be sure no other property text is within the selected area, then release the left mouse button. DA-IC automatically replaces the Rule property values within the selected area. Figure 3-18 shows the memory component and the bus ripper after you complete the preceding steps. Note that all the original R values of each bus ripper have been changed to indicate what bus line a pin goes to.
address(7:0) 4164_20 0 1 2 3 4 5 6 7 A0 A1 A2 A3 A4 A5 A6 _RAS _CAS A7 D Q

Figure 3-18. Fully Connected Bus Ripper 5. Connect the top of the bus ripper to the address(7:0) bus with a net segment. This step does not require you to perform any special actions other than connecting the bus ripper and the address bus. Table 3-2 shows how each pin relates to the address(7:0) bus.

_W

Design Architect-IC Users Manual, v8.9_10

3-45

Instantiating 1x1 Bus Ripper Automatically

Creating Schematics

Table 3-2. Pin and Bus Line Connections Pin Name Data Bus Connection A0 A1 A2 A3 A4 A5 A6 A7 address(0) address(1) address(2) address(3) address(4) address(5) address(6) address(7) Rule Property Value 0 1 2 3 4 5 6 7

Instantiating 1x1 Bus Ripper Automatically


When the ripper mode is set to auto using either the $set_ripper_mode() function or the $setup_ripper() function, DA-IC places a real ripper symbol. At startup, DA-IC uses the 1X1 ripper symbol from the $MGC_IC_GENERIC_LIB/rip component. You can change the default using the $setup_ripper() function.

Using the Automatic 1x1 Bus Ripper


The following steps show an example of using automatic ripper instantiation: 1. Route a wire to a bus; the bus ripper is placed automatically. 2. Select the bus ripper and its net.

3-46

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating an Implicit Bus Ripper

3. Choose Copy > Multiple from one of the popup menus. In the prompt bar, enter the number of additional ripped nets you need. For example, if you need eight bus rippers, enter 7 for the number of copies. 4. Position the first copy, and click the Select (left) mouse button. The copies are created at an equal displacement.

Creating an Implicit Bus Ripper


When you invoke DA-IC, the Implicit ripper is the default. To place an implicit bus ripper, follow these steps: This section contains instructions for the Implicit Bus Ripper only. See Creating an Implicit Bundle Ripper in this chapter for Warning instructions on creating an Implicit Bundle Ripper. 1. In the schematic_edit palette, choose [Add] Wire palette item to display the Add Wire prompt bar. 2. Route the wire between the bus and the object you want to connect using a single click for the beginning of the wire, and a double-click for the end of the wire. If the ripper is set for a 45-degree angle, you will need to take that into account when placing the wire. 3. DA-IC displays the Choose Bus Bit dialog box, which tells you the bus name. Follow these steps: a. Beside Bit, enter the bit of the bus that you are ripping. You can either specify just the bit number, such as 17 from bus data(19:0), in which case DA-IC puts the bus name and parentheses around the bit, or you can specify the entire bus/bit name, such as data(17). b. Click OK. 4. If the wire is routed into an unnamed wide net, DA-IC displays the Name Ripped Net dialog box. Follow these steps: a. Enter the name of the wide net beside Wide Net Name. Using the wide net name, you can create either a bus or a bundle.

Design Architect-IC Users Manual, v8.9_10

3-47

Creating an Implicit Bundle Ripper

Creating Schematics

b. Enter the name of the ripped bit beside Ripped Net Name. Make sure that you enter the entire name, such as out(3) from bus out(7:0). Giving only a bit number will result in an error during a Check Schematic. c. Click OK. The Add Property To Handle prompt bar appears. d. Click the left mouse button in the appropriate location to place the new, wide net name.

Creating an Implicit Bundle Ripper


When you invoke DA-IC, the implicit ripper is the default. To place an implicit bundle ripper, follow these steps: This section contains instructions for the Implicit Bundle Ripper only. See Creating an Implicit Bus Ripper in this chapter for Warning instructions on creating an Implicit Bus Ripper. 1. In the schematic_edit palette, choose [Add] Wire palette item to display the Add Wire prompt bar. 2. Route the wire between the bundle, and the object to which you are connecting it, using a single click for the beginning of the wire and a double-click for the end of the wire. If the ripper is set for a 45-degree angle, you will need to take that into account when placing the wire. 3. DA-IC displays the Choose Bundle Member dialog box. Follow these steps: a. Either select the bundle member to be ripped from the list of members, or enter the name of a bundle member in the Bundle Member entry field. Text that you enter will override any selections made in the list. b. Click OK. 4. If the wire is routed into an unnamed wide net, DA-IC displays the Name Ripped Net dialog box. Follow these steps:

3-48

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Using the netcon Component

a. Enter the name of the wide net beside Wide Net Name. You can create either a bus or a bundle using the wide net name. b. Enter the name of the ripped bit beside Ripped Net Name. Make sure that you enter the entire name, such as out(3) from bus out(7:0). Giving only a bit number will result in an error during a Check Schematic. c. Click OK. The Add Property To Handle prompt bar appears. d. Click the left mouse button (in the appropriate location) to place the new, wide net name.

Using the netcon Component


The net connector component $MGC_IC_GENERIC_LIB/netcon is used to connect together two nets that possess different Net property values. In DA-IC, the result is a single net with two names. But when the schematic is evaluated, the two property values become the same. There are several occasions when you might want to use the netcon component. For example, you might be copying a portion of an earlier schematic into the one you are currently working on, and find a mismatch in the names of some of the wires on the two designs (for example, you named the reset line Reset on one design, and Rst on the other). By connecting the appropriate nets together with netcon, you can avoid changing either of the Net property values. Although use of netcon may be convenient at times, if it is used too often, the time spent in evaluating the design can increase dramatically.

Note

Creating and Naming a Net Bundle


You can create a net bundle by adding a Net property to a wide net. The value of the Net property must include a comma-separated list of nets, buses, and/or other

Design Architect-IC Users Manual, v8.9_10

3-49

Creating and Naming a Net Bundle

Creating Schematics

net bundles. Specifically, net bundle syntax requires a list to be enclosed in curly braces {}; for example, {ground,clk,data(15:0)}. A member of a net bundle is defined as a net, bus, or nested bundle contained in the list of a net bundle. If a bundle includes a nested bundle, the members of the nested bundle must be enclosed within curly braces. For example: {clk,data(15:0),{ground,out(15:0)}}. A net bundle list can be preceded by a bundle name, such names cannot be expressions or include parentheses, square brackets, curly braces, or slashes. For example: BUND{ground,clk,data(15:0)}. You can refer to an existing bundle without (again) listing its members by using the bundle name and empty curly braces, but only if the full list of members have been defined elsewhere on the sheet or on another sheet of the schematic. For example, BUND{} identifies the same net bundle as BUND{ground,clk,data(15:0)} within the same schematic. A net bundle definition can span multiple sheets of a schematic. You create a net bundle using the following steps: 1. Draw a wide net on a sheet. 2. Select the new net. 3. Use the schematic_edit palette [Name] Net item to name the net using bundle syntax within the value of the Net property. You can edit a net bundle by changing the value of the Net property. Errors caused by editing the syntax of a net bundle are identified only when the sheet or schematic is checked. For more information on creating properties, refer to Assigning Properties in chapter 7. Net bundles have the following characteristics:

A net bundle can contain nets, buses, and other net bundles. A net can be contained within different net bundles.

3-50

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating and Naming a Net Bundle

Only one net bundle in a schematic needs to list the contents; all other
occurrences of the net bundle can use the bundle name followed by {}.

The contents of all occurrences of a named net bundle in a schematic must


be the same; there cannot be two net bundles of the same name in the same schematic, but containing different members.

A net that is a member within a bundle is the same as the net by itself; a new
net is not created when it is placed in a bundle.

A net bundle can have properties. However, the properties on a net bundle
are not propagated to the individual members, since a net or bus can be in multiple net bundles, and there is no way to determine which property should be used if a conflict occurs.

The order in which the members are specified in a net bundle defines their
position. Two declarations of the same net bundle, where the members are listed in a different order, will produce an error when the sheet is checked.

The position of a member in a net bundle is important when connecting to


pins.

A net can appear more than once in a single net bundle. A net can be ripped more than once from a net bundle. A net bundle can connect to pin bundles or wide pins. The connection
between the members in a net bundle, and the members in a pin bundle or a wide pin, is mapped by position.

A net bundle can be connected through a Net Connector to another net


bundle of the same width, or to a bus of the same width.

The width of a net bundle is the total number of individual nets and bus bits
in the bundle. If a net bundle contains a bus, the bits of the bus are counted in the width, but not the bus itself. The same is true for the elements of a net bundle included in another net bundle.

The width of the net bundle must match the width of a connecting pin
bundle or wide pin.

A net bundle name cannot be a parameterized expression.

Design Architect-IC Users Manual, v8.9_10

3-51

Ripping Members from Net Bundles

Creating Schematics

Nets are ripped by name from a net bundle; the ripped net must exist in the
net bundle.

A net bundle can contain parameterized buses. The name of a bundle member must be explicit; names generated through
evaluating an AMPLE expression are not allowed. Net bundles are named using the entire Net property. Thus the net bundle B{x,y} is named B{x,y}, whereas the bus B(3:0) is named B.

Note

Ripping Members from Net Bundles


You can rip members from net bundles by name, which is similar to ripping bits of a bus by bit position. To rip a member of a net bundle, follow these steps: 1. Choose the schematic_edit [Add] Wire palette item to display the Add Wire prompt bar. 2. Connect the net bundle and the object to which the new wire leads; the Choose Bundle Member dialog box appears. 3. Choose a member from the list or enter the name of the member you want to rip from the bundle beside Bundle Member. 4. Click OK. The name of the ripped bundle member appears beside the wire and is now the value of the Net property for that wire. Figure 3-19 illustrates the Choose Bundle Member dialog box.

3-52

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating Multi-Level Designs

Choose Bundle Member


Members on attached bundle:

Clk gnd data(19:0)

Bundle Member: Clk OK Reset Cancel

Figure 3-19. Choose Bundle Member Dialog Box

Creating Multi-Level Designs


The following topics contain some of the procedures used for schematics that have multiple sheets and/or multiple levels of hierarchy. For information on viewing a design hierarchy, see Viewing Design Hierarchy in Chapter 9.

All non-primitive instances must be associated with a model. Instances of symbols cannot contain references to itself.

Creating a Schematic-Based Block


Schematic-based blocks are helpful when creating top-down designs. A schematic-based block is a symbol (usually rectangular) that represents a high level of functionality. You can create lower-level descriptions for each block. Use the following steps to create a schematic-based block: 1. Create comment graphics by clicking the left mouse button on the schematic_edit [Add] Rectangle pallet item.

Design Architect-IC Users Manual, v8.9_10

3-53

Creating Multi-Level Designs

Creating Schematics

2. Press the left mouse button to specify one corner of the rectangle, hold the button down as you move the cursor to the diagonally opposite corner of the rectangle, then release the mouse button. 3. Add pins by choosing the [Add] Pin palette item. 4. Add properties to the comment graphics. 5. Select the comment graphics, property text, and pins. 6. Execute the Edit > Make Symbol menu item. The Make Symbol dialog box displays for you to enter a component name, and (optionally), a symbol name and interface name. See Figure 3-20.

3-54

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating Multi-Level Designs

Figure 3-20. Generate Symbol Dialog Box 7. After you click OK, the newly-created symbol is checked. If it passes the required checks, the symbol is saved, and automatically registered with the default interface. The symbol is then instantiated on the sheet, replacing the comment graphics and symbol pins. Make Symbol is described in the Design Architect-IC Reference Manual.

Design Architect-IC Users Manual, v8.9_10

3-55

Creating Multi-Level Designs

Creating Schematics

Creating a Sheet for a Symbol


The following procedures describe two of the methods by which DA-IC can automatically create a partial sheet for an existing symbol. In the Schematic Editor, perform the following steps: 1. Select the symbol instance for which you want to create a sheet. 2. Choose File > Open Down > Choose Model. The Open Down dialog box displays. 3. Click on the New Sheet button. The dialog box now contains text entry boxes for schematic and sheet names. 4. The default names for the schematic and sheet display in the dialog box. Note that sheet1 may change to sheet2 if the symbol already contains a sheet1. 5. DA-IC automatically creates I/O ports from the pins on the symbol. If you do not want this option, click the appropriate No button. 6. Specify a startup file for this sheet by clicking Yes, and entering the pathname to the startup file in the text entry box. 7. After you click OK, DA-IC opens an editing window on the new sheet. If you request I/O ports, there will be a portin, portout, or portbi symbol instance on the sheet for each pin on the symbol. The Net property value attached to each of these instances is the same as the Pin property value on the corresponding pin. 8. Now, the sheet is ready for you to add nets and other instances. To create a sheet for a symbol that you have opened in the Symbol Editor, perform the following steps: 1. If the symbol has not been checked, check and save it, before creating a sheet for it. 2. Choose the Miscellaneous > Create Sheet menu item. This displays the Create Sheet dialog box.

3-56

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating Multi-Level Designs

3. You can change the default schematic and sheet names, if desired. Specify whether to replace an existing sheet of the same name. 4. When you click OK, a sheet generates with portin and portout symbols corresponding to the pins on the symbol.

Creating Additional Sheets in a Schematic


To create a second sheet on the same hierarchical level of a schematic, perform the following steps: 1. Click on [Open] Schematic on the session_palette. 2. In the Open Schematic dialog box, enter the component name, and click the Options... button. The Open Schematic Options dialog box displays as illustrated in Figure 3-21.

Figure 3-21. Open Schematic Options Dialog Box 3. Change the default sheet name from sheet1 to sheet2.

Design Architect-IC Users Manual, v8.9_10

3-57

Creating Multi-Level Designs

Creating Schematics

4. Click the appropriate button if you want Auto Update Mode enabled. 5. If a specific startup file used, enter the path. Then click OK on each dialog box. 6. A new sheet is displayed in a Schematic Editor window. You need to place $MGC_IC_GENERIC_LIB/offpage.in and $MGC_IC_GENERIC_LIB/offpage.out connector symbols on the sheets to establish electrical connectivity.

Using Off-Page Connectors


Off-page connectors are used to intentionally connect nets having the same name on different sheets in a schematic. Mentor Graphics supplies off-page connectors in $MGC_IC_GENERIC_LIB. Generally, offpage.in connectors are on the left side of the sheet, and offpage.out connectors are placed on the right side of the sheet. There is also an offpage.bi symbol for bidirectional nets. Suppose you have a net named DATA that begins on sheet1 and extends beyond the right side of the sheet. DATA continues on the left side of sheet2. Follow these steps to connect the nets: 1. Open sheet1. Press Ctrl-H to display the symbol history list. Click the left mouse button on offpage.out in the list to activate the symbol. 2. Click on the end point of the net named DATA near the right side of the sheet. 3. In the schematic_edit window, click Check & Save for sheet1. 4. Open sheet2. Press Ctrl-H to display the symbol history list. Click on offpage.in in the list. 5. Click on the end of DATA, near the left side of the sheet, to place the symbol instance. 6. In the schematic_edit window, click Check & Save for sheet2.

3-58

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating Multi-Level Designs

7. Choose the File > Check Schematic menu item. A report generates that flags any mismatched off-page connectors and any nets having the same name, but no connectors.

Using Portin and Portout Symbols


Ports connect Net names on a sheet to Pin names on the symbol that represents that sheet. Mentor Graphics supplies portin, portout, and portbi components in $MGC_IC_GENERIC_LIB for input nets, output nets, and bidirectional nets, respectively. To add port symbol instances to the sheet you are editing, perform the following steps: 1. Press Ctrl-H to display the active symbol list. Click on portin in the list to activate the symbol. 2. Position the cursor at the beginning of an input net, and press F5 (Place Symbol). 3. Click on the sheet to place the portin instance. Repeat for each input net. Notice that each portin symbol instance has a Net property attached, and all have a value of NET. 4. Using the mouse, enclose the Net property text in a dynamic rectangle. The text within the rectangle is selected. 5. Click on the [Edit] Change Value palette item. This displays the Change Property Value prompt bar. 6. When you press the Return key, or click OK on the prompt bar, the selected property text is changed to its new value. The newly changed property text is unselected. Use the same procedure for adding portout or portbi symbol instances and changing Net property values.

Design Architect-IC Users Manual, v8.9_10

3-59

Creating Multi-Level Designs

Creating Schematics

Editing the Underlying Sheet of a Symbol


After you have opened a schematic sheet, you can select an instance on the sheet, and choose one of the models registered to the component instance to edit or view. To open a model for a selected instance, perform the following steps: 1. Select the instance you want to open down into. For information about selecting and unselecting objects, refer to Selecting and Unselecting Objects in Chapter 2. 2. Execute the File > Open Down > Choose Model menu item. The Open Down dialog box appears with a list of registered models. For example, a symbol model, schematic model, Language source, VHDL Entity, or a VHDL Architecture might be chosen. 3. The selected model displays. If a symbol or schematic model is selected, the associated schematic or symbol displays in DA-IC. If a language file is selected, the contents of the model file displays in the default text editor window. For more information on the default text editor, see Setting the Default Text Editor in Chapter 3.

Creating a Symbol for a Sheet


You can generate a symbol for the sheet you are currently editing, or for another sheet, by performing the following steps: 1. Choose the Miscellaneous > Generate Symbol menu item. The Generate Symbol dialog box displays as illustrated in Figure 3-22

3-60

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating Multi-Level Designs

Figure 3-22. Generate Symbol Dialog Box 2. Enter the pathname to the component that will contain the generated symbol in the Component Name field. 3. Enter the name of the symbol to generate in the Symbol Name field. 4. Choose radio buttons that effect the symbol to be created. The following list explains your choices:

Choose to replace an existing symbol that has the same name. Choose to how the generated symbol is initially saved.

Design Architect-IC Users Manual, v8.9_10

3-61

Creating Multi-Level Designs

Creating Schematics

Choose to make the symbol the active. You must choose either the Save
Symbol or Save and Edit radio buttons under Once Generated... to make the new symbol active. 5. Click the Schematic button. 6. Enter the pathname to the component that contains the schematic in the Component Name field. 7. Enter the name of the schematic in the Schematic Name field. 8. If desired, adjust the values in the Pin Spacing, Sort Pins, Component Shape fields. For information on possible values for these fields, refer to the $generate_symbol() function description in the Design Architect-IC Reference Manual. 9. Click OK when you have completed your entries in the dialog box. The generated symbol will have whiskers from the pin to the symbol body. The Pin property text will be placed at the end of the whisker inside the symbol body. Pin locations are determined by the port instances on the schematic sheet. The schematic generator always places user-defined ports on the input side of the symbol, unless the user adds a PINTYPE property to the pin and specifies the value as OUT or IXO.

Note

Creating a Pin List


You can create a pin list for a sheet using the following procedure: 1. Choose the Miscellaneous > Create Pin List item from the main menu bar. The Create Pin List dialog box appears. 2. Enter the pathname to the schematic. 3. Enter the pathname to the pin list file to be created.

3-62

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating Multi-Level Designs

4. If you want to replace an existing pin list file with the same name, click the Yes radio button under Replace existing pin list file?. 5. If you want to edit the pin list, click the Yes radio button under Edit pin list file?. This opens a Notepad window with the generated pin list, after you click OK. 6. If you want the pin information sorted in alphabetical order in the pin list file, click the Yes radio button under Sort Pins?. 7. Click OK when you have completed your entries in the dialog box. For detailed information on the constructs used in the pin list file, refer to the Pin List File Format appendix in the Design Architect-IC Reference Manual.

Displaying a Lower Level Sheet


Use the following steps to open the schematic sheet below a selected instance in a hierarchical design: 1. Open the design and select an instance. 2. Select File > Open Down. Displays the schematic sheet one hierarchical level down from a selected instance determined by the VIEW property. If the sheet is already open, it activates and pops to the front. If a language model is set as the default model with the VIEW property, then the model is opened in the Notepad Editor. 3. For information on setting up a text editor for models, see Setting up a Language Model Editor.

Displaying a Higher Level Sheet


Use the following steps to open the schematic sheet above a selected instance in a hierarchical design: 1. Open the design and select an instance.

Design Architect-IC Users Manual, v8.9_10

3-63

Adding Comment Text and Graphics

Creating Schematics

2. Select File > Open Up. Displays the sheet one hierarchical level up from a selected instance. If the sheet is already open, it activates and pops to the front.

Displaying the Top Level Sheet


Use the following steps to open the top-level sheet for a selected instance in a hierarchical design: 1. Open the design and select an instance. 2. Select File > Open Top. Opens a sheet . Displays the sheet at the top hierarchical level up from a selected instance. If the sheet is already open, it activates and pops to the front.

Locking/Unlocking Schematic Sheet Edits


Assigning the source_edit_allowed property to the parent instance allows you to lock and unlock schematic sheet edits in a multi-level design. Use the following property values:
o true - allows editing of the underlying sheet o false - disables editing the underlying sheet.

For information on adding or changing properties see Adding a Single Property and Changing Property Values in Chapter 7.

Adding Comment Text and Graphics


Comment objects are used for adding non-electrical text to a design. These objects have no electrical significance. Comment objects cannot be instantiated. Add comment text and graphics directly to a sheet in the Schematic Editor. In the Symbol Editor, you create symbol graphics and text, then convert selected objects to comment objects.

3-64

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Adding Comment Text and Graphics

Types of Comment Objects


The following are comment objects:

Arcs Circles Lines Polygons Dots Polylines Rectangles Text


The Convert To Comment command converts any selected electrical or graphical object, or group of objects, to comments. For example, selected:

Nets become comment lines Symbol instances become comment text and graphics Visible properties become properties of the newly created comment object
After an object has been converted to a comment, all hidden ! properties associated with that object are deleted. This process can Caution be reversed using the Undo command.

Uses for Comments


Using comment text, graphic objects, and system functions that return standard information (such as date and version numbers of the design), you can create many useful structures that are distinct from the electrical elements of the schematic. For example, you can create:

Design Architect-IC Users Manual, v8.9_10

3-65

Adding Comment Text and Graphics

Creating Schematics

Title blocks (can be automatically created on a new sheet) Revision blocks Page borders (can be automatically created on a new sheet) Backplane, wire wrap, and other tentative design elements Explanations, review notes, and fabrication notes

Setting Comment Text and Graphic Drawing Attributes


Before you begin drawing comment objects, you can set up how text and graphical shapes are graphically represented. For more information on these functions, see $setup_comment() and $setup_property_text() in the Design Architect-IC Reference Manual. Use the following steps to set up comment text and graphical drawing attributes: 1. Execute the Setup > Object menu item. The Setup Object dialog box appears in the active Schematic Editor window. 2. Click Comment. 3. Enter the desired font name. The default is the stroke font. Fonts and font registry files are located in $MGC_HOME/registry/fonts. 4. Enter the desired text height. The default height is 0.1875 user units. 5. Enter the desired text orientation: (0 or 90 degrees). The default is 0 degrees (horizontal). 6. Click the left mouse button on the text vertical justification you want: (Top, Center, Bottom). 7. Click the left mouse button on the text horizontal justification you want: (Left, Center, Right). 8. Click the left mouse button on the text transparency you want (On, Off).

3-66

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Adding Comment Text and Graphics

9. Click the left mouse button on the Restrict Flipped/Rotated Text button (On, Off). 10. Click the left mouse button on the line width you want (1 pixel, 3 pixels, 5 pixels, or 7 pixels). 11. Click the left mouse button on the fill type you want (Clear, Solid, Stipple). 12. Click the left mouse button on the line style you want: (Solid, Dotted, Long Dash, Short Dash, Centerline, and Phantom). 13. Click OK when comment attribute selection is complete.

Creating Comment Objects on Schematic Sheets


You can access comment object functionality through the schematic_draw palette, and the Add > Draw popup menu items. Click the left mouse button on the Draw palette button to display the Draw palette. The following list describes how to create various comment objects on a schematic sheet.

Click the left mouse button on the [Draw] Add Polyline palette item. Click
the left mouse button at the beginning of the line and at each vertex. Each time you click and move the mouse, a line stretches from the vertex to the cursor. Double-click to end the line.

Click the left mouse button on the [Draw] Add Rectangle palette item.
Specify the location of one corner of the rectangle by pressing the left mouse button. Hold the mouse button down and move the cursor to the desired location of the diagonally opposite corner, then release the mouse button.

Click the left mouse button on the [Draw] Add Circle palette item. Specify
the center of the circle by pressing the left mouse button. Hold the mouse button down, and move the cursor to define the perimeter, then release the mouse button. A ghost image of the circle moves with the cursor.

Click the left mouse button on the [Draw] Add Polygon palette item. Click
the left mouse button at each vertex of the polygon. Double-click at the last

Design Architect-IC Users Manual, v8.9_10

3-67

Adding Comment Text and Graphics

Creating Schematics

vertex. DA-IC automatically draws a segment between the last and first vertices to close the figure.

Click the left mouse button on the [Draw] Add Arc palette item. Click at
the desired location for one end of the arc, then click at the other end of the arc. A ghost image moves as you move the cursor to define the arc point. When the arc is the desired size, click the left mouse button to place it.

Choose the Add > Draw > Two Point Line popup menu item. Press the
left mouse button at one end of the line, hold the mouse button down as you move the cursor to the other end of the line, then release the mouse button.

Choose the Add >Draw > Dot popup menu item. Click the left mouse
button at the point you want the dot.

Click the left mouse button on the schematic_text palette Add Comment
Text palette item. Enter the comment text you want to add in the prompt bar that appears, then press the Return key. As you move the cursor, a ghost image of the text appears and moves with the cursor. Move the text to the desired location, and click the left mouse button.

Making a Symbol From Comment Objects


Creating a symbol from comment objects is the same as creating a functional block, described in the Creating a Schematic-Based Block section of this chapter. The basic steps are as follows: 1. In the Schematic Editor, create a rectangle for the symbol body. 2. Add pins to the symbol body. 3. Add other property text, as needed. 4. Select the symbol body, pins, and associated text. 5. In the symbol_draw palette, choose Check & Save. The symbol is checked and, if it passes all checks, DA-IC creates a symbol, registers it (using default registration), and instantiates it in the location of the original comment objects.

3-68

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Adding Comment Text and Graphics

Converting Electrical Objects to Comments


You can select electrical objects and convert them to comment objects by choosing the Edit > Convert to Comment menu item in the Schematic Editor. Create comment objects from symbol objects by performing the following steps: 1. Select the symbol graphics and text you want to convert. 2. Choose Edit > Convert to Comment menu item. Selected symbol graphics become comment graphics; selected property text attached to the symbol body becomes property text attached to the graphics, symbol text and other property text become comment text, and are placed at their current locations. Comment graphics and text cannot be instantiated; therefore, they do not appear when an instance of the symbol is placed on a sheet. To convert schematic objects to comments, perform the following steps: 1. Select the objects and text to convert. 2. Choose the Edit > Convert to Comment menu item. Selected nets become lines, selected instances become graphic objects, property text attached to the symbol body remains property text now attached to the graphics, and visible property text becomes comment text.

Removing Comment Status


To remove comment status from comment objects that were created by converting selected symbol objects, perform the following steps in the Symbol Editor: 1. Select the comment graphics and text. 2. Choose the Edit > Remove Comment Status menu item. The objects may now be instantiated on a schematic sheet. This function does not restore electrical information that was previously on the symbol.

Design Architect-IC Users Manual, v8.9_10

3-69

Creating FOR, CASE, and IF Frames

Creating Schematics

Creating FOR, CASE, and IF Frames


FOR, IF, CASE, and OTHERWISE frames are tools provided by the DA-IC Schematic Editor to allow repetitive or conditional inclusion of circuitry in the final netlist.

Creating FOR Frames


There are many times you find yourself repeating the same circuit over and over. Although you can copy the circuit so that it appears in its entirety as many times as needed, using FOR frames saves disk space, minimizes the number of pages a schematic fills, and makes the design easier to understand. Furthermore, by using a property value variable in the frame expression, the same schematic sheet can be used in different designs that require a different number of frame copies. To add a FOR frame that repeats the same circuit N times, perform the following steps: 1. Position the pointer at the initial edge of the frame. 2. Click and drag the mouse to the desired size of the frame, and release the mouse button. Refer to Figure 3-23 for an example circuit enclosed in a FOR frame.

sa0,sa1

sa0,sa1

sa0,sa1 sa0,sa1 (TRISE) (TFALL)

EN
sa0,sa1 0 0

0 0 (TPZH) (TPHZ) sa0,sa1

OUT(I)
sa0,sa1

sa0,sa1 0 0 sa0,sa1 sa0,sa1 sa0,sa1 sa0,sa1 0 0

I0(I)

sa0,sa1 0 0

(TPZL) (TPLZ) sa0,sa1

sa0,sa1 0 0

(TPZH) 0 (TPZL) 0

sa0,sa1 0 0

FOR I:= 0 TO N-1


Figure 3-23. FOR Frame Example

3-70

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating FOR, CASE, and IF Frames

3. Execute the Add > Frame pulldown menu item. The Add Frame dialog box displays. 4. Click For. a. Type a Variable value in the text box. b. Type a Start value in the text box. c. For the Directions setting, select either To or Downto d. Type the End value in the text box. Refer to Frexp Property in Chapter 7 for a description of valid FOR frame expression syntax. When creating a net with the FOR frame expression, you must name the net if the net crosses the border of the frame. If the net does not have a name and crosses the FOR frame border, DA-IC will create multiple nets.

Note

Creating Repeating Instances


A repeating instance is a short-hand method of creating FOR frames for single instances. To create a repeating instance, follow these steps: 1. Select the instance that you want to repeat in your design. 2. Execute the Properties > Add schematic popup menu to display the Add Property dialog box. 3. Select the INST item in the list box under Existing Property Name. 4. Enter a name followed by a continuous range enclosed in parentheses beside Property Value. 5. Choose the type of visibility appropriate in your design for the Inst property.

Design Architect-IC Users Manual, v8.9_10

3-71

Creating FOR, CASE, and IF Frames

Creating Schematics

6. Click OK. The following rules determine which nets attach to which pins of a repeating instance:

If a single bit pin is connected to a single bit net, then the net will be
connected to the pin on each repeated instance.

If a single bit pin is connected to a bus or bundle, then the width of the bus
or bundle must be equal to the number of times the instance is repeated. The pin on each repeated instance will be attached to the bus bit or bundle member in the matching position.

If a wide pin is connected to a bus of the same width, then the bus will be
connected to the wide pin on each repeated instance. Likewise, if a wide pin is connected to a net bundle of the same width, then the net bundle will be connected to the wide pin on each repeated instance.

If a wide pin is connected to a bus that is wider than the pin, then the bus
width must be equal to the width of the pin times the number of times the instance is repeated. Each sub-bus with a width equal to the width of the pin will be connected to the pin on the repeated instance. A wide pin cannot be connected to a net bundle with a different width.

A bus connected to a wide pin must be named. All other connections are illegal and result in an error during Check
Schematic. Figure 3-73 illustrates an example of a repeating instance.

3-72

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating FOR, CASE, and IF Frames

INST = XINST(3:0) (1) DATA(15:0) (2) CLK (3) BP A(3:0) B(3:0) CLK X (5) X(3:0) (6) (4) NEW(3:0)

Bund1{N1, DATA(1:0), N2}

D(1:0)

Bund{N1, N2}

Figure 3-24. Repeating Instance Example Assume that the system calls the instance I$231. When the sheet is written, DAIC creates a FOR frame with the expression FOR I231_REPEAT := 3 downto 0. When the EDDM evaluates the FOR frame, it generates four instances named XINST#3, XINST#2, XINST#1, and XINST#0. Each instance has the same set of pins, A(3:0), B(3:0), CLK, X, BP and D(1:0), but some are attached to different nets. 1. The pin XINST#3/A(3:0) is attached to the net DATA(15:12); the pin XINST#2/A(3:0) is attached to the net DATA(11:8); the pin XINST#1/A(3:0) is attached to the net DATA(7:4); and the pin XINST#0/A(3:0) is attached to the net DATA(3:0). 2. The net CLK is attached to the CLK pin on each repeated instance. 3. The pin XINST#3/BP is attached to the net N1; the pin XINST#2/BP is attached to the net DATA(1); the pin XINST#1/BP is attached to the net DATA(0); and the pin XINST#0/BP is attached to the net N2. 4. The pin XINST#3/B(3:0) is attached to the net NEW(3:0), as is the pin XINST#2/B(3:0), and so on. 5. The pin XINST#3/X is attached to the net X(3), the pin XINST#2/X is attached to the net X(2), and so on.

Design Architect-IC Users Manual, v8.9_10

3-73

Creating FOR, CASE, and IF Frames

Creating Schematics

6. The pin XINST#3/D(1:0) is attached to the net bundle Bund{N1, N2}, as is the pin XINST#2/D(1:0), and so on. The FOR frame expression is created as a to expression when the subscript is ascending, and as a downto expression if the subscript is ascending and has no parameters.

Note

Creating IF Frames
IF frames let you conditionally include circuitry in your schematic. An IF frame is created in the same way as a FOR frame, except the IF frame follows its own IF frame expression syntax. To create an IF frame follow this procedure: 1. Position the pointer at the initial edge of the frame. 2. Click and drag the mouse to the desired size of the frame, and release the mouse button. 3. Execute the Add > Frame pulldown menu item. The Add Frame dialog box displays. 4. Click the If button. a. Type a Variable value in the text box. b. Select the comparison criteria in the dialog box. c. Type the Value in the text box. Refer to Frexp Property in Chapter 7 for a description of valid IF frame expression syntax. The evaluation of an IF frame expressions results in a True or False condition.

If True, the enclosed circuitry is included in the schematic sheet. If False, the circuitry is not included in the schematic sheet.
The Check command does not check non-included circuitry. You may want to check your circuitry before you create an IF frame around it.

3-74

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Creating FOR, CASE, and IF Frames

Creating CASE, OTHERWISE Frames


CASE frames allow you to define cases when a portion of a circuit is included in a schematic sheet. You can have multiple CASE frames in a schematic sheet.

If the CASE frame expression evaluates to True, the circuitry is included. If the CASE frame expression evaluates to False, the framed circuit is not
included.

If an OTHERWISE frame exists, the circuitry within the OTHERWISE


frame is included. CASE and OTHERWISE frames are created in the same way as FOR frames, except the CASE and OTHERWISE frames have a different frame expression syntax. To create a CASE or OTHERWISE frame follow the procedure described in Creating FOR Frames. Refer to Frexp Property in Chapter 7 for a description of valid CASE and OTHERWISE frame expression syntax.

Setting Parameters
You need to provide a value for any variables included in frame expressions. You can set a parameter value in DA-IC which is used only when the sheet is checked. Although this value is stored with the sheet, it is not recognized outside of the sheet or by other tools. Suppose you have framed circuitry that you want repeated ten times, and the Frexp property value is FOR I = 0 TO N-1. To provide a value to be used when the sheet is checked, do the following in the Schematic Editor: 1. Choose the Add > Parameters > Set menu item to display the Set Parameter prompt bar. 2. Enter N in the parameter name text entry box, and 10 in the parameter value text entry box in the prompt bar. Click OK. Another method of assigning a value to the variable is to add a property to the symbol body representing the sheet, or to an instance of that symbol on a higher

Design Architect-IC Users Manual, v8.9_10

3-75

Creating FOR, CASE, and IF Frames

Creating Schematics

level sheet. You can add the property to the symbol body and give it some dummy value that you change for different instances of the symbol (similar to Net and Rule property values). Here are the steps using the previous frame expression: 1. Open the component in the Symbol Editor. 2. Select the symbol body (be sure nothing else is selected). 3. Click in the symbol_text palette [Add] Property palette item. This displays the Add Property dialog box. a. Enter N for the Property Name. b. Enter 1 for the Property Value. c. Click the Property Type Number. d. Click the Stability Switch Variable buttons. e. Click the Visibility Switch On. f. Click OK. 4. Move the cursor to a location for the text, and click the left mouse button. 5. To indicate the meaning of the number on the symbol, choose the [Add] Comment Text palette item. 6. Type N= in the text entry box in the displayed prompt bar. Click OK, move the cursor to the left of the 1, and click the left mouse button. When you place the symbol on a sheet, you can change the value of N for that instance. Because the property stability is variable, its value can be changed at any time. You can also assign values to variables through backannotation and design configurations. Backannotated values take precedence over all others, followed by instance-specific values.

3-76

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Checking a Schematic for Errors

Checking a Schematic for Errors


All designs must pass a full set of checks for validation. A design must be validated before it can be used by downstream processes. For example, schematic sheets must be validated or downstream applications issue warnings indicating errors exist that may cause problems later in the design process. By default, all the checks required by Mentor Graphics applications are enabled. For a description of all the checks available, see Design Checks in Appendix C. Use the following option from the session scope to change the default settings: Setup>Check Schematic... To execute the default checks, perform the following steps: 1. Activate the Schematic Editor window you want to check by placing the cursor in the window, and clicking the center mouse button. 2. Click Check & Save. Errors and warnings display in the Check Schematic window by default for each individual check. By default, the error log displays in its own window, but can be sent to a file or to the transcript. If you select Check & Save form the schematic_edit palette, DA-IC does not display the Schematic Error and Warnings log. To view the Schematic Error and Warnings log, select the File > Check Schematic pulldown menu item.

Note

Design Architect-IC Users Manual, v8.9_10

3-77

Checking a Schematic for Errors

Creating Schematics

Figure 3-25 shows a Check Schematic log for a schematic sheet.


Check #2 dff:Schematic

Check Check Check Check Check Check Check Check Check Check Check Check Check Check

Schematic "dff/schematic/sheet1" Sheet "dff/schematic/sheet1" SymbolPins -------- 0 errors 0 warnings Overlap ----------- 0 errors 0 warnings NotDots ----------- 0 errors 0 warnings Closedots --------- 0 errors 0 warnings Dangles ----------- 0 errors 0 warnings INIT Properties--- 0 errors 0 warnings Function Blocks --- 0 errors 0 warnings Owner ------------- 0 errors 0 warnings Instance ---------- 0 errors 0 warnings Special ----------- 0 errors 0 warnings Net --------------- 0 errors 0 warnings Frame ------------- 0 errors 0 warnings

(MGC-required)

(MGC-required) (MGC-required) (MGC-required) (MGC-required) (MGC-required)

"dff/schematic/sheet1" passed check: 0 Errors 0 Warnings Check Check Check Check Check Schematic Schematic Schematic Schematic Schematic Interface ------Instance -------Special --------Net ------------Function Blocks 0 0 0 0 0 errors errors errors errors errors 0 0 0 0 0 warnings warnings warnings warnings warnings

"dff/schematic/sheet1" passed check : 0 Errors 0 Warnings

Figure 3-25. Check Schematic Log To set up Schematic checks other than the default schematic checks, perform the following steps: 1. Activate a Schematic Editor window by placing the cursor in the schematic window. 2. Choose Setup > Check... menu item.

3-78

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Checking a Schematic for Errors

The Default Schematic Check Settings dialog box displays as in Figure 3-26.
Default Schematic Check Settings
Errors/ Errors No Warnings Only Check
Instance* Special* Net* Frame* Symbol Pins* Parameter Expressions Required check category* Function Blocks

Errors/ Errors No Warnings Only Check


Owner Overlap Notdots Closedots Dangles INIT Props Annotations Bus Shorts

Errors/ Errors No Warnings Only Check


Schematic Interface Schematic Special Schematic Instance Schematic Net Schematic Net I/O Schematic Bus Shorts

Userrule Checks: All No Check

File Mode: Add Replace No File

Display in Window Write to Transcript

Macro File:

File:

da_check_file

OK

Reset

Cancel

Help

Figure 3-26. Default Sheet Check Settings Dialog Box 3. Select the checks you want to execute by clicking the appropriate check name button. Select one of the three buttons displayed for each check.

Errors/Warnings display both error and warning messages. Errors only display errors only. No check means this check is not executed.
For more information, see Design Checks in Appendix C. 4. Press OK when check settings are complete. The check settings you set using the Setup > Check... menu item are set only while in the current DA-IC session. When you exit DA-IC, these

Design Architect-IC Users Manual, v8.9_10

3-79

Saving and Registering a Schematic

Creating Schematics

schematic check settings are lost. When DA-IC is re-invoked, the standard default checks are re-set.

Saving and Registering a Schematic


Before a schematic can be used with a downstream application, it must be registered to a component. By default, when you save your schematic, it is registered with the component specified when you opened the schematic sheet. You can register a schematic with other components. For more information on component structure and model registration, see Chapter 5, Managing/Registering Models.

Saving and Registering to the Default Component Interface


Use the following step to save and register a schematic sheet to the default component: 1. Choose File > Save Sheet from the Schematic Editor window.

Saving and Registering to a Specified Component Interface


To save a schematic sheet and change the default registration, follow these steps: 1. Select File > Save Sheet As. The Save Sheet As dialog box displays.

3-80

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Saving and Registering a Schematic

2. Next to Options?, click the YES button. The Save Sheet As dialog box shown in figure 3-27 displays.

Figure 3-27. Save Sheet As Dialog Box 3. Enter the following information as necessary:
o Component Name: Enter a new component name o Sheet Name: o Schematic Name: o Delete Registration From Interfaces: To delete registration from

component interface(s), type the name of the component interface to delete the text entry box.
o Add Registration From Interfaces: To register the schematic to

another component interface(s), type the component interface name in the text entry box.

Design Architect-IC Users Manual, v8.9_10

3-81

Saving and Registering a Schematic

Creating Schematics

o Remove Labels: To remove multiple labels associated with the

component interface(s), type one label per box in the text entry boxes.
o Add Labels: To add multiple labels to a component interface(s), type

one label per box in the text entry boxes. 4. Click OK. For more information on registering schematic models, see Managing/Registering Models in Chapter 5.

3-82

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Navigating Multiple Page Schematics

Navigating Multiple Page Schematics


Design Architect-IC allows you to easily navigate through multi-sheet designs using one window. In order to accomplish this, you do not need to open all of the sheets in the schematic. This feature is only available in the Schematic scope. You can open and edit multiple sheets from within one window. In addition, you can switch between existing sheets in the schematic, and also create new sheets. This ability exists in source sheets, as well as design sheets. Design navigation provides the following three general modes of operation: 1. moving to the next sheet of a schematic by using the Right Arrow button in the title bar of every schematic window. 2. moving to the previous sheet of the schematic by using the Left Arrow button in the title bar of every schematic window. 3. moving to any schematic sheet or creating a new sheet within a schematic by using the Multiple Page icon button in the title bar of every schematic window. Figure 3-28 illustrates the schematic sheet navigation buttons. Multiple-Page Previous Icon Sheet Next Sheet

Figure 3-28. Schematic Sheet Navigation Buttons

Design Architect-IC Users Manual, v8.9_10

3-83

Navigating Multiple Page Schematics

Creating Schematics

Navigating Multi-Sheet Schematics with a Single Window


To use the schematic sheet navigation buttons, you must open at least one schematic sheet of the design. To open a schematic sheet, refer to the step-by-step procedures in the Opening/Creating a Schematic in this chapter.

Sequentially Traversing a Schematic


Once the sheet is open and active, you can traverse a multi-sheet design by stepping sequentially through the schematic sheets. This is achieved by using either the Left Arrow button to step to the previous sheet, or the Right Arrow button to step to the next sheet.

Multiple Page Icon Button


Design Architect-IC also allows you to jump to any sheet in a schematic or create a new schematic sheet within a single window. By clicking on the Multiple Page icon button, the Display Specific Sheet dialog box displays. Figure 3-29 illustrates the Display Specific Sheet dialog box.
Display Specific Sheet Existing sheet1 sheet2 sheet3 Create Editable Editable Editable Passed Unchecked Passed

OK

Cancel

Figure 3-29. Display Specific Sheet Dialog Box

3-84

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Navigating Multiple Page Schematics

The Display Specific Sheet Dialog box presents a list of existing sheets that make up the schematic. In addition to the sheet name, the Display Specific Sheet Dialog box provides the edit status of the sheet(s) as Closed, Editable, Read Only, or Modified. If the sheet is open, the status of the last known Check for the sheet (Unchecked, Passed, or Failed) is displayed. To open a sheet from within the Display Specific Sheet Dialog box, double click the desired sheet. To create a new sheet for the schematic, select the Create button. The resultant dialog box allows you to enter the name of a new sheet. See Figure 3-30.
Display Specific Sheet Existing Create

Sheet Name sheet1

OK

Cancel

Figure 3-30. New Sheet Option

Closing a Multiple Sheet Schematic


Once you have made edits to an existing schematic sheet or created new sheets for the schematic, you can close the schematic using the procedures outlined in Saving and Registering a Schematic in this chapter.

Design Architect-IC Users Manual, v8.9_10

3-85

Displaying/Editing Registered Models

Creating Schematics

If multiple sheets have been edited, you must specify which of the sheets you want to save. Upon closing a schematic, the dialog box in Figure 3-31 displays. Multiple sheets edited in schematic $TRAINING/danwp/card_reader/my_dff/schematic
Select Sheet to Save sheet1 sheet2 sheet3 Select All

Unselect All

Warning: Edits to unselected sheets will be lost.

Save Selected

Save Nothing

Cancel

Figure 3-31. Save Multiple Sheets Dialog Box All of the sheets with pending edits are selected. You can select all the sheets or selected sheets, or unselect all of the sheets. When navigating between sheets in the same window, ensure that ! any Prompt Bars (for example, Move or Add Wire) are cancelled. Caution Prompt bars are tied to a window rather than a sheet.

Displaying/Editing Registered Models


You can display/edit the models registered to a selected instance from simulation mode or the schematic editor. For more information on displaying/editing models from simulation mode, see Displaying/Editing the Default Registered Model in chapter 8.

3-86

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Displaying/Editing Registered Models

Use the following steps to display/edit the models registered to an instance using the Schematic editor: 1. Open a schematic design and select the instance to display/edit models for. 2. Click the arrow next to File > Open Down and select Choose Model. The Open Down dialog box displays.

3. Select the model to display from the list box. If a language model, such as VHDL-AMS, is selected, other options in the dialog box do not apply. 4. Click OK. The selected model displays. If a symbol or schematic/symbol model is selected, the associated schematic or symbol displays in DA-IC.

Design Architect-IC Users Manual, v8.9_10

3-87

Netlisting a Schematic

Creating Schematics

If a language file is selected, the contents of the model file displays in the Notepad editor. For information on setting up a default model editor, see Setting up a Language Model Editor in chapter 2. 5. Edit and save the model as necessary.

Netlisting a Schematic
From DA-IC, you can create SPICE and Verilog netlists with EldoNet. For more information on EldoNet, see the EldoNet Users and Reference Manual. A netlist is an ASCII text representation of a schematic design. The netlist allows downstream applications, such as Eldo or IC Station, to import and manipulate a design created in DA-IC. Before creating a netlist, you must assign the appropriate property values to the schematic design. The appropriate property values are determined by the downstream application. For more information on properties, see Chapter 7, Using Properties. For more information on netlists, see the EldoNet Users and Reference Manual.

Creating a SPICE Netlist


You can create a SPICE netlist for a schematic design from the Session window or Simulation mode. The following procedure describes how to netlist from the Session window. For more information on creating a netlist from Simulation mode, see Generating a Netlist in chapter 8. 1. Check and save the design.

3-88

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Netlisting a Schematic

2. Select File > Export SPICE. The Export SPICE Netlist dialog box shown in Figure 3-32 displays.

Figure 3-32. Export SPICE Netlist Dialog Box 3. Select the Output Type: for the netlist. Options include:
o EldoSPICE - creates a SPICE netlist compatible with the Eldo

simulator. This is the default setting.


o HSPICE - creates a SPICE netlist compatible with the HSPICE

simulator.
o LVS - creates a layout versus schematic SPICE netlist compatible with

Calibre. See Using Advanced Options for a SPICE Netlist. 4. If necessary, select a case for object names output in the netlist. Objects include: subcircuits/modules, instances, nets, pins, ports, etc. Options include:
o Upper - Outputs object names in uppercase. This is the default setting. o Lower - Outputs object names in lowercase.

Design Architect-IC Users Manual, v8.9_10

3-89

Netlisting a Schematic

Creating Schematics

5. In the Design Path data field, enter the path to the location of the design viewpoint for the design. If no design viewpoint is specified, an EldoNet viewpoint is created under the component. 6. Click OK. The SPICE netlist assumes the component name and is written to the design viewpoint directory.

Using Advanced Options for a SPICE Netlist


Advanced options allow you to specify how the netlister runs and how the output netlist is formatted. Use the following steps to specify the advanced options: 1. Check and save the design. 2. Select File > Export SPICE from the Session window. The Export SPICE Netlist dialog box shown in Figure 3-32 displays.

3-90

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Netlisting a Schematic

3. Next to Options?, click Yes. The dialog box displays the advanced options shown in Figure 3-33.

Figure 3-33. Export SPICE Options Dialog Box 4. Set the advanced options as necessary. For more information on the advanced option settings, see $export_spice() in the Design Architect-IC Reference Manual.

Design Architect-IC Users Manual, v8.9_10

3-91

Netlisting a Schematic

Creating Schematics

5. Click OK. The netlist is written as specified.

Creating a Verilog Netlist


Use the following procedure to create a verilog netlist from the Session window. 1. Check and Save the design. 2. Select File > Export Verilog. The Export Verilog Netlist dialog box shown in Figure 3-34 displays.

Figure 3-34. Export Verilog Netlist Dialog Box 3. If necessary, select a case for object names output in the netlist. Objects include: modules/subcircuits, instances, nets, pins, ports, etc. Options include:
o Upper - Outputs all object names in uppercase. o Lower - Outputs all object names in lowercase. This is the default

setting.
o Uppercase Modules - Outputs module/subcircuit names in uppercase

and all other object names in lowercase.

3-92

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Netlisting a Schematic

4. In the Design Path data field, enter the path to the location of the design viewpoint for the design. If no design viewpoint is specified, an EldoNet viewpoint is created under the component. 5. Click OK. The Verilog netlist assumes the component name and is written to the design viewpoint directory.

Using Advanced Options for a Verilog Netlist


The advanced options allow you to specify how the netlister runs and how the output netlist is formatted. Use the following steps to specify the advanced options: 1. Check and Save the design. 2. Select File > Export Verilog from the Session window. The Export Verilog Netlist dialog box shown in Figure 3-34 displays.

Design Architect-IC Users Manual, v8.9_10

3-93

Netlisting a Schematic

Creating Schematics

3. Next to Options?, click Yes. The dialog box displays the advanced options shown in Figure 3-34.

Figure 3-35. Export Verilog Options Dialog Box 4. Set the advanced options as necessary. For more information on the option settings, see $export_verilog() in the Design Architect-IC Reference Manual. 5. Click OK. The specified netlist is written.

3-94

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Invoking IC Station Directly from DA-IC

Invoking IC Station Directly from DA-IC


You can invoke IC Station from within DA-IC. Invoking IC Station in this manner allows you to create a schematic, create or open a cell, and begin doing Schematic Driven Layout (SDL) without having to open IC Station independently. You can specify the Process le and rules le to load during IC Station invocation. If a design kit is loaded, the process le and SDL rules le provided with the kit are automatically loaded as the default arguments for SDL. Because the viewpoint, layout cell, process, and rules le information is associated with the schematic component, those values automatically load as default argument values for subsequent DA-IC sessions. Calibre Interactive can also access this viewpoint when creating its source netlist. Use the following steps to open a new layout cell for SDL from the active schematic in DA-IC: 1. Select File > Invoke IC Station. The Invoke IC Station dialog box displays.

Design Architect-IC Users Manual, v8.9_10

3-95

Invoking IC Station Directly from DA-IC

Creating Schematics

2. Click Create New to create a new layout cell. The Invoke IC Station dialog box expands to include additional options.

3. Enter a name for the new cell in the Cell Path field. The name can be a string containing any alphanumeric character. 4. Enter the name of the process to load in the Process field. 5. Click SDL for the Design Style, to specify Schematic Driven Layout.

3-96

Design Architect-IC Users Manual, v8.9_10

Creating Schematics

Invoking IC Station Directly from DA-IC

6. Enter the name of the rules files to load in the SDL Rules field. 7. Specify the configuration to use in the Config Name field. A configuration consists of a viewpoint object, one or more backannotation objects, and setup information. The configuration determines which viewpoint is used and, therefore, which primitives are set in the viewpoint. For more information, see the Opening/Creating a Design Configuration section in Chapter 12, Editing in Design Context, of the Design Architect-IC Users Manual. 8. Specify the configuration setup for the configuration you want to create by clicking one of the options in the Configuration Type field.

SPICE_Netlister: the default viewpoint setup for doing SPICE


netlisting with EldoNet.

Verilog_Netlister: the default setup for doing Verilog netlisting with


EldoNet.

IC_Station_Flat: the default setup for doing SDL at the device level.
This is the default.

IC_Station_Hierarchical: the default setup for doing SDL from the cell
level. 9. Click OK. When creating new cells, IC Station invokes with both the specified cell window and the source schematic window open. The specified rules and process files are loaded. You can begin placing and routing. If you open an existing cell, only the cell window displays. For more information about the arguments on the Invoke IC Station dialog box, refer to the $sdl_create_cell() function reference page in the IC Station Reference Manual. For more information on Schematic-Driven Layout (SDL), see Chapter 3, Schematic-Driven Layout (SDL), in the IC Station Device Level Automation Manual.

Design Architect-IC Users Manual, v8.9_10

3-97

Invoking IC Station Directly from DA-IC

Creating Schematics

3-98

Design Architect-IC Users Manual, v8.9_10

Chapter 4 Creating Symbols

This chapter introduces the Symbol Editor in Design Architect-IC (DA-IC) and provides procedures for creating symbols. The following topics are available:
Symbol Creation Overview Symbol Editor Features Opening a Symbol Editor Window Setting Up the Symbol Editor Setting Grid and Pin Spacing and Snap Setting Symbol Body Attributes Drawing a Symbol Body Drawing an Arc Drawing a Circle Drawing a Dot Drawing a Line Drawing a Polyline Drawing a Rectangle Drawing a Polygon Slicing Geometric Objects Joining Sliced Objects into Polylines and Polygons Adding and Naming Symbol Pins Adding a Single Pin Adding Multiple Pins Creating Consecutive Pins Adding and Naming a Pin Bundle

Design Architect-IC Users Manual, v8.9_10

4-1

Symbol Creation Overview

Creating Symbols

Bundles Connected to Ports Checking a Symbol for Errors Saving and Registering a Symbol Saving a Symbol and Deleting The Registration Saving a Symbol and Changing The Registration Registering Multiple Symbols to One Component Interface

Symbol Creation Overview


Symbols are used to represent schematic components. You can use/modify symbols that come in DA-IC custom libraries or create your own. Once created, instances of these symbols are used throughout your schematic design. Using instances of a symbol allows you to reuse the same component throughout your design without having to create it more than once. You can open the Symbol Editor from Design Manager-IC or from within Design Architect-IC. For more information on invoking Mentor Graphics applications from Design Manager-IC, see the Design Manager-IC User's Manual. When you open the Symbol Editor, a set of symbol-specific palettes, popup, and pulldown menus display.

Symbol Editor Features


The Symbol Editor allows you to:

Create symbol body graphics Set up templates for creating comments, property text, grids, and pages Edit objects (moving, copying, or deleting) Report on symbol objects' status View a symbol

4-2

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Opening a Symbol Editor Window

Add pins and properties to the symbol Create and edit non-instantiable comments Check a symbol for errors Save and register a symbol Access online help
Use the following procedures to edit/create symbols.

Opening a Symbol Editor Window


Use the following steps to open a Symbol Editor window from the DA-IC Session window: 1. Click Open Symbol on the session_palette menu. To browse for a component, click the Navigator button. For more information, see Browsing for Files in Chapter 2 Getting Started. If the specified component does not exist, a new component and symbol are created. If a symbol name is not specified, the symbol name defaults to the leaf name of the component. If the symbol does not exist within the component, a new symbol is created. Replace the symbol name by pressing the Options... button (this opens the expanded Open Symbol Options dialog box), then type the new symbol name in the Symbol Name text box. Also, from the expanded Open Symbol Options dialog box, you can open the symbol as editable or read-only. If you want to execute a startup file for this symbol, click Yes for that option, and enter the file pathname. 2. After you complete the selections, click OK.

Design Architect-IC Users Manual, v8.9_10

4-3

Setting Up the Symbol Editor

Creating Symbols

Setting Up the Symbol Editor


Before you start working on a symbol, you can change some or all of the default attribute settings for your symbol editing environment. Attributes such as pin spacing, grid spacing and snap, and symbol body attributes are all set to default settings when a new Symbol Editor window is opened. Menu items contained in the Setup and Set menus set these attributes. The following procedures show you how to setup these attributes.

Setting Grid and Pin Spacing and Snap


The procedure for setting grid and pin spacing is the same as in the Schematic Editor setup. For more information, see Setting Grid, Pin Spacing and Snap in Chapter 3.

Setting Symbol Body Attributes


To set up symbol body text and graphical drawing attributes, perform the following steps: 1. Choose the Setup > Symbol Body... pulldown menu item. The Setup Symbol Body dialog box displays as in Figure 4-1.

4-4

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Setting Up the Symbol Editor

Figure 4-1. Setup Symbol Body Dialog Box 2. Click on the Line Style you desire (solid, dotted, long dash, short dash, centerline, and phantom). 3. Click on the Line Width you desire (1 pixel, 3 pixels, 5 pixels, or 7 pixels). 4. Type in the Font Name you desire. Fonts and font registries for all workstations are located in $MGC_HOME/registry/fonts. The default is the stroke font. 5. Type in the Text Height you desire. The default height is 0.75 user units. 6. Type in the Text Orientation you desire (0 or 90 degrees). The default is 0 degrees (horizontal). 7. Click to set the Restricted Flipped/Rotated Text to On or Off.

Design Architect-IC Users Manual, v8.9_10

4-5

Drawing a Symbol Body

Creating Symbols

8. Click on the text Vertical Justification you desire (Top, Center, or Bottom). 9. Click on the text Horizontal Justification you desire (Left, Center, or Right). 10. Click to set the Orthogonal Drawing Mode to On or Off. 11. Click on the Text Transparency you desire to On or Off. 12. Click on the Fill Type you desire (Clear, Solid, or Stipple). 13. Type in the Dot Size (diameter) you desire. The default size is 0.1 user units. 14. Click on the Dot Style you desire (Square, Circle). 15. Press OK, when symbol body attribute selection is complete.

Drawing a Symbol Body


A symbol body can be made up of the following graphical entities:

Arcs Circles Dots Lines Polygons Polylines Rectangles

In addition, a symbol body typically has short lines called whiskers that project from the symbol body border to indicate where the pins will be connected. These whiskers are not a required part of the symbol, but rather a convention used in the Mentor Graphics component libraries.

4-6

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Drawing a Symbol Body

Access the menu items used to draw the symbol body from the Add popup menu. You can also perform these tasks by clicking the left mouse button on the appropriate symbol_draw [Add] palette item. Before you start drawing your symbol, set the dot style, dot width, line style, line width, and polygon fill that determines the attributes of the graphical entities. To use something other than the default values for these attributes, select the Setup > Symbol Body menu item to change the default values. This topic is discussed in the Setting Symbol Body Attributes procedure. All graphical entities can be selected, moved, copied, or deleted.

Drawing an Arc
To draw an arc, perform the following: 1. Click the symbol_draw [Add] Arc palette item, or choose the Add > Arc popup menu item. The Add Arc prompt bar is displayed with the location cursor on Initial Point. 2. Move the mouse so the moving pointer displays in the active window. 3. Click the left mouse button at the desired initial arc point. The location cursor in the prompt bar moves to End Point. 4. Click the left mouse button at the desired end point for the arc. The location cursor moves to Arc Point. 5. Click the left mouse button at the desired arc point location. The prompt bar disappears and the completed arc displays. The basepoint is positioned on the arc's end point. Line style and width are controlled by values specified in the Setup > Symbol Body dialog box, discussed in the Setting Symbol Body Attributes in this chapter.

Drawing a Circle
The steps in the following list outline the procedure for adding a circle:

Design Architect-IC Users Manual, v8.9_10

4-7

Drawing a Symbol Body

Creating Symbols

1. Click the left mouse button on the symbol_draw [Add] Circle palette item, or choose the Add > Circle popup menu item. The Add Circle prompt bar appears with the location cursor on Center. 2. Position the moving cursor to the desired center point of the circle. Press, but do not release, the left mouse button. The location cursor moves to Circle Point. 3. Position the moving pointer to indicate the perimeter of the circle (the left mouse button is still depressed). A ghost image of the circle appears in the window. Release the mouse button. The prompt bar disappears, and the completed circle displays. The basepoint is positioned in the center of the circle. The line style, line width, and fill type of the circle are controlled by the values specified in the Setup > Symbol Body dialog box, discussed in the Setting Symbol Body Attributes of this chapter.

Drawing a Dot
To add a graphical dot, perform the following: 1. Select the Add > Dot popup menu item. The Add Dot prompt bar appears in the active symbol window. The location cursor is on At Location. 2. Click the left mouse button at the desired dot point. The prompt bar disappears and the dot displays in the active symbol window. The basepoint is positioned on the dot. Dot style and size are set by values specified in the Setup > Symbol Body dialog box, as discussed in the Setting Symbol Body Attributes section of this chapter.

Drawing a Line
To add a line, perform the following steps: 1. Select the Add > Two Point Line popup menu item. The Add Line prompt bar displays with the location cursor on Endpoints.

4-8

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Drawing a Symbol Body

2. Position the moving pointer at the desired location for the initial point of the line. Press, but do not release, the left mouse button. 3. Position the moving pointer away from the initial point. You will see a line from the initial point to the current location of the moving pointer. With the left mouse button still depressed, position the moving pointer to the location of the end point. Release the left mouse button. The prompt bar disappears and the line displays. The basepoint is located on the initial point. The line style and line width are controlled by the values specified in the Setup > Symbol Body dialog box, discussed in the Setting Symbol Body Attributes section of this chapter. Execute this menu item when you want to draw whiskers for pins on a symbol. Place the cursor at the desired point of the border of the symbol as the initial point of the line. As you add whiskers, it is important to remember that pins always snap to the nearest grid point (as defined by the value of the arguments in the Setup > Grid dialog box) regardless of whether objects snap to grid. Therefore, terminate whiskers on a displayed grid coordinate which matches the pin spacing.

Drawing a Polyline
To add multiple contiguous lines, perform the following steps: 1. Select the symbol_draw [Add] Polyline palette item. The Add Polyline prompt bar displays with the location cursor on Points. 2. Click the left mouse button at the initial point of the polyline. 3. Click the left mouse button at each vertex of the polyline. 4. Continue with step 3, until you have created all the vertices of the polyline. 5. On the last vertex, double-click the left mouse button. The prompt bar disappears and the polyline displays in the active window. DA-IC locates the basepoint on the initial creation point of the polyline.

Design Architect-IC Users Manual, v8.9_10

4-9

Drawing a Symbol Body

Creating Symbols

The line style and the line width of the polyline are controlled by the values specified in the Setup > Symbol Body dialog box.

Drawing a Rectangle
To create a rectangle, perform the following steps: 1. Select the Add > Rectangle popup menu item, or the symbol_draw [Add] Rectangle palette item. The Add Rectangle prompt bar displays with the location cursor on Rectangle. 2. Position the moving pointer at the desired location of one corner of the rectangle. Press, but do not release, the left mouse button. 3. Position the moving cursor away from the initial edge with the left mouse button still depressed. A ghost image displays in the size of the rectangle. At the desired location for the diagonally opposite corner of the rectangle, release the left mouse button. The prompt bar disappears and the rectangle appears in the active symbol window. The basepoint is positioned on the lower left edge of the rectangle. The line style, line width, and fill type (clear, solid, or stipple) of the rectangle are controlled by the values specified in the Setup > Symbol Body dialog box.

Drawing a Polygon
To create a polygon, perform the following steps: 1. Choose the symbol_draw [Add] Polygon palette item, or select the Add > Polygon popup menu item. The Add Polygon prompt bar appears with the location cursor on Points. 2. Position the moving pointer at the initial point of the polygon. Click the left mouse button. 3. Move the cursor to the next polygon vertex and click the left mouse button.

4-10

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Drawing a Symbol Body

4. Repeat step 3 until you have created all vertices of the polygon. At the last vertex, double-click the left mouse button, indicating you have completed the polygon. A polygon is always a closed figure; the segment between the initial point and the last point is automatically drawn for you. The prompt bar disappears and the polygon appears in the active window. The basepoint of the polygon is located at the initial point. The line style, line width, and fill type (clear, solid, or stipple) of the polygon are controlled by the line_style, line_width, and polygon_fill arguments as defined in the Setup > Symbol Body dialog box, discussed in the Setting Symbol Body Attributes section of this chapter. Symbol bodies can be created using several polygons layered on top of each other. For example, a symbol body that looks like a motor can be created using this technique. The layered position of an object can be changed using the POP TO FRONT and PUSH TO BACK icons on the DRAW palette.

Slicing Geometric Objects


The $slice() function is an interactive function that allows you to cut a geometric object into two or more pieces. You slice an object using the following procedure: 1. Select the object. 2. Choose Edit > Comment Operations > Slice menu item, or execute the following keyboard command: $slice() The Slice prompt bar appears. 3. Draw a slice line by pressing the left mouse button, dragging the mouse across the object, then releasing the mouse button. The selected object is first exploded into the lines that define it, then the lines are sliced by the slicing line. This does not apply to arcs and circles. An arc is sliced into 2 or 3 arcs, depending on how many times the slicing line passes through the arc. A circle is sliced into two arcs if and only if the slicing line passes into and back out of the circle. If there is only one intersection between the circle and the slicing line, no slice will occur.

Design Architect-IC Users Manual, v8.9_10

4-11

Drawing a Symbol Body

Creating Symbols

In all cases, the original object is deleted and in its place are the new objects created by the slice. The new objects do not have any relationship with the old object. You have the ability to choose whether only one of the new, sliced objects inherits the properties from the original object or whether all new sliced objects inherit the properties. In either case, all of the property values are displayed in exactly the same diagram location as the original property values. For example, if a box is split into six pieces, and there is one property on the original graphics, each of the six lines will have that property and there will be six property values at the same diagram location. If you want only one piece of sliced graphics to inherit the properties, you can choose that option, then one property value only will replace the original. You can get the original object back by selecting the pieces of the geometric object, and executing the menu item Add > Polygon or Add > Polyline.

Joining Sliced Objects into Polylines and Polygons


The Add Polygon function takes a selection of polylines and lines, and if the selection is all end to end with at most one cycle, the selected graphics will be made into a single polygon. The procedure is as follows: 1. Select a group of polylines and lines. 2. Execute the closeness criteria, using the $set_closeness_criteria() command. If the line endpoints are within the closeness criteria, the lines automatically join. This Add Polygon command may add an extra line to close the polygon. If the selection is not end to end, the error Error: Unable to connect line/polyline segments to form polygon displays. If the polylines and lines form more than one cycle, the error Error: Unable to create polygon, selected items form more than one cycle displays. The selected polylines and lines can be made into a single polyline by executing the menu item: Add > Polyline.

4-12

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Adding and Naming Symbol Pins

Adding and Naming Symbol Pins


Once you have drawn the symbol body, you must include information on where the symbol's input and output pins are on the symbol body. A pin is named by adding a Pin property to the pin. Pins are graphic entities that represent a connection point. The presence of a Pin property tells the system that an object is a pin, while the value assigned to that Pin property separates that pin from all the others on that symbol. Pin names appear as Pin properties on the symbol. A pin and its Pin property value define where and what electrical connections will be made to the component. Pin properties on a symbol pin should match Net properties on the symbol's underlying schematic sheet in order to establish cross-hierarchy connections. Pins on a component define where an electrical connection may be made to the component when it is placed on a schematic sheet. You can add pins by clicking the symbol_draw [Add] Pin palette item, or by executing the Add > Pin(s) popup menu item. Pins must be placed on the pin grid that defines the minimum spacing between pins. Select the Setup > Grid menu item (see Setting Grid and Pin Spacing and Snap) to define the pin grid. Setting the displayed grid points to match the pin grid makes it easy to see where pins can be placed.

Adding a Single Pin


To add a single pin to a symbol, perform the following steps: 1. Press Shift-F4 (Add Pin). The Add Pin prompt bar displays. 2. Enter a text string that represents the name of the pin. 3. Press the Tab key. The location cursor moves to Pin Location. 4. Click in the symbol for the location of the new pin. 5. Press and hold the left mouse button, then move the ghost image of the pin name to the desired location. Release the left mouse button.

Design Architect-IC Users Manual, v8.9_10

4-13

Adding and Naming Symbol Pins

Creating Symbols

The prompt bar disappears and the pin name appears at the specified location.

Adding Multiple Pins


To add multiple pins to a symbol, perform the following steps: 1. Select the symbol_draw [Add] Pin palette item. The Add Pin(s) dialog box appears. 2. Specify a value for Name Height by clicking one of the buttons or typing a value in the text entry box. This value is the height of the pin name with respect to the pin grid. 3. Click one of the Name Placement buttons:

Manual: Specify the pin location and text location. Name (with diamond): Specify the pin location; the text is
automatically placed next to the pin.

Name (with diamond and whisker): Specify the pin location; the pin
and whisker are created, and the text is placed next to the pin. When you choose this option, specify pin locations one pin grid away from the symbol body to allow space for the whisker. 4. Select the Pin Type property (IN, OUT, IXO) or you may omit it. 5. Select the Pin Placement specifying whether the pin is placed to the left, top, bottom, or right of the symbol body. 6. Enter the pin names (pin property values) in the dialog box, one per line. Use the Tab key to move to the next line. All pins specified at the same time have the same pintype and placement. 7. Click OK. The Add Pin prompt bar appears in the active symbol window. The name of the first pin is displayed as the Pin Property Value, whereas the location cursor is on Pin Location. 8. Click the left mouse button at the desired pin location. If you chose manual name placement, click the left mouse button at the desired pin name location. If not, the pin name is placed automatically.

4-14

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Adding and Naming Symbol Pins

9. The Add Pin prompt bar displays again, with the name of the next pin. Repeat step 7 for each pin you specified in the dialog box. After the last pin has been specified, the prompt bar disappears.

Creating Consecutive Pins


When you need to create many pins of the same type and on the same side of the symbol body, the Copy Multiple and Sequence Text commands are helpful. The following steps show you how to add, copy, and renumber the pins on the symbol for the $MGC_PLDLIB/16hd8 component. 1. Choose the symbol_draw [Add] Pin palette item. This displays the Add Pin(s) dialog box. 2. Enter the following information in the dialog box: a. Name Height: 0.75 b. Name Placement: Name with whisker c. Pintype: IN d. Pin Placement: left side e. Pin name(s): 1 Click OK using the Select (left) mouse button. 3. When the Add Pin prompt bar appears, click the left mouse button at the pin location in the symbol edit window. 4. Move the Pintype property text (IN) by placing the cursor over the text, and pressing the Select Text and Move function key. Hold the key while you move the cursor to the new text position, as shown in Figure 4-2.
IN 1

Figure 4-2. Pintype Property Text Location 5. Press F2 (Unselect All).

Design Architect-IC Users Manual, v8.9_10

4-15

Adding and Naming Symbol Pins

Creating Symbols

6. Using F1 (Select Area Any), select the pin, whisker, and property text. 7. Choose the Copy > Multiple menu item from the popup menu. Enter 9 in the Count text entry box. Click the left mouse button one pin grid below the selected pin. The left panel of Figure 4-3 shows the result. 8. Press F2 (Unselect All). 9. Click the left mouse button on the symbol_text [Edit] Sequence Text icon. Enter the following information in the Sequence Text dialog box: a. New Prefix: P b. Beginning Index Number: 1 c. Step By: 1 d. Click OK 10. The Select Area prompt bar displays; select the pin names (1s). a. Move the cursor to P10, and press the Change Text Value function key.

4-16

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Adding and Naming Symbol Pins

b. Enter P11 in the New Value text entry box in the prompt bar, and click OK. The pins and text should look like the center panel of Figure 4-3.
IN IN IN IN IN IN IN IN IN IN 1 1 1 1 1 1 1 1 1 1 IN IN IN IN IN IN IN IN IN IN P1 P2 P3 P4 P5 P6 P7 P8 P9 P11 1 IN 2 IN 3 IN 4 IN 5 IN 6 IN 7 IN 8 IN 9 IN 11 IN P1 P2 P3 P4 P5 P6 P7 P8 P9 P11

Copy pin

Sequence text Change text value

Add and sequence PIN_NO property

Figure 4-3. Copying Pins and Sequencing Text 11. Change the select filter to select only pins, then select the pins. a. Click the symbol_text [Add] Property palette item. b. In the Add Property dialog box, choose PIN_NO from the scrolling list of property names. If it is not there, enter it in the New Property Name text entry box. Enter 1 as the property value. c. When you click OK, you are prompted for the text location. As you move the cursor in the edit window, an elastic string connects each piece of text with its pin. d. Move the cursor so the text for each pin is just above the whisker, then click the left mouse button to place the text.

Design Architect-IC Users Manual, v8.9_10

4-17

Adding and Naming Symbol Pins

Creating Symbols

12. Press F2 (Unselect All). 13. Using F1 (Select Area Any), select the newly created property text, then click the symbol_text [Edit] Sequence Text palette item. In the dialog box, specify the following:

New Prefix: (no prefix) Beginning Index Number: 1 Step By: 1


After you click OK, the pins and text should look like the right panel in Figure 4-3. That completes the pins on the left side of the symbol. You use nearly the same steps to create the pins, on the right side of the symbol, as you did for the pins on the left side. 1. Press F2 (Unselect All). 2. Click the symbol_draw [Add] Pin palette item, and enter the following information in the Add Pin dialog box:

Name Height: 0.75 Name Placement: Name with whisker Pintype: OUT Pin Placement: right side Pin name(s): O

Click OK using the Select (left) mouse button. 3. When the Add Pin prompt bar appears, place the pin to the right of pin 2. Move the OUT text to just below the pin whisker. 4. Press F2 (Unselect All). 5. Using F1 (Select Area Any), select the new pin, whisker, and property text. Copy it directly below the original, and opposite pin 9.

4-18

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Adding and Naming Symbol Pins

6. Unselect, then add another pin opposite pin 3. This pin has a Pintype property value of IXO and pin name P. 7. Select the pin, whisker, and property text. a. Choose Copy > Multiple from the popup menu. b. Enter 5 in the Count text entry box. c. Press the Tab key, and click the left mouse button below the selected pin and opposite pin 4. The IXO and OUT pins should now appear as shown in the left panel of Figure 4-4. d. Press the F2 (Unselect All) function key.

O P P P P P P O

OUT IXO IXO IXO IXO IXO IXO OUT

P19 P18 P17 P16 P15 P14 P13 P12

19 OUT 18 IXO 17 IXO 16 IXO 15 IXO 14 IXO 13 IXO 12 OUT

Figure 4-4. IXO and OUT Pins on PLD Symbol 8. Select the Pin property text (O and P) and click the left mouse button on the symbol_text [Edit] Sequence Text palette item. When the dialog box displays, enter the following information: a. New Prefix: P

Design Architect-IC Users Manual, v8.9_10

4-19

Adding and Naming Symbol Pins

Creating Symbols

b. Beginning Index Number: 19 c. Step By: -1 d. Click OK 9. Press F2 (Unselect All). 10. Set the select filter to select only pins (Setup >Select Filter), then select the pins on the right side of the symbol. 11. Click the symbol_text [Edit] Add Property palette item. a. In the dialog box, choose the PIN_NO property name. b. Enter a dummy property value, such as Z (you will change it in the next step, but it should be unique). c. Click OK, and place the text just above the whisker, as you did on the left side of the symbol. 12. Press F2 (Unselect All). 13. Click the symbol_text [Select] By Property palette item. Specify the following information in the dialog box, then click OK: a. Property Name: PIN_NO b. Property Value: Z (or whatever name you gave in the previous step) c. Click the Text button 14. Click the left mouse button on the symbol_text [Edit] Sequence Text icon. When the dialog box displays, enter the following information: a. New Prefix: (no prefix) b. Beginning Index Number: 19 c. Step By: -1

4-20

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Adding and Naming a Pin Bundle

d. Click OK Now the right side of the symbol should look like the right panel in Figure 4-4. 15. Finish the symbol by adding a rectangle for the symbol body, adding properties, checking, and saving. Figure 4-5 shows the finished symbol.
16HD8 1 IN 2 IN 3 IN 4 IN 5 IN 6 IN 7 IN 8 IN 9 IN 11 IN P1 P2 P3 P4 P5 P6 P7 P8 P9 P11 P19 P18 P17 P16 P15 P14 P13 P12 19 OUT 18 IXO 17 IXO 16 IXO 15 IXO 14 IXO 13 IXO 12 OUT

Figure 4-5. $MGC_PLDLIB/16hd8 Symbol

Adding and Naming a Pin Bundle


A pin bundle is an ordered collection of individual pins and/or wide pins. The pins in a pin bundle must be unique. If a pin occurs in a pin bundle, it cannot occur as an individual pin on the symbol or in a different pin bundle. You can create a pin bundle by adding a Pin property to a symbol. The value of the Pin property must include a comma-separated list of pins or wide pins. Proper pin connectivity is defined by a set of checks, described in Appendix C, Design Checks.

Design Architect-IC Users Manual, v8.9_10

4-21

Adding and Naming a Pin Bundle

Creating Symbols

A member of a pin bundle is defined as a pin or wide pin contained in the list of a pin bundle. The members of a pin bundle must be enclosed within curly braces; for example, U2_pins{P8,P9,P(3:0)}. When a pin bundle is defined on a symbol, a corresponding pin bundle is also created on the part interface. When the symbol is instantiated, a pin bundle can be connected to either a net bundle or a bus, as long as the widths are the same. You create a pin bundle using the following steps: 1. Add a pin to a symbol. 2. Select the new pin. 3. Execute the Add > Properties menu item to display the Add Multiple Property dialog box. 4. Select the PIN property in the list box under Existing Property Name. 5. Name the pin using bundle syntax beside Property Value. 6. Choose the stability and visibility switches appropriate for your needs. 7. Click OK. You can edit a pin bundle by changing the value of the Pin property. Errors caused by editing the syntax of a pin bundle are identified only when the symbol is checked. For more information on creating properties, see Assigning Properties in Chapter 7. Pin bundles have the following characteristics:

A pin bundle name must be unique within the scope of the symbol.
Therefore, there cannot be two different pin bundles with the same name, or both a pin and a pin bundle with the same name.

A pin can only occur once in the list of pins of a pin bundle. A pin cannot exist both on the symbol by itself and in a pin bundle, since
this would cause multiple references to the pin on the symbol.

4-22

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Checking a Symbol for Errors

A pin bundle can contain other pin bundles as long as the nested bundles do
not also occur on the symbol by themselves.

A pin can belong to only one pin bundle. Connection of the items in a pin bundle to a net bundle or bus is done by
position, not by name.

A pin bundle can have properties, which are propagated to the individual
pins in the pin bundle when a design is evaluated. For more information on net bundles, refer to Creating and Naming a Net Bundle in Chapter 3.

Bundles Connected to Ports


When you create a pin bundle on a symbol, you can connect a model of the symbol to the pins in one of two ways:

Create a net bundle in the model using the same name and the same
members in the Net property, as those contained in the Pin property that designate the pin bundle.

Create nets in the model with the same names as the members of the pin
bundle. The nets do not have to be connected to portin or portout symbols, but their names do have to match the pins in the pin bundle.

Checking a Symbol for Errors


All symbols must pass a set of required checks before the symbol can be placed on a schematic sheet. By default, all the checks required by Mentor Graphic Applications are enabled. For a description of all the checks available, see Design Checks in Appendix C. Use the following option from the session scope to change the default settings:

Design Architect-IC Users Manual, v8.9_10

4-23

Saving and Registering a Symbol

Creating Symbols

Setup>Check Symbol... To execute the default checks, perform the following steps: To check the symbol, Click Check & Save on the symbol_draw palette menu. Errors and warnings are display in the Check Symbol window by default for each individual check. Figure 4-6 shows an example of a Check Symbol error log after a successful symbol check. This error log may be diverted to a file by choosing the Check > Set Defaults menu item, and specifying a filename in the dialog box that displays.
Check #3 alu:Symbol

Check Check Check Check Check

Symbol "alu/alu" Body -------- 0 errors 0 warnings (MGC-required) Interface ---------- 0 errors 0 warnings Pin ----------- 0 errors 0 warnings (MGC-required) Special --------- 0 errors 0 warnings (MGC-required)

"alu/alu" passed check: 0 errors 0 warnings

Figure 4-6. Check Symbol Log

Saving and Registering a Symbol


After the symbol is created and ready to be saved, select the File > Save Symbol > Default Registration menu item. The symbol is now saved and marked as the default symbol for the component. A component interface is created, and the default symbol is registered to the component interface. The component interface is also defined as the default component interface for the component. The component interface name is created from the component leaf name.

Saving a Symbol and Deleting The Registration


To save the symbol and delete the registration, execute the File > Save Symbol > Options... menu item. The Save Symbol Change Registration dialog box

4-24

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Saving and Registering a Symbol

appears; click the Yes box. DA-IC saves the symbol, but does not register it to a component interface.

Saving a Symbol and Changing The Registration


To save the symbol and change the registration, perform the following steps: 1. When the symbol is ready to be saved, execute the File > Save Symbol > Options... menu item. The Save Symbol - Change Registration dialog box displays. 2. To change registration from the default component interface, click the No button on the Delete Registration? option. 3. To register the symbol to another component interface, click the Yes button on the Change Interface? option, then enter the new component interface name in the Register With Interface: text entry box. To mark the component interface as the new default interface for the component, click the Yes button on the Mark This Interface As Default? option. 4. Select Yes or No as appropriate for the Overwrite Interface? option. 5. Select Yes or No as appropriate for the Force Save If Unchecked? option. 6. After registration changes are made, click OK.

Registering Multiple Symbols to One Component Interface


To save and register more than one symbol to a single component interface, perform the following steps (This procedure assumes that you have already created one symbol for the component. Refer to Saving and Registering a Symbol procedure in this chapter if you have not already saved one symbol for the component.):

Design Architect-IC Users Manual, v8.9_10

4-25

Saving and Registering a Symbol

Creating Symbols

1. Click Open > Symbol from the session_palette. A dialog box displays to allow you to browse to find a symbol. The selected symbol displays in a Symbol Editor window. 2. Choose File > Save Symbol As from the main menu bar. The Save Symbol As dialog box appears. 3. Enter the pathname to the component that contains the first symbol in the Component Name field. For example, if the existing symbol is named 7496 and the pathname to the component is $CUSTOM_PARTS/7496 enter $CUSTOM_PARTS/7496. 4. Enter a new symbol name in the Symbol Name text box. For example, to create an alternate symbol for rotated instances of a 7496 shift register, you could enter 7496_rot for the alternate symbol name. 5. Click the OK button to close the Save Symbol As dialog box. 6. Choose the Open Symbol item from the palette to open your newly created symbol. Use the navigator to select the newly created symbol from the menu. The new alternate symbol is displayed in a Symbol Editor window. 7. Make any required changes to the alternate symbol. For example, you may want to rotate the symbol body and reposition property text. 8. Choose Check > With Defaults from the main menu bar to check the alternate symbol. A report window displays with a summary of the check. Fix any problems reported, and repeat this step.

4-26

Design Architect-IC Users Manual, v8.9_10

Creating Symbols

Saving and Registering a Symbol

9. Choose File > Save Symbol > Default from the main menu bar to register the alternate symbol with the default component interface. If the symbol is not valid for the component interface (for ! example, the number of pins on the symbol do not match the Caution number of pins in the component interface), the File > Save Symbol > Default menu item will query you as to whether you want to save the symbol and update the component interface. If you choose to save the symbol, any other model registered to that component interface is invalidated The symbol is now saved and registered to the default component interface. The default symbol label remains on the original symbol. 10. Execute steps 1 9 until all alternate symbols are created and registered to the same component interface. To check that the proper symbol registration occurred, activate the Symbol Editor window for one of the new symbols, and execute the Report > Property Settings menu item. This displays a report listing all component properties for the specified component.

Design Architect-IC Users Manual, v8.9_10

4-27

Saving and Registering a Symbol

Creating Symbols

4-28

Design Architect-IC Users Manual, v8.9_10

Chapter 5 Managing/Registering Models

This chapter provides a model registration overview, introduces the simulation model registration feature in Design Architect-IC (DA-IC), and provides procedures for creating and managing models. The following topics are available:
Registering Models for Simulation Supported Modeling Types Invoking the Model Registrar Create Mode Manage Mode Edit Mode Choosing a Model Registering a Model to an Existing Symbol Editing an Existing Symbol for a Model Generating a Symbol for a Model Creating a Symbol for a Model Registering a Model from a Symbol Mapping a Model to a Symbol Setting a Default Model Registration Checking a Model Registration Viewing the Registered Models for a Symbol Editing a Model Registration Renaming a Model Registration Copying a Model Registration Deleting a Model Registration

Design Architect-IC Users Manual, v8.9_10

5-1

Registering Models for Simulation

Managing/Registering Models

Restoring Deleted Model Registrations Closing the Model Registrar Using the Model Registrar in Batch Mode

Registering Models for Simulation


Simulation models are ASCII language files such as VHDL or SPICE that describe the physical and/or electrical characteristics of a design element. Models provide the detailed behavioral information about design elements needed for simulating a schematic design. A simulation model is considered registered when it has a netlist control file (NCF) and a symbol. EldoNet uses the model information in the NCF when netlisting a schematic design. For more information on the NCF, see the EldoNet Users and Reference Manual. Once a model is registered, you can:

Instantiate it on a schematic design. Use it interchangeably with other models. Netlist and simulate a design containing it.
Several registered models can be used interchangeably for a component of a design, each model having different physical and/or electrical characteristics or language types.

Supported Modeling Types


Design Architect-IC model registration supports the following model types:

HDL VHDL, VHDL-AMS, Verilog-A, and Verilog models compiled by


ADVance MS. Before registering HDL models, you must compile model files into an adms.ini file and a design library. For more information, see Compiling ADVance MS designs in Chapter 4 of the ADVanceMS Users Manual. You can set the $WORK environment variable to specify a compiled library within the adms.ini.

5-2

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

EldoSPICE - SPICE files compatible with Eldo. Schematic schematic models cannot be registered through Model
Registrar. However, they can be edited and manipulated.

Invoking the Model Registrar


Model registration for DA-IC is performed via the Model Registrar program. The Model Registrar is a discrete application invoked from menu options in DA-IC. Depending on the task you need to perform, the Model Registrar can be invoked in three modes as follows:

Create Mode Displays the Create dialog box allowing you to create new
model registrations. For more information, see Create Mode in this chapter.

Manage Mode Displays the Model Registrar dialog box allowing you to
create new model registrations or edit, copy, delete, and rename existing model registrations. For more information, see Manage Mode in this chapter.

Edit Mode Displays the Model Registrar dialog box allowing you to
edit the symbol to model parameter and pin mapping. To invoke this mode, an instance with a valid registered model associated with it must be selected. For more information, see Edit Mode in this chapter.

Batch Mode Invokes the Model Registrar from the command line and
displays the appropriate Model Registrar dialog box depending on which of the three modes is specified: create, manage, or edit. For more information on these three modes, see sections Create Mode, Manage Mode, and Edit Mode. For more information on batch mode, see section Using the Model Registrar in Batch Mode.

Design Architect-IC Users Manual, v8.9_10

5-3

Registering Models for Simulation

Managing/Registering Models

Create Mode
From the Session window, choose File > Model Registration > Create or from the Schematic_edit palette menu, choose Model Registration > Create. The Create dialog box shown in Figure 5-1 displays.

Figure 5-1. Create Dialog Box

5-4

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

Manage Mode
Select a symbol instance and choose Model Registration > Manage from the Schematic_edit palette menu. The Model Registrar dialog box shown in Figure 5-2 displays.

Figure 5-2. Model Registrar Dialog Box

Edit Mode
Select the symbol instance and choose Model Registration > Edit from the schematic_edit palette menu. The Model Registrar dialog box shown in Figure 5-3

Design Architect-IC Users Manual, v8.9_10

5-5

Registering Models for Simulation

Managing/Registering Models

displays. If there is an invalid model registration associated with the selected instance, the Manage Mode is invoked.

Figure 5-3. Model Registrar Dialog Box To invoke the Edit mode, an instance with a valid model registration associated with it must be selected. The VIEW=<language>=<entry> must be present on the instance.

Note

5-6

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

Choosing a Model
Use the following steps to choose a model when creating a new model registration: 1. From the Session menu bar, choose File > Model Registration > Create. The Create dialog box displays.

2. Select a Model Type. For more information, see Supported Modeling Types in this chapter. Depending on the model type specified, the dialog box changes to display list boxes specific to the model type.

Design Architect-IC Users Manual, v8.9_10

5-7

Registering Models for Simulation

Managing/Registering Models

3. Enter the path to the model as follows:


o HDL - You should not need to enter anything. The compiled libraries

specified in the adms.ini file should display in the Library list box. The design units contained in the highlighted library should display in the Design Unit list box. If no libraries display, select the File > Model Registration > Choose adms.ini File and specify an adms.ini file. For more information, see Supported Modeling Types in this chapter.
o ELDOSPICE - Click Choose File next to the Model File field and

select the file containing the SPICE models. The subcircuits contained in the file display in the Sub-Circuit list box. 4. Select the model to register from either the Design Unit or Subcircuit list box.

Registering a Model to an Existing Symbol


Use the following steps to register the model to an existing symbol: 1. Select a model in the Model Registrar Create dialog box. For more information, see Choosing a Model in this chapter. 2. Click Choose Component next to the Component field and select the component containing the symbol to register the model to. The symbols contained in the component display in the Symbol list box. 3. Select a symbol in the Symbol list box. 4. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used.

5-8

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

5. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.

By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Register and select the NCF to save the model registration to.

Editing an Existing Symbol for a Model


The Model Registrar allows you to create or edit a symbol with the Symbol Editor. For information on creating a symbol, see Creating a Symbol for a Model in this chapter. Use the following steps to edit an existing symbol: 1. Select a model in the Model Registrar Create dialog box. For more information, see Choosing a Model in this chapter. 2. Click Choose Component next to the Component field and select the component containing the symbol to register the model to. The symbols contained in the component display in the Symbol list box.

Design Architect-IC Users Manual, v8.9_10

5-9

Registering Models for Simulation

Managing/Registering Models

3. Select a symbol in the list box and click Open Symbol. The Symbol Editor displays the symbol. 4. Edit the Symbol. For more information on using the Symbol Editor, see Chapter 4, Creating Symbols. 5. Click Check & Save. If the new symbol has no errors, it is saved, and the Create dialog box displays. For information on correcting errors, see Checking a Model Registration in this chapter. 6. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 7. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.

By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Register and select the NCF to save the model registration to.

Generating a Symbol for a Model


The Model Registrar allows you to define and generate a pinlist/symbol or create a symbol with the Symbol Editor. For information on using the Symbol Editor, see Creating a Symbol for a Model in this chapter. Use the following steps to generate a new symbol with the Model Registrar: 1. Select a model in the Model Registrar Create dialog box. For more information, see Choosing a Model in this chapter. 2. Click Choose Component next to the Component field and select a component container to save the registration to. If no component container is specified, the model registration is written to a new component container

5-10

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

with the model name in the working directory. Any existing symbols in the component container display in the Symbol list box.

3. Enter the name for the symbol and click Add New. The symbol name is inserted in the Symbol list box. 4. Select the new symbol in the Symbol list box and click Symbol Layout Properties. The Symbol Layout Properties dialog box displays.

5. Next to the Pinlist File field, click Choose File to specify a name and location to write the pinlist file to. A pinlist is created from the symbol attributes specified in this dialog box. DA-IC generates a symbol using the pinlist. If no filename is specified, the pinlist is saved to the Component path with the symbol name.pinlist.

Design Architect-IC Users Manual, v8.9_10

5-11

Registering Models for Simulation

Managing/Registering Models

6. Click the arrow in the Choose Shape data field and choose a symbol shape from the list. 7. If necessary, modify the values in the following fields:
o Pin Spacing - The minimum spacing requirements for the selected

symbol shape display by default. For more information on pin spacing units and current setups, see Setting Grid, Pin Spacing and Snap in Chapter 3.
o Shape Arguments - The minimum width and height size requirements

for the selected symbol shape display by default. For more information on spacing units and current setups, see Setting Grid, Pin Spacing and Snap in Chapter 3. 8. Select the appropriate attributes for each of the symbol pins and click OK. The Create dialog box displays. For more information on pin attributes, see Adding and Naming Symbol Pins in Chapter 4.

Click on a pin name in the Pin Name field of the Symbol Layout Properties dialog box to edit it. If you change pin names, you need to re-map symbol pins to model ports.

9. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 10. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.

By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to.

5-12

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

Creating a Symbol for a Model


The Model Registrar allows you to define and generate a pinlist/symbol or create a symbol with the Symbol Editor. For information on generating a pinlist/symbol in the Model Registrar, see Generating a Symbol for a Model in this chapter. Use the following steps to create a new symbol: 1. Select a model in the Model Registrar Create dialog box. For more information, see Choosing a Model in this chapter. 2. Click Choose Component next to the Component field and select a component container to save the registration to. If no component container is specified, the model registration is written to a new component container with the model name in the working directory. Symbols contained in the component container display in the Symbol list box.

3. Enter the name for the symbol and click Add New. The symbol name is inserted in the Symbol list box. 4. Select the new symbol in the Symbol list box and click Open Symbol. The Symbol Editor displays a blank page. 5. Create the Symbol. For more information on using the Symbol Editor, see Chapter 4, Creating Symbols.

Design Architect-IC Users Manual, v8.9_10

5-13

Registering Models for Simulation

Managing/Registering Models

6. Click Check & Save. If the new symbol has no errors, it is saved, and the Create dialog box displays. For information on correcting errors, see Checking a Model Registration in this chapter. 7. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 8. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.

By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to. If the model registration contains errors, the edit mapping dialog box displays. For more information, see Mapping a Model to a Symbol and Checking a Model Registration in this chapter.

Registering a Model from a Symbol


Use the following steps to register a model to a selected symbol in the Schematic Editor: 1. Open the schematic in DA-IC and select the symbol instance you want to register a model to.

5-14

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

2. Choose Model Registration > Registration > Create from the palette menu. The Model Registrar dialog box displays with the symbol name and location filled in.

3. Specify a model. For more information, see Choosing a Model in this chapter. 4. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 5. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.

By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to.

Design Architect-IC Users Manual, v8.9_10

5-15

Registering Models for Simulation

Managing/Registering Models

Mapping a Model to a Symbol


The model ports and parameters are automatically mapped to the symbol pins and properties by name when the registration is executed. Use the following steps to manually map the symbol to the model: 1. From the create dialog box, click Edit Mapping. A dialog box displays the model ports, symbol pins, and current mapping for the model registration. Mapped pins display in green, unmapped pins display in red, and open and not mapped pins display in orange.
Model ports Symbol pins

Current mapping

2. Map the desired Model Ports to the Symbol Pins using one of the following methods:
o Click Add As Property Adds the selected model parameter name

and value as a property to the symbol.

5-16

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

o Click Map by Name Maps the Model Ports to the Symbol Pins with

matching names. The Model Registrar defaults to this mapping automatically.


o Select a port under Model Ports and a corresponding pin under Symbol

Pins and click Map Selected Maps the selected port and pin together and displays them in under Mapped Pins.
o Select a pin/port pair under Mapped Pins and click

Unmap Selected Deletes the selected pin/port mapping.


o Click Open under Model Ports to specify that a Model Port is OPEN or

unconnected - The open port is displayed in orange.


o Click Unmap All Deletes all current pin/port mapping.

3. Click Next to map the model parameters to the symbol properties. A dialog box displays the model parameters, symbol properties, and current mapping for the model registration. Mapped properties display in green and unmapped properties display in red.

Design Architect-IC Users Manual, v8.9_10

5-17

Registering Models for Simulation

Managing/Registering Models

Model parameters

Symbol properties

Current mappings

4. Map the desired Model Parameters to the Symbol Properties using one of the following methods:
o Click Map by Name Maps all Model Parameters to the Symbol

Properties with matching names. The Model Registrar defaults to this mapping automatically.
o Select a parameter under Model Parameters and a corresponding

property under Symbol Properties and click Map Selected Maps the selected parameters and properties together and displays them under Mapped Parameters.

5-18

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

o Select a parameter/property pair under Mapped Pins and click Unmap

Selected Deletes the selected parameter/property mapping.


o Click Unmap All Deletes all current parameter/property mapping.

5. When you finish mapping the model to the symbol, click Register to complete the model registration.

By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to.

Setting a Default Model Registration


The default model registration is used by the netlister when no model is specified for a symbol. When creating or editing a model registration, click the default button to set the current model as the default.

Design Architect-IC Users Manual, v8.9_10

5-19

Registering Models for Simulation

Managing/Registering Models

Click to specify the named model registration as the default.

Viewing the Registered Models for a Symbol


Use the following steps to view all models registered to a selected symbol: 1. Open a schematic design.

5-20

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

2. Select the symbol and choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.

Validity status

3. All models associated with the selected symbol display including:


o Validity status For more information, see Checking a Model

Registration in this chapter.


o Model Type Language type for the model. For more information,

see Supported Modeling Types in this chapter.


o Model Name Name of the model. o Registration Name Name of the model registration. o Permission Read, write, locked permissions for the model

registration.
o TD Indicates the default model.

Design Architect-IC Users Manual, v8.9_10

5-21

Registering Models for Simulation

Managing/Registering Models

Checking a Model Registration


New model registrations are checked for validity before they are saved. The following checks are performed:

Symbol pins and model ports match the registration pin alignment. All model parameters are mapped to symbol properties or have a default
value.

Model and symbol have not been modified since the registration was
created. If the checks do not pass, a descriptive error message displays in the Model Registrar transcript window. Use the following steps to check an existing model registration: 1. Open the schematic design and select the symbol instance. 2. Choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.

3. Select the model to check. Each model is preceded by a check status indicator as follows: Indicates the model passed all checks and is considered valid.

5-22

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

Indicates the model has not been checked. Indicates the model has been checked and that it contains errors. Click on the icon to display an error description. 4. Choose Registration > Check Registration. The selected model is checked and the status indicator is updated to reflect the current status. To check all registrations listed, choose Registration > Check all Registrations.
Note

If the model still contains errors, check the symbol-to-model mapping. For more information, see Mapping a Model to a Symbol in this chapter.

Editing a Model Registration


Use the following steps to edit an existing model registration: 1. Open a schematic design. 2. Select the symbol instance and choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.

Design Architect-IC Users Manual, v8.9_10

5-23

Registering Models for Simulation

Managing/Registering Models

3. Select the model you need to edit and choose Registration > Edit Registration from the pulldown menu. The Model Registrar dialog box displays.

4. If necessary, click Open Symbol to edit the symbol for the model registration with the Symbol Editor. For more information, see Editing an Existing Symbol for a Model in this chapter. 5. If necessary, click the button next to Default Registration to specify the model registration as the default. For more information, see Setting a Default Model Registration in this chapter.

5-24

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

6. If necessary, click the Pin Alignment tab to edit the model port to symbol pin mapping. For more information, see Mapping a Model to a Symbol in this chapter. 7. If necessary, click the Parameter Alignment tab to edit the model parameter to property mapping. For more information, see Mapping a Model to a Symbol in this chapter. 8. Click Save to save the changes to the model registration. The Model Registrar dialog box displays. 9. Check the registration. For more information, see Checking a Model Registration in this chapter.

Renaming a Model Registration


Use the following steps to rename an existing model registration: 1. Open a schematic design. 2. Select the symbol instance and choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.

Design Architect-IC Users Manual, v8.9_10

5-25

Registering Models for Simulation

Managing/Registering Models

3. Select the model you need to rename and choose Registration > Change Registration Name from the pulldown menu. The Change Registration Name dialog box displays.

4. Enter the new name and click OK.

Copying a Model Registration


Use the following steps to copy an existing model registration to another Netlist Control File (NCF): 1. Open a schematic design. 2. Select the symbol instance and choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.

5-26

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

3. Select the model registration you need to copy and choose Registration > Copy Registration from the pulldown menu. The Copy Registration dialog box displays.

4. Click the arrow in the lower data field to display a list of writable NCFs. 5. Select an NCF to copy the registration to. If nothing is selected, the registration is copied to the same NCF the original resides in. 6. Click OK. The model registration is copied to the selected NCF.

Deleting a Model Registration


Use the following steps to delete an existing model registration: 1. Open a schematic design. 2. Select the symbol instance and choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.

Design Architect-IC Users Manual, v8.9_10

5-27

Registering Models for Simulation

Managing/Registering Models

3. Select the model registration you need to delete and choose Registration > Delete Registration. The selected model registration is deleted. If multiple model registrations with the same name exist, only the model registration in the highest priority NCF is deleted. If another model registration with the same name is contained in another NCF, it displays.

Note

Restoring Deleted Model Registrations


When you delete model registrations with the Model Registrar, they are sent to the trash bin. From the trash bin, you can delete them permanently or restore them to the Model Registrar. The trash bin contains only the model registrations deleted in the current session. Use the following steps to delete or restore model registrations from the trash bin: 1. From the Model Registrar, choose Component > Trash Bin. Model registrations deleted from the current session display.

2. Select a registration and click one of the following options:


o Restore - Moves the selected model registration from the trash bin back

to the Model Registrar.


o Remove - Deletes the selected model registration permanently.

3. Click Close. The Deleted Registrations window closes. If you exit the Model Registrar with registrations in the trash bin, you are prompted to delete or restore them.

5-28

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

Closing the Model Registrar


Use the following step to exit the Model Registrar:

Click Exit. The Model Registrar closes.

Using the Model Registrar in Batch Mode


You can invoke the Model Registrar in batch mode from the command line. Batch mode allows you to easily register models to one or more symbols. In batch mode, the Model Registrar reads a user-created configuration file that performs the same action as the interactive Model Registrar.

To register HDL models, the anacad environment variable must be set and anacad must be initialized as shown:
Note set anacad <path to anacad software tree> . $anacad/com/init_anacad

Creating a Batch File Using the Model Registrar


Use one of the following methods to create a batch file:

Creating a Batch File Using Model Registrar From a Shell Creating a Batch File Using Model Registrar From Within Design
Architect-IC Creating a Batch File Using Model Registrar From a Shell

To use Model Registrar from a shell, the ADMSIM environment variable must be set to the path of the adms.ini file.
Note

Design Architect-IC Users Manual, v8.9_10

5-29

Registering Models for Simulation

Managing/Registering Models

To register a single model and write the registration to a batch file, invoke the Model Registrar from a shell using the create option as shown:
$MGC_HOME/bin/mr_ic -create -tobatch batch_file -mrf <mapping_rule_file>

-create Invokes the Model Registrar in create mode for a single model registration. -tobatch Captures model registration information in the batch_file file. -mrf Creates a mapping rule file containing the pin and parameter mapping rules used for this registration. If no mapping_rule_file argument, the following default mrf file is used
component_directory/<symbol>_<entry_name>.mrf

Register as many models as you want using the create option; the registration information is appended to the batch_file and the mapping rules are saved in individual mapping_rule_file files. You can also invoke the Model Registrar using the manage option from a shell and register multiple models. For complete command syntax, execute the following command from a shell:
$MGC_HOME/bin/mr_ic -help

Creating a Batch File Using Model Registrar From Within Design Architect-IC To register multiple models and write the registration to a batch file, invoke the Model Registrar from Design Architect-IC by clicking Model Registration > Manage from the session palette. This action is equivalent to invoking in manage mode from a shell as shown below:
$MGC_HOME/bin/mr_ic -manage

To specify the -tobatch option in this mode, choose Options > Setup from the Model Registrar to display the Setup Model Registration dialog box. Use this dialog box to create a mapping rule file, a batch file, and a log file while in manage mode. To begin registering models in this mode, choose Registration > Create Registration. You can register as many models as you want using this method,

5-30

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

and the registration information is appended to the batch_file and the mapping rules are saved in individual mapping_rule_file files.

Creating a Batch File Manually


Batch files are ASCII files containing all of the information necessary to perform a registration(s). Batch files can be manually created with a text editor following the guidelines described in this section. Batch File Syntax Each entry in a batch file contains a set of registration information organized as follows:
<Model Language> <Model Library> <Model Name> <Component Path> <Symbol Name> < Registration Name> <NCF Destination> <Pinlist Path> <Mapping Rule File Path>

Table 5-1 presents typical values for entries in the batch file. Note that soft pathnames, that are present in the location map, are supported. Table 5-1. Example Registration Argument Values
Model Language Model Library Model Name Component Path Symbol Name HDL WORK INV(ADMS) EldoSpice Schematic Required/ Optional

$DESIGN/models/ $DESIGN/symbols Required Inv.cir /Inv Inv_subckt schematic Required

$DESIGN/symbols/ $DESIGN/symbols/ $DESIGN/symbols/ Required Inv Inv Inv Inv Inv Inv_spice 0 Inv Inv_schematic 3 Required Optional Optional

Registration Inv_hdl Name NCF Destination 1

Design Architect-IC Users Manual, v8.9_10

5-31

Registering Models for Simulation

Managing/Registering Models

Table 5-1. Example Registration Argument Values


Model Language Pinlist Path Mapping Rule File Path HDL EldoSpice Schematic Required/ Optional

$DESIGN/symbols/ $DESIGN/symbols/ $DESIGN/symbols/ Optional Inv/Inv.pinlist Inv/Inv.pinlist Inv/Inv.pinlist $DESIGN/symbols/ $DESIGN/symbols/ $DESIGN/symbols/ Optional Inv/Inv_hdl.mrf Inv/Inv_spice.mrf Inv/Inv_schem.mrf

In the batch file, the NCF Destination argument is specified as follows: 0: User NCF 1: Component NCF 2: Library NCF 3: Global NCF For more information about the NCF Destination, refer to the section Determining a Location for the NCF in Chapter 2 of the EldoNet Users and Reference Manual. Table 5-2 lists default values for the optional arguments in a batch file entry. Table 5-2. Default Values for Optional Arguments
Model Language Registration Name NCF Destination Pinlist Path Default Value Model Name NCF Component (1) <symbol_registrationname.pinlist> in the component directory If the file does not exist in the default location, the argument is ignored.

Mapping Rule File Path <symbol_registrationname.mrf> in the component directory If the file does not exist in the default location, the argument is ignored.

5-32

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

Batch File Processing Batch files are processed according to the following rules:

An entry line in the batch file is skipped if the Model Registrar cannot
register or if some information is missing. An error message is added to the log.

If the symbol does not exist, or if there is no mapping rule file, the argument
is replaced by "". The other optional arguments are replaced by "" to be ignored.

If the symbol is already registered, you can re-use the pinlist file generated.
It resides in the component directory under the name <symbol_registrationname>.pinlist. If the pinlist file is not defined and the symbol does not exist, the symbol is generated with default characteristics (box shape, default pin locations).

If the <Registration Name> is not defined, the registration name assumes


the model by default. If the <NCF Destination> is not defined, the registration is saved in the NCF Component file as 1. Mapping Rules Files Mapping rules files must respect case-sensitive syntax as described in the section Mapping Rules Files Syntax. They are automatically generated by the Model Registration process and have a .mrf suffix. By default, they are created in the component directory with the format: <symbol_registrationname>.mrf. You can specify a different location by specifying an explicit pathname for the -mrf argument during model registration. Mapping rules files contain information to map ports to pins and to map parameters to properties. The following levels of mapping are possible:

Name Mapping Maps the ports with the pins according to their names. Alphanumerical Mapping Maps the ports with the pins according to their
alphabetical order.

Design Architect-IC Users Manual, v8.9_10

5-33

Registering Models for Simulation

Managing/Registering Models

Specified Mapping Maps the specified ports with the specified pins.
Mapping Rules Files Syntax The .mrf file must use the following case-sensitive syntax: set pinMappingRules <pinRule> set propMappingRules <propRule>

The pinRule and the propRule can be one of the following: name, alpha,
specific.

If the rule is specific for the pinMappingRules, the following lines should
be added: set portMappingRuleList {<port1> <port2> <port3>} set pinMappingRuleList {<pin1> <pin2> <pin3> <pin4>} set portOpenRuleList {<port4>} In this case, <port1> will be mapped with <pin1>, <port2> will be mapped with <pin2>, and so on. <pin4> will be left unmapped. <port4> will be OPEN.

If the rule is specific for the propMappingRules, the following lines should
be added: set paramMappingRuleList {<param1> <param2> <param3> <param4>} set propMappingRuleList {<prop1> <prop2> <prop3>} In this case, <param1> will be mapped with <prop1>, <param2> will be mapped with <prop2>, and so on. <param4> will be left unmapped. If a pin or param mapping is not defined for an instance, it remains unmapped.

If a rule file is not specified, the mapping is performed by name.

5-34

Design Architect-IC Users Manual, v8.9_10

Managing/Registering Models

Registering Models for Simulation

Registering Models Using a Batch File


To invoke the Model Registrar and use the batch file created in either of the previous sections, invoke the Model Registrar from the shell using the batch option as shown:
model_registrar -batch batch_file <-log log_file> <-nogui>

-batch Invokes the Model Registrar using the batch_file argument as input for registration. -log Generates a log file for the batch session. If the log_file file is specified, the log information is written to this file; otherwise it is written to stdout. -nogui Specifies that the Batch Mode application is not displayed. This option is not recommended because it removes progress and result status from the screen. Before re-registering (updating) models that have already been registered in batch mode, you must delete the associated NCF files from each component. If the Model Registrar does not have enough information to register a specific entry in the batch_file file, the entry is skipped. If you do not specify a batch_file argument with the batch option, the Model Registrar invokes in the manage mode. You can register without explicitly running Design Architect-IC. If the file format is not correct, the Model Registrar returns an error.

Design Architect-IC Users Manual, v8.9_10

5-35

Registering Models for Simulation

Managing/Registering Models

5-36

Design Architect-IC Users Manual, v8.9_10

Chapter 6 Using Function Blocks

This chapter describes Function Block (FB) creation, manipulation, and conversion procedures. Function Block creation involves the following two-step process: 1. Creating FB Definitions and FB Instances - this procedure involves assembling and manipulating FB Definitions and FB Instances. 2. Creating Made FB Definitions and FB Instances - this operation converts existing unmade FB Definitions or FB Instances to Made FB Definitions or Made FB Instances. Do not edit Function Blocks in simulation mode or design context. ! Use the Schematic Editor only to create or edit Function Blocks. Caution All Function Blocks must be made before you invoke simulation mode or design context.

Function Block Terminology


The following states, unmade and made, represent Function Blocks at specific development stages, as follows:

Made - A standard Made FB Definition or Made FB Instance symbol


converted from an FB Definition or FB Instance.

Unmade - An editable and re-sizable FB Definition or FB Instance.

Refer to the Terminology section in Chapter 12 for additional Function Block Terminology.

Design Architect-IC Users Manual, v8.9_10

6-1

Chapter Structure

Using Function Blocks

Chapter Structure
Setting up a Function Block Creating Made FB Definitions and FB Instances Net Construction Manipulating FB Definitions and FB Instances Creating Made FB Definitions and FB Instances Unmaking Made FB Definitions and Made FB Instances Checking Function Blocks Set a made or unmade Function Blocks default line style and color settings. Create FB Definitions and FB Instances. Connect FB Definitions and FB Instances. Edit and manipulate FB Definitions and FB Instance. Produce Made FB Definitions and Made FB Instances from FB Definitions and FB Instances. Return Made FB Definitions and Made FB Instances to their unmade form. Test either made or unmade Function Blocks using the $$check() function.

6-2

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Setting up a Function Block

Setting up a Function Block


A Function Block objects default line style settings are set using the Schematic Setup Function Blocks dialog box, as shown in Figure 6-1 on page 6-4. Default color settings are set using the Session Set Color dialog box, represented in Figure 6-2 on page 6-5. When set, the default settings apply to Function Blocks created and made during the Design Architect-IC session. These settings affect all subsequently-created Function Block objects. Line style changes have no effect on existing Function Block objects unless the object changes state, that is made to unmade state, or unmade to made state

Note

Use the following steps to set the default line style for a Function Block: 1. Invoke Design Architect-IC and open the appropriate sheet.

Design Architect-IC Users Manual, v8.9_10

6-3

Setting up a Function Block

Using Function Blocks

2. Select Setup > Function Blocks.... The Setup Function Blocks dialog box shown in Figure 6-1 displays.

Setup Function Blocks


Made Function Block Defs Line Style Unmade Function Block Defs Line Style Passthru Nets On Off Make Failure Popup On Off

Made Function Block Insts Line Style

Unmade Function Block Insts Line Style

Popup On Interface Change

On Off

OK

Reset

Cancel

Figure 6-1. Setup Function Blocks Dialog Box 3. Select the appropriate line style(s). 4. Select whether passthru nets are on or off. For more information regarding passthru nets, refer to Constructing Passthru Nets in this chapter. By default, passthru nets are on. 5. Select whether the Make Failure Popup notification is issued if errors are detected while Creating Made FB Definitions and FB Instances. 6. Select whether the Interface Change popup is issued if Interface Pin Changes are detected during the Make Operation. 7. Once the Selections are made, click OK.

6-4

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Setting up a Function Block

In addition, this setting can be captured in a startup file using the $setup_function_block() function. Perform the following steps to setup the Function Block objects default color settings: 1. Invoke Design Architect-IC. 2. From the Session Pulldown Menu Bar, select Setup > Display... or use the $setup_color() function. The Setup Display dialog box displays, as shown in Figure 6-2.

Figure 6-2. Set Color Dialog Box

Design Architect-IC Users Manual, v8.9_10

6-5

Creating FB Definitions and FB Instances

Using Function Blocks

3. Click the appropriate radio button to select the object, then use the scroll list to select that objects desired color. 4. Click OK. In addition, you can capture this setting in a startup file using the $set_color() function and, subsequently, you can pre-load the startup file during invocation. Both the line styles and colors for a specific Function Block object can be set onthe-fly during a session. For more detailed information, refer to Setting Colors On-the-Fly in this chapter.

Creating FB Definitions and FB Instances


FB Definitions and FB Instances are created on the schematic sheet. The sections listed below contain the step-by-step procedures used in creating FB Definitions and FB Instances:

Creating FB Definitions Creating FB Instances Adding FB Pins


At the most rudimentary level, creating FB Definitions and FB Instances consists of enclosing pre-existing circuitry within an FB Definition rectangular boundary, adding the required FB_NAME property, and, if used, the optional FB_INST property. These Function Block-specific properties are described in Table 6-1 below. Table 6-1. Function Block-Specific Properties Property FB_NAME Definition Required - A string property identifying an FB Definitions unique name.

6-6

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

Table 6-1. Function Block-Specific Properties Property FB_INST Definition Optional - A user-specified string property identifying the future Made FB Instances name. This property can be used for arrayed FB Instances, for example RAM_INST[15:0]. Note: When an FB Instance or FB Definition is made, this property becomes the standard symbol INST property.

The Add Popup Menu, described in Figure 6-3, contains the available Function Block functions.

Add Function Block Instance $add_fb_inst() Add Function Block Definition $add_fb_def() Add Function Block Pin $add_fb_pins()

Figure 6-3. Add Popup Menu with Function Block Options

FB Definitions and FB Instances Usage Models


When do you use an FB Definition and when do you use an FB Instance?

Design Architect-IC Users Manual, v8.9_10

6-7

Creating FB Definitions and FB Instances

Using Function Blocks

An FB Definition is primarily used to initially design and manipulate the contained circuitry, as well as the FB Definition boundary, in a variety of different ways depending on the intended use. An FB Instances principal application is FB Definition reuse. An FB Instance can be resized and have pins, moved, or deleted. Note that an FB Instance is based on an existing FB Definition. For additional information and usage instructions, refer to the Manipulating FB Definitions and FB Instances section in this chapter.

Creating FB Definitions
Follow the steps below to add FB Definitions to a schematic sheet. 1. Invoke Design Architect-IC and open a schematic sheet. 2. Navigate to a schematic area where you want to create the FB Definition. For example, Figure 6-4 is a simple circuit to be used inside an FB Definition.

6-8

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

Schematic#1 source1 sheet1

Figure 6-4. Example Schematic FB Definitions cannot contain internal ports or external connectors.
Note

3. To define the FB Definitions rectangular extent, right click within the schematic window to call the Add Popup menu. After an FB Definition is created, it can be resized, moved, or copied. Refer to the Manipulating FB Definitions and FB Instances section in this chapter for specific instructions.

Note

Figure 6-5 shows the Function Block menu options in the Add popup menu.

Design Architect-IC Users Manual, v8.9_10

6-9

Creating FB Definitions and FB Instances

Using Function Blocks

Figure 6-5. Function Block Options in the Add Popup Menu This option is also available using the Schematic Add pulldown menu. 4. From the Add popup or pulldown menu, choose Function Block Def: The Add Function Block Definition prompt bar displays.
Function Block Inst Name (optional)

ADD FB D FB Name

rect

INST Name

Name Placement auto

OK

Cancel

Function Block Name

Name Placement - Auto - Manual

FB Name - Contains the FB Definitions user-specified name. This is


also the FB_NAME property.

6-10

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

INST Name - Contains an optional, user-specified Instance name. This


is also the FB_INST property. Both the FB Names and INST Names must be unique for each FB Definition. In other words, there cannot be two FB Definitions in the same schematic with identical FB Names and/or INST Names.

Note

Name Placement - Determines how the FB Name and FB Inst Names


are applied to the FB Definition. Use one of the following two options:
o Auto - If selected, the FB_NAME and, if used, FB_INST properties

are applied automatically to the FB Definition in the upper left- and upper right hand-corners of the rectangle, respectively.
o Manual - If selected, the user manually places the FB_NAME and, if

used, FB_INST propertys name, to the FB Definition. 5. Within the Add Function Block Definition prompt bar, perform the following steps: a. Enter the FB Definitions name in the prompt bars FB Name field. b. If used, enter the FB Instances name in the prompt bars INST Name field. c. Use the stepper button to select either Auto or Manual Name Placement. Auto is the default selection. 6. Verify the settings, then click OK. The prompt bar will not close until you create the FB Definitions bounded rectangular area on the schematic sheet. The rectangular area must be larger than a 1x1 pin grid and always snaps to the grid. 7. Move the cursor over to the upper-left corner of the circuit. The cursor turns to a + to create the FB Definitions rectangle.

Design Architect-IC Users Manual, v8.9_10

6-11

Creating FB Definitions and FB Instances

Using Function Blocks

8. Position the cursor and hold down the left mouse button, then drag the cursor over the circuitry elements you want included within the FB Definition. Figure 9 provides an example of this step.
Schematic#1 source1 sheet1

9. After positioning the rectangle, release the left mouse button. The FB Definitions rectangle boundary, represented by dashed lines, is now instantiated and remains selected. Figure 6-6 provides an example of an instantiated FB Definition assigned the FB_NAME property of mux and the optional user-specified FB_INST property of mux_1.

6-12

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

FB_NAME Property

FB_INST Property

Schematic#1 source1 sheet1

mux

mux_1

Definition Boundary

Figure 6-6. FB Definition Example The FB Definitions rectangular boundary default color is green. If required, the default colors are modified in accordance with the instructions contained in the Setting up a Function Block or Setting Colors On-the-Fly sections in this chapter. Once the FB Definition is created, you can add FB Pins to connect the object. For detailed procedures, refer to the Adding FB Pins section in this chapter.

Creating FB Instances
FB Instances are designed to reuse an existing FB Definition. FB Instances cannot enclose other schematic objects and the design must contain exactly one parent

Design Architect-IC Users Manual, v8.9_10

6-13

Creating FB Definitions and FB Instances

Using Function Blocks

FB Definition with a matching FB_NAME property. The following two methods are used in creating FB Instances: 1) Using the Miscellaneous > Convert Function Block > Create Instance From Definition pulldown menu item, or 2) Using the Add Popup Menu. 1. Using the Create Instance From Definition Menu Item - This is the most efficient method for creating FB Instances. Once an FB Definition is constructed, an FB Instance is created from the existing FB Definition for reuse within the schematic. For example, you can create the FB Instance in Figure 6-10, on page 6-17, from the existing FB Definition in Figure 6-18, on page 6-25, and place the Instance on the active sheet. Perform the following steps to create an FB Instance from an existing FB Definition: a. Open the schematic that contains the FB Definition and select the FB Definitions rectangular boundary. b. Use the right mouse button (or the F4 function key) to call the Function Block popup menu. This option is also available via the Schematic Miscellaneous > Convert Function Block pulldown menu. c. Within the Function Block popup menu, select Convert Function Block > Create Instance from Definition, as demonstrated in Figure 6-7.

6-14

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align Instance to Definition Create Instance from Definition

Figure 6-7. Function Block Popup Menu d. The Create Function Block Definition from Instance prompt bar is called as shown in Figure 6-8.

CRE FB I F D

At Location

OK

Cancel

Figure 6-8. Create Function Block Definition to Instance Prompt

Design Architect-IC Users Manual, v8.9_10

6-15

Creating FB Definitions and FB Instances

Using Function Blocks

e. Upon execution, move the white-bounded FB Instance ghost image to the appropriate location on the schematic sheet, as shown in Figure 6-9.
Schematic #1 source1 sheet1

mux

mux_1

Figure 6-9. Positioning a FB Instance f. Click the left mouse button to place the FB Instance.

6-16

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

Figure 6-10 shows the FB Definition and the newly-created FB Instance.

Schematic #1 source1 sheet1

mux

mux_1

mux

mux_2

Figure 6-10. FB Instance Created from a FB Definition

Note

If the FB Definition contains the optional FB_INST property, this property must be changed to a unique name on the created FB Instance.

FB Instances can be resized, moved, or copied. Refer to the chapters Manipulating FB Definitions and FB Instances section in this chapter for specific instructions.

Design Architect-IC Users Manual, v8.9_10

6-17

Creating FB Definitions and FB Instances

Using Function Blocks

2. Using the Add Popup Menu - Figure 6-11 is an example FB Definition parent that serves as the FB Instances basis:
Schematic#1 source1 sheet1

mux

Figure 6-11. Example FB Definition To create an FB Instance, use the following procedure: a. On the active sheet containing the FB Definition, navigate to a schematic area where you want to create the FB Instance. b. To define the FB Instances rectangular extent, right click within the schematic window to call the Add Popup menu. Figure 6-12 shows the Function Block menu options in the Add popup menu that are available for use.

6-18

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

Figure 6-12. Add Popup Menu with Function Block Menu Options These options are also available using the Schematic Add pulldown menu. c. From the Add popup menu, select Function Block Inst: d. The Add Function Block Instance prompt bar is called.
Function Block Inst Name (optional)

ADD FB I

FB Name

rect

INST Name

Name Placement auto

OK

Cancel

Function Block Name

Name Placement - Auto - Manual

FB Name - The field that contains the existing FB Definitions userspecified name. This is also the FB_NAME property.

Design Architect-IC Users Manual, v8.9_10

6-19

Creating FB Definitions and FB Instances

Using Function Blocks

INST Name - An optional field that contains a user-specified FB


Instance name. This is also the FB_INST property. Both the FB Names and INST Names must be unique for each FB Instance. In other words, there cannot be two FB Instances on the same sheet with identical FB Names and INST Names.

Note

Name Placement - Determines how the FB Name and FB Inst


Names are applied to the FB Instance. Use one of the following two options: a. Auto - If selected, the FB_NAME and, if used, FB_INST properties are applied automatically to the FB Instance in the upper left- and upper right hand-corners of the rectangle, respectively. b. Manual - If selected, the user manually adds the FB_NAME and, if used, FB_INST propertys Names to the FB Instance. e. Within the Add Function Block Instance prompt bar, perform the following steps: i. Enter the existing FB Definitions name in the prompt bars FB Name field. Figure 6-11s FB Definitions name is mux. In this example, mux is entered in the prompt bars FB Name field. ii. If used, enter the FB Instances name in the prompt bars INST Name field. In the example, the name circuit_01 is entered in the field. iii. Use the stepper button to select either Auto or Manual Name Placement. Auto is the default selection. f. Verify the settings, then click OK.

6-20

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

The prompt bar will not close until you create the FB Instances bounded rectangular area on the schematic sheet. The rectangular area must be larger than a 1x1 pin grid and snaps to the grid. g. Move the cursor over the schematics extent. The cursor turns to a + to create the FB Instances rectangle. h. Position the cursor and hold down the left mouse button and, by dragging the cursor across the sheet, create the FB Instance. Figure 6-13 provides an example of this step.
Schematic#1 source1 sheet1

Figure 6-13. FB Instance Creation Example i. After positioning the rectangle, release the left mouse button. The FB Instance rectangle, represented by dashed lines, is now instantiated and remains selected. Figure 6-14 provides an example of

Design Architect-IC Users Manual, v8.9_10

6-21

Creating FB Definitions and FB Instances

Using Function Blocks

an instantiated FB Instance based on the FB Definition mux and containing the optional user-specified FB_INST property of circuit_01.
Function Block Name Function Block Instance Name

Schematic#1 source1 sheet1

mux

circuit_01

Function Block Instance Boundary

Figure 6-14. FB Instance Example The FB Instances rectangular boundary default color is yellow. If required, the default colors can be modified in accordance with the instructions contained in the Setting up a Function Block and Setting Colors On-the-Fly sections in this chapter. Once the FB Instance is created, you can add FB Pins to connect the object. For detailed procedures, refer to the Adding FB Pins section in this chapter. In addition, unmade FB Instances can be resized, moved, or copied. For specific instructions, refer to the Manipulating FB Definitions and FB Instances section in this chapter.

6-22

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating FB Definitions and FB Instances

Adding FB Pins
Perform the following steps to add FB Pins to FB Definitions and FB Instances: Every FB Definition or FB Instance must have at least one pin. The pins are placed on the top, bottom, or left and right sides of an unmade FB Definition or FB Instance. However, FB Pins cannot be placed on the boundary corners. Refer to the FB Pins section in Chapter 12 for more information.

Note

1. Within the schematic, press the right mouse button and select Function Block Pins: from the Add popup menu, shown in Figure 6-15:

Figure 6-15. Function Block Pins in the Add Popup Menu The Add Function Block Pin prompt bar is called, as shown in Figure 6-16:

ADD FB P loc

OK

Cancel

Figure 6-16. Add Function Block Pin Prompt Bar

Design Architect-IC Users Manual, v8.9_10

6-23

Creating FB Definitions and FB Instances

Using Function Blocks

2. Move the cursor to the position where the net intersects the FB Definitions or FB Instances boundary, as shown in Figure 6-17, or to any other location on the FB Definitions or FB Instances rectangular boundary.
Add Pin Here

Schematic#1 source1 sheet1

mux

mux_1

Figure 6-17. FB Pin Placement 3. Position the cursor and press the left mouse button to place the FB Pin. 4. Repeat Step 2 for the remaining user-specified locations on the FB Definition or FB Instance.

6-24

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Net Construction

Figure 6-18 illustrates an FB Definition with associated FB Pins.


Schematic #1 source1 sheet1

mux

mux_1

Figure 6-18. FB Definition with FB Pins

Net Construction
Prior to creating FB Definitions and Instances net connections, review the FB Definition and FB Instance Net Constructs section in Chapter 12.

Note

Use the following procedures to add wires, bundles, and busses to existing FB Definitions and FB Instances:

Design Architect-IC Users Manual, v8.9_10

6-25

Net Construction

Using Function Blocks

Constructing Internal Nets


Internal net constructs are only applied to FB Definitions. These nets connect the FB Definitions internal circuitry, including internal FB Pin connections, within the FB Definitions boundary. To avoid incorrect or erroneous passthru net connections, passthru net construction must adhere to specific architectural constraints. Warning For a more detailed explanation, see the FB Definition and FB Instance Net Constructs section in Chapter 12. To construct an FB Definitions internal nets, follow the steps below: 1. Use the standard Drawing and Routing Nets procedures to connect the underlying circuitry. 2. For example, Figure 6-19 represents internally-connected circuitry within a yet-to-be-created FB Definition:

Figure 6-19. Example Circuit

6-26

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Net Construction

3. Next, create an FB Definition and enclose the circuitry within the FB Definitions rectangular boundary. For detailed procedures, consult the Creating FB Definitions section in this chapter. Continuing with the example circuit in Figure 6-19, an FB Definition is created with the circuitry confined within the FB Definitions boundary, as demonstrated in Figure 6-20:

Figure 6-20. Example of an Enclosed Circuit within an FB Definition 4. Add FB Pins to the FB Definitions boundary following the steps in the Adding FB Pins section in this chapter.

Design Architect-IC Users Manual, v8.9_10

6-27

Net Construction

Using Function Blocks

5. Connect the internal circuits input and output nets to the respective FB Pins, as demonstrated in Figure 6-21.

mux

mux_1

Figure 6-21. Completed FB Definition Example

Constructing External Nets


External nets are standard Design Architect-IC wires, busses, and bundles constructs. Note that if no external nets are connected to an FB Definition, then the FB Definition is turned into an unconnected FB Definition comment when the FB Definition is made. To add external nets to an FB Definition or FB Instance, follow the steps below: 1. Navigate to the FB Definition or FB Instance. 2. Use standard Drawing and Routing Nets procedures to connect wires, bundles, and/or busses to the FB Definitions or FB Instances FB Pins.

6-28

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Net Construction

3. Add ports and other I/O objects, as appropriate. An FB Definition is used in either a connected or unconnected state. See Usage Paradigm in Chapter 12 for additional information.

Note

Constructing Passthru Nets


Passthru nets are used exclusively with FB Definitions. These nets connect to an FB Pins inner pin and are then connected to an object outside the FB Definitions boundary. Use the following procedure to add passthru nets to an existing FB Definition: 1. Navigate to the FB Definition. 2. Use standard Drawing and Routing Nets procedures to connect passthru nets to the FB Definition.

Constructing Flythru Nets


Flythru nets are also used exclusively with FB Definitions, but are not part of the FB Definitions contents. For flythru net methodology information, see Flythru Nets in Chapter 1. Use the following procedure to add flythru nets to an existing FB Definition: 1. Navigate to the FB Definition. 2. Use standard Drawing and Routing Nets procedures to add flythru nets to the FB Definition.

FB Definition and FB Instance Checks


After an FB Definitions or FB Instances internal and external electrical connectivity is established, the schematic source sheet must be checked for

Design Architect-IC Users Manual, v8.9_10

6-29

Manipulating FB Definitions and FB Instances

Using Function Blocks

possible errors. To do this, follow Checking Function Blocks procedures in this chapter.

Manipulating FB Definitions and FB Instances


FB Definitions and FB Instances are manipulated by:

Converting FB Instances to FB Definitions Selecting FB Definitions and FB Instances Adding or Removing Objects from within an FB Definition Stretching or Resizing FB Definition and FB Instance Boundaries Setting Colors On-the-Fly
This section only applies to FB Definitions or FB Instances: Once a Function Block is made, it must be reverted to its original unmade and editable FB Definition or FB Instance before it can be edited. Refer to the Unmaking Made FB Definitions and Made FB Instances section in this chapter for specific procedures.

Note

FB Definitions and FB Instances can also be moved, copied, or deleted.

Converting FB Instances to FB Definitions


An FB Instance can be converted to an FB Definition. To perform this operation, carry out the following procedure: 1. Open the schematic that contains the FB Instance and select the objectss rectangular boundary. 2. Select Miscellaneous > Convert Function Block > Instance to Definition. The selected FB Instance is now an FB Definition.

6-30

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Manipulating FB Definitions and FB Instances

You can manipulate FB Definitions and FB Instances in the following ways: 1. Add or remove objects from within an FB Definitions rectangular boundary. 2. Add, move, or remove FB Pins from the FB Definitions boundary. 3. Stretch or resize an FB Definitions or FB Instances boundary rectangle.

Selecting FB Definitions and FB Instances


FB Definitions, FB Instances, and FB Pins are selectable items. As such, the Select Filter can be used to select Function Block-specific objects. To set the Select Filter to choose Function Blocks or Function Block Pins for a session, perform the following steps: 1. Choose the Setup > Select Filter... pulldown menu item. The Setup Select Filter dialog box is called, as represented by Figure 6-22.

Design Architect-IC Users Manual, v8.9_10

6-31

Manipulating FB Definitions and FB Instances

Using Function Blocks

Setup Select Filter


Add/Route Text Draw

Selection Filter will allow selection of: Comments Frames Instances Nets Pins Properties Reset to MGC Defaults Segments Symbol Pins Comment Text Vertices FBs FB Pins Set All Clear All

OK

Reset

Cancel

Figure 6-22. Setup Select Filter Dialog Box By default, the FBs (Function Blocks) filter is selected. 2. Click the appropriate radio buttons, then click OK. The Select Filter now selects the specified objects.

Adding or Removing Objects from within an FB Definition


A given FB Definitions internal parts can contain objects found on traditional schematic sheets. However, FB Definitions cannot contain ports or external connectors. You can add or remove any schematic objects within the FB Definitions rectangular boundary using standard schematic edit tools. Refer to Chapter 3 Creating Schematics for specific editing operating procedures.

6-32

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Manipulating FB Definitions and FB Instances

In addition, FB Definitions can contain other FB Definitions and FB Instances, but recursion of these objects is not allowed. FB Pins can also be added and removed from the FB Definition (or FB Instance), however, special procedures must be followed if the FB Definition has been made, then unmade. For more information, see Interface Pin Changes in this chapter.

Stretching or Resizing FB Definition and FB Instance Boundaries


When an FB Definitions or FB Instances rectangular boundary is resized or stretched, the boundary remains perpendicular. With one exception: any FB Pins on the FB Definitions or FB Instances resized boundary remain attached to the boundary. The exception to this rule occurs when the boundary is reduced to the point that the side where the pin is located no longer exists. In this case, the FB Pin is removed from the boundary. If FB Definitions are resized, then the boundary rectangle is resized, but the FB Definitions contents are not. Use the following procedures to resize an FB Definition or FB Instance: 1. On the active sheet, unselect all objects using a stroke.

2. Navigate to the FB Definition or FB Instance you want to resize. 3. Place the mouse pointer on the FB Definitions or FB Instances boundary and click the left mouse button to select the object. 4. With the object selected, press the F4 key to open the Function Block popup menu. 5. Within the Function Block popup menu, click on Resize as shown in Figure 6-23:

Design Architect-IC Users Manual, v8.9_10

6-33

Manipulating FB Definitions and FB Instances

Using Function Blocks

Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align

Figure 6-23. Resize in the Function Block Popup Menu The Stretch prompt bar displays, as shown in Figure 6-24.

Stretch Begin

End

OK

Cancel

Figure 6-24. Stretch Prompt Bar 6. Place the active cursor on the FB Definitions or FB Instances rectangular boundary, then press and hold the left mouse button. Refer to Figure 6-25 below.

6-34

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Manipulating FB Definitions and FB Instances

Schematic #1 source1 sheet1

mux

mux_1

Stretch Begin

End

OK

Cancel

Figure 6-25. Stretch Operation 7. With the left mouse button still pressed, move the mouse to stretch the FB Definitions or FB Instances rectangular boundary. 8. Release the left mouse button to complete the stretch operation.

Setting Colors On-the-Fly


Function Block color settings are set by default using the Setting up a Function Block procedures on page 6-3. The default color settings can be temporarily overridden using the Schematic Setup Color dialog box

Design Architect-IC Users Manual, v8.9_10

6-35

Manipulating FB Definitions and FB Instances

Using Function Blocks

Note that this method only applies to Function Block objects created after the dialog box is called and does not affect existing Function Block objects on the active schematic sheet. To temporarily alter new Function Block objects colors, perform the following steps: 1. Within the Schematic Editor, choose the Setup > Color... pulldown menu item. The Setup Color Dialog box is called as shown in Figure 6-26.
Setup Color
Violet VioletRed Wheat White Yellow YellowGreen

Comments Frames Pin Nets Symbol Bodies

Made Function Block Insts Unmade Function Block Insts Made Function Block Defs Unmade Function Block Defs

OK

Reset

Cancel

Figure 6-26. Setup Color Dialog Box 2. Click the appropriate radio button to select the object, then use the scroll list to select that objects desired color. 3. Click OK.

6-36

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating Made FB Definitions and FB Instances

If a Function Block is made and unmade, then the objects color changes to the current settings.

Creating Made FB Definitions and FB Instances


Once FB Definitions and FB Instances are created, the Function Block objects and their respective contents are made into individual schematic and symbol objects. The $undo() function cannot unmake a Made FB Definition or Made FB Instance.
Note

Prerequisites
Ensure that the following prerequisites are satisfied before creating a Made FB Definition or Made FB Instance from an FB Definition and FB Instance, respectively:

At least one FB Definition exists on the sheet. There is a corresponding FB Definition for each FB Instance on the sheet. Each FB Definition contains at least one symbol instance and one FB Pin. External net connections are added to the desired FB Definitions and/or FB
Instances. If an FB Definition is not connected to a net, the underlying schematic is replaced by comment graphics.

Internal net connections are added to the FB Definition. The sheet containing the FB Definitions and/or FB Instances passes all
checks. For more information, see Checking Function Blocks in this chapter.

Design Architect-IC Users Manual, v8.9_10

6-37

Creating Made FB Definitions and FB Instances

Using Function Blocks

Procedures
Use the following procedure to create Made FB Definitions and Made FB Instances from FB Definitions and FB Instances: 1. Creating Selected FB Definitions or FB Instances Use this procedure to create Made FB Definitions and Made FB Instances from selected, or a single, FB Definition(s) and FB Instance(s), respectively: a. Navigate to the appropriate FB Definitions and/or FB Instances on the active sheet.

6-38

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating Made FB Definitions and FB Instances

For example, Figure 6-27 below provides an example of an FB Definition.


Schematic#1 source1 sheet1

mux
IN_1

mux_1

OUT_1 IN_2

IN_3

Figure 6-27. FB Definition Illustration b. Select the appropriate FB Definition and/or FB Instance.

For more information on Function Block object selection procedures, refer to Selecting FB Definitions and FB Instances in this chapter. c. Press the F4 key (or the right mouse button) to call the Function Block Popup menu. d. Within the Function Block popup menu, choose the Make Function Block > Selected... menu option.

Design Architect-IC Users Manual, v8.9_10

6-39

Creating Made FB Definitions and FB Instances

Using Function Blocks

The selected FB Definitions and/or FB Instances are converted to Made FB Definitions and/or Made FB Instances, and changed to a sandy brown color, as in Figure 6-28 below.

Schematic#1 source1 sheet1

mux

mux_1

IN_1

OUT_1 IN_2

IN_3

Figure 6-28. Made FB Definition Example At this point, the Made FB Definition or Made FB Instance can be unmade, if necessary. To do this, follow the procedure in the Unmaking Made FB Definitions and Made FB Instances section in this chapter. 2. Creating All Made FB Definitions and/or Made FB Instances on a Sheet Use this procedure to create Made FB Definitions and/or Made FB Instances for all unmade FB Definitions and/or FB Instances on the active sheet:

6-40

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Creating Made FB Definitions and FB Instances

a. Within the active sheet, press the F4 key (or the right mouse button) to call the Function Block Popup menu. b. Within the Function Block popup menu, choose the Make Function Block > All... menu option. All FB Definitions and/or FB Instances are converted to Made FB Definitions or Made FB Instances, and changed to a sandy-brown color.

Errors Encountered During the Make Function Block Operation


The Make Function Block operation reports an error and stops if any of the following situations occur:

Creating a Made FB Definition from an FB Definition with the same name


on the active sheet.

Making an FB Instance that does not have a corresponding FB Definition


on the active sheet or any other sheet in the schematic.

Underlying sheet Check errors. Symbol Check errors. Content and pin Check errors.

Design Architect-IC Users Manual, v8.9_10

6-41

Unmaking Made FB Definitions and Made FB Instances

Using Function Blocks

Interface Pin Changes


Under certain circumstances outlined below, the Make Function Block operation reports an interface pin change, as in Figure 6-29.

The following FB definitions have been re-made with interface pin changes. FB instances of these definitions should be un-made and re-made to reflect the changes MUX_1 Ok

Figure 6-29. Interface Pin Change Notification Box The following events normally cause this situation to occur: 1. An FB Definition has been created and FB Instances are created from the FB Definition. Then, the FB Definition is deleted from the sheet, and a new FB Definition is created with the deleted FB Definitions name. 2. A Made FB Definition is converted (unmade) back to an FB Definition, the FB Pins are modified (that is, added, moved, or deleted), and then the FB Definition is changed back into a Made FB Definition. In the event this message is received, unmake the Made FB Instance(s) identified in the notification message, for example, MUX_1 in Figure 6-29, then remake the FB Instance(s).

Unmaking Made FB Definitions and Made FB Instances


Made FB Definitions or Made FB Instances can be unmade and reverted back to their corresponding FB Definitions or FB Instances. In addition, if a Made FB Definition or Made FB Instance contains nested Made FB Definitions or Made FB Instances, then the Unmake Function Block operation can unmake the nested

6-42

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Unmaking Made FB Definitions and Made FB Instances

Made FB Definitions or Made FB Instances layer-by-layer from top down, as specified by the user. The $undo() function cannot unmake a Made FB Definition or Made FB Instance.
Note

Use the following procedures to unmake Made FB Definitions and/or Made FB Instances: 1. Unmaking Selected Made FB Definitions and/or Made FB Instances a. Navigate to the appropriate Made FB Definition or Made FB Instance, and select the object. b. Press the F4 key (or the right mouse button) to call the Function Block Popup menu. c. Within the Function Block popup menu, choose the Unmake Function Block > Selected menu option, as shown in Figure 6-30.
Make Function Block Unmake Function Block Convert Function Block Resize Align Selected All 1 Level ALL Levels Specify

Figure 6-30. Unmake Function Block Menu Patch The Selected options menu provides for the following unmake options:
o 1 Level - Unmakes the single, upper-most hierarchical level for a

selected Made FB Definition and/or Made FB Instance containing nested Made FB Definitions and/or Made FB Instances.
o All Levels - Unmakes every hierarchical level of all selected Made

FB Definition and/or Made FB Instances.

Design Architect-IC Users Manual, v8.9_10

6-43

Unmaking Made FB Definitions and Made FB Instances

Using Function Blocks

o Specify - Allows the user to specify the number of hierarchical

levels to be unmade. If this option is chosen, then the user is presented with the Select Number of Unmake Levels dialog box, as shown in Figure 6-31.
Select Number of Unmake Levels
Levels:

OK

Reset

Cancel

Figure 6-31. Select Number of Unmake Levels Dialog Box d. Within the popup menu, select the appropriate option. e. The selected Made FB Definition and/or Made FB Instance is reverted to its original FB Definition and/or FB Instance. 2. Unmake All Made FB Definitions and/or Made FB Instances on the Active Sheet a. Within the active sheet, press the F4 key (or the mouses right button) to call the Function Block Popup menu. b. Within the Function Block Popup menu, choose the Unmake Function Block > All menu option. The All options menu provides for the following unmake options:
o 1 Level - Unmakes the single upper-most layer for all Made FB

Definitions and/or Made FB Instances containing nested Made FB Definitions and/or Made FB Instances on the active sheet.
o All Levels - Unmakes all layers for all Made FB Definitions and

Made FB Instances on the active sheet.

6-44

Design Architect-IC Users Manual, v8.9_10

Using Function Blocks

Checking Function Blocks

o Specify - Allows the user to specify the number of layers to be

unmade. If this option is chosen, then the user is presented with the Select Number of Unmake Levels dialog box. c. Within the popup menu, select the appropriate option. d. Depending on the option selected, all Made FB Definitions and/or Made FB Instances on the active sheet are reverted to their original FB Definitions and/or FB Instances.

Checking Function Blocks


Design Architect-IC provides Function Block-specific schematic checks. For more information on performing a schematic check, see Checking a Schematic for Errorsin Chapter 3. To setup, view, or modify Check Schematic settings, perform the following steps: 1. Within the schematic session, choose the Setup > Check... pulldown menu item. 2. The Default Schematic Check Settings dialog box displays, as illustrated in Figure 6-32:

Design Architect-IC Users Manual, v8.9_10

6-45

Checking Function Blocks

Using Function Blocks

Figure 6-32. The Default Schematic Check Settings Dialog Box 3. Next to Function Blocks, check one of the following options:

Errors/Warnings: If selected, then both errors and warnings are


reported.

Errors Only: If selected, only errors are reported. No Check: If selected, the Function Block-specific checks are not
performed. 4. Click OK. For a description of all the checks available, see Design Checks in Appendix C.

6-46

Design Architect-IC Users Manual, v8.9_10

Chapter 7 Using Properties

At the beginning of the design process, you must know which properties are required by other Mentor Graphics applications you plan to use. If you do not assign the necessary properties, downstream applications cannot process your design. For information about specific properties, see the IC Flow Properties Reference Manual.

Introduction to Properties
Properties are name/value pairs assigned to specific graphic objects within a design. The graphic object is the property owner. Properties that are created without an owner are called logical properties. Properties contain design information that typically cannot be represented graphically. Properties have many functions. They can define device timing characteristics, establish horizontal and vertical connectivity in multi-sheet and multi-level designs, define a variety of design characteristics that cannot be conveyed by the images of components and wires that make up a schematic diagram, and much more. To show how properties provide information to a design, consider that schematic designs in Design Architect-IC contain two types of information:

Connectivity information, which is conveyed graphically by pin and net


connection.

Property information, which describes some characteristic of a component


that is not identifiable from the schematic drawing alone.

Design Architect-IC Users Manual, v8.9_10

7-1

Introduction to Properties

Using Properties

Symbols and schematics created in Design Architect-IC communicate connectivity information. For example, a schematic diagram shows graphically that transistor A is connected to transistor B. The diagram alone cannot tell you the dimensions of the transistors. That information comes from the values of the W and L properties attached to the instances of transistors A and B. Properties have the following characteristics:

A property has an owner type (optional), a name, a type, and a


corresponding value. The value can be either a number, triplet, expression, or character string.

A property can be assigned to the individual objects that compose the


schematic sheet in a component library; for example, instance, net, and pin objects.

Backannotated properties are generally supplied by downstream


applications such as IC Extract. Backannotations can be merged back to the original source design.

Some downstream applications require a specific set of properties in order


to operate properly. For more information, see the IC Flow Properties Reference Manual.

Certain properties are assigned automatically by downstream Mentor


Graphics applications when they execute.

7-2

Design Architect-IC Users Manual, v8.9_10

Using Properties

Introduction to Properties

Some components may not have all the properties required for them to be
processed by other Mentor Graphics programs. If this is the case, you can assign the necessary properties to the components in your designs by using the various property commands.

Structured Logic Design (SLD) properties are special properties that are
built into Design Architect-IC. When the source design is evaluated, SLDs are converted to connectivity information, and are not accessible as properties in the evaluated design. Refer to Structured Logic Design Properties in this chapter for more information about SLD properties. Some of the fundamental properties assigned to components in various libraries are described in Structured Logic Design Properties in this chapter. A comprehensive description of individual properties is available in the IC Flow Properties Reference Manual. Table 7-1 lists examples of properties. Table 7-1. Property Structure Property Name Model Net cap_net Property Value NAND cl_line 10, 15, 20 Property Type Property Owner String String Triplet Instance or Symbol Body Net Net

Design Architect-IC Users Manual, v8.9_10

7-3

Property Ownership

Using Properties

Property Ownership
Ownership is a key element in understanding the use of properties. When certain kinds of objects own certain properties, those properties can only be attached to those objects. Selectable items can own properties, but certain classes of properties and certain classes of objects work better together, while others do not. For example, pins own the property called cap_pin. You can assign a value to the cap_pin property and attach that value to a specific pin in the design. However, it would not be correct to attach that value to a net in the design. The cap_pin property has no semantic meaning in the context of nets.

Property Names Versus Property Values


Another important concept is the distinction between property names and property values. Properties always have a name and a value; the name describes the property, while the value is data that describes a characteristic of the design. Property names are entered and stored as strings of ASCII text. Property values can be represented as text strings, numbers, triplets, or expressions. Property types are discussed in the Property Types section of this chapter. For example, in Design Architect-IC the cap_pin property might have a value of 5, 10, 15 on one pin, and a value of 10, 20, 30 on another. The numbers represent minimum, typical, and maximum delays, respectively, in nanoseconds on the owning pin. The property name cap_pin does not vary from pin-to-pin; the property value can vary. Property name and value restrictions are discussed after property types.

Property Types
A property value must have a property type assigned to it. A property type identifies the property value's data type. The legal property types are:

A character string. A number (integer, real, exponential).

7-4

Design Architect-IC Users Manual, v8.9_10

Using Properties

Property Name/Value Restrictions

An expression (arithmetic or string expression). A triplet. The special property type triplet is a 3-valued property used to
describe the best-case/typical/worst-case values used in timing analysis. The three values of a triplet may be separated by a comma or spaces. If you are entering triplet values in a command or function, enclose the values in quotes (for example, 5,7,10). When entering triplet property values in a prompt bar or dialog box, do not enclose the values in quotes (5,7,10). The value, whether entered as a string, a number, or an expression type, will be evaluated as a number. If only one value is specified, it is used for the best-case, typical, and worstcase values. If two values are specified, then the first is used for the bestcased value, and the second is used for typical and worst-cased values. It is important for you to know what the property type is before entering a property value. For example, if the property type of property name A is a character string, and you enter the value of 95, this value will be interpreted as a character string 95 not the numerical value of 95. When you add the property value, the Add Property command, by default, sets the property type to the value set by the previous Set Property Type command for that property name. Use the -Type option with the Add Property command to change any of the property values listed previously. After a property value is attached to an object, its property type can only be modified through the Change Property Type command. The Change Property Type command can be used to change the property type to a string, number, expression, or triplet.

Property Name/Value Restrictions


Operating systems, AMPLE, and downstream applications all impose restrictions on property names and values. Design Architect-IC does not check for violations of all these restrictions. The following topics summarize the known restrictions.

Design Architect-IC Users Manual, v8.9_10

7-5

Property Name/Value Restrictions

Using Properties

Property Name Restrictions


Any identifiers saved in the design database, such as property names, must begin with a letter (a-z, A-Z), or a dollar sign ($). Subsequent characters can be any of the aforementioned characters, an underscore (_), or a digit (0-9). Property names are not case sensitive in Design Architect-IC, and must have less than 512 characters. Property names and values are stored as C Language style null terminated strings and, therefore, cannot contain a null character.

Property Value Restriction


Property values set to string have no character restrictions. However, downstream applications must be able to recognize the string. For example, you should not use a hyphen (-) character as the first character of a name Property value, as some downstream tools will interpret this as a unary minus. Property values have no character length restriction. Property values are case insensitive, although, you can change the case for display purposes. Property values set to number can be integers, real numbers, or exponential decimal numbers. Downstream applications that use the design viewing and analysis package (for example, Design Viewpoint Editor-IC) do not handle exponential notation and non-decimal radix notation. Property values of type expression are evaluated as AMPLE expressions and, therefore, must follow AMPLE syntax. Property values of type triplet include one, two, or three values. Each of these must evaluate to a number. If any of the three values is an expression, the expression must follow AMPLE syntax.

Special Case Restrictions


If a property value is the name of an object that must be recognized by the design database, the same property name restrictions apply. These include values of the

7-6

Design Architect-IC Users Manual, v8.9_10

Using Properties

Property Name/Value Restrictions

Pin, Net, and Inst properties. For example, the Net property value is the name of the net, which is stored in the design database. The following list describes additional restrictions for net and pin names:

_$, _B$, _b$, N$, n$, I$, i$, P$, p$, G$, g$, B$,
b$, R$, and r$ are reserved for the leading characters for handles (such as net, instance, and pin handles) and for internal use.

Even though a net/pin name is declared to be a string in Design ArchitectIC, if the value includes ( ), [ ], or < >, the system will attempt to evaluate the string within the delimiters.

Pin/Net/Inst property values cannot contain a slash (/), back slash (\), a
space ( ), a period (.), a hyphen (-), an escape, or tab character.

[ ], ( ), and < > are reserved to delimit bus subscript notation. The bus
width is indicated between the delimiters. The numerical values for the bus width can be indicated in binary (prefix with 0b), octal (prefix with 0o), decimal (no prefix), or hexadecimal (prefix with 0x).

A comma (,), colon (:), and semicolon (;) should only appear as part of a
bus subscript syntax.

A period (.) should only be used for separating parts of a record in VHDL. In any name that might be evaluated (names surrounded by parentheses),
the entire string within the parentheses is considered an AMPLE expression and must follow the AMPLE expression syntax. Mentor Graphics discourages the use of non-printing characters and special characters in net/pin names because of their meanings in different applications and operating systems.

Properties and Color


By default, properties display in the same color as the object that owns them. For example, symbol body properties display in cyan, pin properties display in magenta, and net properties display in goldenrod. Normally, if a property value is

Design Architect-IC Users Manual, v8.9_10

7-7

Property Name/Value Restrictions

Using Properties

annotated in the context of a design viewpoint, the annotated value displays in red (by default), so you can tell which values are annotated. For more information on design viewpoints, see Chapter 11, Editing in Design Context. Design Architect-IC allows you to change the color of a property to distinguish it from the owning object. When you do this, both the original value of the property and the annotated value of the property display in the new color. For example, if you view a schematic sheet in the context of a design viewpoint, annotated property values may display in red (by default) or a different color if the property color has been changed. In this case, Design Architect-IC allows you to temporarily change the color of all annotations, so you can tell which property values are annotated. Choose Setup > Objects..., click Design Context and choose YES for Override Annotation Color in the form.

7-8

Design Architect-IC Users Manual, v8.9_10

Using Properties

Symbol Properties

Symbol Properties
Like other properties, symbol properties provide information about the object that owns the property. Symbol properties have additional characteristics and functions other properties do not. For example, a symbol property:

Can be owned by a piece of symbol graphics or by the logical symbol. Can be created either graphical or non-graphical, if owned by the logical
symbol.

Has a property stability and property visibility switch. Is brought forth to the instance when the symbol is instantiated on a
schematic sheet. Refer to Updating Properties on an Instance in this chapter for information about how an instance of a symbol is updated.

Design Architect-IC Users Manual, v8.9_10

7-9

Symbol Properties

Using Properties

Logical Symbol Properties


Regular symbol properties are attached to symbol body graphics and can be invisible, or displayed graphically on the symbol. They are created when you add a property (with the Add Property command) to a selected symbol graphic. This action attaches the property to a selected symbol object, for example, a symbol body or symbol pin. A symbol property that has no graphic owner is a logical symbol property. These are created by adding a property with nothing selected, and are not attached to symbol body graphics, but rather are owned by the logical symbol. The logical symbol is the symbol entity, rather than the collective symbol graphics, and represents the function of the component. Logical symbol properties can be either graphic or non-graphic. A graphic property has a location, which is displayed in gold to distinguish it from properties owned by the symbol body, and has a name, value, and property attributes. A non-graphic property is not displayed, but has a name, value, and property attributes. Non-graphic properties are intended for program generated properties that do not need to be displayed or changed. If you delete a symbol body that has properties attached, those properties become graphic logical symbol properties at their original locations. If you add the property graphically, you must select the text itself (rather than owner graphics) to change the property through a change property command, or to move or copy the property. If you add a logical symbol property that already exists on a symbol, the value of that property (wherever it occurs on the symbol) changes to the value of the property being added. To list the logical symbol properties for the symbol, enter the Report Object command. Both graphical and non-graphical logical symbol properties are included in the component interface when the symbol is saved and registered.

7-10

Design Architect-IC Users Manual, v8.9_10

Using Properties

Symbol Properties

Property Stability Switches


In the Symbol Editor, when you add properties to a symbol, a property stability switch is placed on the property. These switches control the changeability of the symbol property when an instance of the symbol is placed on a schematic sheet. The following switches define four levels of stability:

-Fixed specifies that property value, type, and name cannot be altered or
deleted on any instance on a schematic sheet, although property attributes can be changed.

-Protect specifies that property value, type, and name can be altered on an
instance when it is instantiated on a schematic sheet. However, once instantiated, the instance-specific property value cannot be changed, only the property attributes can be changed.

-Variable specifies that property value, type, name, and text attributes can
be altered on an instance when it is instantiated or any time after.

-Nonremovable specifies that property value, type, name, and text


attributes can be altered on an instance at instantiation time or after, but the property cannot be deleted from the instance. The default property stability switch setting is -Variable (except for Pin properties), and can be changed with the Setup Property Text command and the $set_property_stability_switch() function. The Change Property Stability Switch command changes the property stability for selected property names without changing the default switch settings. The default property stability switch setting for Pin properties is -Fixed. In order to change the stability switch of a Logical Symbol Body property, no object should be selected. Therefore, it is best to enter the $unselect_all() function first, then, select the property with the $select_by_property() function and specify the property name and value. You can change the stability attribute using the $change_property_stability_switch() function.

Note

Design Architect-IC Users Manual, v8.9_10

7-11

Symbol Properties

Using Properties

Property Visibility Switches


In the Symbol Editor, when you add properties to a symbol with the Add Property command, a property visibility switch is placed on the property and is set to Visible or Hidden. The Visibility Switch controls the visibility of the symbol property when an instance of the symbol is placed on a schematic sheet. Hidden properties are not selectable. When adding graphic properties to a symbol, all properties are visible in the symbol window. The default property protection switch setting is -Visible, and can be changed with the Setup Property Text command and the $set_property_visibility_switch() function. The Change Property Visibility Switch command changes the property visibility for selected property names without changing the default switch settings. Property attributes listed in report windows may include -Not Visible and Hidden. If both of these are listed, the property was hidden when added, and the property visibility has not been changed. If -Hidden is listed without -Not Visible, the property visibility was changed to visible on the sheet. There is also a property visibility switch attached to the properties added to the instance of the symbol. This switch controls the visibility of properties added to the instance of the symbol, and is set in the Schematic Editor.

7-12

Design Architect-IC Users Manual, v8.9_10

Using Properties

Updating Properties on an Instance

Updating Properties on an Instance


The following topics describe how properties are updated automatically and manually, as well as how modified property values and attributes are flagged, and how those flags affect the update process.

Attribute-Modified Properties
A property on an instance becomes Attribute_Modified when the graphical attributes of the property are changed. When you change the appearance of property text, you are making attribute modifications, and the property is flagged as Attribute_Modified. Some examples of commands that change graphical attributes (assuming the operation is performed on a property, not the owner) include Move (of a property attached to the instance), Change Text Height, Change Property Justification, and Change Text Font. The Attribute_Modified flag has no meaning in the Symbol Editor. A description of how Attribute_Modified properties affect the update process begins with Property Merge Options in this chapter. The Attribute_Modified flag can be manually set and reset using the Miscellaneous > Property Settings > Mark Property Attributes: menu item from the Schematic scope.

Value-Modified Properties
When you change the value of a property, the Value_Modified flag is attached to that property. A property becomes Value_Modified when one of the following actions occur:

You change the property value with the Add Instance, Change Text Value,
Change Property Value, or the Delete commands.

You mark the property using the Mark Property Value command.
A Value_Modified property, by definition, is also Attribute_Modified. Properties on the symbol and the instance that are Value_Modified appear in report windows as Value Modified. The Value_Modified flag has no meaning in the Symbol

Design Architect-IC Users Manual, v8.9_10

7-13

Updating Properties on an Instance

Using Properties

Editor. A description of how Value_Modified properties affect the update process begins in the Property Merge Options section of this chapter.

Mark Property Attributes


The Mark Property Attributes command operates on a property whose value is selected or on all the properties owned by selected objects. You can mark a propertys attributes as either Modified or Not Modified, depending upon how you want those properties updated. If a propertys attributes are modified with the Change Property ! Attributes or Change Text Attributes command, then clearing the Caution Attribute Modified flag with the Mark Property Attributes Notmodified command also causes the attributes to immediately revert back to their original values on the symbol. You can also mark and unmark a propertys attributes by choosing the Miscellaneous > Property Settings > Mark Property Attributes: menu item; in the prompt bar, enter the property name and choose either modified or notmodified by clicking the stepper button.

Mark Property Value


The Mark Property Value command operates on selected property values, or on a specified property name. You can mark a property value as either Modified or Not Modified, depending upon how you want those properties updated. If a property value was modified with the Change Property Value ! or Change Text Value command, then clearing the Caution Value_Modified flag with the Mark Property Value -Notmodified command also causes the value to revert back to the original value on the symbol immediately. You can also mark and unmark properties by choosing the Miscellaneous > Property Settings > Mark Property Value: menu item; in the prompt bar, enter the property name and choose either modified or notmodified by clicking the stepper button.

7-14

Design Architect-IC Users Manual, v8.9_10

Using Properties

Updating Properties on an Instance

Property Merge Options


The property update process is controlled by property merge options on the Update and Replace commands. The Open Schematic dialog box also has options to control how a sheet is updated when it is opened; this is discussed in the following section, Automatic Update Process. The update process can change some or all of the properties you have placed on an instance, depending on which property merge option you use with the Update or Replace command and how the properties were modified before the update. How the properties are merged onto the instance of the symbol is based on the following two property merge settings:

-Clear: Symbol body graphics are updated. All instance-specific properties


are deleted. All other properties and property attributes are reset to the current symbol values. Any new properties on the current symbol are added to the instance. This is the default for the Replace command.

-Auto: Symbol body graphics are updated. All instance-specific and


Value_Modified properties remain unchanged. All other properties are reset to the current symbol values. Any new properties on the current symbol are added to the instance. If the Attribute_Modified flag is not set on a property whose value is updated, then the attributes are also updated. This is the default for the Update command.

Automatic Update Process


Properties on an instance of a symbol can be updated when a schematic sheet is opened, giving instances on the sheet new, updated versions of the symbol. When you open a sheet, you can specify an update option or the default auto_update_mode for the Session. You can set the default from a startup file, especially if you use the same update option whenever you open a sheet. The Open Schematic and Open Design Configuration commands have an auto_update_mode switch. This switch has the same -Clear and -Auto settings described page Property Merge Options in addition to a -Noupdate setting, which means that no update should be performed when the schematic sheet is opened. The default switch setting for these commands is -Noupdate, unless you explicitly change it.

Design Architect-IC Users Manual, v8.9_10

7-15

Updating Properties on an Instance

Using Properties

If you open a schematic sheet via a menu path and dialog box, you can change the switch setting by clicking on the Options... button, then clicking Auto, None, or Clear for the Auto Update Mode. Changing the switch setting when opening a schematic sheet only applies to that sheet; it does not change the default setting for the Session. The $set_auto_update_mode() function lets you change the default setting for the auto_update_mode switch. Auto_update_mode controls only automatic updates when a sheet is read; it does not specify a default property merge for the Update and Replace commands. The $get_auto_update_mode() function returns the default. The following example retrieves, then resets the auto_update_mode default.
$get_auto_update_mode() // @noupdate $set_auto_update_mode(@auto) $get_auto_update_mode() // @auto

The $get_auto_update_inst_handles() function returns a vector of handles for all the instances that were out of date when the sheet was read. These instances will have been updated if the auto_update_mode option was not @noupdate. This system function only returns valid results immediately after the sheet is opened.

Property Update Examples


Table 7-2 shows examples of how the Value_Modified and property merge switches control which properties are merged onto the instance of the symbol. The second column shows the properties on the symbol at the time of instantiation. The Properties on Instance show how the property values were changed at instantiation time. Assume the original symbol was edited to have the property values shown in the Properties on Edited Symbol column. The Merged Properties column shows the results of updating the instance of the symbol.

7-16

Design Architect-IC Users Manual, v8.9_10

Using Properties

Parameters

In the Properties on Instance and Merged Properties columns, an asterisk (*) indicates the property is Value_Modified. Table 7-2. Property Update Examples
Merge Switch -Clear Properties on Symbol Properties on Instance Properties on Edited Symbol Model=NAND NW=2u Model=NAND NW=2u Merged Properties Model=NAND NW=2u Model=NAND cap_pin=10 20 30 NW=2u My_property=16 Model=OR * cap_pin=10 20 30 NW=1u * My_property=16 Model=OR * cap_pin=10 20 30 NW=2u My_property=16

Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16 Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16

-Symbol

-Instance Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16 -Auto Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16

Model=NAND NW=2u

Model=NAND NW=2u

Parameters
A parameter is a variable that is resolved outside of the design through a temporary value in Design Architect-IC or through a parameter rule in the design viewpoint. For example, the value of a property may be an arithmetic expression that contains one or more variables. The value of that property cannot be determined until the variables are resolved. The method the system uses to resolve variables is defined by a set of rules which dictates the position in the design tree where the system looks for the variables. Parameters are one of the rules used to evaluate property value variables. Briefly stated, as each instance in a design is evaluated, the system looks at the instance properties in an attempt to resolve expressions that contain variables. For those variables which are unresolvable at the instance level, the search continues up through the design tree. The search for the variable's value continues until a

Design Architect-IC Users Manual, v8.9_10

7-17

Parameters

Using Properties

match is found, or the root level of the design is reached. If the root level of the design is reached and the variable has not been resolved, the system looks through the parameter list in the design viewpoint. See Rules for Resolving Property Value Variables in this chapter for a detailed explanation of this process. Given this method of evaluation for property value variables on schematic sheets, there are two commands that help you create and evaluate designs more efficiently. These commands are Set Parameter, used in the Schematic Editor within the Design Architect-IC Session window, and Add Parameter, used in the Design Viewpoint Editor-IC (DVE-IC). The following two paragraphs briefly describe the purpose of these two commands. The Set Parameter command supplies dummy parameter values for variables in property value expressions on a schematic sheet. Without these dummy values the Check command, when executed, reports warnings about expression variables that cannot be resolved. The ability to check syntax reduces the number of problems that otherwise would not be discovered until you create a design viewpoint. Basically, the Set Parameter command offers a method to flag forgotten variables entered on a schematic that need to be identified in DVE-IC. These parameters are not known to the design viewpoint until you execute the Add Parameter command in DVE-IC. The Add Parameter command in DVE-IC lets you specify a particular value for a variable. Issuing this command for a variable adds the definition of the parameter to the parameter list for the current design viewpoint. If the system cannot resolve the variable's value by the time the root of the design is reached, the parameter list is searched for the value, and the variable can be resolved.

7-18

Design Architect-IC Users Manual, v8.9_10

Using Properties

Using Expressions as Property Values

Using Expressions as Property Values


A property value can have a property type defined as an expression. An expression is a combination of variable(s), constant value(s), and arithmetic or logical operator(s) defined by AMPLE expression syntax. For example, x + 5 is a simple expression with a variable x, and the constant value 5, added together with the arithmetic operator +. A full discussion of arithmetic operators and expression syntax is included in the AMPLE for IC Flow User's Manual. Expressions can be defined for any property values. Expressions are typically used to redefine property values in commonly used components, without having to redesign the component. Expressions can also be used within the range specification for a net or pin name (net and pin property values). Variables in expressions are evaluated as needed. For example, expressions are evaluated when a sheet or schematic is checked, or when a design viewpoint is created with expressions defined. All expressions must follow AMPLE expression syntax as described in the AMPLE for IC Flow User's Manual.

Rules for Resolving Property Value Variables


When the design is evaluated in the context of a design viewpoint and the system finds an undefined variable in an expression, it starts a search up through the design tree to find a value for that variable. Figure 7-1 illustrates the search path the system uses to find the value. As soon as a valid value is found, the search stops. The search is described as follows: 1. The property owner object (net, instance pin, or instance body) is searched first. 2. If the owner in the above step is an instance pin, the body properties of the attached instance are searched next. (If the owner is a net, this step is skipped.) 3. The body property list of the instances component interface table is searched next. (If the owner is a net, this step is skipped.)

Design Architect-IC Users Manual, v8.9_10

7-19

Rules for Resolving Property Value Variables

Using Properties

4. Does the design have more levels of hierarchy? If yes, the search moves up one level to the parent instance on the upper sheet. The properties on the instance body are checked first, then the body property list of the instances component interface table is searched next. During each step in the search up the design tree, the value of a parameter may be overridden by a backannotation specified in a connected backannotation object. If more than one backannotation object is connected, the BA objects are searched in prioritized order. Comp. Interface Body Properties 3

No

5 Design Viewpoint Parameter List

Does Design Contain Higher Levels ? Yes 4 Move up to next hierarchical level in the design

Parent Instance

D Q CLK QB

Owner Object

Back Annotation Files

Start Evaluation Figure 7-1. Parameter Evaluation Rules 5. After the parent instance on the top sheet is searched, the design viewpoint Parameters list is searched.

7-20

Design Architect-IC Users Manual, v8.9_10

Using Properties

Rules for Resolving Property Value Variables

In order for the value of the variable to be used in evaluation, you must add a parameter prior to evaluation of the design. You can declare variables for the width of a parameterized bus, the number of bits in a parameterized register, and many other types of expressions. These property value variables can be declared in Design Architect-IC or through backannotations. When defining property value variables, remember to set the property value type to expression. Variables can also be set up in CASE, IF, and FOR frames, instance names, net names, pin names, and subscripts. For example, suppose you design a generic register and declare a variable bank_size. In DVE-IC, you assign the bank size of this register to be 300 bits.
ADD PArameter "bank_size" 300 -Numeral

Whenever a downstream application encounters an unresolved property variable named bank_size during evaluation, it assigns it the value 300. If an unresolved variable is anywhere in the design hierarchy or the design viewpoint, an error message is generated.

Facts About Property Variable Resolution


The following list presents some facts and tips about property value resolution rules and their effect on property value evaluation:

Property values assigned to primitives take precedence over property values


assigned to objects which are higher up in the design tree.

A common mistake is to assign constant property values on a device's


lower-most schematic sheet, expecting to be able to use a different property value when the design is evaluated. This is not a valid technique. The property values at the outer-most leaves of the design tree are the property values first found, according to the scoping rules. If you want to pass a property's value down to a schematic sheet from higher up in the design tree, the property on the lower schematic sheet must consist of an expression containing variable(s) that are resolved further up

Design Architect-IC Users Manual, v8.9_10

7-21

Rules for Resolving Property Value Variables

Using Properties

in the hierarchy. The property value is retrieved when the expression is evaluated.

Property variable values assigned as parameters with the Add Parameter


command in Design Viewpoint Editor-IC specify global values for those variables. To find out more about the Add Parameter command, see the Design Viewpoint Editor-IC User's and Reference Manual.

Property variable values originating with the symbol model (kept in the
component interface) specify local values. That is, they specify the value of the property variable that is used on all underlying sheets of that symbol. This rule is important because it allows you to specify that certain portions of a design have a different value for a property variable than is specified by the Add Parameter command in DVE-IC.

Example of Property Variable Resolution


As an example of property variable resolution, suppose you have created the design hierarchy shown in Figure 7-2. In this design, the top-most schematic contains an instance for device A (among other instances). The underlying schematic sheet for device A contains instances for three devices designated as B, C, and D. Instances B, C, and D also have their underlying sheets. Figure 7-2 also shows the four symbol models to the right of the design. Each graphic represents the symbol model and component interface pair to which each device is associated. Note that some properties appear to the right of each graphic. Finally, the figure also shows the viewpoint of the design and its parameter list. This parameter list is created using the Add Parameter command from Design Viewpoint Editor-IC. To show how the same parameter in different legs of the design can evaluate to different values, consider the following scenario. Suppose instance B in the design has a pin with a cap_pin property whose value is the triplet 5, 10, 15, while instances C and D have pins with cap_pin properties whose values are cap. Furthermore, these property values appear on the schematic sheet making them specific to the instance. Because the value for cap_pin on instance B is not an expression, the value will always be 5, 10, 15.

7-22

Design Architect-IC Users Manual, v8.9_10

Using Properties

Rules for Resolving Property Value Variables

The value for cap_pin on instance C, on the other hand, is unresolved. Note, however, that the symbol model for device C has a property named cap and its value is the triplet 10, 20, 30. When the design is evaluated, the property value resolution rules in this case begin by looking at the instance of device C itself. Finding no definition for the parameter cap, the system looks to the symbol model and its properties next. At this point, cap becomes defined for instance C and the search stops. For instance D, notice that the value for cap_pin is identical on the schematic sheet. Here, though, the symbol model for D does not have a property that defines cap. Note also that no definition for cap exists in the next higher level of the design. That is, cap is not defined in instance A or as part of the symbol model for device A. The design viewpoint's parameter list, however, does define cap as the triplet 15, 25, 35. When the design is evaluated, the property variable resolution rules first look at the instance of D. Because no value for cap is found there, the system checks the properties associated with the symbol model for device D. Again, no definition for cap exists. Having exhausted its search on this level of the design, the system moves up one level of hierarchy and performs the same ordered search beginning with instance A and, finally, the symbol model for device A. Like the underlying sheet, no definition for cap is found. Finally, the design's viewpoint is searched and cap is determined to be the triplet 15, 25, 35 for instance D. To summarize this example, even though both instance C and D use the same parameter for the property cap_pin because of property variable resolution rules, the system evaluates cap to different values.

Design Architect-IC Users Manual, v8.9_10

7-23

Rules for Resolving Property Value Variables

Using Properties

Design Viewpoint
5.

Parameter List
cap = 15 25 35

Top-most Schematic Sheet


3.

Symbol Models
4. model = A

A
Instance A's Underlying Schematic Sheet
1. 2.

A
model = B

B
cap = "10 20 30" model = C

B
cap_pin = "5 10 15" 1.

C D
model = D 2.

1.

cap_pin = (cap)

C
cap_pin = (cap)

Instance B's Underlying Sheet


R3 R4
74LS74A _CLR _PRE 74LS04
3 4

Instance C's Underlying Sheet


R3 R4
74LS74A _CLR _PRE 74LS04
3 4

Instance D's Underlying Sheet


R3 R4
74LS74A _CLR _PRE 74LS04
3 4

U10a TEST

Q CLK _Q
10 74LS08 9 U11c 0

FULL
8

U10a TEST

Q CLK _Q
10 74LS08 9 U11c 0

FULL
8

U10a TEST

Q CLK _Q
10 74LS08 9 U11c 0

FULL
8

PARITY
0 1 2 3 4 5 6 7

PARITY
0 1 2 3 4 5 6 7

PARITY
0 1 2 3 4 5 6 7

74259

U7

ENP ENT RCO _LOAD _CLR

R2

START ANALOG_OUT _CLR


RES 5

ENP ENT

START ANALOG_OUT _CLR


RES 5

START
74LS04

ANALOG_OUT _CLR
RES 6 5

74LS04

R2

PULSE

A B C U14 D CLK

PULSE

A QA B QB C U14 QC D QD CLK

PULSE

A QA B QB C U14 QC D QD CLK

ENP ENT RCO _LOAD _CLR

_CLR _E A0 A1 A2

_CLR _E A0 A1 A2

_CLR _E A0 A1 A2

_CLR _E A0 A1 A2

R1

R1

1 2

4 5

74LS08
6 11

74LS04
10

U10d LATCH

1 74LS08 3 2

74LS04
9 8

U11a

4 5

74LS08

R1

U10b U10c

74LS04
6 11 10

U11b

U10d LATCH

1 74LS08 3 2

U10b
74LS04
9 8 4 5

74LS08

U11a

U10c

U11b

11

LATCH

Figure 7-2. Property Variable Resolution Example

7-24

Design Architect-IC Users Manual, v8.9_10

_CLR _E A0 A1 A2

_E A0 A1 A2

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

8 9 10 11 12 13 14 15

U8

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

ACCESS(15:0)
74LS161A

74259

74259

U7

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

8 9 10 11 12 13 14 15

U8

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

ACCESS(15:0)
74LS161A

74259

74259

U7

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

8 9 10 11 12 13 14 15

U8

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

ACCESS(15:0)

74LS04
10

U10d

Using Properties

Structured Logic Design Properties

Structured Logic Design Properties


Structured Logic Design (SLD) properties are special properties built into Design Architect-IC. SLD properties pass design information to routines in Design Viewpoint Editor-IC that evaluate the design and can only be added or changed on a schematic source sheet. To edit the SLD properties on a schematic sheet, open a design configuration from Design Architect-IC. A design configuration consists of a design viewpoint and its backannotation object. To create a design configuration: 1. Create a schematic sheet. 2. Check and save the schematic sheet. 3. In the session scope, create a new design configuration. 4. Open the new design configuration and add/edit SLD properties. While editing the design configuration, the annotations switch is on (default). When this switch is ON, all property edits are stored in the design configuration, except edits to SLD properties, which are made directly on the schematic source sheet. To turn the annotations switch OFF, choose Setup > Objects..., click Design Context and choose NO for Show Annotations. When the annotations switch is set to OFF, all property edits are stored with the schematic sheet. When editing properties from the design configuration, you should have annotations ON to edit all properties except SLD properties. The state of the annotations switch displays in the Design Architect-IC status line. The upper case A in the status line shown in Figure 7-3 indicates annotations are ON. A lower case a indicates annotations are OFF.

Design Architect-IC Users Manual, v8.9_10

7-25

Structured Logic Design Properties

Using Properties

Figure 7-3. Status Line Showing Annotations ON The Design Architect-IC objects which have valid SLD properties are listed in Table 7-3: Table 7-3. DA-IC Objects Associated with Specific SLD Properties DA-IC Objects Bodies/Instance Pins/Vertices Function block Frames SLD Properties Class Class Function block Frexp Rule Rule Inst Net Global Pin

Table 7-4, summarizes SLD properties. Note that the property values marked with an asterisk (*) can include special notation; see Frexp Property and Special Notation for CASE, FOR, and IF Property Values in this chapter. The following pages describe SLD properties in more detail. Table 7-4. Structured Logic Design Properties Property Property Value Name Class Class C G Description Connector: Connects differently named nets together. Global: Connects a net globally across the design. For example, Ground.

7-26

Design Architect-IC Users Manual, v8.9_10

Using Properties

Structured Logic Design Properties

Table 7-4. Structured Logic Design Properties [continued] Property Property Value Name Class I Description Intra-page connector: Identifies a net connected to another net by the same name on the same sheet. Port: Establishes design I/O connectivity with a pin on the symbol above it in a hierarchical design. Ripper: Extracts a range of nets from a bus. Off-page connector: Identifies net connected to a net on another sheet of the schematic. Null: Defines object as electrically inert. Identifies a dangling instance pin or net vertex that should not cause a check warning. Identifies a CASE frame. Identifies a repeated frame. Identifies a frame to be included conditionally.

Class

Class Class

R O

Class Class

N dangle

Frexp Frexp Frexp Frexp Function block Function block Function block

CASE <clause>* FOR <clause>* IF <clause>*

OTHERWISE <clause>* Otherwise case for the CASE frame. fb_def <fb_name> fb_inst Identifies an unconnected Made FB Definition. Represents the name of the FB instance or FB Definition. Represents the future instance name of the FB Definition or FB Instance.

Design Architect-IC Users Manual, v8.9_10

7-27

Structured Logic Design Properties

Using Properties

Table 7-4. Structured Logic Design Properties [continued] Property Property Value Name Global Inst Net Pin Rule global_name <instance_name> <net_name> (<range>) <pin_name> (<range>) <range> Description Name of a global net (used with Class G property value). Instance name on a schematic sheet. Name of a net or bus. Name of pin on symbol. Identifies bus lines to extract with ripper (Class R).

Class Property
The Class property identifies its owner object as having some special characteristic. Ports, off-page connectors, net connectors, and rippers all have Class property values that define these devices. The Class property is placed on an instance or symbol body. Instances or symbol bodies tagged with the Class property are specially treated by Design Architect-IC and DVE-IC; they are not included in the evaluated design viewpoint. For more information on the special instances defined using the Class property, see Appendix E, Special Instances. Properties on pins propagate to the net vertices under the pins when an instance having the Class property is placed on a sheet or updated, if those properties may be owned by nets and do not already exist. If you wish to propagate properties in this manner, you must explicitly declare net as a legal owner of the desired properties using the $set_property_owner() function in the Symbol Editor. When an instance with a Class property attached is placed on a sheet, making a connection to an existing net, the Init and Net properties which may have been placed on the pin of the symbol are propagated to the net vertex under the instance pin, assuming the net vertex does not already have an Init or Net property. If an Init property already exists on the net vertex, it is replaced by the instance pin's Init property only if the new instance is a global instance (Class property value = G).

7-28

Design Architect-IC Users Manual, v8.9_10

Using Properties

Structured Logic Design Properties

If the property is created on a symbol, its behavior upon symbol instantiation is determined by the values specified for the symbol_visibility_switch and symbol_stability_switch arguments in the $add_property() function. If these switches are not specified, the values of the property_visibility_switch and property_stability_switch internal state variables are used. You can also use the Class property to declare a valid dangling net vertex or instance pin. Add the Class property with a value of dangle to a pin or net vertex to indicate that the Check command should not issue a warning because that object is unconnected. For example, if you want to connect only one output pin of an instance of a flipflop, you can add this property to the other output pin to identify it to the Check command as an acceptable dangling pin. To add the Class property to a pin or net, you may first need to execute the Set Property Owner command to declare pins and/or nets as valid owners of this property.

Global Property
The Global property defines a global net such as VCC and GND. The Global property is assigned with the Class property value G and forms a property/value pair for the device body. If you assign the Global property to a body without also assigning the Class G property to the body, the design will pass the Check command without generating an error or warning. However, the net will not be recognized as global in that case. Global connectivity is established directly downward and at the same level in hierarchy by giving nets the same name as the Global property value.

Inst Property
All schematic items have unique object handles which are assigned, maintained, and used by the application. Usually, they are not visible to you. You can also assign names (with the visibility and other attributes under your control) that can be used to identify each instance. This is accomplished by assigning unique names (for example U23-A) to instances with the Inst property.

Design Architect-IC Users Manual, v8.9_10

7-29

Structured Logic Design Properties

Using Properties

The values used with Inst property assignments must be unique on all sheets of a schematic. The Check -Schematic command detects repeated Inst values for the current schematic sheet level in Design Architect-IC.

Net Property
The Net property value is used to name the net and is assigned to a net vertex.

Pin Property
The Pin property value placed on a symbol pin is used to name the pin. The pin property on the symbol provides the connectivity interface between levels of design hierarchy.

Rule Property
The Rule property is used on ripper devices with the Class property value R and specifies which wire or group of wires is to be ripped, or branched, from a bus. The Rule property must be assigned to objects with the Class property value R. The Check command generates an error message if the Class property value R is present without the Rule property. You must adhere to the following guidelines when assigning the Rule property to a Class R device:

You must observe proper syntax for the Rule property value. For more
information, see Understanding Basic Pin, Bus, and Net Naming Syntax in Chapter 3. The width of the Rule property must match the width of the ripped bus.

7-30

Design Architect-IC Users Manual, v8.9_10

Using Properties

Structured Logic Design Properties

Frexp Property
This property is used to define frames. Frames provide you with the ability to repeat or conditionally include a circuit in a schematic sheet. The number of iterations, or the conditions determining inclusion or selection are controlled by parameters assigned during design creation and evaluation, and make use of the frame expression assigned as a value to the Frexp property. The frame expression uses similar constructs to those used in high level programming languages. All frames must have the Frexp property assigned to them with a valid Frexp property value. The value assigned to the Frexp property must adhere to a specific syntax which uses key words such as FOR, IF, CASE, OTHERWISE, DOWNTO, and TO with the assignment, equality, and relational (:=, ==, !=, <, <=, >, >=) characters. For example FOR i := 1 TO 5 is correct, but FOR i += 1 TO 5 is not. The syntax for FOR, IF, CASE, and OTHERWISE frames is discussed next.

Function Block Properties


There are three properties used to define Function Blocks, as follows:

FB_DEF is a string property used to identify an unconnected, Made FB


Definition.

FB_NAME is a required string used to represent the name of an FB


Instance or FB Definition.

FB_INST is an optional string used to represent the future instance name of


the FB Definition or FB Instance.

Design Architect-IC Users Manual, v8.9_10

7-31

Structured Logic Design Properties

Using Properties

Special Notation for CASE, FOR, and IF Property Values


The Frexp property contains specific syntax that can be used to indicate property values. The clause or range required is defined before each description. Names or values that you must supply appear in italics, and any punctuation shown is necessary. Except for the FOR example, property value syntax described in these examples is defined by the AMPLE language. These values are only applicable to the Frexp property. CASE <clause> Clause: parameter==value or parameter == value

In the CASE frame clause, if the value equals the parameter, the circuitry defined within the frame is included in the schematic sheet. If not, and an OTHERWISE frame exists, the OTHERWISE frame is included. The CASE parameter name follows the rules for AMPLE identifiers, whose default value is declared with the Set Parameter command. The value is any valid AMPLE expression. OTHERWISE <clause> Clause: variable_name

The OTHERWISE value is used in conjunction with the CASE value. If the evaluation of the CASE value is false, the OTHERWISE frame is included. The variable_name is a local variable which follows the rules for AMPLE identifiers. FOR <clause> Clause: or Clause: variable_name := expression DOWNTO expression variable_name := expression TO expression

The FOR frame expression specifies that the frame contents are to be repeated on the sheet n times. The variable n can be a variable in a frame expression on an

7-32

Design Architect-IC Users Manual, v8.9_10

Using Properties

Structured Logic Design Properties

outer frame. The value of i as it iterates through the values 0 to n-1 in the following example can be used to evaluate the value within this frame. Example: FOR i := 0 TO n-1 When creating a net with the FOR frame expression, you must name the net if the net crosses the border of the frame. If the net does not have a name and crosses the FOR frame border, Design Architect-IC will create multiple nets.

Note

DOWNTO works the same way as the TO example, except it decrements the start index value by one. For example, FOR i := n-1 TO 0, would generate the i values of n-1, n-2, to 0, in that order. The variable_name is a local variable which follows the rules for AMPLE identifiers. Frame expressions on frames in an inner nest can involve the dummy variables assigned in outer nest, or property names valid for Design Architect-IC instance items. In expressions of this type, the := operator must be preceded and followed by a space, and the colon (:) must be followed immediately by the equal sign (=), with no intervening spaces.

Note

Design Architect-IC Users Manual, v8.9_10

7-33

Structured Logic Design Properties

Using Properties

Positive and negative integers and integer expressions can be used as indices. Integers are treated as unsigned values, so you will receive a warning message if you use negative indices. These messages inform you that names in the design database may be different than expected (as they will be represented in two'scomplement form). For example, a net name expression such as $strcat(OUT_, I) used in the FOR frame expression FOR I := -1 TO 0 produces the net names OUT_65535 and OUT_0, instead of OUT_-1 and OUT_0. Because the evaluated value of -1 is larger than the terminating value of 0, a warning message is issued, and the design logic within the frame is omitted from the design viewpoint. To avoid unexpected (and possibly unpleasant) results, Mentor Graphics strongly recommends that you do not use negative indices.

Note

The relative size of indices used in a FOR frame expression affects the number of iterations generated as follows:

When the start index is less than the end index, the number of iterations is
equal to (end_value - start_value +1). Ten iterations are generated with the expression FOR I := 1 TO 10.

Only one iteration exists if the start index equals the end index, such as
FOR I := 1 TO 1.

When the start index is greater than the end index, no iterations are
generated. An example of this is FOR I := 10 TO 1. A warning message is displayed if this occurs.

7-34

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

Figure 7-4 illustrates a typical FOR Frame.

sa0,sa1

sa0,sa1

sa0,sa1 sa0,sa1 (TRISE) (TFALL)

EN
sa0,sa1 0 0

0 0 (TPZH) (TPHZ) sa0,sa1

OUT(I)
sa0,sa1

sa0,sa1 0 0 sa0,sa1 sa0,sa1 sa0,sa1 sa0,sa1 0 0

I0(I)

sa0,sa1 0 0

(TPZL) (TPLZ) sa0,sa1

sa0,sa1 0 0

(TPZH) 0 (TPZL) 0

sa0,sa1 0 0

FOR I := 0 TO N-1
Figure 7-4. Typical FOR Frame IF <clause> Clause: expression

In the IF expression, if the expression evaluates to FALSE (or zero) at design evaluation time, the frame is not included in the design. Otherwise, the frame is included. Frame expressions can involve property names that are valid for instance items. In the following example, the contents of the IF frame are included on the sheet, if the instance property logic is set to the property value TTL. Example: IF logic == TTL

Assigning Properties
Assigning properties to a design is important if you intend to use the design with other Mentor Graphics applications. Some properties are required for specific downstream applications, others are optional.

Design Architect-IC Users Manual, v8.9_10

7-35

Assigning Properties

Using Properties

Setting Up Property Text Attributes


The following procedures let you set the appearance of properties on a symbol or schematic sheet. To set up property text attributes in a Schematic Editor window, perform the following steps: 1. Choose the Setup > Objects menu item. 2. Choose Property Text. This displays the Setup Object Property Text dialog box as illustrated in Figure 7-5.

7-36

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

Figure 7-5. Setup Objects Property Text Dialog Box 3. Specify text font name in the Font text box. To make font selection simpler, click the Menu... button to display a list of suggested fonts. If you want to use an unregistered font, you must enter a complete pathname to the font; the pathname must begin with a slash (/). 4. Specify text height by entering a number in the Height text box. The default height is .1875 user units.

Design Architect-IC Users Manual, v8.9_10

7-37

Assigning Properties

Using Properties

5. Specify text orientation by entering 0 or 90 in the Orientation text box. These numbers represent the angle of orientation, measured in degrees at which the text is placed on the sheet. 6. Specify the vertical text justification by clicking the left mouse button on the Vertical Justification button Top, Center, or Bottom. 7. Specify the horizontal text justification by clicking the left mouse button on the Horizontal Justification button Left, Center, or Right. 8. Specify whether text should be visible or invisible on the schematic sheet by clicking the left mouse button on the Set Visibility button On or Off. 9. Specify text transparency (on/off) by clicking the left mouse button on the Set Transparency button On or Off. 10. Under the Auto Inst Name Settings, set the following items: a. Specify whether Auto Instance Name Placement should be enabled by clicking the left mouse button on the Auto Instance Name Placement button On or Off. b. Specify the Name Offset distance by entering a value in the Name Offset text box. c. Specify Indent Offset value by entering a number in the Indent Offset text box. 11. Specify the restriction of flipped or rotated text (on/off) by clicking the left mouse button on the Restrict Flipped/Rotated Text button On or Off. To set up property text attributes in a Symbol Editor window, perform the following steps: 1. Follow steps 1-11 in the previous procedure. In a Symbol Editor window, the Set Property Text dialog box includes two additional attribute fields to be specified. Attributes, set with the Setup commands, change the internal state variable for each attribute.

7-38

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

2. Specify visibility (visible, hidden) by clicking the left mouse button on the Set Visibility Switch button. 3. Specify the property stability switch (Variable, Fixed, Protected, or Nonremovable) by clicking the left mouse button on the Set Stability Switch button. Refer to Property Stability Switches in Chapter 7 for a description of how stability switches on properties can protect a property from being changed. You can also set up property text or comment text in the Schematic Editor, and property text or symbol body text in the Symbol Editor by clicking the [Text] Setup icon. The dialog box has buttons at the top for you to specify the type of text. When you click the Property button, other items in the dialog box are the same as in the Setup Property Text dialog box for each editor.

Adding a Single Property


To add a property name and value to a selected object in a Schematic Editor window, perform the following steps: 1. Select object(s) (for example, net, pin, and instance). For information about selecting and unselecting objects, see Selecting and Unselecting Objects in Chapter 2. 2. Click the left mouse button on the schematic_edit [Text] Add Property palette item. The Add Property dialog box displays. 3. Select a property name from the scrolling list of properties, or type the new property name in the Property Name text box. 4. Type the property value in the Property Value text box. When entering property values in a dialog box, do not use quotes. 5. Fill in the rest of the dialog box, as appropriate. Refer to Setting Up Property Text Attributes for more information about property attributes. 6. When property attributes are set, click OK. The Add Property prompt bar appears.

Design Architect-IC Users Manual, v8.9_10

7-39

Assigning Properties

Using Properties

7. Move the cursor to the window of the selected object(s). Notice the elastic string attached to the selected object(s) and the property value text. 8. Move the text to the desired location, and click the left mouse button. The property value text is placed at that location. If the property value is to remain invisible when the symbol is instantiated on a schematic sheet, the property value will have a solid DimGray rectangle as a background. The color and background of this rectangle can be changed from the DA-IC Session menu Setup > Property Display... To add a property name and value to a selected object in a Symbol Editor window, perform the following steps: 1. Select object (for example, symbol body and pin). For information about selecting and unselecting objects, refer to the see Selecting and Unselecting Objects in Chapter 2. When adding properties to a symbol body, select only one symbol body object. A symbol body can be constructed with a set of symbol body graphics (arcs, rectangles, polylines, and so forth). If you select more than one piece of the symbol body, the property will be added to each of the selected pieces. This will create an error when you check the symbol. If an object is not selected when the Add Property command is executed, the property will be added to the logical symbol.

Note

2. Click the left mouse button on the schematic_edit [Text] Add Text icon. The Add Property dialog box displays. 3. Select a property name from the scrolling list of properties, or type the new property name in the New Property Name text box. 4. Type the property value (no quotes) in the Property Value text box. 5. Fill in the rest of the dialog box, as appropriate (graphics, property type, visibility switch, stability switch). For more information about symbol property switches, refer to Symbol Properties in Chapter 7.

7-40

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

6. Press OK when all desired switch settings are set. The Add Property prompt bar appears. 7. Move the cursor to the window of the selected object(s). Notice an elastic string is attached to the selected object(s) and the property value text. Move the property value text to the location you want to place the text, and click with the left mouse button. The property value text is placed at that location.

Adding Multiple Properties to the Same Object


To add multiple property name/value pairs with the same property attributes to selected objects in a Schematic or Symbol Editor window, perform these steps: 1. Select object(s) (for example, net, pin, and instance). For information about selecting and unselecting objects, see Selecting and Unselecting Objects in Chapter 2. 2. Execute the Properties > Add menu item available from the Instance, Net, and Draw Schematic Editor popup menus, and the Add and Symbol Body & Pins Symbol Editor popup menus. The Add Multiple Property dialog box displays. 3. Type the property name and value for each pair of properties you want to add to the selected object(s). When you type in the Property Name text box, another text box displays, that allows you to enter as many property name/value pairs as you wish. 4. Fill in the rest of the dialog box as appropriate. Refer to Setting Up Property Text Attributes for more information about setting up property attributes 5. When property attributes are set, click OK. The Add Property prompt bar displays. 6. Move the cursor to the window of the selected object(s). An elastic string is attached to the selected object(s) and the property value text. Move the

Design Architect-IC Users Manual, v8.9_10

7-41

Assigning Properties

Using Properties

property value text to the desired location, and click the left mouse button. The property value text is placed at that location. 7. Repeat Step 6 for each property name/value pair entered.

Repeat Adding Properties to Changing Selection


To add a single property to a selected object(s), select another object(s), add a single property to the newly selected object, and repeat this process as many times as required, perform the following steps: 1. Select object(s) (for example, net, pin, and instance). For information about selecting and unselecting objects, see Selecting and Unselecting Objects in Chapter 2. 2. Execute the Properties > Add popup menu item. An Add Multiple Property dialog box displays. 3. Select a property name from the Existing Property Name box, or type the property name in the Property Name text box. 4. Type the property value in the Property Value text box. 5. Fill in the rest of the dialog box, if appropriate. Refer to Setting Up Property Text Attributes for more information about setting up property attributes 6. When property attributes are set, click OK. The Add Property prompt bar appears. 7. Move the cursor to the window of the selected object(s). An elastic string attaches to the selected object(s), and the property value text. Move the property text with the cursor to the location you want to place the text, and click the left mouse button. The text is placed at that location. 8. After the property value text is placed, the Select Area prompt bar appears. Select another object and repeat steps 3 7, or press the Cancel button to exit this process.

7-42

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

Deleting Property Name/Value


To delete hidden or visible property name/value pairs, perform the following steps: 1. Select properties to be deleted. For information about selecting and unselecting objects, refer to the see Selecting and Unselecting Objects in Chapter 2. 2. Execute the Edit > Delete > Selected menu item, or click the right mouse button and select the Delete > Property from the popup menu. The Delete Property dialog box displays. 3. Type the property name to be deleted in the Property Name text box. Multiple property names can be entered in the dialog box. 4. Press OK after you enter the property name(s).

Setting Property Owners


To define what types of objects can own a particular property on a schematic sheet, perform the following steps: 1. Type $set_property_owner() in a prompt bar. The Set Property Owner dialog box (Schematic Editor) displays. 2. In the Property Name text box, type the property name for which you want to set property ownership. 3. Click on the object types that can own the property (for example, the Instances or Nets buttons). You can specify more than one object type. 4. Press OK when object type selection is complete. For conceptual information about property ownership, refer to Property Ownership in Chapter 7 of this manual.

Design Architect-IC Users Manual, v8.9_10

7-43

Assigning Properties

Using Properties

Deleting Property Owners


To remove certain object types from the legal owner list of a particular property on a schematic sheet, perform the following steps: 1. Select an instance in your schematic. 2. Choose the Delete > Property Owner popup menu item. The Delete Property Owner dialog box (Schematic Editor) displays. 3. Type the property name whose owner list you want to modify in the Property Name text box. 4. Press the left mouse button on the buttons associated with the object types you want to remove from the owner list of the specified property name. More than one object type can be specified. 5. Press OK when object type selection is complete. To delete object types from the owner list of a particular property on a symbol, perform the following steps: 1. Select an instance in your schematic. 2. Choose the Delete > Property Owner popup menu item to display the Delete Property Owner dialog box (Symbol Editor). 3. Type the property name whose owner list you want to modify in the Property Name text box. 4. Click the left mouse button on the buttons for the object types you want to remove from the owner list of the specified property. More than one object type can be specified. 5. Press OK when object type selection is complete. For conceptual information about property ownership, refer to Property Ownership in Chapter 7 of this manual.

7-44

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

Listing Property Information


To list property information for specified objects, perform the following steps: 1. Select the properties, or the owners of the properties, for which you want to extract information. Instead of selecting objects, you can enter the handle names of the objects in the dialog box that displays after the next step. 2. Execute the Report > Specified Object menu item. The Report Object dialog box displays. 3. Click on the buttons associated with the objects for which you want property information. Select more than one object. By default, the report displays in the transcript window, and to a file named da_report_file in your current directory. If you selected the object that owns the property, you must ask for a report on both the object and attached properties. 4. Press OK when object selection is complete. Property attributes listed in report windows may include -Not Visible and -Hidden. If both of these are listed, the property was hidden when added, and the property visibility has not been changed. If -Hidden is listed without -Not Visible, the property visibility was changed to visible on the sheet.

Changing Property Values


To change a single property text value, perform the following steps: 1. Click on the piece of text to change, and choose Change Values: from the Property/Text popup menu 2. Enter the new value in the prompt bar, then press Return, or click OK.

Design Architect-IC Users Manual, v8.9_10

7-45

Assigning Properties

Using Properties

To change the values of selected properties on a sheet or symbol, follow these steps: 1. Select the properties to change, either by setting the select filter, or by choosing the Select > Area > Property menu item. 2. Choose the Properties > Change Values popup menu item or schematic_text [Edit] Change Value palette item. This displays the Change Property Value By Handle prompt bar with the current value, name, type, and object handle. 3. Enter the new property value in the text entry box. Click OK. Another prompt bar appears for the next property to change. Repeat this step for each selected property. To change the value of the same property attached to several objects, perform the following steps (this example changes the Pintype property value): 1. Press Unselect All key [F2]. 2. Move the cursor close to a pin whose Pintype property you wish to change, and press F1 (Select Anything). Be sure that only the pin is selected. If the line connected to the pin is highlighted, unselect everything, and move the cursor slightly further away from the pin to select it. Repeat for each pin whose Pintype property value you want to change. The select count in the status line shows how many objects are selected. 3. Choose the Properties > Modify popup menu item. This displays the Modify Properties dialog box. 4. Click the left mouse button on the PINTYPE - Multiple Occurrences entry, then click OK. 5. Click the Replace button to the right of the Property Value entry. Enter the new Pintype property value. You also can change the property type and some attributes in this dialog box. Click OK. The property values are changed for the selected pins.

7-46

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

The following steps show another method of changing various pieces of unselected text: 1. Choose the Property/Text > Change Values popup menu item to display the dialog box. 2. Enter a new text value for one you want to replace. When you begin entering a value, another text entry box appears in the dialog box. Enter new values, one per text entry box, for all the values you want to change. 3. Click OK. The first value entered in the dialog box displays in the message area. Click the left mouse button on the text you want to replace with the new value. 4. The old value is replaced by the new value shown in the message area, and the next value is shown in the message area. Continue specifying the text to replace with the new value shown in the message area, until all specified values are placed. The value_modified flag can be reset to Not Modified by using the menu Miscellaneous > Property Settings > Mark Property Value: See Mark Property Attributes in Chapter 7 for details.

Changing Property Attributes


To change property attributes for a specified property on a schematic sheet, perform the following steps: 1. Select the property owners (nets, instances) for which you want to change property attribute information. Execute the Properties > Modify popup menu item. The Modify Properties dialog box displays. 2. Select the property name you want to change by clicking the left mouse button on the property name. You can select more than one property name by holding down the Ctrl key while selecting the property names. 3. Click OK when the property name selection is complete. A Modify Properties dialog box opens for the first property name selected.

Design Architect-IC Users Manual, v8.9_10

7-47

Assigning Properties

Using Properties

4. Make the desired property attribute changes. 5. Click OK when the property attribute selection is complete. The next Modify Property dialog box displays for the second property that was selected. Repeat steps 4 and 5 for each property selected. To change property attributes for a specified property on a symbol, perform the following steps: 1. Select the property owners for which to change property attributes. 2. Select Edit > Property Operations > Modify menu item. A dialog box appears that includes a list of property names for a selected object. 3. Click the left mouse button on the property name you want to change. You can select more than one property name by holding down the Ctrl key while selecting the property names. 4. Click OK when the property name selection is complete. A Modify Properties dialog box opens for the property name(s) selected. In the Symbol Editor window, the Modify Properties dialog box has two additional property settings (stability and visibility switch) that are not available in a Schematic Editor window. 5. Make the property attribute changes. 6. Click OK when the property attribute selection is complete. The next Modify Property dialog box displays for the second property that was selected. For each property selected, repeat steps 5 and 6. In order to change the stability switch of a Logical Symbol Body property, no object should be selected. Therefore, it is best to execute an $unselect_all() function first. You then select the property with the $select_by_property() function and specify the property name and value. To change the stability attribute, use the $change_property_stability_switch() function.

Note

7-48

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

The attribute_modified flag can be reset to Not Modified by using the menu Miscellaneous > Property Settings > Mark Property Attributes: See Mark Property Attributes in Chapter 7 for details.

Changing Property Text Color


To change the color of all selected property text to White, for example, perform the following steps: 1. Select the property text for which you want to change the color. Execute the popup menu item Properties > Change Attributes > Text Color:. The Change Color dialog box displays, as shown in Figure 7-6:
Change Color
Violet VioletRed Wheat White Yellow YellowGreen

OK

Reset

Cancel

Figure 7-6. Change Color dialog box 2. Move the window slider button down to the bottom, then click White. Click OK. When you change the color of a property, the annotated value of that property text is also changed from the default color red to the new color.

Note

Design Architect-IC Users Manual, v8.9_10

7-49

Assigning Properties

Using Properties

Changing the Background of Hidden Property Text


To change the background color of all hidden property text to white, for example, perform the following steps: 1. Activate the DA-IC Session window, then execute the menu item Setup > Property Display... The Hidden Property Display in Symbol Editor portion of the Setup Property Display dialog box appears in Figure 7-7.

Setup Property Display


Hidden Property Display in Symbol Editor
Display background? Background Color Violet VioletRed Wheat White Yellow YellowGreen Background Pattern Solid Stipple No Yes

Figure 7-7. Setup Property Display dialog box 2. Move the window slider button down to the bottom, then click White, and click OK to close the dialog box.

Changing Multiple Properties on the Same Object


To edit multiple property name/value pairs, on a single selected object in a Schematic or Symbol Editor window, perform these steps:

7-50

Design Architect-IC Users Manual, v8.9_10

Using Properties

Assigning Properties

1. Select an object (for example, a symbol body) in the Symbol Editor window. 2. Execute the popup menu Properties > Modify Multiple...

In the Schematic Editor window, available in the Instance, Net, and


Draw popup menus

In the Symbol Editor window, available in the Symbol Body & Pins
popup menus. The Modify Editable Properties dialog box displays, as shown in Figure 7-8:

Modify Editable Properties


Name BLOCK_NAME MODEL Value ADD_CONVERT schematic Visibility Visible Visible Visible Type string string void

OK

Reset

Cancel

Figure 7-8. Modify Editable Properties dialog box 3. Enter the new value and/or attributes of the property names you want to edit or add to the selected object. 4. When the property values and attributes are set, click OK. If you are adding a new property, the Add Property prompt bar appears. 5. If you are adding a property, move the property value text to the desired location, and click the left mouse button. The property value text is placed at that location. 6. Repeat Step 5 for each new property name/value pair entered.

Design Architect-IC Users Manual, v8.9_10

7-51

Assigning Properties

Using Properties

7-52

Design Architect-IC Users Manual, v8.9_10

Chapter 8 Running Design Simulation

This chapter provides information on using the simulation and waveform viewer functions in Design Architect-IC (DA-IC). The simulation and viewer functions allow you to simulate, view, and edit designs from within one environment. The following topics are available:
Simulation Mode Overview Supported Language Types Requirements Using the HSPICE Simulator Running a Simulation Setting up a Default Viewpoint Invoking Simulation Mode Setting Up the Default Simulator and Viewer Setting Ground/Node 0 Setting up the Simulation Environment Creating Default Simulation Environment Setups Restoring Simulation Environment Setups Copying a Simulation Configuration Setting up Standard Simulator Options Adding Forces Adding Safe Operating Areas Specifying a Circuit Temperature Setting up Parameter Variables for Models Reordering, Enabling/Disabling, Editing, and Deleting Sweep Analyses

Design Architect-IC Users Manual, v8.9_10

8-1

Running Design Simulation

Setting up a Sweep Analysis Setting up a Monte Carlo Analysis Setting up Simulation Analyses Setting up a DCOP Analysis Setting up a DC Analysis Setting up an AC Analysis Setting up an AC Noise Analysis Setting up a Transient Analysis Setting up a Transient Noise Analysis Setting up a Steady State Analysis Setting up a Modulated Steady State Analysis Setting up an Oscillator Steady State Analysis Setting up a Steady State Noise Analysis Setting up a Steady State AC Analysis Setting Model Libraries for Simulation Selecting/Editing Registered Models Displaying/Editing the Default Registered Model Including SPICE Command Files Entering Additional Simulator Commands Setting Probes Plotting Simulation Results Deleting Plots and Probes Displaying the Current Simulation Setups Displaying the Simulation Command File Displaying the DCOP Values Hiding the DCOP Values Displaying Small Signal DCOP Parameters Reporting DCOP Values for a Selected Object Using Estimated Pre-layout Parasitic Extractions

8-2

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Using Post-layout Parasitic Extractions Setting up the Netlist Understanding Analog/Digital Converters Defining Default Analog/Digital Converters for Auto-Insertion Editing Default Analog/Digital Converter Parameters Deleting Default Analog/Digital Converters Inserting Analog/Digital Converters on Instances Inserting Analog/Digital Converters on Nets Inserting Analog/Digital Converters on Pins Deleting Analog/Digital Converters Associating an SDF File with an Instance Displaying SDF File Setups Deleting SDF File Setups Changing SDF File Setups Deleting Unused References\Invalid Backannotations Checking the Design Before Simulation Generating a Netlist Running the Simulation Extracting Waveform Measurements Exiting Simulation Mode Viewing Waveforms About Xelga Invoking Xelga Crossprobing Schematics with Xelga Closing Xelga About Design Architect-IC View (DA-IC View) Invoking DA-IC View Crossprobing Schematics with DA-IC View Closing DA-IC View

Design Architect-IC Users Manual, v8.9_10

8-3

Simulation Mode Overview

Running Design Simulation

About EZwave Invoking EZwave Crossprobing Schematics with EZwave Closing EZwave

Simulation Mode Overview


From the simulation mode in DA-IC, you can set up and invoke Eldo, ADVanceMS, HSPICE, or any SPICE-compatible simulator. Eldo is used for analog and RF designs, and ADVanceMS is used for mixed signal designs. The palette menu in DA-IC provides the most commonly used options for setting up the simulation analysis and allows you to enter additional commands for the simulator. Simulation mode uses Design Viewing and Analysis Support (DVAS) functionality used by other Mentor Graphics applications. DVAS is a set of scopes, functions, and commands used to manipulate windows, check syntax, and select, display, highlight, analyze, report, protect, group, and name objects. For more information on DVAS, see the Design Viewing and Analysis Support for IC Flow Manual. For more information on simulation concepts and commands, see the following manuals:

ADVance MS Users Manual Eldo Users Manual Eldo RF Users Manual


Source schematics cannot be edited directly from simulation mode. However, you can still add, change, and delete properties using backannotations and then merge the backannotations to the source schematic.

Note

8-4

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Supported Language Types

Supported Language Types


The supported language types and simulator/viewer to use for each is listed in table 8-1 Table 8-1. Supported Simulation Language Types Design Type Analog Mixed signal Analog Language Type Simulator VHDL VHDL-AMS Verilog SPICE EldoSPICE HSPICE Verilog-A SPICE EldoSPICE Verilog-A ADVance MS Viewer Xelga

Eldo HSPICE

Xelga DA-IC View

RF

EldoRF

Xelga

For information on setting the simulator and viewer, see Setting Up the Default Simulator and Viewer in this chapter.

Requirements
Depending on which simulator and viewer you use, one or more of the following separately licensed applications are required for the simulation mode:

Eldo HSPICE Eldo RF Xelga ADVance-MS

Design Architect-IC Users Manual, v8.9_10

8-5

Using the HSPICE Simulator

Running Design Simulation

For more information, see Configuration and Compatibility in Chapter 1 of the Design Architect-IC Release Notes.

Using the HSPICE Simulator


You can use DA-IC to set up and run analog simulations with HSPICE. The simulation command file created by DA-IC is formatted for HSPICE, and the simulation palette changes to provide only simulation options available for HSPICE. For information on setting up DA-IC to use HSPICE, see Setting Up the Default Simulator and Viewer section in this chapter. The following HSPICE-specific setups are available:

HSPICE Options HSPICE Measurements Adding an HSPICE Voltage Source


For more information on the HSPICE-specific setups, see your HSPICE reference manual.

HSPICE Options
Open the Setup HSPICE Options dialog box with the Options menu item on the Simulation palette menu. All the fields are labelled according to the HSPICE option name, so you can find descriptions of these fields in your HSPICE manual. DA-IC uses the information in this dialog box to construct HSPICE .OPTIONS statements. The HSPICE Options dialog box is separated into the following functionality groups:

General IO: General control options for input and output. General Oth: Miscellaneous control options.
8-6

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Using the HSPICE Simulator

Model Analysis: Options for model analysis of MOSFETs and other


devices. DC Accuracy: Accuracy options for DC operating point and sweep analysis. DC Converge: Convergence options for DC operating point and sweep analysis. DC Other: Matrix, IO, and Pole Zero options for DC operating point and sweep analysis. TR/AC Accuracy: Accuracy options for transient and AC small signal analysis. TR/AC Timestep: Timestep options for transient and AC small signal analysis. TR/AC Other: Algorithm, speed, and IO options for transient and AC small signal analysis.

HSPICE
The Setup > HSPICE palette menu item on the Simulation palette menu opens an additional menu with the following three menu items:

Alter: Opens the Edit .ALTER Blocks dialog box in which you construct
HSPICE .ALTER statements. You can add, edit, or remove existing .ALTER statements. Each .ALTER statement can contain one or more parameter redefinitions. You must have already declared parameters with Setup Parameters.

IC: Opens the Set IC Nodeset prompt bar in which you set transient initial
conditions (node voltages) for the selected nets in the design. DA-IC uses this to build the .IC statement in the simulation command file.

Nodeset: Opens the Set IC Nodeset prompt bar in which you initialize
specified node voltages for a DC operating point analysis. This helps the DCOP convergence, and is applied to selected nets. DA-IC uses this to build the .NODESET command in the simulation command file. For more information on the HSPICE-specific setups, see your HSPICE reference manual.

Design Architect-IC Users Manual, v8.9_10

8-7

Running a Simulation

Running Design Simulation

Measurements
Open the Define Measure dialog box with Measurements > Define menu item on the Simulation palette menu. DA-IC uses the information in this dialog box to construct HSPICE .MEASURE statements. For more information on the HSPICE-specific setups, see your HSPICE reference manual.

Adding an HSPICE Voltage Source


Open the Add Voltage Source dialog box, shown in Figure 8-1, with the Add Source menu item from the Schematic Edit palette menu. A generic voltage source is then added in the format expected by HSPICE. This is reflected in the netlist when you click on either the Netlist or Run buttons on the Simulation palette menu.

Figure 8-1. Add Source Dialog Box

Running a Simulation
Design Architect-IC (DA-IC) allows you to set up and run a design simulation from the schematic_sim_palette in simulation mode. Setting up and running a simulation from DA-IC creates the following files and stores them under a viewpoint for the active design: Command file .cir file used for input to the simulator. Created from the setups specified from the schematic_sim_palette.

8-8

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

Netlist file .spi file created by the default netlister invoked from the schematic_sim_palette. Used for input to the simulator. Output file .chi file created by the simulator. Contains detailed log of simulation activity. Viewer input file .wdb, .cou, .dou, or jwdb file types created by the simulator for the waveform viewer to read. The type of file created depends on the simulator and viewer selected. For more information on viewer input files, see Viewing Waveforms in this chapter.

Changing the Default Editor for Simulation Mode


The default editor for simulation mode is Notepad. You can change the default editor by setting the MGC_SIM_EDITOR environment variable. For example: setenv MGC_SIM_EDITOR nedit -nowrap sets the editor to the Nedit editor with no wordwrap.

Setting up a Default Viewpoint


Simulation mode uses a viewpoint to tell the netlister and simulator how to interpret a design. For more information, see Design Viewpoint Editor-IC Users and Reference Manual. All files associated with the simulation are stored under the specified viewpoint. You can set up a default viewpoint to use. If no viewpoint is specified, an EldoNet viewpoint is created when simulation mode is invoked. Use the following steps to specify a default viewpoint:

Design Architect-IC Users Manual, v8.9_10

8-9

Running a Simulation

Running Design Simulation

1. From the Session scope, select Setup > Simulation Configuration.... . The Setup Simulation Configuration dialog box displays:

2. If necessary, enter a name for the viewpoint. Use this option to specify a name that is different from the default. 3. Select a Viewpoint Type from the list box or click Avail.Viewpoints to select from existing viewpoints. The following default viewpoint types are available:

IC_Station_SDL_Flat Viewpoint set up for doing Schematic


Driven Layout (SDL) at the device level.

IC_Station_SDL_Heir Viewpoint set up for doing SDL at the cell


level.

Spice_Netlister Viewpoint set up for doing SPICE netlisting with


EldoNet. This is the default.

Verilog_Netlister Viewpoint set up for doing Verilog netlisting


with EldoNet.

8-10

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

4. Click OK. The selected file is set to the default.

Invoking Simulation Mode


You must close all symbol windows and make all function blocks before entering simulation mode.
Note

Use the following steps to invoke simulation mode in DA-IC: 1. Capture your schematic design. 2. Check and save the schematic design. The design should be error free.

Design Architect-IC Users Manual, v8.9_10

8-11

Running a Simulation

Running Design Simulation

3. Click Simulation on the schematic_edit palette. The Entering Simulation Mode dialog box displays:

4. If necessary, enter a name for the viewpoint in the Config Name field. By default, all open schematic sheets are saved and closed, and the active sheet is reopened in a design viewpoint for simulation. If no viewpoint for the active sheet exists, DA-IC creates a new SPICE Netlister viewpoint named eldonet. For more information, see Setting up a Default Viewpoint in this chapter. 5. If necessary, select the viewpoint Configuration Type. For information on the configuration types, see the Setting up a Default Viewpoint section in this chapter. SPICE_Netlister is used by default. 6. If necessary, click on a Cleanup Viewpoint option. Options include:

8-12

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

Yes Deletes any unused design references or invalid


backannotations from the active viewpoint. For example: backannotations attached to objects deleted from the design. When changes occur, the configuration is automatically saved.

No Leaves all references and backannotaions intact.


7. If necessary, click on a Save Modifications and Close Sheets option. Options include:

All Sheets Closes all sheets before entering simulation mode.


Checks and saves any sheets with unsaved edits before closing them. Notepad and Report windows are left open and unaffected. Default setting.

Sheets in Design Only Closes only sheets related to the active


design before entering simulation mode. Checks and saves sheets with unsaved edits before closing them. Unrelated open sheets and Notepad and Report windows are left open and unaffected. May take several minutes to determine which sheets are part of the design. The time varies depending on schematic size. 8. If necessary, click on Re-initialize viewpoint. Options include:

Yes Deletes all backannotations and simulation settings from the


viewpoint associated with the active schematic.

No Keeps all backannotations and simulations settings with the


active viewpoint. 9. If necessary, click Do not show this dialog box again. to prevent this dialog box from displaying the next time you enter simulation mode. You can re-enable the dialog box from (Session) Setup > Simulation Configuration... 10. Click OK. The active schematic displays in simulation mode.

Design Architect-IC Users Manual, v8.9_10

8-13

Running a Simulation

Running Design Simulation

Setting Up the Default Simulator and Viewer


DA-IC must be set up to use a specific viewer and simulator before running a simulation. You must be in simulation mode to access the following setup options: 1. From the schematic_sim_palette, select Session > Simulator/Viewer. The Setup Simulator/Viewer dialog box displays.

2. Click the appropriate button to specify a simulator. Options include:

Eldo Selects the Eldo simulator ADMS Selects the ADVance-MS simulator in command-line mode. ADMS Interactive Selects the ADVance-MS simulator in graphical
user interface mode.

HSPICE Selects the HSPICE analog simulator. Other Allows you specify a SPICE-compatible simulator. Click
Advanced... to specify the simulator invoke commands.

8-14

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

3. Click the appropriate button to specify a viewer. For more information, see Viewing Waveforms in this chapter. Options include:

DA-IC View Selects Design Architect-IC View. Xelga Selects Xelga EZwave Selects EZwave.

If you select the ADMS simulator with the Xelga waveform viewer, you are prompted to select JWDB or COU/DOU viewer output files. For more information, see the About Xelga section in this chapter.

4. Click Advanced... to set up or change the location of the simulator/viewer application and its input/output commands. If the simulator/viewer applications are properly installed and setup, you should not need to change these settings. For more information, see $$sim_setup_simulator_viewer_advance() in the Design Architect-IC Reference Manual. 5. If necessary, enter a different working directory and click OK. The working directory specifies the location of the simulator invoke/setup files. To use ADVanceMS, you must set the working directory to the location of the adms.ini file. For more information on the adms.ini file, see Chapter 11, System Initialization/Project File in the ADVanceMS Users Manual.

Design Architect-IC Users Manual, v8.9_10

8-15

Running a Simulation

Running Design Simulation

Setting Ground/Node 0
Use the following steps to specify which nets are ground: 1. From the schematic_sim_palette, select Session > Netlister. The Setup SPICE Netlister dialog box displays.

2. Enter the names of the nets to use as ground in the data field labeled Node 0 and click OK. Use commas to separate multiple net names.

8-16

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

Setting up the Simulation Environment


Use the following steps to set up the simulation environment for the current session: 1. From the schematic_sim_palette, select Session > Environment. The Setup Simulation Environment dialog box displays.

Design Architect-IC Users Manual, v8.9_10

8-17

Running a Simulation

Running Design Simulation

2. If necessary, enter a new working directory for the simulation under Simulation Depository. By default, the working directory is the viewpoint directory for the active design. To use ADVanceMS, you must set the working directory to the location of the adms.ini file. For more information on the adms.ini file, see Chapter 11, System Initialization/Project File in the ADVanceMS Users Manual. 3. If necessary, enter new filenames for the following input and output simulation files.
o Command File o Netlist File o Output File

By default, the file names reflect the active design name. For more information on the input and output files, see Running a Simulation in this chapter. 4. If necessary, change the Auto-Run Simulation Setup setting. This setting determines what functions are automatically performed with the Run simulator option on the simulation palette. The following options are available:
o Run Simulation Only Runs a simulation only. o Run Simulation and Display Waveforms Runs a simulation and

displays the resultant waveforms.


o Generate Netlist and Run Simulation Generates a netlist and runs

a simulation. Default setting.


o Generate Netlist, Run Simulation, and Display Waveforms

Generates a netlist, runs a simulation, and displays waveforms. 5. If necessary, toggle the Auto-close Windows setting. This setting allows you to set up the netlist/simulation terminal windows to close automatically

8-18

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

upon completion of a netlist/simulation operation. The option is enabled when the box displays black. The following settings are available:
o enabled Netlist/Simulation terminal windows close automatically

upon completion of the netlisting/simulation operations.


o disabled You must press Enter to close netlist/simulation terminal

windows upon completion of the netlisting/simulation operations. Default setting. 6. If necessary, enable the Automatically run check design option to configure the Run Simulator button on the schematic_sim _palette to automatically check the design before running a simulation. For more information, see the Checking the Design Before Simulation section of this chapter. 7. If necessary, change the Annotated Property Text settings. Allows you to specify a font and font height for backannotation text displayed on the schematic. Options include: 8. Font Click the Menu button to display a list of the available fonts to select from. 9. Height Enter a height measurement in inches. 10. If necessary, change the DCOP Display to change the decimal places to display. 11. Under Info Block Display Options, select which simulation settings display on the on the active schematic. For more information, see Displaying the Current Simulation Setups in this chapter. 12. Click OK. The environment settings are written to a sim_setup file under the active viewpoint. For more information on setting up the simulation environment, see $sim_setup_sim_environ() in the Design Architect-IC Reference Manual.

Design Architect-IC Users Manual, v8.9_10

8-19

Running a Simulation

Running Design Simulation

Creating Default Simulation Environment Setups


Use the following step to save the simulation settings from the current session as the default environment setups. Once default setups are created, all new configurations assume the specified default settings when they are created. 1. From the schematic_sim_palette, select Session > Save Setup As Default. The current simulation environment settings are saved to a sim_setup file under $HOME/mgc/. The mgc directory is created if none exists. For information on the simulation environment settings, see Setting up the Simulation Environment in this chapter.

Restoring Simulation Environment Setups


Use the following steps to restore the simulation environment setups from a previously created sim_setup file: 1. From the schematic_sim_palette, select Session > Restore Setup From. The Restore Setup From dialog box displays. 2. Enter the path to the setup file to restore setups from and click OK. You are prompted to verify you want to overwrite the current sim_setup file. 3. Click Yes to overwrite the file. The simulation environment assumes the setups in the file. For more information on the environment settings, see Setting up the Simulation Environment in this chapter.

Copying a Simulation Configuration


A Copy Configuration option that allows you to save the simulation session setups from the active design to a new file. The simulation configuration includes all the setups from the current session that are not design-specific. The new file is used to easily set up another simulation session. Use the following steps to create a copy of a simulation configuration:

8-20

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

1. Open the appropriate design and invoke simulation mode. 2. Select Session > Copy Configuration on the palette menu. The Copy Configuration dialog box displays.

3. Enter a name for the new configuration. 4. Click OK. A viewpoint is created with the specified name under the active component. The copy of the simulation configuration is saved under the new viewpoint. Backannotations from the source configuration are renamed with the new configuration name.

Setting up Standard Simulator Options


Use the following steps to specify the setup options for the simulator: 1. From the schematic_sim_palette, select Options > Standard. The Setup Options dialog box displays. 2. Click one of the categories at the top of the dialog box to display a description of the associated setups on the next line.
Click Category

Description

Design Architect-IC Users Manual, v8.9_10

8-21

Running a Simulation

Running Design Simulation

The dialog box changes to display the setup options associated with each category. 3. Enter the appropriate settings in data fields or click the button next to the option to enable it. The button displays black when enabled. Click on the button that names each option to display detailed information about the option.

Detailed information displays

4. Click OK. The setups from all categories are inserted in the simulation command file. For more information, see .OPTION in Chapter 10 of the Eldo Users Manual.

Adding Forces
A Forces option on the Simulation Palette allows you to use forced voltage or current sources for design simulation. To add a force to a design: 1. Select the two nets you want to insert the force on.

8-22

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

The first net selected is considered the Signal net. This is the name of the pin to insert the force on. The second net is considered the Reference Net. This is the name of the net or pin to apply the source to. 2. From the schematic_sim_palette, select Forces > Add Force. The Add Force dialog box displays:

3. Enter the Name of the force. You cannot use a force name that already exists. 4. Verify the Signal and Reference Net names. 5. Select whether the force type is Voltage or Current. 6. Select the Source Type and enter the associated values: Source Type DC AC EXP (Exponential) Pattern Pulse Values Magnitude DC offset, magnitude, phase (in degrees) Initial value, target value, rise delay, rise time, fall delay, and fall time High value, low value, delay, rise time, fall time, pattern duration, pattern, and repeat Initial value, pulsed value, delay(s), rise time, fall, time, pulse width, and period

Design Architect-IC Users Manual, v8.9_10

8-23

Running a Simulation

Running Design Simulation

Source Type SFFM (Single Frequency FM) SIN (Sinusoidal) PWL (Piece Wise Linear)

Values Offset, peak amplitude, carrier frequency, modulation index, and signal frequency Offset, peak amplitude, frequency, time delay or phase delay, and damping factor Time/value pairs

7. Select OK. A force property is added to the signal net. Editing Forces To edit an existing force: 1. Select the net attached to the force. 2. From the schematic_sim_palette, select Forces > Edit/Delete Forces. The Edit/Delete Forces dialog box displays. 3. Select the force you want to edit and click Edit Selected. The Add Force dialog box opens and contains the information for the selected force. 4. Edit the information and click OK. Deleting Forces To delete one or more forces on a selected net: 1. Select the net attached to the force you want to delete. 2. From the schematic_sim_palette, select Forces > Edit/Delete Forces. The Edit/Delete Forces dialog box displays. To delete one force, select the force and then click Delete Selected.

8-24

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

To delete all the forces for a design, click Delete All. 3. Click OK. The specified forces are deleted. Reporting Forces To review a report on the forces for the current schematic: 1. From the schematic_sim_palette, select Forces > Report Force. A report window displays the name, signal, reference net, source type, force type, and parameters for all forces on the active schematic. Checking Forces To check the forces on an open schematic: 1. From the schematic_sim_palette, select Forces > Check Force. The following checks are performed for all the forces on the active schematic:
o Checks if any of the forces have the same names. o Checks if the signal and reference of a force exist. o Checks if any signal has more than one voltage force source associated. o Checks if all forces have both a backannotation property and a force file

entry. If this check fails, the force is eliminated automatically from the database and a warning message displays. A report window displays errors or warnings if any checks fail.

Adding Safe Operating Areas


An option on the Simulation Palette allows you to add Safe Operating Area (SOA) limits to models, schematic-based instances, and expressions in simulation mode. These SOAs are used during simulation when enabled as Simulation Analysis

Design Architect-IC Users Manual, v8.9_10

8-25

Running a Simulation

Running Design Simulation

options. For information on enabling SOAs for simulation, refer to sections Specifying SOAs and Netlisting for DCOP, DC, and AC Analyses and SOAs and Netlisting for Transient Analysis. To add an SOA to a design: 1. From the schematic_sim_palette, click Safe Operating Area > Add SOA. The Setup Safe Operating Area dialog box displays.

2. Click Instance, Model, or Extract to specify the type of design to which the SOA is to be added:
o Instance Specifies to add the SOA to a specific schematics-based

instance that is one of the supported device types: resistor, capacitor, inductor, diode, voltage source, current source, bjt, and mosfet. Default. Choosing this option automatically displays the Instance Name and Instance Parameter fields.

8-26

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

o Model Specifies to add the SOA to a specific model. The model

must be a model of one of the supported device types. All devices with this model name are checked for meeting the SOA. Choosing this option automatically displays the Model Name and Model Parameter fields.
o Extract An extract. Choosing this option automatically displays the

Extract Name field. For more information on extracts, refer to the .EXTRACT simulation command in the EldoUsers Manual. 3. Specify the Instance Name and Instance Parameter, Model Name and Model Parameter, or Extract Name fields, based on the type of design you selected in the previous step:

... Name Specifies the specific instance, model, or extract name to


add the SOA to.

... Parameter Specifies the parameter name. Supported parameters


vary by device type and are defined in Table 8-2.

Select Extract and Define Extract Selects a previously entered


extract command or defines a new one. Table 8-2. Parameters Supported by Type Device Type Resistor Capacitor Inductor Diode Voltage Source Current Source Supported Parameter I POW VDIP VPOS, VNEG Parameter Definition current through the device power dissipated by the device voltage difference across the terminals voltage on positive/negative pin

Design Architect-IC Users Manual, v8.9_10

8-27

Running a Simulation

Running Design Simulation

Table 8-2. Parameters Supported by Type Device Type BJT Supported Parameter IB IC IE IS VBE, VBC, VBS, VCE, VCS, VES VC, VS, VB, VE POW MOS/JFET IG, IS, ID, IB Parameter Definition current into the terminals voltage across the terminals voltage in the terminals power dissipated by the device current into the terminals

VGD, VGS, VGB, voltage across the terminals VBS, VBD, VDS VS, VD, VG, VB POW voltage in the terminals power dissipated by the device

4. Enter a text string in the SOA Label field to name the SOA limit being created. 5. Enter limits for the SOA into the Minimum and Maximum fields:

Minimum Specifies the minimum value for the Safe Operating


Area. A value of * means unspecified, and no check in this direction is performed. Default: *.

Maximum Specifies the maximum value for the Safe Operating


Area. A value of * means unspecified, and no check in this direction is performed. Default: *. 6. Click Add SOA Definition to add the SOA definition to the sim_setup file and to the SOA list area of the dialog box. The SOA List Area contains the SOA definitions. This field is modified by the following:

8-28

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

Edit Populates the Add SOA window. You can change the
settings and add them back to the list.

Delete Deletes the selected SOA in the list. Delete All Deletes all of the SOAs.
Deleting SOAs To delete SOAs, do the following: 1. From the schematic_sim_palette, click Safe Operating Area > Delete SOA. The Delete SOA dialog box displays listing all currently defined SOAs for the active design. 2. Select the SOA you want to delete and click OK. You can also delete an SOA from within the Setup Safe Operating Area dialog box using Delete and Delete All; this dialog box is accessed by clicking Safe Operating Area > Add SOA. Reporting SOAs To report SOAs, do the following: 1. From the schematic_sim_palette, click Safe Operating Area > Report SOA. A report window displays the SOA Label, Name, Type, Parameters, and Minimum and Maximum Limits. For a description of these fields, refer to section Adding Safe Operating Areas on page 8-25. Showing SOA Results SOA results automatically display following simulation if violations occur. To explicitly show SOA results after netlisting and simulation, do the following:

Design Architect-IC Users Manual, v8.9_10

8-29

Running a Simulation

Running Design Simulation

1. From the schematic_sim_palette, click Safe Operating Area > Show Results. Specifying SOAs and Netlisting for DCOP, DC, and AC Analyses To enable or disable defined SOAs and specify simulator behavior for SOA violations, do the following: 1. From the schematic_sim_palette, click Setup > Analyses to display the Setup Simulation Analysis dialog box. 2. Click any of the DCOP, DC, or AC analysis options and click the corresponding Setup button to display the associated Setup... dialog box. 3. Click the desired SOA options for the analysis option:

Safe Operating Area Check Specifies the SOAs checked during


simulation.

SOA Autostop Specifies whether simulation stops when an SOA


limitation is violated. If SOA limits are violated, a report window displays after simulation and the instances that violate the limitation are highlighted.

Add Checks Displays the Setup Safe Operating Area dialog box
allowing you to define new SOAs and delete or modify existing SOAs. SOAs and Netlisting for Transient Analysis To enable or disable defined SOAs, restrict when SOA checks occur, and specify simulator behavior for SOA violations, use the following: 1. From the schematic_sim_palette, click Setup > Analyses to display the Setup Simulation Analysis dialog box. 2. Click Transient and click the corresponding Setup button to display the Setup Transient Analysis dialog box. 3. Click the desired SOA options for the analysis option:

8-30

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

Safe Operating Area Check Specifies the SOAs checked during


simulation.

Setup Displays the Setup Check SOA dialog box in which you can
specify the following:
o SOA Autostop Specifies whether simulation stops when an SOA

limitation is violated. If SOA limits are violated, a report window displays after simulation and the instances that violate the limitation are highlighted.
o Start Time* Specifies a start time to restrict the SOA check for

Transient analysis.
o Stop Time* Specifies a stop time to restrict the SOA check for

Transient analysis.

Add Checks Displays the Setup Safe Operating Area dialog box
allowing you to define new SOAs and delete or modify existing SOAs.

Specifying a Circuit Temperature


Use the following steps to specify a circuit temperature for the simulation: 1. From the schematic_sim_palette, select Lib/Temp/Inc > Temperature. The Set Temperature dialog box displays. 2. Enter a temperature in Celsius and click OK. A .TEMP command is inserted in the simulation command file. To disable the .TEMP command, delete the value from the Temperature field and click OK. The .TEMP command is deleted from the simulation command file. For more information, see .TEMP in Chapter 10 of the Eldo Users Manual.

Design Architect-IC Users Manual, v8.9_10

8-31

Running a Simulation

Running Design Simulation

Setting up Parameter Variables for Models


Use the following steps to assign values to parameter variables used in models: 1. From the schematic_sim_palette, select Parameters. The Setup Parameters dialog box displays.

2. In the Name data field, enter the name of the parameter variable. 3. In the Value data field, enter a value for the named parameter variable. 4. Click OK. One .PARAM command is inserted into the simulation command file for each name/value pair specified. For more information, see .PARAM in Chapter 10 of the Eldo Users Manual.

Reordering, Enabling/Disabling, Editing, and Deleting Sweep Analyses


A sweep analysis sets up the simulator to run several simulations varying a specified parameter or device. Use the following steps to reorder, enable/disable, edit, or delete the existing sweeps set up for a simulation:

8-32

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

1. From the schematic_sim_palette, select Multiple Runs > Sweep. The Edit Sweep List dialog box displays a list of sweeps set up for simulating the current design. The sweeps are listed in the order they are performed.

2. Select a sweep from the list and click the following options as necessary:
o Up Moves the selected sweep up one position in the list. o Down Moves the selected sweep down one position in the list. o Top Moves the selected sweep to the top position in the list. o Bottom Moves the selected sweep to the bottom position in the list. o Delete Deletes the selected sweep from the list. o Delete All Deletes all the sweeps from the list. o Enable/Disable Enables or disables the selected sweep. Depending

on the current status of the sweep, this option toggles the setting.
o Enable All Enables all the sweeps in the sweep list.

Design Architect-IC Users Manual, v8.9_10

8-33

Running a Simulation

Running Design Simulation

o Disable All Disables all the sweeps in the sweep list. o Edit Sweep Displays the setups for the selected sweep and allows

you to edit them. For more information on setting up sweeps, see Setting up a Sweep Analysis in this chapter.
o Add Sweep See Setting up a Sweep Analysis in this chapter.

3. Click OK. The .STEP command(s) are changed/deleted in the simulation command .cir file as specified. For more information, see .STEP in Chapter 10 the Eldo Users Manual.

Setting up a Sweep Analysis


A sweep analysis sets up the simulator to run several simulations varying a parameter or device. Use the following steps to set up sweeps for simulation: 1. Select an instance. From the schematic_sim_palette, select Multiple Runs > Sweep. The Sweep List Editor dialog box displays. Options include:

8-34

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

Edit Sweep Allows you to change the settings of an existing sweep. Add Sweep Adds a new sweep. Refer to Add a Sweep Analysis. Edit Corner Table Allows you to view a list of runs from the sweep
analyses performed on the active design. From the list, you can enable or disable specified runs for the next sweep analysis. Refer to Setup a Corner Case Sweep Analysis.

Multi_Run Mode Allows you to select either a Corner Case


analysis or Nested Sweep analyis for the next simulation run. 2. Adjust the order or enable/disable a sweep with the buttons on the right.

Design Architect-IC Users Manual, v8.9_10

8-35

Running a Simulation

Running Design Simulation

Add a Sweep Analysis 1. To add a sweep analysis, click Add Sweep on the Sweep List Editor Dialog box. The Setup Sweep dialog box displays.

2. Next to Sweep:, click the parameter to sweep. The dialog box changes depending on which parameter you choose. Options include:
o Temp Selects temperature sweep. o MOSL Selects MOS length sweep. Enter the name of the MOS

component to sweep.
o MOSW Selects MOS width sweep. Enter the name of the MOS

component to sweep.
o Dipole Selects dipole sweep. Enter the R,C, or L dipole component

to sweep.
o Param Selects globally-defined parameter sweep. Enter the name of

a global parameter to sweep.


o Instance Selects an instance from the current design to sweep. Enter

the instance name and the parameter on the instance to sweep. The instance must be primitive. This sweep does not support sweeping parameter models from .MODEL statements.

8-36

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

o Library Selects a SPICE library sweep. Enter a path to the library

and space-separated model variants within the library to sweep. At least one variant must be entered. 3. Click on a Sweep Type to enable it. Options include:
o Lin./Num Pts Appends a LIN parameter to the .STEP command to

specify a linear sweep with a number of points. Enter an initial sweep value, final value, and the number of points to sweep in between.
o Lin./Incr. Appends an INCR parameter to the .STEP command to

specify a linear sweep by increment. Enter an initial sweep value, final value, and a number to increment each sweep by. Select the Use adaptive increments option to automatically adapt the value of the increment based on the convergence of each sweep point. For more information, see the Automated Sweeps section of the Eldo RF Users Manual.
o Logarithmic Appends a DEC parameter to the .STEP command to

specify a logarithmic sweep. Enter an initial sweep value, final value, and a number of sweeps per decade.
o Octave Appends an OCT parameter to the .STEP command to

specify an octive sweep. Enter an initial sweep value, final value, and a number of points per octive.
o List Appends a LIST parameter to the .STEP command to specify a

list of individual values for the sweep. Enter a list of space-separated discrete values to sweep. 4. Click OK. Inserts a .STEP command in the simulation command .cir file. For more information, see .STEP in Chapter 10 the Eldo Users Manual. Setup a Corner Case Sweep Analysis 1. To set up corner case analysis for simulation, Select Edit Corner Table on the Sweep List Editor dialog box. The Corner Case Editor displays. The Corner Case Editor contains a list of each individual sweep run in a list box.

Design Architect-IC Users Manual, v8.9_10

8-37

Running a Simulation

Running Design Simulation

The nested sweep values are listed in the order in which the sweeps are defined. A sweep which has been disabled in the sweep editor, removes the individual sweep runs from the corner case editor.

2. Change the Enable Status of the individual sweep runs listed as desired. Options include:
o Enable All Enables all sweep values for the next simulation run. o Disable All Disables all sweep values for the next simulation run. o Enable Selected Enables selected sweep values for the next

simulation run. Multiple selections are allowed.


o Disable Selected Disables selected sweep values for the next

simulation run. Multiple selections are allowed.

8-38

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

o Enable Corners Enables all corner case values for the next

simulation run. This operation does not effect the enabled/disabled status of non-corner sweeps.
o Disable Corners Disables all corner case values for the next

simulation run. This operation does not effect the enabled/disabled status of non-corner sweeps.
o Invert State Inverts the current state of all listed sweep values.

3. After adjusting the corner cases, select Close to execute the Corner Case Editor.

Setting up a Monte Carlo Analysis


The Monte Carlo (MC) analysis gathers statistical data derived from estimates of the random variability of all circuit components. MC analysis is used in conjunction with AC, DC and transient analyses. For more information, see Chapter 15, Monte Carlo Analysis in the Eldo Users Manual. Use the following steps to set up a Monte Carlo analysis: 1. Select a plot type and analysis type with the Probes/Plot > Plot Selected option on the schematic_sim_palette menu. For more information, see Plotting Simulation Results in this chapter. 2. If necessary, select reference objects for standard deviation.

Design Architect-IC Users Manual, v8.9_10

8-39

Running a Simulation

Running Design Simulation

3. Select Multiple Runs > Monte Carlo from the schematic_sim_palette. The Setup Monte Carlo Analysis dialog box displays.

Figure 8-2. Setup Monte Carlo Analysis Dialog Box. 4. If desired, Click Enable MC to enable the Monte Carlo analysis. 5. Enter the Number of Runs. The default is 10. 6. If desired, enter the number for Individual Run. This field can be blank.

8-40

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Running a Simulation

7. Select the Results to Save. Options include:


o Min, Max, Nominal Saves the simulation runs with nominal,

maximum, and minimum results to the output file.


o All except Nominal Saves the results of each simulation run except

the nominal to the output file.


o All Saves the results of all simulation runs to the output file.

8. Select the Variances Enabled. Options include:


o Both Dev and Lot Variances followed as specified in the Random

Variable Definitions section.


o Dev Only Only Dev variances specified in the Random Variable

Definitions section are used. Lot variances are ignored.


o Lot Only Only Lot variances specified in the Random Variable

Definitions section are used. Dev variances are ignored. 9. If desired, select to Perform sweep with every MC run. 10. If desired, select Random number changes independent of previous runs. 11. If desired, enter a number for the Seed for random number generator. 12. Select the Reference Objects. Voltage sources and nets are automatically obtained from the currenlty selected instances and nets on the schematic each time the Setup Monte Carlo Analysis dialog box is invoked. If desired, these may be modified in the dialog box. Options include:
o None Specifies to use no reference object a reference for the worst

case analysis.
o Voltage Sources Specifies to use a voltage source as the reference

object. You must specify or verify the Voltage Sources and the Current Type.

Design Architect-IC Users Manual, v8.9_10

8-41

Running a Simulation

Running Design Simulation

o Nets Specifies to use a net as the reference object. You must specify

or verify the Net and the Voltage Type. 13. Select the Random Variable Definitions. Options include:
o Add Adds a definition to the random variable definitions. This

option displays the Add Random Variable Definition dialog box. Options include:

Variable Type Specifies Parameter or Temperature. Parameter Name Specifies the parameter name. Enter or verify
an existing design parameter. If you are using the Parameter option, you can select a design parameter from the scrollable list.

Parameter Value Specifies the parameter value. Dev Variance Specifies the individual variance value. Uniform
distribution is the default. Select if you want to use the Gaussian distribution. Also, select if you want the DevX Variance to vary with each instance usage in every run.

8-42

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Lot Variance Specifies the lot variance value. Uniform


distribution is the default. Select if you want to use the Gaussian distribution.
o Edit Allows you to edit a selected random variable definition. o Enable/Disable Enables or disables a selected random variable

definition.
o Enable All Enables all of the listed random variable definitions. o Disable All Disables all of the listed random variable definitions. o Delete Deletes a selected random variable definition. o Delete All Deletes all of the listed random variable definitions.

14. Click OK. A .MC command is inserted in the simulation command file. For more information, see .MC in Chapter 10 of the Eldo Users Manual.

Setting up Simulation Analyses


From the Analyses option on the schematic_sim_palette, you can set up the following analyses:
Setting up a DCOP Analysis Setting up a DC Analysis Setting up an AC Analysis Setting up an AC Noise Analysis Setting up a Transient Analysis Setting up a Transient Noise Analysis Setting up a Steady State Analysis Setting up a Modulated Steady State Analysis Setting up an Oscillator Steady State Analysis Setting up a Steady State Noise Analysis

Design Architect-IC Users Manual, v8.9_10

8-43

Setting up Simulation Analyses

Running Design Simulation

Setting up a Steady State AC Analysis

Setting up a DCOP Analysis


The DCOP analysis determines the operating point of a circuit with inductors shorted and capacitors open. Use the following steps to set up a DC operating point analysis: 1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

2. Click the button next to DCOP to enable DCOP analysis.

8-44

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

3. Click the Setup... button adjacent to DCOP. The Setup DCOP dialog box displays.

4. Enter the following information:


o Transient Time(s) Specifies, in seconds, the transient times for the

analysis.
o Save DC File Specifies a nodeset file to save simulation results to

for use by subsequent simulations. Inserts a .SAVE command in the simulator command file. If no file is specified, the results are discarded. 5. Click OK. A .OP command is inserted in the simulation command file. For more information, see .OP and .SAVE in Chapter 10 of the Eldo Users Manual.

Setting up a DC Analysis
A DC analysis determines the operating point of a circuit with all capacitors open and inductors shorted. A DC analysis determines the stable condition of an analog circuit prior to transient or AC analysis. For more information, see .DC in Chapter 10 of the Eldo Users Manual. Use the following steps to set up a DC analysis:

Design Architect-IC Users Manual, v8.9_10

8-45

Setting up Simulation Analyses

Running Design Simulation

1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

2. Click the button next to DC to enable DC analysis.

8-46

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

3. Click the Setup... button adjacent to DC. The Setup DC Analysis dialog box displays.

4. Next to Sweep:, click the parameter to sweep. The dialog box changes, depending on which parameter you choose. Options include:
o Source Selects a voltage source sweep. Enter the pathname of the

voltage source and the start, stop, and step voltages to sweep. Inserts a SNAM argument for the .DC command.
o Temp Selects temperature sweep. Enter the start, stop, and step

temperatures in Celsius. Inserts a TEMP argument for the .DC command.


o MOSL Selects MOS length sweep. Enter the pathname of the MOS

component and start, stop, and step lengths for the sweep.
o MOSW Selects MOS width sweep. Enter the pathname of the MOS

component and start, stop, and step widths to sweep.


o None No sweep is performed.

Design Architect-IC Users Manual, v8.9_10

8-47

Setting up Simulation Analyses

Running Design Simulation

5. Enter the name of the Nodeset file. The Nodeset file is generated by the DCOP analysis. For more information, see Setting up a DCOP Analysis in this chapter. 6. Verify the Save All DCOP Voltages option is selected. Saves all DCOP voltages in the results file. When disabled, DCOP voltages are discarded after the simulation run. 7. Click OK. A .DC and .OP command are inserted in the simulation command file. For more information, see .DC and .OP in Chapter 10 of the Eldo Users Manual.

Setting up an AC Analysis
The AC analysis performs a small signal analysis that computes the magnitude and phase of output variables as a function of frequency. Use the following steps to set up an AC analysis:

8-48

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

2. Click the button next to AC to enable AC analysis.

Design Architect-IC Users Manual, v8.9_10

8-49

Setting up Simulation Analyses

Running Design Simulation

3. Click the Setup... button adjacent to AC. The Setup AC Analysis dialog box displays.

4. Enter the following information:


o Start Freq: Starting frequency in hertz. o Stop Freq: Stopping frequency in hertz.

5. If necessary, click the box next to Initial Conds (-UIC) to toggle the setting. Yes Adds the UIC parameter to the .AC command in the simulation command file. No DC analysis is performed before the AC analysis. Instead the file specified in the Use File Name: field is used as the starting point for the analysis. For more information, see .AC in Chapter 10 of the Eldo Users Manual. No A DC analysis is performed before the AC analysis, and the results are used for the starting point for the AC analysis. 6. Select a Sweep: type. Options include: Decade, Octive, and Linear. 7. Depending on the Sweep: type selected, enter a number value for points per decade, points per octave, or number of points for linear.

8-50

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

8. Enter a filename for the Use File Name: field if the Initial Conds (-UIC) is set to Yes. The file comes from the results of a transient simulation. For more information, see .AC in Chapter 10 of the Eldo Users Manual. 9. Select IC or Nodeset for the file entered in Step 8. This setting determines how voltages in the file are interpreted as follows:
o IC voltages in the file are interpreted as .IC values. For more

information, see .IC in Chapter 10 of the Eldo Users Manual.


o Nodeset voltages are interpreted as .NODESET values. For more

information, see .NODESET in Chapter 10 of the Eldo Users Manual. 10. Select a Pole Zero Analysis: type. Adds a .PZ statement to the simulator command file. For more information, see .PZ in Chapter 10 of the Eldo Users Manual. 11. Click OK. The Setup Simulation Analysis dialog box displays. 12. Click OK. A .AC command is inserted in the simulation command file. For more information, see .AC in Chapter 10 of the Eldo Users Manual.

Setting up an AC Noise Analysis


The AC Noise analysis analyzes the noise generated by specified AC components and must be used in conjunction with an AC analysis. For more information, see .NOISE in Chapter 10 of the Eldo Users Manual. Use the following steps to set up an AC noise analysis: 1. Set up an AC analysis. For more information, see Setting up an AC Analysis in this chapter. 2. Select a net for the input source and a net for the output source on the active design.

Design Architect-IC Users Manual, v8.9_10

8-51

Setting up Simulation Analyses

Running Design Simulation

3. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

4. Click the button next to Noise to enable AC noise analysis.

8-52

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

5. Click the Setup... button adjacent to Noise. The Setup Noise Analysis dialog box displays.

6. The names of the nets selected on the active design should display in the Output Noise Net 1: and Input Noise Source: fields. If not, enter the appropriate net names. 7. To specify a second net for comparison, enter a net name for Output Noise Net 2:. If no net is specified, ground is assumed. 8. Enter the nth frequency points to store for print-out. The contribution of every noise generator in the circuit is printed at every nth frequency point. If no value is entered, nothing is printed. 9. Select the noise to plot from the following options:
o Linear Input Noise Determines if the .PLOT statement inputs noise

for the analysis. When enabled, a .PLOT statement is added to the simulator command file with the INOISE parameter.
o Linear Output Noise Specifies whether the .PLOT statement

outputs noise when performing a noise analysis. When enabled, a

Design Architect-IC Users Manual, v8.9_10

8-53

Setting up Simulation Analyses

Running Design Simulation

.PLOT statement is added to the simulator command file with the ONOISE parameter.
o db Input Noise Determines if input noise in dB is printed for the

analysis. When enabled, a .PLOT statement is added to the simulator command file with the NOISE and DB (INOISE) parameters.
o db Output Noise Determines if output noise in dB is printed for the

analysis. When enabled, a .PLOT statement is added to the simulator command file with the NOISE and DB (ONOISE) parameters. 10. Click OK. The Setup Simulation Analysis dialog box displays. 11. Click OK. A .NOISE command is inserted in the simulation command file. For more information, see .NOISE and .PLOT in Chapter 10 of the Eldo Users Manual.

Setting up a Transient Analysis


The Transient Analysis calculates the transient output variables for as a function of time over a user-specified interval. The output variables are those contained within the .PRINT and .PLOT commands in the simulator command file. For more information, see .TRAN in Chapter 10 of the Eldo Users Manual. Use the following steps to set up a transient analysis:

8-54

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

2. Click the button next to the Transient option to enable transient analysis.

Design Architect-IC Users Manual, v8.9_10

8-55

Setting up Simulation Analyses

Running Design Simulation

3. Click the Setup... button adjacent to Transient. The Setup Transient Analysis dialog box displays.

4. Enter values in the following fields:


o Stop Time Value in seconds for the analysis duration. Inserts a

TSTOP parameter with the .TRAN command.


o Max Time Step Value in seconds for the maximum internal

timestep. Inserts a HMAX parameter with the .TRAN command.


o Output Start Time Value in seconds for the time at which the

simulator will begin producing data points during a transient simulation. 5. If necessary, click the button next to Initial Conds (-UIC) to toggle the setting. Yes sets the simulation to start with initial conditions. Inserts a -UIC keyword with the .TRAN command in the simulation command file. No Eldo solves for the quiescent operating point before the transient analysis is performed. 6. Enter a file name in the Use File Name: field if the Initial Conds (-UIC) is set to Yes. The file provides the starting point values for the transient analysis. For more information, see .TRAN in Chapter 10 of the Eldo Users Manual.

8-56

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

1. Select IC or Nodeset for the file entered in Step 6. Determines how voltages in the file are interpreted as follows:
o IC voltages in the file are interpreted as .IC values. For more

information, see .IC in Chapter 10 of the Eldo Users Manual.


o Nodeset voltages are interpreted as .NODESET values. For more

information, see .NODESET in Chapter 10 of the Eldo Users Manual. 2. Click OK. A .TRAN command with the specified parameters is inserted in the simulation command file. For more information, see .TRAN and .AC in Chapter 10 of the Eldo Users Manual.

Setting up a Transient Noise Analysis


A transient analysis must be enabled in order to perform this analysis. Use the following steps to set up a transient noise analysis: 1. Set up a transient analysis. For more information, see Setting up a Transient Analysis in this chapter.

Design Architect-IC Users Manual, v8.9_10

8-57

Setting up Simulation Analyses

Running Design Simulation

2. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

3. Click the button next to the Noise Tran option to enable transient noise analysis.

8-58

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

4. Click the Setup... button adjacent to Noise Tran. The Setup Noise Transient Analysis dialog box displays.

5. Enter values in the following fields:


o Lower Value in hertz that specifies the low end frequency used for

the analysis. Adds an FMIN parameter to the simulator command file.


o Upper Value in hertz that specifies the top end frequency used for

the analysis. Adds an FMAX parameter to the simulator command file.


o Number of Simulations Number of simulations to perform with the

specified noise sources. Adds an NBRUN parameter to the simulator command file.
o Number of Sinusoidal Sources Number of Sinusoidal noise

sources. Adds an NBF parameter to the simulator command file.

Design Architect-IC Users Manual, v8.9_10

8-59

Setting up Simulation Analyses

Running Design Simulation

o Noise Source Amplification Factor Noise source amplification

factor. Only affects internal noise computations. Adds an AMP parameter to the simulator command file.
o Random Number Generator Initialization Initial value for the

random number generator. Must be an integer between 0 and 2 31 -1. Adds a SEED Parameter to the simulator command file. 6. Next to MOS Noise Source, select one of the following options to add a value to the NOMOD parameter in the simulator command file. Options include:
o All Use thermal and flicker noise o Only Flicker Use flicker noise o Only Thermal Use thermal noise

7. If necessary, click Nominal Simulation to toggle the setting. When enabled, only one noisy simulation is performed. Adds a NONOM parameter to the simulator command le. 8. If necessary, click Single Runs to toggle the setting. When enabled, performs one run for the root mean square (RMS) noise results. When disabled, forces the algorithm to perform several runs sequentially to compute the RMS noise results. Adds an MRUN parameter to the simulator command le. 9. Click OK. Inserts a .NOISETRAN command with the specified parameters in the simulation command file. For more information, see .NOISETRAN in Chapter 10 of the Eldo Users Manual.

Setting up a Steady State Analysis


A Steady State analysis determines the steady state of an RF circuit submitted to periodic or quasi-periodic, large signal excitation. For more information, see Steady-State Analysis in Chapter 2 of the Eldo RF Users Manual.

8-60

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Use the following steps to set up a steady state analysis: 1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

2. Click the button next to the SST option to enable steady state analysis.

Design Architect-IC Users Manual, v8.9_10

8-61

Setting up Simulation Analyses

Running Design Simulation

3. Click the Setup... button adjacent to SST. The Setup Steady State Analysis dialog box displays.

4. Enter any number of fundamental frequencies with corresponding harmonics to use for simulation; additional Fund Frequency and # Harmonics fields progressively display. 5. If necessary, click Yes next to Save SST? to toggle the setting.
o Yes saves the simulation results and inserts a .SAVE command into

the simulation command file. For more information, see Save and Restart Capabilities in Chapter 2 of the Eldo RF Users Manual.
o No discards them

6. If necessary, click Yes next to Restart SST? to toggle the setting.


o Yes restarts the analysis. o No uses previously saved results as an initial estimation for analysis.

7. Click OK. A .SST command is inserted into the simulation command file. For more information, see Steady-State Analysis in Chapter 2 of the Eldo RF Users Manual.

8-62

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Setting up a Modulated Steady State Analysis


The Modulated Steady State (SST) analysis is used to analyze modulated RF signals. The analysis allows the combination of Steady State analysis with respect to the high-frequency carrier and Transient analysis with respect to the modulated signal. For more information, see Modulated Steady-State Analysis Types in Chapter 2 of the Eldo RF Users Manual. Use the following steps to set up a modulated steady state analysis from the palette menu in simulation mode: 1. Set up a steady state analysis. See Setting up a Steady State Analysis. 2. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

Design Architect-IC Users Manual, v8.9_10

8-63

Setting up Simulation Analyses

Running Design Simulation

3. Click the button next to the MODSST option to enable modulated steady state analysis. 4. Click the Setup... button adjacent to MODSST. The Setup Steady State Analysis dialog box displays.

5. Enter the following information:


o Printer Output Increment Enter the number in seconds to calibrate

the printed/plotted simulation results.


o Mod SST duration Enter the number in seconds for the duration of

the modulated steady state analysis. 6. Click OK. Inserts .MODSST_TPRINT and .MODSST_TSTOP commands in the simulator command file. For more information, see Modulated Steady-State Analysis in Chapter 2 of the Eldo RF Users Manual.

Setting up an Oscillator Steady State Analysis


The Oscillator Steady State analysis determines the spectral content and waveform of all autonomous circuit nodes at steady state. A good estimation of the oscillation frequency must be provided to guarantee rapid convergence. For more information, see Steady-State Analysis for Autonomous Circuits in Chapter 1 of the Eldo Users Manual. Use the following steps to set up an oscillator steady state analysis from the palette menu in simulation mode:

8-64

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

2. Click the SST Oscil option to enable steady state oscillator analysis.

Design Architect-IC Users Manual, v8.9_10

8-65

Setting up Simulation Analyses

Running Design Simulation

3. Click the Setup... button adjacent to SST Oscil. The Oscillator Steady State Analysis dialog box displays.

4. Enter the following information:


o Initial guess Estimated oscillation fundamental frequency in hertz.

The value should be positive; otherwise, the analysis issues a warning, and takes the absolute value. When this parameter is not specified, the simulator automatically performs a Local Stability analysis and uses the estimation of the oscillation frequency if the circuit is stable; otherwise, the simulation stops.
o Harmonics Number of harmonics of the oscillation frequency.

Value should be a non-negative integer or the analysis aborts with an error message.
o Label Name for the results. If a label is specified, then

LABEL= result is used in the output file instead of <expression>=results. For more information, see .EXTRACT in Chapter 10 of the Eldo Users Manual. 5. Click OK. Inserts .SST OSCIL and .FUND_OSC commands in the simulation command file. For more information, see Steady-State Analysis of Autonomous Circuits in Chapter 2 of the Eldo Users Manual.

8-66

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Setting up a Steady State Noise Analysis


The Steady State Noise analysis determines the output noise spectrum for amplifiers and mixers and phase noise for oscillators. Use the following steps to set up a steady state noise analysis from the palette menu in simulation mode: 1. Set up a steady state analysis. For more information, see Setting up a Steady State Analysis in this chapter. 2. Select up to two nets on the active schematic to calculate noise from. 3. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.

Design Architect-IC Users Manual, v8.9_10

8-67

Setting up Simulation Analyses

Running Design Simulation

4. Click the button next to SSTNoise to enable steady state noise analysis. 5. Click the Setup... button adjacent to SSTNOISE. The Setup Steady State Noise Analysis dialog box displays.

6. Next to Frequency:, select a frequency. The dialog box changes, depending on which option you choose. Options include:

8-68

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

o By Range Selects frequency sweep between two frequency values.

a. Enter a start and stop frequency in hertz. b. Select logarithmic, octive, or linear sweep type. c. Enter a number of points per decade/octive/linear frequency to plot/print.
o By Points Enter specific list of frequency points to sweep.

7. Enter a Reference Harmonic:. Inserts a .SSTNOISE command with a HARM parameter in the simulator command file. For more information, see Steady-State Noise Analysis in Chapter 2 of the Eldo RF Users Manual. 8. Enter Output Net 1: Enter the output voltage node (net name) to compute noise from. Select the net on the active schematic, before invoking the Setup Steady State Noise Analysis dialog box, to enter the name automatically. 9. Enter Output Net 2: Enter an optional second output voltage node (net name) to compute noise from. Select the net on the active schematic, before invoking the Setup Steady State Noise Analysis dialog box, to enter the name automatically. 10. Select the type of noise to plot. Click the button below the option to enable it. Options include:
o Linear Output Noise plots linear noise. o db Output Noise plots linear noise in dBc/Hz. o Linear Phase Noise plots phase noise. o db Phase Noise plots phase noise in dBc/Hz. o Linear Am Noise plots amplitude noise. o db Am Noise plots amplitude noise in dBc/Hz.

Design Architect-IC Users Manual, v8.9_10

8-69

Setting up Simulation Analyses

Running Design Simulation

For more information, see Steady State Noise Analysis Results in the Eldo RF Users Manual. 11. Enter device names for the NOISE() parameter of the .PLOT and .PROBE commands in the following fields:
o Device Noise 1: Specifies a device to contribute to the total output

noise spectrum.
o Device Noise 2: Specifies a second device to contribute to the total

output noise spectrum.


o Device Noise 3: Specifies a third device to contribute to the total output

noise spectrum. For more information, see Steady State Noise Analysis Results in Chapter 2 of the Eldo RF Users Manual. 12. Click OK. Depending on the specified options, .SSTNOISE, .PLOT, and .PROBE commands are inserted in the simulator command file. For more information , see Steady State Noise Analysis in Chapter 2 of the Eldo RF Users Manual.

Setting up a Steady State AC Analysis


The Steady State AC analysis is used for circuits that exhibit frequency conversion, such as mixers. It can also be used for simplified multi-tone Steady State Analysis in cases where one signal is considered small relative to the others. For more information, see Steady-State AC Analysis (SSTAC) in Chapter 1 of the Eldo RF Users Manual. Use the following steps to set up a steady state AC analysis from the palette menu in simulation mode: 1. Set up a steady state analysis. For more information, see Setting up a Steady State Analysis in this chapter.

8-70

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays. 3. Click the SSTAC option to enable steady state AC analysis. 4. Click the Setup... button adjacent to SSTAC. The Setup Steady State AC Analysis dialog box displays.

5. Next to Frequency:, select a frequency option. The dialog box changes, depending on which option you choose. Options include:
o By Range Selects frequency sweep between two frequency values.

a. Enter a start and stop frequency in hertz. b. Select logarithmic, octive, or linear sweep type. c. Enter a number of points per decade/octive/linear frequency to plot/print.
o By Points Enter specific list of frequency points to sweep.

Design Architect-IC Users Manual, v8.9_10

8-71

Setting up Simulation Analyses

Running Design Simulation

6. Next to Harmonics:, enter an optional value to add a HARM parameter to the .SSTAC command in the simulator command file. This string specifies both the HARM parameter and the intermodulation of the corresponding harmonic. 7. Next to X Axis, select the X axis parameter to plot the analysis results against. If selected, appends an XAXIS parameter to the .SSTAC command. Options include:
o None Doesnt generate an XAXIS parameter. o FreqIn Plots the output against the input frequency. o FreqOut Plots the output against the output frequency. o AbsFreqIn Plots the output against the absolute input frequency. o AbsFreqOut Plots the output against the absolute output frequency.

8. If necessary, click the box next to Save SST? to toggle the setting.
o Yes Saves the simulation results and inserts a .SAVE command into

the simulation command file. For more information, see Save and Restart Capabilities in Chapter 2 of the Eldo RF Users Manual.
o No Discards the results after the simulation run.

9. Click the box next to Restart SST? to toggle the setting.


o Yes Restarts the analysis. o No Uses previously saved results as an initial estimation for

analysis. 10. Click OK. A .SSTAC command is inserted into the simulation command file. For more information, see Steady-State AC Analysis and Save and Restart Capabilities in Chapter 2 of the Eldo RF Users Manual.

8-72

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Setting Model Libraries for Simulation


Use the following steps to specify model libraries and associated model variants in the simulation command file. You can specify up to 12 libraries from DA-IC. 1. From the schematic_sim_palette, select Lib/Temp/Inc > Libraries. The Set Library Paths dialog box displays.

2. Enter a pathname for each component library used in the schematic design in the Library Path data fields. To add more than six library entries, click Entries 7-12. 3. Click the Lib Variants button related to each library path and select a library variant to use with each library. The name of the library variant is required for 2002.1 release of ADVance MS and greater. For compatibility with older versions of ADVance MS that do not require the library variant, enable the schematic_sim_palette > Options > Standard > Misc > NOINCLIB option.

Design Architect-IC Users Manual, v8.9_10

8-73

Setting up Simulation Analyses

Running Design Simulation

4. Click the Library Search Paths button to specify those directories in which you want the simulator to search for model libraries. The Set Library Search Paths dialog box displays.

5. For each directory you want the simulator to search, enter the pathname to it in the Library Search Path field and click Set Library Path. The directory pathname you specified is displayed in the Libraries Search Paths list area; you can delete an entry by clicking the Delete Entry button. 6. Click OK to close the Set Library Search Paths dialog. A .OPTION statement for each entry in this dialog box is inserted into the commands file with the following format:
.OPTION SEARCH=path

7. Click OK to close the Set Library Paths dialog box. A .LIB command for each entry is inserted into the simulation command file. For more information, see .LIB and .OPTION in Chapter 10 of the Eldo Users Manual.

8-74

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Selecting/Editing Registered Models


Several models may be registered to a symbol in DA-IC. For more information on model registration, see Chapter 5, "Managing/Registering Models". The following sections provide instructions for displaying, selecting, and editing registered models from simulation mode in DA-IC:

Displaying/Selecting Registered Models Displaying/Editing the Source for a Selected Model Displaying/Editing the Source for Registered Models Crossprobing the Schematic Viewpoint Selecting a Model for All Copies of a Specified Instance Closing the Model Selector Model Selector Limitation
Displaying/Selecting Registered Models Use the following steps to display the registered models associated with instances on the active schematic:

Design Architect-IC Users Manual, v8.9_10

8-75

Setting up Simulation Analyses

Running Design Simulation

1. From simulation mode, click Model Selector on the palette menu. The Model Selector dialog box displays to prompt for what design level to initially load models for.

2. Select the desired level and click OK. To save time when loading large designs, load only the top level. Regardless of how many levels you choose to load initially, you can load and display more models as you click on instances in the tree. If you initially load only a portion of the design into the Model Selector, a tree view of the loaded level displays, and the List tab is disabled. Loading only the top level allows the Model Selector to invoke as quickly as possible, and loading the entire design results in the longest invoke time

Note

The Model Selector displays the design instances in a hierarchical tree format as shown in Figure 8-3. Each instance is preceded by a colored icon that indicates the language-type of the model it currently uses as described in Table 8-3.

8-76

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Registration name Language Component name Instance name Language-type icon indicator Top level of the active schematic

Figure 8-3. Model Selector Tree Display

Design Architect-IC Users Manual, v8.9_10

8-77

Setting up Simulation Analyses

Running Design Simulation

Table 8-3. Model Selector Model-Type Icons This icon Yellow oval Gold rectangle Blue oval Blue rectangle Cyan rectangle Gray rectangle Cyan oval Gold plus sign Skeleton Represents this model type Schematic SPICE/EldoSPICE Verilog VHDL VHDL-AMS Nullblock Verilog-A Mixed models HDL-FB, HDL-A, unrecognized, or faulty model language. May not netlist and simulate.

3. Select an instance. The registered models available for use with the selected instance display in the rightmost (Model Browser) window. To display common models between instances, select the desired instances. When multiple instances are selected, the Model Browser displays only those models common to the selected instances. To select multiple instances within the same hierarchy, select the parent item and then select Edit > Select in Tree. This selects all of the instances in the hierarchal tree, excluding the parent items, and displays the common registered models. Select a model from the Model Browser window. The new model is applied to all of the selected instances. To display the schematic instances in a list format, click the List tab. The leftmost window displays the unique design components in a list without showing the relationships that exist between them. Select an instance to display the associated registered models in the Model Browser. Select a model from the Model Browser window. The new model is applied

8-78

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

to all copies of the selected instance, design-wide. The instance displays updated with the selected model. To display updated instances after applying a schematic model, you must apply the model selection, save, and reload the design. For more information, see the Model Selector Limitation section in this chapter.

Note

4. If you need to undo a change, select Edit > Undo Model Change: From the tree view, this undoes each change applied to a selected instance or instances. From the list view, this undoes all changes for the affected instance. 5. Repeat steps 3 and 4 until all the instances are updated with the desired models. 6. Click Apply. The new model(s) are applied to the corresponding instance(s) and the View property is backannotated to the instance(s). The View property is used by EldoNet to select the correct model to output in the netlist. For more information, see the View property in Chapter 3, Using Design Properties, in the EldoNet Users and Reference Manual. or Click Reset to cancel the model selections and revert to the last applied models. Displaying/Editing the Source for a Selected Model Depending on the selected instance, the Model Selector displays a subordinate schematic or the source code for the currently selected model as follows: 1. Select an instance in the Model Selector. For more information, see the Displaying/Selecting Registered Models section in this chapter. 2. Select Edit > Open Instance. If more than one instance is selected, this option is disabled.

Design Architect-IC Users Manual, v8.9_10

8-79

Setting up Simulation Analyses

Running Design Simulation

If the selected instance is primitive, the source code for the currently selected model displays in the default text editor. If the selected instance is a nullblock, nothing displays. A nullblock-type instance has no model or schematic associated with it. If the selected instance has an underlying schematic, the underlying schematic displays in DA-IC. For information on setting up a text editor, see Setting up a Language Model Editor in Chapter 3, Getting Started, of the Design Architect-IC Users Manual.

Note

3. Edit and save the schematic/model as necessary. Displaying/Editing the Source for Registered Models Registered models are valid models available for selection/use with a particular instance. The Model Selector allows you to edit the models registered to a selected instance as follows: 1. Select an instance in the Model Selector. For more information, see the Displaying/Selecting Registered Models section in this chapter. The registered models associated with the instance display in the rightmost window (Model Browser). 2. Double-click on a model displayed in the Model Browser. If the model is a language-type model, the source code for the currently selected model displays in the default text editor. If the model is a nullblock, nothing displays. A nullblock-type instance has no model or schematic associated with it.

8-80

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

If the model is a schematic, the schematic displays in DA-IC. For information on setting up a text editor, see Setting up a Language Model Editor in Chapter 3, Getting Started, of the Design Architect-IC Users Manual.

Note

3. Edit, save, and close the schematic/model as necessary. Crossprobing the Schematic Viewpoint 1. Click the Tree tab. 2. Select an instance in the tree. You can only crossprobe one instance at a time. 3. Select Options > Cross Probe. The selected instance highlights on the active schematic. If the instance is on a lower-lever schematic, the lowerlevel schematic displays with the appropriate instance highlighted. Selecting a Model for All Copies of a Specified Instance Use the following steps to select a model for all copies of a specified instance in the active schematic viewpoint: 1. Click the List tab in the Model Selector. Each unique instance on the active viewpoint displays in a list. 2. Select the instance from the list. Models registered for the selected instance display in the Model Browser. 3. Select the desired model from the Model Browser. The List window updates to display the selected model. At this point, the change is pending. 4. Click Apply to change the model selection for all the copies of the selected instance.

Design Architect-IC Users Manual, v8.9_10

8-81

Setting up Simulation Analyses

Running Design Simulation

Closing the Model Selector Select Model Selector > Quit Model Selector. Model Selector also closes if you exit DA-IC. If models are selected but not applied, you are prompted to save or discard changes. Options include:

Cancel Cancels the close model selector operation and returns you to the
Model Selector.

Discard Discards changes and closes the Model Selector. Apply Applies the changes and closes the Model Selector.
Model Selector Limitation If you apply a schematic model to an instance, the Tree window does not automatically update associated subinstances. Use the following steps to update the Tree window after applying a schematic model: a. Once the model is selected, click Apply. b. Select File > Reload Design. A dialog box displays prompting you to save changes. c. Click Yes to save the design. The design is reloaded, and the Tree window displays the updated schematic models.

Displaying/Editing the Default Registered Model


Use the following steps to display/edit the default model registered to an instance: 1. From simulation mode, select the instance to display/edit models for. 2. Select File > Open Down. The default model displays. The VIEW property specifies the default model. For more information, see View in the EldoNet Users and Reference Manual. If a symbol or schematic model is the default, the associated schematic or symbol displays in DA-IC.

8-82

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

If a language model is the default, the contents of the model file displays in an editor. For information on setting up a specific text editor, see Setting up a Language Model Editor in Chapter 2. If no default model is specified for the instance, the schematic model displays. If no schematic model exists, you are prompted to create one. 3. Edit and save as necessary.

Including SPICE Command Files


Use the following steps to insert references to files containing SPICE command statements in the simulation command file. Up to 12 references can be inserted from DA-IC. 1. From the schematic_sim_palette, select Lib/Temp/Inc > Include Files. The Set Include Paths dialog box displays.

2. Enter the pathname to each file needed for the simulation in the Include Path data fields. To enter more than six Include Path entries, click Entries 7-12.

Design Architect-IC Users Manual, v8.9_10

8-83

Setting up Simulation Analyses

Running Design Simulation

3. Click OK. Each specified Include Path is appended to .INCLUDE command and inserted into the simulation command file. For more information, see .INCLUDE in Chapter 10 of the Eldo Users Manual.

Entering Additional Simulator Commands


Use the following steps to manually specify one or more commands to insert in the simulator command file. For a complete list of simulator commands, see Simulator Commands in the Eldo Users Manual. 1. From the schematic_sim_palette, select Options > Additional. The Set Additional Commands dialog box displays.

2. Enter the desired commands into the text entry field. 3. Click OK. The specified commands are saved to the simulation command file.

Setting Probes
Probes specify which signals are saved to the output file. Use the following steps to set up the probes for the simulation:

8-84

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

1. From the schematic_sim_palette, select Probes/Plots > Probes. The Set Probes dialog box displays.

2. Next to Probe, select the nodes to probe. Options include:


o All Probes all nodes in the active schematic. o Selected Probes the nodes selected on the active schematic. o All Nets Probes all nets in the active schematic. o All Insts Probes all instances in the active schematic.

3. Select a Probe type. Options include:


o Current Probes current. o Voltage Probes voltage.

4. Select an optional Analysis Type to output. One or more options can be selected. The box displays black when the option is enabled. Options include:
o DC DC analysis. o AC AC analysis.

Design Architect-IC Users Manual, v8.9_10

8-85

Setting up Simulation Analyses

Running Design Simulation

o TRAN Transient analysis. o TSST Time domain steady state analysis. For more information, see

Display Commands in Chapter 2 of the Eldo RF Users Manual.


o FSST Frequency domain steady state analysis. For more

information, see Display Commands in Chapter 2 of the Eldo RF Users Manual.


o SSTAC Steady state AC analysis. For more information, see

Display Commands in Chapter 2 of the Eldo RF Users Manual. 5. Select an AC Output type for the waveform output for noise analysis. Refer to the FOUR parameter of the .PROBE statement in the Eldo Users Manual. Options include:
o Default Magnitude in dB. o Real-Imaginary Both real part and imaginary. o DB-Phase Phase. o All All of the above.

6. Click OK. ONE or more .PROBE statements are inserted in the simulator command file. For more information, see .PROBE in Chapter 10 of the Eldo Users Manual.

Plotting Simulation Results


Use the following steps to specify the signals to plot for the waveform viewer: 1. Select the nets, pins, and instances on the active schematic design to plot. To plot the difference between two components, select exactly two components.

8-86

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. From the schematic_sim_palette, select Probes/Plot > Plot Selected. The Set Plots dialog box displays.

3. Select the Plot Type:. Options include:


o Current Plots current for the selected components. o Voltage Plots voltage for the selected components. o Power Plots power for the selected components. o Signal Plots the signal for the selected components.

4. Next to Harmonic:, enter the harmonic to plot for the Modulated SST analysis. 5. Select the Analysis Type: to plot. Options include:
o DC DC analysis. o AC AC analysis.

Design Architect-IC Users Manual, v8.9_10

8-87

Setting up Simulation Analyses

Running Design Simulation

o FOUR Fourier analysis. o TRAN Transient analysis. o TSST Time domain steady state analysis. For more information, see

Display Commands in Chapter 2 of the Eldo RF Users Manual.


o FSST Frequency domain steady state analysis. For more

information, see Display Commands in Chapter 2 of the Eldo RF Users Manual.


o SSTAC Steady state AC analysis. For more information, see

Display Commands in Chapter 2 of the Eldo RF Users Manual.


o FMODSST Time frequency domain steady state analysis. For more

information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual.
o TMODSST Time domain steady state analysis. For more

information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual.
o FOURMODSST Frequency domain steady state analysis. For more

information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual. 6. Select the AC Outputs: to plot. Options include:
o Default Magnitude in dB. o Real Real part. o Imaginary Imaginary part. o Mag Magnitude. o Mag-DB Magnitude in dB. o Mag DBM Magnitude in dB with reference to milliwatts.

8-88

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

o Phase Phase. o Real-Imaginary Both real part and imaginary part. o DB-Phase Phase in dB. o All All of the above.

7. Select the Display FFT Option: to plot. Options include:


o Real Real part. o Imaginary Imaginary part. o Mag Magnitude. o Mag-DB Magnitude in dB. o Phase Phase.

8. Click OK. Depending on the number of components on the schematic and the options selected, one or more .PLOT statements are inserted in the simulator command file. If exactly two components are selected, the Setup Difference Plot dialog box displays allowing you to plot a waveform that represents the difference between the two components.

Design Architect-IC Users Manual, v8.9_10

8-89

Setting up Simulation Analyses

Running Design Simulation

If necessary, Specify how to plot the difference between the selected objects. Options include:
o Individually Plots the signal from each object. o Object1, Object2 Plots the voltage magnitude difference between

the objects on a Smith chart.


o VP(Object1) - VP(Object2) Plots the voltage phase difference

between the objects.


o VDB(Object1) - VDB(Object2) Plots the voltage magnitude

difference between the objects.

8-90

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Click OK. The corresponding .PLOT statement(s) are inserted into the simulation command file. For more information, see .PLOT in Chapter 10 of the Eldo Users Manual.

Deleting Plots and Probes


Use the following steps to delete plot and probe commands from the simulation command file: 1. From the schematic_sim_palette, select Probes/Plots > Delete Plot/Probe. The Delete Probes/Plots dialog box displays.

2. Next to Delete which?, select either Probes, Plots, or Both to delete. 3. Next to Delete all or only selected objects?, select one of the following options:
o All Depending on the option selected in step 2, deletes all probes

and/or plots.
o Selected Depending on the option selected in step 2, deletes plot,

probes, or both from the selected components on the active schematic.


o From List Depending on the option selected in step 2, displays a list

of the plots and/or probes contained in the simulation command file to select from.

Design Architect-IC Users Manual, v8.9_10

8-91

Setting up Simulation Analyses

Running Design Simulation

4. Click OK. The specified .PLOT and .PROBE commands are deleted from the simulation command file. For more information, see .PLOT and .PROBE in Chapter 10 of the Eldo Users Manual.

Displaying the Current Simulation Setups


Use the following steps to display the simulation setups on the active schematic: 1. From the schematic_sim_palette, select Session > Show Settings Block. A block displays attached to the cursor. 2. Move the cursor to a location on the schematic to place the block and click the left mouse button. A block containing the simulation setups for the active schematic displays in the selected location.

Simulation setups

8-92

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

To update the simulation setups, choose Commands > Show from the schematic_sim_palette.
Note

Displaying the Simulation Command File


Use the following step to display the simulation command file: From the schematic_sim_palette, select ASCII Files > View Commands. The simulation command file displays for viewing in a Notepad window. For information on using Notepad, see the Notepad for IC Flow Users and Reference Manual. For information on setting up a specific text editor, see Setting the Default Text Editor in Chapter 2.

Displaying the DCOP Values


You must configure a DCOP analysis and perform a simulation before using this function. For more information, see Setting up a DCOP Analysis in this chapter. Use the following steps to display the DCOP values on the active viewpoint: 1. From the schematic_sim_palette, click DCOP and select one of the following options from the submenu:
o Show Voltages Displays DCOP voltage values on respective pins in

the active viewpoint.


o Show Currents Displays DCOP current values on respective pins in

the active viewpoint. Includes DCOP current values for all subcircuit pins.
o Show All Displays both voltage and current DCOP values on

repective pins on the active viewpoint.

Design Architect-IC Users Manual, v8.9_10

8-93

Setting up Simulation Analyses

Running Design Simulation

If more than one simulation run is available, you are prompted to select a run to get DCOP results from. 2. Click OK. The DCOP values display adjacent to corresponding nets/pins on the active viewpoint in red. Updated DCOP values do not display automatically, you must repeat this procedure to update DCOP values for subsequent simulations.

Hiding the DCOP Values


Use the following step to remove all DCOP values from the active viewpoint: Select DCOP > Hide All from the schematic_sim_palette. All DCOP values are deleted.

Displaying Small Signal DCOP Parameters


Small signal parameters are SPICE model parameters generated during a DCOP analysis and backannotated onto leaf subcircuit pins. You can view the small signal parameter values for selected instances in a report window and/or the transcript window. Use the following steps to display the small signal parameters: 1. Select the instances on the schematic to report associated small signal parameters for.

8-94

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. Select DCOP >Report SS Params from the schematic_sim_palette menu. The Choose Small Signal Params Run dialog box displays.

3. Select a small signal run from the list to get values from. 4. If necessary, select one of the following options:
o Report Displays the small signal parameter values for selected

instances in a report window. Default.


o Transcript Displays the small signal parameter values for selected

instances in the DA-IC transcript window.


o Both Displays the small signal parameters for the selected instances

in both a report window and the DA-IC transcript window.


o Use values from this small signal file until next simulation run

Displays the values from the specified run for all subsequent small signal reports until another simulation is run. 5. Click OK. The small signal parameters display as specified.

Design Architect-IC Users Manual, v8.9_10

8-95

Setting up Simulation Analyses

Running Design Simulation

Reporting DCOP Values for a Selected Object


You must configure DCOP analysis and perform a simulation before you can report DCOP values. For more information, see Setting up a DCOP Analysis in this chapter. You can report DCOP values in the message area by moving the cursor over an object and using F9 as follows:

F9 Reports the DCOP voltage for the net nearest the cursor. Ctrl-F9 Reports the DCOP current for the primitive device, instance, or
subcircuit nearest the cursor.

Press Shift-F9 Reports the DCOP small signal parameters for the
primitive device closest to the cursor. For more information, see the Displaying Small Signal DCOP Parameters section in this chapter.

Using Estimated Pre-layout Parasitic Extractions


In cases where parasitic values for certain nets are known or can be forecasted based on previous design experience, you can simulate your schematic-based analog design using estimated pre-layout parasitic values by using the four procedures in this section:
Creating a Parasitic Element Creating a Symbol for the Parasitic Element Instantiating and Modifying Parasitic Elements Setting Up Simulation for Estimated Parasitics

When you have completed them, you are ready to netlist and re-simulate your design. Creating a Parasitic Element Use the following steps to create a parasitic element schematic in DA-IC: 1. Click Schematic from the palette and enter the name of the schematic sheet on which to create a parasitic element; click OK.

8-96

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. Create a parasitic element schematic, similar to the example figure shown, by doing the following:

a. Click Library > Device Lib > Resistor > Ideal on the palette and place the resistor on the sheet. You can also use a resistor from the MGC Design Kit. For information on the MGC_IC_DEVICE_LIB library, refer to the section Libraries in Appendix D of the Design Architect-IC Users Manual. For more information on design kits, refer to your foundry's website. b. Select Edit > Modify from the menu. The Modify Properties dialog box displays. Select the resistance property, either RESISTANCE or R, and click OK. The Modify Property dialog box displays. Enter RES in the Value field, click Expression in the Type field, and click OK. Specifying expression enables these properties to inherit the values from the symbol associated with the parasitic element schematic. For information on modifying properties, refer to section Using Properties in Chapter 7 of the Design Architect-IC Users Manual. c. Click Library > Device Lib > Capacitor > Ideal on the palette and place the capacitor on the sheet. You can also use a capacitor from the MGC Design Kit.

Design Architect-IC Users Manual, v8.9_10

8-97

Setting up Simulation Analyses

Running Design Simulation

d. Select Edit > Modify from the menu. The Modify Properties dialog box displays listing all of the properties on the selected capacitor. Select the capacitance property, either CAPACITOR or C, and click OK. The Modify Property dialog box displays. Enter CAP in the Value field, click Expression in the Type field, and click OK. e. Click Back > Library > Generic Lib > Ground and place the ground on the sheet. You can also use a ground from the MGC Design Kit. f. Click Port > Portin and place the instance on the sheet. You can also use a port from the MGC Design Kit. g. Position your cursor over the NET property value on the portin and press Shift-F; enter IN into the New Value field of the Change Property Value prompt bar; click OK. h. Click Port > Portout and place the instance on the sheet. i. Position your cursor over the NET property value on the portout and press Shift-F; enter OUT into the New Value field of the Change Property Value prompt bar; click OK. j. Click Back > Edit > Wire on the palette and use the left-mouse button to add wires connecting the instances on the sheet similar to that shown in the example. k. Click Unselect All on the palette. l. Select Add > Frame from the menu to add an IF Frame. The Construct Frame prompt bar displays. i. Specify the frame area by pressing the left-mouse button and drawing a rectangle that encompasses all of the parasitic devices on the schematic except the ports; release the mouse. The Add Frame dialog box displays. ii. Click IF to specify the frame type.

8-98

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

iii. Enter SIMULATION into the Variable field, enter 1 into the Value field, and click OK. m. Click Unselect All on the palette. n. Select Add > Parameter from the menu. The Set Parameter dialog box displays. Enter SIMULATION into the Name field, enter 1 into the Value field, and click OK. Adding this parameter allows the sheet to be checked without generating any errors or warnings. For information on IF frames, refer to section Creating IF Frames in Chapter 3 of the Design Architect-IC Users Manual. 3. Select File > Check Schematic. A report window displays. Correct any errors and re-check until all errors are removed. 4. Select File > Save Sheet Creating a Symbol for the Parasitic Element Use the following steps to create a symbol for the parasitic element schematic from the schematic: 1. Select Miscellaneous > Generate Symbol from the menu. The Generate Symbol dialog box displays. See Figure 8-4.

Design Architect-IC Users Manual, v8.9_10

8-99

Setting up Simulation Analyses

Running Design Simulation

Figure 8-4. Generate Symbol Dialog Box 2. Enter a name into the Component Name field and, (optionally) a symbol name in the Symbol Name field. 3. Click the Edit Symbol button in the Once generated... field. 4. Click OK. The newly-created symbol is opened. 5. Select the symbol body and select Add > Properties from the menu. The Add Multiple Properties dialog box displays.

8-100

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

a. Enter RES in the Property Name field; enter the default amount of resistance for the parasitic element in the corresponding Property Value field. b. Enter CAP in the Property Name field; enter the default amount of capacitance for the parasitic element in the corresponding Property value field. c. Click OK. 6. Select the symbol body again and select Add > Properties from the menu. The Add Multiple Properties dialog box displays again. a. Enter CLASS in the Property Name field. b. Click Expression in the Property Type field. c. Enter the following AMPLE expression format in the Property Value field:
(SIMULATION == 0) ? "C" : ""

In this example, when the condition parameter evaluates to true, the CLASS property evaluates to C; otherwise it evaluates to the null string. d. Click Hidden in the Visibility field. e. Click OK. For more information on specifying expression-type properties, refer to section Using Expressions as Property Values in Chapter 7 of the Design Architect-IC User's Manual. 7. Select File > Check Symbol to check the symbols for errors. A report window displays. Correct any errors and re-check until all errors are removed. 8. Select the File > Save Symbol menu item to save and register the symbol.

Design Architect-IC Users Manual, v8.9_10

8-101

Setting up Simulation Analyses

Running Design Simulation

9. Press the Close Window icon in the upper-left hand corner of the symbol sheet and select Close from the menu to close the symbol sheet. Instantiating and Modifying Parasitic Elements Use the following steps to add the parasitic element to nets on the active schematic: 1. For each net that you want to add an estimated parasitic element to, select Add > Instance from the menu and place the parasitic element on top of the net. For each instantiation, the parasitic element splits the net and inserts the component. For more information on instantiating symbols, refer to section Selecting and Placing Active Symbols in Chapter 3 of the Design Architect-IC Users Manual. 2. For each net, select the net, select Edit > Modify from the menu, and adjust the values of the resistance and capacitance properties on that net to be specific for the net. For more information on modifying properties, refer to section Using Properties in Chapter 7 of the Design Architect-IC Users Manual. Setting Up Simulation for Estimated Parasitics Use the following steps in simulation mode, to set the value of the viewpoint parameter so that it turns on the parasitic elements. 1. Click Edit > Add Parameters in the schematic area. The Add Parameters dialog box displays. 2. Enter SIMULATION into the Name field. 3. Enter 1 into the Value field to turn on all estimated parasitics. Enter 0 into the Value field to turn off all estimated parasitics. 4. Click Expression in the Property Type field. 5. Click OK.

8-102

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Using Post-layout Parasitic Extractions


You can backannotate and resimulate parasitic signals resulting from post-layout parasitic extractions using the following three procedures included in this section.
Registering and Simulating the Entire Parasitic Netlist Connecting Distributed Parasitics Connecting Lumped Parasitics

DA-IC supports Detailed Standard Parasitic Formatted (DSPF) files for parasitic backannotation. A DSPF file, because of its structured format, allows DA-IC to associate a given design-wide net with its parasitic sub-network. xCalibre, IC Extract, and other third-party extraction tools can generate the DSPF file format. Usage Requirements To ensure the parasitic backannotations work properly, you must conform to the following rule:

When generating the DSPF file in IC Extract or xCalibre, you must specify
the option that generates names to match the schematic, not the IC layout. Registering and Simulating the Entire Parasitic Netlist This method is effective if your design is fairly small and if you do not need to debug parasitics on individual nets. However, this method does not allow you to use the original schematic for setting up .PLOT statements for parasitic nets within the instance being simulated and does not allow crossprobing between schematic nets and their associated parasitics. Use the following steps to register and instantiate parasitics on your design: 1. Register the SPICE subcircuit, that contains the layout netlist and parasitic elements generated by an extraction tool, to the symbol whose layout was used for the extraction.

Design Architect-IC Users Manual, v8.9_10

8-103

Setting up Simulation Analyses

Running Design Simulation

For information on how to register the SPICE subcircuit, refer to the section Registering Models for Simulation in Chapter 5 of the Design Architect-IC Users Manual. 2. Modify the model names and device types of the devices in the netlist to match the simulation device types and model names using a text editor. This is needed because extraction tools may generate new types and names. 3. From simulation mode, use the Model Selector to do one of the following:

Switch the simulation model. The Model Selector will automatically


annotate the VIEW property.

Modify the VIEW property value to be: ELDOSPICE=<reg_name>


where reg_name is the name in the Registration field at the bottom of the Model Registrar Create dialog box. For information on how to switch the simulation model, refer to the section Displaying/Selecting Registered Models in Chapter 8 of the Design Architect-IC Users Manual. You are now ready to simulate and view simulation results. Connecting Distributed Parasitics This method is effective for larger layout designs and for debugging parasitics on individual nets. Distributed parasitics consist of a parasitic backannotation object that represents the individual parasitics for each net in an instance. The files are loaded into the design and can be used alternately with other sets of files. Distributed RC re-simulation is useful for timing analyses. Use the following steps to load/connect a distributed parasitic parasitic backannotation object to a net in the active design: 1. From simulation mode, select the net to connect the parasitic parasitic backannotation object to.

8-104

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. Select Parasitics > Connect Distributed. The Connect Distributed Parasitics dialog box displays:

3. Specify to create a new or connect an existing parasitic parasitic backannotation object. A parasitic back annotation object must be connected to, or associated with, the design configuration before individual parasitic sub-networks can be associated with nets. Options include:
o Create New Creates and connects a new parasitic back annotation

object to the design configuration. Default setting.


o Connect Existing Displays a list box of the distributed parasitic

back annotations previously created that can be re-connected. All of the settings associated with that backannotation are restored. 4. Enter a name for the parasitic backannotation object in the Parasitic BA Name field. This name uniquely identifies the backannotation object, or set of annotations, in future operations. 5. Enter the pathname to the DSPF file in the DSPF Path field.

Design Architect-IC Users Manual, v8.9_10

8-105

Setting up Simulation Analyses

Running Design Simulation

6. Select the application used to create the parasitic parasitic backannotation object. If this field is specified incorrectly it will result in incorrect output. Options include:
o IC Extract The DSPF was created using IC Extract. Default setting. o xCalibre The DSPF was created using xCalibre as part of Calibre

Interactive. When this option is used, a name mapping sequence must be used by the program to convert the net names specified in the DSPF to the actual names on the schematic. This is done when a selected net is turned on. 7. If IC Extract is used as the extraction tool, specify an option in the Primitive paths in SPF prepended with element prefix? field. Options include:
o Yes Specifies that the paths for primitive devices in the DSPF file

are named with a primitive prefix appended to the beginning of the name. For example: m_/I$1/I$4. DA-IC needs to know that the primitive prefix m_ is not actually part of the name, but that the actual instance is /I$1/I$4.
o No Specifies no primitive prefixes are used in the parasitic file.

Default setting. Required for ICextract. 8. If IC Extract is used as the extraction tool, specify an option in the Subcircuit names in SPF need to be prepended with X field. Options include:
o Yes Specifies that the hierarchical instance names in the DSPF file

need to be prepended with an X to match the net name with the actual schematic net name. For example: /1/4/OUT becomes /X1/X4/OUT. DA-IC needs to know how to map the net name in the DSPF to the actual schematic net name. In some cases, such as when flat extraction is specified, the default output from IC Extract leaves out the 'X' character for each hierarchical instance name in the DSPF NET statement.

8-106

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

o No Specifies no X pre-pending for hierarchical instance names in the

DSPF file. Default setting. 9. Enter the instance path in the Instance Path field for the instance to connect the parasitics to. This is needed because in simulation context, the design layed out is represented by an instance on the test bench schematic along with stimuli to test the circuit. This instance path is the EDDM hierarchical pathname for the design instance. For example: /I$3. If an instance on the schematic is selected, this field will be pre-filled in with the corresponding instance path. 10. Click OK. The DSPF file is scanned and associated with the specified instance, and a backannotation object is created. The schematic closes and then re-opens. A message displays to indicate the parasitic backannotation object has been connected and individual net parasitics can be turned on using Parasitics > Distributed > Turn Selected On. You are now ready to simulate and view simulation results. Connecting Lumped Parasitics This method also supports the ability to debug parasitics on individual nets and stores parasitic values in a backannotation object. Lumped parasitics consist of single capacitance values for each design-wide net; these are the cumulative values for all capacitors found in the parasitic sub-network for that net. The same DSPF file that is generated by extraction programs for distributed backannotation carries the lumped value for each net in the NET statement for that net (after the net name). When lumped values are backannotated, they are represented as cap_net properties on each net. Use the following steps to associate a DSPF file and to load/connect a lumped parasitic back annotation object to an instance in the active design: 1. From simulation mode, select the instance, representing an instance of the extracted layout design, to connect the parasitics to.

Design Architect-IC Users Manual, v8.9_10

8-107

Setting up Simulation Analyses

Running Design Simulation

2. Select Parasitics > Connect Lumped. The Connect Lumped Parasitics dialog box displays:

3. Specify to create a new or connect an existing parasitic backannotation object. A parasitic back annotation object must be connected to, or associated with, the design configuration before individual parasitic subnetworks can be associated with nets. Options include:
o Create New Creates and connects a new parasitic back annotation

object to the design configuration. Default setting.


o Connect Existing Displays a list box of the lumped parasitic back

annotations previously created that can be re-connected. All of the settings associated with that backannotation are restored. 4. Enter a name for the parasitic backannotation object in the Parasitic BA Name field. This name uniquely identifies the backannotation object, or set of annotations, in future operations. 5. Enter the pathname to the DSPF file in the DSPF Path field.

8-108

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

6. Select the application used to create the parasitic files. If this field is specified incorrectly it will result in incorrect output. Options include:
o IC Extract The DSPF was created using IC Extract. Default setting. o xCalibre The DSPF was created using xCalibre as part of Calibre

Interactive. When this option is used, a name mapping sequence must be used by the program to convert the net names specified in the DSPF to the actual names on the schematic. This is done when a selected net is turned on. 7. If IC Extract is used as the extraction tool, specify an option in the Primitive paths in SPF prepended with element prefix? field. Options include:
o Yes Specifies that the paths for primitive devices in the DSPF file

are named with a primitive prefix appended to the beginning of the name. For example: m_/I$1/I$4. DA-IC needs to know that the primitive prefix m_ is not actually part of the name, but that the actual instance is /I$1/I$4.
o No Specifies no primitive prefixes are used in the parasitic file.

Default setting. Required for IC Extract. 8. If IC Extract is used as the extraction tool, specify an option in the Subcircuit names in SPF need to be pre-pended with X field. Options include:
o Yes Specifies that the hierarchical instance names in the DSPF file

need to be prepended with an X to match the net name with the actual schematic net name. For example: /1/4/OUT becomes /X1/X4/OUT. DA-IC needs to know how to map the net name in the DSPF to the actual schematic net name. In some cases, such as when flat extraction is specified, the default output from IC Extract leaves out the 'X' character for each hierarchical instance name in the DSPF NET statement.
o No Specifies no X pre-pending for hierarchical instance names in the

DSPF file. Default setting.

Design Architect-IC Users Manual, v8.9_10

8-109

Setting up Simulation Analyses

Running Design Simulation

9. Enter the instance path in the Instance Path field for the instance to connect the parasitics to. This is needed because in simulation context, the design layed out is represented by an instance on the test bench schematic along with stimuli to test the circuit. This instance path is the EDDM hierarchical pathname for the design instance. For example: /I$3. If an instance on the schematic is selected, this field will be pre-filled in with the corresponding instance path. 10. Enter the names of the global nets from the design, if any, into the Global Net Names field. The net names must be separated by spaces. This is necessary for DA-IC to understand that the lumped capacitances associated with these nets in the DSPF file are associated with the global nets of the same name on the schematic. 11. Click OK. The DSPF file is scanned and associated with the specified instance, and a backannotation object is created. The schematic closes and then re-opens. A message displays to indicate the parasitic backannotation object has been connected and the cap_net properties have been created. Note, the cap_net properties are invisible. You can see their values by selecting a net and using the Report > Objects > Long menu item. The cap_net value is listed in picofarads units. You are now ready to simulate and view simulation results. Turning On/Off All Distributed Parasitics DA-IC allows you to turn on/off all parasitic backannotations for the active schematic. By default, all parasitics are turned off when loaded into DA-IC. Use the following step to turn on all parasitic backannotations:

From simulation mode, select Parasitics > Distributed > Turn All On. All
the parasitics are activated and display in red on the active design. You can now view the parasitics for an individual net. For information on viewing parasitics on a net, refer to section Viewing Parasitic Elements for Individual Nets in this chapter. Use the following step to turn off all parasitic backannotations:

8-110

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

From simulation mode, select Parasitics > Distributed > Turn All Off.
All the parasitics are deactivated and hidden from view. Turning On/Off Selected Distributed Parasitics DA-IC allows you to turn on/off selected distributed parasitic backannotations. Partially turning off parasitics allows you to focus on debugging the parasitics for an isolated piece of the design. By default, all parasitics are turned off when loaded into DA-IC. Use the following steps to turn on parasitic backannotations for a selected net: 1. From simulation mode, select a net. 2. Select Parasitics > Distributed > Turn Selected On. The parasitic backannotation displays in red next to the selected net indicating it is turned on. You can now view the parasitic for the selected net. For information on viewing parasitics on a net, refer to section Viewing Parasitic Elements for Individual Nets in this chapter. Use the following steps to turn off parasitic backannotations for a selected net: 1. From simulation mode, select a net. 2. Select Parasitics > Distributed > Turn Selected Off. The parasitic backannotation for the selected net is deactivated and hidden from view. Viewing Parasitic Elements for Individual Nets When distributed parasitics are turned on for a net(s), you can view its associated parasitics. Use the following step to view the parasitics for a net: 1. Draw the L stroke (down, then to the right). The L stroke detects the nearest net, checks whether parasitics exist, and displays them in the list area of the Show Parasitic dialog box. If no parasitics are attached to the net, that information is written to the message area. The Show Parasitics dialog box displays the following three types of net information:

Design Architect-IC Users Manual, v8.9_10

8-111

Setting up Simulation Analyses

Running Design Simulation

Interface nets Nets within the parasitic sub-network for the net that connect to the intentional devices in the layout. These are most likely the parasitic nets of interest because they represent the end points of the parasitic sub-network. Internal nets Nets that are internal to the parasitic sub-network and connect the resistors and capacitors of the sub-network. Parasitic elements Nets that represent the parasitic resistors and capacitors that make up the parasitic sub-network. These nets begin with either r or c. You can see the values associated with each element. 2. Click OK to exit the dialog box. Setting Up Plot Statements for Parasitic Nets When distributed parasitics are turned on for a net(s), you can set up the associated parasitic nets for plotting. Use the following steps to plot the associated parasitics subnet waveforms for a selected net (s): 1. Select the parasitic subnet(s) whose waveform you want to crossprobe. 2. Click Probes/Plot > Plot Selected from the palette from the schematic_sim_palette palette. The Set Plots dialog box displays. For more information on these options, see Plotting Simulation Results in this chapter. 3. Click OK. The Select Parasitic Nets dialog box displays allowing you to select the parasitic nets for plotting. The Select Parasitic Nets dialog box displays the selected net name and the parasitic sub-nets that represent that net in the DSPF file. 4. Select one or more parasitic sub-nets whose waveform you want to view. You can use the Ctrl-left mouse button to select single entries or hold down and drag the left mouse button across a group of adjacent nets you want to select.

8-112

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

The nets selected in this step are automatically plotted when the waveform viewer invokes. Post-processing the Extracted Netlist When you load a distributed backannotation object, the netlist found in the Instance section of the DSPF file is used as the netlist of intentional devices in the layout that are to be re-simulated along with the associated parasitics that are turned on. To provide a netlist that can be re-simulated, this netlist must be postprocessed to reinsert simulation model names and original device types that may have changed as a result of the extraction tool. To post-process the netlist to update simulation model names and device types, use the following menu item:

Parasitics > Distributed > Process Extracted Netlist


This command displays the Process Extracted Netlist dialog box that allows you to specify a set of string replaces to occur on the extracted netlist. You should use caution to be sure that the string replaces you specify do not affect net names or other information within the extracted netlist. To view the extracted netlist and make manual changes to it, use the following menu item:

Parasitics > Distributed > Edit Extracted Netlist


Netlisting and Running Simulations with Parasitics Netlisting and running simulations with parasitics involve running the same commands used to netlist/run the original design. Use the following palette commands to netlist and perform simulation: 1. Click Netlist. 2. Click Run Simulator. When you netlist with a distributed parasitic backannotation connected, a series of .CONNECT statements appear at the top of the generated netlist. These

Design Architect-IC Users Manual, v8.9_10

8-113

Setting up Simulation Analyses

Running Design Simulation

.CONNECT statements connect all of the parasitic nets for a given net together, initially. When parasitics for a particular net are turned on, the statements for that net are commented out and the parasitics for that net are then included in the netlist. Crossprobing a Parasitic Net From the Schematic to the Viewer Use the following steps to crossprobe from nets on the DA-IC schematic to their associated parasitic sub-nets on the waveform: 1. Select the net(s) whose waveform you want to view. 2. Click Cross Probe > Voltages - Default. The Select Parasitic Nets dialog box displays. 3. Select from a parasitic net from the list area and click OK. The corresponding parasitic sub-net waveform is highlighted in the waveform viewer. Note, there is no reverse-cross-highlighting from the parasitic subnet waveform in the viewer back to the net in the schematic. Disconnecting Parasitics Use the following steps to disconnect a parasitic backannotation object from the active configuration: 1. Select Parasitics > Disconnect. You are prompted to verify the disconnect parasitics operation.

2. Click OK. The specified parasitic backannotation object is disconnected. Note, when parasitic backannotation objects are disconnected, they still remain on disk and can be re-connected later.

8-114

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Deleting Parasitic Backannotation Objects Both distributed and lumped parasitic backannotation objects can be disconnected from the current configuration and then deleted. Use the following command to delete disconnected backannotation objects:

Click Parasitics > Delete. The Delete Parasitic BA dialog box displays
listing the backannotation objects that have been created to-date.

Select one or more backannotation objects and click OK. Note, if the
backannotation object being deleted is still connected to the current configuration, the schematic window temporarily closes and then re-opens.

Setting up the Netlist


Use the following steps to set up netlisting options for the current design from simulation mode: 1. From the schematic_sim_palette, select Session > Netlister. The Setup SPICE Netlister dialog box displays:

Design Architect-IC Users Manual, v8.9_10

8-115

Setting up Simulation Analyses

Running Design Simulation

2. Select the Output Type. Options include:


o EldoSPICE: Outputs EldoSPICE format. Default setting. o HSPICE: Outputs HSPICE format. o LVS: Outputs LVS (Layout vs. Schematic) format.

3. If necessary, change the Output Names in What Case? setting. This setting determines if output names are in Upper or Lower Case. 4. If necessary, change the Bus Pins Alphabetically? setting. This setting determines if bus pins are listed alphabetically or numerically
o Yes Lists bus pins alphabetically. o No Lists bus pins in numeric order.

8-116

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

5. If necessary, change the Pseudo Bus Pins Alphabetically? setting. This setting determines if pseudo bus pins are listed alphabetically or numerically.
o Yes Lists pseudo bus pins alphabetically. o No Lists pseudo bus pins in numeric order.

6. If necessary, change the Use CDL format? setting. This setting determines t if the netlist contains forward slashes according to CDL syntax. 7. If necessary, change the Force Re-Netlisting? setting. This setting determines when a netlist is generated based on design changes. The following options are available:
o Yes Regardless of design changes, always generates a new netlist

before simulation.
o No Generates a new netlist only if the schematic sheet,

backannotations, or netlist setups have changed. Default setting. 8. If necessary, change the No .include Statement? setting. This setting determines whether to remove .include statement. 9. If necessary, change the Top-Level Cells First? setting. This setting determines whether to list top levels first.
o Yes Netlists top levels first. o No Does not netlist top levels first.

10. If necessary, change the Wrap Netlist in .subckt? setting. This setting determines whether the netlist is wrapped in a subcircuit.
o Yes Wraps netlist in subcircuit. o No Does not wrap netlist in subcircuit.

11. If necessary, change the Use DFI Mode? setting. This setting determines whether EldoNet uses DFI or SVC to produce netlist.

Design Architect-IC Users Manual, v8.9_10

8-117

Setting up Simulation Analyses

Running Design Simulation

o Yes Uses DFI. o No Uses SVC format.

12. If necessary, change the Generate a .subckt for the Top Cell? setting. This setting determines when to generate a .subckt for the top cell.
o Yes Generates a .subckt for the top cell. o No Does not generate a .subckt for the top cell. o If Symbol Exists Generates a .subckt for the top cell if a symbol

exists. 13. If necessary, change the Back Annotated Instances Share Same Subcircuit? setting. This setting determines whether backannotated instances share the same subcircuit.
o Yes Backannotated instances share the same subcircuit. o No Backannotated instances do not share the same subcircuit.

14. If necessary, change the Set Node 0 setting. This setting contains a comma-separated list of nets to connect to node 0. Default is GROUND. 15. If necessary, change the Additional Globals setting. This setting adds a .GLOBAL to the netlist for each global specified. 16. If necessary, change the Input Pin Types setting. This setting redefines the specified pin types to the input pin type. 17. If necessary, change the Output Pin Types setting. This setting redefines the specified pin types to the output pin type. 18. If necessary, change the Inout Pin Types setting. This setting redefines the specified pin types to the inout pin type. 19. If necessary, change the Omit Pin Types setting. This setting redefines the specified pin types to the OMIT pin type.

8-118

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

20. Click OK. The specified settings are saved and become the default settings for netlists generated from simulation mode.

Understanding Analog/Digital Converters


Analog/Digital converters are used for mixed signal design simulation with ADvance MS (ADMS). SPICE converters are built-in Eldo converters internally represented as SPICE subcircuits. VHDL-AMS converters are defined by the user in the VHDL-AMS language and compiled using the ADMS vacom compiler. For more information, see Detailed/non-detailed converters insertion in Chapter 6 of the ADVanceMS Users Manual. You can define default converters and allow ADMS to insert them automatically, or configure and insert them one at a time. For more information on inserting Analog/Digital converters, see the following topics in this chapter:
Defining Default Analog/Digital Converters for Auto-Insertion Editing Default Analog/Digital Converter Parameters Deleting Default Analog/Digital Converters Inserting Analog/Digital Converters on Instances Inserting Analog/Digital Converters on Nets Inserting Analog/Digital Converters on Pins Deleting Analog/Digital Converters Understanding Analog/Digital Converter Properties

Defining Default Analog/Digital Converters for AutoInsertion


Use the following steps to define default converters in the simulation command file. ADMS chooses from these converters when automatically inserting them during simulation.

Design Architect-IC Users Manual, v8.9_10

8-119

Setting up Simulation Analyses

Running Design Simulation

1. With no schematic objects selected, click Mixed Signal > Insert A2D/D2A on the schematic_sim_palette. The Converter-Automatic Insertion dialog box displays.

2. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:

SPICE Specifies a SPICE converter. Next to Converter 1:, select


one of the following options:
o A2D Specifies an analog to digital converter. o D2A Specifies a digital to analog converter.

Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1

8-120

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D

converters and two logical values: 1 and 0 for D2A converters


o Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L,

H, and o real Specifies real or float values o integer Specifies integer values

VHDL-AMS Specifies VHDL-AMS compiled converter. Select a


compiled converter from the list box. 3. Under Setup Parameters, enter the parameter Name and Value to associate with the converter. When you specify a VHDL-AMS converter, you must supply a working VHDL-AMS library that contains parameter values for the converter. To specify a library, select Mixed Signal > Choose ADMS Library from the schematic_sim_palette. For more information, see Chapter 3, Using Design Libraries in the ADVanceMS Users Manual. Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing you to enter more parameters. For more information on parameter values, see Converter model declaration in the ADVance MS Users and Reference Manual. 4. To define a second converter, click Yes next to Specify Second Converter?. Options and data fields for the second converter configuration display. Repeat steps 3, 4, and 5 of this procedure. 5. Click OK. A set of .MODEL and .DEFHOOK commands are written to the simulation command file that represent the default converters. 6. The Converter-Automatic Insertion dialog box displays empty allowing you to continue defining more converters. 7. Define another default converter or click Cancel to quit entering converters.

Design Architect-IC Users Manual, v8.9_10

8-121

Setting up Simulation Analyses

Running Design Simulation

For more information, see Chapter 6, The Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.

Editing Default Analog/Digital Converter Parameters


Use the following steps to edit the parameters defined for default converters in the simulation command file: 1. With no schematic objects selected, click Mixed Signal > Edit Default A2D/D2A on the schematic_sim_palette. The Edit Default Converter Parameters dialog box displays.

2. Select a converter to edit and click OK. The Converter Parameters dialog box displays.

3. Enter, delete, and change the parameters as needed. Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing

8-122

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

you to enter more parameters. For more information on parameter values, see Converter model declaration in the ADVance MS Users and Reference Manual. 4. Click OK. The new parameter values are written to the simulation command file.

Deleting Default Analog/Digital Converters


Use the following steps to delete specified default converters from the simulation command file: 1. With no schematic objects selected, click Mixed Signal > Delete A2D/D2A on the schematic_sim_palette. The Delete Default Converter dialog box displays.

2. Select a converter to delete and click OK. The selected converter is deleted from the simulation command file.

Inserting Analog/Digital Converters on Instances


When you insert a converter on an instance, it applies to all pins owned by the instance. Use the following steps to insert analog to digital (A2D) or digital to analog (D2A) converters on instances:

Design Architect-IC Users Manual, v8.9_10

8-123

Setting up Simulation Analyses

Running Design Simulation

1. Select up to two instances to insert converters on. You must set up the converters in the order that you select them. For example, the first instance selected is the first instance setup in the Insert Converter-Instance dialog box. You can insert up to two converters at a time as long as they both use the same language type. Selected objects can only be instances. 2. From the schematic_sim_palette, select Mixed Signal > Insert A2D/D2A. The Insert Converter-Instance dialog box displays.

3. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:

SPICE Specifies a SPICE converter. Next to Converter 1:, select


one of the following options:
o A2D Specifies an analog to digital converter. o D2A Specifies a digital to analog converter.

8-124

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1 o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D

converters and two logical values: 1 and 0 for D2A converters


o Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L,

H, and o real Specifies real or float values o integer Specifies integer values

VHDL-AMS Specifies VHDL-AMS compiled converter. Select a


compiled converter from the list box. 4. Next to Detailed Conv?, select an option for merging/splitting the digital net at the point of insertion. For more information, see Detailed/non-detailed converters insertion in Chapter 6 of the ADVanceMS Users Manual. Options include:

Yes Splits digital nets. No Merges digital nets.


5. Under Setup Parameters, enter the parameter Name and Value to associate with the converter. When you specify a VHDL-AMS converter, you must supply a working VHDL-AMS library that contains parameter values for the converter. To specify a library, select File > Model registration > Choose ADMS Library from the session window. For more information, see Chapter 3, Using Design Libraries in the ADVanceMS Users Manual.

Design Architect-IC Users Manual, v8.9_10

8-125

Setting up Simulation Analyses

Running Design Simulation

Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing you to enter more parameters. For more information on parameter values, see Explicit insertion of converters in the ADVance MS Users and Reference Manual. 6. To insert a second converter, click Yes next to Specify Second Converter?. The dialog box displays options and data fields for the second converter configuration. Repeat steps 3, 4, and 5 of this procedure. 7. Click OK. The converter(s) is attached to the cursor and the selected instances. 8. Click the mouse near the instance(s) to place the text indicator(s) for the converter(s). The following text indicators are used:

VHDL-AMS converters Inst_<model_name> SPICE converters depending on the type: Inst_A2D or Inst_D2A
For more information, see Chapter 6, The Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.

Inserting Analog/Digital Converters on Nets


Converters cannot be inserted on nets connected to ports, because ADVanceMS only sees the highest level nets. Use the following steps to insert analog to digital or digital to analog converters on nets: 1. Select the nets to insert converters on. You can insert multiple converters on multiple selected nets, but the converters must all be the same. Selected objects can only be nets.

8-126

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. From the schematic_sim_palette, select Mixed Signal > Insert A2D/D2A. The Insert Converter- Net dialog box displays.

3. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:

SPICE Specifies a SPICE converter. Next to Converter 1:, select


one of the following options:
o A2D Specifies an analog to digital converter. o D2A Specifies a digital to analog converter.

Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1 o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D

converters and two logical values: 1 and 0 for D2A converters

Design Architect-IC Users Manual, v8.9_10

8-127

Setting up Simulation Analyses

Running Design Simulation

o Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L,

H, and o real Specifies real or float values o integer Specifies integer values

VHDL-AMS Specifies VHDL-AMS compiled model. Select a


compiled model from the list box. 4. Next to Detailed Conv?, select an option for merging/splitting the digital net at the point of insertion. For more information, see Detailed/non-detailed converters insertion in Chapter 6 of the ADVanceMS Users Manual. Options include:
o Yes Splits digital nets. o No Merges digital nets.

5. Under Setup Parameters, enter the parameter Name and the associated parameter Value to specify the converter behavior. Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing you to enter more parameters. For more information on parameter values, see Explicit insertion of converters in the ADVance MS Users and Reference Manual. 6. Click OK. The converter is attached to the cursor and the selected net. 7. Click the mouse near the net to place the text indicator for the converter. The following text indicators are used:

VHDL-AMS converters Net_<model_name> SPICE converters depending on the type: Net_A2D or Net_D2A
Repeat this step for each selected net.

8-128

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

For more information, see Chapter 6, Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.

Inserting Analog/Digital Converters on Pins


Converters cannot be inserted on pins connected to nets connected to ports, because ADVanceMS only sees the highest level nets. Use the following steps to insert analog to digital or digital to analog converters on pins: 1. Select the pins to insert converters on. You can insert multiple converters on multiple selected pins, but the converters must all be the same. Selected objects can only be pins. 2. From the schematic_sim_palette, select Mixed Signal > Insert A2D/D2A. The Insert Converter-Pin dialog box displays.

3. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:

SPICE Specifies a SPICE converter. Next to Converter 1:, select


one of the following options:

Design Architect-IC Users Manual, v8.9_10

8-129

Setting up Simulation Analyses

Running Design Simulation

o A2D Specifies an analog to digital converter. o D2A Specifies a digital to analog converter.

Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1 o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D

converters and two logical values: 1 and 0 for D2A converters


o Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L,

H, and o real Specifies real or float values o integer Specifies integer values

VHDL-AMS Specifies VHDL-AMS compiled model. Select a


compiled model from the list box. 4. Under Setup Parameters, enter the parameter Name and Value to associate with the converter. When you specify a VHDL-AMS converter, you must supply a working VHDL-AMS library that contains parameter values for the converter. To specify a library, select File > Model registration > Choose ADMS Library from the session window. For more information, see Chapter 3, Using Design Libraries in the ADVanceMS Users Manual. Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing you to enter more parameters. For more information on parameter values, see Explicit insertion of converters in the ADVance MS Users and Reference Manual. 5. Click OK. The converter is attached to the cursor and the selected pin.

8-130

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

6. Click the mouse near the pin to insert the text indicator for the converter. The following text indicators are used:

VHDL-AMS converters Pin_<model_name> SPICE converters depending on the type: Pin_A2D or Pin_D2A
Repeat this step for each selected net. For more information, see Chapter 6, Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.

Deleting Analog/Digital Converters


Use the following steps to delete an analog/digital converter from pins, nets, and instances: 1. Select the pins, nets, and instances to delete the converters from. You can select any combination of objects. 2. From the schematic_sim_palette, select Mixed Signal > Delete A2D/D2A. The converters are deleted from the selected objects.

Understanding Analog/Digital Converter Properties


The property syntax for VHDL-AMS converter properties is described in Table 8-4. Table 8-4. VHDL-AMS Converter Properties Component Property Name Property Value Instance Pin Net DEFHOOK HOOK HOOK [DETAILED] HOOK<design unit> <design unit>[param1=val1 param2=val2 ...] <design unit>[param1=val1 param2=val2 ...]

Design Architect-IC Users Manual, v8.9_10

8-131

Setting up Simulation Analyses

Running Design Simulation

The property syntax for SPICE converter properties is described in Table 8-5. Table 8-5. SPICE Converter Properties Component Instance Pin Net Property Name DEFHOOK A2D/D2A A2D/D2A Property Value [DETAILED] A2D Mode =x01[param1=val1 param2=val2 ...] D2A [DETAILED] Mode =bit [param1=val1 param2=val2 ...] [DETAILED] Mode = std_logic [param1=val1 param2=val2 ...]

Associating an SDF File with an Instance


You can specify Standard Delay Format (SDF) files for digital blocks in mixedsignal designs. SDF files are used by ADVance MS to introduce timing delays associated with digital blocks into a simulation. For more information on SDF files, see Chapter 11, Standard Delay Format (SDF), in the ADVance MS Users Manual. Once an SDF file is associated with an instance, you can change the settings that tell ADVance MS how to interpret/respond to the SDF. Settings include: delay scale, error and/or warning display, and multi-source delay. Use the following steps to associate an SDF file with a digital instance for simulation: 1. From simulation mode, select a digital instance to associate an SDF file with.

8-132

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. From the schematic_sim_palette, select Mixed Signal > Add SDF. The Add SDF to Instance dialog box displays:

3. Enter the pathname to the SDF file in the SDF Path field. 4. If necessary, choose a Delay Selection. Options include:
o Min Selects the minimum timing value from the SDF file. o Max Selects the maximum timing value from the SDF file. o Typ Selects the typical timing value from the SDF file. Default

setting. 5. Click OK. The specified SDF is associated with the selected instance. To view the SDF file and settings, see Displaying SDF File Setups on page 8-133.

Displaying SDF File Setups


SDF file associations display on the schematic with the current simulation setups. Display SDF file associations as follows: 1. From simulation mode, select Session > Show Settings Block from the palette menu. The settings block displays attached to your cursor.

Design Architect-IC Users Manual, v8.9_10

8-133

Setting up Simulation Analyses

Running Design Simulation

Move the mouse to position the settings block, and click the left mouse button to to place it on the schematic. A text block displays the current simulation setups, including the SDF setups, on the schematic.

Deleting SDF File Setups


Use the following steps to delete SDF file associations from the current simulation setups: 1. From simulation mode, select Mixed Signal > Edit SDF from the simulation palette menu. The Edit SDF Paths dialog box displays.

Instances currently associated with SDF files are listed along with the pathname to the associated SDF file.

8-134

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

2. To delete an SDF association from an instance, delete the pathname to the SDF file from the instance. Deleting the first listed association, deletes all SDF associations listed.

!
Caution

Changing SDF File Setups


Use the following steps to change the settings associated with how ADVance MS interprets each SDF file: 1. From the schematic_sim_palette, select Mixed Signal > Edit SDF. The Edit SDF Paths dialog box displays.

2. If necessary, change the Disable SDF warnings setting. The box displays black when option is enabled. Options include:
o Enabled ADVance MS displays no SDF-related warning messages. o Disabled ADVance MS displays all SDF-related warning messages.

Default setting.

Design Architect-IC Users Manual, v8.9_10

8-135

Setting up Simulation Analyses

Running Design Simulation

3. If necessary, change the Reduce SDF errors to warnings setting. The box displays black when option is enabled. Options include:
o Enabled ADVance MS displays all SDF-related errors as warnings. o Disabled ADVance MS displays SDF-related errors. Default setting.

4. If necessary, change the Multi-Source Delay setting. This setting determines how ADVance MS selects from multiple PORT and INTERCONNECT constructs terminated at the same port. Options include:
o Latest Uses the latest value. Default setting. o Min Uses the smallest value. o Max Uses the largest value. o Off No multi-source delay setting is used.

5. If necessary, change the Delay Selection associated with each SDF file. Options include:
o Min Selects the minimum timing value from the SDF file. o Max Selects the maximum timing value from the SDF file. o Typ Selects the typical timing value from the SDF file. Default

setting. 6. Click OK. SDF settings are changed.

Deleting Unused References\Invalid Backannotations


Unused references and invalid backannotations can occur in a configuration if you delete design components or symbols that were once referenced by the viewpoint or delete design objects (nets, pins, instances) that had backannotations associated with them. These unused references and invalid backannotations may cause unexpected results when the design is netlisted.

8-136

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Use the following steps to delete unused references and invalid backannotations from the active design configuration: 1. From simulation mode, select File > Cleanup Unused References to delete any unused design references from the active viewpoint. 2. From simulation mode, select File > Delete Invalid BA Entries to delete invalid backannotations from the active viewpoint. For example: backannotations attached to objects deleted from the design. You can also execute both of these functions from the dialog box that displays as you enter simulation mode. For more information, see the Invoking Simulation Mode section of this chapter. When changes occur as a result of using these options, the configuration is automatically saved.

Checking the Design Before Simulation


Use the following step to check the syntax of the entire design hierarchy with respect to the configuration rules defined in the viewpoint including, mismatched connections, unique names, parameter values, and more. For a detailed listing of the checks, see the Design Checking section in the Design Viewing and Analysis Support for IC Flow Manual. Setup your design for simulation and before you generate a netlist, select one of the following options to check the design:

File > Check Design > Warning/Basic Checks to check the syntax of the
complete design hierarchy and return all warnings and errors.

File > Check Design > Errors Only to check the syntax of the complete
design hierarchy and return only errors. The Design Syntax Messages window displays information, warning, and error messages. You can set up DA-IC to automatically check the design before simulation. For more information, see the Setting up the Simulation Environment section in this chapter.

Design Architect-IC Users Manual, v8.9_10

8-137

Setting up Simulation Analyses

Running Design Simulation

Setting up the Design Check


Use the following steps to specify which set of checks are run, how the design check results are returned, and check the design as specified. The settings are only used for this design check and return to the default settings for all subsequent design checks. 1. From simulation mode, select File > Check Design > Check Options. The Check Design dialog box displays.

2. If neccessary, select a Display in Window option. Options include:


o Yes Displays the results of the check in a new window. Default. o No Disables the check design results window.

3. If neccessary, select a Write to Transcript option. Options include:


o Yes Writes the results of the check in the transcript. Default. o No Disables the transcript of the check results.

4. If neccessary, select a Warning checks option. Options include:


o All Warnings displays all warnings returned. Default.

8-138

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

o Synthesis Subset checks a design created with synthesis tools and

filters out extraneous warning messages.


o No Warnings only returns errors.

5. If neccessary, select a Write to File option. Options include:


o Yes Writes design check results to a specified file. o No Check design results are not written to a file. Default.

6. Click OK. The active design is checked and returns the results as specified. For informaton, see Checking the Design Before Simulation in this chapter. To filter which properties are checked, use the Filter Property Check command with property names and enter the properties to filter. For more information, see $filter_property_check() in the Design Viewpoint Editor-IC Users and Reference Manual. These checks can also be run from Design Viewpoint Editor-IC. For more information, see the Design Checking section in Chapter 2 of the Design Viewpoint Editor-IC Users and Reference Manual. For more information, see $design_check() in the Design Viewpoint Editor-IC Users and Reference Manual.

Generating a Netlist
A current netlist is needed for simulation. The active design is automatically saved before the netlist is generated. Use the following steps to generate a netlist of the active design: 1. From the schematic_sim_palette, select Netlist. The schematic design is automatically saved, and EldoNet is invoked in a transcript window. A transcript window displays the status for the netlist operation. 2. Note any errors reported in the transcript window and press the Return key.

Design Architect-IC Users Manual, v8.9_10

8-139

Setting up Simulation Analyses

Running Design Simulation

3. Correct any errors reported in the transcript window. 4. Repeat step 1, 2, and 3 until the netlist is error free. For information on setting up DA-IC to netlist only when the design changes, see Setting up the Simulation Environment.

Running the Simulation


Before simulation, you must create a netlist. For more information, see Generating a Netlist. By default, the Run option on the schematic_sim_palette generates a netlist and then runs the simulation. For more information, see Setting up the Simulation Environment. Use the following steps to generate a netlist and run a simulation on the active design from the schematic_sim_palette menu: 1. Use the appropriate procedures in this chapter to set up the simulation and the results. 2. From the schematic_sim_palette, select Run Eldo. If the design changed since the last netlist was created, EldoNet is invoked in a terminal window and generates a netlist. The terminal window displays the progress of the netlister. Then, the default simulator is invoked on the active design in a terminal window. The terminal window displays the progress of the simulation. For information on setting up the default simulator, see Setting Up the Default Simulator and Viewer in this chapter. 3. Note any errors reported in the terminal windows and press the Return key to close each window. 4. Correct any errors reported in the terminal windows. 5. Repeat step 2, 3, and 4 until the simulation runs error free. For information on viewing the simulation results, see Viewing Waveforms in this chapter.

8-140

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

Extracting Waveform Measurements


You can insert .DEFWAVE, .EXTRACT, and .DEFMAC statements in the simulation command file to extract waveform information and use it to define other waveforms. Use the following steps to create .DEFWAVE, .EXTRACT, or .DEFMAC statements in the simulation command file from the schematic_sim_palette: 1. From the schematic_sim_palette, select Measurements > Edit. The Edit Measurements dialog box displays. 2. Enter the waveform definitions and/or measurements to extract from the simulation and click OK. A sim.measures file is created and a .INCLUDE command is inserted in the simulation command file. For more information, see .DEFWAVE, .DEFMAC, and .EXTRACT in Chapter 10 of the Eldo Users Manual. Defining an Extract Statement This option allows you to define a statement that extracts waveform information during simulation using predefined functions. These measurements are valid when using Eldo. To define a new extract definition, perform the following steps:

Design Architect-IC Users Manual, v8.9_10

8-141

Setting up Simulation Analyses

Running Design Simulation

1. From the schematic_sim_palette, select Measurements > Define. The Define Extract dialog box displays.

2. Enter the name of the function to define into the Function field. Click the Menu button in the Function area to display a list of the available functions; a short description of each listed function is available by clicking one of the Help buttons located to the right of the Menu button. 3. Click one of the buttons in the Measure field to specify the characteristic that you want the extract statement to measure. 4. Click one of the buttons in the Format field to specify the format of the measured output. Default means that the characteristic is output exactly as specified (this is primarily for AC analysis). 5. Enter a label in the Label field. When the measurement is output to either an ASCII file or a waveform viewer, the measurement is labeled with the string entered in this field. If a value is not provided, Eldo assigns a default string.

8-142

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Setting up Simulation Analyses

6. Enter a simulation type into the Analysis field. This specifies the type of simulation analysis set when the measurement is taken. Click the Menu button in the Analysis field to display the list of available types; a description of each listed type is available by clicking the Help button in the Analysis field. 7. Specify any additional options in the Option field. You can specify unlimited options for the extract statement. 8. Click OK. A .EXTRACT statement is saved to the sim.measure file in the viewpoint directory, and a .INCLUDE statement is added to the simulation command file. For more information, see the .EXTRACT section in Chapter 10, Simulator Commands, of the Eldo User's Manual. Defining a RF Extract Statement This option allows you to define a statement that extracts RF measurements. These measurements are valid when using the RF extensions to Eldo. To define an RF extract definition, perform the following steps: 1. From simulation mode, select one or more instances, nets, or pins in the schematic to define a measurement for. 2. Select Measurements > Define RF from the palette. The Define RF Extract dialog box displays. The following computations may be defined:

total harmonic distortion (THD) power efficiency (PE) power-added efficiency (PAE) Gain 3rd order intermodulation (IM3, IM5, and IM7) 3rd order intercept point (IP3) 1 db compression point

Design Architect-IC Users Manual, v8.9_10

8-143

Setting up Simulation Analyses

Running Design Simulation

3. Specify the computation to define by clicking one of the buttons in the Extract field, and complete the associated fields that display with each option. You can click on the Help button to display a short description of the measurement returned by each available computation option. 4. Click OK. A .EXTRACT statement is saved to the sim.measure file in the viewpoint directory, and a .INCLUDE statement is added to the simulation command file. For more information, see the Extract Command section of Chapter 2, Command Syntax, in the Eldo RF Users Manual.

Exiting Simulation Mode


Use the following step to exit simulation mode, close the viewpoint, and open the active design in the schematic editor: Click End Sim on the schematic_sim_palette menu. The schematic_edit palette menu displays.

8-144

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Viewing Waveforms

Viewing Waveforms
From the simulation mode in DA-IC, you can set up and invoke the following waveform viewers:

Xelga
Displays waveforms from analog, digital, RF, and mixed-signal design simulations performed by Eldo, Eldo RF, HSPICE, and ADVanceMS. For more information, see About Xelga in this chapter.

Design Architect-IC View (DA-IC View)


Displays waveforms from analog, digital, RF, and mixed-signal design simulations performed by Eldo or HSPICE. For more information, see About Design Architect-IC View (DA-IC View) in this chapter.

EZwave
Displays waveforms from analog, digital, and mixed-signal design simulations performed by Eldo and ADVanceMS. For more information, see About EZwave in this chapter.

About Xelga
Xelga is an interactive waveform viewer invoked from the simulation palette in DA-IC. The viewer allows you to display the following waveform types:

.wdb, .cou, .dou, .ext. and .aex Various waveform output formats
available from Eldo and ADVanceMS. Xelga reads a simulation results database named JWDB (Java Waveform Database) which is the default output database for AdvanceMS. For more information, see JWDB database format section in the Xelga Users Manual. This section describes how to set up and use Xelga from the DA-IC interface. For more information on using the Xelga viewer, see the Xelga Users Manual.

Design Architect-IC Users Manual, v8.9_10

8-145

Viewing Waveforms

Running Design Simulation

Invoking Xelga
To invoke Xelga, your ANACAD environment variable must point to the location of the Xelga application. To use Xelga, it must be set up as the default waveform viewer before the simulation is run. Use the following steps to invoke Xelga and display waveforms from the schematic_sim_palette: 1. Set up Xelga as the default waveform viewer. For more information, see Setting Up the Default Simulator and Viewer in this chapter. 2. Set up and run the simulation for the active schematic. If you change the viewer, you must re-run the simulation to output the correct waveform format for the viewer. 3. From the schematic_sim_palette, select View Waves. Xelga opens and displays the waveforms generated for the active schematic.

Crossprobing Schematics with Xelga


Xelga allows the bidirectional crossprobing of design components in DA-IC. For example: You can highlight a component of the active schematic in DA-IC, and the viewer displays the corresponding waveform. OR

8-146

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Viewing Waveforms

You can select a waveform in the viewer and DA-IC highlights the associated component in the active schematic. You can only crossprobe primary nets. For example, a net named 'OUT' on the top level schematic is connected to an instance pin called 'INSTOUT' that maps to a net called 'INSTOUT' on its underlying schematic. You can crossprobe the net 'OUT' at the top level, but you cannot crossprobe the net 'INSTOUT' in the lower level schematic.

Note

After you run a simulation on a schematic, use the following steps to crossprobe the schematic: 1. From the schematic_sim_palette, select View Waves. 2. Select one or more pins/nets on the schematic to crossprobe.

Design Architect-IC Users Manual, v8.9_10

8-147

Viewing Waveforms

Running Design Simulation

3. From the schematic_sim_palette, select Cross Probe. The following menu displays.

4. Select the type of waveform to display. For more information, see $da_ic_crossprobe() in the Design Architect-IC Reference Manual. The following prompt bar displays.

Hold the left mouse button down and draw a rectangle around the component to crossprobe on the schematic. The corresponding waveform is highlighted in Xelga.

8-148

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Viewing Waveforms

If you select one of the six Diff options on the bottom of the submenu, two pins/nets must be selected. The Setup Difference Probe dialog box displays.

Select an order for the difference to be evaluated and click OK. A negative or positive value is determined by the selection order. By default, the value of the second-selected net/pin is subtracted from the value of the firstselected net/pin. The waveform viewer displays/highlights a waveform representing the difference between the two components. 5. Select a waveform in Xelga. The corresponding component is highlighted in DA-IC.

Closing Xelga
Use the following steps to close Xelga: Select File > Exit. Xelga closes. DA-IC and the current viewpoint are active

About Design Architect-IC View (DA-IC View)


DA-IC View is an interactive waveform viewer invoked from the schematic_sim_palette in DA-IC. The viewer allows you to display analog, digital, RF and mixed-signal waveforms from waveform database .wdb files created during simulation.

Design Architect-IC Users Manual, v8.9_10

8-149

Viewing Waveforms

Running Design Simulation

For information on viewing and manipulating waveform data, see the Design Architect-IC View Users and Reference Manual.

Invoking DA-IC View


Use the following steps to invoke DA-IC View and display waveforms from the schematic_sim_palette: 1. Set up DA-IC View as the default waveform viewer. For more information, see Setting Up the Default Simulator and Viewer in this chapter. 2. Set up and run the simulation for the active schematic. 3. From the schematic_sim_palette, select View Waves. DA-IC View opens and displays the results from the latest simulation in a waveform database window and in a Chart window. The waveform database and Chart windows contain waveforms specified with the .PLOT command in the simulation command file. For more information on setting up .PLOT commands, see Plotting Simulation Results in this chapter. If DA-IC View does not respond, see No Response from DA-IC View in Chapter 10.

Crossprobing Schematics with DA-IC View


DA-IC View allows the bidirectional crossprobing of design components in DAIC. For example: You can highlight a component of the active schematic in DA-IC, and the viewer displays the corresponding waveform. OR You can select a waveform in the viewer and DA-IC highlights the associated component in the active schematic.

8-150

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Viewing Waveforms

After you set up and run a simulation on a schematic, use the following steps to crossprobe the schematic: 1. From the schematic_sim_palette, select View Waves. 2. From the schematic_sim_palette, select Cross Probe and choose a signal type from the submenu to probe.

For more information, see $da_ic_crossprobe() in the Design Architect-IC Reference Manual. The crossprobe prompt bar displays.

3. Hold the left mouse button down and draw a rectangle around the net to crossprobe on the schematic. The corresponding waveform displays in a Chart window of the viewer. If the corresponding waveform is already displayed in the Chart window, it is highlighted.

Design Architect-IC Users Manual, v8.9_10

8-151

Viewing Waveforms

Running Design Simulation

If you select one of the six Diff options on the bottom of the submenu, two pins/nets must be selected. The Setup Difference Probe dialog box displays.

Select an order for the difference to be evaluated and click OK. A negative or positive value is determined by the selection order. By default, the value of the second-selected net/pin is subtracted from the value of the firstselected net/pin. The waveform viewer displays/highlights a waveform representing the difference between the two components. 4. Click on a waveform in the Chart or Waveform Database window of the viewer to select it. You can select multiple waveforms. 5. Select DA-IC Highlight from the Chart or Waveform Database popup menu. The nets associated with the selected waveforms are highlighted on the schematic. Highlighted nets on the schematic continue to accumulate until you deselect them in DA-IC. For more information on using DA-IC View, see the Design Architect-IC View Users And Reference Manual.

Closing DA-IC View


Use the following steps to close DA-IC View: Select MGC > Exit. DA-IC View exits. DA-IC and the current viewpoint are active.

8-152

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Viewing Waveforms

About EZwave
EZwave is an interactive waveform viewer invoked from the simulation palette in DA-IC. In the DA-IC environment, EZwave provides the following capabilities:

Ability to crossprobe low-level design nets and have the low-level name
preserved within the viewer.

Multiple analysis simulations display the results for each analysis type in its
own folder.

Multiple run simulations, which can create a large number of waveforms


for each design signal, display within the viewer with a single waveform name.

Multiple run simulations generate individual waveforms for each .PLOT


statement in the commands file; they display the group of all waveforms associated with a given .PLOT statement as a single unique waveform name in the viewer.

Invoking EZwave
Use the following steps to invoke EZwave and display waveforms from the schematic_sim_palette: 1. Set up EZwave as the default waveform viewer. For more information, see Setting Up the Default Simulator and Viewer in this chapter. 2. Set up and run the simulation for the active schematic.

Design Architect-IC Users Manual, v8.9_10

8-153

Viewing Waveforms

Running Design Simulation

3. From the schematic_sim_palette, click View Waves on the palette and select one of the submenu items or just click View Waves to execute the New Window menu item.

The following viewing options are available on the submenu:

New Window Opens a new Graph window in EZwave and plots the
entire set of waveforms identified in the .cir file.

Overlay If there is a database from a previous simulation already


opened and it has at least one waveform plotted, plots the new result waveforms together with the previously existing ones on the same axes and waveform rows. Note, this option is only enabled if EZwave is already invoked and connected to DA-IC.

Select HSPICE Results Displays a list of the available waveform


files. Select a file, and then use the New Window or Overlay menu options to plot the waveform file. Note, this option is only available on the View Waves submenu when the HSPICE simulator is specified as your Simulator and the most recent simulation created multiple result files EZwave opens and displays the waveform results from the latest simulation in a Graph window. For more information on setting up .PLOT commands, see Plotting Simulation Results in this chapter. If multiple run simulation analysis options (sweeps, Monte Carlo, etc.) were specified, those waveforms are represented in the Waveform List Panel by a single waveform icon and a + sign. You can access individual waveforms within that wavform group by clicking the '+' sign to expand the list to show the individual waveform names. For example, V(INP) expands to show the individual waveforms V(INP)_1, V(INP)_2, ..., V(INP)_N.

8-154

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Viewing Waveforms

Crossprobing Schematics with EZwave


After you set up and run a simulation on a schematic, use the following two sections to crossprobe between DA-IC and the EZwave viewer. Crossprobing from DA-IC to EZwave After you set up and run a simulation on a schematic, use the following steps to crossprobe from DA-IC to EZwave: 1. From the schematic_sim_palette, select View Waves > New Window. The EZwave application displays in a separate window. You can reposition DA-IC and EZwave on the screen so that both can be viewed at the same time. 2. Select a net on the schematic. You can select two nets if you want to generate and view a differential signal that is, view a waveform of their difference.

Design Architect-IC Users Manual, v8.9_10

8-155

Viewing Waveforms

Running Design Simulation

3. From the schematic_sim_palette, click Cross Probe and choose a signal type from the submenu to probe.

If you select one of the six Difference options on the bottom of the
submenu, two pins/nets must be selected in step 2. When the Setup Difference Probe dialog box displays, select an order for the difference to be evaluated and click OK.

8-156

Design Architect-IC Users Manual, v8.9_10

Running Design Simulation

Viewing Waveforms

A negative or positive value is determined by the selection order. By default, the value of the second-selected net/pin is subtracted from the value of the first-selected net/pin. The waveform viewer displays/highlights a waveform in the Graph window of the viewer representing the difference between the two components.

If you choose any of the other eleven signal choices, the corresponding
waveform displays in the active Graph window of the viewer without prompting for a selection order.

Design Architect-IC Users Manual, v8.9_10

8-157

Viewing Waveforms

Running Design Simulation

Crossprobing from EZwave to DA-IC To crossprobe from EZwave to DA-IC, perform the following steps: 1. Click on a waveform name listed in the Waveform Name Panel of the viewer, located by default on the right side of the Graph window, to select it. You can select multiple waveform names. 2. Click the Waveforms cross selection icon from the EZwave toolbar.

The nets associated with the selected waveform names are highlighted on the DA-IC schematic. Highlighted nets on the schematic continue to accumulate until you deselect them in DA-IC For information on using EZwave, click the Help button in the upper righthand corner of the application to display the Online Help options.

Closing EZwave
Use the following step to close the EZwave viewer: 1. Select File > Exit from the EZwave menu. EZwave closes. DA-IC and the current viewpoint are active.

8-158

Design Architect-IC Users Manual, v8.9_10

Chapter 9 Managing Designs

This in provides information and procedures for managing schematic designs in Design Architect-IC (DA-IC). The following topics are available:
Design Management Overview Component Window Component Hierarchy Window Viewing Design Hierarchy Renaming a Component Changing Component References Releasing Designs Version Operations Design Verification Reference and Object Checking Configuration Build Application Invocation Updating Parts on all Schematics in a Design Reporting on Objects Reporting on Component Interfaces Reporting on Schematic and Symbol Objects Reporting on Object Status

Design Architect-IC Users Manual, v8.9_10

9-1

Design Management Overview

Managing Designs

Design Management Overview


You can copy, move, resize, group, delete, and release design objects with Design Manager-IC or within DA-IC. For complete information about these topics, refer to the Design Manager -IC User's Manual. Do not edit attribute files. Editing an attribute file directly can ! corrupt the associated design object. Use the Design Manager-IC Caution or or use the design management tools provided on the MGC > Design Management pulldown menu in DA-IC to edit ALL design references. These tools automatically update the attribute files for you. You can manage schematic designs with the Design Manager-IC or use the following design management tools provided on the MGC > Design Management pulldown menu in DA-IC:

Copy Object Move Object Delete Object Change References Component Window allows you to view or edit detailed information about
a component.

Component Hierarchy window allows you to view design configuration and


component information without having to exit the application.

Component Window
The Component Window allows you to view or edit detailed information about a component. Some of the things you can do in the Component Window are:

List the Part Interfaces for models, labels, pins, pin properties, and body
properties for a given component.

9-2

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Design Management Overview

Register and unregister component models. Add/delete or edit labels for a component. Show all objects contained by the component, and optionally filter out
objects depending on type. Click MGC > Design Management > Open Component Window pulldown menu or the session window palette. A window appears that is divided into four distinct information list areas, and each list area has a separate popup menu. The four list areas are:

Component Information
Displays an indented list of the component and its contents. Icons next to items indicate the object type. Multiple components can be shown at one time. Use the setup form to filter the types you want to view.

Models
Displays all registered models for each part interface selected in the component list area. Labels are shown indented underneath the model name. Models are distinguished for a given component by the gray header bar.

Pins
Displays pin names and properties for each selected part interface.

Body Properties
Displays the body property name and value for each selected part interface. Figure 9-1 shows the initial display of the Component window. The following restrictions apply to the Component Window in Design Architect:

If you are editing a symbol in a Symbol Editor window, you cannot make
model registration or label changes to the component that contains the symbol in the Component Window.

Design Architect-IC Users Manual, v8.9_10

9-3

Design Management Overview

Managing Designs

You cannot select a symbol or schematic model listed in the Component


Window to open the symbol or sheet.

You cannot change the component displayed in the Component Window


from the Design Architect Active Symbol window.

If you modify a component in the Component Window, sheets in the


component are not automatically updated to display the change.
Component Window Component Information
C

Registered Model Info


my_dff [$TRAINING/danwp/card_reader/my_dff] Graphical Models $TRAINING/danwp/card_reader/my_dff/my_dff $TRAINING/danwp/card_reader/my_dff/ANSI default_sym Functional Models $TRAINING/danwp/card_reader/my_dff/schematic schematic $schematic default $TRAINING/danwp/card_reader/my_dff/schematic2 schematic2 $schematic2

$TRAINING/danwp/my_df my_dff (Default) ANSI my_dff part schematic schem_id sheet1 schemaitc2 schem_id sheet1

Pins
my_dff [$TRAINING/danwp/card_reader/my_dff] D CLK PRE CLR Q QB

Body Properties
my_dff [$TRAINING/danwp/card_reader/my_dff] qfall = 0 qbfall = 0 qrise = 0 qbrise = 0 model = schematic

Figure 9-1. Component Window

9-4

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Design Management Overview

Component Hierarchy Window


The Component Hierarchy Window allows you to view design configuration and component information without having to exit the application. It also allows you to:

Display a component hierarchy in the context of a specific viewpoint. Display design hierarchies that are not dependent on viewpoints. Display instance information for a given component. Display the path to a single instance. Display the hierarchy as an indented list or a graphical tree. Probe other applications. Display the value of a specified property, rather than the instance name next
to component, in the hierarchy listing. Because you look at a physical or logical hierarchy listing, rather than a file system, you get information concerning the instances names, property values, object designations, and model information.

Viewing Design Hierarchy


You can view the hierarchy of your design by performing the following steps: 1. Choose the MGC > Design Management > Open Hierarchy Window > Specify menu item. The Open Hierarchy Window dialog box displays. 2. Enter the pathname of the component whose hierarchy you want displayed, or use the navigator button to bring up the dialog navigator to find the component. 3. Click OK when you have completed the form. The hierarchy is displayed in an IDW Hierarchy window.

Design Architect-IC Users Manual, v8.9_10

9-5

Design Management Overview

Managing Designs

4. Select a component in the IDW Hierarchy window by clicking the left mouse button on the component name. 5. Press the right mouse button in the IDW Hierarchy window to display the associated popup menu.The Hierarchy Window uses the mgc_component as the standard starting point for showing design hierarchy. Figure 9-2 shows the Hierarchy window.
Component Hierarchy Window Current Component: $TRAINING/danwp/card_reader/add_convert add_convert (schm:schematic) rip (primitive) ground (primitive) 74259 (primitive) vcc (primitive) res.alt (primitive) portin (primitive) inv (primitive) and2 (primitive) portout (primitive) 74ls161a (primitive) my_dff (schm:schematic) latch (primitive) inv (primitive) buf (primitive) portin (primitive) portout (primitive)

Figure 9-2. Hierarchy Window The following restrictions apply to the Hierarchy Window in DA-IC:

Cross-highlighting between open Schematic Editor Windows and the


Hierarchy Window is not supported.

When instances are added or deleted in a Schematic Editor Window, the


changes are not reflected in a Hierarchy window, until you reopen the design.

9-6

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Design Management Overview

Renaming a Component
Renaming a component renames the file set (all objects that are of the same file set) that is selected, and then changes references within the file set (container) hierarchy to reflect the change. External design object references that point to objects in the renamed container are not updated. These references will need to be updated. When you change the name of the component container, the Design Manager only changes the objects at this level in the hierarchy. Examine Figure 9-3.
Changing the name here does not change the name here 74ls74 symbol part

74ls74

Figure 9-3. Renaming a Component Containing a Symbol For the typical component, the symbol name is the same as the component name. If you change the name of the component in the Design Manager, the symbol name remains the same. The Design Manager updates the component interface to reflect the new path, so that when the component is requested in an application, the references are preserved. For general information about renaming a component, refer to Renaming a Design Object in the Design Manager-IC User's Manual.

Changing Component References


In the Design Manager, you can change or delete the references that you previously created in the Design Manager or in an application. After you move or delete a design object, or if a design object has unresolved references, use the MGC > Design Management > Change References menu item to fix broken references. This displays a dialog box in which you specify a new reference target path. You can enter multiple reference changes at one time.

Design Architect-IC Users Manual, v8.9_10

9-7

Design Management Overview

Managing Designs

The Design Manager environment does support operating system relative pathnames, such as . and ... Although the Change Object References command allows you to change a reference to any string, you should always specify a path that begins with / or a $ (such as $MGC_GENLIB) in order to provide soft pathname and location map compatibility. For general information about changing design or library component references, refer to Working with References in the Design Manager-IC User's Manual.

Releasing Designs
A released design is a protected copy of a design object, or objects defined in a configuration object. When you release a design, you are only releasing a single version. If the original design object is at version number 8, the released design object becomes version number 1. Containment relationships are preserved, and references are automatically updated to reflect the new location. Important record-keeping information is stored in the copied configuration object. The Protect property is added to these design objects, and you are not allowed to modify a released design. If you need to edit released data, use one of the following options:

Edit the original design and release it again using the same configuration.
Only the files that have changed since the original release will be merged. If the original design has significantly evolved, this may not be possible.

Copy the released design to a new location. This copy is not protected.
Make changes to the copy, then release it. For general information about setting up a configuration object and releasing a design or library component, refer to Managing Designs in the Design Manager-IC User's Manual. For more information about releasing a design, refer to Releasing a Configuration in the Design Manager-IC User's Manual.

9-8

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Design Verification

Version Operations
Idea Station applications normally maintain two versions of a design object. For large designs, retaining two versions can consume large amounts of disk storage. Changing the version depth does not immediately remove excess versions; it only prunes versions when the next version manager operation occurs. The next Design Manager or application write that occurs will update versions using the version manager. For general information about working with design or library component versions, refer to Working with Versions in the Design Manager-IC User's Manual.

Design Verification
The following topics list several methods for verifying the accuracy of a design object manipulation. When referencing a design object, if you provide a relative pathname that does not begin with the dollar sign ($) character, that relative pathname will be converted to an absolute pathname, based on the value of the environment variable MGC_WD. You must ensure that the value of MGC_WD is set to the correct value for your current working directory. If is not set properly, an incorrect pathname for the reference may be stored.

Reference and Object Checking


Compare references before and after a Design Manager-IC operation. The following discussion describes the process to ensure that DA-IC manipulated the references correctly: 1. Activate a navigator window in the Design Manager-IC. Use the navigator buttons to move to the directory that contains the component container that you will manipulate through some Design Manager-IC operation. 2. Click on the specified component container. Click the Explore Contents (down arrow) button to display the contents of the selected container. You

Design Architect-IC Users Manual, v8.9_10

9-9

Design Verification

Managing Designs

see the model icons associated with the component, in addition to the part icon. 3. Select all the icons at that level by depressing the mouse button, dragging it so all icons are within the specified selection area, then release it. 4. Choose Report > Show References > For Object from the pulldown menu. A report window for each selected object displays containing the current references of each object. 5. Click on the schematic model icon. Click the Explore Contents button to view the sheet icons associated with the schematic. 6. Select all the sheets. Choose Report > Show References > For Design from the pulldown menu bar. A report window for each selected sheet displays, containing the current references of each object. 7. When you have completed the Design Manager-IC operation on the specified object, check the references of the manipulated object at all levels to verify that the manipulation was successful. This method of verification is recommended when you have a relatively small design that is completely self-contained. If you have a design that references external objects, this method can quickly become time-consuming. In that case, use the configuration build method described in the Configuration Build section of this chapter.

Configuration Build
For some scenarios, such as copy and move, creating a configuration from the results and doing a build can check that all the references can be resolved. This method of verification is recommended when you have a relatively large design that is either self-contained and/or references external objects. To do a configuration build, perform the following steps: 1. Activate a navigator in the Design Manager-IC.

9-10

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Design Verification

2. Use the navigator buttons to move to the directory that contains the toplevel design container that you manipulated through some Design Manager-IC operation. 3. Open a configuration window by clicking on the CONFIG icon in the Navigator palette. A new Untitled Configuration window appears. 4. Click on the design container and drag it into the new configuration window. 5. Choose Configuration > Build from the Configuration windows popup menu. The build operation begins with the primary entry, traverses its contents and its references, and adds secondary entries to the configuration. When the build is complete, the configuration window displays the pathnames of all primary and secondary entries, and the pathnames to all the references associated with the entries.

Application Invocation
The simplest method of verifying that a design has been manipulated correctly is to invoke the appropriate application on the manipulated design.

If you have manipulated a design that contains symbol and schematic


models, invoke DA-IC on that design.

If you have manipulated a design that contains design viewpoints, invoke


DVE-IC on that design.

If you have manipulated a design that contains symbol and schematic


models and also contains design viewpoints, invoke both DA-IC and DVE-IC on the design. This is not a bullet-proof check. A design copy could still contain references to the original. If the original is available, the invocation ! Caution on the copy appears to work. However, when the original is moved or deleted, the copy will not run. Therefore, a visual reference check is good insurance.

Design Architect-IC Users Manual, v8.9_10

9-11

Updating Parts on all Schematics in a Design

Managing Designs

Updating Parts on all Schematics in a Design


When you install a new parts library, you may want to update all instances of parts on all sheets in a design. Perform the following steps to update an entire design: 1. Choose the File > Update All Schematics item from the main menu bar. The Update All Schematics dialog box appears. 2. Enter the pathname to the top-level sheet in the design in the Top Level Component Name field. 3. Click one of the Update Type buttons to specify how instances should be updated when the sheet is opened. The following list describes the update action for each button:

Auto: Instance-only and Value_Modified properties are not changed;


new properties on the current symbol are added to the instance.

Clear: Instance-only properties are deleted; all other properties are


reset to the current symbol values.

Noupdate: Out-of-date instances are not updated when the sheet is


opened. 4. If desired, restrict the sheets that are updated. The following list describes the methods for restricting the update:

Enter a level at which to stop updating sheets at the hierarchy in the


Stop Level field. The default value of zero updates the entire hierarchy.

Enter a series of strings in the Filter fields. If the reference pathname to


a sheet in the hierarchy contains one of the strings, the sheet is not updated.

Choose the Yes button beneath Preview. This causes a second dialog
box to appear after you execute the current dialog box. A list of all

9-12

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Reporting on Objects

sheets that met the criteria specified in the Stop Level and Filter fields is displayed. You then select sheets from the list to be updated. 5. Click the OK button to update the sheets.

Reporting on Objects
The following topics include procedures for reporting on various schematic objects.

Reporting on Component Interfaces


To list all models, labels, and component interfaces for any design, perform the following steps: 1. Activate the Session window by clicking the mouse button in the session window. 2. Execute the File > Open > Component Interface menu item. The Open Component Window dialog box displays. 3. Click OK. The contents of the Component Report displays as in Figure 9-4.

Figure 9-4. Report Interfaces Example

Design Architect-IC Users Manual, v8.9_10

9-13

Reporting on Objects

Managing Designs

To list all models, pins, and body properties in a design, perform the following steps: 1. Activate the Session window by clicking the left mouse button in the Session window. 2. Execute the File > Open > Component Interface menu item. The Open Component Window dialog box displays. 3. Select the Options... button. The Open Component Window Options dialog box displays. a. Enable the Model, Pin, or Properties buttons as desired. b. Click OK to close the Options menu. 4. Click OK. The Component Window displays with detailed Mode, Pin, and Model Properties information displayed. See Figure 9-5.

Figure 9-5. Component Window Transcript

9-14

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Reporting on Objects

Reporting on Schematic and Symbol Objects


To list all schematic and symbol object information for selected objects on a symbol or schematic sheet, perform the following steps: 1. Select the objects for which you want to gather information. 2. Execute the Report > Selected Object menu item. This menu item reports information for all selected objects. By default, the report generated is directed to a DA-IC window; it can also be sent to a file. Refer to the Report Object command in the Design Architect-IC Reference Manual for information reported about each object. To list information for specified object types on a symbol or schematic sheet, perform the following steps: 1. Select the objects for which you want to obtain information. Instead of selecting objects, you can type the handle names of the objects in the Report Object dialog box. 2. Execute the Report > Specified Object menu item. The Report Object dialog box appears. 3. Click the left mouse button on the buttons corresponding to the objects for which you want information. More than one object type may be selected. By default, the Report generated is directed to a DA-IC window, and to a file named da_report_file in your current directory. When listing property information, if you have selected the object that owns the property, you must ask for a report about both the object and the attached properties. 4. Click OK when object type selection is complete. Figure 9-6 illustrates the type of information found on a report of a schematic sheet when instance, net, pin, and property text attribute object types are specified. Property attributes listed in report windows may include -Not Visible and -Hidden. If both of these are listed, the property was hidden when added, and the property visibility has not been changed.

Design Architect-IC Users Manual, v8.9_10

9-15

Reporting on Objects

Managing Designs

If -Hidden is listed without -Not Visible, the property visibility was changed to visible on the sheet.
Report #2 dff

Reporting: Instance, Net, Pin, Property Text Attribute Instance I$2 I$6 Net N$3 Vertex V$67 V$17 V$191 V$193 Name $MGC_GENLIB/latch/latch flipped vertically $MGC_GENLIB/inv/inv Net Name: ----Location Attached Vertices (-2.75,-0.25) V$191 (-1.00,-0.25) V$191 (-1.75,-0.25) V$67 V$17 V$193 (-1.75,3.50) V$191 V$43 Location (-1.00,3.50) (1.50,-0.25) Vertex Pins: Name of P$66 OUT P$16 EN

Figure 9-6. Report Object Example

Reporting on Object Status


To report the status of all schematic or symbol object checks, perform the following steps: 1. Click an object the Symbol or Schematic Editor window on which you want to generate the status report. 2. Execute the Report > Selected Object menu item. This menu item reports the status of all enabled categories for the schematic sheet or symbol in the active window. By default, the report generated is directed to a DA-IC window, and a file named da_report_file in your current directory. To report the status of specified check types on a symbol or schematic sheet, perform the following steps:

9-16

Design Architect-IC Users Manual, v8.9_10

Managing Designs

Reporting on Objects

1. Place the cursor in the Symbol or Schematic Editor window for the type of check status you want to report on, and click the center mouse button. 2. Execute the Report > Specified Object menu item. A Report Object dialog box appears. 3. Click the left mouse button on the buttons corresponding to the checks for which you want a status reportMore than one check can be selected. By default, the Report generated is directed to a DA-IC window, and a file named da_report_file in your current directory. Click OK when check types are selected.

Design Architect-IC Users Manual, v8.9_10

9-17

Reporting on Objects

Managing Designs

9-18

Design Architect-IC Users Manual, v8.9_10

Chapter 10 Troubleshooting

Use the information in this chapter to determine how to correct problems when design components or processes do not behave as expected.

No Response from DA-IC View


If DA-IC View invokes, but will not crossprobe with DA-IC, DA-IC may be out of IPC ports. If multiple DA-IC sessions are running on one computer, DA-IC may run out of ports. To fix the problem, set the following environment variable to 100 or higher: MGC_DA_IC_PORT_SEARCH_DEPTH For more information on the IPC server, see the -NOipc option of the da_ic shell command in the Design Architect-IC Reference Manual.

Cannot Invoke ADVance MS, Eldo, DA-IC View, or EldoNet


The standard UNIX/Linux Xterm application is used by Design Architect-IC to display netlisting and simulation results and must be present in your search path to invoke ADVance MS, Eldo, DA-IC View, and EldoNet. Set your $PATH environment variable to a valid installation of the Xterm application.

Design Architect-IC Users Manual, v8.9_10

10-1

Cannot Invoke ADVance MS, Eldo, DA-IC View, or EldoNet

Troubleshooting

10-2

Design Architect-IC Users Manual, v8.9_10

Chapter 11 Editing in Design Context

Design Architect-IC (DA-IC) allows you to edit in the context of a design using design configurations. A design configuration consists of a viewpoint and a blank backannotation object for a specified downstream tool. By default, the design viewpoint and backannotation object assume the name of the downstream application it is created for. For example, a viewpoint created for AccuSim is named accusim. Design configurations allow you to merge changes from backannotation objects onto the source schematic and edit schematics in design context. The actual design viewpoint can only be edited with a tool called the Design Viewpoint Editor-IC. For more information on design viewpoints, see Design Viewpoint Editor-IC Users and Reference Manual. You can create/open a design configuration for the active schematic from the File > Design Configuration pulldown menu or by invoking simulation mode. Click Simulation on the schematic_edit palette menu to invoke simulation mode.

In Simulation Mode
When the simulation mode is invoked, DA-IC automatically saves the active design and creates and opens a design configuration for it. If a design configuration already exists, DA-IC opens it. By default, the design configuration is created for EldoNet and is named eldonet. You can specify which application to create a design configuration for from the Session scope with the Setup > Simulation Configuration option.

Design Architect-IC Users Manual, v8.9_10

11-1

Properties in the Context of a Design

Editing in Design Context

In simulation mode, editing in design context facilitates the design and simulation cycle by allowing you to make changes to the source schematic. The following editing functions are currently supported from simulation mode:

Move and Copy Add/Delete Wire Add/Delete/Change Property Add/Delete Instance Flip, Rotate, and Connect
Editing Function Blocks from simulation mode/design context is not supported. All Function Blocks must be made before entering simulation mode/design context. Design context functions the same whether invoked from File > Design Configuration or by entering simulation mode.

Properties in the Context of a Design


The following sections describe how to set the visibility of new backannotations, view properties, and add new properties in the context of a design.

Setting New Annotation Visibility


You can customize the visibility of new backannotated objects by creating a dofile that is called automatically when opening a schematic in the context of a design. Existing backannotations are not affected. The dofile must be named setup_new_ba_properties.dofile and contains calls to the

11-2

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Properties in the Context of a Design

$set_new_annotation_visibility() function. DA-IC searches for the dofile in the following order, and uses the first occurrence of the file that it finds: 1. $HOME/mgc_custom/da_ic/setup_new_ba_properties.dofile 2. $MGC_HOME/mgc_custom/da_ic/setup_new_ba_properties.dofile 3. $MGC_HOME/mgc_custom/new/da_ic/setup_new_ba_properties.dofile The following code block shows a sample listing of a setup_new_ba_properties.dofile:
{ local original_mode = $set_transcript_mode(@off); $set_new_annotation_visibility(@visible, 'baprop1', 'baprop2'); $set_new_annotation_visibility(@hidden, 'baprop3', 'baprop4'); $set_transcript_mode(original_mode);}

If the DES_ARCH_HIDE_BA_ONLY_PROPS environment variable is set to any value, the dofile overrides and hides all new backannotation properties.

Adding Properties
In design context, there are three commands that control whether properties are added to the schematic sheet or the backannotation object. The Set Edit Mode option controls whether schematic sheet edits are on or off; the Show Annotations option turns backannotations editing on, and the Hide Annotations option turns backannotation editing off. The combination of setting backannotations on/off and schematic sheet edits on/off controls where and how properties are added. Table 11-1 describes the four possible scenarios for adding properties. Table 11-1. Where Properties are Added Annotations On Edits On Edits Off Adds properties to backannotation object. Adds properties to backannotation object. Annotations Off Adds properties to schematic sheet. Cannot add properties.

Design Architect-IC Users Manual, v8.9_10

11-3

Properties in the Context of a Design

Editing in Design Context

If you edit the schematic sheet in the context of a design, save your sheet before you change the edit mode to off.
Note

Viewing Annotations vs. Evaluations


You can display property values on the schematic sheet in unevaluated or evaluated form with the Setup > Objects.... > Design Context >Evaluate Expression option. DA-IC uses design configuration rules defined in the design viewpoint to resolve and evaluate properties. For more information on property resolution rules, see Rules for Resolving Property Value Variables in Chapter 7 of this manual. You can set the properties to display from the backannotation object or on the source schematic sheet only with the Setup > Objects.... > Design Context > Show Annotations option. From simulation mode, you can display annotations with the Toggle option on the palette menu. Table 11-2 describes the four viewing options. Table 11-2. Property Values Displayed Evaluations On Annotations On Evaluations Off

Displays evaluated properties Displays unevaluated from backannotation object properties from and schematic sheet. backannotation object and schematic sheet. Displays evaluated properties Displays unevaluated from schematic sheet. properties from schematic sheet.

Annotations Off

If you change or add a property value as an expression, you must execute the Miscellaneous > Property Settings > Recalculate Properties menu option to display the new property expression in its evaluated state.

11-4

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Merging Backannotations to Schematic

Merging Backannotations to Schematic


You can merge backannotations into the schematic sheet when editing in the context of a design. When a design configuration is open with backannotations and schematic edits on, you can merge all backannotations displayed on the current schematic sheet with the Miscellaneous > Design Context > Merge Annotations > All menu item. From simulation mode, you can merge annotations with the Merge option on the palette menu. The Merge Annotations option replaces all the schematic sheet property values with the property values from the connected backannotation objects on the currently-viewed sheet. When the schematic sheet is saved, merged property values are removed from the backannotation object. If the property has a stability switch value that does not allow changes to the schematic sheet value, property values may not successfully merge. Backannotations for a symbol's fixed properties are stored in the viewpoint. If the schematic sheet is used in more than one place in your ! design, and you merge backannotations to that one sheet, all other Caution components (that use this sheet) see the changes. Since all occurrences of the component see the changes, you should not merge to reusable sheets.

Viewing Backannotations
In the following example, a design configuration is opened in the context of a design viewpoint with the viewing of backannotations enabled. Next, a design configuration in the same viewpoint is opened on another instance with backannotations enabled. The purpose of this example is to show how to enable and disable the viewing of backannotations in the context of a design viewpoint in DA-IC. You can also see the relationship between identical sheets used in multiple instances.

Design Architect-IC Users Manual, v8.9_10

11-5

Viewing Backannotations

Editing in Design Context

For this example, assume that you have the following:

A design named my_design with two 74161 instances, and with instance
handles I$1 and I$2; see Figure 11-1.
my_design(Design Context)

74161

74161

I$1

I$2

Instance handles

Figure 11-1. my_design Design

A design viewpoint called default, which is associated with my_design. A backannotation object called default connected to the viewpoint called
default. Version 1 of the backannotation object displays in the Design Viewpoint Editor-IC window, as shown in Figure 11-2.
Back Annotation: default Instance Pathname
/I$1/I$3 /I$2/I$3

(Property Name, Property Value)


(phy_comp, (phy_comp, U1") U2")

Pin Pathname Net Pathname

(Property Name, Property Value) (Property Name, Property Value)

Figure 11-2. default Backannotation Window

11-6

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Viewing Backannotations

Assume that you use DA-IC to open my_design in the context of a design viewpoint, as follows: From the session scope of DA-IC, choose the File > Design Configuration > Open menu item. Navigate to my_design, and choose Open as Editable. Click OK. By default, both the viewing of backannotations and the evaluation of parameters are enabled, as shown in Figure 11-1. As mentioned previously, and in the next examples, the viewing of backannotations and the evaluation of parameters are initially turned off. To view the sheet under the I$1 instance, select the instance and enter the Open Down command. A new window displays the schematic sheet for 74161 with instance handle I$1 in the context of the default design viewpoint. For more information about design configuration rules, see the Design Viewpoint Editor-IC User's and Reference Manual. Remember that the backannotation object is connected. The 74161 window for I$1 is shown in Figure 11-3.
Schematic#2 74161

I$3

I$4

A1

A2

phy_comp properties

Figure 11-3. default: I$1 Window The schematic sheet of instance I$1 has two symbols, I$3 and I$4, both of which have a property named phy_comp. Because backannotations are not currently

Design Architect-IC Users Manual, v8.9_10

11-7

Viewing Backannotations

Editing in Design Context

being viewed, the property values in the design view of the sheet are A1 and A2, which are the same values as the source schematic sheet. The first line in the default backannotation window shows that the instance I$1/I$3 has a phy_comp property whose backannotation property value is U1. When you display backannotations with the Show Annotations command, the phy_comp property value for instance I$1/I$3 changes from A1 to U1, as shown in Figure 11-4. Turning on backannotations does not change the phy_comp property value on the schematic sheet, which is still A1.
Schematic#2 74161

I$3

I$4

U1

A2

phy_comp properties

Figure 11-4. default: I$1 Window with Backannotations To turn off the display of backannotation values, use the Hide Annotations command.

11-8

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Viewing Backannotations

If you specify instance handle I$2 of my_design and Open Down to component 74161, a window displays the schematic sheet for the 74161, that is, I$2 in the context of the default design viewpoint. In the view of I$2, shown in Figure 11-5, notice it is identical to I$1, and that backannotations are not displayed and evaluation is disabled.
Schematic#2 74161

I$3

I$4

A1

A2

phy_comp properties

Figure 11-5. default: I$2 Window The second line in the my_ba backannotation window defines that the instance I$2/I$3 has a phy_comp property, whose backannotation property value is U2. When you turn on the display of backannotations, the phy_comp property value for instance I$2/I$3 changes from A1 to U2; see Figure 11-6.
Schematic#2 74161

I$3

I$4

U2

A2

phy_comp properties

Figure 11-6. default: I$2 Window with Backannotations

Design Architect-IC Users Manual, v8.9_10

11-9

Evaluating Properties

Editing in Design Context

The 74161 component instance I$3 is referenced with two unique properties in the context of default viewpoint for the same reusable component. Because the 74161 component is reused in the design, merging the backannotations to the schematic sheet gives only the current-viewable property value to the schematic sheet.

Evaluating Properties
In the next example, a design configuration is opened in DA-IC with the evaluation of property values and the viewing of backannotations disabled to show the schematic sheet property values. Property evaluation is then enabled to show the property values resulting from applying the design viewpoint parameters and hierarchy to the schematic sheet properties. Next, the display of backannotations is enabled. This example illustrates the concept of the evaluation and resolution of property values with respect to backannotations. While editing in the context of a design, you can set the evaluation property values to be either on or off with the Setup > Objects... > Evaluate Expressions menu option. If on is specified, all property values are evaluated; if off is specified, property values display unevaluated. For the example shown in Figure 11-7, the my_design design configuration has a property named COMP whose value is 74161, and the phy_comp source property value for I$1/I$4 was changed to $strcat(COMP, '_U2').

11-10

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Evaluating Properties

my_design(Design Context)

COMP properties

74161

74161

I$1

I$2

Figure 11-7. my_design Design Configuration with COMP Property From Design Viewpoint Editor-IC, the default backannotation object has a new phy_comp property value defined for I$1/I$4, as shown in Figure 11-8.

Back Annotation: default_1 Instance Pathname


/I$1/I$3 /I$2/I$3 /I$1/I$4

(Property Name, Property Value)


(phy_comp, (phy_comp, (phy_comp, U1") U2") MIL5")

Pin Pathname Net Pathname

(Property Name, Property Value) (Property Name, Property Value)

Figure 11-8. default Backannotation Window with I$1/I$4 If you specify instance handle I$1 in the Open Design Sheet command, a window displays the schematic view of the sheet for the 74161; that is, I$1 in the context

Design Architect-IC Users Manual, v8.9_10

11-11

Evaluating Properties

Editing in Design Context

of the default design viewpoint. Notice in Figure 11-9 that backannotations do not display and evaluation is disabled.
Schematic#2 74161

I$3

I$4

A1

$strcat(COMP, '_U2')

phy_comp properties

Figure 11-9. default with Expression If evaluation is enabled using the Set Evaluations command, or from the Setup > objects... dialog box, the displayed phy_comp property value for I$1/I$4 changes to 74161_U2, shown in Figure 11-10.
Schematic#2 74161

I$3

I$4

A1

74161_U2

phy_comp properties

Figure 11-10. default with Expression Evaluated

11-12

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Expressions in Backannotation Objects

If you enable backannotations, the displayed phy_comp property value for I$1/I$4 changes to the value specified in the connected backannotation object, MIL5, regardless of the evaluation setting, shown in Figure 11-11.
Schematic#2 74161

I$3

I$4

U1

MIL5

phy_comp properties

Figure 11-11. default with Backannotations Enabled

Expressions in Backannotation Objects


You can also place expressions in backannotation objects. In this situation, the display setting of the evaluation and backannotations is important. If you display backannotations when evaluation is disabled, the unevaluated property value in the backannotated property displays. If evaluation and backannotations are enabled, the evaluated backannotation value displays. In the next example, a design configuration is opened in DA-IC with evaluation of property values and viewing of backannotations disabled to show the schematic sheet property values. The display of backannotations is then enabled to show the unevaluated value of the backannotated property. Next, property evaluation is enabled to show the resulting property value. In the next example, the backannotation object is modified to use an expression for the I$1/I$4 phy_comp property value, as shown from Design Viewpoint

Design Architect-IC Users Manual, v8.9_10

11-13

Expressions in Backannotation Objects

Editing in Design Context

Editor-IC in Figure 11-12. Assume that the my_design is the same as Figure 11-7.
Back Annotation: default_1 Instance Pathname
/I$1/I$3 /I$2/I$3 /I$1/I$4

(Property Name, Property Value)


(phy_comp, U1") (phy_comp, U2") (phy_comp,$strcat(COMP,_ref)

Pin Pathname Net Pathname

(Property Name, Property Value) (Property Name, Property Value)

Figure 11-12. default Backannotation Window with Expression Before backannotations display, the sheet appears as shown in Figure 11-13, with the phy_comp property values of A1 and A2.
Schematic#2 74161

I$3

I$4

A1

A2

phy_comp properties

Figure 11-13. default: I$1 Window

11-14

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Expressions in Backannotation Objects

When backannotations display without evaluation, the I$1/I$3 phy_comp property value changes to U1, and the I$1/I$4 phy_comp property value changes to $strcat(COMP, '_ref'), as shown in Figure 11-14.
Schematic#2 74161

I$3

I$4

U1

$strcat(COMP, '_ref')

phy_comp properties

Figure 11-14. default with Backannotation Expression After evaluation is enabled with the Set Evaluations command or from the Setup> Objects... dialog box, the I$1/I$4 phy_comp property value changes to 74161_ref, as shown in Figure 11-15.
Schematic#2 74161

I$3

I$4

U1

74161_ref

phy_comp properties

Figure 11-15. default with Backannotation Expression Evaluated

Design Architect-IC Users Manual, v8.9_10

11-15

Applying Edits to the In-Memory Design

Editing in Design Context

Applying Edits to the In-Memory Design


When you open a design configuration from DA-IC and turn annotations on, you can edit both the annotations and the source schematic at the same time. Assume, for example, that you graphically add a hierarchical instance to the root sheet while you are editing in the context of a design viewpoint. Before you can Open Down into this new hierarchical instance, you must apply this edit to the image of the design data that is in memory with the File > Apply Edits menu option. Apply Edits option updates the in-memory design, so you can see the effects of your edits without updating the sheets that are saved on disk. An ampersand & displays in the banner of the Schematic window, as shown in Figure 11-16 to indicate there are edits which have not yet been applied to the inmemory design.
Apply Edits needed

my_design(Design Context)&
COMP properties

Figure 11-16. & In the Schematic Window After you choose the File > Apply Edits pulldown menu, the & disappears.

When Objects are Deleted


Sometimes, during the course of editing a design, an object (for example, an instance) is deleted and replaced by another instance. If the original instance owns one or more properties that are backannotated through a backannotation object, the backannotations become unattached. DA-IC allows you to check and report

11-16

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Opening Non-Existent Schematics and Components

unattached annotations, and either reattach them to current objects, or delete them from the design.

Opening Non-Existent Schematics and Components


DA-IC can create a sheet in a new schematic inside an existing component that is opened in the context of a design viewpoint. For example, assume that you use DA-IC to open a schematic in the context of a design viewpoint, and the schematic has an instance of a component that contains only a symbol. If you open down on the instance, DA-IC creates a new (blank) schematic sheet for you. You can then edit, check, and save the sheet from the context of the design viewpoint. You can also create a sheet in a new schematic inside a new component. You can open the new sheet as a design sheet.

Opening/Creating a Design Configuration


Under the File > Design Configuration... menu select one of the three available options: Create, Open, and Close.

Create a Design Configuration allows you to create and set a viewpoint


using the Mentor Graphic tools relevant to an IC design. Enter the Component Name in the text field or use the Navigator button to select the component, then select the design configuration from the list displayed in

Design Architect-IC Users Manual, v8.9_10

11-17

Opening Non-Existent Schematics and Components

Editing in Design Context

the dialog box. Refer to Figure 11-17.

Create Design Configuration


Component Name card_reader Setup Configuration For: AccuSim Continuum Continuum_ModelSim IC_Station_SDL_Flat IC_Station_SDL_Hier QSPro SPICE_Netlister VHDL_Netlister Navigator...

OK

Reset

Cancel

Help

Figure 11-17. Create Design Configuration Dialog Box

Open a Design Configuration [F3] allows you to select a pre-existing


viewpoint where DA-IC opens the top level schematic/sheet1 in the context of the Choose from Available Design Types option viewpoint, or opens a predefined viewpoint automatically. Refer to Figure 11-18.

11-18

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Opening Non-Existent Schematics and Components

Open Design Configuration


Component Name card_reader Navigator...

Choose from Available Design Configurations

Open as:

Editable

Read Only

Options... Yes No

Open Schematic from Hierarchy Window?

OK

Reset

Cancel

Help

Figure 11-18. Open Design Configuration Dialog Box Also, from the expanded Open Design Configuration dialog box, you can open the sheet as Editable or Read Only, and enter a startup filename that can execute internal state functions for setup purposes. Selecting the Options button displays the Open Design Configuration Options dialog box where you select the Available Top Layer Sheets in your design, and set the Auto Update Mode. The Auto Update Mode specifies whether instances should be updated when the sheet is opened, and if so, how the properties are merged. Click the stepper button to choose between the following:

Auto: Instance-only and Value_Modified properties are not changed;


new properties on the current symbol are added to the instance.

No Auto Update: When the sheet is opened, out-of-date instances are


not updated.

Clear: Instance-only properties are deleted; all other properties are


reset to the current symbol values.

Design Architect-IC Users Manual, v8.9_10

11-19

Opening Non-Existent Schematics and Components

Editing in Design Context

Control the visibility of existing properties by using a startup file when opening a schematic. Enter the file pathname in the Startup Field Path text entry field in the Open Design Configuration Options dialog box. After the argument selections are complete, press OK in the Options dialog box and in the Open Design Configuration dialog box. For more information about how properties are updated, refer to Updating Properties on an Instance in Chapter 7.

Creating Backannotations
To create backannotations, perform the following steps: 1. Create a new Design Context using File > Design Configuration > Create menu item. The Create Design Configuration menu displays as in Figure 11-17. 2. Type the name of the design in the Component Name text field, or use the Navigator tool to select the component. 3. Select the simulation configuration you desire from the Setup Configuration For: list displayed. 4. Click OK. DA-IC displays the selected component design in Design Context, and you may begin your backannotation changes as desired.

Editing Backannotations
To edit backannotations, perform the following steps: 1. Open an existing configuration in Design Context using File > Design Configuration > Open menu item. The Open Design Configuration menu displays as in Figure 11-18. 2. Type the name of the design in the Component Name text field, or use the Navigator tool to select the component.

11-20

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Opening Non-Existent Schematics and Components

3. Click the Choose from Available Design Configurations box. The Choose Design Configuration dialog box appears displaying all available simulation configurations. a. Select the simulation configuration you desire. b. Click OK. 4. Select Open as Editable or Read Only as desired. 5. Enable Open Schematic from Hierarchy Window? choosing Yes or No as desired. 6. Choose the Options button to display the Open Design Configuration Options dialog box. a. Select from the displayed Available Top Level Sheets: as desired, if additional sheets exist. b. Select Open Existing Sheet or Create New Sheet. c. Select Auto, None, or Clear options for the Auto Update Mode: d. Type a Startup File Path, accept the default path displayed, or use the Navigator to select the Startup File desired. e. Click OK to close the Open Design Configuration Options window. 7. Click OK to display an existing Design Configuration. 8. Edit design as required.

Viewing Evaluated Properties


To view evaluated properties on your design sheet, perform the following steps: 1. With the cursor in the design sheet window, click the center mouse button.

Design Architect-IC Users Manual, v8.9_10

11-21

Opening Non-Existent Schematics and Components

Editing in Design Context

2. Type set evaluations in the window area. The Set Evaluations prompt bar displays. Click the up arrow until the Mode is set to on. With evaluations on, all properties display evaluated.

Merging Backannotations
When a design configuration is open, with backannotations displayed and schematic edits on, you can merge all backannotations shown on the current schematic sheet. To merge backannotation to the schematic sheet, perform the following steps: 1. Place the cursor in design sheet window and click the center mouse button. Turn on the display of backannotations. 2. Open a design in Design Context, and verify the Display of backannotations is enabled using the Setup > Objects > [Design Context] Display Backannotations On. 3. In the design, select the Miscellaneous > Design Context > Merge Annotations menu item. This menu item merges all viewable backannotation properties to the schematic sheet. After this menu item is executed, and if you decide to save the sheet, the backannotation objects will no longer contain the property values that were successfully merged into the schematic sheet. If the schematic sheet is used in more than one place in your ! design, when you merge backannotations to that one sheet, all Caution other components (that use the sheet) see the changes. Since all occurrences of the component see the changes, you should not merge to reusable sheets.

11-22

Design Architect-IC Users Manual, v8.9_10

Editing in Design Context

Opening Non-Existent Schematics and Components

Locking Schematic Sheet for Edits


To lock a schematic sheet for edits, perform the following steps: 1. In the schematic sheet window, click the left mouse button on the parent instance for the schematic sheet you want to lock for editing. 2. Add the property name Source_edit_allowed with the property value false to the instance. Changing source_edit_allowed property value to true unlocks the schematic sheet below the parent instance for editing. For more information, see Adding Properties in this chapter.

Opening a Non-Existent Schematic in Design Context


DA-IC has the ability to create a sheet in a new schematic inside an existing component which is opened as a design sheet. For example, assume that you use DA-IC to open a schematic in the context of a design viewpoint and that the schematic has an instance of a component that contains only a symbol. If you open down (on) the instance, DA-IC will create a new (blank) schematic sheet for you. You can then edit the sheet, then check and save the sheet - all without leaving the context of the design viewpoint.

Opening a Non-Existent Component in Design Context


DA-IC also has the ability to create a sheet in a new schematic inside a new component that can be opened as a design sheet. The general procedure is as follows: 1. In the DA-IC session_palette click the [Open] Schematic item. 2. Enter the new schematic name in the Component name text field. 3. Select Editable in the Open as: box. 4. Click on the Options... button. The Open Schematic Option dialog box displays. a. Choose New Sheet for the non-existent component.

Design Architect-IC Users Manual, v8.9_10

11-23

Opening Non-Existent Schematics and Components

Editing in Design Context

b. Verify or change the Schematic Name. c. Verify or change the Sheet Name. d. Verify or change the Startup File Path. e. Click OK. 5. Click OK in the Open Schematic dialog box. DA-IC creates all the new design objects from the ground up: the new component, the new component interface, the new schematic, the new sheet and the new design viewpoint. A new design context window is then opened on the new (blank) schematic sheet and ready for your edits.

11-24

Design Architect-IC Users Manual, v8.9_10

Chapter 12 Function Block Concepts

Function Blocks allow you to create and reuse hierarchical design components from within a schematic. Function Blocks are created with the Schematic Editor and can consist of a schematic design as well as symbols. Once created, the Function Block can be instantiated on other design sheets and schematics. Function Blocks support both top-down and bottom-up design methodologies. For procedures to create Function Blocks, see Chapter 3. Do not edit Function Blocks in simulation mode or design context. ! Use the Schematic Editor only to create or edit Function Blocks. Caution All Function Blocks must be made before you invoke simulation mode or design context.

Function Block Objects


Function Blocks consist of three user-created objects, as follows:

FB Definition - A defined schematic area that contains editable electrical


circuitry. The FB Definition serves as the basis for the FB Instance, Made FB Definition, and Made FB Instance.

FB Instance - An existing FB Definitions instantiated copy. An FB


Instance is not a symbol instance. A sheet that contains an FB Instance must contain exactly one parent FB Definition within the design.

Made FB Definition or Made FB Instance - A hierarchical symbol object


converted from an existing FB Definition or FB Instance. Figure 12-1 shows an FB Definition being reused as an FB Instance throughout a design.

Design Architect-IC Users Manual, v8.9_10

12-1

Function Block Concepts

FB Definition
Schematic#1 source1 sheet1

mux

Schematic #1 source1 sheet1

Schematic #1 source1 sheet1

mux

mux

mux

mux

mux

FB Instance

FB Instances are exact electrical copies of the parent FB Definition

FB Instances

Figure 12-1. FB Definition and FB Instance Usage Model FB Instances are instantiated and then electrical connectivity is constructed. Subsequently, the FB Instances and, in some cases, the FB Definition, are converted or made into hierarchical Made Function Blocks.

Function Block Development States


A Function Block object exists in one of two (possible) development states: made or unmade.

12-2

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Made - The Function Block object is a standard symbol instance converted


from an FB Definition or FB Instance.

Unmade - The Function Block object is an editable and resizable FB


Definition or FB Instance. A made or unmade state defines the Function Block object at a specific development phase.

Terminology
Table 12-1 lists the Function Block-specific term used in this document. Table 12-1. Function Block Terminology Function Block Term symbol instance FB Definition FB Instance Made FB Definitiona Definition A standard Design Architect-IC symbol instance. An unmade Function Block Definition. An unmade Function Block Instance. A symbol instance converted from an unmade connected FB Definition, and connected to at least one net. Comment graphics converted from an unmade unconnected FB Definition. Made FB Instance A symbol instance converted from an unmade FB Definition of an FB Instance.

a. Note: The Made FB Definition can be in either form depending on whether it is connected or unconnected.

Design Architect-IC Users Manual, v8.9_10

12-3

Unmade Function Blocks

Function Block Concepts

Understanding Function Block Properties


Table 12-2 lists unique Function Block properties. Table 12-2. Function Block Properties Property FB_DEF FB_INST Value Definition

UNCONNECTED A string property that identifies an unconnected Made FB Definition. <user-specified> Optional - A user-specified string property representing the future instance name of the FB Definition or FB Instance. This property can be used for arrayed FB Instances. For example: RAM_INST[15:0].

FB_NAME <user-specified>

Required - A string property that represents the name of the FB Definition or FB Instance.

Unmade Function Blocks


In this state, FB Definitions and FB Instances are unmade Function Block objects. The FB Definitions and FB Instances can be edited and manipulated because they are not yet symbol instances.

FB Definition
The FB Definition is the source object for the FB Instances, Made FB Definitions, and Made FB Instances. Figure 12-2 shows objects that enclose editable electrical circuitry. FB Definitions are named, rectangularly-shaped, schematic sheet objects enclosing editable electrical circuitry.

12-4

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Unmade Function Blocks

FB_NAME Property
Schematic#1 source1 sheet1

FB_INST Property

mux

mux_1

Boundary

FB Pins (I/O ports)

Figure 12-2. FB Definition FB Definitions are composed of the following elements:

FB Definition Boundary - A user-specified sheet area that envelopes


electrical circuitry. With the exception of Passthru Nets and Flythru Nets, the FB Definition contains all objects within the rectangular boundary.

FB_NAME Property - A required string property that identifies an FB


Definition.

FB_INST Property - An optional, user-specified string property that


identifies the future instance name of the Made FB Definition. Arrayed FB

Design Architect-IC Users Manual, v8.9_10

12-5

Unmade Function Blocks

Function Block Concepts

Instances are formed this way using the FB_INST property. Example: RAM_INST[15:0].

FB Pins - Unique pin objects placed on an FB Definitions boundary. The


FB Pins serve as electrical connectivity ports into and out of the FB Definition. Normally, an FB Definition is created first because the FB Instance, Made FB Definition, and Made FB Instance are based on the FB Definition. For additional information, refer to the Usage Paradigm section in this chapter.

FB Instance
Figure 12-3 shows that an FB Inst is a comment rectangle.
FB_NAME Property FB_INST Property

Schematic #1 source1 sheet1

mux

mux_2

Boundary

FB Pins (I/O ports)

Figure 12-3. FB Instance

12-6

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Unmade Function Blocks

The FB Instance is an instantiation of an FB Definition. Unlike the FB Definition, the FB Instance does not contain any visible circuitry, but is the FB Definitions electrical equivalent. An FB Instance must have a corresponding FB Definition located on the same sheet or on a different sheet within the schematic. If the source FB Definition is on a different sheet, then it must be converted to a Made FB Definition prior to checking the schematic.

Note

FB Instances incorporate the following elements:

FB Instance Boundary - A comment rectangle. Passthru Nets and Flythru


Nets do not apply to FB Instances.

FB_NAME Property - A required string property. The property indicates


which FB Definition the FB Instance is based upon.

FB_INST Property - An optional, user-specified string property that


identifies the future Made FB Instances name. Arrayed FB Instances are formed using this property. For example, RAM_INST[15:0].
o Usage: If an FB Instance is created from an FB Definition that contains

a defined FB_INST property. Then the FB_INST property, on the newly-created FB Instance object, must be changed to a unique name to avoid errors when checking Function Blocks.

FB Pins - Unique pin objects that are placed on an FB Instances boundary


and serve as input/output ports for electrical connectivity into and out of the FB Instance. After the FB Instance is created, these pins must be added. The circuit designer can parameterize and array FB Instances exactly as traditional symbol-based instances. Refer to the Usage Paradigm section in this chapter.

Design Architect-IC Users Manual, v8.9_10

12-7

Unmade Function Blocks

Function Block Concepts

FB Pins
FB Pins create electrical connectivity into and out of an FB Definition or FB Instance, and each FB Definition or FB Instance must have at least one FB pin. Once placed on an unmade FB Definition or FB Instance, the FB Pins can be selected, moved, deleted, or copied. However, the FB Pins are only positioned on the FB Definitions or FB Instances boundary. There are two FB Pin types available: FB Definition Pins and FB Instance Pins. FB Pins are placed on the top, bottom, or left and right sides of an FB Definition or FB Instance.
Note

FB Definition Pins: FB Definitions use magenta-colored pins exclusively


in DA-IC. The pins have two connections to accommodate nets.

Figure 12-4. FB Definition Pin


o Pin Names: FB Definition Pins are not named explicitly. When the FB

Definition is converted to a Made FB Definition, these pins assume the inside nets name. If the inner net is not named, then, when converted, the FB Pin is automatically named based on the inside nets handle name.
o If a wide net is connected to an inside net, using the appropriate bus or

bundle syntax, then the connected FB Definition Pin is wide and matches the connected wide nets width.

12-8

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Made Function Blocks

FB Instance Pins: These pins are exclusively associated with FB Instances,


and they are represented by a diamond-shaped pin instance that contains a single pin.

Figure 12-5. FB Inst Pin Since an FB Instance is a representation of an existing FB Definition, the FB Instance Pins on all four sides must correspond to the FB Definitions pins.

Note

When the FB Pin is added, the FB Pin type placed on an FB Definition, or FB Instance boundary, is automatically selected.

Made Function Blocks


A Made FB Definition or a Made FB Instance is a hierarchical symbol instance converted from an FB Definition or FB Instance, as shown in Figure 12-6. Prior to creating a Made FB Definition or Made FB Instance, an FB Definitions or FB Instances external and internal electrical Caution connectivity must be established. For more information, refer to the FB Definition and FB Instance Net Constructs section in this chapter.

Design Architect-IC Users Manual, v8.9_10

12-9

Made Function Blocks

Function Block Concepts

Schematic#1 source1 sheet1

mux

mux_1

IN_1

OUT_1 IN_2

IN_3

Figure 12-6. Made FB Definition

The Made FB Definition and Made FB Instance Creation Operation


The Make Function Block operation creates a Made FB Definition or Made FB Instance from an FB Definition or FB Instance. The resultant objects creation (how it is created) depends on whether the operation is performed on an FB Definition or FB Instance. 1. Made FB Definition: When FB Definitions are made, the circuitry within the FB Definitions comment rectangle moves to a new, underlying schematic. A new symbol is also generated from the circuitry that represents the underlying schematic containing the circuitrys outline. This

12-10

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Usage Paradigm

newly-generated symbol replaces the comment rectangle and enclosed circuitry. If the FB Definition does not have nets connected to its pins, then its converted Made FB Definition changes to comment graphics.
Note

The resulting Made FB Definitions pin names use the net names attached to the FB Definitions inner pins. If these nets are unnamed, then the nets handle is used to generate pin names. For example, if a pre-transformed FB Definition pin is connected to net N$5 inside the FB Definitions boundary, then the Made FB Definitions pin name is N_5. 2. Made FB Instance: When FB Instances are converted, the FB Instances comment rectangle is used to generate the Made FB Instance that represents the FB Definition's underlying schematic. During the operation, the FB Instances pins are checked to see if they match the FB Definitions pins. Each FB Instance side must contain an identical number of pins on the FB Definitions corresponding side. When this is true, the FB Instances pins are named to match the FB Definitions pins. If the pins do not match, the operation issues an error message and terminates.

Usage Paradigm
At the most rudimentary level, a single FB Definition is created and then reused as an FB Instance throughout the schematics sheet, as shown in Figure 12-1. Once electrical connectivity is created within the sheet, the FB Definitions and FB Instances are converted into Made FB Definitions and Made FB Instances, respectively. The next section describes two usage models recommended for this implementation:

Design Architect-IC Users Manual, v8.9_10

12-11

Usage Paradigm

Function Block Concepts

Models
1. Unconnected FB Definition Usage Model - The usage model illustrated in Figure 12-7 is the most efficient.
FB Instances
mux

I_01 OUT_1 I_02

I_03

mux

I_04 OUT_2 I_05

I_06
mux

I_07 OUT_3 I_08

FB Definition
mux

I_09
mux

I_10 OUT_4 I_11

I_12

Figure 12-7. Unconnected FB Definition Usage Model Create an FB Definition, then FB Instances (based on the FB Definition) are created with the Function Block popup menu (Figure 12-8) or the $create_fb_inst_from_def() function.

12-12

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Usage Paradigm

Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align Instance to Definition Create Instance from Definition

Figure 12-8. The Function Block Popup Menu The FB Instances are instantiated throughout the schematic sheet or design, and establish the FB Instances electrical connectivity. However, the FB Definition is not wired into the schematic. When transformed into a Made FB Definition, the unconnected FB Definition is converted into a comment graphic, and does not appear in a designs netlist. 2. Connected FB Definition Usage Model - Alternatively, an FB Definition is created and wired into the schematic, as demonstrated in Figure 12-9.

Design Architect-IC Users Manual, v8.9_10

12-13

Usage Paradigm

Function Block Concepts

FB Definition
mux

I_01 OUT_1 I_02

I_03
mux

I_04 OUT_2 I_05

I_06
mux

FB Instances

I_07 OUT_3 I_08

I_09
mux

I_10 OUT_4 I_11

I_12

Figure 12-9. Connected FB Definition Usage Model During conversion into a Made FB Definition, the FB Definition converts to a Made FB Definition in place. The Made FB Definition is a symbol that represents the underlying schematic. In this case, the Made FB Definition becomes an electrical part of the design, and is netlisted along with the other Made FB Instances. To edit the Made FB Definition, convert the object back to an FB Definition, apply the edits, and then re-make the FB Definition.

12-14

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Usage Paradigm

Nested Function Blocks


You can nest Function Blocks, both FB Definitions and FB Instances, within the FB Definition, as shown in Figure 12-10.

mux mux_1

I_01 OUT_1 I_02

I_03
mux_1

FB Definitions FB Instance
OUT_2

I_04 I_05 I_06

Figure 12-10. Nested Function Blocks To nest Function Blocks, you must adhere to the following design rules:

Only FB Definitions can contain nested FB Definitions and FB Instances. An FB Definition cannot contain a nested FB Instance of itself; you cannot
nest within FB Definition A an FB Instance created from FB Definition A. After you construct an FB Definition that contains nested Function Block objects, you subsequently convert the FB Definition to a Made FB Definition symbol instance. During the conversion operation, each nested FB Definition and FB Instance is converted in sequence, beginning with the inner-most Function Block object and progressively working to the outer-most Function Block Object.

Design Architect-IC Users Manual, v8.9_10

12-15

Usage Paradigm

Function Block Concepts

If you need to revert the Made FB Definition back to its unmade form, then use the Unmake Function Block operation, as with any other Made FB Definition. With nested Function Blocks, you can revert selected levels of nested hierarchy or revert all levels, as shown in Figure 12-11.
Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align Selected All 1 Level ALL Levels Specify

Figure 12-11. Unmake Function Block Menu Option

12-16

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Usage Paradigm

FB Definition and FB Instance Net Constructs


In general, an FB Definitions and FB Instances internal and external electrical connectivity is established following the Design Architect-IC standard Drawing and Routing Nets procedures. However, there are specific exceptions to these procedures that are outlined in this section. Prior to generating a Made FB Instance, external net connections must be added to FB Instances.
Warning

Nets consist of the following categories: 1. Internal FB Definition Nets 2. External Nets 3. Passthru Nets 4. Flythru Nets Internal FB Definition Nets Internal net constructs are only applied to FB Definitions. These nets connect the FB Definitions internal circuitry, including internal FB Pin connections, within the FB Definitions boundary. Figure 12-12 is an example of an FB Definitions internal nets.

Design Architect-IC Users Manual, v8.9_10

12-17

Usage Paradigm

Function Block Concepts

Definitions Boundary

mux

mux_1

Internal Nets

Figure 12-12. FB Definitions Internal Net Example Internal nets are considered part of the FB Definitions contents.
Note

FB Definition internal nets are nets fully contained within the FB Definitions boundary, which connect to one or more instance pins.

12-18

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Usage Paradigm

External Nets
External nets are standard Design Architect-IC wires, busses, and bundles constructs. These nets are externally connected to an FB Definition or FB Instance via the FB Definitions or FB Instances FB Pins, as shown in Figure 12-13.

External Nets
mux mux_1

Figure 12-13. External Net Example

Design Architect-IC Users Manual, v8.9_10

12-19

Usage Paradigm

Function Block Concepts

Passthru Nets
Passthru nets are constructions used exclusively with FB Definitions. Figure 12-14 shows a passthru net connected to an inner FB Pin that passes over the FB Definitions rectangular boundary.

mux

mux_1

Passthru Nets

Figure 12-14. Passthru Net Examples The Made FB Definition and Made FB Instance Creation Operation excludes passthru net segments from the Made FB Definition that extend outside an FB Definitions boundary, but the rest of the net is copied into the underlying schematic. After the operation, the original passthru net remains on the top-level schematic in its entirety. Note, you must enable passthru nets, or these nets are flagged as errors when Checking Function Blocks. To enable passthru nets, refer to the Function Block Setup section in Chapter 3, or use the $set_fb_passthru() function.

12-20

Design Architect-IC Users Manual, v8.9_10

Function Block Concepts

Usage Paradigm

Flythru Nets
Flythru nets are not part of the FB Definitions contents. Flythru nets intersect an FB Definition, as shown in Figure 12-15.

mux

mux_1

Flythru Net Figure 12-15. Flythru Net Example Flythru nets are excluded from an FB Definitions or FB Instances contents during The Made FB Definition and Made FB Instance Creation Operation, and remain part of the upper-level schematic sheet.

Design Architect-IC Users Manual, v8.9_10

12-21

Usage Paradigm

Function Block Concepts

12-22

Design Architect-IC Users Manual, v8.9_10

Chapter 13 Using Hotkeys

Hotkeys are tools within Design Architect-IC that allow the user to perform schematic and symbol functions or operations via the keyboard. Hotkeys provide the user with a shortcut for accessing commonly-used commands. Additionally, you can customize hotkeys. Hotkey usage is limited to the Design Architect-IC Schematic and Symbol Scopes.

Note

A Hotkey is an alphanumeric keyboard key that is tied to an Advanced MultiPurpose Language (AMPLE) function that contains any number of AMPLE commands. The command executes by pressing the keyboard key when hotkeys are enabled. The commands can be attached to any of the 62 alphanumeric keys (a through z, A through Z, and 1 through 0).

Hotkey Types
You can select from one of the following three Hotkey types: 1. Using DA-IC Predefined Hotkeys - a predefined set of hotkeys supplied with Design Architect-IC. Please refer to Appendix A, Predefined Hotkeys, for a complete list of these hotkeys. 2. Using User-Defined Hotkeys - user-modified hotkeys. When the user creates these Hotkey values, the values are stored in the $HOME/mgc/da_hotkeys directory and, if present, are loaded by default when hotkeys are enabled. To create User-Defined Hotkeys, refer to Using User-Defined Hotkeys in this chapter.

Design Architect-IC Users Manual, v8.9_10

13-1

Using Hotkeys

3. Using Custom Hotkeys - Hotkeys customized by the user. A predefined set of hotkeys is copied to a specified location and modified using the AMPLE editor. To customize a specific set of hotkeys, refer to the Using Custom Hotkeys section in this chapter. When enabled, you can bypass the hotkeys at any time and bring up a command window by using the F11 key, or by selecting any unmapped alphanumeric key.

Note

Hotkey User Interface Overview


The user enables, customizes, and loads hotkeys by using the hotkeys menu contained within the Design Architect-IC user interface. As stated previously, the hotkeys menu is available only in the Schematic and Symbol Editors and is contained in the Miscellaneous pulldown menu as illustrated in Figure 13-1.

Figure 13-1. Hotkeys Cascading Menu (Schematic Scope)

13-2

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Alternatively, you can invoke Hotkey functionality using the Hotkey AMPLE functions. For additional information on Hotkey AMPLE functions, refer to Chapter 15, Hotkey Function Dictionary. Figure 13-2 below illustrates the hotkeys menu and cross-references each menu options respective AMPLE function. Enables User-Defined Hotkeys (if previously defined)
$set_hotkey_mode()
Enable Load... Report Define... Customize...
OK Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys Reset Cancel

Load a different Hotkey set


$load_hotkey_settings()

Disclose Current Hotkey Settings


$report_hotkey_settings()

Define Hotkey Select a Command: Add Arc Add Bus Add Circle Add Dot Add Frame Add FB Defn Add FB Inst Add FB Pin Add Instance Add Line OK Reset Cancel

Create User-Defined Hotkeys on the fly


$define_hotkey()

Customize Hotkey Settings Start With: DA-IC Editing Copy To: OK Reset Cancel

Customize Hotkeys
$copy_edit_hotkey_settings()

Figure 13-2. Hotkey Cascading Menu

Design Architect-IC Users Manual, v8.9_10

13-3

Using DA-IC Predefined Hotkeys

Using Hotkeys

Using DA-IC Predefined Hotkeys


This Design Architect-IC release incorporates a predefined DA-IC Editing Hotkey set. A list of these keys and their respective mapped functions is available in Appendix A, Predefined Hotkeys. To load the DA-IC Editing Hotkeys, use the following steps. If you want to use a different set of hotkeys, refer to Using User-Defined Hotkeys or Using Custom Hotkeys in this chapter.

Loading DA-IC Editing Hotkeys


1. From the Design Architect-IC menu bar, choose Miscellaneous > Hotkeys > Load as illustrated in Figure 13-3.

Figure 13-3. Loading Hotkeys (Schematic Scope)

13-4

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Using DA-IC Predefined Hotkeys

The Load Hotkey Settings dialog box appears as shown in Figure 13-4:

Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys

OK

Reset

Cancel

Figure 13-4. Load Hotkey Settings dialog box 2. Click the DA-IC Editing button, if not already selected, in the Choices section of the dialog box. The Enable Hotkeys radio button is selected by default; in order to use the hotkeys, they must be enabled. Refer to Appendix A, DA-IC Hotkey Set for a list of predefined keys. 3. Verify the settings, then click OK. The DA-IC Editing Hotkeys are now enabled. You can verify this within the Status bar as shown in Figure 13-5.

Design Architect-IC Users Manual, v8.9_10

13-5

Using User-Defined Hotkeys

Using Hotkeys

Hotkeys are enabled

Figure 13-5. Design Architect-IC Status Bar with Hotkeys Enabled (Schematic Scope) The DA-IC Editing Hotkeys are now ready to use. To invoke a command or function, type the alphanumeric key you want.

Using User-Defined Hotkeys


If the DA-IC Editing Hotkey set of functions do not fit your needs, modify the default DA-IC Editing Hotkeys set by redefining any of the alphanumeric keys. This process is outlined below. Note, once you create User-Defined Hotkeys, the keys will be loaded by default whenever hotkeys are enabled. AMPLE functions can be mapped to a hotkey. For more information, see $define_hotkey().
Note

Creating User-Defined Hotkeys


1. From the Design Architect-IC menu bar, choose Miscellaneous > Hotkeys > Define as illustrated in Figure 13-6.

13-6

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Using User-Defined Hotkeys

Figure 13-6. Defining Hotkeys (Schematic Scope) The Define Hotkey dialog box appears as in Figure 13-7.
Define Hotkey Select a Command: Add Arc Add Bus Add Circle Add Dot Add Frame Add FB Defn Add FB Inst Add FB Pin Add Instance Add Line

OK

Reset

Cancel

Figure 13-7. Define Hotkey Dialog Box

Design Architect-IC Users Manual, v8.9_10

13-7

Using User-Defined Hotkeys

Using Hotkeys

The Define Hotkey dialog box presents a scroll list of commonly-used Design Architect-IC commands that you can map key-by-key to the desired alphanumeric key. A complete list of cross-referenced Design Architect-IC commands, contained in the Define Hotkey dialog box, can be found in Appendix B, Hotkey Commands. 2. To define a Hotkey, select the desired command from the list box, then click OK. An informational message prompts you to select an alphanumeric key. 3. Press the alphanumeric key you want to map. Supply a comment: The dialog box appears, as in Figure 13-8.

Supply a comment:

OK

Reset

Cancel

Figure 13-8. User-Defined Hotkey Comment Dialog Box This dialog box allows you to link a short description of the selected command to the key. You must enter a comment for each User-Defined Hotkey that you create. When you perform a Report Hotkeys command, these comments appear. 4. Type a comment in the dialog box, and click OK. The selected alphanumeric key is now mapped to the chosen AMPLE command, and is defined for future Design Architect-IC sessions. The resultant mapped key is automatically created and stored in the $HOME/mgc/da_hotkeys directory. Within this directory, the individual alphanumeric keys are mapped key-by-key to files with the following naming syntax:

13-8

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Using User-Defined Hotkeys

key_<key>.ample

For example, if you mapped the a key to the Add Arc command, then the a file named key_a.ample would be created in the $HOME/mgc/da_hotkeys directory. The key_a.ample file, in this example, would contain the following:
extern da_window@@$key_label_a = Add Arc; function da_window@@$key_a(),INDIRECT { $$add_arc(); }

As stated previously, User-Defined Hotkeys load by default when hotkeys are enabled. After defining a Hotkey, a prompt appears (Figure 13-9) asking you if you want to define additional hotkeys.

Define more hotkeys?

Yes

No

Figure 13-9. Define more hotkeys? dialog box 5. Click Yes to define additional hotkeys, then repeat steps 2 4. 6. Click No when you are finished creating User-Defined Hotkeys.

Design Architect-IC Users Manual, v8.9_10

13-9

Using Custom Hotkeys

Using Hotkeys

Loading User-Defined Hotkeys


Once you have created User-Defined Hotkeys, they are available for use in the Design Architect-IC. To load the User-Defined Hotkeys in a different Design Architect-IC session, perform the following steps: 1. Within the Schematic or Symbol scope, select Miscellaneous > Hotkeys > Enable from the Design Architect-IC main menu bar. The previously assigned User-Defined Hotkeys are now available for use. Alternatively, you can use the Miscellaneous > Hotkeys > Load menu option (described below) to load the User-Defined Hotkeys. This is helpful if you want to toggle between a Custom Hotkey set and the User-Defined set within the same session. 1. Within the Schematic or Symbol scope, select Miscellaneous > Hotkeys > Load from the Design Architect-IC main menu bar. The Load Hotkey Settings dialog box displays. 2. Click the User-defined button in the Choices section of the dialog box. The Enable Hotkeys button selects by default. 3. Click Yes to load the User-defined Hotkeys, and dismiss the dialog box. The User-Defined Hotkeys are now available for use.

Using Custom Hotkeys


You can also customize hotkeys to allow for greater latitude in defining userspecific commands and functions. When creating a Custom Hotkey set, Design Architect-IC copies the existing DA-IC Editing set to a user-specified location, then invokes the AMPLE editor. The following steps outline the procedures for creating and loading Custom Hotkeys.

13-10

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Using Custom Hotkeys

Customizing Hotkeys
1. Within the Schematic or Symbol scope, choose the Miscellaneous > Hotkeys > Customize... menu option from the Design Architect-IC menu bar as shown in Figure 13-10.

Figure 13-10. Hotkey Customize Menu Option (Schematic Scope) The Customize Hotkey Settings dialog box displays.
Customize Hotkey Settings Start With: DA-IC Editing Copy To:

OK

Reset

Cancel

Figure 13-11. Customize Hotkey Settings dialog box

Design Architect-IC Users Manual, v8.9_10

13-11

Using Custom Hotkeys

Using Hotkeys

This dialog box prompts you to provide a location and filename to copy the DA-IC Editing Hotkeys to. The DA-IC Editing Hotkey set serves as the basis for defining Custom Hotkeys. 2. Enter an appropriate path, then click OK. The AMPLE Editor is invoked on the copied file. At this point, you can customize the AMPLE functions. For information regarding AMPLE and the AMPLE editor, please refer to the following manuals:

AMPLE for IC FLow User's Manual provides overview information,


flow-diagram descriptions, explanations of important concepts, and task-oriented procedures for customizing the common user interface and writing AMPLE functions.

AMPLE for IC Flow Reference Manual contains information about


AMPLE statements and functions that are common to all applications. 3. When you have completed editing the AMPLE file, move the mouse pointer onto the window menu button in the upper-left corner of the AMPLE editor window. 4. Press and hold the Select or Menu mouse button. The window becomes active, and a pulldown menu appears. 5. With the Select or Menu mouse button depressed, drag the mouse pointer onto the Close menu item, shown in Figure 13-12.

13-12

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Using Custom Hotkeys

Figure 13-12. Close Window Pulldown Menu A Save Changes dialog box, similar to Figure 13-13, prompts you to save the edits that you have made to the AMPLE userware file.

Save changes to $HOME/hotkeys? Yes No Cancel

Figure 13-13. Save Changes dialog box 6. Remove the dialog box and AMPLE editor window by selecting Yes using the Select mouse button.

Design Architect-IC Users Manual, v8.9_10

13-13

Using Custom Hotkeys

Using Hotkeys

Loading Custom Hotkeys


To load your newly-created Custom Hotkey set, complete the following steps: 1. From the Design Architect-IC menu bar, choose the Miscellaneous > Hotkeys > Load pulldown menu item. The Load Hotkey Settings dialog box appears, as shown in Figure 13-14:

Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys

OK

Reset

Cancel

Figure 13-14. The Load Hotkey Settings dialog box 2. Click Custom in the Choices section of the dialog box. The Enable Hotkeys radio button selects by default; in order to use the Hotkeys, they must be enabled. 3. Verify the settings, then click OK.

13-14

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Reporting Hotkey Status

The Specify Custom Hotkey File dialog box, shown in Figure 13-15, prompts you to enter the path to and filename of the Custom Hotkey AMPLE file created in the previous steps.
Specify Custom Hotkey File Filename Navigator...

OK

Reset

Cancel

Figure 13-15. Specify Custom Hotkey File dialog box 4. Enter the path to and filename of the Custom Hotkey file, or use the file Navigator, then click OK. The Custom Hotkey set is now loaded and the Hotkeys are enabled.

Reporting Hotkey Status


To determine which Hotkey set for a given Design Architect-IC session is currently loaded, use one of the following menu options:

Miscellaneous > Hotkeys > Report - This option is available once an


initial Hotkey set has been loaded during the session.

Report > Hotkeys

Design Architect-IC Users Manual, v8.9_10

13-15

Enabling and Disabling Hotkeys

Using Hotkeys

When invoked, the Report option returns a dialog box that contains a scroll list of currently-defined Hotkeys and their definitions. Figure 13-16 provides an example of this dialog box.
Report Hotkey Settings

DA-IC Editing
Hotkey Definitions: a = Add Pin b = Add Bus/Bundle c = Copy d = Delete e = Report Object f = Flip Horizontal i = Add Instance m= Move n = Name Nets o = Open Down View Source Code Print List OK Reset Cancel

Select to View the AMPLE Function

Select to print the Hotkey AMPLE Functions

Figure 13-16. Report Hotkey Settings Dialog Box

Enabling and Disabling Hotkeys


This section assumes that you have either created a set of User-Defined or Custom Hotkeys, or you want to use the DA-IC Editing Hotkeys.

Enabling Hotkeys
By default, Hotkeys are disabled in Design Architect-IC. Hotkeys are enabled via the Design Architect-IC user interface, as detailed in the following steps, or via the command line by using the $load_hotkey_settings() function. If a UserDefined Hotkey set has been created, then these key-by-key Hotkey values are

13-16

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Enabling and Disabling Hotkeys

loaded by default when the Hotkeys are enabled. To load a Custom Hotkey set, refer to Using Custom Hotkeys in this chapter. 1. From the Design Architect-IC menu bar, choose the Miscellaneous > Hotkeys > Enable pulldown menu item.. If a User-Defined set of Hotkeys has not been created, then the following dialog box displays.

No hotkeys loaded yet. Load some?

Yes

No

2. To load an initial set of Hotkeys, click Yes. If you select No, then the Hotkeys are enabled, but none are loaded. The follow message displays:
Note Please load hotkeys before trying to use them.

Prior to using the functionality, you must load a Hotkey set.

Design Architect-IC Users Manual, v8.9_10

13-17

Enabling and Disabling Hotkeys

Using Hotkeys

The Load Hotkey Settings dialog box appears, as displayed in Figure 13-17.

Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys

OK

Reset

Cancel

Figure 13-17. Load Hotkey Settings Dialog Box 3. Within the dialog box, select one of the three Hotkey types and click on OK. The specified Hotkeys are now enabled.

Disabling Hotkeys
1. From the Design Architect-IC menu bar, choose the Miscellaneous > Hotkeys > Disable pulldown menu item.

13-18

Design Architect-IC Users Manual, v8.9_10

Using Hotkeys

Enabling and Disabling Hotkeys

Figure 13-18. Disabling Hotkeys via the Miscellaneous Pulldown (Schematic Scope) The Hotkeys are now disabled.

Design Architect-IC Users Manual, v8.9_10

13-19

Enabling and Disabling Hotkeys

Using Hotkeys

13-20

Design Architect-IC Users Manual, v8.9_10

Chapter 14 Creating DA-IC Userware

This chapter contains information about customizing userware for Design Architect-IC. The information is organized as follows:

Customization Guidelines, beginning on page 14-2 describes


maintenance levels required for a variety of customization tasks.

Design Architect-IC Scopes, beginning on page 14-3 describes scopes,


scope hierarchy, and provides information about how Design Architect-IC searches userware files for a particular function. This is intended for all users who want or need to customize their userware.

Simple Customizing, beginning on page 14-11, describes how to find


source files, and how to name and where to place customized userware files so Design Architect-IC will load them at the proper time. This includes startup files and personality modules. Examples show how to customize the default title blocks, create new functions, and create new menus. This information should be sufficient for most users.

Advanced Customizing, beginning on page 14-23, describes how to


create and display a new palette menu, and how to add items to an existing menu. This information is for system administrators, site librarians, and library developers.

Design Architect-IC Users Manual, v8.9_10

14-1

Customization Guidelines

Creating DA-IC Userware

Recommendations, beginning on page 14-47 lists recommended practices


to follow when customizing Design Architect-IC. Do not use any undocumented functions when you customize ! userware; undocumented functions can change or be deleted at any Caution time. Because some undocumented functions do appear in the transcript window, be careful when creating a function with text from the transcript window. For detailed information, please refer to the Customizing the IC Flow Common User Interface manual and the AMPLE for IC Flow User's Manual.

Customization Guidelines
When customizing a Mentor Graphics application, the type of customization performed determines the amount of rework necessary each time you upgrade to a newer version of Mentor Graphics software. The following list describes the three levels of rework used in this appendix: Light Moderate Heavy The time required to make changes at each software update is minimal; it is worth the productivity gains from customization. The time required to make these changes at each software update must be justified by productivity gains. The time necessary to perform this level of rework at each software update does not justify customization. Mentor Graphics does not provide support for customization tasks that fall into this category.

14-2

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Design Architect-IC Scopes

Table 14-1 categorizes common customization tasks. Table 14-1. Customization Tasks Categorized by Re-work Level Light Creating New Functions Using Documented Userware Creating New Menus Moderate Overloading Documented MGC Functions Heavy Creating New Functions Using Undocumented Userware

Adding to MGC Menus Creating Userware Dependent on Window Sizes or Shapes

Both the Simple Customizing and Advanced Customizing sections contain Userware Example subsections. Each of the userware listings call out the level of rework necessary to support a specific type of customization.

Design Architect-IC Scopes


A scope is a portion of the environment in which userware or an AMPLE identifier has meaning. Userware scoping controls which functions and external variables are available in areas within an application. Each function has a scope associated with it. For example, some schematic editing functions such as $add_frame() and $add_net() have no meaning in the Symbol Editor, so they are placed in the schematic scope, which is not accessible to the Symbol Editor. Other functions such as $move() and $copy() have meaning in all editors within Design Architect-IC and reside in the da_window scope that is available to all editors. Scope hierarchy is the arrangement of scopes into successive levels, with each level subordinate to the one above. The scope hierarchy is determined by area containment. This means that a function defined in a particular window is available within that window, and also available in all other windows opened from within that original window. For example, a function defined in the DA-IC Session window is available in all windows opened within that session, such as a schematic window and a symbol window.

Design Architect-IC Users Manual, v8.9_10

14-3

Design Architect-IC Scopes

Creating DA-IC Userware

Userware scopes and the arrangement of those scopes for each window in an application is determined by the application developers. You cannot change this hierarchy or add new scopes. However, you can add new functions or modify existing functions in the scope hierarchy. When you are adding functionality to an application, the scope in which you place the userware determines which windows have access to that userware. Userware placed in the schematic scope is available in all schematic windows, but not in a symbol window. When a function is called, the scope hierarchy of the active window is searched, beginning at the top, until the function is found. If the function exists in more than one scope, the first function found that matches the specified name is executed.

Scope Specific Userware Directories


Each scope has corresponding AMPLE files that contain all the AMPLE userware for that scope. These AMPLE files are stored in the Mentor Graphics Software Tree. The AMPLE files for scopes common to all Mentor Graphics Falcon Framework applications, including Design Architect-IC, can be found in the following directory: ${MGC_HOME}/shared/pkgs/base.[platform]/userware/${LANG} The AMPLE files for scopes specific to Falcon Framework-IC applications, including Design Architect-IC, can be found in the following directories: ${MGC_HOME}/pkgs/base_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/core_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/ddms_do_ic.[platform]/userware/${LANG} ${MGC_HOME}/ddms_mule_ic.[platform]/userware/${LANG} ${MGC_HOME}/dm_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/ele_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/plot_tk_ic.[platform]/userware/${LANG}

14-4

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Design Architect-IC Scopes

${MGC_HOME}/pkgs/uims_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/vdd_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/ftxt_ic.[platform]/userware/${LANG} The AMPLE files for scopes specific to Design Architect-IC can be found in the following directories: ${MGC_HOME}/pkgs/bed.[platform]/userware/${LANG} ${MGC_HOME}/shared/pkgs/da_ic.[platform]/userware/${LANG} ${MGC_HOME}/shared/pkgs/hdtxt.[platform]/userware/${LANG} ${MGC_HOME}/shared/pkgs/vhdl_ed.[platform]/userware/${LANG} The platform pattern in the directories (above) refers to a character string that uniquely identifies your host platform. You can use the following script to return the correct platform suffix for your workstation: $MGC_HOME/bin/get_mgc_vco_ic In the following example, the pathname to the scope file for the ovl_area scope is based on the following conditions: the MGC_HOME shell environment variable is set to /usr2/mgc_tree, your workstation is a SUN workstation, and the LANG shell environment variable is set to En_US (resolves to En_na in the mgc_lang_map file): /usr2/mgc_tree/shared/pkgs/uims_ic.ss6/userware/En_na/ovl_area.ample For detailed information on the MGC_HOME and LANG shell environment variables, refer to the AMPLE for IC Flow User's Manual.

Design Architect-IC Users Manual, v8.9_10

14-5

Design Architect-IC Scopes

Creating DA-IC Userware

Scope Search Order


Table 14-2 shows the order that scopes are searched for functions called from each window. Table 14-2. Scopes Searched in each Window Window Type IDW Component Scopes Searched idw_component_list_area list_m_of_n_area list_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample idw_component_window framed_area da_session session_area ovl_area idw_comp_gfx_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample idw_dh_window framed_area da_session session_area ovl_area

IDW Hierarchy

14-6

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Design Architect-IC Scopes

Table 14-2. Scopes Searched in each Window [continued] Window Type Notepad Scopes Searched notepad ptxt_area rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area fb_schematic schematic da_window bed_window area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area fb_session ovl_area

Schematic Editor

Design Architect-IC Users Manual, v8.9_10

14-7

Design Architect-IC Scopes

Creating DA-IC Userware

Table 14-2. Scopes Searched in each Window [continued] Window Type Session Scopes Searched fb_session da_session session_area ovl_area framed_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample symbol da_window bed_window area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area

Symbol Editor

14-8

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Design Architect-IC Scopes

Table 14-2. Scopes Searched in each Window [continued] Window Type Transcript Scopes Searched rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area input_area ptxt_area rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area

Userware Editor

Design Architect-IC Users Manual, v8.9_10

14-9

Design Architect-IC Scopes

Creating DA-IC Userware

Table 14-2. Scopes Searched in each Window [continued] Window Type VHDL Editor Scopes Searched hdtxt_area ptxt_area rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area

You can find the name of the top level scope of the active window by entering the following statement in a popup command line:
$window_scope_name()

The name of the scope appears in the transcript. You can find the complete scope hierarchy for the active window by entering the following statement in a popup command line:
$ask_scope_frame_name()

This function displays the scope hierarchy in a list dialog box. The ample scope appears at the bottom of the list as <no_name> because you cannot add functionality to the ample scope after an application is invoked.

14-10

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Simple Customizing

Simple Customizing
Plan carefully before you begin customizing. Your new and customized functions will be interacting with all other existing functions. Because other userware may be dependent upon menu items, it is usually better to add menu items using the $add_menu_item() function, rather than modifying existing menus. Library menus are discussed beginning on page 14-28. For information about customizing other menus, refer to the Customizing the IC Flow Common User Interface manual. If you want to modify userware without overwriting, refer to section Modification of Functions in the AMPLE for IC Flow User's Manual.

DA-IC Startup Files


When you are familiar with your DA-IC environment, you can use startup files to define your own menus, keys, strokes, or any functions used to initialize your working environment. Startup files are written in the AMPLE language, and have access to the full capability of DA-IC functions within a specific window scope. Before you begin writing DA-IC startup files, refer to the AMPLE for IC Flow User's Manual for information about how to write AMPLE macros and additional startup file examples. Refer to the Customizing the IC Flow Common User Interface Manual for instructions for customizing your user interface. In DA-IC, a startup file can be specified for the initial opening of a Session window, Schematic Editor window, Symbol Editor window, and VHDL Editor window. DA-IC supports four levels of startup files:

Site-specific: $MGC_HOME/shared/etc/cust/startup/name.startup Workstation-specific: $MGC_HOME/etc/cust/startup/name.startup User-specific: $HOME/mgc/startup/name.startup

Design Architect-IC Users Manual, v8.9_10

14-11

Simple Customizing

Creating DA-IC Userware

Component-specific: pathname to startup file specified in the Open Sheet


and Open Symbol dialog boxes. A, name can represent da_session, schematic, symbol, and vhdl for each respective DA-IC environment. $HOME is the value of the HOME environment variable for your shell, typically your login directory. $MGC_HOME is the value of the MGC_HOME environment variable that specifies the location of your Mentor Graphics software. $MGC_WD is the value of the MGC_WD environment variable that specifies the current working directory. All applications search for startup files and execute them in the following order: 1. Site-specific startup files, if they exist. 2. Workstation-specific startup files, if they exist. 3. User-specific startup files, if they exist. Component-specific startup files are executed when a pathname is specified in the Startup File Path text box for the dialog box that opens a symbol, sheet, or a VHDL document. A default value for this pathname can be specified with the $set_environment_dofile_pathname() function. When debugging a startup file, be aware that function calls within the startup file are not (by default) transcribed when executed from a startup location. To transcribe the lower-level functions in the startup file, first set the transcript mode to bottom. For example, to test a new startup file, type in the active session window:
$set_transcript_mode(@bottom)

Type in an active schematic window:


$dofile(your_home/mgc/startup/schematic.startup)

The previous commands set the transcript mode to bottom and execute the startup file schematic.startup in an active schematic window.

14-12

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Simple Customizing

You can place the sample startup files in the following code blocks in any of the supported startup file locations. Refer to the Design Architect-IC Reference Manual and the AMPLE for IC Flow Reference Manual for descriptions of the functions used in these files.
// // // // // // // // // // // This startup file sets up the DA Session environment and sets the selection model to individual selection rather than additive selection. The following Session setup options are specified: Mouse button click speed = average Input device = mouse Window layout = quadrant tiling Visible: menu bar, window title, message area, palette, status line, softkey area, Active Symbol window. Not visible: Context window. $form_setup_session(125, "mouse", @quad, [@true], [@true], [@true], [@true], [@true], [@true], [@true], []); $set_selection_model(@individual);

Design Architect-IC Users Manual, v8.9_10

14-13

Simple Customizing

Creating DA-IC Userware

The next example sets up the editing environment in the Schematic Editor, then sets the default sheet checks.
// // // // // // // // // // // // // // // // // // This startup file sets net, property text, and comment attributes, then sets default sheet checks. Net attributes: width = p1, dotted line, orthogonal mode = off, snap angle = 44.9, snap = on, dotsize = 0.025, dotstyle = square, junction dots at rippers, closedots displayed, bus_width = p3, autoroute = on, autoripper = on, ripper_symbol = "$MGC_GENLIB/rip", "1X1" Property Text attributes: font = "stroke", ht=0.1875, left-bottom justification, horizontal, transparent, visible

Comment attributes: style = shortdash, width = p3, fill = clear, font = "stroke", height = 0.1875, left-bottom justification, horizontal, transparent $setup_net(@p1, @dot, @off, 44.9, @on, 0.025, @square, @on, @on, @p3, @on, @on, "$MGC_GENLIB/rip", "1X1"); $setup_property_text("stroke", 0.1875, @left, @bottom, 0, @on, @on); $setup_comment(@shortdash, @p3, @clear, "stroke", 0.1875, @left, @bottom, 0, @on); // The following list shows the default sheet checks set by // the next function: // checkfile not saved, report in window and transcript // no user-defined checks // errors and warnings reported for: instances, // special symbols, nets, frames, expressions, pins, // notdots, closedots, dangling nets and pins // errors only reported for: parameters, property owners, // overlapping instances, $setup_check_sheet("da_check_file", @nofile, @window, @transcript, "", void, @all, @all, @all, @all, @errorsonly, @all, @all, @errorsonly, @errorsonly, @all, @all, @all, @nocheck);

14-14

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Simple Customizing

While startup files should not be used to define custom userware functions, they are the simplest method for customizing Design Architect-IC. For an example of a personal startup file, refer to page 14-19.

Source Location
Most people do not (and should not) have permission to alter source code files in the MGC_HOME directories. To customize a particular area of userware, copy the .ample file containing the functions you need to one of your directories, then alter your copy, and load it as described later in this appendix. To find the location of the file you need to copy, choose the MGC > Userware > Edit Source pulldown menu item. Enter the name of the function (do not enter the parentheses) you want to alter in the prompt bar that appears. For example, if you want to modify the $add_property() function for symbols, activate a symbol window and choose the MGC > Userware > Edit Source menu item. Enter $add_property in the prompt bar. The source file that contains the definition of the Symbol Editor $add_property() function is displayed in a Notepad window. The pathname of the file appears in the window title bar. This method of finding the source location can help you identify functions that have been overwritten. You can also use $list_overwritten_functions() to ensure that you haven't overwritten important userware. Most Design Architect-IC userware is in one of the following directories: ${MGC_HOME}/shared/pkgs/da_ic/userware/${LANG} or ${MGC_HOME}/pkgs/da_ic/userware/${LANG} The first directory contains the .ample files, which are loaded at startup. The $MGC_HOME/pkgs directory contains .dofile, and .ample_c files, and other items such as the ASCII help files accessed from the Help > More Help menu.

Design Architect-IC Users Manual, v8.9_10

14-15

Simple Customizing

Creating DA-IC Userware

Personality modules and VHDL editing functions are not in the da_ic package. Each personality module has its own package name such as analog_da.

How to Load Userware


Userware may be loaded into Design Architect-IC, or loaded and immediately executed by DA-IC. Loading userware makes new functions available to the user, but does not immediately execute them. You can load userware by invoking the $load_userware() function or choosing the MGC > Userware > Load menu item in the DA-IC session. This is useful when you want to test userware as you develop it. When immediate execution of commands and functions in the userware file is required, you can use the $dofile() function. The $dofile() function executes statements outside of function declarations. If there is a function declaration in a .dofile, the function is loaded, but not executed; the function needs to be called to be executed. Users and system administrators can also create startup files that are executed at DA-IC invocation time, or the first time a new type of window is created. However, these cannot be compiled, and so are not recommended for extensive customizations, such as loading customized libraries and adding menu items to access those libraries. For more information on startup files, see, Startup Files in the AMPLE fot IC Flow User's Manual.

AMPLE_PATH Environment Variable


You can use the AMPLE_PATH environment variable to communicate the location of customized scope specific dofiles to Design Architect-IC. This variable can contain one or more partial pathnames, separated by colons (:), to your userware files, which may reside anywhere on the network. For example, the following statements (in a Bourne shell) set and export the AMPLE_PATH variable:
AMPLE_PATH=$HOME/mgc_custom:$HOME/mgc/userware export AMPLE_PATH

14-16

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Simple Customizing

You can use the same statements in a Korn shell, or use a single statement:
export AMPLE_PATH=$HOME/mgc_custom:$HOME/mgc/userware

The search begins with the last pathname in the list, and works back to the first pathname in the list (right to left). Each new definition for a function replaces any previous definition in that scope. All Falcon Framework applications will load userware, compiled or not, supplied in a directory specified in the AMPLE_PATH environment variable. The directory name you specify must contain another directory with the same name as the application package. That application package contains the userware you want to load for that application. For example, if you placed your schematic userware customizations in $HOME/mgc_custom/da_ic/schematic.dofile, you specify $HOME/mgc_custom as one of the pathnames in the AMPLE_PATH variable. This is explained in Scope Specific Dofiles on page 14-18. If the AMPLE_PATH variable does not exist, the system searches for userware files in the default location, $HOME/mgc/userware/<pkg_name>, where $HOME is an environment variable whose value is the pathname of the user's home directory. If the AMPLE_PATH variable was created, but was not set, or was explicitly set to be blank (), the system does not look in the default location; only application and site specific userware are loaded. In addition to the normal Falcon userware loading options, Design Architect-IC makes special accommodations for the creators of libraries which should appear in the Design Architect-IC Schematic Editor Libraries menu, and for people developing Design Architect-IC personality modules. These features include:

Scope specific dofiles DES_ARCH_PKGS_TO_LOAD environment variable Invoke-time Bourne Shell Scripts

Design Architect-IC Users Manual, v8.9_10

14-17

Simple Customizing

Creating DA-IC Userware

DES_ARCH_AUX_PKG_LIST environment variable Schematic menu files


The last two items in the list are discussed in Advanced Customizing beginning on page 14-23. For complete information about the AMPLE_PATH variable and how userware is loaded, refer to the Customizing the IC Flow Common User Interface manual and the AMPLE for IC Flow User's Manual.

Scope Specific Dofiles


An AMPLE_PATH pathname must have a subdirectory, da_ic, to indicate to Design Architect-IC to load those files. Design Architect-IC will execute userware in the following files during scope initialization, if the files are located in $AMPLE_PATH/da_ic: da_session.dofile schematic.dofile da_window.dofile symbol.dofile

You can also have a userware file, hdtxt_area.dofile, which is not in this list. Design Architect-IC looks for this file in $AMPLE_PATH/hdtxt because the application package hdtxt defines the scope hdtxt_area (the VHDL window). For example, assume you have the following customized userware files: $HOME/mgc_custom/new/da_ic/schematic.dofile $HOME/mgc_custom/da_ic/schematic.dofile $HOME/mgc_custom/da_ic/da_window.dofile Also assume you set your AMPLE_PATH variable as follows:
$ AMPLE_PATH=$HOME/mgc_custom/new:$HOME/mgc_custom $ export AMPLE_PATH

After all standard Design Architect-IC userware is loaded, your files are loaded in the following order: 1. $HOME/mgc_custom/da_ic/da_window.dofile 2. $HOME/mgc_custom/da_ic/schematic.dofile

14-18

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Simple Customizing

3. $HOME/mgc_custom/new/da_ic/schematic.dofile

DES_ARCH_PKGS_TO_LOAD Environment Variable


Personality modules are packages of userware customized for use by downstream applications. Mentor Graphics supplies the hotkeys_da personality module which loads automatically to enable hotkey functionality within DA-IC. You can use the DES_ARCH_PKGS_TO_LOAD environment variable to specify which personality modules are automatically loaded. Only the modules listed in the variable are loaded by DA-IC. The value of the variable must be a quoted string of package names with each name separated by a space. The packages are loaded in the order specified (first one listed is loaded first). Each new definition for a function replaces any previous definition in that scope. If DES_ARCH_PKGS_TO_LOAD is not defined prior to invoking DA-IC, none of the personality modules in the $MGC_HOME/pkgs directory are loaded. Use one of the following methods to set DES_ARCH_PKGS_TO_LOAD:

Set the variable in $HOME/.profile. Write a script to set and export the variable, then invoke Design ArchitectIC. For example, if you always want specific modules loaded, you could create a Bourne shell script with the following commands:
DES_ARCH_PKGS_TO_LOAD='module names' export DES_ARCH_PKGS_TO_LOAD $MGC_HOME/bin/da_ic

Personal Startup Example


An ASIC Vendor wants to set up a toolkit where only their component libraries are available. Because all of their files are outside of the $MGC_HOME tree, they use AMPLE_PATH. They don't want any other libraries or personality modules to be loaded, but they do want to preserve the users' power to make userware changes in their $HOME/mgc/userware directory.
!/bin/sh

Design Architect-IC Users Manual, v8.9_10

14-19

Simple Customizing

Creating DA-IC Userware

# # ASIC_VENDOR Driver for Design Architect-IC # This file is in a directory in the user's shell's $PATH, # and will be executed when the user types: # # asic_vendor_da # library_pathname="$MGC_HOME/user/asic_vendor/libraries" echo "ASIC_VENDOR Driver for Design Architect-IC," echo " version 1.1, 6/6/1992 ${library_pathname}" if [ "${AMPLE_PATH}" = "" ] then # set default search path and add new path AMPLE_PATH=${HOME}/mgc/userware:${library_pathname} else AMPLE_PATH=${AMPLE_PATH}:${library_pathname} if export AMPLE_PATH # unset to turn off loading of other packages unset DES_ARCH_AUX_PKG_LIST export DES_ARCH_AUX_PKG_LIST $MGC_HOME/bin/da_ic $@

Userware Examples
The following text shows sample customization tasks that require light maintenance for subsequent releases of Mentor Graphics software. Creating New Functions Using Documented Userware Rework Level: Light -- Userware functions created using calls to documented Mentor Graphics functions require little or no maintenance from one release to the next. All user visible changes to documented functions are listed in release notes. To make sure that userware functions do not overload Mentor Graphics functions, use a unique prefix at the beginning of all custom functions. In addition to preventing overloaded functions, the prefix alerts users to the origin of the function.

14-20

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Simple Customizing

The following code block contains a sample userware function and command registration of the function. The prefix, 'vndr_', is used in the function name and during command registration. The prefix is not used with the 'c_int' external variable because the variable is removed after command registration
1 function vndr_part_copy( part :string,

2 3 4
5 6 7 8 9 10 {

props : switch name [on, off], depth : label integer [0, 4] ), SEALED $writes_file($stdout, $strcat( "The part string is : ", part, "\nThe props switch is : ", props, "\nThe depth label is : ", depth, "\n"));
}

11 12 13 14 15

extern c_int = $register_command("par.t co.py", "vndr_"); $register_args("of.f", @off, c_int); $register_args("d.epth", "depth", c_int); $register_alias("pcopy", cint); $undefine_id(@c_int);

Design Architect-IC Users Manual, v8.9_10

14-21

Simple Customizing

Creating DA-IC Userware

Creating New Menus Rework Level: Light -- New menus created in userware that call documented functions or custom userware functions require light maintenance. New menus must be created for all custom menus, to delete a menu item from an existing menu, or to reorder the items on an existing menu. All menu types available in the Common User Interface are created with the $create_menu() function. The following lines show the syntax for the $create_menu() function:
$create_menu(`scope_name', menu_type, 'menu_name', columns, 'bgd_color', items)

The following code block creates a pulldown menu for the VNDR menu bar item in Design Architect-IC; Figure N-1 shows the resulting menu.
1 2 function vndr_pulldown_menu(),INVISIBLE {

3
4 5 6 7

$create_menu(schematic, @pulldown,vndr_pulldown,1,, $menu_text_item(Display Library _Palette, '$replace_part_palette(VNDR_Root_Palette)')


); }

Design Architect-IC Setup Miscellaneous Libraries Check Report View Help VNDR

dae ) ( my_des | schematic | sheet1 ) (inv | inv) ( )

(4.0189, -0.7736) Display Library Palette

Figure N-1. Sample Menu Item

14-22

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

Advanced Customizing
The following text is for component library developers and others ! who do major customization. These methods alter the MGC Caution Tree, and are not intended for most users.

DES_ARCH_AUX_PKG_LIST Environment Variable


The DES_ARCH_AUX_PKG_LIST environment variable specifies a list of package names in the $MGC_HOME/pkgs directory that contain userware to be loaded into Design Architect-IC scopes. When this variable is set, the specified packages are loaded, in addition to any automatically loaded userware packages. When DES_ARCH_PKGS_TO_LOAD is set, the packages specified by both of these variables are loaded. You can place customized userware in .ample and .dofile files in $MGC_HOME/pkgs/dir_name/userware/${LANG} and instruct Design ArchitectIC to load it by setting the DES_ARCH_AUX_PKG_LIST variable to dir_name. If you assign multiple values to the variable, separate the values with colons (:). For example, suppose you have three projects. Project A needs customized userware for the Symbol Editor, whereas Project B needs customized userware for the Schematic Editor. Project C needs the customized userware from both the other projects. You will create the following two subdirectories in which to place your userware files: $MGC_HOME/pkgs/project_a/userware/${LANG} $MGC_HOME/pkgs/project_b/userware/${LANG} Project A users need to set this variable:
$ $ DES_ARCH_AUX_PKG_LIST=project_a export DES_ARCH_AUX_PKG_LIST

Users in Project B need to set this variable:


$ $ DES_ARCH_AUX_PKG_LIST=project_b export DES_ARCH_AUX_PKG_LIST

Design Architect-IC Users Manual, v8.9_10

14-23

Advanced Customizing

Creating DA-IC Userware

Users in Project C need to set this variable to get both of the customizations:
$ $ DES_ARCH_AUX_PKG_LIST=project_a:project_b export DES_ARCH_AUX_PKG_LIST

Design Architect-IC will load any of the following files with .ample extensions, provided there is no *.ample_c file, and will execute any of the following files with .dofile extensions in the ...userware/${LANG} directory: da_session.ample da_window.ample schematic.ample symbol.ample hdtxt_area.ample da_session.dofile da_window.dofile schematic.dofile symbol.dofile hdtxt_area.dofile

For better performance, you can compile .ample files into a single file, and place the compiled file in the ...userware/${LANG} subdirectory. The name of the compiled file must be the same as the package name. For example, the pathname of the compiled file used by Project A in the previous example must be: $MGC_HOME/pkgs/project_a/userware/${LANG}/project_a.ample_c If there is no compiled userware in the directory, or the compiled file does not include userware for one or more scopes, DA-IC loads uncompiled .ample files such as: $MGC_HOME/pkgs/minico_da/userware/${LANG}/schematic.ample

14-24

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

DES_ARCH_AUX_PKGS_LIST Example
In this example, a group has received permission to place their userware inside the $MGC_HOME tree, so they can use DES_ARCH_AUX_PKGS_LIST to inform Design Architect-IC of the location of userware to load. User settings of environment variables will be supplemented, not replaced.
#!/bin/sh # # This script adds a pkg name to the DES_ARCH_AUX_PKG_LIST # environment variable which DA-IC will check for in the # $MGC_HOME tree to load userware and libraries. library_package_name="minico_da" echo "Using ${library_package_name} version 0.1" if [ "${DES_ARCH_AUX_PKG_LIST}" = "" ] then DES_ARCH_AUX_PKG_LIST=${library_package_name} else DES_ARCH_AUX_PKG_LIST= ${DES_ARCH_AUX_PKG_LIST}:${library_package_name} fi export DES_ARCH_AUX_PKG_LIST

Design Architect-IC Users Manual, v8.9_10

14-25

Advanced Customizing

Creating DA-IC Userware

Environment Variable Summary


Table 14-3 shows how to set environment variables to load the desired userware. In the AMPLE_PATH column, default is $HOME/mgc/userware. Table 14-3. Environment Variable Summary
Userware Loaded Only standard DA-IC Default userware: Custom in $HOME/mgc/userware Default userware Userware not in default location Default userware Specific personality modules and/or other pkgs in MGC tree Specific personality mods Other packages in MGC tree Specific personality mods Userware not in default location Specific personality mods Other packages in MGC tree Userware not in default location DES_ARCH_ AUX_PKG_LIST unset unset DES_ARCH_ AMPLE_PATH PKGS_TO_LOAD unset unset (blank) unset

unset

unset

set to default + desired directories unset

unset

set to desired packages

set to desired packages

set to desired packages

unset

set to desired packages

set to desired directories

set to desired packages

set to desired packages

set to desired directories

14-26

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

Table 14-3. Environment Variable Summary [continued]


Userware Loaded Specific personality modules and/or other pkgs in MGC tree Specific personality modules Userware not in default location Userware not in default location DES_ARCH_ AUX_PKG_LIST unset DES_ARCH_ AMPLE_PATH PKGS_TO_LOAD set to desired packages

unset

set to desired packages

set to desired directories

unset

unset

set to desired directories

Design Architect-IC Users Manual, v8.9_10

14-27

Advanced Customizing

Creating DA-IC Userware

Schematic Menus
The schematic.dofile File A common use for the schematic.dofile is to call AMPLE functions that create library menu definitions. When you want to access other component libraries, such as those from thirdparty vendors, the userware that defines the menus and adds them to the Libraries pulldown menu needs to be loaded. The following must be true:

If the libraries are placed in the $MGC_HOME tree, then one or both of the
following files must exist: $MGC_HOME/pkgs/lib_pkg_name/userware/${LANG}/ schematic.ample or $MGC_HOME/pkgs/lib_pkg_name/userware/${LANG}/ lib_pkg_name.ample_c

You also must have:


$MGC_HOME/pkgs/lib_pkg_name/userware/${LANG}/ schematic.dofile

You must add the lib_pkg_name to the list of package names for the
DES_ARCH_AUX_PKG_LIST environment variable, and export the variable.

The Libraries pulldown menu exists only when the analog_da personality module is successfully loaded.
Note

14-28

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

The schematic.menu and schematic.ample Files The following text contains an example of a schematic.menu file and a schematic.ample file, and suggestions on how to use them. Some of the command lines in the following text have been adjusted so that they fit properly on the page.
Note

HINTS: 1. Check that your HOME environment variable is set to /<yourpath>/<user_name> by typing env in a unix shell. If you do not have this variable, have your system administrator create it. 2. Create a directory called mgc/userware/da_ic in your home directory:
mkdir $HOME/mgc mkdir $HOME/mgc/userware mkdir $HOME/mgc/userware/da_ic

3. If you desire to create a userware directory elsewhere than at $HOME/mgc/userware, set the AMPLE_PATH environment variable to include that directory; otherwise, this step is not necessary. (See the discussion starting on page 14-16.) The AMPLE_PATH should be added to your startup/login file so you will not have to set it each time you log in. 4. Copy the schematic.ample file to your userware directory:
cp $MGC_HOME/shared/pkgs/mgc_digital_uw/userware/default\ /schematic.ample $HOME/mgc/userware/da_ic/schematic.ample

5. Copy the schematic.menu file to your userware directory:


cp $MGC_HOME/pkgs/mgc_digital_uw/userware/default\ /schematic.menu $HOME/mgc/userware/da_ic/schematic.menu

Design Architect-IC Users Manual, v8.9_10

14-29

Advanced Customizing

Creating DA-IC Userware

Use the schematic.ample and the schematic.menu files below as examples of how to modify your copy of the two files. In all the places that need changing, there are //comments indicating a CHANGE from the existing function to the new function. Included also are the line numbers of where the function changes are located in the files. 6. Once you have completed your schematic.ample and schematic.menu files, test them by invoking Design Architect-IC, open a sheet, and pull down the libraries menu. Your top library name should now be in this menu. Check out the remainder of your library palette to ensure it works as desired. 7. Compile your schematic.ample file to speed up the invocation of Design Architect-IC. This creates a file called da_ic.ample_c. This compiles ALL userware in your directory, so if you have subsequent changes to the source (.ample) files, you will need to delete the da_ic.ample_c file, make your changes and re-compile. For Example:
compile_userware -i $HOME/mgc/userware -o $HOME/mgc/userware -p da_ic

Examples of SCHEMATIC.MENU and SCHEMATIC.AMPLE:


Start of schematic.menu //----------------------------------------------------------// //This schematic.menu file is meant for customizing MGC released // libraries/parts to Design Architect-IC // Date created: Thu Mar 5 14:06:38 SIN 1995 // //------------------------------------------------------------// Start a block so that local variables can be defined { // Turn transcripting off local old_mode = $set_transcript_mode(@off); // Call the function to build the toplevel menu //-------------------------------------------------------//------Line 16 //------CHANGE $MGC_Digital_Libraries_menu

14-30

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

//------TO $custom_menu //-----------------------------------------------------------$custom_menu(); // Add the toplevel menu to the DA-IC library menu //------------------------------------------------------------//----Line 18 //CHANGE $add_library_menu_item('MGC _Digital Libraries' ,"$replace_part_palette('MGC Digital Libraries')" , "mgc_libraries_pulldown"); //------TO $add_library_menu_item('University _Libraries' ,"$replace_part_palette('UniversityLibraries')");

//------------------------------------------------------------$add_library_menu_item('University_Libraries' , "$replace_part_palette('University Libraries')"); // Return transcripting to its original level $set_transcript_mode(old_mode); // End the block } End of schematic.menu.

Start of schematic.ample //----------------------------------------------------------// // This schematic.ample file is meant for customizing // MGC released libraries/parts to Design Architect-IC // // Date created : Mon Feb 10 10:23:53 SIN 1992 // // Change History: // o added character mnemonics to the pulldown menus for // keyboard manipulation in addition to mouse activation ... // feature // - Kuek Fong ( Sep 1995 ) // //---------------------------------------------------------------

Design Architect-IC Users Manual, v8.9_10

14-31

Advanced Customizing

Creating DA-IC Userware

//-----------------------------------------------------------//------Line 42 //------CHANGE function $MGC_Digital_Libraries_menu(), INVISIBLE //------TO function $custom_menu(), INVISIBLE //THIS MUST MATCH THE NAME IN THE SCHEMATIC.MENU FILE WHERE THE //CALL TOFUNCTION TO BUILD TOP LEVEL MENU IS DEFINED //------------------------------------------------------------function $custom_menu(), INVISIBLE { extern rom_logic = " "; extern logic = " "; // logic selection for rom_lib only // logic selection for libraries //other than rom_lib extern casetype = " "; // for symbol type selection //------------------------------------------------------------//------Line 49 //------CHANGE $create_library_menu(@available , @palette, "MGC Digital Libraries",, //------TO $create_library_menu(@available , @palette, "University Libraries",, //THIS MUST MATCH THE LIBRARY NAME DEFINED IN SCHEMATIC.MENU //WHERE YOU ADD THE TOP LEVEL MENU TO THE DA-IC LIBRARY NAME!! //------------------------------------------------------------$create_library_menu("schematic", @palette, "University Libraries",, //------------------------------------------------------------//------Line 50 (see the NOTE below!) //------ADD MENU TEXT ITEM TO BE INCLUDED IN MAIN PALETTE // FOR EXAMPLE: ,$menu_text_item("dev_lib" , '$show_sub_palette("dev_lib")', , @off) //------------------------------------------------------------,$menu_text_item("dev_lib",'$show_sub_palette("dev_lib"0', ,@off) //------There are currently 32 text items in the above function. //Change the library names to your own, and delete the extra //entries as necessary. // //NOTE: Line numbers below are based on an unedited //schematic.palette! Use those numbers as a guide to find the //functions listed.

14-32

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

//------DELETE lines 85 through 309. (See NOTE above!) //-----------------------------------------------------------//------Line 310 (See NOTE above!) //-----CHANGE function $mgc_libraries_pulldown_menu(), INVISIBLE //------TO function $university_libraries_pulldown(), INVISIBLE //------------------------------------------------------------function $university_libraries_pulldown_menu(), INVISIBLE { $create_menu("schematic" ,@popup //----------------------------------------------------------//------Line 314 (See NOTE above!) //------CHANGE ,"mgc_libraries_pulldown" //------TO ,"university_libraries_pulldown" //------------------------------------------------------------,"university_libraries_pulldown" ,$menu_default_columns ,$menu_default_color ,$menu_context_item( "($is_diagram_in_edit_mode() )" //------------------------------------------------------------//------Line 319 (See NOTE above!) //------CHANGE ,"Display _Libraries Palette" , "$replace_part_palette('MGC Digital Libraries')" ) //------TO ,"Display _Libraries Palette" , "$replace_part_palette('UNIVERSITY Libraries')" ) //THIS NAME MUST MATCH THE MENU NAME IN $CREATE_MENU IN THE TOP //MENU FUNCTION CUSTOM_MENU REDEFINED AT THE BEGINNING OF THE //FILE. //------------------------------------------------------------,"Display _Libraries Palette" , "$replace_part_palette ('UNIVERSITY Libraries')" ) ,$menu_context_item( "($in_edit_mode )" ,"Set _Interfaces Defaults" , "$init_global_types() " ,,, "parts_interface_pulldown" ) ); } //------------------------------------------------------------// Library Palettes Created On Demand // //-------------------------------------------------------------

Design Architect-IC Users Manual, v8.9_10

14-33

Advanced Customizing

Creating DA-IC Userware

----------------// DEFINE YOUR DEVELOPMENT LIBRARY MENU BEGINNING ON LINE 331 // FOR EXAMPLE: //------CHANGE //function $ac_lib_menu(), INVISIBLE //{ // $create_library_menu( @available // , @palette // ,"ac_lib" // , 1, // ,$menu_text_item("ground" //,"$add_or_replace_instance('gen_lib','$MGC_GENLIB/ground')") // ,$menu_text_item("portin" //,"$add_or_replace_instance('gen_lib','$MGC_GENLIB/portin')") // ... // ,$menu_text_item("74ac824" //,"$add_or_replace_instance('ac_lib','$MGC_ACLIB/74ac824')") // ); //} //------TO //function dev_lib_menu(), INVISIBLE //{ // $create_menu("schematic" // , @palette // ,"dev_lib" // , 1, //,$menu_text_item("ground" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/ground')") // ,$menu_text_item("portin" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/portin')") // ,$menu_text_item("portout" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/portout')" // ,$menu_text_item("vcc" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/vcc')") // ); //} //------------------------------------------------------------End of schematic.ample.

14-34

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

Design Architect-IC Menu Customization Functions


The following text describes the $create_library_menu() and $add_library_menu_item() functions and provide examples for adding menus and menu items in Design Architect-IC. The function $prompt_for_diagram_location() describes which returns the interactive cursor input location in user units instead of pixels. $create_library_menu() This function is defined in the ui_base scope. The pathname is: $MGC_HOME/shared/pkgs/da_ic/userware/${LANG}/ui_base.ample. Usage $create_library_menu(instance_replace_mode, menu_type, menu_name, columns, bgd_color, item1, item2, ... itemN) Description Place the $create_library_menu() function in your schematic.ample file. This function allows library developers to inform Design Architect-IC about their support for calling $replace() on components listed in their menu. Library developers should use this function instead of $create_menu(). If they use $create_menu(), their menus will work in $$add_instance mode at all times. The defaults for menu_name, columns, and bgd_color are values of internal variables set by the Session. Arguments

instance_replace_mode
This argument determines whether instance replacement functionality is available in the palette popup menu. If it is available, Replace Instance appears in the palette popup menu when an instance is selected. After an instance has been replaced, the menu item toggles to Add Instance. The

Design Architect-IC Users Manual, v8.9_10

14-35

Advanced Customizing

Creating DA-IC Userware

two possible values of instance_replace_mode are @available and @unavailable.

menu_type
This is the name of the type of menu you are creating. Choose one of the following: @popup, @pulldown, or @palette.

menu_name
This string specifies the name of the menu. The default is the value of the $menu_default_popup_name variable.

items
This repeating argument defines items in your menu. Each menu item must be quoted.

columns
This optional integer specifies the number of columns you want in your menu. It defaults to the value of the $menu_default_columns variable.

bgd_color
This optional string defines the background color for the menu. The default is the value of the $menu_default_color variable.

14-36

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

$add_library_menu_item() This function is available in the schematic scope. The pathname is: $MGC_HOME/shared/pkgs/da_ic/userware/${LANG}/schematic.ample. Usage $add_library_menu_item(display_text, action, submenu_name) Description The $add_library_menu_item() function is to be used in the schematic.dofile file by library developers who want their menu access added to the Libraries pulldown menu. The developer calls this with his choice of display_text which is what will actually display in the pulldown. Arguments

display_text
This string specifies the text that actually appears in the menu.

action
This will ordinarily be a call to make your palette menu appear in the palette area. This is the call $replace_part_palette() in the example at the end of this function definition. The action call should be placed inside of quotes, because it is a string.

submenu_name
This string is the name of the submenu, and is only needed if there is going to be a cascade menu off of this newly added menu item.

Design Architect-IC Users Manual, v8.9_10

14-37

Advanced Customizing

Creating DA-IC Userware

Example(s) Here is an example of how the mgc_digital_uw package makes its call:
$add_library_menu_item("MGC _Digital Libraries", "$replace_part_palette('MGC Digital Libraries')", "mgc_libraries_pulldown");

MGC Digital Libraries is the display_text; $replace_part_palette('MGC Digital Libraries') is the action; mgc_libraries_pulldown is the submenu_name. When this function is called, Design Architect-IC creates the specified menu item and adds it onto the Libraries pulldown menu.

14-38

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

$add_or_replace_instance() As a library developer, you should write a function that does exactly what you want it to do. The $add_or_replace_instance() function can serve as a guide if it does some or most of what you want. Once you have written your function, call it from your own menus. The pathname to the file in which the $add_or_replace_instance() function is defined is: $MGC_HOME/shared/pkgs/da_ic/userware/$LANG/schematic.ample Copy the function to your own schematic.ample file, and edit the function to match your needs. Be sure to give the edited function a unique name; DO NOT name it $add_or_replace_instance(). Also, user-defined functions should not begin with $. If you do not rename the function, your function will overwrite the one supplied by Mentor Graphics, and the Mentor Graphics menu will not work correctly. The following is a short version of the $add_or_replace_instance() function.
function sample_add_or_replace_instance( comp : string, smbl : optional string { default = "" } ), INDIRECT { if ($does_component_exist(comp) != "") { $set_active_symbol(comp,smbl); if (session_area@@$instance_replacement_mode == @off) $place_active_symbol(); else $$replace(comp,smbl,@clear); $set_instance_replacement_mode(@off); else $message($format("Cannot find component %s. Please ensure logical name is defined or have the component installed.",comp),@warning); }

Keep in mind that the $add_or_replace_instance() function is only a guide; it is not meant to be used as is by library developers. It was written specifically to be called by the Mentor Graphics gen_lib menus. Notice that the function exists only in the file in which it is used as a call from the menus defined by the same group.

Design Architect-IC Users Manual, v8.9_10

14-39

Advanced Customizing

Creating DA-IC Userware

If you want your menus to allow replace as well as add functionality, it is necessary to put the following line after the add or replace action is complete:
$set_instance_replacement_mode(@off);

This is the only way that the palette menu knows to change the popup menu item from Replace Instance back to Add Instance.

14-40

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

$prompt_for_diagram_location() Scope: bed Usage $prompt_for_diagram_location(@multi_window, @multi_window_paint, @ignore_grid) Description The $prompt_for_diagram_location() function is used as an argument in the $prompt_dynamic() function to retrieve the cursor location in user units. Another function $prompt_for_location() can be used, but is less useful because the location is returned in pixels. Arguments The arguments for this function can be specified in any order and include the following:

@multi_window
Enables inter-window dynamics. If omitted, the dynamic suspends whenever the mouse cursor is outside the active window. If specified, the dynamic resumes when the mouse cursor is over any Bed_window showing the same Bed_diagram as the active window. Dynamic graphics are only rendered in the window that contains the mouse cursor. Note that a builtin command only knows that inter-window dynamics occurred by checking the area names returned in the Bed_diagram_location ...

@multi_window_paint
This argument enables multi-window rendering of dynamic graphics. If omitted, the dynamic only displays in the window that contains the mouse cursor. If specified, the dynamic displays in all windows into the same diagram as the window that contains the mouse cursor.

Design Architect-IC Users Manual, v8.9_10

14-41

Advanced Customizing

Creating DA-IC Userware

@ignore_grid
Does not return the nearest grid location. Example The following code shows how the $prompt_for_diagram_location() is used in the $$slice() function.
function $$slice( pt1 : diagram_location, pt2 : diagram_location, all_props : Boolean {default = FALSE}) { $invis_clear_saved_prompt(); $slice(pt1, pt2, all_props); } function $$slice_prompt(),INVISIBLE { $create_prompt("da_window", @$$slice, "Slice", $prompt_arg(@pt1, "First Point"), $prompt_dynamic(@pt1, "($prompt_for_diagram_location(@multi_window, @multi_window _paint))"), $prompt_arg(@pt2, "Second Point"), $prompt_dynamic(@pt2, "($prompt_for_diagram_line(pt1, @wait_for_lmb_up, @multi_wi ndow, @multi_window_paint))"), $prompt_arg(@all_props, "Copy Properties to all Comments") ); }

Related Functions $prompt_for_location() $prompt_dynamic() $create_prompt()

14-42

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

Userware Examples
The following text shows sample userware customizations that vary in maintenance levels from light to heavy. Adding a Palette Library Menu Rework Level: Light -- New menus created in userware that call documented functions or custom userware functions require light maintenance. The my_lib_menu() function in this example also belongs in the schematic.ample file. It shows how to add a palette library menu. This function should also be written with a unique name, so that it does not interfere with existing Mentor Graphics component library functions. The function should be written to include functionality necessary for the successful use of your customized library parts. Every custom library palette menu function you create must have a name the ends with _menu() in order for the palette menu to work correctly.

Note

// This function defines the palette menu for your customized // parts. These are sample parts. function my_lib_menu(), INVISIBLE { $create_library_menu( @available , @palette ,"my_lib" , 1, ,$menu_text_item("ground", "$sample_add_or_replace_instance('$MGC_GENLIB/ground')") ,$menu_text_item("portin", "$sample_add_or_replace_instance('$MGC_GENLIB/portin')") ,$menu_text_item("portout", "$sample_add_or_replace_instance($MGC_GENLIB/portout')") ,$menu_text_item("vcc", "$sample_add_or_replace_instance('$MGC_GENLIB/vcc')") ,$menu_text_item("74act00", "$sample_add_or_replace_instance('$MGC_ACTLIB/74act00')") ,$menu_text_item("74act11000", "$sample_add_or_replace_instance($MGC_ACTLIB/74act11000')") );

Design Architect-IC Users Manual, v8.9_10

14-43

Advanced Customizing

Creating DA-IC Userware

The items below go into a schematic.dofile file. The function calls in this file add the menu(s) and menu item(s) that you defined in the schematic.ample file.
// Start a block so that local variables can be defined { // Turn transcripting off local old_mode = $set_transcript_mode(@off); // Call the function to build the toplevel menu my_lib_menu(); // Add the toplevel menu to the DA-IC library menu $add_library_menu_item('My _Library', "$replace_part_palette('my_lib')"); // Return transcripting to its original level $set_transcript_mode(old_mode); // End the block

Adding to MGC Menus Rework Level: Moderate -- Adding to existing menu items requires little maintenance, unless the name of a menu changes from one release to the next. Also, when adding items to context-sensitive menus (for example, the popup menus in the Design Architect-IC schematic window), check the names of the menus at each release. Items are added to an existing menu with the $add_menu_item() function. The syntax for the function is as follows:
$add_menu_item(menu, item, menu_name);

When calling the $add_menu_item() function, use either the menu argument or the menu_name argument, not both of the optional arguments. The menu and menu_name arguments are described in the following list: menu The menu id. This is the value returned when the $create_menu() function is called. If this value is not stored in an external variable, then the value is lost. The text string that is the menu name.

menu_name

14-44

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Advanced Customizing

The names of the default popup, palette, and menu bars for a scope are stored in reserved AMPLE variables: $menu_default_popup_name, $menu_default_palette_name, and $menu_default_menu_bar_name respectively. The simplest way to determine the name of the menu is to activate the window associated with the menu, and then call the $writeln() function with the appropriate reserved AMPLE variable name as an argument. If this method fails, examine the source userware to determine the menu name. The following code block shows an example call to $add_menu_item(). Notice the use of the reserved AMPLE variable in the function call to minimize the potential for rework in a future software release.
1 2 $add_menu_item(,$menu_bar_item(V_NDR,vndr_pulldown), $menu_default_menu_bar_name);

Design Architect-IC Users Manual, v8.9_10

14-45

Advanced Customizing

Creating DA-IC Userware

The code block that follows could be placed in the schematic.dofile file to customize the menus in Design Architect-IC; the list explains the code block: Line(s) 2 and 8 3-4 5-6 7
1 {

Action(s) Stores the existing transcript mode in the trans_mode local variable, and then restores transcripting to original mode. Adds the VNDR item to the menu bar. Adds the VNDR Library item to the Libraries pulldown menu. Stores the name of the default palette menu for later use.

2 3
4

5
6

7 8
9

local trans_mode = $set_transcript_mode(@off); $add_menu_item(, $menu_bar_item("V_NDR", "vndr_pulldown"), $menu_default_menu_bar_name); $add_library_menu_item('V_NDR Library', '$replace_part_palette("VNDR_Root_Palette")'); extern vndr_dpal = $menu_default_palette_name; $set_transcript_mode(trans_mode);
}

14-46

Design Architect-IC Users Manual, v8.9_10

Creating DA-IC Userware

Recommendations

Recommendations
Here are a few recommendations to make your customization easier:

Look at existing Mentor Graphics userware for examples of how to use


AMPLE. Look in: $MGC_HOME/shared/pkgs/da_ic/userware/En_na

Create a separate file that adds to Mentor Graphics userware, instead of


modifying the Mentor Graphics userware. This will make maintenance much easier as you receive new releases.

Create separate palettes and menus, rather than changing or adding directly
to Mentor Graphics palettes and menus. This also makes maintenance easier.

Do not create userware that is dependent upon screen locations. Creating


any userware that is dependent on the size or position of any portion of an application window is not only going to require a large amount of maintenance from one software release to another, but may require changes for each platform that Mentor Graphics supports.

Design Architect-IC Users Manual, v8.9_10

14-47

Recommendations

Creating DA-IC Userware

14-48

Design Architect-IC Users Manual, v8.9_10

Chapter 15 Hotkey Function Dictionary

Function Summary
Table 15-1 alphabetically lists the Hotkey functions included in this chapter and gives a brief description of each function. Table 15-1. Function Summary Function $copy_edit_hotkey_settings() Description Copies one of the predefined Hotkey settings to a specified work area and invokes the AMPLE editor on the new file. Assigns a Design Architect-IC command to an alphanumeric key. Returns the enable status of Hotkeys. Returns a vector of vectors that contains Hotkey names and their comments. Loads either predefined, user-defined, or custom Hotkey settings. Displays a list of all loaded Hotkeys and their comments. Specifies whether Hotkeys are enabled or disabled.

$define_hotkey() $get_hotkey_mode() $get_hotkey_settings() $load_hotkey_settings() $report_hotkey_settings() $set_hotkey_mode()

Design Architect-IC Users Manual, v8.9_10

15-1

Function Description Legend

Hotkey Function Dictionary

Function Description Legend


This section contains descriptions of Hotkey functions. Many of these functions are linked to a command and a menu item. This flexibility lets you use the method you like best for performing any particular task. The function descriptions in this section are in alphabetical order, and follow a standard format. Each function description begins at the top of a page, followed by sections listed here:

Function Title
This section contains the function's name, applicable scope, and window. The Scope and Window subsections are defined as follows: Scope: A scope is a portion of the environment in which userware or an AMPLE identifier has meaning. The Hotkey functions have meaning in the da_window scope. Window: The Hotkey functions are only available in the Design ArchitectIC Schematic and Symbol Editor windows.

Usage
This subsection shows how to use the function by listing the following: Function usage line Command usage line Menu path (always presented) (only if registered as a command) (only if available through a menu item)

1. Function usage line - shows exact and literal AMPLE syntax along with the argument order.

Required Arguments

Optional Argument

$function_name(arg1, arg2, arg3)

Figure 15-1. Function Usage Line Legend

15-2

Design Architect-IC Users Manual, v8.9_10

Hotkey Function Dictionary

Function Description Legend

A function call usually begins with a dollar sign, with the arguments enclosed in parentheses (shown in Figure 15-1). The arguments are separated by commas and are structured as follows:

Required arguments are in standard font. Optional arguments are in italic font.
Any argument that has more than one listed value has a place-holder in the usage line. The Arguments subsection lists values for that function list, and explains the exact names. The usage line shows all vector arguments in this subsection, as they appear on the prompt bar, or in the dialog box. The description of each argument shows all sub-arguments used directly within a program or on a command line. For example, the description expands the vector argument [to_location] to [x, y, window]. Then, it expands the vector argument [name] to [name1, name2, ..., nameN]. In this example, the values name1 and name2 are required values and additional values are optional. The usage line presents rest arguments in a manner similar to vectors, but without brackets. For example, when a rest argument such as name appears in italics on the usage line, you can enter zero or more values. Similarly, when a rest argument such as string appears in standard font on the usage line, the description of that argument expands to string1, ..., stringN. 2. Command usage - If the function is linked to an equivalent command, this subsection also shows the command usage.

FUNction NAme arg1 arg2 arg3 FUN NA arg1 arg2 arg3

Command Syntax What is entered

Figure 15-2. Example of Function Command Usage

Design Architect-IC Users Manual, v8.9_10

15-3

Function Description Legend

Hotkey Function Dictionary

The command usage line shows exact and literal AMPLE syntax, and the order of required arguments. Figure 15-2 shows the uppercase characters that indicate the minimum set of characters that you must type. If you omit all spaces from the minimal typing, you can execute the expert command. Required arguments are in standard font; optional arguments are in italic font. The command usage line shows a placeholder for arguments that can have more than one listed value, or that can have multiple values entered. It shows vectors and rest arguments as they appear in Function Usage. 3. Menu path - If the function can be called from a menu item, this subsection shows the complete menu path. For example, Figure 15-3 shows the $copy_edit_hotkey_settings() called from the menu path (Schematic and Symbol Editor) Miscellaneous > Hotkeys > Customize...:

Figure 15-3. Menu Path Example

15-4

Design Architect-IC Users Manual, v8.9_10

Hotkey Function Dictionary

Function Descriptions

Description
This subsection contains a detailed description of the function's behavior and any of its undo capabilities.

Arguments
This subsection displays a bulleted list of required and optional arguments, and also provides descriptions. Required arguments are listed in bold, standard text; optional arguments are listed in bold, italic text.

Examples
This subsection contains examples of function usage and (where applicable) command and menu usage.

Function Descriptions
The following pages contain an alphabetical listing of Hotkey functions.

Design Architect-IC Users Manual, v8.9_10

15-5

$copy_edit_hotkey_settings()

Hotkey Function Dictionary

$copy_edit_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $copy_edit_hotkey_settings(style, destination) COPy EDit Hotkey Settings style, destination Miscellaneous > Hotkeys > Customize... Description Copies one of the predefined hotkey settings to a specified work area, and invokes the AMPLE editor on the new file. After compiling and saving the file, the user can load the file in subsequent sessions as a custom hotkey file. Arguments

style
A name that specifies which Hotkey settings to copy from the $MGC_HOME/shared/pkgs/da_ic/userware directory. It must use the following argument: @da_editing: Design Architect-IC editing key mappings.

destination
A string that specifies where to copy the Hotkey settings. Example This example copies the Design Architect-IC editing Hotkey settings into the file my_hotkey_settings in the $HOME directory and invokes the AMPLE editor on this new file.
$copy_edit_hotkey_settings(@da_editing,"$HOME/my_hotkey_settings")

15-6

Design Architect-IC Users Manual, v8.9_10

Hotkey Function Dictionary

$define_hotkey()

$define_hotkey()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $define_hotkey(key_name, function_name, comment) DEFine HOtkey key_name function_name comment Miscellaneous > Hotkeys > Define... Description Assigns a Design Architect-IC command to an alphanumeric key. Figure 15-4 shows that the $define_hotkey() function calls a dialog box that contains a scroll list of Design Architect-IC commands.

Define Hotkey Select a Command: Add Arc Add Bus Add Circle Add Dot Add Frame Add FB Defn Add FB Inst Add FB Pin Add Instance Add Line

OK

Reset

Cancel

Figure 15-4. $define_hotkey() Dialog Box The user selects one of the commands, then selects an alphanumeric key to map the command to. After the key is selected, the user is prompted to enter a descriptive comment that is saved along with the key mapping.

Design Architect-IC Users Manual, v8.9_10

15-7

$define_hotkey()

Hotkey Function Dictionary

A complete list of cross-referenced Design Architect-IC commands contained in the $define_hotkey() dialog box can be found in Appendix B, Hotkey Commands. The $define_hotkey() function saves the assignment to an individual hotkey file in the $HOME/mgc/da_hotkeys directory. The name of the alphanumeric key is used in the Hotkey file name. For example, if the a key is mapped, then the function creates a resultant file named key_a.ample for that key. To load all hotkey files, you can use $load_hotkey_settings(@user). If used with the arguments, the function maps an AMPLE function to a userspecified alphanumeric key. If no arguments are specified, then the function calls the $define_hotkey() dialog box illustrated in Figure 15-4. Arguments

key_name (key_name)
An optional string that contains the alphanumeric key to assign.

function_name (function_name)
An optional string that contains the AMPLE functions name.

comment (comment)
An optional string that contains a comment describing the AMPLE function. Examples This example assigns the AMPLE $add_arc() function to the a key, and the comment Add Arc. $define_hotkey("a","$add_arc()","Add Arc")
$define_hotkey()

Related Functions $load_hotkey_settings()

15-8

Design Architect-IC Users Manual, v8.9_10

Hotkey Function Dictionary

$get_hotkey_mode()

$get_hotkey_mode()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $get_hotkey_mode() GET HOtkey Mode Description Returns (in the Session transcript) the status of the current Hotkey setting. The return values are as follows: @off - Disables hotkeys. @on - Enables hotkeys. Examples The following is an example of the $get_hotkey_mode() function, invoked from the command line, when the Hotkeys are enabled:
$get_hotkey_mode()

In the transcript, the following value is returned:


// @on

Design Architect-IC Users Manual, v8.9_10

15-9

$get_hotkey_settings()

Hotkey Function Dictionary

$get_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $get_hotkey_settings() GET HOtkey Settings Description Returns a vector of vectors that contains Hotkey names and their respective comments. If it does not have a comment, a Hotkey is not included in the vector. If none of the Hotkeys have comments, or if the Hotkeys are not loaded, then the function returns [void].

Note

Examples The following is an example of the $get_hotkey_settings() function from the command line:
$get_hotkey_settings()

In the transcript, a list of settings similar to the following is returned:


// [[a, Add Pin], [b, Add Bus/Bundle], [c, \ Copy], [d, Delete], [e, Report Object], \ [f, Flip Horizontal], [i, Add Instance], \ [m,Move], [n, Name Nets], [o, Open Down],\ [p,Pivot], [q, Check Sheet/Symbol], [r, \ Rotate 90], [t, Add Text], [u, undo], \ [v, Select Vertex], [w, Add Wire], [x, \ Select Text and Move], [z, Zoom In], [bs, \ Set Basepoint], [cs, Choose Symbol], [fs, \ Flip Vertical], [ms, Modify Properties], [os,\ Open Up], [ps, add Property], [rs, Rotate -90], \ [ts, Change Text Value], [us, Unselect All], \ [vs,View All], [zs, Zoom Out]]

15-10

Design Architect-IC Users Manual, v8.9_10

Hotkey Function Dictionary

$load_hotkey_settings()

$load_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $load_hotkey_settings(style, enable) LOAd HOtkey Settings style enable Miscellaneous > Hotkeys > Load Description Loads either predefined, user-defined, or custom Hotkey settings, and enables the Hotkeys. If no arguments are specified, then the Load Hotkey Settings dialog box is called, as in Figure 15-5 below:

Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys

OK

Reset

Cancel

Figure 15-5. $load_hotkey_settings() Dialog Box The predefined Hotkeys are located in the following directory:
$MGC_HOME/shared/pkgs/ic_da/userware/En_na

Design Architect-IC Users Manual, v8.9_10

15-11

$load_hotkey_settings()

Hotkey Function Dictionary

The $HOME/mgc/da_hotkeys directory contains user-defined Hotkey settings. The custom Hotkey settings are located in a directory chosen by the user. Arguments

Style
A name that specifies which Hotkey settings to load. One of the following three choices must be specified: @user - user-defined key mappings @da_editing - Design Architect-IC editing key mappings @custom - custom key mappings

Enable
A value that specifies whether Hotkey mode is enabled. Possible values are: @yes - enable hotkey mode @no - do not enable hotkey mode If the Hotkeys are already enabled, the @no argument will not disable the Hotkeys.
Note

Examples This example loads the default Design Architect-IC key mappings and enables hotkeys.
$load_hotkey_settings(@da_editing,@yes);

15-12

Design Architect-IC Users Manual, v8.9_10

Hotkey Function Dictionary

$report_hotkey_settings()

$report_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $report_hotkey_settings() REPort HOtkey Settings Miscellaneous > Hotkeys > Report Report > Hotkeys Description Displays a list of all loaded Hotkeys and their comments. Figure 15-6 shows the dialog box that is called when you issue this function:
Report Hotkey Settings

DA-IC Editing
Hotkey Definitions: a = Add Pin b = Add Bus/Bundle c = Copy d = Delete e = Report Object f = Flip Horizontal i = Add Instance m= Move n = Name Nets o = Open Down View Source Code Print List OK Reset Cancel

Figure 15-6. $report_hotkey_settings() Dialog Box

Design Architect-IC Users Manual, v8.9_10

15-13

$report_hotkey_settings()

Hotkey Function Dictionary

The dialog box contains a scroll list of Hotkey definitions. From this dialog box, the user has the option to view the AMPLE source code for a Hotkey definition, or print the list of Hotkey definitions. A Hotkey is not included in the list, if it does not have a comment. If no commented Hotkeys are currently loaded in the system, a warning message displays.

Note

Examples This example calls the Report Hotkey Settings dialog box, and displays all the currently loaded Hotkey definitions.
$report_hotkey_settings()

15-14

Design Architect-IC Users Manual, v8.9_10

Hotkey Function Dictionary

$set_hotkey_mode()

$set_hotkey_mode()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $set_hotkey_mode(mode) SET HOtkey Mode mode Miscellaneous > Hotkeys > Enable Miscellaneous > Hotkeys > Disable Description Specifies whether Hotkeys are enabled or disabled. If no argument is provided, then the $set_hotkey_mode() prompt bar is called (Figure 15-7).

SET HO M Mode

off

OK

Cancel

Figure 15-7. $set_hotkey_mode() Prompt Bar Arguments

mode
@off - disable Hotkeys @on - enable Hotkeys Examples The following example enables Hotkeys.
$set_hotkey_mode(@on)

Design Architect-IC Users Manual, v8.9_10

15-15

$set_hotkey_mode()

Hotkey Function Dictionary

15-16

Design Architect-IC Users Manual, v8.9_10

Appendix A Predefined Hotkeys

Design Architect-IC provides a predefined hotkeys for commonly used commands as described in the following table. Table A-1. DA-IC Hotkey Set Key a b c d e f g h i j k l m n o p move name nets open down pivot add instance Action add pin add bus/bundle copy delete report object flip horizontal

Design Architect-IC Users Manual, v8.9_10

A-1

Predefined Hotkeys

Table A-1. DA-IC Hotkey Set Key q r s t u v w x y z A B C D E F G H I J K L M modify properties flip vertical set basepoint check sheet/symbol zoom in 2.0 add text undo select vertex add wire select text and move rotate 90 degrees Action

A-2

Design Architect-IC Users Manual, v8.9_10

Predefined Hotkeys

Table A-1. DA-IC Hotkey Set Key N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 zoom out 2.0 rotate -90 degrees save sheet/symbol change text value unselect all view all open up add property Action

Design Architect-IC Users Manual, v8.9_10

A-3

Predefined Hotkeys

A-4

Design Architect-IC Users Manual, v8.9_10

Appendix B Hotkey Commands

The following table contains the Design Architect-IC commands included within the Define Hotkey dialog box. Table B-1. Hotkey Commands Menu Selection Add Arc Add Bus Add Circle Add Dot Add Frame Add Function Block Def Add Function Block Inst Add Function Block Pin Add Instance Add Line Add Net Add Pin Add Polygon Add Polyline Add Property Add Rectangle AMPLE Function $$add_arc() $add_bus() $add_circle() $add_dot() $add_frame() $add_fb_def() $add_fb_inst() $add_fb_pins() $add_instance() $add_line() $add_net() $add_pin() $add_polygon() $add_polyline() $add_property() $add_rectangle()

Design Architect-IC Users Manual, v8.9_10

B-1

Hotkey Commands

Table B-1. Hotkey Commands Menu Selection Add Text Add Wire Align Left Align Right Align Top Align Bottom Apply Edits Change Color Change Property Value Check Sheet/Symbol Connect Convert FB Inst to Def Convert To Comment Copy Create FB Inst From Def Delete Disconnect Flip Horizontal Flip Vertical Group Make FB/All Make FB/Selected Merge Annotations AMPLE Function $add_text() $add_wire() $align(@left) $align(@right) $align(@top) $align(@bottom) $apply_edits() $change_color() $change_property_value() $$check() $connect() $convert_fb_inst_to_def() $convert_to_comment() $copy() $create_fb_inst_from_def() $delete() $disconnect() $flip(@horizontally) $flip(@vertically) $group() $make_fb(@all) $make_fb(@selected) $merge_annotations()

B-2

Design Architect-IC Users Manual, v8.9_10

Hotkey Commands

Table B-1. Hotkey Commands Menu Selection Modify Frame Move Open Down Open Top Open Up Pivot Place Active Symbol Pop To Front Push To Back Reconnect Annotations Redo Resize FB Rotate Scroll Down By Unit Scroll Down By Window Scroll Horizontally Scroll Left By Unit Scroll Left By Window Scroll Right By Unit Scroll Right By Window Scroll Up By Unit Scroll Up By Window Scroll Vertically AMPLE Function $modify_frame() $move() $choose_model() $open_top() $open_up() $pivot() $place_active_symbol() $pop_to_front() $push_to_back() $reconnect_annotations() $redo() $resize_fb() $rotate(90) $scroll_down_by_unit() $scroll_down_by_window() $scroll_hz() $scroll_left_by_unit() $scroll_left_by_window() $scroll_right_by_unit() $scroll_right_by_window() $scroll_up_by_unit() $scroll_up_by_window() $scroll_vt()

Design Architect-IC Users Manual, v8.9_10

B-3

Hotkey Commands

Table B-1. Hotkey Commands Menu Selection Select All Select Area Select Area/FB Select Area/FB Pins Select Branches Select FB w/contents Select Instances Select Nets Select Pins Select Property Owner Select Text Select Vertices Slice Stretch Undo Ungroup Unmake FB/All Unmake FB/Selected Unmake FB/1 level Unmake FB/2 levels Unmake FB/3 levels Unselect All Unselect FB w/contents AMPLE Function $select_all() $select_area() $select_area(..., @fb, ...) $select_area(..., @fbpin) $select_braches() $select_fb() $select_instances() $select_nets() $select_pins() $select_property_owner() $select_text() $select_vertices() $slice() $stretch() $undo() $ungroup() $unmake_fb(@all) $unmake_fb(@selected) $unmake_fb(@selected, 1) $unmake_fb(@selected, 2) $unmake_fb(@selected, 3) $unselect_all() $unselect_fb()

B-4

Design Architect-IC Users Manual, v8.9_10

Hotkey Commands

Table B-1. Hotkey Commands Menu Selection Unselect Prop Owner Update View All View Area View Selected Zoom In Zoom Out AMPLE Function $unselect_property_owner() $update() $view_all() $view_area() $view_selected() $zoom_in(2) $zoom_out(2)

Design Architect-IC Users Manual, v8.9_10

B-5

Hotkey Commands

B-6

Design Architect-IC Users Manual, v8.9_10

Appendix C Design Checks

This appendix describes the design checks available in Design Architect-IC (DAIC). An asterisk indicates the checks required by Mentor Graphics applications. All required checks are enabled by default. In addition to validating a design, checks provide the following functions:

Verifies syntax on a symbol or schematic is correct and can be used by


other Mentor Graphics applications.

Issues warning to identify possible user error. Provides informational messages. Automatically names instances and nets by their handles. DA-IC also
provides optional checks, including common electrical rules, that allow you to customize your design check. The checks are organized into the following groups:

Symbol Checks Schematic Sheet Checks Schematic Checks

Symbol Checks
This section lists the symbol checks available in DA-IC. To change which checks are performed, from the Symbol Editor, choose Setup>Check... and select the desired checks in the Default Symbol Check Settings dialog box.

Design Architect-IC Users Manual, v8.9_10

C-1

Symbol Checks

Design Checks

For more information, see Checking a Symbol for Errors in Chapter 4. A symbol must pass the required checks before it can be instantiated.

Special Symbols*
The following checks are required for special symbols. Error messages are generated if these checks are not passed.

Does a port connector (symbol with Class P property value) have only
one pin?

Does an off-page connector (symbol with Class O property value) have at


least one pin?

Does a net connector (symbol with Class C property value) have at least
two pins?

Does a global (symbol with Class G property value) have one and only
one pin?

Does a bus ripper (symbol with Class R property value) have one pin
with Pin property value Bundle?

Does a bus ripper (symbol with Class R property value) have at least two
pins?

Does a null instance (symbol with Class N property value) have no pins?

Pin*
The following checks are required for symbol pins; error messages are generated if they are not passed.

Does each symbol pin have a Pin property? Do pin properties on a symbol have valid pin name syntax?

C-2

Design Architect-IC Users Manual, v8.9_10

Design Checks

Schematic Sheet Checks

Does a symbol have at least one pin (unless the symbol has a Class N
property value)?

Does a property value on a pin have an invalid expression syntax?

Body*
The following checks are required for symbol bodies; error messages are generated if they are not passed.

Does a symbol body have a graphical representation? Is the same property value assigned different values on different pieces of
the symbol body?

Do property values on the symbol body have valid expression syntax?

Interface
The following checks are performed on pin and port interfaces for the symbol. Error messages are generated if they are not passed.

Does a pin on the symbol match a net on the schematic? Does a port on the schematic have a matching pin on the symbol? Does a pin on a symbol have a matching port on the schematic?

Schematic Sheet Checks


This section lists the schematic sheet checks available in DA-IC. To change which checks are performed, from the Schematic Editor, choose Setup>Check... and select the desired checks in the Default Schematic Check Settings dialog box. These checks are performed on the active schematic sheet. For more information, see Checking a Schematic for Errors in Chapter 3.

Design Architect-IC Users Manual, v8.9_10

C-3

Schematic Sheet Checks

Design Checks

All schematic sheets must pass the required checks before being used by downstream applications.

Instance*
The following checks are required for instances. Error messages are generated if the schematic sheet fails any of the following checks:

Does an Inst property value (instance name) have valid syntax? Is an Inst property value (instance name) unique within the sheet, except for
within unmade FB definitions?

Are instances with duplicate Inst property values (instance name) in the
same FB definition?

Does an instance reference a version of a part which exists and is current? Do the instance pins match pins of a referenced symbol? Does a symbol model exist for the instance? Do instance property values have valid syntax? Does a Pin property value have valid pin name syntax?
The following checks generate warning messages if they are not passed:

Can an instance name (Inst property value) be evaluated? Can a pin name (Pin property value) be evaluated? Can a property value on an instance or pin be evaluated?

Special Instances*
The following checks are required for special instances, such as ports, connectors, globals, and bus rippers. Error messages are generated if the schematic sheet fails any of the following checks.

C-4

Design Architect-IC Users Manual, v8.9_10

Design Checks

Schematic Sheet Checks

Does a port connector (Class P property value) have only one pin? Does an off-page connector (Class O property value) have at least one
pin?

Does a net connector (Class C property value) have at least two pins? Does a global (Class G property value) have one pin? Does a bus ripper (Class R property value) have one pin with pin property
Bundle?

Does a bus ripper (Class R property value) have at least two pins? Does a null instance (Class N property value) have no pins. Does a pin of a port connector (Class P property value) connect to a
named net?

Do all nets attached to the pins of a net connector (Class C property


value) have the same width?

Does a global (Class G property value) have a Global property value with
valid net name syntax?

Does a bus ripper (Class R property value) have a Rule property attached
to an instance or an output pin?

Does a Rule property value of a bus ripper (Class R property value) have
valid subscript syntax?

Is the output pin of a bus ripper (Class R property value) attached to a


named net whose width matches the width specified by the Rule property value?

Is an input pin of a bus ripper (Class R property value) attached to a bus? Is a pin of an off-page connector (Class O property value) connected to a
named net?

Design Architect-IC Users Manual, v8.9_10

C-5

Schematic Sheet Checks

Design Checks

Does the signal name of an implicit ripper exactly match the name of a
corresponding signal in the net or net bundle? The following checks generate warning messages if they are not passed:

Does a net connector (Class C property value) connect two nets with the
same name?

Do pins of a net connector (Class C property value) connect to a named


net?

Does a Global property value (Class G property value) contain a


subscript?

Can a Global property value (Class G property value) be evaluated?

Net*
The following checks are required for nets. Error messages are generated if the schematic sheet fails any of the following checks.

Does a property value assigned to a segment of a net conflict with values on


different segments of the same net?

Does a Net property value have valid net name syntax? Does a range specified in the net name (Net property value) conflict with
the range of a connected pin?

Does a pin connected to an unnamed net have conflicting range


specifications?

Does a property value have valid expression syntax? Does a single net have the same name as a bus or bundle? Are the members of a net bundle listed in at least one occurrence of the net
bundle in a schematic?

C-6

Design Architect-IC Users Manual, v8.9_10

Design Checks

Schematic Sheet Checks

Do all occurrences of a named net bundle in a schematic contain the same


signal names in the same order?

Does the combined width of the nets and bus bits in a net bundle match the
width of a connecting pin bundle or wide pin?

Does a net that is ripped by name from a net bundle actually exist in the net
bundle?

Does a net bundle name contain a parameterized expression? Does a net bundle have the same name as an individual net or bus?
The following checks generate warning messages if they are not passed:

Can the net name (Net property value) be evaluated? Can the pin name (Pin property value) be evaluated? Can all property values be evaluated? Are two globals shorted together?

Frame*
The following checks are required for frames. Error messages are generated if the schematic sheet fails any of the following checks.

Does an instance or its pins overlap a frame border? Does a frame border overlap the border of another frame? Does a frame have a frame expression? Does a frame expression have valid syntax?
Warning messages are generated if the schematic sheet fails any of the following checks:

Can the frame expression (Frexrep property value) be evaluated?


Design Architect-IC Users Manual, v8.9_10

C-7

Schematic Sheet Checks

Design Checks

Does a frame contain an instance? Can all property values on a frame be evaluated?

Symbol Pins*
The following symbol pin check is performed on schematic sheets. Error messages are generated if the schematic sheet fails any of the following checks.

Are there symbol pins left on schematic sheets? Do all pins occur only once within a pin bundle? Is there an individual pin by itself on the symbol that is also contained in a
pin bundle?

Is a pin contained in more than one pin bundle?

Parameter
The following informational check is performed on parameters, and causes a parameter listing to be generated.

Identify parameters which are required to evaluate property values and


object names in the sheet.

Expressions
The following informational check is performed on expressions, and causes an expression listing to be generated.

Identify expressions in the sheet that require evaluation and the parameters
they require.

Owner
The following checks are performed on properties. Error messages are generated if the schematic sheet fails any of the following checks:

C-8

Design Architect-IC Users Manual, v8.9_10

Design Checks

Schematic Sheet Checks

Is the Pin property attached to a pin? Is the Inst property attached to an instance? Is the Net property attached to a net? Is the Global property attached to an instance, not of type Class G or
Class N?

Is the Rule property attached to an instance not of type Class R or Class


N, or attached to a pin of a ripper instance?

Is the Frexrep property attached to a frame?

Overlap
The following informational check is performed on instances, and causes an instance listing and an error to be generated if not passed.

Identify the position of two instances where the bounding box of one
instance overlaps the bounding box of the other.

Class instances are positioned such that their bounding boxes may overlap
those of other class or non-class instances. Each instance type is grouped separately within the warning message

Notdots
The following informational check is performed on not-dots, and causes a not-dot listing to be generated.

Identify all points where not-dots exist on a schematic sheet.

Closedots
The following informational check is performed on close dots, and causes a close dot listing to be generated.

Design Architect-IC Users Manual, v8.9_10

C-9

Schematic Sheet Checks

Design Checks

Identify all points where different vertices are visually difficult to


distinguish (where the close dot symbol is displayed on the sheet).

Dangles
The following informational checks are performed on dangling nets and pins and cause a net and pin listing to be generated.

Identify all dangling nets. A dangling net is a net vertex without an attached
pin and not marked as a legal dangling net by the user (net with Class dangle property value).

Identify all dangling vertices. Identify all dangling pins. A dangling pin is a pin not attached to a net and
not marked as a legal dangling pin by the user (pin with Class dangle property value).

Valid dangles can be marked as such by adding a Class property with value
of dangle to any vertex on the net or pin.

Init Props
The following Init property checks are performed; error messages are generated if they are not passed.

A net has two different global components attached to it; for example, both
Vcc and Ground attached to the same net.

A net has a forcing Init property value xxF, but has no global attached to
it. This can result from adding a global such as Vcc to a net, then deleting the global.

A net has an Init property value that does not match the Init property value
on the pin of the attached global instance. This can result from adding a global Vcc to a net (causing the Init property on the net to have a value of 1SF), then adding a global Ground to the same

C-10

Design Architect-IC Users Manual, v8.9_10

Design Checks

Schematic Sheet Checks

net (causing the Init property value to change to 0SF), then deleting the Ground global. The result would be a net with Init = 0SF, but with a Global Vcc which specified Init = 1SF.

Annotations
The following informational checks are performed on back annotations when DA-IC is invoked on a design in the context of a design viewpoint.

Identify all annotations to fixed or protected properties. Identify all annotations that are unattached. When an unattached annotation
is found, the design pathname to the object which no longer exists in the design is reported along with a list of annotated properties on the object. These unattached annotations can be reattached to another design object using the pulldown menu item Miscellaneous >Reconnect Annotations. The annotation checks are only performed when DA-IC is invoked on a design viewpoint. Otherwise, this option is ignored.
Note

Bus Shorts
The following checks are performed on nets; warning messages are generated if they are not passed.

Does any net and a global have the same name? Are global nets shorted?

Function Blocks
Unless otherwise noted, the following checks are only performed on unmade Function Blocks (FB); error messages are generated if they are not passed.

Design Architect-IC Users Manual, v8.9_10

C-11

Schematic Sheet Checks

Design Checks

Does each FB instance have a corresponding FB definition with the same


FB_NAME property?

Does each FB instance have at least one pin? Does each FB definition have at least one pin? Do the pins on the FB instance match the pins on the corresponding FB
definition?

Do the boundaries of any FB intersect the boundaries of any symbols,


instances, or other FBs?

Do all external nets connected to an FB definition go through pins on the


FB definition?

Does any FB Definition contain an FB Definition with the same


FB_NAME property?

Do any FB definitions contain ports? Do any FB pins connect to the same net physically or by name? Does each FB definition contain at least one instance? Do all FB definitions in a schematic have a unique FB_NAME property?

Analog/Digital Converters
The following checks are performed on converters; warning messages are generated if they are not passed.

Is a Conv_Display property present on the associated component? Is the Conv_Display property value equal to A2D, D2A, HOOK, or
DEFHOOK?

C-12

Design Architect-IC Users Manual, v8.9_10

Design Checks

Schematic Checks

Schematic Checks
This section lists optional schematic checks available in DA-IC. To change which checks are performed, from the Schematic Editor, choose Setup>Check... and select the desired checks in the Default Schematic Check Settings dialog box. Schematic checks are performed on the entire schematic; they are not required by Mentor Graphics applications, however, if selected, they can produce errors that will keep the schematic from being validated. For more information, see Checking a Schematic for Errors in Chapter 3.

Schematic Interface
The following checks are performed on pin and port interfaces for the schematic. Error messages are generated if the schematic sheet fails any of the following checks.

Does a pin on the symbol match a net on the schematic? Does a port on the schematic have a matching pin on the symbol? Does a pin on a symbol have a matching port on the schematic?
Errors are produced for each interface pin that does not have a net on the schematic with a matching name. The name of the pin (PIN property) is compared to the name of the net (NET property). If there is a corresponding net for each pin, then the net is checked for an attached input port, output port, or bidirectional port instance. This check is only performed for interface pins that meet the following three criteria:

There is a net on the schematic with the same name as the interface pin The net with the same name has a port instance attached to it The interface pin has a PINTYPE property with a case-insensitive value of
IN, OUT, IO, or IXO.

Design Architect-IC Users Manual, v8.9_10

C-13

Schematic Checks

Design Checks

Schematic Special
The following special checks are performed on instances. Warning messages are generated if they are not passed.

Does an on/off-page connector have a matching on/off-page connector on


the schematic?

Are two nets with the same name on different sheets of the schematic
connected through on/off-page connectors?

Schematic Instance
The following check is performed on instances, and an error message is generated if the schematic sheet fails.

Is the Inst property value (instance name) unique within the schematic
except for within unmade FB definitions?

Schematic Bus Shorts


The following checks are performed on nets for the schematic; warning messages are generated if they are not passed.

Does any net and global have the same name in a schematic? Are any global nets shorted?

Schematic Net I/O


The following series of schematic checks examine every electrical net in the schematic. For a schematic check, all PINTYPE property names and values, regardless of case, are examined. For each net, a warning is produced if the following two conditions exist:

The net is connected to at least one pin with a PINTYPE property of IN,
an Output Point, or a Global

C-14

Design Architect-IC Users Manual, v8.9_10

Design Checks

Schematic Checks

More than one Source is attached to the net.


To avoid this check, assign the net a property with the name MULTI_SOURCE and any value.
Note

The following definitions apply to this check:

Port - an instance of a symbol with a CLASS property of P or E. Ports


have exactly one pin of indeterminate width. Class P ports are not written to the EDDM connectivity database as instances, while class E ports are written.

Global - an instance of a symbol with a CLASS property of G. Input Port - either a Port with a pin having a PINTYPE property of OUT
or a Port with the symbol name of portin, regardless of case.

Output Port - either a Port with a pin having a PINTYPE property of IN


or a Port with the symbol name of portout, regardless of case.

Bidirectional Port - either a Port with a pin having a PINTYPE property of


IXO or IO, or a Port with the symbol name of portbi, regardless of case.

Source - either a pin on a net with a PINTYPE property of IXO, IO, or


OUT, or an Input Port, Bidirectional Port, or a Global.

Sink - either a pin on a net with a PINTYPE property of IXO, IO, or


IN, or an Output Port or a Bidirectional Port.

Design Architect-IC Users Manual, v8.9_10

C-15

Schematic Checks

Design Checks

C-16

Design Architect-IC Users Manual, v8.9_10

Appendix D Migrating Userware to DA-IC

This appendix summarizes the changes between Design Architect (DA) and Design Architect-IC (DA-IC). The information in this chapter is intended to help developers of custom userware transition from DA to DA-IC. For more information, see:

Scope Specific Userware Directories and Source Location in


Chapter 15.

Design Architect-IC Reference Manual Customizing the IC Flow Common User Interface manual AMPLE for IC Flow Users Manual
The changes are organized into the following sections:

Scopes User Interface User Functions Files Libraries

Scopes
All DA scopes remain the same in DA-IC except for the addition of two new scopes as follows:

Design Architect-IC Users Manual, v8.9_10

D-1

User Interface

Migrating Userware to DA-IC

fb_schematic - Added on top of the schematic scope, this new scope


provides schematic level functions for Function Blocks.

fb_session - Added on top of the session scope, this new scope provides
session level functions for Function Blocks. As a result of adding these two scopes, calls to the $window_scope_name() function results differently in DA-IC as shown in Table 5-1. Any custom userware using the $window_scope_name() function requires changes. Table D-1. Window Name Changes Scope Session Schematic Results in DA da_session schematic Results in DA-IC fb_session fb_schematic

User Interface
Significant changes have been made to the DA-IC user interface as follows:

PCB specific menu items removed IC netlister integrated Icon-based palette menus are now text-based Pulldown, popup, and palette menus reorganized and streamlined Dialog boxes restructured Hotkey functionality added Default behavior changed
Custom userware that modifies elements in the user interface may require changes to work with DA-IC. For example, if userware adds a menu item to a menu in DA that doesnt exist in DA-IC, the userware must be modified.

D-2

Design Architect-IC Users Manual, v8.9_10

Migrating Userware to DA-IC

User Interface

Menu Changes
This section summarizes the menu changes in DA-IC. The following table describes the Session scope menus that changed in DA-IC. Table D-2. Session Scope Menu Changes Menu File pulldown Setup pulldown Session popup Session Palette Restructured and converted icons to text Description of Change Restructured

The following table describes the Schematic scope menus that changed in DA-IC. Table D-3. Schematic Scope Menu Changes Menu File pulldown Edit pulldown Setup pulldown Miscellaneous pulldown Report pulldown View pulldown Library pulldown Check pulldown Add pulldown Select pulldown Add popup Restructured Added Removed Description of Change Restructured

Design Architect-IC Users Manual, v8.9_10

D-3

User Interface

Migrating Userware to DA-IC

Table D-3. Schematic Scope Menu Changes [continued] Menu Instance popup Function Block popup Net popup Property/Text popup Draw popup Mixed Selection popup Selection Free popup Schematic_edit palette Schematic_text palette Schematic_draw palette The following table describes the Symbol scope menus that changed in DA-IC. Table D-4. Symbol Scope Menu Changes Menu File pulldown Edit pulldown Setup pulldown Miscellaneous pulldown Report pulldown View pulldown Check pulldown Add pulldown Select pulldown Add popup Restructured Removed Added Description of Change Restructured Removed Restructured and converted icons to text Description of Change Restructured

D-4

Design Architect-IC Users Manual, v8.9_10

Migrating Userware to DA-IC

User Interface

Table D-4. Symbol Scope Menu Changes [continued] Menu Symbol Body & Pins popup Property/Text popup Mixed Selection popup Selection Free popup Symbol_draw palette Symbol_text palette Removed Restructured and converted icons to text Description of Change Restructured

Softkey Changes
The softkeys are hidden by default in DA-IC. Some softkeys are remapped to reflect the changes in the user interface as follows: Table D-5. Remapped Softkeys This scope... Session Session Session Session Schematic This softkey... F1 F3 F6 F7 F5 Is mapped to... Open Schematic Open Design Configuration Open Language Removed (Shift) Place Symbol (Ctrl) Add Property (Alt) Check Schematic

Design Architect-IC Users Manual, v8.9_10

D-5

User Functions

Migrating Userware to DA-IC

Default Behavior Changes


The following default behavior is changed in DA-IC:

Auto net and instance name placement is enabled in the Schematic


scope. For more information, see the$name_instances() function in the Design Architect-IC Reference Manual.

Resizable instances are enabled in the Schematic scope. For more


information, see the $allow_resizable_instances() function in the Design Architect-IC Reference Manual.

Property name display is enabled for the following properties in the IC


Starter Library: L, W, M, PW, NW, WP, WN, PL, NL, and LN. For more information, see the $show_name_and_value() function in the Design Architect-IC Reference Manual.

Border updated during Check. The File > Check Schematic pulldown
menu and the Check and Save palette menu options update the schematic border during the check. For more information, see the $update_border() and $$check() functions in the Design Architect-IC Reference Manual.

User Functions
The arguments and/or return values for the following user functions are changed in DA-IC:

$copy() $print_all_schematics() $update_all_schematics() $setup_net() $$check() $report_object()

D-6

Design Architect-IC Users Manual, v8.9_10

Migrating Userware to DA-IC

Files

$select_all() $select_area() $set_color() $$setup_check_sheet() $setup_color() $setup_select_filter() $setup_unselect_filter() $unselect_all() $unselect_area()


Custom userware that uses any of these functions may need to be modified to work with DA-IC.

Files
In the v8.9_1 release, the names of files are renamed for DA-IC. The following sections describe the changes.

Executables
All Falcon and DA executables, driver scripts, and link scripts located in $MGC_HOME/bin are renamed. The filenames are renamed to include an _ic to the end of the name for DA-IC. For example, da is renamed da_ic. The following table lists the files renamed in DA-IC. Table D-6. Executable Filename Changes Name in DA... X11term Name in DA-IC... X11term_ic

Design Architect-IC Users Manual, v8.9_10

D-7

Files

Migrating Userware to DA-IC

Table D-6. Executable Filename Changes [continued] Name in DA... ample cdpMode12View cdpOccPropSet2BAMgr cdpView2Model cdp_miflist cdp_mifsort cdp_sample cdplink change_references check_rgy checkref chref cib compile_userware config_erc config_nc copy_object copy_version da ddms_dump_stream ddms_gen_type_rep ddms_gen_type_rgy_index ddms_locenv Name in DA-IC... ample_ic cdpMode12View_ic cdpOccPropSet2BAMgr_ic cdpView2Model_ic cdp_miflist_ic cdp_mifsort_ic cdp_sample_ic cdplink_ic change_references_ic check_rgy_ic checkref_ic chref_ic cib_ic compile_userware_ic config_erc_ic config_nc_ic copy_object_ic copy_version_ic da_ic ddms_dump_stream_ic ddms_gen_type_rep_ic ddms_gen_type_rgy_index_ic ddms_locenv_ic

D-8

Design Architect-IC Users Manual, v8.9_10

Migrating Userware to DA-IC

Files

Table D-6. Executable Filename Changes [continued] Name in DA... ddms_type_rgy_tool ddms_which_map ddplink delete_object dfilink dmgr dve_chk_component dve_chk_design dve_chk_symbol dve freeze_version get_hard_name get_mgc_vco get_soft_name list_contents list_references listref mdb_test mgc_font_collect mgc_font_convert mgc_xinfo miflist move_object Name in DA-IC... ddms_type_rgy_tool_ic ddms_which_map_ic ddplink_ic delete_object_ic dfilink_ic dmgr_ic dve_chk_component_ic dve_chk_design_ic dve_chk_symbol_ic dve_ic freeze_version_ic get_hard_name_ic get_mgc_vco_ic get_soft_name_ic list_contents_ic list_references_ic listref_ic mdb_test_ic mgc_font_collect_ic mgc_font_convert_ic mgc_xinfo_ic miflist_ic move_object_ic

Design Architect-IC Users Manual, v8.9_10

D-9

Files

Migrating Userware to DA-IC

Table D-6. Executable Filename Changes [continued] Name in DA... resolve_mgc_path revert_version salvage_object set_mgc_env set_version_depth show_object_info unfreeze_version Name in DA-IC... resolve_mgc_path_ic revert_version_ic salvage_object_ic set_mgc_env_ic set_version_depth_ic show_object_info_ic unfreeze_version_ic

Header Files
Some of the header files in $MGC_HOME/shared/include are renamed for DA-IC as listed in the following table. Source files using these header files need to be renamed also. Table D-7. Header Filename Changes Name in DA... ampl_dll_attr.h ample_interface.h cdpdr.h cdpdw.h ddp.h ddp_dll_attr.h ddp_eval.h dfip.h Name in DA-IC... ampl_dll_attr_ic.h ample_interface_ic.h cdpdr_ic.h cdpdw_ic.h ddp_ic.h ddp_dll_attr_ic.h ddp_eval_ic.h dfip_ic.h

D-10

Design Architect-IC Users Manual, v8.9_10

Migrating Userware to DA-IC

Libraries

Libraries
Libraries are renamed, added, and removed for DA-IC. This section describes the changes. The $MGC_GENLIB library palette is removed from DA_IC. Three new IC-specific libraries are added to DA-IC as described in the following table: Table D-8. New IC Libraries Library $MGC_IC_GENERIC_LIB $MGC_IC_SOURCES_LIB $MGC_IC_DEVICE_LIB Description Sub library that contains symbols used for generic parts, such as ports. Sub library that contains symbols for different voltage and current sources. Sub library that contains symbols used for the main components in full custom IC design.

Your location map variables must be modified to reflect the new library configurations. All Falcon and DA libraries in $MGC_HOME/lib are renamed for DA-IC as listed in the following table. Table D-9. Library Filename Changes Name in DA... libmgc_ample.so libmgc_ample.sl libmgc_bed.so libmgc_bed.sl libmgc_core.so libmgc_core.sl Name in DA-IC... libmgc_ample_ic.so libmgc_ample_ic.sl libmgc_bed_ic.so libmgc_bed_ic.sl libmgc_core_ic.so libmgc_core_ic.sl

Design Architect-IC Users Manual, v8.9_10

D-11

Libraries

Migrating Userware to DA-IC

Table D-9. Library Filename Changes Name in DA... libmgc_ddms.so libmgc_ddms.sl libmgc_ftxt.so libmgc_ftxt.sl libmgc_stubs.so libmgc_stubs.sl libmgc_uims.so libmgc_uims.sl libmgc_vdd.so libmgc_vdd.sl Name in DA-IC... libmgc_ddms_ic.so libmgc_ddms_ic.sl libmgc_ftxt_ic.so libmgc_ftxt_ic.sl libmgc_stubs_ic.so libmgc_stubs_ic.sl libmgc_uims_ic.so libmgc_uims_ic.sl libmgc_vdd_ic.so libmgc_vdd_ic.sl

D-12

Design Architect-IC Users Manual, v8.9_10

Appendix E Special Instances

This appendix describes the special instances contained in the generic_lib provided with Design Architect-IC (DA-IC). Special instance connectors are not part of the final evaluated design, and are not translated into physical components. They are used to pass connectivity information to the Design Viewpoint Editor-IC (DVE-IC) and other downstream applications that define or use an evaluated design. They are created by adding specific Class property values to an instance. Refer to Class Property in Chapter 7 for more information about Class properties. You may create special instance symbols or use the components provided with DA-IC. The following special instances are provided with DA-IC:

Net Connector. The net connector is used to connect two nets that have
different net names. The net name is assigned by adding the Net property to a net vertex. It is not possible to attach more than one name to a net because conflicting property values are not allowed. Two nets with different net names can be connected by attaching the first net to the pin on one side of the net connector, and the second net to the pin on the other side of the net connector. If two nets with the same name are attached to a net connector, or if a net attached to a net connector is unnamed, when the sheet is checked, the Check command issues a warning. A net connector has a Class property value C and at least two pins. The netcon component is a Mentor Graphics-supplied net connector. For more information, see Using the netcon Component in Chapter 3.

External Port. An external port establishes any signals connected to that


instance as externals, regardless of the level of hierarchy. The simulator ignores the instance behaviorally in the same way that it would a port

Design Architect-IC Users Manual, v8.9_10

E-1

Special Instances

instance at the top level of a design. The instance is included in the evaluated design, and can be seen and annotated by downstream applications. An external port has a Class property value of E that identifies a port as an external port, regardless of its position in the design hierarchy.

Off-Page Connector. The off-page connector is used to connect nets with


the same name across different sheets in a schematic. Nets with the same name, that are not graphically connected in the schematic, are automatically connected. To identify a net as connected, by name across sheet boundaries of the schematic, attach each net to a pin of an off-page connector. An off-page connector has a Class property value O, and at least one pin. The offpag.out and offpag.in components are Mentor Graphics-supplied off-page connectors, and are located in the gen_lib library.

Port. The port component is used to indicate a net making a connection


external to the schematic. The number and net names of the ports on a schematic should match the pins on the interface of the symbol representing that schematic. Refer to Component Interface in the Component Interface Brower-IC Users and Reference Manual for a definition of a component interface, and section Managing/Registering Models in this manual for a discussion about symbol registration. If the net name attached to a port in the schematic does not match the name of a pin on its representative symbol when the schematic is checked, the Check command issues an error. A port has a Class property value P, and must have exactly one pin. The portin and portout components are Mentor Graphics-supplied port components, located in the gen_lib library.

Bus Ripper. A bus ripper is similar to a net connector. It connects two nets
of possibly different names, and provides a way to rip off a single-bit or sub-bus of a bus for connection to a different net. For example, it permits connecting net N(1) to B(1) of bus B(0:7). The bus must be attached to the ripper pin named Bundle. The ripped nets must be attached to the corresponding ripper pins. In addition, the value of the Rule property attached to the ripper must have a valid bus range syntax

E-2

Design Architect-IC Users Manual, v8.9_10

Special Instances

to identify the bits to be ripped from the main bus; for example, a value bit 1 of range 0:3. The net must be named so that its width matches the width specified by the Rule property. When ripping bits from a two-dimensional bus, the value of the Rule property must be set to rip one bit from the bus or to rip a range of bits from a row or column of the bus. The following list shows the syntax and a sample Rule property value for each possible type of rip. The sample values assume that the bus is named data(0:2;0:2) and that the width of the nets attached to the rip component match the width specified in the Rule property: x;y Rip one value from the matrix. For example: Rule = 0;0 x;y :y Rip a range of values from a row in the matrix. For example:
1 2

Rule = 1;0:2 x :x ;y Rip a range of values from a column in the matrix. For example:
1 2

Rule = 0:2;1 A bus ripper instance has a Class property value R. It must have at least two pins. One pin must have a Pin property with value Bundle. A Rule property must be associated with the instance body or with each nonbundled pin. The value of the Rule property must have a valid bus range syntax. The rip component is a Mentor Graphics-supplied component, located in the gen_lib library. The rip component provides a wide variety of ripper symbols capable of ripping varying numbers of bits from a bus. Refer to Creating a Bus Ripper Component in Chapter 3 for an example of how to create a bus ripper.

Implicit Ripper. An implicit ripper separates a named bit from a bus or a


member from a net bundle. It differs from a standard ripper symbol in that:

Design Architect-IC Users Manual, v8.9_10

E-3

Special Instances

o The implicit ripper is not an actual symbol in any library. o Since connection is established by name, implicit rippers do not have a

Rule property attached to them. You can visually differentiate an implicit ripper from a standard ripper in that the implicit ripper instance is the same color as a net. The name of the net connected to the implicit ripper must exactly match the name of a bus bit or member of a net bundle. You can configure implicit rippers to connect at a 45-degree angle, much like standard rippers, or in a straight line. Figure E-4 illustrates some examples of implicit rippers.
ADDR(4)

Angled rippers

ADDR(7:0) ADDR(0)

ADDR(7)

BUND1{s1, x, y, ADDR(7:0), s2} ADDR(3)


Design Architect-IC Users Manual, v8.9_10

Straight rippers

Figure 15-8. Implicit Ripper Examples Implicit rippers are the default when you invoke Design Architect. Implicit rippers do not define any explicit connectivity; rather, electrical connectivity is established only by name.

E-4

Special Instances

You can set the ripper mode to auto using the $setup_ripper() function, which you can access through the Setup > Ripper pulldown menu. Auto rippers must be used if you need to pull off a bit in a bus and connect it to a wire with a different name, or if you want to pull off part of a bus, and connect it to a smaller bus.

Globals. A global instance is a component that has a Global property and a


Class property assigned to the symbol body. The value of the Global property is the name of the net (for example, Ground and Vcc). The value of the Class property is G. The global symbol must have at least one pin and a Global property. Examples from the Mentor Graphics-supplied gen_lib component library are Vcc and Ground. A global instance can exist at any level of the design. Nets that connect to the global instance, without creating a physical net route, must have a Net property value that is the same as the Global property value on the global instance to establish electrical connectivity.

Null Instance. A null instance is a component that carries the component's


properties, but represents the component as electrically inert. In many cases, the null function of a component can be provided using comments instead. A null instance has a Class property value N and no pins.

Intra-page Connector - An intra-page connector is a class instance that


allows you to specify connections by name within a sheet but does not produce warnings during check sheet. The class property value attached to the intra-page connector is "I". You must attach the class property "I" to the net in order to have no check sheet warnings occur regarding connection by name. The user must also attach the class property "I" to dangling vertices. If any net by the same name has one or more dangling vertices, DA-IC produces a check sheet warning that lists the handles of all nets with the same name.

Design Architect-IC Users Manual, v8.9_10

E-5

Special Instances

E-6

Design Architect-IC Users Manual, v8.9_10

Index

Index
.chi, 8-9 .cir, 8-8 .COU, 8-9 .DOU, 8-9 .JWDB, 8-9 .spi, 8-9 .WDB, 8-9 viewing, 11-4, 11-5 Bits extracting from bus, E-3 Boundaries resizing, 6-33 Branches selection, 2-17 Bundles connected to ports, 4-23 net, 3-3, 3-24 Bus ripper, E-2 connecting, 3-42 creating implicit rippers, 3-47, 3-48 extracting lines, 3-42 installing, 3-40 instantiation, 3-46 using the automatic 1x1, 3-46 Buses, 3-24 bus_net_name, 3-32 connected sub-bus, 3-41 connections, 3-31 creating, 3-31, 3-32 indicating width, 3-28, 7-7 least significant bit (lsb), 3-32 most significant bit (msb), 3-32 multi-dimentional, 3-35 representing graphically, 3-35

A
Adding FB Pins, 6-23 Adding forces, 8-22 Adding Panels, 2-51 Adding properties in Design Context, 11-3 ADVance MS adms.ini file, 5-2, 8-15, 8-18 design library, 5-2 AMPLE_PATH, 14-16, 14-19 setting, 14-16 angled ripper, 3-14 Annotations reconnecting, 11-16 setting the color, 2-8 Applying Edits, 11-16 Assigning Properties, 7-35 Assigning Property Owners, 7-35 Auto ripper, 3-14 Auto Sequence Text, 3-44 Auto_ripper_mode, 3-14 Automatic Net Routing, 3-26 Automatic Placement Net Name, 3-13

C
Check command setting up, 3-77, 4-23 Checking a model registration, 5-22 Checking forces, 8-25 Checks close dot, C-9 dangling net and pin, C-10 expression analysis, C-8 instance, C-14 instance overlap, C-9 notdots, C-9

B
Back annotation changing the color, 2-8, 7-7 creating, 11-20 editing, 11-20 expressions in, 11-13 merging, 11-5, 11-22

Design Architect-IC Users Manual, v8.9_10

Index-1

Index

Index (cont.)
parameter analysis, C-8 pin and port interface, C-13 required frame, C-7 required instance, C-4 required net, C-6 required property ownership, C-8 required special instance, C-4 required special symbol, C-2 required symbol body, C-3 required symbol pin, C-2, C-8 special instance, C-14 Class property, 7-28, E-2 Color changing for properties, 7-49 setting for design objects, 2-7 setting the annotation color, 2-8 setting the color configuration, 2-8 Colors setting on the fly, 6-35 Comment objects adding, 3-64 attributes, 3-66 convert objects to comments, 3-65 schematic sheets, 3-67 types, 3-65 uses, 3-65 Commlib, 1-4 Compiling models for ADVance MS, 5-2 Component change references, 9-7 delete, 2-30 hierarchy window, 9-5 rename, 9-7 Component interface registration, multiple symbols, 4-25 reporting, 9-13 Component library choosing from, 3-19 Connecting a Bus Ripper, 3-42 Converting Electrical Objects to Comments, 369 Copy objects, 2-23 objects between windows, 2-27 repeat, 2-24 to a line, 2-25 to an array, 2-26 Create a symbol pin list, 3-62 Create mode, 5-4 Creating a Bus, 3-32 Creating a Bus Ripper, 3-36 Creating Function Blocks adding Function Blocks Pins, 6-23, 12-8 Function Block Definition Prompt Bar, 610, 6-19 Function Block Definitions, 6-8 Function Block Pin placement, 6-24 Creating Panels in Read-Only Mode, 2-53 Crossprobing schematics with DA-IC View, 8-150 with Xelga, 8-146 Custom Hotkeys customizing, 13-11 defined, 13-2 loading, 13-14 usage, 13-10 Custom userware $add_library_menu_item(), 14-37 $add_or_replace_instance(), 14-39 $create_library_menu(), 14-35 $prompt_for_diagram_location(), 14-41 .ample files, 14-24 .dofile, 14-24 adding a palette menu, 14-43 AMPLE_PATH, 14-16, 14-19 DES_ARCH_AUX_PKGS_LIST, 14-23, 14-25 DES_ARCH_PKGS_TO_LOAD, 14-19 dofiles, 14-18

Index-2

Design Architect-IC Users Manual, v8.9_10

Index

Index (cont.)
finding source, 14-15 loading, 14-16 personality modules, 14-19 schematic menu files, 14-28 scope specific dofiles, 14-18 Design Context add properties, 11-3 locking sheet for edits, 11-23 merge back annotations, 11-5 opening a non-existant component, 11-23 opening a non-existant schematic, 11-23 view properties, 11-4 Design Management change component references, 9-7 configuration build, 9-10 delete design object, 2-30 object checking, 9-9 reference checking, 9-9 release a design, 9-8 rename design object, 9-7 verification, 9-11 versions, 9-9 viewing hierarchy, 9-5 Design Navigation, 3-83 closing a multiple sheet schematic, 3-85 left arrow button, 3-83 multiple page icon button, 3-83, 3-84 navigating multi-sheet schematics, 3-84 right arrow button, 3-83 Design Viewpoints applying edits, 11-16 evaluating properties, 11-10 Device Lib, 1-4 Drawing Arc, 4-7 circle, 4-7 dot, 4-8 line, 4-8 polygon, 4-10 polyline, 4-9 rectangle, 4-10 Dynamic Cursor setting the shape, 2-9

D
DA-IC Editing Hotkeys defined, 13-1 loading, 13-4 usage, 13-4 DA-IC Startup Files, 14-11 Dangling net, 7-29 Default text editor MGC_SIM_EDITOR, 8-9 Delete, 2-31 Deleting a component, 2-30 Deleting a model registration, 5-27 Deleting forces, 8-24 Deleting Panels, 2-51 DES_ARCH_AUX_PKGS_LIST, 14-23, 1425 DES_ARCH_PKGS_TO_LOAD, 14-19 Design Architect-IC exiting, 2-4 printing, 2-38 Design checking, C-1 close dot checks, C-9 dangling net and pin checks, C-10 expression analysis checks, C-8 frame checks, C-7 init property checks, C-10 instance checks, C-3, C-4, C-13 instance overlap checks, C-9 net checks, C-6, C-14 parameter analysis checks, C-8 property ownership checks, C-8 required special symbol checks, C-3 required symbol body checks, C-3 special instance checks, C-4, C-14

Design Architect-IC Users Manual, v8.9_10

Index-3

Index

Index (cont.)
E
Edit mode, 5-5 Editing forces, 8-24 Environment variable $WORK, 5-2 Environment variables AMPLE_PATH, 14-16 ANACAD, 8-146 Component Libraries, 1-4 DES_ARCH_AUX_PKGS_LIST, 14-23, 14-25 DES_ARCH_HIDE_BA_ONLY_PROPS, 11-3 DES_ARCH_PKGS_TO_LOAD, 14-19 HOME, 11-3, 14-12 MGC_HOME, 14-12 MGC_SIM_EDITOR, 8-9 MGC_WD, 2-4, 14-12 userware, 14-26 Error checking annotations, C-11 close dot checks, C-9 dangling net and pin checks, C-10 expression analysis checks, C-8 frame checks, C-7 init property checks, C-10 instance checks, C-3, C-4, C-13 instance overlap checks, C-9 net checks, C-6, C-14 parameter analysis checks, C-8 property ownership checks, C-8 reports, 9-16 required special symbol checks, C-3 required symbol body checks, C-3 special instance checks, C-4, C-14 Expressions, 7-19 Expressions in back annotation objects, 11-13 External Port, E-1

F
FB Definition adding or removing internal objects, 6-32 as source object, 12-4 boundary, 12-5 checking, 6-45 converting from FB Instance, 6-30 defined, 12-1 example of, 12-5 FB Pins, 12-6 FB_INST property, 12-5 FB_NAME property, 12-5 resizing, 6-33 usage, 12-2 FB Definition Creation, 6-6 FB Definitions creating, 6-8 manipulating, 6-30 selecting, 6-31 FB Instance boundary, 12-7 checking, 6-45 defined, 12-1 example of, 12-6 FB_INST property, 12-7 FB_INST property usage, 12-7 FB_NAME property, 12-7 resizing, 6-33 usage, 12-2 FB Instances converting to FB Definition, 6-30 creation, 6-13 manipulating, 6-30 selecting, 6-31 FB Objects selecting, 6-31 FB Pins adding, 6-23 FB Definition pin naming, 12-8 FB Definition Pins usage, 12-8

Index-4

Design Architect-IC Users Manual, v8.9_10

Index

Index (cont.)
FB Instance Pins usage, 12-9 selecting, 6-31 Wide Nets connected to, 12-8 Flip objects, 2-33 Forces, 8-22 Frames, 3-70, 3-74, 3-75 setting parameters, 3-75 Frexp property, 7-31 CASE value, 7-32 FOR value, 7-32 IF value, 7-35 OTHERWISE value, 7-32 Function Block Definition Prompt Bar FB Name, 6-10, 6-19 INST Name, 6-11, 6-20 Name Placement, 6-11, 6-20 Function Block Objects changing colors, 6-35 checking, 6-45 defined, 12-1 development states, 12-2 FB Definition, 12-1 FB Instance, 12-1 made, 12-3 Made FB Definition, 12-1 Made FB Instance, 12-1 resizing, 6-33 symbol instance, 12-3 unmade, 12-3 Function Block Properties defined, 12-4 FB_DEF, 12-4 FB_INST, 12-4 FB_NAME, 12-4 Function Block Property, 7-31 Function Block Setup, 6-3 Function Block Usage connected model, 12-13 defined, 12-11 net constructs, 12-17 two-step process, 6-1 unconnected model, 12-12 Function Blocks Add Popup Menu, 6-7 adding Function Blocks Pins, 6-23, 12-8 Definitions, 6-8 Function Block Definition Prompt Bar, 610, 6-19 Function Block Pin placement, 6-24 INST Name, 6-11, 6-20 terminology, 12-4 Functional blocks, 3-53 Functions $add_library_menu_item(), 14-37 $add_or_replace_instance(), 14-39 $ask_scope_frame_name(), 14-10 $copy_edit_hotkey_settings(), 15-6 $create_library_menu(), 14-35 $define_hotkey(), 15-7 $dofile(), 14-16 $get_hotkey_mode(), 15-9 $get_hotkey_settings(), 15-10 $load_hotkey_settings(), 15-11 $load_userware(), 14-16 $mgc_add_or_replace_instance(), 14-39 $prompt_for_diagram_location(), 14-41 $report_hotkey_settings(), 15-13 $set_hotkey_mode(), 15-15 $window_scope_name(), 14-10

G
Generic Lib, 1-4 Global property, 7-29 Globals, E-5

H
Handles, 2-35 Hidden Symbol Property Text, 2-11 Hotkeys bypassing, 13-2

Design Architect-IC Users Manual, v8.9_10

Index-5

Index

Index (cont.)
default set, 13-6 defined, 13-1 disabling, 13-16 enabling, 13-16 function summary, 15-1 Menu, 13-2 reporting status, 13-15 scopes, 13-1 types, 13-1 opening, 3-8 Loading personality modules, 14-19

M
made defined, 12-3 Made FB Definition checking, 6-45 defined, 12-1 Made FB Definitions creating, 6-37 unmaking, 6-41 Made FB Instance checking, 6-45 defined, 12-1 Made FB Instances unmaking, 6-42 Made FB Intances creating, 6-37 Made Function Blocks creation of, 12-10 explanation, 12-9 hierarchy, 12-9 made FB Definition, 12-10 Made FB Instance, 12-11 Manage mode, 5-5 Manipulate graphical objects copy to an array, 2-26 copy to line, 2-25 select, 2-16 Manipulating Graphical Objects repeat moving, 2-23 Manipulating graphical objects basepoint change during move, 2-22 Menus $add_library_menu_item(), 14-37 $add_or_replace_instance(), 14-39 $create_library_menu(), 14-35 adding a palette, 14-43 library, 14-28

I
IC Station, 3-95 ICprint, 2-43, 2-47 Implicit ripper examples, E-4 Implict ripper, 3-14 INST Name, 6-11, 6-20 Inst property, 7-29 character restrictions, 7-7 Instance, 3-2 instantiation, 3-2 placing, 3-19 repeating, 3-23, 3-71 replace, 3-20, 3-22 resizing, 2-29 selection, 2-18 special, 3-3 updating, 3-20 Instantiation, 3-2 1x1 bus ripper, 3-46 Invocation from DA-IC, 2-2 from operating shell, 2-3 IC Station, 3-95

J
Joining sliced objects, 4-12

L
Language File Opening, 3-8

Index-6

Design Architect-IC Users Manual, v8.9_10

Index

Index (cont.)
Name Nets, 3-50 Palette Popup, 3-22 Window, 2-4 Merging annotations, 11-5 MGC_SIM_EDITOR, 2-9, 8-9 Model editor specifying, 2-9 Model Registrar exiting, 5-29 overview, 5-3 Model Registration Displaying/Editing Registered Models in Simulation Mode, 8-82 Model registration, 5-1 add as property, 5-16 checking, 5-22 choosing a model, 5-7 component field, 5-13 copying, 5-26 creating, 5-4 default, 5-19 deleting, 5-27 Edit Mapping, 5-12 editing, 5-5, 5-23 editing an existing symbol, 5-9 exiting, 5-29 from a symbol, 5-14 generating a symbol for a model, 5-10 invoking, 5-3 managing, 5-5 map by name, 5-17 map selected, 5-17 mapping a model to a symbol, 5-16 naming a model, 5-12 Open Symbol, 5-13 pins and properties, 5-16 ports and parameters, 5-16 registering a model to an existing symbol, 5-8 renaming, 5-25 restoring, 5-28 supported models, 5-2 symbol layout properties, 5-11 Symbol list box, 5-13 unmap all, 5-17 unmap selected, 5-17 viewing registered models, 5-19 Model selection, 8-75 Move basepoint change during, 2-22 objects, 2-22 objects between windows, 2-23 repeat, 2-23 Multi-Dimentional Buses, 3-35

N
Naming Nets Automatic Placement, 3-13 Net, 3-24 dangling, 3-30, 7-29 Net Bundles, 3-3, 3-24 creating, 3-49 naming, 3-49 rip members, 3-52 Net connector, E-1 Net naming syntax, 3-27 Net property, 7-30 character restrictions, 7-7 Net router, 3-26 Net vertices connecting, 3-26 disconnecting, 3-26 netcon, E-1 Netlist file (.spi), 8-9 Netlisting EldoNet, 3-88 Netlisting a Schematic, 3-88 Nets attributes, 3-11 auto_ripper_mode, 3-14

Design Architect-IC Users Manual, v8.9_10

Index-7

Index

Index (cont.)
auto_route_mode, 3-26 connecting, 3-26 construction of, 6-25 creating external nets, 6-28 creating flythru nets, 6-29 creating internal nets, 6-26 creating passthru nets, 6-29 disconnecting, 3-26 drawing, 3-25 External Nets, 12-19 Flythru Nets, 12-21 Internal FB Definition Nets, 12-17 moving net names, 3-30 naming, 3-28 Passthru Nets, 12-20 renaming, 3-29 renaming all segments, 3-29 routing, 3-25, 3-26 selecting attached, 2-18 terminating dangling net, 3-30 valid dangles, 3-30 No default ripper, 3-14 Null instance, E-5 adding a palette menu, 14-43 Library, 14-43 Palettes popup menu, 3-22 Panels adding, 2-51 creating in Read-only mode, 2-53 deleting, 2-51 printing in Read-only mode, 2-53 viewing, 2-51 Parameter definition of, 7-17 setting, 3-75 Personality modules, 14-19 loading, 14-19 Pin grid, 4-4 spacing, 4-4 Pin Bundle adding, 4-21 naming, 4-21 Pin list, 3-62 Pin naming syntax, 3-27 Pin property, 7-30 character restrictions, 7-7 Pins selecting attached, 2-19 Pivot objects, 2-32 Plotting Simulation Results, 8-86 difference, 8-86, 8-89 Polygons making from polylines, 4-12 Port, E-2 Printing all sheets in a hierarchy, 2-42 configuration, 2-51 From Schematic Editor window, 2-46 From Symbol Editor window, 2-46 ICprint, 2-47 Print/Plot, 2-50

O
Object handles, 2-35 Off-page connector, 3-58, E-2 Opening a Language File, 3-8 Opening a Non-Existant Component in Design Context, 11-23 Opening a Non-Existant Schematic in Design Context, 11-23 Opening multiple sheets, 3-7 Operating Procedures CASE frames, 3-70 FOR frames, 3-70 IF frames, 3-70

P
Palette

Index-8

Design Architect-IC Users Manual, v8.9_10

Index

Index (cont.)
Schematic sheet, 2-46 Schematics with protected objects, 2-50 Printing in Design Architect, 2-38 Printing Panels in Read-Only Mode, 2-53 Properties adding multiple, 7-41, 7-50 adding single, 7-39 AMPLE, 7-19 attribute_modified, 7-13 auto_update_mode, 3-21 automatic update, 7-15 changing attributes, 7-47 changing hidden symbol property text, 211, 7-50 changing the color, 7-49 changing values, 7-45 character restrictions, 7-7 dangling nets, 3-30 deleting, 7-43 deleting owners, 7-44 evaluating, 11-10 in context of a design, 11-2 introduction, 7-1 listing information, 7-45 logical symbol, 7-10 mark property attributes, 7-14 mark property value, 7-14 merge options, 7-15 name restrictions, 7-6 names versus values, 7-4 net, 3-28 parameters, 7-17 propagation, 7-28 repeat adding, 7-42 setting attributes, 7-36 setting owners, 7-43 stability switches, 7-11 structure, 7-3 symbol, 7-9 types, 7-4 update switches, 7-15 updating, 3-20, 7-13 value restrictions, 7-6 value_modified, 7-13 viewing evaluated, 11-21 visibility switches, 7-12 Properties variable resolution examples, 7-22 facts, 7-21 Property attributes, 7-36 Property concepts, 7-1 introduction to, 7-1 structure, 7-3 Property ownership, 7-4

R
Reconnecting Annotations, 11-16 Removing Comment Status, 3-69 Reopening a selection set, 2-21 Repeating instances, 3-23, 3-71 Replacing properties, 3-20 Report Groups, 2-30 Reporting forces, 8-25 Reporting on check status, 9-16 objects, 9-15 Reselecting a selection set, 2-21 Resizing Instances, 2-29 Ripper angled, 3-14 auto, 3-14 auto_ripper_mode, 3-14 creating a bus ripper, 3-36 implicit, 3-14 no default, 3-14 straight, 3-14 Ripping bits from bus, E-2 bits from two-dimensional bus, E-3

Design Architect-IC Users Manual, v8.9_10

Index-9

Index

Index (cont.)
Ripping Members from Net Bundles, 3-52 Rotate objects, 2-32 Routing automatic net, 3-26 Rule property, 7-30 attached branches, 2-17 attached instances, 2-18 attached nets, 2-18 attached pins, 2-19 Nets with the same name, 2-18 object name, 2-19 Setting the mouse behavior, 2-10 Selection filters setting, 2-22 Selection Set reopening, 2-21 reselecting, 2-21 Sequence Text, 3-44 Setup Mouse Selection Behavior, 2-10 Sheets error checking, 3-77 opening multiple, 3-7 viewing capabilities, 2-37 viewing entire, 2-36 viewing portions, 2-36 viewing the contents, 2-36 Simulation output file (.chi), 8-9 overview, 8-1 plotting difference, 8-86, 8-89 plotting results, 8-86 requirements, 8-5 results file (.wdb, .cou, .dou), 8-9 running, 8-8 Simulation command file (.cir), 8-8 Simulation setup auto-close windows, 8-18 procedure, 8-17 single-click, 8-18 SLD properties Class, 7-28 Frexp, 7-31 Global, 7-29 Inst, 7-29

S
Schematic adding comment objects, 3-64 auto_ripper_mode, 3-14 auto_update_mode, 3-8 convert comment objects to symbol, 3-68 creating a bus, 3-31 creating a sheet for a symbol, 3-56 creating a symbol for, 3-60 creating additional sheets, 3-57 creating CASE frames, 3-75 creating FOR frames, 3-70 creating IF frames, 3-74 functional blocks, 3-53 grid snap, 3-9 grid spacing, 3-9 net attributes, 3-11 new sheet, 3-7 open down, 3-60 opening a sheet, 3-6 placing symbol, 3-19 registering, 3-80 reporting on objects, 9-15 saving, 3-80 setting edit environment, 3-9 Schematic Editor library menus, 14-28 Schematic Sheets creating comment objects, 3-67 Scopes finding name, 14-10 hierarchy, 14-3 Selecting Multiple Objects, 2-16 Selection

Index-10

Design Architect-IC Users Manual, v8.9_10

Index

Index (cont.)
Net, 7-30 Pin, 7-30 Rule, 7-30 Slicing graphic objects, 4-11 Sources Lib, 1-4 Special instances, 3-3 bus ripper, 3-37 net connector, 3-49 using off-page connectors, 3-58 using port symbols, 3-59 Startup files, 14-11 straight ripper, 3-14 Symbol add pins, 4-13 adding multiple pins, 4-14 adding single pin, 4-13 bus ripper, 3-39 consecutive pins, 4-15 convert comment objects to symbol, 3-68 create from schematic, 3-56 draw symbol body, 4-6 edit sheet of, 3-60 joining sliced parts, 4-12 opening, 4-3 pin names, 4-13 pin spacing, 4-4 placing, 3-19 registering, 4-24 registering multiple symbols, 4-25 reporting on objects, 9-15 saving, 4-24 setting edit environment, 4-4 slicing, 4-11 symbol body attributes, 4-4 Symbol layout properties, 5-11 Symbol properties logical symbol, 7-9 stability switches, 7-11 update switches, 7-15 visibility switches, 7-12 Symbol registration, 4-25 Symbol window pulldown menu bar, 4-2

T
Text auto sequence, 3-44

U
Ungroup Objects, 2-30 unmade defined, 12-3 Unmade Function Blocks defined, 12-4 FB Definition, 12-4, 12-5 Unselection everything, 2-21 multiple objects, 2-20 single object, 2-20 Updating properties, 3-20 attribute_modified, 7-13 auto option, 7-15 auto_update_mode, 3-21, 7-15 automatic, 7-15 clear option, 7-15 default, 7-15 during open sheet, 7-15 examples, 7-16 instance of symbol, 7-13 instance option, 7-15 mark property value, 7-14 merge options, 7-15 symbol option, 7-15 value_modified, 7-13 User-Defined Hotkeys Define Hotkey Dialog Box, 13-8 defined, 13-1 defining, 13-6 loading, 13-10 location, 13-8 naming syntax, 13-8

Design Architect-IC Users Manual, v8.9_10

Index-11

Index

Index (cont.)
usage, 13-6 Userware finding source, 14-15 loading, 14-16 Using the Dialog Navigator, 2-14

V
Valid dangling nets, 3-30 Value_Modified flag, 7-13 Versions, 9-9 View design centered, 2-37 selected, 2-37 zoom in, 2-37 zoom out, 2-37 View properties in design context, 11-4 Viewing Panels, 2-51 Viewing registered models, 5-20

W
Waveforms viewing, 8-1 Windows copying objects between, 2-27 moving objects between, 2-23

Index-12

Design Architect-IC Users Manual, v8.9_10

Trademark Information

Updated: 11/20/02

End-User License Agreement


IMPORTANT - USE OF THIS SOFTWARE IS SUBJECT TO LICENSE RESTRICTIONS. CAREFULLY READ THIS LICENSE AGREEMENT BEFORE USING THE SOFTWARE. This license is a legal Agreement concerning the use of Software between you, the end user, either individually or as an authorized representative of the company acquiring the license, and Mentor Graphics Corporation and Mentor Graphics (Ireland) Limited, acting directly or through their subsidiaries or authorized distributors (collectively Mentor Graphics). USE OF SOFTWARE INDICATES YOUR COMPLETE AND UNCONDITIONAL ACCEPTANCE OF THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT. If you do not agree to these terms and conditions, promptly return, or, if received electronically, certify destruction of, Software and all accompanying items within five days after receipt of Software and receive a full refund of any license fee paid.

END-USER LICENSE AGREEMENT 1. GRANT OF LICENSE. The software programs you are installing, downloading, or have acquired with this Agreement, including any updates, modifications, revisions, copies, documentation and design data (Software) are copyrighted, trade secret and confidential information of Mentor Graphics or its licensors who maintain exclusive title to all Software and retain all rights not expressly granted by this Agreement. Mentor Graphics grants to you, subject to payment of appropriate license fees, a nontransferable, nonexclusive license to use Software solely: (a) in machine-readable, object-code form; (b) for your internal business purposes; and (c) on the computer hardware or at the site for which an applicable license fee is paid, or as authorized by Mentor Graphics. A site is restricted to a one-half mile (800 meter) radius. Mentor Graphics' standard policies and programs, which vary depending on Software, license fees paid or service plan purchased, apply to the following and are subject to change: (a) relocation of Software; (b) use of Software, which may be limited, for example, to execution of a single session by a single user on the authorized hardware or for a restricted period of time (such limitations may be communicated and technically implemented through the use of authorization codes or similar devices); (c) support services provided, including eligibility to receive telephone support, updates, modifications and revisions. Current standard policies and programs are available upon request. ESD SOFTWARE. If you purchased a license to use embedded software development (ESD) Software, Mentor Graphics grants to you a nontransferable, nonexclusive license to reproduce and distribute executable files created using ESD compilers, including the ESD run-time libraries distributed with ESD C and C++ compiler Software that are linked into a composite program as an integral part of your compiled computer program, provided that you distribute these files only in conjunction with your compiled computer program. Mentor Graphics does NOT grant you any right to duplicate or incorporate copies of Mentor Graphics' real-time operating systems or other ESD Software, except those explicitly granted in this section, into your products without first signing a separate agreement with Mentor Graphics for such purpose. BETA CODE. Portions or all of certain Software may contain code for experimental testing and evaluation (Beta Code), which may not be used without Mentor Graphics' explicit authorization. Upon Mentor Graphics' authorization, Mentor Graphics grants to you a temporary, nontransferable, nonexclusive license for experimental use to test and evaluate the Beta Code without charge for a limited period of time specified by Mentor Graphics. This grant and your use of the Beta Code shall not be construed as marketing or offering to sell a license to the Beta Code, which Mentor Graphics may choose not to release commercially in any form. If Mentor Graphics authorizes you to use the Beta Code, you agree to evaluate and test the Beta Code under normal conditions as directed by Mentor Graphics. You will contact Mentor Graphics periodically during your use of the Beta Code to discuss any malfunctions or suggested improvements. Upon completion of your evaluation and testing, you will send to Mentor Graphics a written evaluation of the Beta Code, including its strengths, weaknesses and recommended improvements. You agree that any written evaluations and all inventions, product improvements, modifications or developments that Mentor Graphics conceives or made during or subsequent to this Agreement, including those based partly or wholly on your feedback, will be the exclusive property of

2.

3.

Mentor Graphics. Mentor Graphics will have exclusive rights, title and interest in all such property. The provisions of this subsection shall survive termination or expiration of this Agreement. 4. RESTRICTIONS ON USE. You may copy Software only as reasonably necessary to support the authorized use. Each copy must include all notices and legends embedded in Software and affixed to its medium and container as received from Mentor Graphics. All copies shall remain the property of Mentor Graphics or its licensors. You shall maintain a record of the number and primary location of all copies of Software, including copies merged with other software, and shall make those records available to Mentor Graphics upon request. You shall not make Software available in any form to any person other than employees and contractors, excluding Mentor Graphics' competitors, whose job performance requires access. You shall take appropriate action to protect the confidentiality of Software and ensure that any person permitted access to Software does not disclose it or use it except as permitted by this Agreement. Except as otherwise permitted for purposes of interoperability as specified by applicable and mandatory local law, you shall not reverse-assemble, reversecompile, reverse-engineer or in any way derive from Software any source code. You may not sublicense, assign or otherwise transfer Software, this Agreement or the rights under it, whether by operation of law or otherwise (attempted transfer) without Mentor Graphics' prior written consent and payment of Mentor Graphics thencurrent applicable transfer charges. Any attempted transfer without Mentor Graphics prior written consent shall be a material breach of this Agreement and may, at Mentor Graphics option, result in the immediate termination of the Agreement and licenses granted under this Agreement. The provisions of this section 4 shall survive the termination or expiration of this Agreement. LIMITED WARRANTY. 5.1. Mentor Graphics warrants that during the warranty period, Software, when properly installed, will substantially conform to the functional specifications set forth in the applicable user manual. Mentor Graphics does not warrant that Software will meet your requirements or that operation of Software will be uninterrupted or error free. The warranty period is 90 days starting on the 15th day after delivery or upon installation, whichever first occurs. You must notify Mentor Graphics in writing of any nonconformity within the warranty period. This warranty shall not be valid if Software has been subject to misuse, unauthorized modification or installation. MENTOR GRAPHICS' ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL BE, AT MENTOR GRAPHICS' OPTION, EITHER (A) REFUND OF THE PRICE PAID UPON RETURN OF SOFTWARE TO MENTOR GRAPHICS OR (B) MODIFICATION OR REPLACEMENT OF SOFTWARE THAT DOES NOT MEET THIS LIMITED WARRANTY, PROVIDED YOU HAVE OTHERWISE COMPLIED WITH THIS AGREEMENT. MENTOR GRAPHICS MAKES NO WARRANTIES WITH RESPECT TO: (A) SERVICES; (B) SOFTWARE WHICH IS LICENSED TO YOU FOR A LIMITED TERM OR LICENSED AT NO COST; OR (C) EXPERIMENTAL BETA CODE; ALL OF WHICH ARE PROVIDED AS IS. 5.2. THE WARRANTIES SET FORTH IN THIS SECTION 5 ARE EXCLUSIVE. NEITHER MENTOR GRAPHICS NOR ITS LICENSORS MAKE ANY OTHER WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, WITH RESPECT TO SOFTWARE OR OTHER MATERIAL PROVIDED UNDER THIS AGREEMENT. MENTOR GRAPHICS AND ITS LICENSORS SPECIFICALLY DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF INTELLECTUAL PROPERTY. 6. LIMITATION OF LIABILITY. EXCEPT WHERE THIS EXCLUSION OR RESTRICTION OF LIABILITY WOULD BE VOID OR INEFFECTIVE UNDER APPLICABLE LAW, IN NO EVENT SHALL MENTOR GRAPHICS OR ITS LICENSORS BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS) WHETHER BASED ON CONTRACT, TORT OR ANY OTHER LEGAL THEORY, EVEN IF MENTOR GRAPHICS OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT SHALL MENTOR GRAPHICS' OR ITS LICENSORS' LIABILITY UNDER THIS AGREEMENT EXCEED THE AMOUNT PAID BY YOU FOR THE SOFTWARE OR SERVICE GIVING RISE TO THE CLAIM. IN THE CASE WHERE NO AMOUNT WAS PAID, MENTOR GRAPHICS AND ITS LICENSORS SHALL HAVE NO LIABILITY FOR ANY DAMAGES WHATSOEVER.

5.

7.

LIFE ENDANGERING ACTIVITIES. NEITHER MENTOR GRAPHICS NOR ITS LICENSORS SHALL BE LIABLE FOR ANY DAMAGES RESULTING FROM OR IN CONNECTION WITH THE USE OF SOFTWARE IN ANY APPLICATION WHERE THE FAILURE OR INACCURACY OF THE SOFTWARE MIGHT RESULT IN DEATH OR PERSONAL INJURY. INDEMNIFICATION. YOU AGREE TO INDEMNIFY AND HOLD HARMLESS MENTOR GRAPHICS AND ITS LICENSORS FROM ANY CLAIMS, LOSS, COST, DAMAGE, EXPENSE, OR LIABILITY, INCLUDING ATTORNEYS' FEES, ARISING OUT OF OR IN CONNECTION WITH YOUR USE OF SOFTWARE AS DESCRIBED IN SECTION 7. INFRINGEMENT. 9.1. Mentor Graphics will defend or settle, at its option and expense, any action brought against you alleging that Software infringes a patent or copyright or misappropriates a trade secret in the United States, Canada, Japan, or member state of the European Patent Office. Mentor Graphics will pay any costs and damages finally awarded against you that are attributable to the infringement action. You understand and agree that as conditions to Mentor Graphics obligations under this section you must: (a) notify Mentor Graphics promptly in writing of the action; (b) provide Mentor Graphics all reasonable information and assistance to defend or settle the action; and (c) grant Mentor Graphics sole authority and control of the defense or settlement of the action. 9.2. If an infringement claim is made, Mentor Graphics may, at its option and expense: (a) replace or modify Software so that it becomes noninfringing; (b) procure for you the right to continue using Software; or (c) require the return of Software and refund to you any license fee paid, less a reasonable allowance for use. 9.3. Mentor Graphics has no liability to you if infringement is based upon: (a) the combination of Software with any product not furnished by Mentor Graphics; (b) the modification of Software other than by Mentor Graphics; (c) the use of other than a current unaltered release of Software; (d) the use of Software as part of an infringing process; (e) a product that you make, use or sell; (f) any Beta Code contained in Software; (g) any Software provided by Mentor Graphics' licensors who do not provide such indemnification to Mentor Graphics' customers; or (h) infringement by you that is deemed willful. In the case of (h) you shall reimburse Mentor Graphics for its attorney fees and other costs related to the action upon a final judgment. 9.4. THIS SECTION 9 STATES THE ENTIRE LIABILITY OF MENTOR GRAPHICS AND ITS LICENSORS AND YOUR SOLE AND EXCLUSIVE REMEDY WITH RESPECT TO ANY ALLEGED PATENT OR COPYRIGHT INFRINGEMENT OR TRADE SECRET MISAPPROPRIATION BY ANY SOFTWARE LICENSED UNDER THIS AGREEMENT.

8.

9.

10. TERM. This Agreement remains effective until expiration or termination. This Agreement will automatically terminate if you fail to comply with any term or condition of this Agreement or if you fail to pay for the license when due and such failure to pay continues for a period of 30 days after written notice from Mentor Graphics. If Software was provided for limited term use, this Agreement will automatically expire at the end of the authorized term. Upon any termination or expiration, you agree to cease all use of Software and return it to Mentor Graphics or certify deletion and destruction of Software, including all copies, to Mentor Graphics' reasonable satisfaction. 11. EXPORT. Software is subject to regulation by local laws and United States government agencies, which prohibit export or diversion of certain products, information about the products, and direct products of the products to certain countries and certain persons. You agree that you will not export any Software or direct product of Software in any manner without first obtaining all necessary approval from appropriate local and United States government agencies. 12. RESTRICTED RIGHTS NOTICE. Software was developed entirely at private expense and is commercial computer software provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions set forth in the license agreement under which Software was obtained pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (c)(1)

and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is Mentor Graphics Corporation, 8005 SW Boeckman Road, Wilsonville, Oregon 97070-7777 USA. 13. THIRD PARTY BENEFICIARY. For any Software under this Agreement licensed by Mentor Graphics from Microsoft or other licensors, Microsoft or the applicable licensor is a third party beneficiary of this Agreement with the right to enforce the obligations set forth in this Agreement. 14. AUDIT RIGHTS. With reasonable prior notice, Mentor Graphics shall have the right to audit during your normal business hours all records and accounts as may contain information regarding your compliance with the terms of this Agreement. Mentor Graphics shall keep in confidence all information gained as a result of any audit. Mentor Graphics shall only use or disclose such information as necessary to enforce its rights under this Agreement. 15. CONTROLLING LAW AND JURISDICTION. THIS AGREEMENT SHALL BE GOVERNED BY AND CONSTRUED UNDER THE LAWS OF OREGON, USA, IF YOU ARE LOCATED IN NORTH OR SOUTH AMERICA, AND THE LAWS OF IRELAND IF YOU ARE LOCATED OUTSIDE OF NORTH AND SOUTH AMERICA. All disputes arising out of or in relation to this Agreement shall be submitted to the exclusive jurisdiction of Dublin, Ireland when the laws of Ireland apply, or Wilsonville, Oregon when the laws of Oregon apply. This section shall not restrict Mentor Graphics right to bring an action against you in the jurisdiction where your place of business is located. 16. SEVERABILITY. If any provision of this Agreement is held by a court of competent jurisdiction to be void, invalid, unenforceable or illegal, such provision shall be severed from this Agreement and the remaining provisions will remain in full force and effect. 17. MISCELLANEOUS. This Agreement contains the parties entire understanding relating to its subject matter and supersedes all prior or contemporaneous agreements, including but not limited to any purchase order terms and conditions, except valid license agreements related to the subject matter of this Agreement (which are physically signed by you and an authorized agent of Mentor Graphics) either referenced in the purchase order or otherwise governing this subject matter. This Agreement may only be modified in writing by authorized representatives of the parties. Waiver of terms or excuse of breach must be in writing and shall not constitute subsequent consent, waiver or excuse. The prevailing party in any legal action regarding the subject matter of this Agreement shall be entitled to recover, in addition to other relief, reasonable attorneys' fees and expenses. Rev. 020826, Part Number 214231

Das könnte Ihnen auch gefallen