Académique Documents
Professionnel Documents
Culture Documents
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 OF 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. Telephone: 503.685.7000 Toll-Free Telephone: 800.592.2210 Website: www.mentor.com SupportNet: www.mentor.com/supportnet Contact Your Technical Writer: www.mentor.com/supportnet/documentation/reply_form.cfm
TRADEMARKS: The trademarks, logos and service marks ("Marks") used herein are the property of Mentor Graphics Corporation or other third parties. No one is permitted to use these Marks without the prior written consent of Mentor Graphics or the respective third-party owner. The use herein of a thirdparty Mark is not an attempt to indicate Mentor Graphics as a source of a product, but is intended to indicate a product from, or associated with, a particular third party. A current list of Mentor Graphics trademarks may be viewed at: www.mentor.com/terms_conditions/trademarks.cfm.
Table of Contents
Chapter 1 Introducing DA-IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DA-IC Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DA-IC Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IC-Specific Component Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DA-IC Design Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 2 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Edit Toolbar Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Up Display Preferences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Color of Design Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Background Color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Dynamic Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Default Text Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up a Language Model Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Mouse Selection Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Property Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Display Background Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Show Property Name Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Browsing for Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting and Unselecting Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting a Single Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Multiple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Attached Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Attached Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Attached Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting all Nets with the Same Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting Attached Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting by Object Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unselecting a Single Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unselecting Multiple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unselecting Everything. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reselecting a Selection Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reopening a Selection Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting the Default Selection Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-1 1-2 1-3 1-4 2-1 2-2 2-2 2-3 2-4 2-4 2-4 2-6 2-6 2-7 2-8 2-8 2-8 2-9 2-10 2-11 2-11 2-13 2-13 2-14 2-14 2-14 2-15 2-15 2-16 2-16 2-16 2-16 2-17 2-17 2-18 2-18 2-18 2-18
iii
Table of Contents
Manipulating Graphical Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Objects by Selecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Objects Without Selecting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Objects by Positioning the Cursor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Objects Using Drag and Drop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repeat Moving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Objects Between Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Objects by Selecting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Objects Without Selecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Objects by Positioning the Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Objects to an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying Objects Between Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Resizing Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Grouping Design Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ungrouping Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reporting Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pivoting and Rotating Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flipping Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Strokes to Manipulate Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Object Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Design View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing a Portion of the Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing the Entire Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Viewing Capabilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing in DA-IC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing with HotPlot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing with Falcon Print/Export. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Panels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing and Hiding Panel Borders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting a Panel Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating and Printing Panels in Read-Only Mode . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up an IFF Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Placing IFF Friendly Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Writing Out an IFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reading In an IFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting A Default IFF Library Palette. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 3 Creating Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Creation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Editor Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening/Creating a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening a Language File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Up the Schematic Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Grid, Pin Spacing and Snap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-18 2-19 2-19 2-20 2-20 2-21 2-21 2-21 2-22 2-22 2-23 2-23 2-24 2-25 2-25 2-25 2-26 2-27 2-28 2-29 2-30 2-30 2-31 2-31 2-31 2-32 2-32 2-44 2-47 2-47 2-47 2-48 2-48 2-48 2-49 2-50 2-50 2-50 2-51 3-1 3-2 3-5 3-5 3-7 3-7 3-8
iv
Table of Contents
Setting Net Drawing Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Ripper Drawing Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Design Context Drawing Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Comment Drawing Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Choosing and Placing Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Naming Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Naming Selected Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling/Disabling Automatic Naming of Instances During Add or Copy . . . . . . . Specifying a User-defined Property for Naming Instances . . . . . . . . . . . . . . . . . . . Updating Instance Names For Sheets Added in Non-alphabetical Order. . . . . . . . . Selecting and Placing Active Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Updating and Replacing Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Replacing Multiple Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using a Shortcut for Repeating Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Nets, Buses and Net Bundles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Drawing and Routing Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automatic Net Routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connecting and Disconnecting Net Vertices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Basic Pin, Bus, and Net Naming Syntax . . . . . . . . . . . . . . . . . . . . . Naming Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Net Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renaming all Segments of a Net. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Moving Net Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminating a Dangling Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Declaring Dangling Nets and Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Bus and Bus Connections. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Multi-Dimensional Buses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Representing a Bus Graphically . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Multi-Level Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Schematic-Based Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Sheet for a Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Additional Sheets in a Schematic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Off-Page Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Portin and Portout Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing the Underlying Sheet of a Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Symbol for a Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Connecting Nets Through the Hierarchy with Implicit Pins . . . . . . . . . . . . . . . . . . Creating a Pin List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Design Architect-IC Users Manual, 2006.1
3-9 3-11 3-13 3-15 3-17 3-17 3-18 3-18 3-20 3-21 3-21 3-22 3-23 3-24 3-26 3-26 3-28 3-28 3-29 3-30 3-30 3-30 3-31 3-31 3-31 3-32 3-32 3-35 3-35 3-36 3-36 3-41 3-44 3-44 3-44 3-45 3-46 3-47 3-48 3-49 3-49 3-51 3-52 3-53 3-53 3-54 3-54 3-56 3-57
v
Table of Contents
Displaying a Lower Level Sheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying a Higher Level Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying the Top Level Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locking/Unlocking Schematic Sheet Edits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Comment Text and Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types of Comment Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Uses for Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Comment Text and Graphic Drawing Attributes . . . . . . . . . . . . . . . . . . . . . Creating Comment Objects on Schematic Sheets. . . . . . . . . . . . . . . . . . . . . . . . . . . Making a Symbol From Comment Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Converting Electrical Objects to Comments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Removing Comment Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using FOR, CASE, and IF Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating FOR Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating IF Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating CASE, OTHERWISE Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking a Schematic for Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving and Registering a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving and Registering to the Default Component Interface . . . . . . . . . . . . . . . . . . Saving and Registering to a Specified Component Interface . . . . . . . . . . . . . . . . . . Navigating Multiple Page Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Navigating Multi-Sheet Schematics with a Single Window. . . . . . . . . . . . . . . . . . . Sequentially Traversing a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multiple Page Icon Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closing a Multiple Sheet Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying/Editing Registered Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist . . . . . . . . Creating a Schematic from a Verilog Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Netlisting a Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a SPICE Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Advanced Options for a SPICE Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Verilog Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Advanced Options for a Verilog Netlist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Invoking IC Station Directly from DA-IC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 4 Creating Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-57 3-58 3-58 3-58 3-58 3-59 3-59 3-60 3-60 3-61 3-62 3-62 3-62 3-63 3-64 3-64 3-65 3-66 3-68 3-69 3-69 3-70 3-71 3-71 3-71 3-73 3-73 3-75 3-75 3-85 3-86 3-87 3-89 3-89 3-91 4-1 4-2 4-2 4-3 4-3 4-3 4-3 4-5 4-5 4-6 4-6
vi
Table of Contents
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . Chapter 5 Managing/Registering Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing the Registered Models for a Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Checking a Model Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing a Model Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Renaming a Model Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying a Model Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting a Model Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Restoring Deleted Model Registrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closing the Model Registrar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Registering Models with a Batch File. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Batch File Using the Model Registrar. . . . . . . . . . . . . . . . . . . . . . . . . . . Creating a Batch File Manually . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Registering Models Using a Batch File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4-7 4-7 4-8 4-8 4-9 4-9 4-10 4-10 4-11 4-11 4-16 4-18 4-18 4-19 4-19 4-19 4-19 5-1 5-2 5-2 5-3 5-4 5-5 5-6 5-6 5-8 5-8 5-9 5-11 5-13 5-14 5-17 5-17 5-18 5-20 5-22 5-23 5-24 5-24 5-25 5-25 5-26 5-27 5-30
vii
Table of Contents
Chapter 6 Using Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Block Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up a Function Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating FB Definitions and FB Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FB Definitions and FB Instances Usage Models . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating FB Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating FB Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding FB Pins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Net Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constructing Internal Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constructing External Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constructing Passthru Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Constructing Flythru Nets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FB Definition and FB Instance Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manipulating FB Definitions and FB Instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Made FB Definitions and FB Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Errors Encountered During the Make Function Block Operation . . . . . . . . . . . . . . Interface Pin Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unmaking Made FB Definitions and Made FB Instances . . . . . . . . . . . . . . . . . . . . . . Checking Function Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 7 Using Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Introduction to Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Names Versus Property Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Name/Value Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Name Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Value Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special Case Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties and Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical Symbol Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Stability Switches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Visibility Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Updating Properties on an Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Attribute-Modified Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Value-Modified Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-1 6-1 6-2 6-2 6-5 6-6 6-6 6-11 6-19 6-21 6-22 6-24 6-25 6-25 6-25 6-25 6-26 6-26 6-27 6-28 6-30 6-31 6-31 6-31 6-34 6-34 6-35 6-37 7-1 7-1 7-2 7-3 7-3 7-4 7-4 7-4 7-5 7-6 7-6 7-7 7-7 7-8 7-8 7-9 7-9
viii
Table of Contents
Mark Property Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mark Property Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Merge Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automatic Update Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Property Update Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Expressions as Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rules for Resolving Property Value Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Facts About Property Variable Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example of Property Variable Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structured Logic Design Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Class Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Global Property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inst Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Net Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pin Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rule Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Frexp Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special Notation for CASE, FOR, and IF Property Values . . . . . . . . . . . . . . . . . . . Assigning Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Up Property Text Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Single Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Multiple Properties to the Same Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . Repeat Adding Properties to Changing Selection. . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Property Name/Value. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Property Owners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Property Owners. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Listing Property Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Property Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing Property Text Color . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Background of Hidden Property Text . . . . . . . . . . . . . . . . . . . . . . . . Changing Multiple Properties on the Same Object. . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 8 Running Design Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Simulation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported Language Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simulator/Viewer Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Running a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Default Editor for Simulation Mode. . . . . . . . . . . . . . . . . . . . . . . . . . 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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7-9 7-10 7-10 7-11 7-11 7-12 7-13 7-14 7-16 7-16 7-18 7-21 7-21 7-22 7-22 7-22 7-22 7-22 7-23 7-25 7-26 7-28 7-29 7-30 7-30 7-31 7-31 7-32 7-32 7-34 7-35 7-36 7-36 8-1 8-4 8-4 8-5 8-6 8-6 8-6 8-7 8-9 8-11 8-12 8-14 8-14
ix
Table of Contents
Copying a Simulation Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up Standard Simulator Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding a Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Forces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Safe Operating Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying a Circuit Temperature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up Parameter Variables for Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reordering, Enabling/Disabling, Editing, and Deleting Sweep Analyses . . . . . . . . Setting up a Sweep Analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up a Monte Carlo Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting Alternate Parameter Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the Model for a Selected Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Selecting/Editing Registered Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying/Editing the Default Registered Model . . . . . . . . . . . . . . . . . . . . . . . . . . Including SPICE Command Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Entering Additional Simulator Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving/Plotting Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving All Signals as Waveforms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving/Plotting Waveforms for Selected Components. . . . . . . . . . . . . . . . . . . . . . . Saving/Plotting Frequency/Time-Based Waveforms . . . . . . . . . . . . . . . . . . . . . . . . Editing Previously Specified Waveform Setups. . . . . . . . . . . . . . . . . . . . . . . . . . . . Saving/Plotting Waveforms for HSPICE/SmartSPICE . . . . . . . . . . . . . . . . . . . . . . . . Setting Probes for HSPICE/SmartSPICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plotting HSPICE/SmartSPICE Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . Deleting Plots/Probes for HSPICE/SmartSPICE . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . Using Post-layout Parasitic Extractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up the Netlist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Analog/Digital Converters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Associating an SDF File with an Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x
8-14 8-15 8-16 8-17 8-20 8-24 8-25 8-25 8-27 8-31 8-35 8-36 8-36 8-38 8-41 8-43 8-46 8-48 8-50 8-52 8-54 8-56 8-60 8-62 8-64 8-65 8-71 8-72 8-72 8-73 8-74 8-74 8-75 8-76 8-77 8-77 8-78 8-82 8-82 8-83 8-84 8-84 8-85 8-86 8-86 8-92 8-102 8-105 8-119
Table of Contents
Displaying SDF File Setups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting SDF File Setups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing SDF File Setups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merging Backannotated Properties to the Source Schematic . . . . . . . . . . . . . . . . . . Editing/Merging Specific Backannotated Properties . . . . . . . . . . . . . . . . . . . . . . . . Deleting Unused References\Invalid Backannotations. . . . . . . . . . . . . . . . . . . . . . . Checking the Design Before Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up a Design Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating a Netlist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Running the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extracting Waveform Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exiting Simulation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . About EZwave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Invoking EZwave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Crossprobing Schematics with EZwave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closing EZwave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . About Xelga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Invoking Xelga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Crossprobing Schematics with Xelga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closing Xelga . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 9 Managing Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 10 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cannot Invoke ADVance MS, Eldo, or EldoNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unexpected Errors During Design Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8-120 8-120 8-121 8-123 8-123 8-125 8-125 8-126 8-127 8-128 8-128 8-131 8-131 8-132 8-132 8-132 8-134 8-134 8-135 8-135 8-137 9-1 9-2 9-2 9-5 9-5 9-6 9-7 9-7 9-8 9-8 9-9 9-9 9-10 9-11 9-12 9-12 9-13 9-14 10-1 10-1 10-1
xi
Table of Contents
Chapter 11 Editing in Design Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . In Simulation Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Properties in the Context of a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting New Annotation Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adding Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Annotations vs. Evaluations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merging Backannotations to Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Backannotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Evaluating Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expressions in Backannotation Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Applying Edits to the In Memory Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . When Objects are Deleted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening Non-Existent Schematics and Components . . . . . . . . . . . . . . . . . . . . . . . . . Opening/Creating a Design Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating Backannotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Editing Backannotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Viewing Evaluated Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Merging Backannotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Locking Schematic Sheet for Edits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opening a Non-Existent Schematic in Design Context . . . . . . . . . . . . . . . . . . . . . . Opening a Non-Existent Component in Design Context . . . . . . . . . . . . . . . . . . . . . Chapter 12 Function Block Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Block Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Block Development States. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Understanding Function Block Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unmade Function Blocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FB Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FB Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FB Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Made Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . The Made FB Definition and Made FB Instance Creation Operation . . . . . . . . . . . Usage Paradigm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Nested Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FB Definition and FB Instance Net Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . External Nets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passthru Nets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flythru Nets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 13 Using Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hotkey Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hotkey User Interface Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using DA-IC Predefined Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xii
11-1 11-1 11-2 11-2 11-2 11-3 11-4 11-4 11-8 11-11 11-13 11-14 11-14 11-15 11-17 11-17 11-18 11-18 11-19 11-19 11-19 12-1 12-1 12-2 12-3 12-3 12-4 12-4 12-5 12-6 12-8 12-9 12-9 12-10 12-13 12-14 12-16 12-16 12-17 13-1 13-1 13-2 13-3
Table of Contents
Loading Predefined Hotkeys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using User-Defined Hotkeys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating User-Defined Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading User-Defined Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Custom Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customizing Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loading Custom Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reporting Hotkey Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling and Disabling Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enabling Hotkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Disabling Hotkeys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 14 Creating DA-IC Userware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customization Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Design Architect-IC Scopes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scope Specific Userware Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scope Search Order. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simple Customizing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DA-IC Startup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Source Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to Load Userware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . AMPLE_PATH Environment Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scope Specific Dofiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DES_ARCH_PKGS_TO_LOAD Environment Variable. . . . . . . . . . . . . . . . . . . . . Personal Startup Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Userware Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advanced Customizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DES_ARCH_AUX_PKG_LIST Environment Variable . . . . . . . . . . . . . . . . . . . . . DES_ARCH_AUX_PKGS_LIST Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Environment Variable Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Design Architect-IC Menu Customization Functions. . . . . . . . . . . . . . . . . . . . . . . . $create_library_menu(). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $add_library_menu_item() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $add_or_replace_instance() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $prompt_for_diagram_location() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Userware Examples for Menu Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 15 Hotkey Function Dictionary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Description Legend. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Arguments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13-4 13-5 13-6 13-8 13-9 13-9 13-12 13-13 13-13 13-14 13-15 14-1 14-2 14-2 14-3 14-4 14-8 14-8 14-11 14-11 14-12 14-13 14-14 14-14 14-15 14-18 14-18 14-19 14-20 14-21 14-26 14-27 14-29 14-30 14-31 14-33 14-36 15-1 15-1 15-2 15-2 15-2 15-4 15-4
xiii
Table of Contents
Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $copy_edit_hotkey_settings() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $define_hotkey() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $get_hotkey_mode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $get_hotkey_settings() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $load_hotkey_settings() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $report_hotkey_settings() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . $set_hotkey_mode() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 16 Calibrating CommLib Models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Running a Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rerunning a Calibration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purging a Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix A Predefined Hotkeys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix B Hotkey Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix C Design Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special Symbols* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pin* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Body* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Sheet Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instance* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Special Instances*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Net*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Frame* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbol Pins* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overlap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notdots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Closedots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dangles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Init Props. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Annotations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bus Shorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analog/Digital Converters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15-4 15-4 15-5 15-6 15-8 15-9 15-10 15-12 15-14 16-1 16-1 16-1 16-2 16-3 A-1 B-1 C-1 C-1 C-2 C-2 C-2 C-3 C-3 C-3 C-4 C-5 C-6 C-6 C-6 C-6 C-7 C-7 C-7 C-7 C-8 C-8 C-8 C-9 C-9 C-10
xiv
Table of Contents
Schematic Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Special . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Bus Shorts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Schematic Net I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix D Migrating Userware to DA-IC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Menu Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Softkey Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Default Behavior Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . User Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Executables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix E Special Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index End-User License Agreement
C-10 C-10 C-11 C-11 C-11 C-11 D-1 D-1 D-2 D-2 D-4 D-5 D-5 D-6 D-6 D-8 D-8 E-1
xv
List of Figures
Figure 1-1. DA-IC Design Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-1. Design Manager-IC Session Window. . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-2. Session Setup Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-3. Setup Display Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-4. Setup Selection Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-5. The Setup Property Display dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-6. Selecting a Single Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-7. Selecting Multiple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-8. Unselecting Multiple Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-9. Result of Copy to Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 2-10. Schematic Window Strokes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-1. Schematic Sheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-2. Open (new) Sheet Options Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-3. Setup Grid Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-4. Setup Objects Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-5. Setup Objects Ripper Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-6. Setup Objects Design Context Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . Figure 3-7. Setup Objects Comment Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-8. Repeating Instance Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-9. A Bus Connected to a Four-Wide Output Port . . . . . . . . . . . . . . . . . . . . . Figure 3-10. Add Multiple Properties Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-11. A Multi-Dimensional Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-12. A 8x1 Bus Ripper from $MGC_IC_GENERIC_LIB/rip . . . . . . . . . . . . Figure 3-13. Bus Ripper Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-14. Installing a Bus Ripper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-15. A Bus with a Connected Sub-Bus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-16. A Bus Ripper Extracts a Range of Lines . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-17. Basic Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-18. The Sequence Text dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-19. Fully Connected Bus Ripper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-20. Choose Bundle Member Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-21. Generate/Make Symbol Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-22. Open Schematic Options Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-23. Generate Symbol Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-24. FOR Frame Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-25. Check Schematic Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-26. Default Sheet Check Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . Figure 3-27. Save Sheet As Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-28. Schematic Sheet Navigation Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-29. Display Specific Sheet Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xvi
1-5 2-3 2-5 2-7 2-10 2-12 2-14 2-15 2-18 2-23 2-29 3-4 3-6 3-8 3-10 3-12 3-14 3-16 3-25 3-32 3-34 3-35 3-36 3-38 3-39 3-39 3-41 3-41 3-42 3-43 3-49 3-50 3-52 3-55 3-63 3-67 3-68 3-69 3-71 3-72
List of Figures
Figure 3-30. New Sheet Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-31. .Save Multiple Sheets Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-32. Import Verilog Dialog Box for Mapping File Creation . . . . . . . . . . . . . Figure 3-33. Select Verilog File Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-34. Example Mapping File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-35. Import Verilog Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-36. Select Files Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-37. Verilog to SPICE Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-38. Export SPICE Netlist Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-39. Export SPICE Options Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-40. Export Verilog Netlist Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 3-41. Export Verilog Options Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4-1. Setup Symbol Body Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4-2. Pintype Property Text Location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4-3. Copying Pins and Sequencing Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4-4. IXO and OUT Pins on PLD Symbol. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4-5. $MGC_PLDLIB/16hd8 Symbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 4-6. Check Symbol Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 5-1. Model Registrar Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 5-2. regmanager Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 5-3. Model Registrar Manage Mode Dialog Box. . . . . . . . . . . . . . . . . . . . . . . Figure 6-1. Setup Function Blocks Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-2. Set Color Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-3. Add Popup Menu with Function Block Options. . . . . . . . . . . . . . . . . . . . Figure 6-4. Example Schematic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-5. Function Block Options in the Add Popup Menu. . . . . . . . . . . . . . . . . . . Figure 6-6. FB Definition Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-7. Function Block Popup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-8. Create Function Block Definition to Instance Prompt . . . . . . . . . . . . . . . Figure 6-9. Positioning a FB Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-10. FB Instance Created from a FB Definition . . . . . . . . . . . . . . . . . . . . . . . Figure 6-11. Example FB Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-12. Add Popup Menu with Function Block Menu Options . . . . . . . . . . . . . Figure 6-13. FB Instance Creation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-14. FB Instance Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-15. Example Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-16. Example of an Enclosed Circuit within an FB Definition . . . . . . . . . . . Figure 6-17. Completed FB Definition Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-18. Setup Select Filter Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-19. Resize in the Function Block Popup Menu. . . . . . . . . . . . . . . . . . . . . . . Figure 6-20. Stretch Prompt Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-21. Stretch Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-22. Setup Color Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-23. FB Definition Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-24. Made FB Definition Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3-72 3-73 3-76 3-77 3-81 3-82 3-83 3-85 3-86 3-88 3-89 3-90 4-4 4-12 4-13 4-15 4-16 4-18 5-4 5-5 5-6 6-3 6-4 6-6 6-7 6-8 6-11 6-12 6-12 6-13 6-14 6-15 6-16 6-18 6-19 6-22 6-23 6-24 6-27 6-28 6-29 6-29 6-30 6-32 6-33
xvii
List of Figures
Figure 6-25. Interface Pin Change Notification Box . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-26. Unmake Function Block Menu Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 6-27. Select Number of Unmake Levels Dialog Box. . . . . . . . . . . . . . . . . . . . Figure 6-28. The Default Schematic Check Settings Dialog Box . . . . . . . . . . . . . . . . Figure 7-1. Parameter Evaluation Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7-2. Property Variable Resolution Example. . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7-3. Status Line Showing Annotations ON. . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7-4. Typical FOR Frame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7-5. Setup Objects Property Text Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7-6. Change Color dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7-7. Setup Property Display dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 7-8. Modify Editable Properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 8-1. Setup Monte Carlo Analysis Dialog Box.. . . . . . . . . . . . . . . . . . . . . . . . . Figure 8-2. Model Selector Tree Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 8-3. Parasitic Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 8-4. Choose Waveforms dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 9-1. Component Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 9-2. Hierarchy Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 9-3. Renaming a Component Containing a Symbol. . . . . . . . . . . . . . . . . . . . . Figure 9-4. Report Interfaces Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 9-5. Component Window Transcript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 9-6. Report Object Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-1. my_design Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-2. default Backannotation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-3. default: I$1 Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-4. default: I$1 Window with Backannotations . . . . . . . . . . . . . . . . . . . . Figure 11-5. default: I$2 Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-6. default: I$2 Window with Backannotations . . . . . . . . . . . . . . . . . . . . Figure 11-7. my_design Design Configuration with COMP Property. . . . . . . . . . . Figure 11-8. default Backannotation Window with I$1/I$4 . . . . . . . . . . . . . . . . . . Figure 11-9. default with Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-10. default with Expression Evaluated . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-11. default with Backannotations Enabled . . . . . . . . . . . . . . . . . . . . . . . Figure 11-12. default Backannotation Window with Expression . . . . . . . . . . . . . . Figure 11-13. default: I$1 Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-14. default with Backannotation Expression . . . . . . . . . . . . . . . . . . . . . . Figure 11-15. default with Backannotation Expression Evaluated . . . . . . . . . . . . . Figure 11-16. & In the Schematic Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 11-17. Create Design Configuration Dialog Box . . . . . . . . . . . . . . . . . . . . . . . Figure 11-18. Open Design Configuration Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . Figure 12-1. FB Definition and FB Instance Usage Model . . . . . . . . . . . . . . . . . . . . . Figure 12-2. FB Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-3. FB Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-4. FB Definition Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-5. FB Inst Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6-34 6-35 6-36 6-37 7-15 7-18 7-19 7-25 7-26 7-35 7-36 7-37 8-32 8-67 8-87 8-133 9-4 9-6 9-7 9-12 9-13 9-14 11-5 11-5 11-6 11-7 11-7 11-8 11-9 11-9 11-10 11-10 11-11 11-12 11-12 11-13 11-13 11-14 11-15 11-16 12-2 12-4 12-5 12-7 12-7
xviii
List of Figures
Figure 12-6. Made FB Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-7. Unconnected FB Definition Usage Model . . . . . . . . . . . . . . . . . . . . . . . Figure 12-8. The Function Block Popup Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-9. Connected FB Definition Usage Model . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-10. Nested Function Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-11. Unmake Function Block Menu Option . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-12. FB Definitions Internal Net Example . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-13. External Net Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-14. Passthru Net Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 12-15. Flythru Net Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-1. Hotkeys Cascading Menu (Schematic Scope) . . . . . . . . . . . . . . . . . . . . Figure 13-2. Hotkey Cascading Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-3. Loading Hotkeys (Schematic Scope) . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-4. Load Hotkey Settings dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-5. DA-IC Status Line with Hotkeys Enabled (Schematic Scope). . . . . . . . Figure 13-6. Defining Hotkeys (Schematic Scope) . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-7. Define Hotkey Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-8. User-Defined Hotkey Comment Dialog Box . . . . . . . . . . . . . . . . . . . . . Figure 13-9. Define more hotkeys? Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-10. Hotkey Customize Menu Option (Schematic Scope) . . . . . . . . . . . . . . Figure 13-11. Customize Hotkey Settings dialog box . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-12. Close Window Pulldown Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-13. Save Changes dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-14. The Load Hotkey Settings dialog box. . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-15. Specify Custom Hotkey File dialog box . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-16. Report Hotkey Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-17. Load Hotkey Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 13-18. Disabling Hotkeys via the Miscellaneous Pulldown (Schematic Scope) Figure 14-1. Sample Menu Item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 15-1. Function Usage Line Legend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 15-2. Example of Function Command Usage . . . . . . . . . . . . . . . . . . . . . . . . . Figure 15-3. Menu Path Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 15-4. $define_hotkey() Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 15-5. $load_hotkey_settings() Dialog Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 15-6. $report_hotkey_settings() Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . Figure 15-7. $set_hotkey_mode() Prompt Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Figure E-1. Implicit Ripper Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12-8 12-10 12-11 12-12 12-13 12-14 12-15 12-16 12-16 12-17 13-2 13-3 13-4 13-4 13-5 13-6 13-6 13-7 13-8 13-9 13-10 13-11 13-11 13-12 13-12 13-13 13-15 13-15 14-16 15-2 15-3 15-4 15-6 15-10 15-12 15-14 E-3
xix
List of Tables
Table 1-1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 1-2. Library Location Map Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 2-1. Dialog Navigator Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 2-2. Schematic Objects to Symbol Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 2-3. Symbol Objects to Schematic Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 3-1. Available Bus Rippers in $MGC_IC_GENERIC_LIB/rip . . . . . . . . . . . Table 3-2. Pin and Bus Line Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 3-3. Elements of a Mapping File Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 5-1. Example Registration Argument Values . . . . . . . . . . . . . . . . . . . . . . . . . . Table 6-1. Function Block-Specific Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 7-1. Property Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 7-2. Property Update Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 7-3. DA-IC Objects Associated with Specific SLD Properties . . . . . . . . . . . . Table 7-4. Structured Logic Design Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 8-1. Supported Simulation Language Types . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 8-2. Parameters Supported by Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 8-3. Model Selector Model-Type Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 8-4. VHDL-AMS Converter Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 8-5. SPICE Converter Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 11-1. Where Properties are Added . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 11-2. Property Values Displayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 12-1. Function Block Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 12-2. Function Block Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 14-1. Customization Tasks Categorized by Re-work Level . . . . . . . . . . . . . . . Table 14-2. Scopes Searched in each Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 14-3. Environment Variable Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table 15-1. Function Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table A-1. DA-IC Editing Hotkey Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table A-2. DA-IC Variant Hotkey Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table A-3. DA-IC Simulation IC Hotkey Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table B-1. Hotkey Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-1. Window Name Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-2. Session Scope Menu Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-3. Schematic Scope Menu Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-4. Symbol Scope Menu Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-5. Remapped Softkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-6. Executable Filename Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-7. Header Filename Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Table D-8. New IC Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1 1-3 2-13 2-24 2-24 3-37 3-44 3-80 5-28 6-5 7-2 7-12 7-19 7-20 8-4 8-22 8-68 8-118 8-118 11-3 11-3 12-3 12-3 14-2 14-4 14-20 15-1 A-1 A-3 A-6 B-1 D-2 D-2 D-3 D-4 D-4 D-6 D-8 D-9
xx
List of Tables
D-9
xxi
List of Tables
xxii
Refer to the following resources for additional information. Table 1-1. Task To learn about online documentation To find related IC Flow manuals To learn documentation conventions Link Online Documentationa Related Publicationsa Documentation Conventionsa
DA-IC Overview
Design Architect-IC (DA-IC) is a full schematic capture application with a multi-level 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 DA-IC, 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, SmartSPICE, or HSPICE Analog simulator applications. One is required for analog simulations. Eldo RF Simulator application required for RF simulations.
1-1
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 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 bottom-up methods. For more information, see Chapter 12 Function Block Concepts and Chapter 3 Creating Schematics. Provides predefined component libraries. For more information, see IC-Specific Component Libraries in this chapter. Provides a Verilog import utility capable of generating a Calibre-LVS-compatible SPICE netlist. For more information on importing Verilog, see Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist in chapter 3. Provides an integrated SPICE, Verilog, and VHDL/VHDL-AMS 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 the simulation of analog, RF, and mixed signal designs. Allows you to calibrate analog models to match circuit funtionality. 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. Supports custom userware developed with AMPLE. For more information, see Chapter 14, Creating DA-IC Userware. Supports an IFF interface to Agilent Design System (ADS) schematics. For more information, see the Setting up an IFF Interface section in Chapter 2.
1-2
You must use a location map variable to access component libraries as listed in the following table. Table 1-2. Library Location Map Variables For this library... Device Lib Generic Lib Sources Lib Macro Lib MGC IC Commlib Comm Lib QS Verilog Primitive Lib Set this location map variable... MGC_IC_DEVICE_LIB MGC_IC_GENERIC_LIB MGC_IC_SOURCES_LIB MGC_MACROLIB MGC_IC_COMMLIB MGC_IC_COMMLIB_QS MGC_IC_VERILOG_LIB
1-3
Ask your system administrator where to find a location map and how to set your location map variables. For more information on location maps, see Design Management with Location Maps in the Design Manager-IC User's Manual.
1-4
Lib Components
1. Capture/edit
Symbols
schematic design.
Simulation Stimulus
2. Check design for errors.
Design Properties
design configuration.
3. Create
up the simulation.
4. Set
6. Run simulation.
1-5
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 o o o
Chapter 12 Function Block Concepts Chapter 3 Creating Schematics Chapter 4 Creating Symbols 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 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.
1-6
7. View simulation results. Use Xelga or EZwave 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 back-annotation 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. 10. Netlist your design for downstream applications such as IC Station. For more information on IC Station, see IC Station Users Manual.
1-7
1-8
2-1
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.
2-2
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.
No arguments are needed for invocation. You can specify a sheet or symbol to automatically open by entering a pathname with the command.
2-3
Note 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. 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.
2-4
2. Click the button to enable the following settings: Show Menu Bar Show Status Line Show Message Area Show Palette Show Softkey Area Show Edit Toolbar Show System Toolbar Show Symbol Window Show Context Window Enable Drag and Drop
2-5
3. Select the Window Layout you want. Available options are Stacking, Up Down Tiling, Quadrant Tiling, Left Right Tiling, or Ask User for Position. 4. Adjust the mouse Double Click Speed from fast to slow as needed. 5. Click the Active Window setting to enable or disable as needed. 6. Click OK.
2. Click the desired Edit Toolbar option: Hide Toolbar, Align Top, Align Bottom, Align Left, or Align Right. The toolbar is automatically repositioned to the specified location. 3. Select Setup > Save Setup only if you want to specify that the new toolbar location setting is persistent beyond the session. This setting is written to the schematic.startup file located at $HOME/mgc/startup and is loaded each time you invoke Design Architect-IC.
2-6
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
2-7
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.
2-8
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.
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. 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.
2-9
Setup Selection
Selection Model Individual Additive
On
Off
Name Display
On
Off
OK
Reset
Cancel
Help
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 enabled, a warning displays when a selected object is outside the viewed area. 4. If necessary, enable/disable the Name Display option. When enabled, the name of instances and nets are reported in the message area as they are selected. You can make the selection method persistent for subsequent application sessions by selecting Setup > Save Setup from the Session pulldown menu.
2-10
2-11
Show Property Name Properties: All None Specific Mscellaneous Properties R TC1 TC2 AREA CL CW IC T INSTPARTOL
SUBCKT Properties NL PL NW PW LN LP WN WP
Property Name
OK
Reset
Cancel
Help
3. Select either Solid or Stipple for the Background pattern then click OK.
2-12
2-13
2-14
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.
2-15
2-16
2. The Select by Name dialog box appears. Type the INST, NET, or PIN property name of the object you want to select in the Name field, and click OK. Alternatively, you can enter names with wild cards using regular expression syntax. Use the following procedure: 1. Execute the following menu items from the pulldown menu: For instances, Select > By Name > Reg Expr: > Instances: For nets, Select > By Name > Reg Expr: > Nets: For pins, Select > By Name > Reg Expr: > Pins: 2. The Select by Name dialog box appears. Type the INST, NET, or PIN property name of the object you want to select in the Name 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.
2-17
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.
2-19
2-20
Repeat Moving
To move the same object(s) again, perform the following steps: 1. With the object still selected, hold the Shift key down, move the cursor inside the schematic window, and click the right mouse button. A ghost image of the object appears on the screen. 2. Click the left mouse button to anchor the object on the sheet. Note: This repeat key sequence only works if no other popup menu command was issued in the meantime.
2-21
2-22
The object(s) is anchored on the sheet and another ghost image of the selected object(s) displays. You can place as many instances of the selected object(s) as you want. 4. Press the Escape key to exit the copy operation.
2-23
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-2 for how schematic objects are converted to symbol objects. Table 2-2. 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
Refer to Table 2-3 for information on how symbol objects are converted to schematic objects. Table 2-3. Symbol Objects to Schematic Objects Symbol Objects Symbol graphics, visible properties (not pin properties), symbol comments Pins Properties attached to the pins Invisible properties (not pin properties) To Schematic Objects Comment text and graphics, and properties No change No change No translation
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.
2-24
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.
2-25
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) 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 also can delete properties by executing the Delete > Property popup menu item and filling out the Delete Property dialog box.
2-26
Note 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.
The selected object(s) are rotated to the specified position. The rotation must be multiple of 90 degrees.
2-27
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. Note 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.
2-28
2-29
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. 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.
2-30
2-31
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.
Printing in DA-IC
You can print schematic designs from DA-IC in a variety of ways. By default HotPlot is invoked for printing and exporting from DA-IC. For more information, refer to Printing with HotPlot. If you are an existing user of the Falcon print/export filters and would like to configure them to work from DA-IC, you must set the environment variable MGC_USE_FALCON_PRINT prior to running DA-IC. For more information, refer to Printing with Falcon Print/Export on page 2-44.
All the schematic sheets that comprise a schematic. All design sheets with backannotations specified by the current design configuration.
For more information, see Printing All Sheets in a Schematic with HotPlot in this chapter. From Simulation mode, you can print a single or multiple sheets. For more information, see Printing Single or Multiple Sheets in Simulation Mode with HotPlot in this chapter. From the Symbol Editor window, you can print the contents of the active window. For more information, see Printing the Active Symbol with HotPlot in this chapter. From a Schematic Editor window, you can print a schematic sheet. For more information, see Printing the Active Sheet with HotPlot in this chapter.
1. From the Session window, choose File > Print All Schematics. The Print All Schematics with HotPlot dialog box displays.
2. Select a Destination for the 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 output file to. This is the default setting. HotPlot retains the printer name between dialog box invocations. Export 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. If no filename is specified, random names starting with mgc are generated without a schematic number or sheet number appended. For example: mgcOXDJ4U_1. HotPlot retains the file name between dialog box invocations.
2-33
3. If necessary, enter a new Working Directory. The working directory is used to store the printer file and other temporary 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. You can use the Select Page Size button to open the Select Page Size dialog box and select a paper size. Using this option changes the page width and length shown in the top-level HotPlot dialog. This option also ensures that proper tray selection occurs on the printer for PostScript output. 5. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a PostScript 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. Select an Output Format for the printer files. The following options are available:
o o o o o o o o o o o
Basic PostScript Raster PostScript TIFF Basic HP-RTL Buffered HP-RTL HPGL Versatec Blocked Raster Versatec Random Format Interleaved CCRF Buffered CCRF CalComp C907
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. Portrait Prints data vertically on the page. Landscape Prints data horizontally on the page.
o o
9. If necessary, enter a Magnification. Specifies the magnification factor to be used to adjust the size of the plot on larger page sizes. By default, magnification is set to 0, which is used when printing PostScript to an 8.5 x 11 sheet. You can use this option with non-PostScript formats.
2-34
Design Architect-IC Users Manual, 2006.1
11. If necessary, enter the Dot-Per-Inch (dpi) to print. The default is 300 dpi. 12. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. HotPlot 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. 13. Specify the number of copies to print up to 99. Default is 1. 14. Select the Omit Page Numbers check box if you want to omit the page/strip numbers from the formatted output file name. You should only use this option if your output consists of a single page. 15. If necessary, enter any additional Format Options. For more information, refer to the Defining Device-specific Options Using ms section in the HotPlot Users and Reference Manual. 16. Click OK. The Print All Schematics dialog box displays.
17. Enter the pathname to the top-level sheet in the design in the Top-Level Component Name field. 18. If necessary, enter a vector of strings to restrict which sheets print. Sheets whose pathname includes a filter string (case-sensitive), do not print. 19. Select Yes under Preview to display the Print All Schematics Preview dialog box before the sheets print.
2-35
a. A list of all sheets available in the design display. b. Select the sheets from the list to print. 20. Click OK to print the sheets. The files are sent to the printer or saved to disk as specified.
2-36
2. Select a Destination for the 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 output file to. This is the default setting. HotPlot retains the printer name between dialog box invocations. Export 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. If no filename is specified, random names starting with mgc are generated without a schematic number or sheet number appended. For example: mgcOXDJ4U_1. HotPlot retains the file name between dialog box invocations.
3. If necessary, enter a new Working Directory. The working directory is used to store the printer file and other temporary 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. You can use the Select Page Size button to open the Select Page Size dialog box and select a paper size. Using this option changes the page width and length shown in the top-level HotPlot dialog. This option also ensures that proper tray selection occurs on the printer for PostScript output. 5. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a PostScript 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. Select an Output Format for the printer files. The following options are available:
o o o o o o o o o o
Basic PostScript Raster PostScript TIFF Basic HP-RTL Buffered HP-RTL HPGL Versatec Blocked Raster Versatec Random Format Interleaved CCRF Buffered CCRF
2-37
CalComp C907
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. Portrait Prints data vertically on the page. Landscape Prints data horizontally on the page.
o o
9. If necessary, enter a Magnification. Specifies the magnification factor to be used to adjust the size of the plot on larger page sizes. By default, magnification is set to 0, which is used when printing PostScript to an 8.5 x 11 sheet. You can use this option with non-PostScript formats. 10. Specify the Color to be one of the following:
o o o
11. If necessary, enter the Dot-Per-Inch (dpi) to print. The default is 300 dpi. 12. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. HotPlot 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. 13. Specify the number of copies to print up to 99. Default is 1. 14. Select the Omit Page Numbers check box if you want to omit the page/strip numbers from the formatted output file name. You should only use this option if your output consists of a single page. 15. If necessary, enter any additional Format Options. For more information, refer to the Defining Device-specific Options Using ms section in the HotPlot Users and Reference Manual. 16. Click OK. The files are sent to the printer or saved to disk as specified.
2-38
1. From the Symbol Editor, select File > Print. The Print Symbol with HotPlot dialog box displays.
2. Select a Destination for the 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 printer file to. This is the default setting. HotPlot retains the printer name between dialog box invocations. Export 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 an _n where n is the number of pages in the file. HotPlot retains the file name between dialog box invocations.
3. If necessary, enter a new Working Directory. The printer and temporary printer files are stored in the specified directory. Defaults to the location of the active symbol.
2-39
4. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. You can use the Select Page Size button to open the Select Page Size dialog box and select a paper size. Using this option changes the page width and length shown in the top-level HotPlot dialog. This option also ensures that proper tray selection occurs on the printer for PostScript output. 5. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a PostScript 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. Select an Output Format for the printer files. The following options are available:
o o o o o o o o o o o
Basic PostScript Raster PostScript TIFF Basic HP-RTL Buffered HP-RTL HPGL Versatec Blocked Raster Versatec Random Format Interleaved CCRF Buffered CCRF CalComp C907
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. Portrait Prints data vertically on the page. Landscape Prints data horizontally on the page.
o o
9. If necessary, enter a Magnification. Specifies the magnification factor to be used to adjust the size of the plot on larger page sizes. By default, magnification is set to 0, which is used when printing PostScript to an 8.5 x 11 sheet. You can use this option with non-PostScript formats. 10. Specify the Color to be one of the following:
o
2-40
11. If necessary, enter the Dot-Per-Inch (dpi) to print. The default is 300 dpi. 12. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. HotPlot 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. 13. Specify the number of copies to print up to 99. Default is 1. 14. Select the Omit Page Numbers check box if you want to omit the page/strip numbers from the formatted output file name. You should only use this option if your output consists of a single page. 15. If necessary, enter any additional Format Options. For more information, refer to the Defining Device-specific Options Using ms section in the HotPlot Users and Reference Manual. 16. Click OK. The file is sent to the printer or saved to disk as specified.
2-41
3. Select a Destination for the 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 printer file to. This is the default setting. HotPlot retains the printer name between dialog box invocations. Export 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 an _n where n is the number of pages in the file. HotPlot retains the file name between dialog box invocations.
4. If necessary, enter a new Working Directory. The printer and temporary printer files are stored in the specified directory. Defaults to the location of the active schematic sheet.
2-42
5. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. You can use the Select Page Size button to open the Select Page Size dialog box and select a paper size. Using this option changes the page width and length shown in the top-level HotPlot dialog. This option also ensures that proper tray selection occurs on the printer for PostScript output. 6. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a PostScript 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. Select an Output Format for the printer files. The following options are available:
o o o o o o o o o o o
Basic PostScript Raster PostScript TIFF Basic HP-RTL Buffered HP-RTL HPGL Versatec Blocked Raster Versatec Random Format Interleaved CCRF Buffered CCRF CalComp C907
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. Portrait Prints data vertically on the page. Landscape Prints data horizontally on the page.
o o
10. If necessary, enter a Magnification. Specifies the magnification factor to be used to adjust the size of the plot on larger page sizes. By default, magnification is set to 0, which is used when printing PostScript to an 8.5 x 11 sheet. You can use this option with non-PostScript formats. 11. Specify the Color to be one of the following:
o
2-43
12. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. HotPlot 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. 13. Specify the number of copies to print up to 99. Default is 1. 14. Select the Omit Page Numbers check box if you want to omit the page/strip numbers from the formatted output file name. You should only use this option if your output consists of a single page. 15. If necessary, enter any additional Format Options. For more information, refer to the Defining Device-specific Options Using ms section in the HotPlot Users and Reference Manual. 16. Click OK. The file is sent to the printer or saved to disk as specified.
All the schematic sheets that comprise a schematic. All design sheets with backannotations specified by the current design configuration.
For more information, see Printing all Sheets in a Schematic with Print/Export in this chapter. From the Symbol Editor window, you can print the contents of the active window. For more information, see Printing the Active Symbol with Print/Export in this chapter. From a Schematic Editor window, you can print a schematic sheet. For more information, see Printing the Active Sheet with Print/Export in this chapter.
2-44
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-45
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 HotPlot Users and Reference Manual for a description of all required and optional arguments.
Getting Started Using Panels 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. 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.
2-47
2-48
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/Export Sheet > Print/Export Sheet with HotPlot. 6. Verify the printer name in the prompt bar. 7. Enter the Panel name in the dialog box text entry area. 8. Click OK on both forms.
You will need to set additional Environment Variables, load necessary Symbol 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:
Symbol 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.
Design Architect-IC Users Manual, 2006.1
2-49
RF Architect License
An RF Architect license is required to use the IFF interface.
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.
2-50
2-51
2-52
3-1
Creating Schematics Schematic Creation Overview Navigating Multiple Page Schematics Displaying/Editing Registered Models Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist Netlisting a Schematic Invoking IC Station Directly from DA-IC
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.
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 topdown 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-3
$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
E
Drawing Number: Page: 1 24
4 Net
Property Values
Instances of Symbols
When you open the Schematic Editor, a set of schematic-specific palettes, popup, and pulldown menus display.
3-4
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. 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.
3-5
Figure 3-2. Open (new) Sheet Options Dialog Box Open Schematic Options
Component Name: $CUSTOM_PARTS/dff Available:
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. 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.
3-6
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.
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. 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.
3-7
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.
3-8
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. 5. Click the left mouse button on the snap you want (On/Off). Note: The ability to disable grid snap applies only to non-electrical objects such as comment text or property text; it does not apply to any electrical object. Electrical objects include instances, nets, and pins. 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.
3-9
4. Enter a real number in the Dot Size text box to specify the dot size (default is 0.025 user units). 5. Enable either Circle or Square to choose the dot style. 6. Enter a number in the Snap Angle text box to specify the snap angle (default 45). 7. Click the On button in the Ortho field and the On button in the Snap field, to set up orthogonal routing and pin snap. When Ortho is enabled, a right-angle elbow appears between the cursor and the last placed vertex. 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.
3-10
9. When you enable Auto Net Name Placement and optionally enable Auto Net Naming, net names that do not already have a NET property attached are automatically placed when you name nets. With these options enabled: a. Type the Name Offset value in the associated text field. b. Type the Intent Offset value in the associated text field. 10. To specify that close-dots should be displayed on the sheet, click the On button in the Close Dots field. A close-dot appears on a vertex when a non-orthogonal net segment passes so close to the vertex, that it is difficult to visually determine that they are not connected. 11. To specify that net segments which share a common net segment with two selected segments should be automatically selected, click the Classic button in the Segment Select field; if the Segments option is specified, during net selection, only explicitly selected net segments are selected. 12. To specify that a net connection should automatically be made when a net or pin vertex lands on a net or pin during a move or copy operation, click the On button in the Auto Connect Nets field; if the No option is specified, notdots are generated in these cases and the electrical connection is not made. 13. To specify that nets should be automatically routed immediately after they are drawn, click the On button in the Auto Route field. The net router defines an orthogonal path for a connected net that avoids instance extents, comment objects, and other nets. 14. When all net attributes are specified, click OK.
3-11
3. Select the Ripper Mode to specify the type of ripper to place: Implicit: Creates an instance in place. This type of ripper does not have a Rule property. Default. Auto: Places the ripper component specified by the Component Name field. If the ripper component is located in an MGC library, it will have a Rule property. None: Does not place a ripper. Connects the single-bit net directly to the bus without a ripper.
4. Select the Implicit Ripper: Angled: Places ripper at a 45 degree angle between the bus and the single-bit net. Straight: Places the ripper at a 90 degree angle to the bus, in line with the single-bit net.
3-12
5. Set the Ripper Query field to On or Off to specify whether you are prompted supply a net name or bit number when routing a single-bit net to a bundle or bus. 6. If you want junction dots to appear where bus rippers join bus lines, click the On button in the Ripper Dots field. 7. Define the Set Autoplaced Text Height in the text box (default is 0.125 units). 8. Specify the component name and symbol name of the ripper to used in the Set Auto Ripper Symbol field if you specified the Auto option in the Ripper Mode field. Note The specified ripper must have one BUNDLE, and one WIRE pin, evenly spaced in the X & Y direction. 9. When you have specified all ripper attributes, click OK.
The Setup Objects dialog box displays the Design Context selections.
3-13
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. 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.
3-14
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.
3-15
3. In the Default Comment Text Attributes area of the dialog box, 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 and select one from the list displayed. 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 the text transparency you desire to On or Off. g. Click to set the restricted flipped/rotated text to On or Off.
3-16
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.
Naming Instances
You can automatically assign unique instance names to instances in multiple-sheet schematics using the autonaming feature. Note: The autoname feature assigns names differently depending on whether you are explicitly naming an instance or are adding or copying a new instance to the design. For specific information on how names are assigned when adding, copying, or naming instances, refer to the following sections.
Naming Selected Instances Enabling/Disabling Automatic Naming of Instances During Add or Copy Specifying a User-defined Property for Naming Instances Updating Instance Names For Sheets Added in Non-alphabetical Order
3-17
Note Special instances that have a CLASS property cannot be named using the autonaming capability. For more information about these instances, refer to Special Instances in Appendix E.
By default, unique instance names are assigned to the selected instances using the following format:
<ELEMENT_property_value><sheet_index>_<inst_num> o
sheet_num is a sheet index number determined by the alphabetical ordering of each sheet name in the schematic index_num is an index generated from the number of instances possessing a given name and is the lowest value, beginning with 1, that is not currently used on the sheet.
For instructions on specifying a user-defined value to be used in place of the ELEMENT property value in the name format, refer to section Specifying a User-defined Property for Naming Instances.
3-18
1. Select Setup > Objects from the schematic pulldown menu. The Setup Objects dialog box displays as shown.
3. Click Enable Automatic Naming... to enable or disable autonaming during add and copy operations. 4. Click OK. The autonaming setting is is preserved when you save schematic options using the Setup > Save Setup pulldown menu item.
3-19
Adding or copying an instance with autonaming enabled, by default, names the instance according to the following convention:
<ELEMENT_property_value><sheet_index>_<inst_num>
For instructions on specifying a user-defined value to be used in place of the ELEMENT property value in the name format, refer to section Specifying a User-defined Property for Naming Instances. Note If autonaming is not enabled when an instance is added or copied to the sheet, the instance handle is assigned as the instance name.
3. Type the property name whose value is to be used to determine a naming prefix into the Automatic Naming Prefix Property field. 4. Click OK. The autonaming property you specify here is one of the options that is preserved when you save schematic options using the Setup > Save Setup pulldown menu item. Note To autoname instances on a sheet using the autonaming property you defined, the autonaming property must exist on the instance. If the autonaming property is not on the symbol prior to instantiation of the instance or if you have not already added it to the instance on the sheet, you must add it using the Add > Properties schematic pulldown menu item.
3-20
Note If the schematic component only contains one sheet, the sheet_index element of the autonaming format is dropped from the instance name. If you add a new sheet to a schematic component and its name alphabetically precedes any of the existing sheets in that schematic, you must update all instance names on all sheets whose names alphabetically follow the sheet name you just created, to ensure unique instance names across the schematic. To update all instance names on a sheet, perform the following steps: 1. Select Select > All > Instance from the schematic pulldown menu to select all instances on the sheet. 2. Click the right mouse button to display the popup menu and select Name Instance > Auto. The instance names are updated based on the current sheet names in the schematic component.
3-21
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. 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
3-22
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 the default, or a property merge other than -Clear, click the Options? YES button and enter the appropriate information.
3-23
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.
3-24
Use the following steps to create a repeating instance: 1. Open a schematic and select the instance you want to repeat. 2. Select Add > Properties. The Add Multiple Properties dialog box displays. 3. Enter INST in the Property Name field. 4. Enter a name followed by a continuous range enclosed in parentheses in the Property Value field. For example: XINST(3:0). 5. Click OK. The property text is attached to the cursor. 6. Click on the schematic to place the property text in the desired location. Figure 3-25 illustrates an example of a repeating instance. Figure 3-8. Repeating Instance Example
INST = XINST(3:0) (1) DATA(15:0) (2) CLK (3) (4)
NEW(3:0)
BP
D(1:0)
Assume that the system calls the instance I$231. When the sheet is written, DA-IC 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, 2006.1
3-25
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. Note 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.
3-26
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.
3-27
3-28
3-29
(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 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.
3-30
3. Enter the new name in the New Value field. 4. Click OK on the prompt bar. The new name displays on the net.
3-31
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.
Information is also presented on the use of the netcon component, which is used to connect two nets that have different Net property values.
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.
3-32
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.
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.
3-33
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-10. Figure 3-10. 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
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). Caution Downstream applications using the DFI procedural interface (for example, Board layout applications) may not be able to recognize 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.
3-35
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.
Table 3-1 describes the variations of the bus ripper that are available:
3-36
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: 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-12 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.
3-37
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. Each bus ripper component has at least two pins: the wire end and the bundle end. Figure 3-13 shows a 1x1 bus ripper illustrating the wire end, the bundle end, and the Rule property. Figure 3-13. Bus Ripper Symbol
Wire End -->
R
<-- Bundle End
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.
Figure 3-14 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.
3-38
BUS(0:7) Wire
Yes
No
If a bus is installed backward, you will receive an error when a Check command is executed. 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-15 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) Figure 3-15. A Bus with a Connected Sub-Bus Bus Rippers
CLK CLR Q QB
o 0
NETS(3:0)
3:2
STROBES(127:126)
3-39
You must alter the Rule property in a special manner when you run a group of wires from a source bus. Figure 3-16 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. 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 DA-IC 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.
3-40
QB
3
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.
R R R R R R R R A0 A1 A2 A3 A4 A5 A6 A7 D 4164_20
_RAS _CAS _W
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-41
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 doubleclick with the left mouse button. d. Repeat steps b and c for all the bus ripper pins. e. Click Cancel in the prompt bar. 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-18: Figure 3-18. The Sequence Text dialog box
Sequence Text
New Prefix New Suffix Sequence Type Auto Manual Choose Sequence Order... Beginning Index Number 0 Step By 1
OK
Reset
Cancel
3-42
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. 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-19 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. Figure 3-19. Fully Connected Bus Ripper
address(7:0) 4164_20 0 1 2 3 4 5 6 7 A0 A1 A2 A3 A4 A5 A6 A7 D
_RAS _CAS _W
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.
3-43
Table 3-2. Pin and Bus Line Connections Pin Name A0 A1 A2 A3 A4 A5 A6 A7 Data Bus Connection 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
3-44
Caution This section contains instructions for the Implicit Bus Ripper only. See Creating an Implicit Bundle Ripper in this chapter for 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. 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.
3-45
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: 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.
3-46
3-47
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. 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. Note 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.
3-48
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-20 illustrates the Choose Bundle Member dialog box. Figure 3-20. Choose Bundle Member Dialog Box
Choose Bundle Member
Members on attached bundle:
3-49
1. Create comment graphics by clicking the left mouse button on the schematic_edit [Add] Rectangle pallet item. 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-21. Figure 3-21. Generate/Make Symbol Dialog Box
3-50
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.
3-51
3. Change the default sheet name from sheet1 to sheet2. 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.
3-52
3-53
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.
3-54
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. 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 Schematic. 6. Enter the pathname to the component that contains the schematic in the Component Name field.
3-55
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, see $generate_symbol(). 9. Click OK. 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. Note 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.
2. Select the nets to implicitly connect to nets on the upper-level schematic and click OK. Implicit pins are created for each of the selected nets, placed on the symbol associated with the schematic, and connected to each of the selected nets. The implicit pins take the form of a property that assumes the net name. Once implicit pins are added, the symbol and associated schematic are checked and saved and any errors display in a report window. 3. Correct any errors reported.
3-56
4. Instantiate the symbol on a schematic or if it already exists on a schematic, update the instances. For more information, see Updating and Replacing Instances on page 3-22. 5. Edit the value of the property that represents each implicit pin on the symbol with the name of the net on the upper-level schematic you want the implicit pin and therefore the underlying net connected to. The net used for the implicit pin value must be: On the same schematic sheet the symbol is instantiated on. A string value. A simple single-bit net.
3-57
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.
For information on adding or changing properties see Adding a Single Property and Changing Property Values in Chapter 7.
3-58
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.
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 Caution After an object has been converted to a comment, all hidden properties associated with that object are deleted. This process can be reversed using the Undo command.
3-60
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 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.
3-61
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-62
sa0,sa1
sa0,sa1
EN
sa0,sa1 0 0
OUT(I)
sa0,sa1
I0(I)
sa0,sa1 0 0
sa0,sa1 0 0
(TPZH) 0 (TPZL) 0
sa0,sa1 0 0
FOR I:= 0 TO N-1 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.
3-63
Note 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.
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.
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.
3-64
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. Note: You can use the Report > Sheet Parameters menu item to display the parameters that are set, their type, and their value in a report window. 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 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.
Design Architect-IC Users Manual, 2006.1
3-65
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-66
(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
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. The Default Schematic Check Settings dialog box displays as in Figure 3-26.
3-67
da_check_file
OK
Reset
Cancel
Help
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 schematic check settings are lost. When DA-IC is re-invoked, the standard default checks are re-set.
For more information on component structure and model registration, see Chapter 5, Managing/Registering Models.
3-69
Component Name: Enter a new component name. Sheet Name: Enter a name that identifies the sheet. Default: sheet1. Schematic Name: Enter a name that identifies the schematic representation of the component. Default: schematic. Delete Registration From Interfaces: To delete registration from component interface(s), type the name of the component interface to delete the text entry box. Add Registration From Interfaces: To register the schematic to another component interface(s), type the component interface name in the text entry box. Remove Labels: To remove multiple labels associated with the component interface(s), type one label per box in the text entry boxes. 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-70
Figure 3-28. Schematic Sheet Navigation Buttons Multiple-Page Icon Previous Sheet
Next Sheet
3-71
OK
Cancel
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. Figure 3-30. New Sheet Option Display Specific Sheet Existing Create
OK
Cancel
3-72
Unselect All
Save Selected
Save Nothing
Cancel
All of the sheets with pending edits are selected. You can select all the sheets or selected sheets, or unselect all of the sheets. Caution When navigating between sheets in the same window, ensure that any Prompt Bars (for example, Move or Add Wire) are cancelled. Prompt bars are tied to a window rather than a sheet.
3-73
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. 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.
3-74
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
3-75
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
1. Select File > Import Verilog. The Import Verilog dialog box shown in Figure 3-32 displays. Figure 3-32. Import Verilog Dialog Box for Mapping File Creation
2. Click Netlist File(s) to select the Verilog file to import. The Select Files dialog box shown in Figure 3-33 displays.
3-76
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
3. Navigate to and select the Verilog netlist that you want to import from the list area; click Add-> in the Netlist File(s) field to populate it with your selection. If the design is contained in muliple Verilog netlist files, DA-IC adds all files for the design. 4. Select a map file in the list area and click Add-> in the Map File(s) field to populate it. Alternately, type the pathname directly into the Mapping File(s) field in the Import Verilog dialog box. The generated map template is written to this file. 5. Click OK to complete your choices in the Select File dialog box. The Import Verilog dialog box is still displayed. 6. Click Create Template Map File in the Import Verilog dialog box to enable it. 7. Click OK to create the template file. If a map file of the same name already exists and the Replace Existing Template Map File option is enabled, the existing file is overwritten; if the option is not enabled, an error is reported. You can now manually edit this ASCII file to add specific EDDM component information.
3-77
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
After generating your mapping file template, edit the file to add specific EDDM component information using the information in the following two sections: Mapping File Syntax and Editing Guidelines.
In the mapping file, each type of mapping statement is defined as shown below. Refer to Table 3-3 on page 3-80 for a definition of each element. Verilog primitive or generic part Where type is equal to p, use the following format:
<type> <primitive> <symbol_path> <pin_list>
Figure 3-34 on page 3-81 shows an example of this format. Verilog module Where type is equal to m, use the following format:
<type> <module_name> <symbol_path> <pin_list>
Figure 3-34 on page 3-81 shows an example of this format. Global symbol to attach to power/ground pin Where type is equal to s, use the following format:
<type> <pin_name> <global_symbol_path> {<symbol_path_list>}
For example, the following maps all power pins named VDD to the global component at the path $MGC_IC_GENERIC_LIB/vdd throughout the generated schematics.
s VDD $MGC_IC_GENERIC_LIB/vdd
In another example, the following maps all power pins named VSS to the global component at the path $MGC_IC_GENERIC_LIB/vss to only those instances of $DIGITAL_LIB/nor3a and $DIGITAL_LIB/nor2a throughout the generated schematics.
s VSS $MGC_IC_GENERIC_LIB/vss $DIGITAL_LIB/nor3a $DIGITAL_LIB/nor2a
3-78
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
Net name to attach to power/ground pin Where type is equal to n, use the following format:
<type> <pin_name> <net_name> {<symbol_path_list>}
For example, the following maps all power pins named VDD to the net named +5V throughout the generated schematics.
n VDD +5V
3-79
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
The syntax of the previous mapping file statements use the following elements: Table 3-3. Elements of a Mapping File Statement Element type primitive module_name pin_list symbol_path pin_name Description Type of mapping statement. Name of the Verilog object. Name of the Verilog object. List of pin names in the netlist. Pathname to the symbol to which the Verilog object maps. Value Literal: p, m, s, or n String String List of strings delimited by blanks String identifying a pathname
String Name of the netlist pin that maps to either: (1) schematic net specified by net_name (type=n) or (2) global symbol specified by global_symbol_path (type=s). Name of the net to which the pin_name element maps when type is equal to n. String String identifying a pathname List of strings delimited by spaces where each string identifies a pathname
net_name
global_symbol_ Pathname to the global symbol to which the path pin_name element maps when type is equal to s. symbol_path_ list List of pathnames that identifies a set of symbols to which the net_name element or global_symbol_path element should apply. This is an optional element that is used to limit the nets (type=n) or symbols (type=s) to which a power or ground pin is mapped.
Figure 3-34 on page 3-81 shows a portion of an example mapping file before it is edited. As shown, the mapping file contains entries for the following special symbols: portin, portout, portbi, pagein, pageout, ripper, netcon, ground, and power.
3-80
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
// Template file for mapping primitive gates and modules to EDDM components. // v8.9_11.026 Sat Oct 25:40:24 PDT 2003 // Each line in the mapping file specifies mapping information for a primitive or a module. // // Primitive symbol definitions needed by the schematic generator. // p portin symbol_path/portin X p portout symbol_path/portout X p portbi symbol_path/portbi X p ripper symbol_path/rip/1X1 bundle wire p pagein symbol_path/offpag.in IN p pageout symbol_path/offpag.out OUT p netcon symbol_path/netcon IN OUT p ground symbol_path/ground X p power symbol_path/power X // m INV symbol_path/INV O A m BINV symbol_path/BINV O A
Editing Guidelines
Edit the mapping file template using these guidelines: Replace each occurrence of the string symbol_path with the pathname to the specific EDDM symbol the Verilog module is intended to map to. Before editing:
m NOR2X1 symbol_path/NOR2X1 Y A B
After editing:
m NOR2X1 $DIGITAL_LIB/NOR2X1 Y A B
For Verilog primitives, generic parts, and modules, this pathname is the pathname to either the component (if the symbol has the same name as the component) or to the symbol itself. In the following example, both of the following pathnames are valid:
$DIGITAL_LIB/and2 $DIGITAL_LIB/and/ANSI (where ANSI is the name of the symbol)
Update the symbol name to correspond to the correct library symbol name. As shown in the following example, it may be necessary to change NOR2X1 to NOR2 to reflect the correct library name.
3-81
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
Before editing:
m NOR2X1 symbol_path/NOR2X1 Y A B p AND symbol_path/AND2 0 I0 I1
After editing:
m NOR2X1 $DIGITAL_LIB/NOR2 Y A B m AND $DIGITAL_LIB/AND2 0 I0 I1
Specify any non-standard pin mapping by explicitly assigning pins in the Verilog netlist to symbol pins using the = syntax shown in the following example: Before editing:
m NOR2X1 symbol_path/NOR2 Y A B
After editing:
m NOR2X1 $DIGITAL_LIB/NOR2 Y=OUT A=I0 B=I1
Note: If the pin names on the symbol match the pin names used in the netlist, this type of change is not needed.
3-82
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
2. Choose whether the import operation should overwrite any existing components by enabling one of the available options in the For Existing Components in Output Directory field: Do Not Replace: All components are preserved. Default. Replace All: All existing components are overwritten. Keep Top Symbol: Preserves the symbol associated with the top-level component and replaces all other components. After importing with this option, you must execute Check Schematic on the top-level component to verify that the schematic ports match the symbol pins.
3. Click Netlist File(s) to select the Verilog file to import. The Select Files dialog box shown in Figure 3-36 displays. Figure 3-36. Select Files Dialog Box
4. Select the Verilog netlist in the Navigator list area and click Add-> in the Netlist File(s) field. If the design is contained in multiple Verilog netlist files, all files for the design are added. 5. Select an output directory in the Navigator list area and click Add-> in the Output Directory field. The generated schematics are placed in this directory. 6. Select the map file for the Verilog netlist you are importing from the list area and click Add-> in the Map File(s) field. For instructions on creating a mapping file template, refer to section Generating a Mapping File Template on page 3-75. If it is convenient to separate the mapping information into multiple mapping files, you can select and add more than one mapping file.
Design Architect-IC Users Manual, 2006.1
3-83
Creating Schematics Importing a Digital Verilog Netlist and Generating an LVS SPICE Netlist
7. Click OK to execute the Select Files dialog box. 8. Click Options in the Import Verilog dialog box, if you want to specify custom partitioning and placement options to be applied during schematic generation. The Options dialog box displays. Enter the pathname to an SG dofile specifying your partitioning and placement options and click OK. If you do not specify an SG dofile, by default, the Schematic Generator generates multiple sheets with 80 instances per sheet. Refer to section Specifying Partitioning and Placement for Schematic Generation for more information on creating an SG dofile. 9. Click OK to execute the Import Verilog dialog box. The Verilog netlist is now converted to a EDDM-based schematic. After registering your schematic symbols to SPICE models, using the Model Registrar or by having underlying schematics, you can export the complete design to a SPICE netlist compatible with CalibreLVS. For information on registering symbols to models, refer to Chapter 5, Managing/Registering Models. For instructions on exporting the schematic to a SPICE netlist, refer to section Creating a SPICE Netlist on page 3-86.
// SG Dofile to specify partitioning of the schematic. for mapping primitive gates and modules to EDDM components. $setup_partition(@sheet_count, 80, 1, "|", @prefix, @first, "SG_SHEET", @a, "sg", @all_bits); For information on specifying partitioning and placement options, refer to the Function Dictionary section in the Schematic Generator Users and Reference Manual. For information on creating and running an AMPLE dofile, refer to Using $dofile() in the Customizing the IC Flow Common User Interface manual and to the $dofile() function in the AMPLE for IC Flow Reference Manual.
3-84
mgc_location_map
v2tfn.exe
Schematic Generator
SG dofile
Design Architect-IC
EldoNet
SPICE netlist
mapping file
NCF file(s)
Note You must have a Schematic Generator (SG) license to use the File > Import Verilog capability. For information on obtaining an SG license, contact your system administrator. For more information on the Schematic Generator, refer to the Schematic Generator Users and Reference Manual.
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 the connectivity 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.
3-85
EldoSPICE - creates a SPICE netlist compatible with the Eldo simulator. This is the default setting. HSPICE - creates a SPICE netlist compatible with the HSPICE simulator. LVS - creates a layout versus schematic SPICE netlist compatible with Calibre. See Using Advanced Options for a SPICE Netlist.
o o
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 o
Upper - Outputs object names in uppercase. This is the default setting. Lower - Outputs object names in lowercase.
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.
3-86
Design Architect-IC Users Manual, 2006.1
3-87
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. 5. Click OK. The netlist is written as specified.
3-88
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 o o
Upper - Outputs all object names in uppercase. Lower - Outputs all object names in lowercase. Uppercase Modules - Outputs module/subcircuit names in uppercase and all other object names in lowercase. Preserve Case: Outputs all object names without changing the case. This is the default setting.
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 to export without specifying any advanced options. The Verilog netlist assumes the component name and is written to the design viewpoint directory. To specify advanced options, refer to the following section Using Advanced Options for a Verilog Netlist.
3-89
2. Select File > Export Verilog from the Session window. The Export Verilog Netlist dialog box shown in Figure 3-40 displays. 3. Next to Options?, click Yes. The dialog box displays the advanced options shown in Figure 3-40. Figure 3-41. 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-90
3-91
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. 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
3-92
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.
3-93
3-94
4-1
4-2
4-3
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. 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).
4-4
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.
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. 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.
4-5
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: 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.
4-6
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. 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. The line style and the line width of the polyline are controlled by the values specified in the Setup > Symbol Body dialog box.
4-7
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. 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.
4-8
4-9
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. 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. 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.
4-11
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. Figure 4-2. Pintype Property Text Location
IN 1
5. Press F2 (Unselect All). 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
4-12
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. 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. Figure 4-3. Copying Pins and Sequencing Text
IN IN IN IN IN IN IN IN IN IN Copy pin 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
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. 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:
Design Architect-IC Users Manual, 2006.1
4-13
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. 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.
4-14
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 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
Design Architect-IC Users Manual, 2006.1
4-15
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 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. Figure 4-5. $MGC_PLDLIB/16hd8 Symbol
16HD8 1 IN 2 IN 3 IN 4 IN 5 IN 6 IN 7 IN 8 IN IN 11 IN 9 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
4-16
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. 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.
4-17
For more information on net bundles, refer to Creating and Naming a Net Bundle in Chapter 3.
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.
4-18
4-19
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. 9. Choose File > Save Symbol > Default from the main menu bar to register the alternate symbol with the default component interface. Caution If the symbol is not valid for the component interface (for example, the number of pins on the symbol do not match the 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.
4-20
5-1
You can use registered models interchangeably for a component of a design, each model having different physical and/or electrical characteristics or language types. To keep model registration references up to date, use the Design Manager-IC to move, copy, or rename components, symbols, and directories/libraries. To update broken model registration references, use the change_ncf_ref shell command.
5-2
5-3
Create Mode
From the Session window, choose File > Model Registration > Create. The Model Registrar dialog box shown in Figure 5-1 displays. Figure 5-1. Model Registrar Dialog Box
5-4
Manage Mode
Select a symbol instance and choose Model Registration > Manage from the Schematic_edit palette. The regmanager dialog box shown in Figure 5-2 displays. Figure 5-2. regmanager Dialog Box
5-5
Edit Mode
Select the symbol instance and choose Model Registration > Edit from the schematic_edit palette. The Model Registrar dialog box shown in Figure 5-3 displays. If there is an invalid model registration associated with the selected instance, the Manage Mode invokes. Figure 5-3. Model Registrar Manage Mode Dialog Box
Note To invoke the Edit mode, an instance with a valid model registration associated with it must be selected. The property: VIEW=<language>=<entry> must be present on the instance.
Choosing a Model
Use the following steps to choose a model when creating a new model registration:
5-6
1. From the Session window, choose File > Model Registration > Create. The Model Registrar 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. 3. Enter the path to the model as follows:
o
HDL(AMS) 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 File > Model Registration > Choose adms.ini File and specify an adms.ini file. For more information, see Supported Modeling Types in this chapter. ELDOSPICE or SPICE 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.
5-7
4. Select the model to register from either the Design Unit or Subcircuit list box.
Tip: 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.
5-8
2. Click Choose Component 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 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 create 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. Tip: 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.
5-9
1. Select a model in the Model Registrar dialog box. For more information, see Choosing a Model in this chapter. 2. Click Choose Component and select a component to save the registration to. If no component is specified, the model registration is written to a new component with the model name in the working directory. Any existing symbols in the component 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. Click Choose File and 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 as symbol name.pinlist. 6. Click the arrow in the Choose Shape data field and choose a symbol shape from the list.
5-10
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. 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. Tip: 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. For more information, see Mapping a Model to a Symbol in this chapter. 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. Tip: 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.
5-11
model name in the working directory. Symbols contained in the component display in the Symbol list box.
3. Enter a 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. 6. Click Check & Save and correct any errors. Once the symbol is error-free, 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 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. Tip: 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.
5-12
3. Select 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 create 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.
5-13
Tip: 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.
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. Click Map by Name Maps the Model Ports to the Symbol Pins with matching names. The Model Registrar defaults to this mapping automatically.
5-14
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 under Mapped Pins. Select a pin/port pair under Mapped Pins and click Unmap Selected Deletes the selected pin/port mapping. Click Open under Model Ports to specify that a Model Port is OPEN or unconnected - The open port is displayed in orange. 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.
Model parameters
Symbol properties
Current mappings
5-15
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. 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. Select a parameter/property pair under Mapped Pins and click Unmap Selected Deletes the selected parameter/property mapping. 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. Tip: 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-16
5-17
2. Select the symbol and choose Model Registration > Registration > Manage from the palette. The Model Registrar dialog box displays.
Validity status
Validity status For more information, see Checking a Model Registration in this chapter. Model Type Language type for the model. For more information, see Supported Modeling Types in this chapter. Model Name Name of the model. Registration Name Name of the model registration. Permission Read, write, and locked permissions for the model registration. TD Indicates the default model.
o o o o
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 for errors:
5-18
1. Open the schematic design and select the symbol instance. 2. Choose Model Registration > Registration > Manage from the palette. The regmanger 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. 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. Note To check all registrations listed, choose Registration > Check all Registrations.
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.
5-19
5-20
3. Select the model you need to edit and choose Registration > Edit Registration. 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. 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.
5-21
9. Check the registration. For more information, see Checking a Model Registration in this chapter.
3. Select the model you need to rename and choose Registration > Change Registration Name. The Change Registration Name dialog box displays.
5-22
3. Select the model registration you need to copy and choose Registration > Copy Registration. The Copy Registration dialog box displays.
4. Click the Choose Destination 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.
5-23
3. Select the model registration you need to delete and choose Registration > Delete Registration. The selected model registration is deleted. Note 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.
5-24
1. From the Model Registrar, choose Component > Trash Bin. Model registrations deleted from the current session display.
Restore - Moves the selected model registration from the trash bin back to the Model Registrar. 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-25
where: -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 You can register additional models, one at a time, with 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
5-26
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, and the registration information is appended to the batch_file . The mapping rules are saved in individual mapping_rule_file files.
The following rules apply to each entry: Each field must be listed. To specify the default behavior, substitute a set of quotes for the field. Table 5-1describes each field and which ones have a default option. All fields must be on one line. Line breaks and continuation characters cannot be used. A pound (#) character must precede any text that does not make up a complete registration entry.
5-27
Managing/Registering Models Registering Models for Simulation VHDL-AMS WORKLIB INVAMS1(VHDLAMS) $SYMBOLS/inv dis INVAMS1(VHDLAMS) 1 $SYMBOLS/inv/dis.pinlist $SYMBOLS/inv/dis_INVAMS1-VHDLAMS.mrf
Table 5-1 lists typical values for entries in the batch file. You can use soft pathnames defined in the location map. Table 5-1. Example Registration Argument Values Field Model Language Model Library Model Name Component Path Symbol Name Registration Name NCF Destination* Pinlist Path Mapping Rule File Path HDL example VHDL-AMS WORK INV(ADMS) EldoSpice example ELDOSPICE Schematic example Schematic Default value None None None None None Model name 1
$DESIGN/symb $DESIGN/symb $DESIGN/symb ols/Inv ols/ Inv ols/Inv Inv Inv_hdl 1 Inv Inv_spice 0 Inv Inv_schematic 3
$DESIGN/symb $DESIGN/symb $DESIGN/symb <component>/<symb ols/Inv/Inv.pinli ols/Inv/Inv.pinlis ols/Inv/Inv.pinlis ol_registrationname. pinlist> t t st $DESIGN/symb $DESIGN/symb $DESIGN/symb ols/Inv/Inv_hdl. ols/Inv/Inv_spic ols/Inv/Inv_sche m.mrf e.mrf mrf <component>/<symb ol_registrationname. mrf>
* 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.
5-28
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.
5-29
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.
where: -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.
5-30
6-1
Chapter Structure
Setting up a Function Block Creating 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
On Off
OK
Reset
Cancel
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. 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.
6-3
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 on-the-fly during a session. For more detailed information, refer to Setting Colors On-the-Fly in this chapter.
6-4
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, pins, and, if used, the optional FB_INST property. These Function Blockspecific properties are described in Table 6-1 below. Table 6-1. Function Block-Specific Properties Property FB_NAME FB_PIN_DIR ECTION FB_INST Definition Required - A string property identifying an FB Definitions unique name. Specifies whether a pin on an FB definition is input or output. If no property exists, the pin is assumed to be bidirectional. 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.
For more information on function block properties, see Understanding Function Block Properties on page 12-3. The Add Popup Menu, described in Figure 6-3, contains the available Function Block functions.
6-5
Add Function Block Instance $add_fb_inst() Add Function Block Definition $add_fb_def()
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-6
3. To define the FB Definitions rectangular extent, right click within the schematic window to call the Add Popup menu. Note 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. Figure 6-5 shows the Function Block menu options in the Add popup menu.
6-7
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
OK
Cancel
FB Name - Contains the FB Definitions user-specified name. This is also the FB_NAME property. INST Name - Contains an optional, user-specified Instance name. This is also the FB_INST property.
6-8
Note 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. 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 handcorners of the rectangle, respectively. 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.
6-9
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-10
mux
mux_1
Definition Boundary
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 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.
6-11
Use 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. Figure 6-7. Function Block Popup Menu 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
d. The Create Function Block Definition from Instance prompt bar is called as shown in Figure 6-8. Figure 6-8. Create Function Block Definition to Instance Prompt
CRE FB I F D At Location OK Cancel
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.
6-12
mux
mux_1
f. Click the left mouse button to place the FB Instance. Figure 6-10 shows the FB Definition and the newly-created FB Instance.
6-13
mux
mux_1
mux
mux_2
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 Manipulating FB Definitions and FB Instances section in this chapter for specific instructions.
6-14
2. Using the Add Popup Menu - Figure 6-11 is an example FB Definition parent that serves as the FB Instances basis: Figure 6-11. Example FB Definition
Schematic#1 source1 sheet1
mux
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-15
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
OK
Cancel
FB Name - The field that contains the existing FB Definitions user-specified name. This is also the FB_NAME property. INST Name - An optional field that contains a user-specified FB Instance name. This is also the FB_INST property.
Note 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.
6-16
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. 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.
6-17
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 an instantiated FB Instance based on the FB Definition mux and containing the optional user-specified FB_INST property of circuit_01.
6-18
Figure 6-14. FB Instance Example Function Block Name Function Block Instance Name
mux
circuit_01
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.
Adding FB Pins
Every function block must have at least one pin. Pins can be placed anywhere on a function block boundary except the corners. An FB instance must have the same number of pins as the parent FB definition. For more information, see $add_FB_pins() in the Design Architect-IC Reference Manual. Use the following steps to add pins to a function block:
6-19
1. Create the function block. 2. Select Add > Function Block Pins and select a pin type to add. The pin type only applies to FB definiton pins. Pins added to an FB instance assume the pin type of the corresponding pins in the parent FB definition. Options include:
o o o
3. Place the cursor on the function block boundry and click to place the pin in the cursor location.
Add Pin Here
mux
mux_1
6-20
4. Repeat Step 3 until all pins are placed on the function block, then click OK on the ADD FB P prompt bar. Schematic #1 source1 sheet1
mux
mux_1
Net Construction
Note Prior to creating FB Definitions and Instances net connections, review the FB Definition and FB Instance Net Constructs section in Chapter 12. Use the following procedures to add wires, bundles, and busses to existing FB Definitions and FB Instances:
6-21
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.
6-22
Continuing with the example circuit in Figure 6-15, an FB Definition is created with the circuitry confined within the FB Definitions boundary, as demonstrated in Figure 6-16: Figure 6-16. 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. 5. Connect the internal circuits input and output nets to the respective FB Pins, as demonstrated in Figure 6-17.
6-23
mux
mux_1
6-24
6-25
Note 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. FB Definitions and FB Instances can also be moved, copied, or deleted.
6-26
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
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.
6-27
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-19: Figure 6-19. Resize in the Function Block Popup Menu 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
6-28
The Stretch prompt bar displays, as shown in Figure 6-20. Figure 6-20. Stretch Prompt Bar
Stretch Begin End OK Cancel
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-21 below. Figure 6-21. Stretch Operation
Schematic #1 source1 sheet1
mux
mux_1
Stretch Begin
End
OK
Cancel
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.
6-29
Setup Color
Violet VioletRed Wheat White Yellow YellowGreen
Made Function Block Insts Unmade Function Block Insts Made Function Block Defs Unmade Function Block Defs
OK
Reset
Cancel
2. Click the appropriate radio button to select the object, then use the scroll list to select that objects desired color. 3. Click OK. If a Function Block is made and unmade, then the objects color changes to the current settings.
6-30
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.
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. For example, Figure 6-23 below provides an example of an FB Definition.
6-31
mux
IN_1
mux_1
OUT_1 IN_2
IN_3
b. Select the appropriate FB Definition and/or FB Instance. Tip: 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. 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-24 below.
6-32
mux IN_1
mux_1
OUT_1 IN_2
IN_3
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: 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.
6-33
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-25, then remake the FB Instance(s).
6-34
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-26. Figure 6-26. Unmake Function Block Menu Patch
Make Function Block Unmake Function Block Convert Function Block Resize Align Selected All 1 Level ALL Levels Specify
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. All Levels - Unmakes every hierarchical level of all selected Made FB Definition and/or Made FB Instances. 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-27.
6-35
Figure 6-27. Select Number of Unmake Levels Dialog Box Select Number of Unmake Levels
Levels:
OK
Reset
Cancel
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. All Levels - Unmakes all layers for all Made FB Definitions and Made FB Instances on the active sheet. 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.
6-36
3. Next to Function Blocks, select one of the following options: Errors/Warnings Both function block errors and warnings are reported. Errors Only Only function block errors are reported. No Check 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-37
6-38
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.
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.
7-1
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. 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 String String Triplet Property Owner Instance or Symbol Body Net Net
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.
7-2
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). 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 worst-case values. If two values are specified, then the first is used for the best-cased 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.
7-3
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.
Case changes to these values are updated in the symbol part interface. Case changes to these values generate a warning when the symbol is checked or saved.
7-4
You can turn off warnings related to property value case changes by selecting Setup > Check from the Symbol Editor pulldown menu and clicking No Check in the Interfaces field of the Default Symbol Check Settings dialog box. Property values of type 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 nondecimal 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.
7-5
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.
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.
7-6
-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. Note 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.
7-8
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 Editor. A description of how Value_Modified properties affect the update process begins in the Property Merge Options section of this chapter.
7-9
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.
7-10
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.
7-11
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 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
7-12
Design Architect-IC Users Manual, 2006.1
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. Note: You can use the Report Parameter command in DA-IC to display the parameters that are set, their type, and their value in a separate report window.
7-13
7-14
No
Does Design Contain Higher Levels ? Yes 4 Move up to next hierarchical level in the design
Parent Instance
D Q CLK QB
Owner Object
Start Evaluation 5. After the parent instance on the top sheet is searched, the design viewpoint Parameters list is searched. 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 DVEIC, you assign the bank size of this register to be 300 bits.
ADD PArameter "bank_size" 300 -Numeral
7-15
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.
7-16
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. 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.
7-17
Parameter List
cap = 15 25 35
Symbol Models
4. model = A
A
model = B
B
cap = "10 20 30" model = C
B
1. cap_pin = "5 10 15"
C D
model = D 2.
1.
cap_pin = (cap)
C
cap_pin = (cap)
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
R2
ENP ENT
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
_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
7-18
_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
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. 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
7-19
Table , 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 Name Class Class Class Property Value C G I Description Connector: Connects differently named nets together. Global: Connects a net globally across the design. For example, Ground. 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. Otherwise case for the CASE frame. 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
Class Class Class Class Frexp Frexp Frexp Frexp Global Inst Net Pin Rule
R O N dangle CASE <clause>* FOR <clause>* IF <clause>* OTHERWISE <clause>* <global_name> <instance_name> <net_name> (<range>) <pin_name> (<range>) <range>
7-20
Class Property
The Class property identifies its owner object as having some special characteristic. Ports, offpage 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 DVEIC; 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). 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 flip-flop, 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.
7-21
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. 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.
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.
7-22
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.
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 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.
7-23
Example:
FOR i := 0 TO n-1
Note 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. 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. Note 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. 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's-complement 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. Note To avoid unexpected (and possibly unpleasant) results, Mentor Graphics strongly recommends that you do not use negative indices. 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 TO 1. FOR I := 1
7-24
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.
Figure 7-4 illustrates a typical FOR Frame. Figure 7-4. Typical FOR Frame
sa0,sa1
sa0,sa1
EN
sa0,sa1 0 0
OUT(I)
sa0,sa1
I0(I)
sa0,sa1 0 0
sa0,sa1 0 0
(TPZH) 0 (TPZL) 0
sa0,sa1 0 0
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.
7-25
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 (/).
7-26
4. Specify text height by entering a number in the Height text box. The default height is .1875 user units. 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. 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.
7-27
7-28
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. 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.
7-29
7-30
7-31
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-32
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. 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.
7-33
7-34
Note 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. 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.
Change Color
Violet VioletRed Wheat White Yellow YellowGreen
OK
Reset
Cancel
2. Move the window slider button down to the bottom, then click White. Click OK. Note 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.
7-35
2. Move the window slider button down to the bottom, then click White, and click OK to close the dialog box.
7-36
OK
Reset
Cancel
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.
7-37
7-38
8-1
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 Changing the Model for a Selected Instance Selecting/Editing Registered Models Displaying/Editing the Default Registered Model Including SPICE Command Files Entering Additional Simulator Commands Saving/Plotting Waveforms Saving/Plotting Waveforms for HSPICE/SmartSPICE 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 Using Post-layout Parasitic Extractions Setting up the Netlist Using Analog/Digital Converters Associating an SDF File with an Instance Displaying SDF File Setups Deleting SDF File Setups Changing SDF File Setups Merging Backannotated Properties to the Source Schematic Editing/Merging Specific Backannotated Properties Deleting Unused References\Invalid Backannotations Checking the Design Before Simulation 8-2
Design Architect-IC Users Manual, 2006.1
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 EZwave Invoking EZwave Crossprobing Schematics with EZwave Closing EZwave
8-3
Analog RF
8-4
For information on setting the simulator and viewer, see Setting Up the Default Simulator and Viewer in this chapter.
Simulator/Viewer Requirements
DA-IC integrates several simulation and waveform viewer applications. Depending on the application, one or more of the following seperately-licensed applications are required for simulation mode: Eldo Analog simulator. HSPICE Third party analog simulator that requires Xelga waveform viewer, Sun Solaris 7 or 8, ADVance MS version (ADMS) 2003.3b or later. SmartSPICE Third party analog simulator that requires Xelga waveform viewer, Sun Solaris 7 or 8, ADVance MS version 2003.3b or later. Only SmartSPICE versions 1.97 or 2.20 are supported. Eldo RF Radio Frequency simulator. EZwave Waveform viewer shipped with Eldo and ADMS. Xelga Waveform viewer shipped with Eldo and ADMS. ADVance-MS Mixed digital and analog simulator. ModelSim Digital simulator. Mach TA Fast digital SPICE simulator.
All simulators except standalone ModelSim require the $anacad environment variable to be set up and initialized for simulation mode to work properly. Before invoking DA-IC, enter the following commands at a C-shell prompt:
setenv anacad <anacad_root> source $anacad/com/init_anacad
For more information, see the Analog/Mixed Signal Software Installation Guide.
8-5
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. 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. Note Write-protected viewpoints can not be used for simulation mode.
8-6
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-7
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. 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: Yes Deletes any unused design references or invalid backannotations from the active viewpoint. For example: backannotations attached to objects deleted from the
Design Architect-IC Users Manual, 2006.1
8-8
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.
8-9
2. Click the appropriate button to specify a simulator. Options include: Eldo Selects the Eldo simulator. Eldo Interactive Selects the Eldo simulator in interactive mode. 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. SmartSPICE Selects the SmartSPICE analog simulator. Other Allows you specify a SPICE-compatible simulator. Click Advanced... to specify the simulator invoke commands.
3. Click the appropriate button to specify a viewer. For more information, see Viewing Waveforms in this chapter. Options include: Xelga Selects Xelga EZwave Selects EZwave.
Tip: 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 ADVance MS, 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 ADVance MS Users Manual.
8-10
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-11
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.
8-12
To use ADVance MS, 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 ADVance MS Users Manual. 3. If necessary, enter new filenames for the following input and output simulation files.
o o o
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 o
Run Simulation Only Runs a simulation only. Run Simulation and Display Waveforms Runs a simulation and displays the resultant waveforms. Generate Netlist and Run Simulation Generates a netlist and runs a simulation. Default setting. 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 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. 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: Font Click the Menu button to display a list of the available fonts to select from.
8-13
Height Enter a height measurement in inches. 8. If necessary, change the DCOP Display to change the decimal places to display. 9. 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. 10. 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.
8-14
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: 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.
Click Category
Description
The dialog box changes to display the setup options associated with each category.
8-15
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.
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 a Source
Use the following steps to specify a generic voltage or current source for an analog simulation: 1. Click Add Source on the schematic _edit palette. 2. Select the desired settings for the source and click OK.
8-16
A generic source, as specified, will be added to the netlist generated from simulation mode.
For more information on simulator-specific setups, refer to the appropriate simulator reference 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. 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.
8-17
Source Type DC AC
EXP (Exponential) Initial value, target value, rise delay, rise time, fall delay, and fall time Pattern Pulse SFFM (Single Frequency FM) SIN (Sinusoidal) PWL (Piece Wise Linear) 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 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
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.
8-18
To delete one force, select the force and then click Delete Selected. 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 o o o
Checks if any of the forces have the same names. Checks if the signal and reference of a force exist. Checks if any signal has more than one voltage force source associated. 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.
8-19
2. From the schematic_sim_palette, select Forces/ICs > Initial Condition. The Set Initial Condition dialog box displays.
Hold Voltage Throughout DCOP Writes a .IC statement to the simulator command file defining that the net voltage, specified by the Voltage Value field, is constant throughout all DCOP iterations. Specify a node voltage in the Voltage Value field. Note: If the .TRAN statement has the UIC parameter specified, the voltage value is used as the initial transient voltage and is not held constant throughout the transient simulation.
Hold Through One DCOP Iteration Writes a .NODESET statement to the simulator command file defining that the DCOP calculation uses the voltage value of the net as a starting point and releases this value after the first iteration.
4. Click OK. For more information, refer to the .IC and .NODESET commands in the Eldo Users Manual.
8-20
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 add the SOA to:
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. 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. 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 Eldo Users Manual.
8-21
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 BJT Supported Parameter I POW VDIP VPOS, VNEG IB IC IE IS VBE, VBC, VBS, VCE, VCS, VES VC, VS, VB, VE POW MOS/JFET IG, IS, ID, IB VGD, VGS, VGB, VBS, VBD, VDS VS, VD, VG, VB POW Parameter Definition current through the device power dissipated by the device voltage difference across the terminals voltage on positive/negative pin current into the terminals voltage across the terminals voltage in the terminals power dissipated by the device current into the terminals voltage across the terminals 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: You must specify either a maximum or minimum limit to create an SOA. 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: *.
8-22
6. Click Add SOA Definition to add the SOA definition to the SOA list area of the dialog box. 7. Click Close. The specified .SETSOA commands are written to the simulation command file. For more information, see .SETSOA in the Eldo Users Manual.
.Deleting SOAs
Use the following steps to delete one or more SOAs: 1. From the schematic_sim_palette, click Safe Operating Area. The Setup Safe Operating Area dialog box displays. 2. Select an SOA in the list box to delete and click Delete. Click Delete All to delete all SOAs in the list box. The specified SOAs are deleted from the simulation command file.
Editing SOAs
Use the following steps to edit an SOA: 1. From the schematic_sim_palette, click Safe Operating Area. The Setup Safe Operating Area dialog box displays. 2. Select an SOA in the list box to edit and click Edit. The selected SOA setups populate the dialog box. 3. Make the desired changes and click Add SOA Definition. The specified changes are made and the SOA in the simulation command file.
8-23
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.
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. Start Time* Specifies a start time to restrict the SOA check for Transient analysis. 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.
8-24
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.
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.
8-25
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 o o o o o o
Up Moves the selected sweep up one position in the list. Down Moves the selected sweep down one position in the list. Top Moves the selected sweep to the top position in the list. Bottom Moves the selected sweep to the bottom position in the list. Delete Deletes the selected sweep from the list. Delete All Deletes all the sweeps from the list. Enable/Disable Enables or disables the selected sweep. Depending on the current status of the sweep, this option toggles the setting. Enable All Enables all the sweeps in the sweep list. Disable All Disables all the sweeps in the sweep list. 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. Add Sweep See Setting up a Sweep Analysis in this chapter.
o o o
8-26
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.
Options include: 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.
8-27
2. Adjust the order or enable/disable a sweep with the buttons on the right.
2. Next to Sweep:, click the parameter to sweep. The dialog box changes depending on which parameter you choose. Options include:
o o
Temp Selects temperature sweep. MOSL Selects MOS length sweep. Enter the name of the MOS component to sweep. MOSW Selects MOS width sweep. Enter the name of the MOS component to sweep. Dipole Selects dipole sweep. Enter the R,C, or L dipole component to sweep. Param Selects globally-defined parameter sweep. Enter the name of a global parameter to sweep. 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. Library Selects a SPICE library sweep. Enter a path to the library and spaceseparated model variants within the library to sweep. At least one variant must be entered.
o 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.
8-28
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. 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. 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. 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.
8-29
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 o o
Enable All Enables all sweep values for the next simulation run. Disable All Disables all sweep values for the next simulation run. Enable Selected Enables selected sweep values for the next simulation run. Multiple selections are allowed. Disable Selected Disables selected sweep values for the next simulation run. Multiple selections are allowed. 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. 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. Invert State Inverts the current state of all listed sweep values.
8-30
3. After adjusting the corner cases, select Close to execute the Corner Case Editor.
8-31
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. 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. All except Nominal Saves the results of each simulation run except the nominal to the output file.
8-32
All Saves the results of all simulation runs to the output file.
Both Dev and Lot Variances followed as specified in the Random Variable Definitions section. Dev Only Only Dev variances specified in the Random Variable Definitions section are used. Lot variances are ignored. 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 o
None Specifies to use no reference object a reference for the worst case analysis. Voltage Sources Specifies to use a voltage source as the reference object. You must specify or verify the Voltage Sources and the Current Type. Nets Specifies to use a net as the reference object. You must specify or verify the Net and the Voltage Type.
8-33
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. Lot Variance Specifies the lot variance value. Uniform distribution is the default. Select if you want to use the Gaussian distribution.
o o o o o o
Edit Allows you to edit a selected random variable definition. Enable/Disable Enables or disables a selected random variable definition. Enable All Enables all of the listed random variable definitions. Disable All Disables all of the listed random variable definitions. Delete Deletes a selected random variable definition. 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.
8-34
Note To add alternate parameter values, you must first declare parameters using the Parameters schematic_sim_palette item. For information on defining parameters, refer to section Setting up Parameter Variables for Models on page 8-25. All alternate parameters currently defined display in the dialog box. 2. Create or modify existing .ALTER blocks. Options include: Add Adds a .ALTER block for the specified parameters to the simulator command file. This option displays the Modify Alter dialog box listing all of the defined parameters and their modified values. Click the Alter field to specify which parameters are to be included in the .ALTER block you are adding; click OK. Edit Modifies the selected .ALTER block in the simulator command file.
8-35
This option displays the Edit Alter dialog box listing all of the parameter modifications defined in that block. Click the Alter field next to each parameter to specify that it want it to be included or excluded from the .ALTER block you are editing; click OK. Delete Deletes the selected .ALTER block from the simulator command file. For more information, refer to the .ALTER command in the Eldo Users Manual.
8-36
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. 3. Click the Setup... button adjacent to DCOP. The Setup DCOP dialog box displays.
8-37
Transient Time(s) Specifies, in seconds, the transient times for the analysis. 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:
8-38
1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
8-39
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. Temp Selects temperature sweep. Enter the start, stop, and step temperatures in Celsius. Inserts a TEMP argument for the .DC command. MOSL Selects MOS length sweep. Enter the pathname of the MOS component and start, stop, and step lengths for the sweep. MOSW Selects MOS width sweep. Enter the pathname of the MOS component and start, stop, and step widths to sweep. None No sweep is performed.
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.
8-40
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: 1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
8-41
3. Click the Setup... button adjacent to AC. The Setup AC Analysis dialog box displays.
Start Freq: Starting frequency in hertz. Stop Freq: Stopping frequency in hertz.
5. If necessary, click the box next to Initial Conds (-UIC) to toggle the setting.
o
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. 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:
8-42
IC voltages in the file are interpreted as .IC values. For more information, see .IC in Chapter 10 of the Eldo Users Manual. 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.
8-43
3. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
8-44
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. Linear Output Noise Specifies whether the .PLOT statement outputs noise when performing a noise analysis. When enabled, a .PLOT statement is added to the simulator command file with the ONOISE parameter. 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. 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.
8-45
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.
2. Click the button next to the Transient option to enable transient analysis.
8-46
3. Click the Setup... button adjacent to Transient. The Setup Transient Analysis dialog box displays.
Stop Time Value in seconds for the analysis duration. Inserts a TSTOP parameter with the .TRAN command. Max Time Step Value in seconds for the maximum internal timestep. Inserts a HMAX parameter with the .TRAN command. 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.
o
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. 7. 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. Nodeset voltages are interpreted as .NODESET values. For more information, see .NODESET in Chapter 10 of the Eldo Users Manual.
8. Click OK. A .TRAN command with the specified parameters is inserted in the simulation command file.
8-47
For more information, see .TRAN and .AC in Chapter 10 of the Eldo Users Manual.
3. Click the button next to the Noise Tran option to enable transient noise analysis.
8-48
4. Click the Setup... button adjacent to Noise Tran. The Setup Noise Transient Analysis dialog box displays.
Lower Value in hertz that specifies the low end frequency used for the analysis. Adds an FMIN parameter to the simulator command file. Upper Value in hertz that specifies the top end frequency used for the analysis. Adds an FMAX parameter to the simulator command file. Number of Simulations Number of simulations to perform with the specified noise sources. Adds an NBRUN parameter to the simulator command file. Number of Sinusoidal Sources Number of Sinusoidal noise sources. Adds an NBF parameter to the simulator command file. Noise Source Amplification Factor Noise source amplification factor. Only affects internal noise computations. Adds an AMP parameter to the simulator command file. 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.
8-49
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 o o
All Use thermal and flicker noise Only Flicker User Flicker noise 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.
8-50
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.
8-51
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. No discards them
Yes restarts the analysis. 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-52
2. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
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.
8-53
Printer Output Increment Enter the number in seconds to calibrate the printed/plotted simulation results. 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.
8-54
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. 3. Click the Setup... button adjacent to SST Oscil. The Oscillator Steady State Analysis dialog box displays.
8-55
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. Harmonics Number of harmonics of the oscillation frequency. Value should be a non-negative integer or the analysis aborts with an error message. 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-56
3. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
4. Click the button next to SSTNoise to enable steady state noise analysis.
8-57
5. Click the Setup... button adjacent to SSTNOISE. The Setup Steady State Noise Analysis dialog box displays.
8-58
6. Next to Frequency:, select a frequency. 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.
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 o o o o o
Linear Output Noise plots linear noise. db Output Noise plots linear noise in dBc/Hz. Linear Phase Noise plots phase noise. db Phase Noise plots phase noise in dBc/Hz. Linear Am Noise plots amplitude noise. db Am Noise plots amplitude noise in dBc/Hz.
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 o
Device Noise 1: Specifies a device to contribute to the total output noise spectrum. Device Noise 2: Specifies a second device to contribute to the total output noise spectrum. Device Noise 3: Specifies a third device to contribute to the total output noise spectrum.
8-59
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.
8-60
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.
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.
8-61
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 o o o o
None Doesnt generate an XAXIS parameter. FreqIn Plots the output against the input frequency. FreqOut Plots the output against the output frequency. AbsFreqIn Plots the output against the absolute input frequency. 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. No Discards the results after the simulation run.
Yes Restarts the analysis. 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-62
1. From the schematic_sim_palette, select Lib/Temp/Inc > Libraries. The Set Library Paths dialog box displays.
2. Enter a pathname for each model 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.
8-63
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-64
2. Select Edit > Change Model. The Change Model Selection dialog box displays a list of models available for use with the selected instance.
3. Select a new model for the instance from the list and click OK. The specified model is now selected for the instance.
8-65
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. Note 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. The Model Selector displays the design instances in a hierarchical tree format as shown in Figure 8-2. 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-66
Registration name Language Component name Instance name Language-type icon indicator Top level of the active schematic
8-67
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.
1. 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 to all copies of the selected instance, design-wide. The instance displays updated with the selected model. Note 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.
8-68
2. 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. 3. Repeat steps 3 and 4 until all the instances are updated with the desired models. 4. 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.
8-69
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. If the model is a schematic, the schematic displays in DA-IC. Note 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. 3. Edit, save, and close the schematic/model as necessary.
8-70
8-71
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. 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.
8-72
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.
Saving/Plotting Waveforms
Use the following steps to specify which signals produced during simulation are saved for postprocessing by a waveform viewer. At the same time, you can also specify which saved waveforms are plotted. Plotted waveforms automatically display graphically in the waveform viewer invoked from the toolbar in simulation mode. For more information see the Viewing Waveforms section in this chapter. The viewer selected for the current simulation session determines what type of waveform file is saved, including .wdb, .cou, .dou, .ext. and .aex. For more information, see the Setting Up the Default Simulator and Viewer section in this chapter. For information on how to save and plot waveforms associated with the HSPICE/SmartSPICE simulators, see the Saving/Plotting Waveforms for HSPICE/SmartSPICE section in this chapter. The simulation analyses must be set up before you can specify which simulation results to save for post processing. For more information, see the Setting Up the Simulation Environment section of this chapter. Use the following procedures to specify which signals to save/plot for post-processing: Saving All Signals as Waveforms Saving/Plotting Waveforms for Selected Components Saving/Plotting Frequency/Time-Based Waveforms Editing Previously Specified Waveform Setups
These procedures write .PROBE or .PLOT commands that correspond to the chosen signal types to the simulation command file. For more information, see .PLOT and .PROBE in Chapter 10 of the Eldo Users Manual.
8-73
3. Select the signal types to save and click OK. All signals of the specified types produced during simulation are saved to the appropriate waveform file.
Depending on the simulation analyses set up and types of objects selected on the schematic, the dialog box displays the following options:
o
Save: Allows you to specify the type of signals to save. Depending on the type of schematic objects selected, options may include: current, power, digital signals, or voltage.
8-74
Plot item(s)? When enabled, the specified signal types produced by the selected schematic objects are plotted when you invoke the waveform viewer from the Edit toolbar. AC Outputs: Displays when an AC or SST analysis is set up allowing you to specify which signal characteristics to capture. Advanced Displays options for saving and plotting signals related to SST analysis. For more information, see the Saving/Plotting Frequency/Time-Based Waveforms section in this chapter.
Analysis Type: Specifies the analysis type that produces the signals to save. For more information, see Display Commands in Chapter 2 of the Eldo RF Users Manual.
8-75
Display FFT Results Specifies which Fast Fourier Transform (FFT) results to plot including real, imaginary, magnitude, magnitude in db, and phase. Harmonics Specifies which harmonic signals to plot for the Modulated SST analysis. Enter a space-separated list of harmonics to plot.
5. Click OK. The specified signals are saved during simulation and plotted automatically in the waveform viewer.
2. Select a waveform definition to edit and click one of the following options:
o
Enable/Disable Toggles the status state of the selected waveform definition to either enable or disable it during simulation. Plot/UnPlot Toggles the state of the plot setting for the selected waveform definition to either yes (plotted) or no (not plotted). Delete Deletes the selected waveform definition from the simulation command file.
All Probes all nodes in the active schematic. Selected Probes the nodes selected on the active schematic. All Nets Probes all nets in the active schematic. All Insts Probes all instances in the active schematic.
8-77
Current Probes current. Voltage Probes voltage. Current & Voltage Probes current and voltage. Only valid if All probes is selected in the previous step.
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 o o o
DC DC analysis. AC AC analysis. TRAN Transient analysis. TSST Time domain steady state analysis. For more information, see Display Commands in Chapter 2 of the Eldo RF Users Manual. FSST Frequency domain steady state analysis. For more information, see Display Commands in Chapter 2 of the Eldo RF Users Manual. 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 o o o
Default Magnitude in dB. Real-Imaginary Both real part and imaginary. DB-Phase Phase. All All of the above.
6. Click OK. ONE or more .PROBE statements are inserted in the simulator command file.
8-78
2. From the schematic_sim_palette, select Probes/Plot > Plot Selected. The Set Plots dialog box displays.
Current Plots current for the selected components. Voltage Plots voltage for the selected components. Power Plots power for the selected components. 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 o o o o
DC DC analysis. AC AC analysis. FOUR Fourier analysis. TRAN Transient analysis. TSST Time domain steady state analysis. For more information, see Display Commands in Chapter 2 of the Eldo RF Users Manual. FSST Frequency domain steady state analysis. For more information, see Display Commands in Chapter 2 of the Eldo RF Users Manual.
8-79
SSTAC Steady state AC analysis. For more information, see Display Commands in Chapter 2 of the Eldo RF Users Manual. 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. TMODSST Time domain steady state analysis. For more information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual. FOURMODSST Frequency domain steady state analysis. For more information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual.
Default Magnitude in dB. Real Real part. Imaginary Imaginary part. Mag Magnitude. Mag-DB Magnitude in dB. Mag DBM Magnitude in dB with reference to milliwatts. Phase Phase. Real-Imaginary Both real part and imaginary part. DB-Phase Phase in dB. All All of the above.
Real Real part. Imaginary Imaginary part. Mag Magnitude. Mag-DB Magnitude in dB. 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.
8-80
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.
If necessary, Specify how to plot the difference between the selected objects. Options include:
o o
Individually Plots the signal from each object. Object1, Object2 Plots the voltage magnitude difference between the objects on a Smith chart. VP(Object1) - VP(Object2) Plots the voltage phase difference between the objects. VDB(Object1) - VDB(Object2) Plots the voltage magnitude difference between the objects.
Click OK. The corresponding .PLOT statement(s) are inserted into the simulation command file.
8-81
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 o
All Depending on the option selected in step 2, deletes all probes and/or plots. Selected Depending on the option selected in step 2, deletes plot, probes, or both from the selected components on the active schematic. 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.
4. Click OK. The specified .PLOT and .PROBE commands are deleted from the simulation command file.
8-82
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
Note To update the simulation setups, choose Commands > Show from the schematic_sim_palette.
8-83
Show Voltages Displays DCOP voltage values on respective nets in the active viewpoint. Show Currents Displays DCOP current values on respective pins in the active viewpoint. Includes DCOP current values for all subcircuit pins. Show SS Params Displays small signal parameters on respective instances in the active viewpoint. DA-IC displays the following small signal parameters: IC, ID, IB, VOLTS, V_DROP, V, VGS, VDS, VCE, and VBE.
Note If you want the small signal parameters to display with specific alignments on the viewpoint, place the parameter on the symbol. For more information see Parameters.
o
Show Voltages and Currents Displays both voltage and current DCOP values on respective nets/pins in the active viewpoint. Show All Displays the voltage, current, and small signal parameter DCOP values on respective nets, pins, and instances in the active viewpoint.
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.
8-84
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. Transcript Displays the small signal parameter values for selected instances in the DA-IC transcript window. Both Displays the small signal parameters for the selected instances in both a report window and the DA-IC transcript window.
8-85
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.
When you have completed them, you are ready to netlist and re-simulate your design.
8-86
2. Select Add > Frame from the pulldown menu to add an IF Frame as shown at the top of Figure 8-3. The Construct Frame prompt bar displays. a. Specify the frame area by pressing the left-mouse button and drawing a rectangle that surrounds all of the parasitic devices on the schematic except for the two ports and netcon contained in the bottom frame of Figure 8-3; release the mouse. The Add Frame dialog box displays. b. Click IF to specify the frame type. c. Enter SIMULATION into the Variable field; enter 1 into the Value field; and then click OK. 3. Click Unselect All on the palette. 4. Select Add > Frame again to add the second IF Frame as shown at the bottom of Figure 8-3 on page 8-87. The Construct Frame prompt bar displays.
Design Architect-IC Users Manual, 2006.1
8-87
i. Specify the frame area by pressing the left mouse button and drawing a rectangle that surrounds the two ports and netcon contained in the bottom frame of Figure 8-3; release the mouse. The Add Frame dialog box displays. ii. Click IF to specify the frame type. iii. Enter SIMULATION into the Variable field; enter 0 into the Value field; and then click OK. 5. Click Unselect All on the palette. 6. Select Add > Parameter from the pulldown menu. The Set Parameter dialog box displays. Enter SIMULATION into the Name field; enter 1 into the Value field; and then click OK. Adding this parameter allows DA-IC to check the sheet 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. 7. Click Library > Device Lib > Resistor > Ideal on the palette and place the resistor on the sheet as shown in Figure 8-3. You can specify to rotate 90 degrees to place the resistor horizontally, as shown. 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 of the Design Architect-IC Users Manual. For more information on design kits, refer to your foundry's website. 8. 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. 9. 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. 10. Select Edit > Modify from the pulldown 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. 11. Click Back > Generic Lib > Ground on the palette and place the ground on the sheet. You can also use a ground from the MGC Design Kit.
8-88
12. Click Port > Portin on the palette and place the instance on the sheet. You can also use a port from the MGC Design Kit. 13. Position your cursor over the NET property value on the portin and press Shift-F7; enter IN into the New Value field of the Change Property Value prompt bar; and then click OK. 14. Click Port > Portout on the palette and place the instance on the sheet. 15. Position your cursor over the NET property value on the portout and press Shift-F7; enter OUT into the New Value field of the Change Property Value prompt bar; and then click OK. 16. 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 Figure 8-3. 17. Click Library > Generic Lib > Portin on the palette and place the instance in the bottom frame as shown in Figure 8-3. 18. Position your cursor over the NET property value on the portin and press Shift-F7; enter IN into the New Value field of the Change Property Value prompt bar; and then click OK. 19. Click Portout on the palette and place the instance in the bottom frame as shown in Figure 8-3. 20. Position your cursor over the NET property value on the portout and press Shift-F7; enter OUT into the New Value field of the Change Property Value prompt bar; and then click OK. 21. Click Net Connector on the palette and place the instance in the bottom frame as shown in Figure 8-3. 22. Click Unselect All on the palette. 23. Click Back > Edit > Wire on the palette and use the left-mouse button to add wires connecting the instances in the bottom frame of the sheet similar to that shown in Figure 8-3. 24. Select File > Check Schematic. A report window displays. Correct any errors and recheck until all errors are removed. 25. Select File > Save Sheet.
8-89
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 pulldown menu. The Add Multiple Properties dialog box displays. 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. With the symbol body still selected, select Add > Properties from the pulldown 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. 9. Click 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.
8-90
1. For each net in your schematic 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; the nets of the parasitic ghost image must align with the net on the schematic when you anchor the element on the sheet. 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 its parasitic element and then select Edit > Modify from the pulldown menu. Adjust the values of the resistance and capacitance properties on the net to be specific for that net. For more information on modifying properties, refer to section Using Properties in Chapter 7 of the Design Architect-IC Users Manual.
8-91
f. In a UNIX shell, copy the file to which you wrote the setup instructions (the filename specified in step 4d) to: $AMPLE_PATH/dve/setup_SPICE_Netlister The AMPLE_PATH environment variable communicates the location of customized scope-specific dofiles to the Mentor Graphics application; in this case, the application is the Design Viewpoint-IC Editor. You should set the AMPLE_PATH environment variable to a location that contains a dve directory; if this directory does not already exist, you can create one. For more information on using the AMPLE_PATH environment variable, refer to section AMPLE_PATH Environment Variable on page 14-12 and to the AMPLE for IC Flow Users Manual. 5. Repeat step 4 for the IC Station SDL Flat and IC Station SDL Hier viewpoints, substituting the new viewpoint name for the SPICE Netlister viewpoint. After you set the startup parameters for these three default viewpoints, each new viewpoint is created with the SIMULATION parameter set equal to 0; this makes the viewpoint valid for netlisting for simulation, LVS, and SDL.
8-92
Running Design Simulation Saving/Plotting Waveforms for HSPICE/SmartSPICE Registering and Simulating the Entire Parasitic Netlist Connecting Distributed Parasitics Connecting Lumped Parasitics
Tip: IMPORTANT: Some extracted DSPF files are not compatible with either the Connecting Distributed Parasitics or Connecting Lumped Parasitics procedures. For example, you must use the following steps to ensure an accurate simulation of a component with RC devices inserted between an intentional device and a port to represent extracted parasitics: 1. Register the DSPF file to the component instance as an EldoSPICE model. See Registering a Model to an Existing Symbol on page 5-8. 2. Select the DSPF file (EldoSPICE) as the model for the component instance. See Changing the Model for a Selected Instance on page 8-2. 3. Re-simulate the design.
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 Calibre xRC, you must specify the option that generates names to match the schematic, not the IC layout.
8-93
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.
8-94
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 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. 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. 6. Select the application used to create the parasitic backannotation object. If this field is specified incorrectly it will result in incorrect output. Options include:
o o
IC Extract The DSPF was created using IC Extract. Default setting. Calibre xRC The DSPF was created using Calibre xRC 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. 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. No Specifies no X pre-pending for hierarchical instance names in the DSPF file. Default setting.
8-95
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.
8-96
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 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. 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. 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 o
IC Extract The DSPF was created using IC Extract. Default setting. Calibre xRC The DSPF was created using Calibre xRC as part of Calibre Interactive. When this option is used, a name mapping sequence must be used by the
8-97
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. 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. 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. 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.
8-98
Use the following step to turn off all parasitic backannotations: From simulation mode, select Parasitics > Distributed > Turn All Off. All the parasitics are deactivated and hidden from view.
8-99
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: 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.
8-100
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
8-101
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-102
EldoSPICE: Outputs EldoSPICE format. Default setting. HSPICE: Outputs HSPICE format. 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 o
Yes Lists bus pins alphabetically. No Lists bus pins in numeric order.
5. If necessary, change the Pseudo Bus Pins Alphabetically? setting. This setting determines if pseudo bus pins are listed alphabetically or numerically.
o o
Yes Lists pseudo bus pins alphabetically. 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.
Design Architect-IC Users Manual, 2006.1
8-103
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. 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 o
Yes Netlists top levels first. 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 o
11. If necessary, change the Use DFI Mode? setting. This setting determines whether EldoNet uses DFI or SVC to produce netlist.
o o
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 o o
Yes Generates a .subckt for the top cell. No Does not generate a .subckt for the top cell. 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 o
Yes Backannotated instances share the same subcircuit. 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.
8-104
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 output pin type. 19. If necessary, change the Omit Pin Types setting. This setting redefines the specified pin types to the output pin type. 20. Click OK. The specified settings are saved and become the default settings for netlists generated from simulation mode.
For more information, see Automatic and Explicit Insertion of Boundry Elements in Chapter 6 of the ADVance MS Users Manual. For more information, see the following sections: Inserting Converters on Instances Inserting Converters on Nets Inserting Converters on Pins Associating Groups of Converters with Instances Defining Default Converters Editing Default Converter Parameters Viewing Converters Inserted During Simulation Deleting Converters Deleting Default Converters Understanding Analog/Digital Converter Properties
8-105
3. Under Cell or Instance, specify which instances to insert converters on. Options include: Just selected Insts Places converter(s) on only the selected instance. All models (cells) anywhere in Design Places converters on all copies of the selected instance throughout the design.
4. Under Add Converter By, specify how the converters are defined. Options include: Group Specifies you want to use a group of converters already defined in an ASCII file. For more information, see Using Groups of Converters in this chapter. Define Converter Specifies you want to define a converter from the dialog box.
8-106
5. Under Converter Type:, select a converter type. Depending on the selection, the dialog box changes. Options include: SPICE Specifies a SPICE converter. Under Converter 1:, select one of the following options:
o o
A2D Specifies an analog to digital converter. 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 o o o
bit Specifies two logical values: 1 and 0 x01 Specifies three logical values: X, 0, and 1 x01z Specifies four logical values: X, 0, 1, and Z MVL4 Specifies four logical values: X, 0, 1, and Z for A2D converters and two logical values: 1 and 0 for D2A converters Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L, H, and real Specifies real or float values integer Specifies integer values
o o o
VHDL-AMS Specifies VHDL-AMS compiled converter. Select a compiled converter from the list box.
6. Under Detailed Conv?, select an option for merging/splitting the digital net at the point of insertion. Options include: Yes Splits digital nets. No Merges digital nets.
7. Under Setup Parameters, enter each 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, click ms icon on tehe Edit toolbar and select Choose ADMS Library. For more information, see Chapter 3, Using Design Libraries in the ADVance MS 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 Selecting the boundry element in the ADVance MS Users Manual. 8. To define a second converter, click Yes under Specify Second Converter?. The dialog box displays options and data fields for the second converter configuration. Repeat steps 5 and 7 of this procedure.
8-107
9. Click OK to place the converter(s) on the specified instances. The following property is backannotated to the instances: VHDL-AMS converters Inst_<model_name> SPICE converters depending on the type: Inst_A2D or Inst_D2A
For more information, see Chapter 6, Automatic and Explicit Insertion of Boundary Elements in the ADVance MS Users Manual.
3. Under Converter Type:, specify the converter type. Depending on the selection, the dialog box changes. Options include:
8-108
SPICE Specifies a SPICE converter. Under Converter 1:, select one of the following options:
o o
A2D Specifies an analog to digital converter. 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 o o o
bit Specifies two logical values: 1 and 0 x01 Specifies three logical values: X, 0, and 1 x01z Specifies four logical values: X, 0, 1, and Z MVL4 Specifies four logical values: X, 0, 1, and Z for A2D converters and two logical values: 1 and 0 for D2A converters Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L, H, and real Specifies real or float values integer Specifies integer values
o o o
VHDL-AMS Specifies VHDL-AMS compiled model. Select a compiled model from the list box.
4. Under Detailed Conv?, select an option for merging/splitting the digital net at the point of insertion. For more information, see Assigning a boundry element in Chapter 6 of the ADVance MS Users Manual. Options include: Yes Splits digital nets. No Merges digital nets.
5. Under Setup Parameters, enter each 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, click ms icon on the Edit toolbar and select Choose ADMS Library. For more information, see Chapter 3, Using Design Libraries in the ADVance MS 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 Selecting a built-in boundry element in the ADVance MS Users Manual. 6. Click OK to place the converter on the selected nets. The following property is backannotated to the nets: VHDL-AMS converters Inst_<model_name> SPICE converters depending on the type: Inst_A2D or Inst_D2A
8-109
For more information, see Chapter 6, Automatic and Explicit Insertion of Boundary Elements in the ADVance MS Users Manual.
3. Under Pin or Port, specify which pins to insert converters on. Options include: Just these Pins Places converter(s) on only the selected pins. All Ports of this Model in the Design Places converters on every instance of the selected pins throughout the design.
8-110
4. Under Converter Type:, select a converter type. Depending on the selection, the dialog box changes. Options include: SPICE Specifies a SPICE converter. Under Converter 1:, select one of the following options:
o o
A2D Specifies an analog to digital converter. 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 o o o
bit Specifies two logical values: 1 and 0 x01 Specifies three logical values: X, 0, and 1 x01z Specifies four logical values: X, 0, 1, and Z MVL4 Specifies four logical values: X, 0, 1, and Z for A2D converters and two logical values: 1 and 0 for D2A converters Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L, H, and real Specifies real or float values integer Specifies integer values
o o o
VHDL-AMS Specifies VHDL-AMS compiled converter. Select a compiled converter from the list box.
5. Under Setup Parameters, enter each 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, click ms_icon on the Edit toolbar and select Choose ADMS Library. For more information, see Chapter 3, Using Design Libraries in the ADVance MS 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 Selecting a built-in boundry element in the ADVance MS Users Manual. 6. Click OK to place the converter on the specified pins. The following property is backannotated to the instances: VHDL-AMS converters Inst_<model_name> SPICE converters depending on the type: Inst_A2D or Inst_D2A
For more information, see Chapter 6, Automatic and Explicit Insertion of Boundary Elements in the ADVance MS Users Manual.
8-111
8-112
4. Under Add Converter By, enable Group. The dialog box changes to display the appropriate options for using groups of converters.
5. Click Load New Group File, enter the pathname to the group file, and click OK. The new group(s) display under Groups. 6. Select the group to associate with the selected instance and click OK. The group_name is backannotated to the selected instance indicating the converter group is associated.
8-113
1. With no schematic objects selected, click on the Edit toolbar and select Insert A2D/D2A. The Converter-Automatic Insertion dialog box displays.
2. Under Add Converter By, specify how the converters are defined. Options include: Group Specifies you want to use a group of converters already defined in an ASCII file. For more information, see Associating Groups of Converters with Instances in this chapter. Define Converter Specifies you want to define a converter from the dialog box.
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 o
A2D Specifies an analog to digital converter. 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
8-114
x01 Specifies three logical values: X, 0, and 1 x01z Specifies four logical values: X, 0, 1, and Z MVL4 Specifies four logical values: X, 0, 1, and Z for A2D converters and two logical values: 1 and 0 for D2A converters Std Logic Specifies up to nine logical values: U, X, 0, 1, Z, W, L, H, and real Specifies real or float values integer Specifies integer values
o o o
VHDL-AMS Specifies VHDL-AMS compiled converter. Select a compiled converter 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, click ms_icon on the Edit toolbar and select Choose ADMS Library. For more information, see Chapter 3, Using Design Libraries in the ADVance MS 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 Selecting a built-in boundry element in the ADVance MS Users Manual. 5. 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 and 4 of this procedure. 6. Click OK. A set of .MODEL and .DEFHOOK commands are written to the simulation command file that represent the default converters. You are asked whether you want to define more design-wide converters. 7. Select No to return to the design or Yes to continue defining default converters. For more information, see Chapter 6, The Automatic and Explicit Insertion of Boundary Elements in the ADVance MS Users Manual.
8-115
1. With no schematic objects selected, click on the Edit toolbar and select Insert A2D/D2A. The Edit Default Converter Parameters dialog box displays.
2. Select a converter to edit and click OK. The Converter Parameters dialog box displays the currently defined parameters for the selected converter.
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 you to enter more parameters. For more information on parameter values, see Selecting a built-in boundry element in the ADVance MS Users Manual. 4. Click OK. The new parameter values are written to the simulation command file.
8-116
1. Define converters and run simulation. 2. Select Setup > Highlight Objects > Highlight Inserted Converters. All pins associated with a converter display highlighted with a yellow circle. Select Setup > Highlight Objects > Unhighlight Inserted Converters to remove the converter highlighting. 3. Click on the circle of a highlighted pin and select Setup > Highlight Objects > View Converter. The Notepad editor opens and displays the line(s) of text from the .conv file that describes the specified converter. For more information, see Chapter 6, The Automatic and Explicit Insertion of Boundary Elements in the ADVance MS Users Manual.
Deleting Converters
If the converters are merged onto the source schematic, you must exit simulation mode to delete them from the source schematic. Use the following steps to delete converters associated with pins, nets, and instances from the simulation command file: 1. Select the pins, nets, and instances to delete the converters from. You can select any combination of objects. 2. Click on the Edit toolbar and select Insert A2D/D2A. The converters are deleted from the selected objects.
8-117
1. With no schematic objects selected, click on the Edit toolbar and select Insert A2D/D2A. The Delete Default Converter dialog box displays.
2. Select the converters from the list box to delete and click OK. The selected converters are deleted from the simulation command file and you are returned to the design.
The property syntax for SPICE converter properties is described in Table 8-5. Table 8-5. SPICE Converter Properties Component Instance Pin Property Name DEFHOOK A2D/D2A Property Value [DETAILED] A2D Mode =x01[param1=val1 param2=val2 ...] D2A [DETAILED] Mode =bit [param1=val1 param2=val2 ...]
8-118
Table 8-5. SPICE Converter Properties (cont.) Component Net Property Name A2D/D2A Property Value [DETAILED] Mode = std_logic [param1=val1 param2=val2 ...]
3. Enter the pathname to the SDF file in the SDF Path field. 4. If necessary, choose a Delay Selection. Options include:
o o o
Min Selects the minimum timing value from the SDF file. Max Selects the maximum timing value from the SDF file. Typ Selects the typical timing value from the SDF file. Default setting.
8-119
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-120.
8-120
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. 2. To delete an SDF association from an instance, delete the pathname to the SDF file from the instance. Caution Deleting the first listed association, deletes all SDF associations listed.
8-121
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 o
Enabled ADVance MS displays no SDF-related warning messages. Disabled ADVance MS displays all SDF-related warning messages. Default setting.
3. If necessary, change the Reduce SDF errors to warnings setting. The box displays black when option is enabled. Options include:
o o
Enabled ADVance MS displays all SDF-related errors as warnings. 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 o o o
Latest Uses the latest value. Default setting. Min Uses the smallest value. Max Uses the largest value. Off No multi-source delay setting is used.
5. If necessary, change the Delay Selection associated with each SDF file. Options include:
o o
Min Selects the minimum timing value from the SDF file. Max Selects the maximum timing value from the SDF file.
Design Architect-IC Users Manual, 2006.1
8-122
Typ Selects the typical timing value from the SDF file. Default setting.
2. If necessary, enter the name of the backannotation object to open and click OK.
8-123
For more information on priorities and backannotations, see the Backannotation section of Chapter 2, Design Viewpoint Editing Concepts in the Design Viewpoint Editor-IC Users and Reference Manual. The Back Annotation window displays a list of the backannotations for the active design configuration.
3. Select the design object attached to the backannotations you wish to edit/merge and click the right mouse button in the Back Annotation window. The Back Annotation popup menu displays.
8-124
4. Click one of the following options: Add Property Displays a prompt bar that allows you to enter a property backannotation into the active design configuration. Enter the new property information and click OK. Change Property Displays the Change Properties dialog box that allows you to edit the properties and values of the backannotations associated with the selected object. Edit properties as needed and click OK. Delete Property Displays a list of the backannotated properties associated with the selected object. Select a property and click OK to delete it. Merge Properties Displays a list of backannotated properties associated with the selected object. Select a property and click OK to merge it to the source schematic.
5. Once all edits are made, click the button in the left corner of the Back Annotation window and select Close. The Back Annotations window closes.
8-125
Note If you receive unexpected errors or warnings during File > Check Design, your design data may have customized viewpoint setup requirements. For more information, refer to section Unexpected Errors During Design Check. 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. File > Check Design > Check Options to specify how the design check executes. For more information, see the Setting up a Design Check section in this chapter.
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.
8-126
Yes Displays the results of the check in a new window. Default. No Disables the check design results window.
Yes Writes the results of the check in the transcript. Default. No Does not transcript the check results.
All Warnings displays all warnings returned. Default. Synthesis Subset checks a design created with synthesis tools and filters out irrelevant warning messages. No Warnings only returns errors.
Yes Writes design check results to a specified file. 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 more information, 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.
8-127
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.
8-128
For more information, see .DEFWAVE, .DEFMAC, and .EXTRACT in Chapter 10 of the Eldo Users Manual.
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).
8-129
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. 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.
8-130
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.
Viewing Waveforms
From the simulation mode in DA-IC, you can set up and invoke the following waveform viewers: EZwave Displays waveforms from analog, digital, and mixed-signal design simulations performed by Eldo and ADVance MS. For more information, see About EZwave in this chapter.
8-131
Xelga Displays waveforms from analog, digital, RF, and mixed-signal design simulations performed by Eldo, Eldo RF, HSPICE/SmartSPICE, and ADVance MS. For more information, see About Xelga in this chapter.
About EZwave
EZwave is an interactive waveform viewer invoked from simulation mode 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 generate individual waveforms for each .PLOT statement in the commands file and display a group of waveforms associated with a given .PLOT statement with a single unique waveform name in the viewer.
Invoking EZwave
Use the following steps to invoke EZwave and display waveforms from the Edit toolbar: 1. Set up and run the simulation for the active schematic. You must specify which waveforms to save/plot before the simulation is run. For more information, see the Saving/Plotting Waveforms section of this chapter. 2. Click on the Edit toolbar and select one of the following options:
New Window Opens a new window in EZwave and displays the names of all the saved waveforms in the Waveform Name Panel. If you specified to plot any waveforms when you set up the simulation, those waveforms are automatically plotted in a Graph window. Overlay If there is a database from a previous simulation open with at least one waveform plotted, plots the new result waveforms together with the previously existing ones on the same axes and waveform rows. This option is only enabled if EZwave is already invoked and connected to DA-IC.
For more information on using EZwave, click Help on the EZwave toolbar.
8-132
For more information, see the Setting Up the Simulation Environment and Saving/Plotting Waveforms sections in this chapter. You can also generate and display a waveform representation of the difference between two nets. For more information see the following sections: Crossprobing from DA-IC to EZwave Crossprobing from EZwave to DA-IC
8-133
Plot the nets individually. This option displays the Choose Waveforms dialog box. Select which waveforms to create the difference waveform from.
3. Select the desired waveform(s) and click OK. The specifed waveforms or the generated difference waveform is plotted/highlighted in the EZwave viewer.
EZwave opens in a new window and displays the names of all the saved waveforms in the Waveform Name Panel. If you specified to plot any waveforms when you set up the simulation, those waveforms are automatically plotted in a Graph window. 2. Select the waveforms to crossprobe to the schematic. 3. Click the Waveforms cross selection icon on 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 more information on using EZwave, click Help on the menubar of the application.
Closing EZwave
Use the following step to close the EZwave viewer: 1. Select File > Exit in EZwave. EZwave closes. DA-IC and the design configuration are active.
About Xelga
Xelga is an interactive waveform viewer invoked from the simulation palette in DA-IC that allows you to display the following waveform types: .wdb, .cou, .dou, .ext. and .aex Various waveform output formats available from Eldo, ADVance MS, HSPICE, and SmartSPICE.
Xelga reads a simulation results database named JWDB (Java Waveform Database) which is the default output database for Advance MS. For more information, see the JWDB database format section in the Xelga Users Manual.
8-134
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.
Invoking Xelga
To invoke Xelga, your ANACAD environment variable must point to the location of the Xelga application. 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 >New Window. Xelga opens and displays the plotted waveforms generated for the active schematic. For information on setting up which signals are saved and plotted for Xelga, see Saving/Plotting Waveforms To view HSPICE/SmartSPICE waveforms, select View Waves > HSPICE Results. A list of the available waveform files displays. Select a file, and then use the New Window or Overlay menu options to plot the waveform file. This HSPICE Results option is only available on the View Waves submenu when the HSPICE simulator is the default simulator and the most recent simulation created multiple result files
8-135
Note 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. 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. 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-136
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 first-selected 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 on the Xelga menubar. Xelga closes. DA-IC and the current design configuration are active.
8-137
8-138
9-1
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. 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:
9-2
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. 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.
9-3
$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
9-4
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.
9-5
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.
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.
9-6
Figure 9-3. Renaming a Component Containing a Symbol Changing the name here does not change the name here 74ls74 symbol part 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. 74ls74
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:
9-7
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.
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.
9-8
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. 2. Use the navigator buttons to move to the directory that contains the top-level design container that you manipulated through some Design Manager-IC operation.
9-9
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. Caution This is not a bullet-proof check. A design copy could still contain references to the original. If the original is available, the invocation 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.
9-10
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 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.
9-11
Reporting on Objects
The following topics include procedures for reporting on various schematic objects.
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.
9-12
9-13
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. If -Hidden is listed without -Not Visible, the property visibility was changed to visible on the sheet. Figure 9-6. Report Object Example
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
9-14
To report the status of specified check types on a symbol or schematic sheet, perform the following steps: 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 to a file named da_report_file in your current directory. 4. Click OK when check types are selected.
9-15
9-16
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.
10-1
10-2
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. 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
11-1
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.
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.
11-2
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.
Note If you edit the schematic sheet in the context of a design, save your sheet before you change the edit mode to off.
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-3
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. 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.
11-4
74161
74161
I$1
I$2
Instance handles
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. Figure 11-2. default Backannotation Window
Back Annotation: default Instance Pathname /I$1/I$3 /I$2/I$3 Pin Pathname Net Pathname (Property Name, Property Value) (phy_comp, U1") (phy_comp, U2") (Property Name, Property Value) (Property Name, Property Value)
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.
11-5
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. Figure 11-3. default: I$1 Window
Schematic#2 74161
I$3
I$4
A1
A2
phy_comp properties
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 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.
11-6
I$3
I$4
U1
A2
phy_comp properties
To turn off the display of backannotation values, use the Hide Annotations command. 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. Figure 11-5. default: I$2 Window
Schematic#2 74161
I$3
I$4
A1
A2
phy_comp properties
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.
11-7
I$3
I$4
U2
A2
phy_comp properties
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 currentviewable 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-8
COMP properties
74161
74161
I$1
I$2
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. Figure 11-8. default Backannotation Window with I$1/I$4
Back Annotation: default_1 Instance Pathname /I$1/I$3 /I$2/I$3 /I$1/I$4 Pin Pathname Net Pathname (Property Name, Property Value) (phy_comp, U1") (phy_comp, U2") (phy_comp, MIL5") (Property Name, Property Value) (Property Name, Property Value)
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 of the default design viewpoint. Notice in Figure 11-9 that backannotations do not display and evaluation is disabled.
11-9
I$3
I$4
A1
$strcat(COMP, '_U2')
phy_comp properties
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. Figure 11-10. default with Expression Evaluated
Schematic#2 74161
I$3
I$4
A1
74161_U2
phy_comp properties
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.
11-10
I$3
I$4
U1
MIL5
phy_comp properties
11-11
Before backannotations display, the sheet appears as shown in Figure 11-13, with the phy_comp property values of A1 and A2. Figure 11-13. default: I$1 Window
Schematic#2 74161
I$3
I$4
A1
A2
phy_comp properties
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.
11-12
I$3
I$4
U1
$strcat(COMP, '_ref')
phy_comp properties
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. Figure 11-15. default with Backannotation Expression Evaluated
Schematic#2 74161
I$3
I$4
U1
74161_ref
phy_comp properties
11-13
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 in-memory design. Figure 11-16. & In the Schematic Window Apply Edits needed
my_design(Design Context)&
COMP properties After you choose the File > Apply Edits pulldown menu, the & disappears.
11-14
OK
Reset
Cancel
Help
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-15
Open as:
Editable
Read Only
Options... Yes No
OK
Reset
Cancel
Help
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.
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.
11-16
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. 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.
Design Architect-IC Users Manual, 2006.1
11-17
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.
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. Caution If the schematic sheet is used in more than one place in your design, when you merge backannotations to that one sheet, all 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-18
11-19
11-20
12-1
mux
mux
mux
mux
mux
mux
FB Instance
FB Instances
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.
A made or unmade state defines the Function Block object at a specific development phase.
12-2
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. The Made FB Definition can be in either form depending on whether it is connected or unconnected.
<user-specified>
12-3
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. Figure 12-2. FB Definition FB_NAME Property
Schematic#1 source1 sheet1
FB_INST Property
mux
mux_1
Boundary
12-4
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 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. Figure 12-3. FB Instance FB_NAME Property FB_INST Property
mux
mux_2
Boundary
12-5
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. Note 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. 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 symbolbased instances. Refer to the Usage Paradigm section in this chapter.
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. Note FB Pins are placed on the top, bottom, or left and right sides of an FB Definition or FB Instance.
12-6
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
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. 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.
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
Note 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. When the FB Pin is added, the FB Pin type placed on an FB Definition, or FB Instance boundary, is automatically selected.
12-7
mux
mux_1
IN_1
OUT_1 IN_2
IN_3
12-8
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:
12-9
Models
1. Unconnected FB Definition Usage Model - The usage model illustrated in Figure 12-7 is the most efficient. Figure 12-7. Unconnected FB Definition Usage Model
FB Instances
mux
I_04 I_05
OUT_2
I_06
mux
OUT_3
FB Definition
mux
I_10 I_11
OUT_4
I_12
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-10
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.
12-11
FB Definition
mux
I_03
mux
I_06
mux
FB Instances
OUT_3
I_10 I_11
OUT_4
I_12
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 remake the FB Definition.
12-12
I_03
mux_1
FB Definitions FB Instance
OUT_2
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 outermost Function Block Object. 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.
12-13
12-14
mux
mux_1
Internal Nets
FB Definition internal nets are nets fully contained within the FB Definitions boundary, which connect to one or more instance pins.
12-15
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. Figure 12-13. External Net Example
External Nets
mux
mux_1
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. Figure 12-14. Passthru Net Examples
mux
mux_1
Passthru Nets
12-16
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 Setting up a Function Block section in Chapter 6, or use the $set_fb_passthru() function.
Flythru Nets
Flythru nets are not part of the FB Definitions contents. Flythru nets intersect an FB Definition, as shown in Figure 12-15. Figure 12-15. Flythru Net Example
mux
mux_1
Flythru Net
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.
12-17
12-18
A Hotkey is an alphanumeric keyboard key that is tied to an Advanced Multi-Purpose 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 four hotkey types: Using DA-IC Predefined Hotkeys - Two sets of predefined hotkeys are supplied with Design Architect-IC. Please refer to Appendix A, Predefined Hotkeys, for a complete list of these hotkeys. Using User-Defined Hotkeys - User-modified hotkeys. When the user creates these hotkey definitions, the definitions 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. 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. Note When enabled, you can bypass the hotkeys at any time and display a command window by pressing the F11 key, or by selecting any unmapped alphanumeric key.
13-1
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.
13-2
Figure 13-2. Hotkey Cascading Menu Enables User-Defined Hotkeys (if previously defined) $set_hotkey_mode()
Enable Load... Report Define... Customize...
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
Customize Hotkey Settings Start With: DA-IC Editing Copy To: OK Reset Cancel
13-3
The Load Hotkey Settings dialog box appears as shown in Figure 13-4. Figure 13-4. Load Hotkey Settings dialog box
13-4
2. Click either DA-IC Editing or Variant in the Choices section of the dialog box. The Enable Hotkeys radio button is selected by default; you must enable the hotkeys in order to use them. Refer to Table A-1 and Table A-2 in Appendix A, for a list of the predefined hotkey sets. 3. Verify the settings, then click OK. The selected hotkey set is now enabled and are ready to use. You can verify this within the Status bar as shown in Figure 13-5. You can invoke a command or function, by typing the alphanumeric key you want. Figure 13-5. DA-IC Status Line with Hotkeys Enabled (Schematic Scope)
13-5
The Define Hotkey dialog box appears as in Figure 13-7. Figure 13-7. Define Hotkey Dialog Box
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
13-6
The Define Hotkey dialog box presents a scroll list of commonly-used Design ArchitectIC commands that you can map key-by-key to the desired alphanumeric key. You can find the complete list of cross-referenced Design Architect-IC commands, contained in the Define Hotkey dialog box, 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. Figure 13-8 shows the dialog box as it appears. Figure 13-8. User-Defined Hotkey Comment Dialog Box
Supply a comment:
OK
Reset
Cancel
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:
key_<key>.ample
For example, if you mapped the a key to the Add Arc command, then 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.
13-7
After defining a hotkey, a prompt appears (Figure 13-9) asking you if you want to define additional hotkeys. Figure 13-9. Define more hotkeys? Dialog Box
Yes
No
5. Click Yes to define additional hotkeys, then repeat steps 2 through 4. 6. Click No when you are finished creating user-defined hotkeys.
13-8
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)
13-9
OK
Reset
Cancel
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, 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-10
A Save Changes dialog box, similar to Figure 13-13, prompts you to save the edits you have made to the AMPLE userware file. Figure 13-13. Save Changes dialog box
6. Remove the dialog box and AMPLE editor window by selecting Yes using the Select mouse button.
13-11
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, you must enable them. 3. Verify the settings, then click OK. 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. Figure 13-15. Specify Custom Hotkey File dialog box
Specify Custom Hotkey File Filename Navigator...
OK
Reset
Cancel
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.
13-12
When invoked, the Report option returns a dialog box that contains a scroll list of currentlydefined Hotkeys and their definitions. Figure 13-16 provides an example of this dialog box. Figure 13-16. Report Hotkey Settings 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
13-13
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 user-defined hotkey set has been created, then these key-by-key hotkey values are 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.
Yes
No
2. To load an initial set of hotkeys, click Yes. Note If you select No, the hotkeys are enabled, but none are loaded. The follow message displays:
Please load hotkeys before trying to use them.
Prior to using the functionality, you must load a hotkey set. The Load Hotkey Settings dialog box appears, as displayed in Figure 13-17.
13-14
3. Within the dialog box, select one of the four hotkey types and click 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 as shown in Figure 13-18. Figure 13-18. Disabling Hotkeys via the Miscellaneous Pulldown (Schematic Scope)
13-15
13-16
14-1
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.
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 Adding to MGC Menus Heavy Creating New Functions Using Undocumented Userware 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.
14-2
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. 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.
14-3
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.
14-4
Table 14-2. Scopes Searched in each Window (cont.) Window Type IDW Hierarchy Scopes Searched 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 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
Notepad
Schematic Editor
14-5
Table 14-2. Scopes Searched in each Window (cont.) 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 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
Symbol Editor
Transcript
14-6
Table 14-2. Scopes Searched in each Window (cont.) Window Type Userware Editor Scopes Searched 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 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
VHDL Editor
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-7
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-21. 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.
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.
14-8
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)
The previous commands set the transcript mode to bottom and execute the startup file schematic.startup in an active schematic window. 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);
14-9
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);
While startup files should not be used to define custom userware functions, they are the simplest method for customizing Design Architect-IC.
14-10
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. 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.
14-11
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.
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-13. 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.
14-12
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 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-18. 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.
You can also have a userware file, hdtxt_area.dofile, which is not in this list. Design ArchitectIC 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
14-13
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 3. $HOME/mgc_custom/new/da_ic/schematic.dofile
14-14
Creating DA-IC Userware Simple Customizing !/bin/sh # # 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.
14-15
prefix is not used with the 'c_int' external variable because the variable is removed after command registration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 function vndr_part_copy( part :string, 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"));
} 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);
The following code block creates a pulldown menu for the VNDR menu bar item in Design Architect-IC; Figure 14-1 shows the resulting menu.
1 2 3 4 5 6 7 function vndr_pulldown_menu(),INVISIBLE { $create_menu(schematic, @pulldown,vndr_pulldown,1,,
); }
14-16
$insert_menu_item($menu_text_item( "E_xit Session:", "$close_session()" ), ,"da_session@@da_session_file_pulldown" ,@after,"Update All Schematics..."); $insert_menu_item($menu_special_text_item("Generate Project Viewpoints DIR" , "k$generate_viewpoints_directory()" ,,,, "blue" ) ,,"da_session@@da_session_file_pulldown", @after, "Generate"); $insert_menu_item($menu_special_text_item("Automatic Update Instance" , "NVD_auto_instance_update_startup()" ,,,, "blue" ) ,,"da_session@@da_session_file_pulldown", @after, "Generate");
14-17
Advanced Customizing
Caution The following text is for component library developers and others who do major customization. These methods alter the MGC Tree, and are not intended for most users.
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
14-18
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
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
14-19
unset
unset
unset
Specific personality mods set to desired Other packages in MGC packages tree Specific personality mods unset Userware not in default location Specific personality mods set to desired Other packages in MGC packages tree Userware not in default location Specific personality modules and/or other pkgs in MGC tree Specific personality modules Userware not in default location Userware not in default location unset
unset
unset
unset
14-20
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 third-party 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. Note The Libraries pulldown menu exists only when the analog_da personality module is successfully loaded.
14-21
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-12.) 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
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
14-22
14-23
Creating DA-IC Userware Advanced Customizing function $custom_menu(), INVISIBLE { extern rom_logic = " "; // logic selection for rom_lib only extern logic = " "; // 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. //------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. //-------------------------------------------------------------
14-24
Creating DA-IC Userware Advanced Customizing ,"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 // //----------------------------------------------------------------------------// 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-25
14-26
$create_library_menu()
Scope: ui_base Pathname: $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 two possible values of instance_replace_mode are: @available @unavailable. menu_type This is the name of the type of menu you are creating. Choose one of the following: @popup @pulldown @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.
14-27
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-28
$add_library_menu_item()
Scope: schematic Pathname: $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. Examples 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");
where: 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-29
$add_or_replace_instance()
Description 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. Examples 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. 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-30
$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. @ignore_grid Does not return the nearest grid location. Examples 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); }
14-31
Creating DA-IC Userware $prompt_for_diagram_location() 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") ); }
14-32
The following items 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.
14-33
Creating DA-IC Userware $prompt_for_diagram_location() // 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
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
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);
14-34
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 2 3 4 5 6 7 8 9
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.
{ 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-35
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.
14-36
15-1
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 Architect-IC 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. Figure 15-1. Function Usage Line Legend Required Arguments Optional Argument
$function_name(arg1, arg2, arg3) 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.
15-2
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 subarguments 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. Figure 15-2. Example of Function Command Usage FUNction NAme arg1 arg2 arg3 FUN NA arg1 arg2 arg3 Command Syntax What is entered
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...:
15-3
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.
15-4
$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-5
$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. Figure 15-4. $define_hotkey() Dialog Box
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
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. 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
15-6
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 user-specified alphanumeric key. If no arguments are specified, then the function calls the $define_hotkey() dialog box illustrated in Figure 15-4. Arguments key_name (Select an alphanumeric key...) An optional string that contains the alphanumeric key to assign. function_name (Select a command) An optional string that contains the AMPLE functions name. comment (Supply a 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()
15-7
$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()
15-8
$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. Note 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]. Examples The following is an example of the $get_hotkey_settings() function from the command line:
$get_hotkey_settings()
15-9
$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, variant, 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: Figure 15-5. $load_hotkey_settings() Dialog Box
The $HOME/mgc/da_hotkeys directory contains user-defined Hotkey settings. The custom Hotkey settings are located in a directory chosen by the user.
15-10
Arguments Style (Choices) A name that specifies which Hotkey settings to load. One of the following three choices must be specified: @user (User-defined): user-defined key mappings. @da_editing (DA-IC Editing): Design Architect-IC editing key mappings. @custom (Custom): custom key mappings @variant (Variant): variant hotkeys Enable (Enable Hotkeys) A value that specifies whether Hotkey mode is enabled. Possible values are: @no - do not enable hotkey mode @yes - enable hotkey mode Note If the Hotkeys are already enabled, the @no argument will not disable the Hotkeys.
Examples This example loads the default Design Architect-IC key mappings and enables hotkeys.
$load_hotkey_settings(@da_editing,@yes);
15-11
$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: Figure 15-6. $report_hotkey_settings() 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
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.
15-12
Note 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. Examples This example calls the Report Hotkey Settings dialog box, and displays all the currently loaded hotkey definitions.
$report_hotkey_settings()
15-13
$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). Figure 15-7. $set_hotkey_mode() Prompt Bar
SET HO M Mode off OK Cancel
Arguments mode @off - disable hotkeys @on - enable hotkeys Examples The following example enables hotkeys.
$set_hotkey_mode(@on)
15-14
Requirements
A symbol registered with a transistor-level schematic of a type currently supported by the BMC tool. For more information on the Commlib models supported by the BMC tool, see the CommLib BMC Reference Manual. The transistor-level subcircuit simulated and complete to user specifications. ADVance MS simulator installed and adms.ini setup. The adms.ini must contain the MGC_COMMLIB library. For more information, see Compiling ADVance MS designs in Chapter 4 of the ADVance MS Users Manual. Compiled models are not required. Use valib work to create a dummy library for the adms.ini. $ADMSIM environment variable set to the location of the adms.ini file. Invoke DA-IC from the directory containing the adms.ini file.
Running a Calibration
Use the following steps to calibrate a Commlib model from DA-IC: 1. Open the schematic containing the hierarchical instance. 2. Click Simulation on the palette. 3. Select the hierarchical instance on the schematic. 4. Select Commlib > Calibrate Instance. The BMC tool invokes and displays the first BMC dialog box in a series used to set up the calibration.
16-1
5. Fill in all data fields and click OK. The BMC tool netlists the related subcircuit, sets up a user area, and displays a series of dialog boxes. The user area is set up in the location you enter in the Calibration Output Path data field and is used to hold calibration setups, parameters, and results. Fill in the necessary data fields and click OK for each dialog box. For help on filling out the data fields, click Help or see the BMC Stand-alone GUI in Chapter 18 in the ADVance MS Users Manual. After you enter all the calibration settings and parameters, the Confirm dialog box displays a summary of all the parameters entered to this point. The parameters are readonly at this point. 6. Review the parameters and click Run to begin the calibration. The calibration process begins and a transcript displays the calibration progress Once the calibration is complete, the calibration results display the generic values associated with the behavioral model. 7. Review the results and click OK to generate an alternate schematic containing a single instance of the behavioral model to represent the subcircuit for the hierarchical instance. All unmapped ports are left open. The generated schematic is named <instance> CalibBehav and the instance assumes the generic values returned by the calibration script. A stamp property specifying the location of the of the user area is annotated to the hierarchical instance. This stamp identifies where the calibration settings and processing files are located. If you rerun a calibration, all data entered from the previous calibration is automatically restored to the setup dialog boxes. For more information, see Chapter 18, CommLib BMC System in the ADVance MS Users Manual.
Rerunning a Calibration
Use the following steps to rerun a calibration. This procedure assumes the user area set up by the first calibration session is still intact. For more information, see the Running a Calibration section in this chapter. 1. Open the schematic containing the hierarchical instance. 2. Click Simulation on the palette. 3. Select the hierarchical instance on the schematic. 4. Select Commlib > Calibrate Instance. The BMC tool invokes and displays the first BMC dialog box in a series used to set up the calibration.
16-2
5. Click Rerun. The BMC tool runs another calibration using the same settings and options used for the previous calibration. If you need to change the settings used for the calibration, edit the calibration settings as needed and click OK. For more information, see the Running a Calibration section in this chapter.
Purging a Calibration
Use the following steps to delete the stamp property, user area, and setup information associated with a selected instance: 1. Open the schematic containing the hierarchical instance. 2. Click Simulation on the palette. 3. Select the hierarchical instance on the schematic. 4. Select Commlib > Purge Selected. The BMC tool deletes the user area and the stamp from the hierarchical instance.
16-3
16-4
A-1
Predefined Hotkeys
Action undo select vertex add thin wire select text and move zoom in 2.0 set basepoint check sheet/symbol
flip vertical
modify properties open up add property rotate -90 degrees save sheet/symbol change text value unselect all view all add thick wire
Predefined Hotkeys
Table A-1. DA-IC Editing Hotkey Set (cont.) Key Y Z 1 2 3 4 5 6 7 8 9 0 The DA-IC Variant hotkey set provides a set of operations that are commonly used during schematic capture. In this hotkey set, the operations are optimized for efficiency and speed.t Table A-2. DA-IC Variant Hotkey Set Key a b c d e f g h i j k l m n
Design Architect-IC Users Manual, 2006.1
Action
add instance
Predefined Hotkeys
Table A-2. DA-IC Variant Hotkey Set (cont.) Key o p q r s t u v w x y z A B C D E F G H I J K L M N O P move disconnected flip horizontal check with options zoom area toggles through port types after p hotkey is pressed undo view all add wire place port; use t hotkey to toggle through port types modify editable properties rotate 90 degrees Action
A-4
Predefined Hotkeys
Table A-2. DA-IC Variant Hotkey Set (cont.) Key Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 Ctrl-e Ctrl-z open up zoom in 2.0 zoom out 2.0 rotate minus 90 degrees check and save sheet/symbol change text value redo view all add bus/bundle Action
A-5
Predefined Hotkeys
The DA-IC Simulation hotkey set provides a set of operations that are commonly used during simulation. Table A-3. DA-IC Simulation IC Hotkey Set Key a b c d e f g h i j k l m n o p q r s t u v w x y z A B zoom in 2.0 crossprobe voltage model select netlist open down plots report selected run simulation set up simulator/viewer redo undo view results crossprobe current Action analysis probes edit commands show DCOP end sim
A-6
Predefined Hotkeys
view output file modify multiple open up add property close window model registration add voltage source unselect all close viewer view measurements zoom out 2.0
A-7
Predefined Hotkeys
A-8
B-1
Hotkey Commands
Table B-1. Hotkey Commands (cont.) Menu Selection 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 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
B-2
AMPLE Function $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() $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()
Design Architect-IC Users Manual, 2006.1
Hotkey Commands
Table B-1. Hotkey Commands (cont.) Menu Selection 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 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
Design Architect-IC Users Manual, 2006.1
AMPLE Function $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() $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)
B-3
Hotkey Commands
Table B-1. Hotkey Commands (cont.) Menu Selection Unselect All Unselect FB w/contents Unselect Prop Owner Update View All View Area View Selected Zoom In Zoom Out AMPLE Function $unselect_all() $unselect_fb() $unselect_property_owner() $update() $view_all() $view_area() $view_selected() $zoom_in(2) $zoom_out(2)
B-4
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. For more information, see Checking a Symbol for Errors in Chapter 4. A symbol must pass the required checks before it can be instantiated.
C-1
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? 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?
C-2
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?
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?
C-3
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. 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? Does the signal name of an implicit ripper exactly match the name of a corresponding signal in the net or net bundle?
C-4
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? 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?
C-5
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? 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.
C-6
Owner
The following checks are performed on properties. Error messages are generated if the schematic sheet fails any of the following 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. Identify all points where different vertices are visually difficult to distinguish (where the close dot symbol is displayed on the sheet).
C-7
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 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.
C-8
Note The annotation checks are only performed when DA-IC is invoked on a design viewpoint. Otherwise, this option is ignored.
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. 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?
C-9
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?
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.
C-10
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?
C-11
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.
C-12
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: 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.
D-1
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 DAIC, the userware must be modified.
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
D-2
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 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 Removed Restructured and converted icons to text Restructured Restructured Added Removed Description of Change Restructured
D-3
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 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 Restructured Restructured Removed Added 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 Sheet
Design Architect-IC Users Manual, 2006.1
D-4
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() $select_all() $select_area() $set_color() $$setup_check_sheet() $setup_color() $setup_select_filter() $setup_unselect_filter() $unselect_all()
D-5
$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 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 Name in DA-IC... X11term_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
D-6
Table D-6. Executable Filename Changes (cont.) Name in DA... da ddms_dump_stream ddms_gen_type_rep ddms_gen_type_rgy_index ddms_locenv 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 resolve_mgc_path revert_version
Design Architect-IC Users Manual, 2006.1
Name in DA-IC... da_ic ddms_dump_stream_ic ddms_gen_type_rep_ic ddms_gen_type_rgy_index_ic ddms_locenv_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 resolve_mgc_path_ic revert_version_ic
D-7
Table D-6. Executable Filename Changes (cont.) Name in DA... salvage_object set_mgc_env set_version_depth show_object_info unfreeze_version Name in DA-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
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:
D-8
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 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_ample_ic.so libmgc_ample_ic.sl libmgc_bed_ic.so libmgc_bed_ic.sl libmgc_core_ic.so libmgc_core_ic.sl 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-9
D-10
E-1
Special Instances
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 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;y1:y2 Rip a range of values from a row in the matrix. For example: Rule = 1;0:2 x1:x2;y Rip a range of values from a column in the matrix. For example: 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
E-2
Special Instances
with the instance body or with each non-bundled 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:
o o
The implicit ripper is not an actual symbol in any library. 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-3 illustrates some examples of implicit rippers. Figure E-1. Implicit Ripper Examples ADDR(4)
Angled rippers
ADDR(7:0) ADDR(0)
ADDR(7)
E-3
Special Instances
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. 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, DAIC produces a check sheet warning that lists the handles of all nets with the same name.
E-4
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Index
Symbols
.chi, 8-6 .cir, 8-6 .COU, 8-6 .DOU, 8-6 .JWDB, 8-6 .spi, 8-6 .WDB, 8-6 viewing, 11-3, 11-4 Bits extracting from bus, E-2 Boundaries resizing, 6-28 Branches selection, 2-15 Bundles connected to ports, 4-18 net, 3-3, 3-26 Bus ripper, E-2 connecting, 3-41 creating implicit rippers, 3-44, 3-45 extracting lines, 3-40 installing, 3-39 instantiation, 3-44 using the automatic 1x1, 3-44 Buses, 3-26 bus_net_name, 3-32 connected sub-bus, 3-40 connections, 3-32 creating, 3-32 indicating width, 3-30, 7-5 least significant bit (lsb), 3-33 most significant bit (msb), 3-33 multi-dimentional, 3-35 representing graphically, 3-35
A
Adding FB Pins, 6-19 Adding forces, 8-17 Adding Panels, 2-47 Adding properties in Design Context, 11-2 ADVance MS adms.ini file, 5-2, 8-10, 8-13 design library, 5-2 AMPLE_PATH, 14-12, 14-14 setting, 14-12 angled ripper, 3-12 Annotations reconnecting, 11-14 setting the color, 2-8 Applying Edits, 11-13 Assigning Properties, 7-25 Assigning Property Owners, 7-25 Auto ripper, 3-12 Auto Sequence Text, 3-42 Auto_ripper_mode, 3-13 Automatic Net Routing, 3-28 Automatic Placement Net Name, 3-11
C
Case-sensitivity symbol properties, 7-4 Check command setting up, 3-66, 4-18 Checking a model registration, 5-18 Checking forces, 8-19 Checks close dot, C-7 dangling net and pin, C-8 expression analysis, C-6 instance, C-11
B
Back annotation changing the color, 2-8, 7-6 creating, 11-17 editing, 11-17 expressions in, 11-11 merging, 11-4, 11-18
Index-1
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
instance overlap, C-7 notdots, C-7 parameter analysis, C-6 pin and port interface, C-10 required frame, C-6 required instance, C-3 required net, C-5 required property ownership, C-7 required special instance, C-4 required special symbol, C-2 required symbol body, C-2 required symbol pin, C-2, C-6 special instance, C-11 Class property, 7-21, E-2 Color changing for properties, 7-35 setting for design objects, 2-7 setting the annotation color, 2-8 setting the color configuration, 2-8 Colors setting on the fly, 6-30 Comment objects adding, 3-58 attributes, 3-60 convert objects to comments, 3-59 schematic sheets, 3-60 types, 3-59 uses, 3-59 Commlib, 1-3 Compiling models for ADVance MS, 5-2 Component change references, 9-7 delete, 2-26 hierarchy window, 9-5 rename, 9-6 Component interface registration, multiple symbols, 4-19 reporting, 9-12 Component library choosing from, 3-17 Connecting a Bus Ripper, 3-41 Converting Electrical Objects to Comments, 3-62 Copy objects, 2-21, 2-22 objects between windows, 2-23 to an array, 2-23 Create a symbol pin list, 3-57 Create mode, 5-4 Creating a Bus, 3-32 Creating a Bus Ripper, 3-36 Creating Function Blocks adding Function Blocks Pins, 6-19, 12-6 Function Block Definition Prompt Bar, 6-8, 6-16 Function Block Definitions, 6-6 Creating Panels in Read-Only Mode, 2-48 Crossprobing schematics with Xelga, 8-135 Custom Hotkeys customizing, 13-9 defined, 13-1 loading, 13-12 usage, 13-9 Custom userware $add_library_menu_item(), 14-29 $add_or_replace_instance(), 14-30 $create_library_menu(), 14-27 $prompt_for_diagram_location(), 14-31 .ample files, 14-19 .dofile, 14-19 adding a palette menu, 14-33 AMPLE_PATH, 14-12, 14-14 DES_ARCH_AUX_PKGS_LIST, 14-18, 14-19 DES_ARCH_PKGS_TO_LOAD, 14-14 dofiles, 14-13 finding source, 14-11 loading, 14-11 personality modules, 14-14 schematic menu files, 14-21 scope specific dofiles, 14-13
D
DA-IC Editing Hotkeys defined, 13-1 loading, 13-4 usage, 13-3 DA-IC Startup Files, 14-8 Dangling net, 7-21 Default text editor
Design Architect-IC Users Manual, 2006.1
Index-2
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
MGC_SIM_EDITOR, 8-6 Delete, 2-26 Deleting a component, 2-26 Deleting a model registration, 5-24 Deleting forces, 8-18 Deleting Panels, 2-47 DES_ARCH_AUX_PKGS_LIST, 14-18, 14-19 DES_ARCH_PKGS_TO_LOAD, 14-14 Design Architect-IC exiting, 2-4 printing, 2-32 Design checking, C-1 close dot checks, C-7 dangling net and pin checks, C-7 expression analysis checks, C-6 frame checks, C-6 init property checks, C-8 instance checks, C-3, C-10 instance overlap checks, C-7 net checks, C-5, C-11 parameter analysis checks, C-6 property ownership checks, C-7 required special symbol checks, C-2 required symbol body checks, C-2 special instance checks, C-4, C-11 Design Context add properties, 11-2 locking sheet for edits, 11-19 merge back annotations, 11-4 opening a non-existant component, 11-19 opening a non-existant schematic, 11-19 view properties, 11-3 Design Management change component references, 9-7 configuration build, 9-9 delete design object, 2-26 object checking, 9-9 reference checking, 9-9 release a design, 9-7 rename design object, 9-6 verification, 9-10 versions, 9-8 viewing hierarchy, 9-5 Design Navigation, 3-70 closing a multiple sheet schematic, 3-73 left arrow button, 3-70 multiple page icon button, 3-70, 3-71 navigating multi-sheet schematics, 3-71 right arrow button, 3-70 Design Viewpoints applying edits, 11-13 evaluating properties, 11-8 Device Lib, 1-3 Drawing Arc, 4-5 circle, 4-6 dot, 4-6 line, 4-7 polygon, 4-8 polyline, 4-7 rectangle, 4-8 Dynamic Cursor setting the shape, 2-8
E
Edit mode, 5-6 Editing forces, 8-18 Environment variable $WORK, 5-2 Environment variables AMPLE_PATH, 14-12 ANACAD, 8-135 Component Libraries, 1-3 DES_ARCH_AUX_PKGS_LIST, 14-18, 14-19 DES_ARCH_HIDE_BA_ONLY_PROPS, 11-2 DES_ARCH_PKGS_TO_LOAD, 14-14 HOME, 11-2, 14-8 MGC_HOME, 14-8 MGC_SIM_EDITOR, 8-6 MGC_WD, 2-4, 14-8 userware, 14-20 Error checking annotations, C-8 close dot checks, C-7 dangling net and pin checks, C-7 expression analysis checks, C-6 frame checks, C-6 init property checks, C-8
Index-3
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
instance checks, C-3, C-10 instance overlap checks, C-7 net checks, C-5, C-11 parameter analysis checks, C-6 property ownership checks, C-7 reports, 9-14 required special symbol checks, C-2 required symbol body checks, C-2 special instance checks, C-4, C-11 Expressions, 7-13 Expressions in back annotation objects, 11-11 External Port, E-1 selecting, 6-26 FB Objects selecting, 6-26 FB Pins adding, 6-19 FB Definition pin naming, 12-7 FB Definition Pins usage, 12-7 FB Instance Pins usage, 12-7 selecting, 6-26 Wide Nets connected to, 12-7 Flip objects, 2-28 Forces, 8-17 Frames, 3-63, 3-64 setting parameters, 3-65 Frexp property, 7-22 CASE value, 7-23 FOR value, 7-23 IF value, 7-25 OTHERWISE value, 7-23 Function Block Definition Prompt Bar FB Name, 6-8, 6-16 INST Name, 6-8, 6-16 Name Placement, 6-9, 6-17 Function Block Objects changing colors, 6-30 checking, 6-37 defined, 12-1 development states, 12-2 FB Definition, 12-1 FB Instance, 12-1 made, 12-2 Made FB Definition, 12-1 Made FB Instance, 12-1 resizing, 6-28 symbol instance, 12-3 unmade, 12-2 Function Block Properties defined, 12-3 FB_DEF, 12-3 FB_INST, 12-3 FB_NAME, 12-3 FB_PIN_DIRECTION, 12-3 Function Block Setup, 6-2 Function Block Usage connected model, 12-11
F
FB Definition adding or removing internal objects, 6-27 as source object, 12-4 boundary, 12-5 checking, 6-37 converting from FB Instance, 6-26 defined, 12-1 example of, 12-4 FB Pins, 12-5 FB_INST property, 12-5 FB_NAME property, 12-5 resizing, 6-28 usage, 12-2 FB Definition Creation, 6-5 FB Definitions creating, 6-6 manipulating, 6-25 selecting, 6-26 FB Instance boundary, 12-6 checking, 6-37 defined, 12-1 example of, 12-5 FB_INST property, 12-6 FB_INST property usage, 12-6 FB_NAME property, 12-6 resizing, 6-28 usage, 12-2 FB Instances converting to FB Definition, 6-26 creation, 6-11 manipulating, 6-25
Index-4
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
defined, 12-9 net constructs, 12-14 two-step process, 6-1 unconnected model, 12-10 Function Blocks Add Popup Menu, 6-6 adding Function Blocks Pins, 6-19, 12-6 Definitions, 6-6 Function Block Definition Prompt Bar, 6-8, 6-16 INST Name, 6-8, 6-16 terminology, 12-4 Functional blocks, 3-49 Functions $add_library_menu_item(), 14-29 $add_or_replace_instance(), 14-30 $ask_scope_frame_name(), 14-7 $copy_edit_hotkey_settings(), 15-5 $create_library_menu(), 14-27 $define_hotkey(), 15-6 $dofile(), 14-11 $get_hotkey_mode(), 15-8 $get_hotkey_settings(), 15-9 $load_hotkey_settings(), 15-10 $load_userware(), 14-11 $mgc_add_or_replace_instance(), 14-30 $prompt_for_diagram_location(), 14-31 $report_hotkey_settings(), 15-12 $set_hotkey_mode(), 15-14 $window_scope_name(), 14-7 Menu, 13-2 reporting status, 13-13 scopes, 13-1 types, 13-1 HotPlot, 2-32, 2-41
I
IC Station, 3-91 Implicit ripper examples, E-3 Implict ripper, 3-12 Import Verilog, 3-75 Importing Verilog, 3-75 INST Name, 6-8, 6-16 Inst property, 7-22 character restrictions, 7-5 Instance, 3-2 instantiation, 3-2 placing, 3-17 repeating, 3-24 replace, 3-22, 3-23 resizing, 2-24 selection, 2-15 special, 3-2 updating, 3-22 Instantiation, 3-2 1x1 bus ripper, 3-44 Invocation from DA-IC, 2-2 from operating shell, 2-3 IC Station, 3-91
G
Generic Lib, 1-3 Global property, 7-21 Globals, E-4
J
Joining sliced objects, 4-9
L
Language File Opening, 3-7 opening, 3-7 Loading personality modules, 14-14
H
Handles, 2-30 Hidden Symbol Property Text, 2-11 Hotkeys bypassing, 13-1 default set, 13-5 defined, 13-1 disabling, 13-13 enabling, 13-13 function summary, 15-1
Design Architect-IC Users Manual, 2006.1
M
made defined, 12-2 Made FB Definition checking, 6-37 defined, 12-1
Index-5
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Made FB Definitions creating, 6-31 unmaking, 6-34 Made FB Instance checking, 6-37 defined, 12-1 Made FB Instances unmaking, 6-35 Made FB Intances creating, 6-31 Made Function Blocks creation of, 12-9 explanation, 12-8 hierarchy, 12-8 made FB Definition, 12-9 Made FB Instance, 12-9 Manage mode, 5-5 Manipulate graphical objects copy to an array, 2-23 select, 2-14 Manipulating Graphical Objects repeat moving, 2-21 Manipulating graphical objects basepoint change during move, 2-19, 2-20, 2-21, 2-22 Menus $add_library_menu_item(), 14-29 $add_or_replace_instance(), 14-30 $create_library_menu(), 14-27 adding a palette, 14-33 library, 14-21 Name Nets, 3-47 Palette Popup, 3-23 Window, 2-4 Merging annotations, 11-4 MGC_SIM_EDITOR, 2-8, 8-6 Model editor specifying, 2-9 Model Registrar exiting, 5-25 overview, 5-3 Model Registration Displaying/Editing Registered Models in Simulation Mode, 8-71 Model registration, 5-1 add as property, 5-14 checking, 5-18 choosing a model, 5-6 component field, 5-11 copying, 5-23 creating, 5-4 default, 5-17 deleting, 5-24 Edit Mapping, 5-11 editing, 5-6, 5-20 editing an existing symbol, 5-8 exiting, 5-25 from a symbol, 5-13 generating a symbol for a model, 5-9 invoking, 5-3 managing, 5-5 map by name, 5-14 map selected, 5-15 mapping a model to a symbol, 5-14 naming a model, 5-11 Open Symbol, 5-12 pins and properties, 5-14 ports and parameters, 5-14 registering a model to an existing symbol, 5-8 renaming, 5-22 restoring, 5-24 supported models, 5-2 symbol layout properties, 5-10 Symbol list box, 5-12 unmap all, 5-15 unmap selected, 5-15 viewing registered models, 5-17 Model selection, 8-65 Move objects, 2-19, 2-20 objects between windows, 2-21 repeat, 2-21 Multi-Dimentional Buses, 3-35
N
Naming Nets Automatic Placement, 3-11 Net, 3-26 dangling, 3-31, 7-21 Net Bundles, 3-3, 3-26
Design Architect-IC Users Manual, 2006.1
Index-6
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
creating, 3-47 naming, 3-47 rip members, 3-48 Net connector, E-1 Net naming syntax, 3-29 Net property, 7-22 character restrictions, 7-5 Net router, 3-28 Net vertices connecting, 3-28 disconnecting, 3-28 netcon, E-1 Netlist file (.spi), 8-6 Netlisting EldoNet, 3-85 Netlisting a Schematic, 3-85 Nets attributes, 3-9 auto_ripper_mode, 3-13 auto_route_mode, 3-28 connecting, 3-28 construction of, 6-21 creating external nets, 6-24 creating flythru nets, 6-25 creating internal nets, 6-22 creating passthru nets, 6-25 disconnecting, 3-28 drawing, 3-26 External Nets, 12-16 Flythru Nets, 12-17 Internal FB Definition Nets, 12-15 moving net names, 3-31 naming, 3-30 Passthru Nets, 12-16 renaming, 3-30 renaming all segments, 3-30 routing, 3-26, 3-28 selecting attached, 2-16 terminating dangling net, 3-31 valid dangles, 3-31 No default ripper, 3-12 Notdot defined, 3-28 Null instance, E-4
O
Object handles, 2-30 Off-page connector, 3-53, E-1 Opening a Language File, 3-7 Opening a Non-Existant Component in Design Context, 11-19 Opening a Non-Existant Schematic in Design Context, 11-19 Opening multiple sheets, 3-6 Operating Procedures CASE frames, 3-62 FOR frames, 3-62 IF frames, 3-62
P
Palette adding a palette menu, 14-33 Library, 14-33 Palettes popup menu, 3-23 Panels adding, 2-47 creating in Read-only mode, 2-48 deleting, 2-47 printing in Read-only mode, 2-48 viewing, 2-47 Parameter definition of, 7-12 setting, 3-65 Personality modules, 14-14 loading, 14-14 Pin grid, 4-3 spacing, 4-3 Pin Bundle adding, 4-16 naming, 4-16 Pin list, 3-57 Pin naming syntax, 3-29 Pin property, 7-22 character restrictions, 7-5 Pins selecting attached, 2-16 Pivot objects, 2-27 Plotting Simulation Results, 8-78
Index-7
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
difference, 8-78, 8-81 Polygons making from polylines, 4-9 Port, E-2 Printing all sheets in a hierarchy, 2-32, 2-36, 2-45 configuration, 2-46 From Schematic Editor window, 2-41 From Symbol Editor window, 2-39, 2-45 Print/Export, 2-44 Print/Plot, 2-46 Schematic sheet, 2-41 Schematics with protected objects, 2-46 Printing in Design Architect, 2-32 Printing Panels in Read-Only Mode, 2-48 Properties adding multiple, 7-29, 7-36 adding single, 7-28 AMPLE, 7-13 attribute_modified, 7-9 auto_update_mode, 3-22 automatic update, 7-11 case-insensitve, 7-4 case-sensitive, 7-4 changing attributes, 7-34 changing hidden symbol property text, 2-11, 7-36 changing the color, 7-35 changing values, 7-32 character restrictions, 7-5 dangling nets, 3-31 deleting, 7-30 deleting owners, 7-31 evaluating, 11-8 in context of a design, 11-2 introduction, 7-1 listing information, 7-32 logical symbol, 7-7 mark property attributes, 7-9 mark property value, 7-10 merge options, 7-10 name restrictions, 7-4 names versus values, 7-3 net, 3-30 parameters, 7-12 propagation, 7-21 repeat adding, 7-30 setting attributes, 7-26 setting owners, 7-31 stability switches, 7-7 structure, 7-2 symbol, 7-6 types, 7-3 update switches, 7-10 updating, 3-22, 7-8 value restrictions, 7-4 value_modified, 7-9 viewing evaluated, 11-18 visibility switches, 7-8 Properties variable resolution examples, 7-16 facts, 7-16 Property attributes, 7-26 Property concepts, 7-1 introduction to, 7-1 structure, 7-2 Property ownership, 7-2
R
Reconnecting Annotations, 11-14 Removing Comment Status, 3-62 Reopening a selection set, 2-18 Repeating instances, 3-24 Replacing properties, 3-22 Report Groups, 2-25 Reporting forces, 8-19 Reporting on check status, 9-14 objects, 9-13 Reselecting a selection set, 2-18 Resizing Instances, 2-24 Ripper angled, 3-12 auto, 3-12 auto_ripper_mode, 3-13 creating a bus ripper, 3-36 implicit, 3-12 no default, 3-12 straight, 3-12 Ripping
Design Architect-IC Users Manual, 2006.1
Index-8
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
bits from bus, E-2 bits from two-dimensional bus, E-2 Ripping Members from Net Bundles, 3-48 Rotate objects, 2-27 Routing automatic net, 3-28 Rule property, 7-22 Nets with the same name, 2-16 object name, 2-16 Setting the mouse behavior, 2-10 Selection filters setting, 2-18 Selection Set reopening, 2-18 reselecting, 2-18 Sequence Text, 3-42 Setup Mouse Selection Behavior, 2-10 Sheets error checking, 3-66 opening multiple, 3-6 viewing capabilities, 2-31 viewing entire, 2-31 viewing portions, 2-31 viewing the contents, 2-30 Simulation output file (.chi), 8-6 overview, 8-1 plotting difference, 8-78, 8-81 plotting results, 8-78 requirements, 8-5 results file (.wdb, .cou, .dou), 8-6 running, 8-6 Simulation command file (.cir), 8-6 Simulation setup auto-close windows, 8-13 procedure, 8-12 single-click, 8-13 SLD properties Class, 7-21 Frexp, 7-22 Global, 7-21 Inst, 7-22 Net, 7-22 Pin, 7-22 Rule, 7-22 Slicing graphic objects, 4-9 Sources Lib, 1-3 Special instances, 3-2 bus ripper, 3-36 net connector, 3-46 using off-page connectors, 3-53
S
Schematic adding comment objects, 3-58 auto_ripper_mode, 3-13 auto_update_mode, 3-6 convert comment objects to symbol, 3-61 creating a bus, 3-32 creating a sheet for a symbol, 3-51 creating a symbol for, 3-54 creating additional sheets, 3-52 creating CASE frames, 3-64 creating FOR frames, 3-63 creating IF frames, 3-64 functional blocks, 3-49 grid snap, 3-8 grid spacing, 3-8 net attributes, 3-9 new sheet, 3-5 open down, 3-54 opening a sheet, 3-5 placing symbol, 3-17 registering, 3-69 reporting on objects, 9-13 saving, 3-69 setting edit environment, 3-7 Schematic Editor library menus, 14-21 Schematic Sheets creating comment objects, 3-60 Scopes finding name, 14-7 hierarchy, 14-2 Selecting Multiple Objects, 2-14 Selection attached branches, 2-15 attached instances, 2-15 attached nets, 2-16 attached pins, 2-16
Design Architect-IC Users Manual, 2006.1
Index-9
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
using port symbols, 3-53 Startup files, 14-8 straight ripper, 3-12 Symbol add pins, 4-10 adding multiple pins, 4-11 adding single pin, 4-10 bus ripper, 3-38 consecutive pins, 4-11 convert comment objects to symbol, 3-61 create from schematic, 3-51 draw symbol body, 4-5 edit sheet of, 3-54 joining sliced parts, 4-9 opening, 4-3 pin names, 4-10 pin spacing, 4-3 placing, 3-17 registering, 4-19 registering multiple symbols, 4-19 reporting on objects, 9-13 saving, 4-19 setting edit environment, 4-3 slicing, 4-9 symbol body attributes, 4-3 Symbol layout properties, 5-10 Symbol properties logical symbol, 7-6 stability switches, 7-7 update switches, 7-10 visibility switches, 7-8 Symbol registration, 4-19 Symbol window pulldown menu bar, 4-2 everything, 2-18 multiple objects, 2-17 single object, 2-17 Updating properties, 3-22 attribute_modified, 7-9 auto option, 7-10 auto_update_mode, 3-22, 7-11 automatic, 7-11 clear option, 7-10 default, 7-11 during open sheet, 7-11 examples, 7-11 instance of symbol, 7-8 instance option, 7-10 mark property value, 7-9, 7-10 merge options, 7-10 symbol option, 7-10 value_modified, 7-9 User-Defined Hotkeys Define Hotkey Dialog Box, 13-7 defined, 13-1 defining, 13-6 loading, 13-8 location, 13-7 naming syntax, 13-7 usage, 13-5 Userware finding source, 14-11 loading, 14-11 Using the Dialog Navigator, 2-13
V
Valid dangling nets, 3-31 Value_Modified flag, 7-9 Verilog importing, 3-75 Versions, 9-8 View design centered, 2-31 selected, 2-31 zoom in, 2-31 zoom out, 2-32 View properties in design context, 11-3 Viewing Panels, 2-47 Viewing registered models, 5-17
T
Text auto sequence, 3-42
U
Ungroup Objects, 2-25 unmade defined, 12-2 Unmade Function Blocks defined, 12-4 FB Definition, 12-4 Unselection
Index-10
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z W
Waveforms viewing, 8-1 Windows copying objects between, 2-23 moving objects between, 2-21
Index-11
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Index-12
END-USER LICENSE AGREEMENT (Agreement) This is a legal agreement concerning the use of Software between you, the end user, 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). Except for license agreements related to the subject matter of this license agreement which are physically signed by you and an authorized representative of Mentor Graphics, this Agreement and the applicable quotation contain the parties' entire understanding relating to the subject matter and supersede all prior or contemporaneous agreements. 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. 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, objectcode form; (b) for your internal business purposes; (c) for the term; and (d) on the computer hardware and at the site 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 purchased, apply to the following: (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 technically implemented through the use of authorization codes or similar devices); and (c) support services provided, including eligibility to receive telephone support, updates, modifications, and revisions. EMBEDDED SOFTWARE. If you purchased a license to use embedded software development (ESD) Software, if applicable, 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, incorporate or embed copies of Mentor Graphics' real-time operating systems or other embedded software products into your products or applications without first signing or otherwise agreeing to 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 conceived or made during or subsequent to this Agreement, including those based partly or wholly on your feedback, will be the exclusive property of Mentor Graphics. Mentor Graphics will have exclusive rights, title and interest in all such property. The provisions of this section 3 shall survive the termination or expiration of this Agreement.
2.
3.
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 on-site contractors, excluding Mentor Graphics' competitors, whose job performance requires access and who are under obligations of confidentiality. 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, reverse-compile, 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 then-current 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 terms of this Agreement, including without limitation, the licensing and assignment provisions shall be binding upon your successors in interest and assigns. 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 improper 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.
5.
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. 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.
7.
8.
9.
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 IS SUBJECT TO SECTION 6 ABOVE AND 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.
10. TERM. This Agreement remains effective until expiration or termination. All obligations and liabilities stated to or which by their nature are intended to survive the termination of this Agreement will be effective after termination. This Agreement will immediately terminate upon notice if you exceed the scope of license granted or otherwise fail to comply with the provisions of Sections 1, 2, or 4. For any other material breach under this Agreement, Mentor Graphics may terminate this Agreement upon 30 days written notice if you are in material breach and fail to cure such breach within the 30 day notice period. 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 herein. 14. AUDIT RIGHTS. You will monitor access to, location and use of Software. With reasonable prior notice and during your normal business hours, Mentor Graphics shall have the right to review your software monitoring system and reasonably relevant records to confirm your compliance with the terms of this Agreement, an addendum to this Agreement or U.S. or other local export laws. Such review may include FLEXlm report log files that you shall capture and provide at Mentor Graphics request. Mentor Graphics shall treat as confidential information all of your information gained as a result of any request or review and shall only use or disclose such information as required by law or to enforce its rights under this Agreement or addendum to this Agreement. The provisions of this section 14 shall survive the expiration or termination of this Agreement.
15. CONTROLLING LAW AND JURISDICTION. THIS AGREEMENT SHALL BE GOVERNED BY AND CONSTRUED UNDER THE LAWS OF THE STATE OF OREGON, USA, IF YOU ARE LOCATED IN NORTH OR SOUTH AMERICA, AND THE LAWS OF IRELAND IF YOU ARE LOCATED OUTSIDE OF NORTH OR SOUTH AMERICA. All disputes arising out of or in relation to this Agreement shall be submitted to the exclusive jurisdiction of Portland, Oregon when the laws of Oregon apply, or Dublin, Ireland when the laws of Ireland 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. The United Nations Convention on Contracts for the International Sale of Goods does not apply to this Agreement. 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. PAYMENT TERMS AND MISCELLANEOUS. You will pay amounts invoiced, in the currency specified on the applicable invoice, within 30 days from the date of such invoice. Any unpaid invoices will be subject to the imposition of interest charges in the amount of 1% per month or the applicable legal rate currently in effect, whichever is lower. 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. Rev. 050602, Part No. 225434