Beruflich Dokumente
Kultur Dokumente
Copyright Mentor Graphics Corporation 2003 All rights reserved. This document contains information that is proprietary to Mentor Graphics Corporation. The original recipient of this document may duplicate this document in whole or in part for internal business purposes only, provided that this entire notice appears in all copies. In duplicating any part of this document, the recipient agrees to make every reasonable effort to prevent the unauthorized use and distribution of the proprietary information.
This document is for information and instruction purposes. Mentor Graphics reserves the right to make changes in specifications and other information contained in this publication without prior notice, and the reader should, in all cases, consult Mentor Graphics to determine whether any changes have been made. The terms and conditions governing the sale and licensing of Mentor Graphics products are set forth in written agreements between Mentor Graphics and its customers. No representation or other affirmation of fact contained in this publication shall be deemed to be a warranty or give rise to any liability of Mentor Graphics whatsoever. MENTOR GRAPHICS MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. MENTOR GRAPHICS SHALL NOT BE LIABLE FOR ANY INCIDENTAL, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING BUT NOT LIMITED TO LOST PROFITS) ARISING OUT OF OR RELATED TO THIS PUBLICATION OR THE INFORMATION CONTAINED IN IT, EVEN IF MENTOR GRAPHICS CORPORATION HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. RESTRICTED RIGHTS LEGEND 03/97 U.S. Government Restricted Rights. The SOFTWARE and documentation have been developed entirely at private expense and are commercial computer software provided with restricted rights. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions set forth in the license agreement provided with the software pursuant to DFARS 227.72023(a) or as set forth in subparagraph (c)(1) and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is: Mentor Graphics Corporation 8005 S.W. Boeckman Road, Wilsonville, Oregon 97070-7777. This is an unpublished work of Mentor Graphics Corporation.
Table of Contents
Table of Contents
About This Manual ............................................................................................xxix Manual Organization .........................................................................................xxix Other Resources.................................................................................................xxxi Chapter 1 Introducing DA-IC .............................................................................................. 1-1 DA-IC Overview ................................................................................................ 1-1 DA-IC Features................................................................................................... 1-2 IC-Specific Component Libraries....................................................................... 1-4 DA-IC Design Flow............................................................................................ 1-5 Chapter 2 Getting Started .................................................................................................... 2-1 DA-IC Environment ........................................................................................... 2-2 Invoking DA-IC from Design Manager-IC ........................................................ 2-2 Invoking DA-IC From an Operating Shell ......................................................... 2-3 Exiting DA-IC .................................................................................................... 2-4 Getting Online Help............................................................................................ 2-4 Setting Up the DA-IC Session ............................................................................ 2-5 Setting Up Display Preferences .......................................................................... 2-7 Setting the Color of Design Objects................................................................. 2-7 Setting the Background Color.......................................................................... 2-8 Setting the Dynamic Cursor ............................................................................. 2-9 Setting the Default Text Editor........................................................................... 2-9 Setting up a Language Model Editor .................................................................. 2-9 Setting the Mouse Selection Behavior.............................................................. 2-10 Setting the Property Display ............................................................................. 2-11 Setting the Display Background Color .......................................................... 2-12 Setting the Show Property Name Display...................................................... 2-14 Browsing for Files ............................................................................................ 2-14 Selecting and Unselecting Objects ................................................................... 2-15 Selecting a Single Object ............................................................................... 2-16 Selecting Multiple Objects............................................................................. 2-16
iii
Table of Contents
iv
Table of Contents
Table of Contents
vi
Table of Contents
vii
Table of Contents
viii
Table of Contents
ix
Table of Contents
Table of Contents
xi
Table of Contents
xii
Table of Contents
xiii
Table of Contents
xiv
Table of Contents
xv
Table of Contents
xvi
Table of Contents
xvii
Table of Contents
xviii
Table of Contents
xix
Table of Contents
xx
Table of Contents
List of Figures
Figure 1-1. DA-IC Design Flow ........................................................................ 1-6 Figure 2-1. Design Manager-IC Session Window............................................. 2-3 Figure 2-2. Session Setup Dialog Box............................................................... 2-6 Figure 2-3. Setup Display Dialog Box .............................................................. 2-7 Figure 2-4. Setup Selection Dialog Box .......................................................... 2-11 Figure 2-5. The Setup Property Display dialog box ........................................ 2-13 Figure 2-6. Selecting a Single Object .............................................................. 2-16 Figure 2-7. Selecting Multiple Objects............................................................ 2-17 Figure 2-8. Unselecting Multiple Objects ....................................................... 2-21 Figure 2-9. Result of Copy Multiple................................................................ 2-25 Figure 2-10. Result of Copy to Array .............................................................. 2-26 Figure 2-11. Schematic Window Strokes ........................................................ 2-34 Figure 3-1. Schematic Sheet .............................................................................. 3-5 Figure 3-2. Open (new) Sheet Options Dialog Box .......................................... 3-7 Figure 3-3. Setup Grid Dialog Box.................................................................. 3-10 Figure 3-4. Setup Objects Dialog Box............................................................. 3-12 Figure 3-5. Setup Objects Ripper Dialog Box................................................. 3-14 Figure 3-6. Setup Objects Design Context Dialog Box................................... 3-16 Figure 3-7. Setup Objects Comment Dialog Box ............................................ 3-18 Figure 3-8. A Bus Connected to a Four-Wide Output Port ............................. 3-31 Figure 3-9. Add Multiple Properties Dialog Box ............................................ 3-34 Figure 3-10. A Multi-Dimensional Bus........................................................... 3-35 Figure 3-11. A 8x1 Bus Ripper from $MGC_IC_GENERIC_LIB/rip ........... 3-37 Figure 3-12. Bus Ripper Symbol ..................................................................... 3-39 Figure 3-13. Installing a Bus Ripper................................................................ 3-40 Figure 3-14. A Bus with a Connected Sub-Bus............................................... 3-41 Figure 3-15. A Bus Ripper Extracts a Range of Lines .................................... 3-42 Figure 3-16. Basic Layout ............................................................................... 3-43 Figure 3-17. The Sequence Text dialog box.................................................... 3-44 Figure 3-18. Fully Connected Bus Ripper ....................................................... 3-45 Figure 3-19. Choose Bundle Member Dialog Box .......................................... 3-53 Figure 3-20. Generate Symbol Dialog Box ..................................................... 3-55 Figure 3-21. Open Schematic Options Dialog Box ......................................... 3-57 Figure 3-22. Generate Symbol Dialog Box ..................................................... 3-61 Figure 3-23. FOR Frame Example .................................................................. 3-70
xxi
Table of Contents
xxii
Table of Contents
xxiii
Table of Contents
xxiv
Table of Contents
xxv
Table of Contents
List of Tables
Table 1-1. Library Environment Variables ........................................................ 1-4 Table 2-1. Schematic Objects to Symbol Objects ........................................... 2-27 Table 2-2. Symbol Objects to Schematic Objects ........................................... 2-28 Table 3-1. Available Bus Rippers in $MGC_IC_GENERIC_LIB/rip .......... 3-37 Table 3-2. Pin and Bus Line Connections ..................................................... 3-46 Table 5-1. Example Registration Argument Values ........................................ 5-31 Table 5-2. Default Values for Optional Arguments ........................................ 5-32 Table 6-1. Function Block-Specific Properties ................................................. 6-6 Table 7-1. Property Structure ............................................................................ 7-3 Table 7-2. Property Update Examples ........................................................... 7-17 Table 7-3. DA-IC Objects Associated with Specific SLD Properties ............. 7-26 Table 7-4. Structured Logic Design Properties ............................................. 7-26 Table 8-1. Supported Simulation Language Types ........................................... 8-5 Table 8-2. Parameters Supported by Type ...................................................... 8-27 Table 8-3. Model Selector Model-Type Icons ................................................. 8-78 Table 8-4. VHDL-AMS Converter Properties ............................................... 8-131 Table 8-5. SPICE Converter Properties ......................................................... 8-132 Table 11-1. Where Properties are Added ........................................................ 11-3 Table 11-2. Property Values Displayed ........................................................... 11-4 Table 12-1. Function Block Terminology ....................................................... 12-3 Table 12-2. Function Block Properties ............................................................ 12-4 Table 14-1. Customization Tasks Categorized by Re-work Level .................. 14-3 Table 14-2. Scopes Searched in each Window ............................................. 14-6 Table 14-3. Environment Variable Summary .............................................. 14-26 Table 15-1. Function Summary ....................................................................... 15-1 Table A-1. DA-IC Hotkey Set ...........................................................................A-1 Table B-1. Hotkey Commands ..........................................................................B-1 Table D-1. Window Name Changes ..................................................................D-2 Table D-2. Session Scope Menu Changes .........................................................D-3 Table D-3. Schematic Scope Menu Changes ....................................................D-3 Table D-4. Symbol Scope Menu Changes .........................................................D-4 Table D-5. Remapped Softkeys .........................................................................D-5 Table D-6. Executable Filename Changes .........................................................D-7 Table D-7. Header Filename Changes .............................................................D-10 Table D-8. New IC Libraries ...........................................................................D-11
xxvi
xxvii
Table of Contents
xxviii
This manual describes the Design Architect-IC application and provides procedures for creating and simulating analog, RF, and mixed signal designs. This manual is intended to help novice users create, edit, and simulate designs using the menu interface.
Manual Organization
This manual contains the following chapters:
xxix
Manual Organization
Appendix C Design Checks - Lists all the design checks available for
schematic, symbol, and interface checking.
xxx
Other Resources
Other Resources
Task To learn about online documentation To learn about searching manuals To find related IC Flow manuals To learn documentation conventions Link Online Documentationa Searching Manualsa Related Publicationsa Documentation Conventionsa
To learn about the Support Pulldown Menu Using the Support Menub
a. Refers to sections in the Managing Mentor Graphics IC Flow Software manual b. Refers to sections in the IC Flow Common User Interface manual
xxxi
Other Resources
xxxii
This chapter introduces the Design Architect-IC (DA-IC) features and design flow. The following topics are available:
DA-IC Overview DA-IC Features IC-Specific Component Libraries DA-IC Design Flow
DA-IC Overview
Design Architect-IC (DA-IC) is a full schematic capture application with a multilevel environment designed to optimize the creation of integrated circuits. DA-IC is used to create and simulate analog, RF, and mixed signal schematic designs. DA-IC provides an open architecture which allows you to customize the application to fit your specific needs. For more information on customizing DAIC, see the IC Flow Common User Interface Manual and Design Architect-IC Reference Manual. Depending on the application, one or more of the following separately licensed components are required for the integrated simulation functions:
Eldo or HSPICE
Analog simulator applications. One is required for analog simulations.
Eldo RF
Simulator application required for RF simulations.
1-1
DA-IC Features
Introducing DA-IC
Xelga Viewer
Waveform viewer used for analog, digital, RF, and mixed signal waveforms.
ADVance-MS
Simulation application required for mixed-signal simulations.
DA-IC Features
DA-IC provides the following features:
Allows you to capture and verify working schematic designs. For more
information, see Chapter 3 Creating Schematics.
Supports stroke and function key shortcuts. For more information, see
the IC Flow Common User Interface Manual.
Allows you to specify hierarchical designs using top-down and bottomup methods. For more information, see Chapter 12 Function Block Concepts and Chapter 3 Creating Schematics.
Provides predefined component libraries. For more information, see ICSpecific Component Libraries in this chapter.
Supports analog, RF, and mixed signal designs. Allows editing in the context of a design viewpoint allowing different
design processes to occur simultaneously. For more information, see Chapter 11 Editing in Design Context.
1-2
Introducing DA-IC
DA-IC Features
1-3
Introducing DA-IC
Device Lib - Provides symbols that represent primitive analog devices used
in IC design, such as resistors and capacitors.
Sources Lib - Provides symbols that represent different voltage and current
sources.
Ask your system administrator where to find a location map and how to set your environment variables. For more information on location maps, see Design Management with Location Maps in the Design Manager-IC User's Manual.
1-4
Introducing DA-IC
1-5
Introducing DA-IC
Lib Components
Symbols
Simulation Stimulus
6. Run simulation.
1-6
Introducing DA-IC
The design flow for developing a typical schematic design is described in the following steps: 1. Capture/edit schematic design. Use the Schematic editor and Symbol editor to create and edit your design including symbols, Function Blocks, and property annotations. Use Mentor Graphics library components or create your own unique component models. For more information, see:
o Chapter 12 Function Block Concepts o Chapter 3 Creating Schematics o Chapter 4 Creating Symbols o Chapter 7 Using Properties
2. Check design for errors. Use DA-IC error checking to verify the schematic is a valid working circuit that can be used by other design processes. For more information, see Checking a Schematic for Errors in Chapter 3. 3. Create design configuration. The design configuration consists of a design viewpoint and its backannotation object. The design viewpoint is a versioned representation of the schematic that contains configuration rules to define how the simulator or other downstream application interprets the schematic. For more information, see Chapter 11 Editing in Design Context. 4. Set up the simulation. From the palette menu in simulation mode, you can specify many setup conditions including the stimulus to use and simulator commands to run. The setups you specify are translated into commands for the simulator and placed in an ASCII simulator command file. The command file is used by
1-7
Introducing DA-IC
the simulator. You can modify the setup as needed. For more information, see Chapter 8 Running Design Simulation. 5. Create design netlist. The netlist is an ASCII text representation of your schematic design required by the simulator. For more information on netlisting, see the EldoNet Users and Reference Manual. 6. Run simulation. The simulator uses the command file and netlist to simulate the design and writes the simulation results to waveform databases. A waveform database is a binary format of the waveforms that represent a signal's activity. For more information, see Chapter 8 Running Design Simulation. 7. View simulation results. Use Xelga or DA-IC View to graphically display the results of the simulation. For more information, see Chapter 8 Running Design Simulation. 8. Edit design and simulation setups. During the simulation session, you can modify design property values. For example, you can change the temperature, voltage, and analysis parameters to immediately affect the results of the simulation. For more information, see Chapter 8 Running Design Simulation. Some edits, such as property changes that are not related to other components on the schematic (W, L, RESISTANCE) are stored in a backannotation object until you merge them into the source schematic with the Merge option on the simulation palette. For more information, see Chapter 11 Editing in Design Context. 9. Repeat steps 5 through 8 until the design produces the desired simulation results.
1-8
Introducing DA-IC
10. Netlist your design for downstream applications such as IC Station. For more information on IC Station, see IC Station Users Manual.
1-9
Introducing DA-IC
1-10
This chapter introduces the Design Architect-IC (DA-IC) environment and provides basic information on the editing tools and setting up the user interface preferences. The following topics are available:
DA-IC Environment Invoking DA-IC from Design Manager-IC Invoking DA-IC From an Operating Shell Exiting DA-IC Getting Online Help Setting Up the DA-IC Session Setting Up Display Preferences Setting the Default Text Editor Setting up a Language Model Editor Setting the Mouse Selection Behavior Setting the Property Display Browsing for Files Selecting and Unselecting Objects Manipulating Graphical Objects Understanding Object Handles in DA-IC Changing the Design View Printing in DA-IC Using Panels Setting up an IFF Interface to ADS Schematics
2-1
DA-IC Environment
Getting Started
DA-IC Environment
DA-IC provides three editors as follows:
Schematic Editor
Allows you to edit and create schematics and function blocks. Also provides access to simulation mode and design context mode. The Schematic Editor is automatically invoked when you open/create a schematic from the session_palette menu.
Symbol Editor
Allows you to edit and create user-defined symbols. The Symbol Editor is automatically invoked when you open/create a symbol from the session_palette menu.
VHDL Editor
Allows you to edit and create VHDL models. The VHDL Editor is automatically invoked when you open/create an ASCII language file from the session_palette menu. Each editor operates in its own window within the Session window. Multiple windows for each editor can be open at the same time.
2-2
Getting Started
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.
2-3
Exiting DA-IC
Getting Started
No arguments are needed for invocation. You can specify a sheet or symbol to automatically open by entering a pathname with the command. If you provide a relative pathname that does not begin with the dollar sign ($) character, it is converted to an absolute pathname based on the value of the environment variable MGC_WD. You must ensure that the value of MGC_WD is set to the correct value for your current working directory. If it is not set properly, an incorrect pathname for the reference may be stored.
Note
For a complete list of switches available for the da_ic shell command, see Shell Command Dictionary in the Design Architect-IC Reference Manual.
Exiting DA-IC
Select MGC >Exit from the DA-IC Session pulldown menu to exit DA-IC. If other windows are open in the DA-IC session area with unsaved edits, you are prompted to save or discard the edits for each window. The DA-IC Session window closes when all other windows are closed.
Select the Help pulldown menu from any window. Select the Help button inside dialog boxes to get Quick Help specific to the
function you are performing.
Select the Ref Help button within Quick Help windows to display detailed
information from the Design Architect-IC Reference Manual for the function.
Enter an asterisk (*) in a prompt bar, and then press Ctrl-? or Ctrl-Shift-? to
list all the commands available for the active window. For more
2-4
Getting Started
information on using prompt bars, see the IC Flow Common User Interface Manual.
Show Menu Bar Show Session Title Show Message Area Show Status Line Show Softkey Area Show Symbol Window Show Context Window Show Palette Show Palette Scrollbars
3. Adjust the mouse Double Click Speed from slow to fast as needed. 4. Select the Window Layout you desire. Options available are Stacking, Up-Down Tiling, Quadrant Tiling, Left-to-Right Tiling, or Ask the User for Window Position.
2-5
Getting Started
2-6
Getting Started
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
Getting Started
Select colors for design objects as follows: 1. Click Display on the session_palette menu. The Setup Display dialog box displays. 2. Click the desired color in the list box. A preview of the color displays at the bottom of the list box. 3. Click the component(s) to display in that color. 4. Click OK. If you view a schematic sheet in the context of a design configuration, annotated property values display in red by default. You can change the color that annotated property values display in by selecting the Annotation option. Backannotated property values display in the selected color. If you click the No button on the dialog box, the annotation colors return back to their original colors. Use this color change for display purposes only; it is not saved when the sheet is saved.
2-8
Getting Started
Note
For example: If MGC_SIM_EDITOR=vi, DA-IC does not open an Xterm window and allow you to access the Vi editor. If MGC_SIM_EDITOR = xterm -e vi, DA-IC opens Vi in an Xterm window whenever the editor is invoked.
2-9
Getting Started
1. From the Session window, select Setup > Model Editor. The Setup Model Editor dialog box displays.
2. Specify the desired text editor for opening language models. Options include:
o Text Editor - Selects a text editor invoked with the command specified
in the Editor field. If no invoke command is specified in the Editor field, the default editor is used. For more information on the invoke commands and default editor, see Setting the Default Text Editor in this chapter.
o ADMS Editor - Selects the ADVance MS text editor.
3. Select Save > Setup to save the specified text editor as the default editor for language models. For more information on saving setups to a startup file, see $save_setup() in the Design Architect-IC Reference Manual and Chapter 10, Startup Files in the Ample for IC Flow Users Manual. For information on using the ADVance MS text editor, see Source window in the ADVance MS Users And Reference Manual.
2-10
Getting Started
1. Click the Selection option on the session_palette menu. The Setup Selection dialog box displays as shown in Figure 2-4.
Setup Selection
Selection Model Individual Additive
On
Off
Name Display
On
Off
OK
Reset
Cancel
Help
Figure 2-4. Setup Selection Dialog Box 2. Click Individual or Additive to specify the left mouse button selection behavior as follows:
Additive mode, each selection is added to the current selection set. Individual mode, only a single item can be selected. A previously
selected item is unselected when a new item is selected. 3. If necessary enable/disable the Out of View Warning option. When on, a warning displays when a selected object is outside the viewed area. 4. If necessary enable/disable the Name Display option. When on, the name of instances and nets are reported in the message area as they are selected.
2-11
Getting Started
rectangle as a background. The following sections provide information to allow you to modify the display of this rectangle.
2-12
Getting Started
Property Name
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
Figure 2-5. The Setup Property Display dialog box 3. Select either Solid or Stipple for the Background pattern then click OK.
2-13
Getting Started
2-14
Getting Started
The buttons to the right of the list are the navigation buttons. They let you explore and move through the directory structure. These buttons have the following meanings:
Explore Contents (down arrow). After you have selected an item from the
list, clicking the left mouse button navigates you down one level of hierarchy, and displays the contents of that directory, if hierarchy exists.
Explore Parent (up arrow) navigates one level up the hierarchy to the
parent directory, and displays the contents of that directory.
Explore References (right arrow) replaces the current display with the
references of the selected design object.
Explore Back to Parent (left arrow) navigates back to the design object
that holds the references currently displayed. That is, you return to the design object from which you originally explored references. This button is only activated when you have selected an object and explored its references (@ is the right-most character in the title bar).
Note
2-15
Getting Started
2-16
Getting Started
Figure 2-7. Selecting Multiple Objects The object types selected are controlled by the Selection Filter. Objects completely or partially intersected by the rectangle are selected. Each selected net vertex has a selection (bow tie) icon. The basepoint icon is a reference point for future selections. The select count in the status line reflects the number of selected objects.
2-17
Getting Started
2-18
Getting Started
2. Execute the following menu items: (Most popup menus) Select > Attached > Nets (Pulldown menu) Edit > Select > Attached > Nets 3. Hold the Ctrl key down, and reselect the object with the pointer and left mouse button. Alternatively, hold the Ctrl key down, and reselect by area. At this point, all the net components will be selected. 4. To select all nets with the same name as the selected net, hold the Ctrl key down again, and reselect the object. All nets with the same name are now selected.
2-19
Getting Started
3. The Select by Name Prompt bar appears. Type the INST, NET, or PIN property name of the object you want to select in the Names field, and select OK. Alternatively, you can enter names with wild cards using regular expression syntax. Use the following procedure: 1. Execute the popup menu in the Schematic session. 2. Execute the following menu items For instances, Select > By Name > Reg Expr: > Instances: For nets, Select > By Name > Reg Expr: > Nets: For pins, Select > By Name > Reg Expr: > Pins: 3. The Select by Name Prompt bar appears. Type the INST, NET, or PIN property name of the object you want to select in the Names field, and select OK. For instances and pins, only the object(s) that match the specified name are selected. For nets, all vertices and segments on nets that match the specified name are selected.
2-20
Getting Started
3. Move the cursor while still holding the function key. A dynamic rectangle is created which defines an area of the sheet. Manipulate the rectangle until it surrounds the objects to be unselected, then release the keys.
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-21
Getting Started
Moving Objects
To move objects from one position to another, perform the following steps: 1. Select the object(s) to be moved. For information about selecting and unselecting objects, refer to Selecting a Single Object in this chapter. 2. Choose the Move > Selected popup menu item. The Move prompt bar appears in the schematic window with the location cursor on To Location. The moving cursor also appears when you move the mouse into the active window. To alter the basepoint while moving multiple objects, activate the Move prompt bar either by the Move Stroke or the Move > Selected popup menu item. Once the Move prompt bar appears, type the letter c. The Basepoint prompt bar appears over the Move prompt bar. Move the cursor to the desired location, and set the new basepoint by pressing the left mouse button. To finish moving the objects, proceed to Step 4. 3. Using the mouse, move the object(s) from one location to another. A ghost image of the object(s) appears on the screen. As the cursor moves, this image drags across the screen. 4. Press the left mouse button when the ghost image is in the proper location.
2-22
Getting Started
Repeat Moving
To move the same object(s) again, hold the Shift key down, move the cursor inside the schematic window, and click the right mouse button. This repeat key sequence only works if no other popup menu command has been issued in the meantime.
Copying Objects
To copy object(s) from a schematic sheet, perform the following steps: 1. Select the object(s) to copy.
2-23
Getting Started
2. Choose the Copy > Selected popup menu item. The Copy prompt bar displays. 3. Press, but do not release the left mouse button. 4. Drag the ghost image to the position where you want the copy placed. The moving cursor is located on the basepoint of the ghost image. 5. Release the left mouse button when the ghost image is in the final position.
Repeat Copying
To copy the same instance again, hold the Shift key down, move the cursor inside the schematic window, and click the right mouse button. This repeat key sequence only works if no other popup menu command has been issued in the meantime.
2-24
Getting Started
2-25
Getting Started
Figure 2-10. Result of Copy to Array If you want to use the mouse cursor to specify the row and column locations, you can use the Copy Multiple command as follows: 1. Select the object to copy. 2. Choose Copy > Multiple from one of the popup menus.
2-26
Getting Started
3. Enter the number of rows in the Count text entry box in the Copy Multiple prompt bar. Press the Tab key to move the location cursor to Placement. 4. Drag the ghost image of the selected object to the desired location for the second row of the array, then release the button. This creates the first column. 5. Select the column of objects. 6. Choose Copy > Multiple from one of the popup menus. 7. Enter the number of columns in the Count text entry box. Press the Tab key to move the location cursor to Placement. 8. Drag the ghost image of the first column to the location for the second column, then press the Select button. The last column of the array remains selected.
2-27
Getting Started
Refer to Table 2-2 for information on how symbol objects are converted to schematic objects. Table 2-2. Symbol Objects to Schematic Objects Symbol Objects To Schematic Objects
Symbol graphics, visible properties (not Comment text and graphics, and pin properties), symbol comments properties Pins Properties attached to the pins Invisible properties (not pin properties) No change No change No translation
Use the following steps to move object(s) from one schematic or symbol window to another schematic or symbol window: 1. Activate the window, from where you want to copy objects, by clicking the center mouse button in the window area. 2. Select the object(s) to be copied. For information about how to select and unselect objects, refer Selecting and Unselecting Objects in this chapter. 3. Choose the Copy > Selected popup menu item. The Copy prompt bar displays in the window with the location cursor on At Location. The moving pointer appears when you move the mouse into the active window. 4. Using the left mouse button, activate the window you want to copy the objects into. 5. Drag the ghost image of the object(s) to the location within the window where you wish to copy the object(s). The moving pointer is located at the basepoint of the ghost image. 6. Press the left mouse button when the ghost image is in the final position.
2-28
Getting Started
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-29
Getting Started
3. Enter the appropriate value beside Group Name. 4. Choose the appropriate mode beside Existing. 5. Choose whether the name is persistent or temporary beside Duration. 6. Click OK. Once a group is created, you can select the group using the following steps: 1. Execute the Select > Group popup menu item to display the Select Group prompt bar. 2. Enter in the text box the name of the group you want to select. 3. Click OK.
Ungrouping Objects
To remove the name of a group from a set of objects, perform these steps: 1. Execute the Miscellaneous > Group > Ungroup pulldown menu item to display the Ungroup prompt bar. 2. Enter the name of the appropriate group beside Group Name. 3. Click OK.
Reporting Groups
To display a list of the groups in the active schematic design: Choose the Report > Groups pulldown menu item.
Deleting Objects
When you delete an object within a component, other objects in that component that reference the deleted object, are updated. However, if you delete an object (or an entire component), other objects that reference the deleted object (component)
2-30
Getting Started
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:
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.
2-31
Getting Started
also can delete properties by executing the Delete > Property popup menu item and filling out the Delete Property dialog box. After you delete a selected object(s), a basepoint icon remains. This icon displays until something else is selected, and facilitates replacing the new object(s) in the same location, when you issue the Undo command. The basepoint icon is not a part of the design.
Note
90 - moves object(s) 90 degrees, counter-clockwise -90 - moves object(s) 90 degrees, clockwise 180 - moves object(s) 180 degrees
The selected object(s) are rotated to the specified position. The rotation must be multiple of 90 degrees.
2-32
Getting Started
Flipping Objects
To flip an object or a group of objects, perform the following steps. 1. Select the object(s) you want to flip. For information about selecting and unselecting objects, refer to Selecting and Unselecting Objects in this chapter. 2. Choose Edit > Edit Operations >Flip or select the [Edit] Flip from the schematic_edit palette. 3. Choose either Horizontal or Vertical from the cascading submenu. Objects are flipped, pivoted, and rotated in place. If you want to flip, pivot, or rotate object(s) that you are moving or copying, the Copy and Move menu items have cascading menu items for these operations.
Note
2-33
Getting Started
2-34
Getting Started
B = Bundle C = Comment F = Frame G = Group I = Instance N = Net P = Pin T = Property Text V = Vertex
An example of an instance handle is:
I$385
Handles, like this one, appear in various error messages and netlists. The handle can be specified as an argument in commands such as Select By Handle or Report Object, as in the following examples:
Select By Handle I$385 -View Report Object I$385
The first command selects the object by its handle. The second command requests an extended status list associated with the object whose handle is I$385.
2-35
Getting Started
Methods exist to make the handle of an instance visible. Assign the Inst property to the instance with a value of I$0. When the Check or Save commands are issued, the I$0 value will be replaced by the unique handle for that instance. Similarly, assigning the Net property a value of N$0 makes the net handles visible after the Check or Save commands are executed.
2-36
Getting Started
1. Select the View > View All menu item. 2. The entire design sheet displays in the active sheet window. You can also view the entire sheet by double-clicking the left mouse key in the Context window.
View > View Centered. This view option centers the view around the
specified location. After choosing this menu item, the View Centered prompt bar appears in the active window with the location cursor on Center of View. As you move the mouse into the active window, the moving cursor appears. Click the left mouse button at the desired center of view. The view of the design is now centered around the location specified. Another method of centering the view is to double-click the center mouse button in the edit window.
View > View Selected. This view option centers the view around the
selected object(s).
View > Zoom In > 2.0 | 3.0 | As Specified. This view option expands the
image size in the active window to show more detail in the window. The image is zoomed-in by a factor of 2.0, 3.0, or the factor you specify in a prompt bar, with respect to the center of the image.
View > Zoom Out > 2.0 | 3.0 | As Specified. This view option shrinks the
image size in the active window to show less detail in the window. The image is zoomed out by a factor of 2.0, 3.0, or the factor you specify in a prompt bar, with respect to the center of the image.
2-37
Printing in DA-IC
Getting Started
Printing in DA-IC
You can print schematic designs from DA-IC in a variety of ways as follows:
configuration. For more information, see Printing All Sheets in a Design in this chapter.
From the Symbol Editor window, you can print the contents of the active
window. For more information, see Printing Symbols in this chapter.
From a Schematic Editor window, you can print a schematic sheet. For
more information, see Printing a Schematic Sheet in this chapter.
Print All Schematics - Prints all sheets in a specified schematic design. For
more information, see Printing all Sheets in a Schematic with Print/Plot in this chapter. Printing all Sheets in a Schematic with ICprint ICprint is not affected by the MGC > Setup > Printer setups. You must specify printing options, including a UNIX printer name, in the Print All Schematics with ICprint dialog box.
2-38
Getting Started
Printing in DA-IC
Use the following steps to print all schematic sheets in a design with ICprint: 1. From the Session window, choose File > Print All Schematics with ICprint > Source Schematics....The Print All Schematics with ICprint dialog box displays.
2. Select a Destination for the PostScript printer files. The dialog box changes depending on the option you select. The following options are available:
o Send to Printer - Sends the file to the printer for printing. You must
enter a Printer Name. Specifies a UNIX printer to send the Postscript file to. This is the default setting.
o Print to File - Saves the file to disk in the working directory. Enter an
Output File name. The schematic number and sheet number are appended to the specified filename followed by _n for the page number. One file is generated for each schematic sheet printed. For example, myfile_Schematic#1_sheet#1_1.
2-39
Printing in DA-IC
Getting Started
If no filename is specified, random names starting with mgc are generated without a schematic number or sheet number appended. For example: mgcOXDJ4U_1. 3. If necessary, enter a new Working Directory. The working directory is used to store the PostScript and temporary printer files. Defaults to the location of the active schematic sheet. 4. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. 5. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a continuous roll printer. 6. If necessary, enter a Panel Name. Panels are used to print only a portion of a window. For more information, see Using Panels in this chapter. 7. If necessary, select a Rotation option. The following options are available:
o Best Fit - Automatically determines the data orientation, and prints
either Portrait or Landscape. Selects the orientation that uses the least amount of paper. This is the default setting.
o Portrait - Prints data vertically on the page. o Landscape - Prints data horizontally on the page.
8. If necessary, click Color to toggle the setting. The following options are available:
o Enabled - prints color o Disabled - prints in black and white. This is the default setting.
9. If necessary, enter the Dot-Per-Inch (DPI) to print. The default is 300 DPI. 10. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. ICprint text sizing approximates what is on the display. Due to the conversion of fonts for printing, text sizing
2-40
Getting Started
Printing in DA-IC
discrepancies can sometimes occur. To decrease or increase text size, enter a new value for Text Scale%. The default setting is 100%. A value of 0 omits all text. 11. Specify the number of copies to print up to 99. Default is 1. 12. If necessary enter any additional Printer Commands. For more information, see $$icprint() in the Design Architect-IC Reference Manual. 13. Click OK. The Print All Schematics dialog box displays.
14. Enter the pathname to the top-level sheet in the design in the Top-Level Component Name field. 15. If necessary, enter a vector of strings to restrict which sheets print. Sheets whose pathname includes a filter string (case sensitive), do not print. 16. Select Yes under Preview to display a list of the sheets available for printing to select from. 17. Click OK. The Print All Schematics Preview dialog box displays. 18. Select the sheets to print from the list.
2-41
Printing in DA-IC
Getting Started
19. Click OK. The files are sent to the printer or saved to disk as specified. For more information, see $$icprint() in the Design Architect-IC Reference Manual. Printing all Sheets in a Schematic with Print/Plot Use the following steps to print all schematic sheets in a design with Print/Plot: 1. Choose the File > Print All Schematics > Source Schematics... item from the Session menu bar. The Print All Schematics dialog box displays.
2. Enter the pathname to the top-level sheet in the design in the Top-Level Component Name field. 3. If necessary, enter a vector of strings to restrict which sheets print. Sheets whose pathname includes a filter string (case sensitive), do not print. 4. Select Yes under Preview to display the Print All Schematics Preview dialog box before the sheets print. a. A list of all sheets available in the design display. b. Select the sheets from the list to print. 5. Click OK to print the sheets.
2-42
Getting Started
Printing in DA-IC
Printing Symbols
The Symbol Editor provides two printing options from the File pulldown menu:
Print Symbol with ICprint - Generates a Postscript file and sends it to the
specified UNIX printer. For more information, see Printing the Active Symbol with ICprint in this chapter.
Print Symbol - Prints the active symbol with Print/Plot. For more
information, see Printing the Active Symbol with Print/Plot in this chapter. Printing the Active Symbol with ICprint ICprint is not affected by the MGC > Setup > Printer setups. You must specify printing options, including a UNIX printer name, in the Print Symbol with ICprint dialog box.
2-43
Printing in DA-IC
Getting Started
Use the following steps to print a symbol with ICprint: 1. From the Symbol Editor, select File > Print Symbol with ICprint. The Print Symbol with ICprint dialog box displays.
2. Select a Destination for the PostScript printer file. The dialog box changes depending on the option you select. The following options are available:
o Send to Printer Sends the file to the printer for printing. You must
enter a Printer Name. Specifies a UNIX printer to send the Postscript file to. This is the default setting.
o Print to File Saves the file to disk in the working directory. Enter an
Output File name. If no name is specified, a random name starting with mgc is generated. View the transcript to determine the exact name. All generated printer files are appended with a _n where n is the number of pages in the file.
2-44
Getting Started
Printing in DA-IC
3. If necessary, enter a new Working Directory. The PostScript and temporary printer files are stored in the specified directory. Defaults to the location of the active symbol. 4. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. 5. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a continuous roll printer. 6. If necessary, enter a Panel Name. Panels are used to print only a portion of a window. For more information, see Using Panels in this chapter. 7. If necessary, select a Rotation option. The following options are available:
o Best Fit Automatically determines the data orientation, and prints
either Portrait or Landscape. Selects the orientation that uses the least amount of paper. This is the default setting.
o Portrait Prints data vertically on the page. o Landscape Prints data horizontally on the page.
8. If necessary, click Color to toggle the setting. The following options are available:
o Enabled Prints color. o Disabled Prints in black and white. This is the default setting.
9. If necessary, enter the Dot-Per-Inch (DPI) to print. The default is 300 DPI. 10. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. ICprint text sizing approximates what is on the display. Due to the conversion of fonts for printing, text sizing discrepancies can sometimes occur. To decrease or increase text size, enter a new value for Text Scale%. The default setting is 100%. A value of 0 omits all text.
2-45
Printing in DA-IC
Getting Started
11. Specify the number of copies to print up to 99. Default is 1. 12. If necessary enter any additional Printer Commands. For more information, see $$icprint() in the Design Architect-IC Reference Manual. 13. Click OK. The file is sent to the printer or saved to disk as specified. For more information, see $$icprint() in the Design Architect-IC Reference Manual. Printing the Active Symbol with Print/Plot To print the contents of a Symbol Editor window, perform the following steps: 1. Activate the edit window for the symbol you want to print. Choose the File > Print Symbol menu item to display the Print Object prompt bar. 2. Type the printer name in the Printer name text box. 3. If you want to override the default printer options, click the Options button. The Print Design Object dialog box displays. You can specify the number of copies, a job configuration file, the orientation, the priority, notification level, the scale, and the panel name (if you want to plot only a portion of the window). For a procedure describing how to create panels, refer to Using Panels in this chapter. You can change the default printer settings by specifying any or all of the printer attributes. This overrides the default printer settings for this job only. If you want to change the printer attributes for all subsequent print jobs, click Keep options. This changes the default settings to the values specified in the Print Screen dialog box. You can change the default printer settings by changing the MGC > Setup > Printer menu item. Refer to the Printer Interface Reference Manual for a description of all required and optional arguments.
2-46
Getting Started
Printing in DA-IC
Print Sheet with ICprint - Generates a Postscript file and sends it to the
specified UNIX printer. For more information, see Printing the Active Sheet with ICprint in this chapter.
Print Sheet - Prints the active sheet with Print/Plot. For more information,
see Printing the Active Sheet with Print/Plot in this chapter. Printing the Active Sheet with ICprint ICprint is not affected by the MGC > Setup > Printer setups. You must specify printing options, including a UNIX printer name, in the Print Sheet with ICprint dialog box. LINUX 6.X saves the temporary PostScript printer files to the working directory. You need to delete them once the sheet is sent to the printer.
Linux
Use the following steps to print a schematic sheet with ICprint: 1. From the Schematic Editor, click on the sheet to print.
2-47
Printing in DA-IC
Getting Started
2. Select File > Print Sheet with ICprint. The Print Sheet with ICprint dialog box displays.
3. Select a Destination for the PostScript printer file. The dialog box changes depending on the option you select. The following options are available:
o Send to Printer - Sends the file to the printer for printing. You must
enter a Printer Name. Specifies a UNIX printer to send the Postscript file to. This is the default setting.
o Print to File - Saves the file to disk in the working directory. Enter an
Output File name. If no name is specified, a random name starting with mgc is generated. View the transcript to determine the exact name. All generated printer files are appended with a _n where n is the number of pages in the file.
2-48
Getting Started
Printing in DA-IC
4. If necessary, enter a new Working Directory. The PostScript and temporary printer files are stored in the specified directory. Defaults to the location of the active schematic sheet. 5. If necessary, enter a Page Width and Page Length. The default page size is 8.5 x 11. 6. If necessary, select Continuous Paper Roll. Select this option to avoid clipping data at the top or bottom of printout when using a continuous roll printer. 7. If necessary, enter a Panel Name. Panels are used to print only a portion of a window. For more information, see Using Panels in this chapter. 8. If necessary, select a Rotation option. The following options are available:
o Best Fit - Automatically determines the data orientation, and prints
either Portrait or Landscape. Selects the orientation that uses the least amount of paper. This is the default setting.
o Portrait - Prints data vertically on the page. o Landscape - Prints data horizontally on the page.
9. If necessary, click Color to toggle the setting. The following options are available:
o Enabled - prints color o Disabled - prints in black and white. This is the default setting.
10. If necessary, enter the Dot-Per-Inch (DPI) to print. The default is 300 DPI. 11. If necessary, enter a new value for the Text Scale%. Scales the text to the specified percentage on the printout. ICprint text sizing approximates what is on the display. Due to the conversion of fonts for printing, text sizing discrepancies can sometimes occur. To decrease or increase text size, enter a new value for Text Scale%. The default setting is 100%. A value of 0 omits all text.
2-49
Printing in DA-IC
Getting Started
12. Specify the number of copies to print up to 99. Default is 1. 13. If necessary enter any additional Printer Commands. For more information, see $$icprint() in the Design Architect-IC Reference Manual. 14. Click OK. The file is sent to the printer or saved to disk as specified. For more information, see $$icprint() in the Design Architect-IC Reference Manual. Printing the Active Sheet with Print/Plot Use the following steps to print the active schematic sheet with Print/Plot: 1. Click on the sheet to print, and select File > Print Sheet. The Print Object prompt bar displays. 2. Type the printer name in the Printer name text box. 3. If you want to override the default printer options, click the Options button. The Print Design Object dialog box displays. You can specify the site name, the number of copies, a job configuration file, the orientation, the priority, notification level, the scale, and the panel name (if you want to plot only a portion of the window). For a procedure describing how to create panels, refer to Using Panels in this chapter. You can change the default printer settings by specifying any or all of the printer attributes. This overrides only the default printer settings for this job. If you want to change the printer attributes for all subsequent print jobs, click Keep options. This changes the default settings to the values specified in the Print Screen dialog box. You can change the default printer settings by changing the MGC > Setup > Printer menu item. Refer to the Printer Interface Reference Manual for a description of all required and optional arguments. When you send a schematic to a plotter, protected objects are plotted in their unprotected color.
Note
2-50
Getting Started
Using Panels
Printer Configuration
You may want to adjust your printer configuration for plotting DA-IC data. Depending upon how your network printers are set up, you may want to use a separate printer configuration file for DA-IC, so that it will not affect printing from other applications. Add the following lines (or modify them, if they already exist) to your printer configuration file to adjust the page offset and the line weight for buses and borders:
tray_page_offset_top tray_page_offset_left ## line_weight line_weight line_weight line_weight 1 1 <tag> 1 3 5 7 0.25 0.25 <weight> 1 7 #default=5 9 #default=7 11 #default=9
Using Panels
You define panels to plot particular areas of symbol or schematic windows. The panel area is defined by the coordinates of a rectangular region. Panels can be large or small, and they may overlap.
Adding Panels
To create a panel in a Symbol or Schematic Editor window, perform the following steps: 1. Place the cursor in the Symbol or Schematic Editor window in which you want to create a panel, and click the center mouse button. 2. Execute the Add > Panel > Add Panel menu item. The Add Panel prompt bar displays. 3. Type the panel name in the Panel Name text box.
2-51
Using Panels
Getting Started
4. If you want to replace a previously defined panel with the same name you specified, click the left mouse button on the choice stepper button to select the replace switch. 5. Click the left mouse button on the Panel Area button. 6. Position the cursor at one corner of the panel. Click and drag the left mouse button until a dynamic rectangle is created which defines an area of the sheet. 7. Release the mouse button.
Viewing Panels
To view and center the current panel in a Symbol or Schematic Editor window, perform the following steps: 1. Activate the edit window of the panel you want to view. Execute the View > Panel > View Panel menu item. The View Panel prompt bar displays. 2. Type the panel name in the Panel Name text box, then click OK.
2-52
Getting Started
Using Panels
To hide panel borders, perform the following steps: 1. Execute the View > Panel > Hide Panel Border > All Panels On Sheet menu item to view all panel borders on the sheet. Execute the View > Panel > Hide Panel Border > By Panel Name menu item to view a panel by name. 2. Type the panel name in the Panel Name text box, and click OK.
2-53
Using Panels
Getting Started
4. View the panel border by executing the menu item: View > Panel > Show Panel Border > All Panels On Sheet 5. Print the panel by executing the menu File > Print Sheet: 6. Verify the printer name in the prompt bar. 7. Click the Options... button, and enter the Panel name in the dialog box text entry area. 8. Click OK on both forms.
You will need to set additional Environment Variables, load necessary Libraries, and have an RF Architect License.
Environment Variables
In addition to the environment variables you must set to run DA-IC, set the following environment variables: Environment Variable ALTERNATE_MGC_HOMEa DES_ARCH_PKGS_TO_LOAD Value Location of PCB tree ads_iff_da_ic
2-54
Getting Started
Using Panels
Libraries
In order for the interface to work correctly, you must have the correct symbol library. The library is contained in the PCB tree, but it is not loaded automatically with the software. Check the software tree to make sure it contains the mgc_adslib directory. If it does not contain this directory, load this library from the software CD.
RF Architect License
2-55
Using Panels
Getting Started
2. Select RF > IFF Write. The Write IFF dialog box displays. 3. Enter the name of the output IFF file and click OK. The IFF file is written and placed in the same directory as the schematic. A transcript displays, detailing the actions taken by DA-IC. For more information on writing IFF, refer to the RF Design Tools User's Manual.
Reading In an IFF
To read in an IFF, you must be in schematic scope and have a schematic open. Complete the following: 1. From the DA-IC menu bar, select RF > IFF Read. The Read IFF dialog box displays. 2. Enter the name of the input file and transfer directory name and click OK. For more information on reading IFF, refer to the RF Design Tools User's Manual.
2-56
This chapter introduces the Schematic Editor and provides procedures for creating, checking, and netlisting schematics. The following topics are available:
Schematic Creation Overview Schematic Editor Features Opening/Creating a Schematic Opening a Language File Setting Up the Schematic Editor Choosing and Placing Symbols Selecting and Placing Active Symbols Updating and Replacing Instances Using Repeating Instances Using Nets, Buses and Net Bundles Creating a Bus and Bus Connections Using Bus Rippers Creating a Bus Ripper Component Connecting a Bus Ripper Instantiating 1x1 Bus Ripper Automatically Using the Automatic 1x1 Bus Ripper Creating an Implicit Bus Ripper Creating an Implicit Bundle Ripper Using the netcon Component Creating and Naming a Net Bundle Ripping Members from Net Bundles
3-1
Creating Schematics
Creating Multi-Level Designs Adding Comment Text and Graphics Creating FOR, CASE, and IF Frames Checking a Schematic for Errors Saving and Registering a Schematic Navigating Multiple Page Schematics Displaying/Editing Registered Models Netlisting a Schematic Invoking IC Station Directly from DA-IC
Symbol instances
Instances of logical symbols represent anything from a simple logic function to a complete integrated circuit. An instance is a copy of a component symbol. For example: When you select a component symbol from a library and place it on your schematic, a copy of that symbol is generated and placed on the schematic. The copy of the component symbol is called an instance. The instance reflects the connectivity defined by the original component symbol. An instance is graphically represented by a symbol and can be updated by updating the original symbol. Placing the representative symbol on a schematic sheet is called instantiation. In order for an instance to be evaluated correctly, it must follow a set of connectivity rules. A full set of checks that define the proper instance connectivity is described in Appendix C, Design Checks.
3-2
Creating Schematics
Special Instances
Special instance connectors are not part of the final evaluated design and do not translate into physical components. They pass connectivity information to downstream applications that use an evaluated design. They are created by adding specific Class property values to an instance. Refer to Class Property in chapter 7 for more information about Class properties. You may define your own special instance symbols, or use components provided in the generic_lib in DA-IC. For more information, see Appendix E, Special Instances.
Properties
A property name is the label for a property, much like a variable name is a label for a variable in a programming language. The property value is the value associated with the name. The combination property name/value attaches to different objects in a schematic to supply more information about the object. For example, the rise time for a pin is specified by a value (for example, 10, 20, 30) of a property name Rise, attached to that pin.
3-3
Creating Schematics
Function Blocks
Function Blocks allow you to create and reuse hierarchical design components from within a schematic. Function Blocks are created with the Schematic Editor and can consist of a schematic design as well as symbols. Once created, the Function Block can be instantiated on other design sheets and schematics. Function Blocks support both top-down and bottom-up design methodologies. For procedures to create Function Blocks, see Chapter 6, Using Function Blocks.
Frames
A frame is a graphical box that encloses circuitry that is repeated or conditionally included in a final netlist by a frame expression. FOR, IF, and CASE frame expression types are described in Frexp Property in chapter 7. Frames are used on schematic sheets only. In order for the contents of a frame to be evaluated correctly, certain connectivity rules must be followed. A full set of checks that define the proper frame connectivity is described in Appendix C, Design Checks.
3-4
Creating Schematics
$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
Figure 3-1. Schematic Sheet When you open the Schematic Editor, a set of schematic-specific palettes, popup, and pulldown menus display.
3-5
Opening/Creating a Schematic
Creating Schematics
Create and modify nets Create and edit comment graphics and text Set up templates for creating nets, comments, property text, grids, pages Edit objects (moving, copying, deleting, or connecting) Report on sheet objects' status Check schematic sheets for errors Save and register schematics
In addition to schematic creation, the Schematic Editor allows you to:
Edit schematics in Design Context Register, edit and select behavioral models Netlist schematics Set up and run design simulations View and crossprobe design simulation results
Opening/Creating a Schematic
To open a schematic, click Open > Schematic on the session_palette menu. The Open Schematic dialog box prompts you for the component and schematic names. If no schematic is specified, sheet1 of the default schematic model is opened. You can change the sheet name for the default model, and you can open an existing sheet in read only mode, or list the component hierarchy in a window. To browse for a component, click the Navigator button. For more information, see Browsing for Files in Chapter 2.
3-6
Creating Schematics
Opening/Creating a Schematic
To replace the default schematic and sheet name select the Options button. The options for a new sheet are different than those for an existing sheet. Click the New Sheet button to see the Open Schematic Options dialog box illustrated in Figure 3-2.
Open Schematic Options
Component Name: $CUSTOM_PARTS/dff Available:
Figure 3-2. Open (new) Sheet Options Dialog Box The Open Schematic Options dialog box lists the names of available schematics in the component. You can click the left mouse button on a name in the list, or you can enter schematic name in the respective text entry boxes in the dialog box. If you hold down the SHIFT key, and select more than one sheet in the list, all selected sheets will open at the same time. By default, the most current version of a schematic (indicated by 0) is opened; if you want an older version, enter the number in the Version box. To see which versions exist, click the Version button. If you want to execute a startup file for this sheet, click Yes for that option, and enter the file pathname.
3-7
Creating Schematics
When you open an existing sheet, the Auto Update Mode allows you to specify whether instances should be updated when the sheet is opened and, if so, how the properties are merged. Click on one of the following buttons:
None: Instances are not updated when the sheet is opened. Clear: Instance-only properties are deleted; all other properties are reset to
the current symbol values. For more information about how properties are updated, refer to Updating Properties on an Instance in Chapter 7.
2. Next to Source File, enter the name of the language file to open. 3. Click OK. 4. The contents of the language file displays in the Notepad editor.
3-8
Creating Schematics
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-9
Creating Schematics
Figure 3-3. Setup Grid Dialog Box 2. Enter the number of grid points to be established between pins in the Grids Per Pin text box. A value of 4 means 4 grid points within 1 pin space. A value greater than 1 defines a finer grid by placing the specified number of points between each pin spacing interval. A value less than 1 is a coarser grid, which you can use to spread out objects in a design. The default is 4. 3. Type in the Minor Multiple text box the number of grid locations between displayed locations. Dots indicate minor multiple grid points. The default is 1. 4. Type in the Major Multiple text box the number of visible grid points to be highlighted with a cross. This feature can be used to highlight pin spacing or note relative distances between various objects on the sheet. The default is 4.
3-10
Creating Schematics
5. Click the left mouse button on the snap you want (On/Off). 6. Click the left mouse button on whether to show the grid (On/Off). 7. Type the pin space number in the Pin Space text entry box. 8. Click the left mouse button on the user units (inch, cm, mm, or pin). Even though you are allowed to choose a user unit in the symbol editor, all pin spacing is measured in pin grid spaces in the Symbol Editor window. 9. When the grid, pin spacing, and snap setup are complete, click OK. The number used for each grid setting must be an even divisor of 1920. If the number you specify is not a divisor of 1920, the next larger divisor will be used. Valid numbers include 1, 2, 3, 4, 5, 6, 8, 10, 12, ... Numbers not supported include 7, 9, 11, 13, 14, ... If the system uses a number other than the one you specify, you will receive a warning message.
3-11
Creating Schematics
Figure 3-4. Setup Objects Dialog Box 4. Type in the Set Dot Size text box the dot size (default is 0.025 user units). 5. Click on either Circle or Square to choose the dot style. 6. Type in the Set Snap Angle text box the snap angle (default 45). 7. Press the Set Ortho button On and the Set Snap button On, to set up orthogonal routing and pin snap.
3-12
Creating Schematics
8. Select the Net Style (solid, dotted, long dash, short dash, centerline, and phantom) and Bus/Bundle Width (3 pixels, 5 pixels, or 7 pixels) by clicking on the appropriate buttons. 9. When you turn on Auto Net Name Placement and optionally enable Auto Net Naming, net names are automatically placed when you name nets that do not already have a NET property attached. a. Type the Name Offset value in the text field. b. Type the Intent Offset value in the text field. 10. If you want close-dots displayed on the sheet, press the Close Dots button On. The close-dot appears on a vertex when a non-orthogonal net segment passes so close to the vertex, that it is visually difficult to determine that they are not connected. 11. If you want nets automatically routed immediately after they are drawn, press the Auto Route button On. The net router defines an orthogonal path for a connected net that avoids instance extents, comment objects, and other nets. 12. When Net Setup is complete, click OK.
3-13
Creating Schematics
Figure 3-5. Setup Objects Ripper Dialog Box 3. Select the Ripper Mode: Implicit (default), Auto, or None. 4. Select the Implicit Ripper as angled or straight. 5. Set the Ripper Query On or Off. 6. If you want junction dots to appear where bus rippers join bus lines, press the Set Ripper Dots button On. 7. Define the Autoplaced Text Height in the text box (default is 0.125 units) 8. Set Auto Ripper Symbol specifies that a single bit bus rippers is placed automatically during net creation when the current net width is 1 (default wire width), and one of the input vertices falls on a net segment with width greater than 1 (default bus width is 3). If you press the On button, you
3-14
Creating Schematics
also need to specify a ripper component and symbol name. The default is the 1X1 symbol of $MGC_IC_GENERIC_LIB/rip. The specified ripper must have one BUNDLE, and one WIRE pin, evenly spaced in the X & Y direction.
Note
The Setup Objects dialog box displays the Design Context selections.
3-15
Creating Schematics
Figure 3-6. Setup Objects Design Context Dialog Box 3. In the Default Annotated Property Attributes area of the menu, set the following item: a. Type in the font name you desire. Fonts and font registries for all workstations are located in $MGC_HOME/registry/fonts. The default is the stroke font. To change from the default, click the Menu... button to display all available choices. Select from the list displayed.
3-16
Creating Schematics
b. Type in the font height you desire. The default height is 0.1875 user units. c. Orientation: 0 is the default setting. d. Horizontal Justification: select Left, Center, or Right (left is the default setting). e. Visibility: toggle On or Off (on is the default setting). 4. Click on the text vertical justification you desire (Top, Center, or Bottom). 5. Click on the text transparency you desire to On or Off. 6. Set the Apply Attributes To Existing Annotations? to Yes or No (no is the default setting. 7. Set the Show Annotations? to Yes or No (yes is the default setting). 8. Evaluate Expressions? toggle Yes or No (yes is the default setting). 9. When Design Context Setup is complete, click OK.
3-17
Creating Schematics
Figure 3-7. Setup Objects Comment Dialog Box 3. In the Default Comment Text Attributes area of the menu, set the following item: a. Type in the font name you desire. Fonts and font registries for all workstations are located in $MGC_HOME/registry/fonts. The default is the stroke font. To change from the default, click the Menu... button to display all available choices. Select from the list displayed.
3-18
Creating Schematics
b. Type in the font height you desire. The default height is 0.1875 user units. c. Orientation: 0 is the default setting. d. Click on the text vertical justification you desire (Top, Center, or Bottom). e. Click on the text horizontal justification you desire (Left, Center, or Right). f. Click on the text transparency you desire to On or Off. g. Click to set the restricted flipped/rotated text to On or Off. 4. In the Default Comment Graphics Attributes, set the following items: a. Click on the line width you desire (1 pixel, 3 pixels, 5 pixels, or 7 pixels). b. Click on the fill type you desire (Clear, Solid, or Stipple). c. Click on the line style you desire (Solid, Dotted, Long Dash, Short Dash, Centerline, and Phantom). 5. When Comment Setup is complete, click OK.
3-19
Creating Schematics
4. Click the symbol you want to place. 5. Move the cursor to the schematic window. The moving cursor displays, prompting you for a location to place the symbol. 6. Move the cursor to display a ghost image of the symbol. 7. Drag the ghost image to the desired location and click the left mouse button.
3-20
Creating Schematics
The method used to merge current symbol properties with properties attached to instances that are updated or replaced is determined by the following switches:
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.
3-21
Creating Schematics
The Replace command, like Update, is accessible through the Edit pulldown menu and the Instance popup menu. You can replace selected instances with the active symbol, or you can choose a replacement symbol from a library, or you can enter the pathname of the replacement symbol in a dialog box. To replace selected instances with the active symbol, choose the Active Symbol > Replace Selected menu item. Replace Instance is also available in the Palette popup menu. To replace a selected symbol instance by choosing the replacement symbol from a library (when you do not know the pathname), perform the following steps: 1. Display the library that contains the desired component, as described in Choosing and Placing Symbols in this chapter. 2. Choose the Palette > Replace Instance menu item. 3. Click the left mouse button on the desired component in the library. If no instances were selected, you will be warned that the replace did not occur because no instances were selected to be replaced. Select the instance to replace, then select the replacement symbol. The Palette > Replace Instance menu item changes to Palette > Add Instance, indicating that the next component selected from a library will be instantiated on the sheet. Instance > Replace > From Library Menu and Edit > Replace > From Library Menu are used in the same manner. Select the instance to be replaced, then choose the menu item. These methods use the default replacement property merge set by the specific library menus. Mentor Graphics library menus set the default to -Clear. To replace a selected symbol instance with the active symbol, choose the desired property merge from the Instance > Replace > Active Symbol > submenu. If you know the pathname to the replacement component, select the instance(s) to be replaced, then choose Instance > Replace > Other. The Replace Instance dialog box displays for you to enter the pathname. If you want a symbol other than
3-22
Creating Schematics
the default, or a property merge other than -Clear, click the Options? YES button and enter the appropriate information.
3-23
Creating Schematics
Using this optional range in the INST property value defines the number of times the instance is repeated and how the nets are connected to each repeated instance. Connections are implied by the ratio of the dimensions of a connected wire or bus to the dimensions of the pin of the repeated instance. The system creates a FOR frame to match the expression and connectivity of the repeated instance when the sheet is written to the EDDM database. Because a FOR frame is created for a repeating instance, downstream tools are not able to tell the difference between a real FOR Frame, and the short-hand FOR Frame of a repeating instance. Repeating instances should be used only in simple cases. For more robust purposes, you should use standard FOR frames.
3-24
Creating Schematics
3-25
Creating Schematics
To force connections at all not-dot locations on a sheet, choose the Edit >
Connect > Connect All menu item. The not-dots disappear, indicating there is an electrical connection. DA-IC replaces the not-dots with junction dots at overlapping net segments.
3-26
Creating Schematics
To disconnect nets, choose the Edit > Disconnect > Selected Area, or
Edit > Disconnect > Disconnect All, or Edit > Disconnect > Disconnect Area: menu item.
3-27
Creating Schematics
base_name is a text string with no delimiters or slash characters. dimension defines an array of nets delimited by either brackets,
parentheses, or angle brackets. Multiple dimensions can be defined inside a set of delimiters and separated by a semicolon. The following list describes some array descriptions for single and multiple dimensional arrays:
(2) -- Defines a single pin or net labeled 2. (0:15) -- Defines an array of pins or nets labeled 0, 1, and so on, up
to 15.
Naming Nets
You can name one or more selected nets by clicking on the schematic_edit palette [Name] Net palette item, or by choosing the Net > Name Nets popup menu item. A net must be selected (not a vertex). A prompt bar displays as follows:
If there is no Net property on the net, you are prompted to add one. If there is already a Net property on one of the vertices, you are prompted
for a new Net property value.
If there is already a Net property, but it is not attached to any of the selected
vertices, you are prompted to place another Net property of the same value
3-28
Creating Schematics
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-29
Creating Schematics
3-30
Creating Schematics
When you attempt to add the Class property to a pin or net, you may receive the following error message:
// Warning: Added 0 properties (1 failed for bad owners) (from: Capture/gdc/warning B6)
If this occurs, use the Set Property Owner command to declare pins and/or nets as valid owners of the Class property, then add the property to the pin or net.
Figure 3-8. A Bus Connected to a Four-Wide Output Port The following topics describe procedures that demonstrate:
How to create and represent buses How to run individual lines from the bus through the use of bus rippers
Information is also presented on the use of the netcon component, which is used to connect two nets that have different Net property values.
3-31
Creating Schematics
Creating a Bus
You create a bus by assigning a net name that defines an array of nets. For example, a bus could use the following naming conventions: bus_net_name(msb:lsb)
bus_net_name is the name of the net that represents the bus. It can be any
legal name allowed in DA-IC. No space is allowed between the name of the bus net and the parenthesis, and the parenthesis is required. An example of a bus name is address.
msb is the most significant bit of the bus. No spaces are allowed between
the msb, the first parenthesis, and the bus_net_name. The colon must follow the most significant bit, with no intervening spaces.
lsb is the least significant bit of the bus. The final parenthesis follows the
least significant bit of the bus. Downstream applications such as Design Viewpoint Editor-IC (DVE-IC) and AccuSim II interpret buses based on bit ordering; the bit appearing first is considered to be the msb (that is, 0:7 labels bit 0 as the msb, whereas 7:0 labels bit 7 as the msb). When DA-IC compares or evaluates values on a bus, it scans the range of bit values from left to right. You can arrange your wires in ascending order (from left to right), or you can arrange your wires in descending order (from left to right). Regardless of the way you number the wires in your bus, you must always be consistent within your design. Portions of the same bus must always have its wires arranged in the same order. When you name buses, keep the following limitations in mind:
The least significant bit and most significant bit must be non-negative. No suffix is allowed following a right parenthesis. Therefore, net name
A(10) is legal, but name A(10)IN is illegal. If such suffixes are encountered, the Check command reports an error.
3-32
Creating Schematics
An example of a full bus name is address(31:0). This name represents the following:
A bus whose name is address A bus whose wires range from 31 to 0 (zero)
Again, the ordering of the bits is a convention that you establish within your schematic. DA-IC only checks that the bus lines define legal limits and numbers. To create a bus from a net, perform the following steps: 1. Draw the bus: a. Click on the schematic_edit pallet [Add] Bus/Bundle palette item, or choose the Add > Bus/Bundle popup menu item. b. Press the left mouse button at the start location for the bus. c. Move the mouse cursor to the end location of the bus, and double-click the left mouse button. d. Click Cancel on the prompt bar to terminate the Add Bus command. 2. Name the bus: a. Select a vertex on the bus segment by clicking the left mouse button on one of the vertices. b. Click the Net > Name Nets > [Properties] Add popup menu. The Add Multiple Property dialog box displays. c. Type Net in the Property Name text box. d. Select NET in the Existing Properties Names list. e. Type the name that defines the bus in the Property Value text box. f. Press OK. See Figure 3-9.
3-33
Creating Schematics
Figure 3-9. Add Multiple Properties Dialog Box g. Move the cursor in the schematic window. Press the left mouse button, and drag the property name text to the location to where you want it displayed. Release the mouse button.
3-34
Creating Schematics
B(0;0)
B(0;1)
B(0;2)
B(1;0)
B(1;1)
B(1;2)
B(2;0)
B(2;1)
B(2;2)
The following are two more examples of multi-dimensional buses: A(2,5;1:4) is a 2 X 4 matrix with the following eight wires: A(2;1), A(2;2), A(2;3), A(2;4), A(5;1), A(5;2), A(5;3), A(5;4). Z(0:1;0:1;0:1) is a 2 X 2 X 2 matrix with the following eight wires: Z(0;0;0), Z(0;0;1), Z(0;1;0), Z(0;1;1), Z(1;0;0), Z(1;0;1), Z(1;1;0), Z(1;1;1). Downstream applications using the DFI procedural interface (for ! example, Board layout applications) may not be able to recognize Caution and utilize multi-dimensional buses, such as A(0:7;0:7), since they consider a multi-dimensional bus to be a single net joining all attached pins.
3-35
Creating Schematics
pixels, and the default style is solid. To change the graphical rendering for the bus, perform the following steps: 1. Click the left mouse button on the bus graphic to select it. 2. To change the graphical rendering for the bus width, select the desired Net > Change Net > Width > 1 pixel | 3 pixels | 5 pixels | 7 pixels menu item. 3. To change the graphical rendering for the bus style, select the desired Net > Change Net > Style > Solid | Dot | Long Dash | Short Dash menu item.
3-36
Creating Schematics
Figure 3-11. A 8x1 Bus Ripper from $MGC_IC_GENERIC_LIB/rip Table 3-1 describes the variations of the bus ripper that are available: Table 3-1. Available Bus Rippers in $MGC_IC_GENERIC_LIB/rip Symbol Name 1X1 1X2 1X3 1X4 1r1 1r2 2X1 3X1 4X1 8X1 16X1 Description 1 wire wirex 1 grid 1 wire x 2 grids 1 wire x 3 grids 1 wire x 4 grids 1 wire x 1 grid, rounded corner 1 wire x 2 grids, rounded corner 2 wires x 1 grid 3 wires x 1 grid 4 wires x 1 grid 8 wires x 1 grid 16 wires x 1 grid
To select and activate an instance of a bus ripper symbol on a schematic sheet, perform the following steps:
3-37
Creating Schematics
1. Click the left mouse button on the Library palette item. This displays the various libraries available. 2. Click the left mouse button on Generic Lib in the library palette. This displays the components in $MGC_IC_GENERIC_LIB. 3. Scroll down the component names until you see Bus Rippers. Click on the Bus Rippers palette item, and DA-IC displays the list of bus ripper symbol names shown in Table 3-1. 4. Click on the name of the desired symbol. The Place Active Component prompt bar displays. 5. Move the cursor to the schematic window. Press the left mouse button and hold. A ghost image of the symbol displays. Drag the ghost image to the desired location, and release the mouse button. Each bus ripper pin owns a Rule property. This property tells you which lines to extract from a source bus. Figure 3-11 shows each bus ripper pin having this property, as identified by the series of eight R characters. The Rule property, called the Ripping Rule, identifies the bus lines that the ripper taps. When the bus ripper is first instantiated, each Rule property is set to a default value of R. You must change this property to identify what line or lines of the source bus are connected to an attached net, pin, or sub-bus. For example, if you change the Rule property to 1, then any pin or net attached to that ripper is connected to the number one wire of the bus. You must not leave the Rule property unchanged, or you will produce an error when you check the sheet.
3-38
Creating Schematics
Each bus ripper component has at least two pins: the wire end and the bundle end. Figure 3-12 shows a 1x1 bus ripper illustrating the wire end, the bundle end, and the Rule property.
Wire End -->
R
<-- Bundle End
Figure 3-12. Bus Ripper Symbol The bundle end is actually a pin that has a Pin property value called bundle. The wire end is also a pin, and (for Mentor Graphic-supplied bus rippers) has a Pin property value called wire. The property value is not required to be wire. If you want to create your own bus ripper component, your bus ripper component must have only one pin whose Pin property value is bundle. Each other pin must own a Rule property, and the symbol body must own a Class property with a value of R. If your bus ripper does not have these characteristics, then your bus ripper will not work correctly in DA-IC. In addition, when you tap a source bus with your own bus ripper, you must obey the following connection rules:
The bundle end must always be graphically connected to the bus you want
to tap. If you are connecting two buses together, then the bundle end must be connected to the source bus (the bus whose wires you want to tap).
When you connect the wire end, it must be connected to a single net that
represents a single wire or a range of tapped wires (destination bus).
If you are connecting a source bus to a destination bus (sub-bus), then the
wire end must be connected to the destination bus.
3-39
Creating Schematics
Figure 3-13 shows how the bundle and wire ends must be connected to a bus. The bundle end must be connected directly to the bus you want to tap.
Bus Installation
BUS(0:7) BUS(0:7)
Wire
Wire
Yes If a bus is installed backward, you will receive an error when a Check command is executed.
No
Figure 3-13. Installing a Bus Ripper Bus rippers allow you to tap the entire source bus or a specific range of wires. That is, bus rippers are not restricted to tapping only single wires. Figure 3-14 shows an example of a bus NETS(3:0), created by bundling individual wires, and a sub-bus called STROBES(127:126) branching off a larger bus. Bus ripper components from $MGC_IC_GENERIC_LIB are used in both cases. The STROBES bus taps the bus wires NETS(3) and NETS(2) (which are the same as the wires named QB and Q, respectively), and assigns them to STROBES(127) and STROBES (126). Therefore, the following wires are equivalent: QB = NETS(3) = STROBES(127) and Q = NETS(2) = STROBES(126)
3-40
Creating Schematics
Bus Rippers
CLK o 0
CLR
QB
NETS(3:0)
3:2 STROBES(127:126)
Figure 3-14. A Bus with a Connected Sub-Bus You must alter the Rule property in a special manner when you run a group of wires from a source bus. Figure 3-15 illustrates the following rules for connecting sub-buses through the use of a bus ripper:
The Rule property value specifies a range of wires to be extracted. You can
use the following methods to identify which wires you want to tap: a. The Rule property value follows the range of nets to be ripped. The range format bus_line1:bus_line2 represents the beginning and ending wires of a range of wires to be tapped. The colon must be present between the numbers, with no intervening spaces. For example, 0:10 is a legitimate way to specify that you want to tap the first to eleventh wires of the bus as a range. b. The Rule property value can specify a group of non-sequential wires by the format wire, wire, [wire]; wire can be any wire on the bus. If the source bus wires are in ascending order, then the order of the tapped wires must be in ascending order. If the source bus wires are in descending order, then the order of the tapped wires must be in descending order. Here are legitimate examples: 0, 3, 6, 9 or 8, 6, 3.
3-41
Creating Schematics
c. The Rule property value can mix single wires with a range of wires. Here are legitimate examples: 0, 3, 5:12 or 20:10, 7 d. The Rule property can be parameterized, allowing the same schematic sheet to be used in different designs which require different wires to be extracted from a bus. Here is an example of a parameterized Rule property: w, x, y, z. In this example, a value must be supplied, using the Add Parameter command for each parameter in DVE-IC. A value can be supplied in DAIC with the Set Parameter command. If no value is supplied to the parameter in DA-IC, a warning message undefined parameters occurs when the schematic is checked.
The most significant bit and the least significant bit must match. If you
always put the least significant bit first when you name a bus, you must continue to follow that convention. The same holds true if your naming convention puts the most significant bit in the first position of the bus name.
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.
3-42
Creating Schematics
1. Place the source bus, address(7:0), an 8x1 bus ripper component, and the DRAM component onto your schematic sheet, as shown in Figure 3-16.
address(7:0)
R R R R R R R R A0 A1 A2 A3 A4 A5 A6 A7 D 4164_20
_RAS _CAS _W
Figure 3-16. Basic Layout 2. Flip the bus ripper component vertically, by first selecting the bus ripper component and then executing the Instance > Flip > Vertical popup menu item. To flip and also move the bus ripper, execute the Instance > Move > Flipped > Vertical popup menu item. 3. Draw a net segment between the wire end of each separate bus ripper to a pin on the memory component. To draw a net segment from the top-most pin on the bus ripper to the top-most pin on the memory component, perform the following steps: a. Select Add > Wire from the Add popup menu. b. Click the left mouse button on the bus ripper pin. c. Move the cursor to the corresponding pin on the memory component, and double-click with the left mouse button. d. Repeat steps b and c for all the bus ripper pins. e. Click Cancel in the prompt bar.
3-43
Creating Schematics
4. Change the Rule property of each separate bus ripper pin to indicate what wire you want your DRAM pin to match. For example, if you want pin A0 to connect to address(0), then you must change the Rule property value of the given bus ripper to 0. To change the Rule property value of each individual bus ripper, perform the following steps: a. Click the left mouse button on the Schematic palette item, and select the Text palette item. The schematic_text palette displays. b. Select [Edit] Sequence Text palette item. The Sequence Text dialog box displays as shown in Figure 3-17:
Sequence Text
New Prefix New Suffix
Sequence Type Auto Manual Choose Sequence Order... Beginning Index Number 0 Step By 1
OK
Reset
Cancel
Figure 3-17. The Sequence Text dialog box c. Type the initial index number (for this example 0) that represents the first Rule property value in the Beginning Index Number text box. d. The Step By value determines the difference between sequenced property values. You can also specify a prefix and suffix for the property values.
3-44
Creating Schematics
e. Click Auto for the Sequence Type. f. (optional) Click Choose Sequence Order... to change the sequence order. g. Click OK. h. The Select Area prompt bar displays. Move the cursor to the top of the bus ripper. Press and hold the left mouse button; move the cursor so that all the R property text is within the dynamic rectangle. Be sure no other property text is within the selected area, then release the left mouse button. DA-IC automatically replaces the Rule property values within the selected area. Figure 3-18 shows the memory component and the bus ripper after you complete the preceding steps. Note that all the original R values of each bus ripper have been changed to indicate what bus line a pin goes to.
address(7:0) 4164_20 0 1 2 3 4 5 6 7 A0 A1 A2 A3 A4 A5 A6 _RAS _CAS A7 D Q
Figure 3-18. Fully Connected Bus Ripper 5. Connect the top of the bus ripper to the address(7:0) bus with a net segment. This step does not require you to perform any special actions other than connecting the bus ripper and the address bus. Table 3-2 shows how each pin relates to the address(7:0) bus.
_W
3-45
Creating Schematics
Table 3-2. Pin and Bus Line Connections Pin Name Data Bus Connection A0 A1 A2 A3 A4 A5 A6 A7 address(0) address(1) address(2) address(3) address(4) address(5) address(6) address(7) Rule Property Value 0 1 2 3 4 5 6 7
3-46
Creating Schematics
3. Choose Copy > Multiple from one of the popup menus. In the prompt bar, enter the number of additional ripped nets you need. For example, if you need eight bus rippers, enter 7 for the number of copies. 4. Position the first copy, and click the Select (left) mouse button. The copies are created at an equal displacement.
3-47
Creating Schematics
b. Enter the name of the ripped bit beside Ripped Net Name. Make sure that you enter the entire name, such as out(3) from bus out(7:0). Giving only a bit number will result in an error during a Check Schematic. c. Click OK. The Add Property To Handle prompt bar appears. d. Click the left mouse button in the appropriate location to place the new, wide net name.
3-48
Creating Schematics
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.
Note
3-49
Creating Schematics
net bundles. Specifically, net bundle syntax requires a list to be enclosed in curly braces {}; for example, {ground,clk,data(15:0)}. A member of a net bundle is defined as a net, bus, or nested bundle contained in the list of a net bundle. If a bundle includes a nested bundle, the members of the nested bundle must be enclosed within curly braces. For example: {clk,data(15:0),{ground,out(15:0)}}. A net bundle list can be preceded by a bundle name, such names cannot be expressions or include parentheses, square brackets, curly braces, or slashes. For example: BUND{ground,clk,data(15:0)}. You can refer to an existing bundle without (again) listing its members by using the bundle name and empty curly braces, but only if the full list of members have been defined elsewhere on the sheet or on another sheet of the schematic. For example, BUND{} identifies the same net bundle as BUND{ground,clk,data(15:0)} within the same schematic. A net bundle definition can span multiple sheets of a schematic. You create a net bundle using the following steps: 1. Draw a wide net on a sheet. 2. Select the new net. 3. Use the schematic_edit palette [Name] Net item to name the net using bundle syntax within the value of the Net property. You can edit a net bundle by changing the value of the Net property. Errors caused by editing the syntax of a net bundle are identified only when the sheet or schematic is checked. For more information on creating properties, refer to Assigning Properties in chapter 7. Net bundles have the following characteristics:
A net bundle can contain nets, buses, and other net bundles. A net can be contained within different net bundles.
3-50
Creating Schematics
Only one net bundle in a schematic needs to list the contents; all other
occurrences of the net bundle can use the bundle name followed by {}.
A net that is a member within a bundle is the same as the net by itself; a new
net is not created when it is placed in a bundle.
A net bundle can have properties. However, the properties on a net bundle
are not propagated to the individual members, since a net or bus can be in multiple net bundles, and there is no way to determine which property should be used if a conflict occurs.
The order in which the members are specified in a net bundle defines their
position. Two declarations of the same net bundle, where the members are listed in a different order, will produce an error when the sheet is checked.
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.
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.
3-51
Creating Schematics
Nets are ripped by name from a net bundle; the ripped net must exist in the
net bundle.
A net bundle can contain parameterized buses. The name of a bundle member must be explicit; names generated through
evaluating an AMPLE expression are not allowed. Net bundles are named using the entire Net property. Thus the net bundle B{x,y} is named B{x,y}, whereas the bus B(3:0) is named B.
Note
3-52
Creating Schematics
All non-primitive instances must be associated with a model. Instances of symbols cannot contain references to itself.
3-53
Creating Schematics
2. Press the left mouse button to specify one corner of the rectangle, hold the button down as you move the cursor to the diagonally opposite corner of the rectangle, then release the mouse button. 3. Add pins by choosing the [Add] Pin palette item. 4. Add properties to the comment graphics. 5. Select the comment graphics, property text, and pins. 6. Execute the Edit > Make Symbol menu item. The Make Symbol dialog box displays for you to enter a component name, and (optionally), a symbol name and interface name. See Figure 3-20.
3-54
Creating Schematics
Figure 3-20. Generate Symbol Dialog Box 7. After you click OK, the newly-created symbol is checked. If it passes the required checks, the symbol is saved, and automatically registered with the default interface. The symbol is then instantiated on the sheet, replacing the comment graphics and symbol pins. Make Symbol is described in the Design Architect-IC Reference Manual.
3-55
Creating Schematics
3-56
Creating Schematics
3. You can change the default schematic and sheet names, if desired. Specify whether to replace an existing sheet of the same name. 4. When you click OK, a sheet generates with portin and portout symbols corresponding to the pins on the symbol.
Figure 3-21. Open Schematic Options Dialog Box 3. Change the default sheet name from sheet1 to sheet2.
3-57
Creating Schematics
4. Click the appropriate button if you want Auto Update Mode enabled. 5. If a specific startup file used, enter the path. Then click OK on each dialog box. 6. A new sheet is displayed in a Schematic Editor window. You need to place $MGC_IC_GENERIC_LIB/offpage.in and $MGC_IC_GENERIC_LIB/offpage.out connector symbols on the sheets to establish electrical connectivity.
3-58
Creating Schematics
7. Choose the File > Check Schematic menu item. A report generates that flags any mismatched off-page connectors and any nets having the same name, but no connectors.
3-59
Creating Schematics
3-60
Creating Schematics
Figure 3-22. Generate Symbol Dialog Box 2. Enter the pathname to the component that will contain the generated symbol in the Component Name field. 3. Enter the name of the symbol to generate in the Symbol Name field. 4. Choose radio buttons that effect the symbol to be created. The following list explains your choices:
Choose to replace an existing symbol that has the same name. Choose to how the generated symbol is initially saved.
3-61
Creating Schematics
Choose to make the symbol the active. You must choose either the Save
Symbol or Save and Edit radio buttons under Once Generated... to make the new symbol active. 5. Click the Schematic button. 6. Enter the pathname to the component that contains the schematic in the Component Name field. 7. Enter the name of the schematic in the Schematic Name field. 8. If desired, adjust the values in the Pin Spacing, Sort Pins, Component Shape fields. For information on possible values for these fields, refer to the $generate_symbol() function description in the Design Architect-IC Reference Manual. 9. Click OK when you have completed your entries in the dialog box. The generated symbol will have whiskers from the pin to the symbol body. The Pin property text will be placed at the end of the whisker inside the symbol body. Pin locations are determined by the port instances on the schematic sheet. The schematic generator always places user-defined ports on the input side of the symbol, unless the user adds a PINTYPE property to the pin and specifies the value as OUT or IXO.
Note
3-62
Creating Schematics
4. If you want to replace an existing pin list file with the same name, click the Yes radio button under Replace existing pin list file?. 5. If you want to edit the pin list, click the Yes radio button under Edit pin list file?. This opens a Notepad window with the generated pin list, after you click OK. 6. If you want the pin information sorted in alphabetical order in the pin list file, click the Yes radio button under Sort Pins?. 7. Click OK when you have completed your entries in the dialog box. For detailed information on the constructs used in the pin list file, refer to the Pin List File Format appendix in the Design Architect-IC Reference Manual.
3-63
Creating Schematics
2. Select File > Open Up. Displays the sheet one hierarchical level up from a selected instance. If the sheet is already open, it activates and pops to the front.
For information on adding or changing properties see Adding a Single Property and Changing Property Values in Chapter 7.
3-64
Creating Schematics
Nets become comment lines Symbol instances become comment text and graphics Visible properties become properties of the newly created comment object
After an object has been converted to a comment, all hidden ! properties associated with that object are deleted. This process can Caution be reversed using the Undo command.
3-65
Creating Schematics
Title blocks (can be automatically created on a new sheet) Revision blocks Page borders (can be automatically created on a new sheet) Backplane, wire wrap, and other tentative design elements Explanations, review notes, and fabrication notes
3-66
Creating Schematics
9. Click the left mouse button on the Restrict Flipped/Rotated Text button (On, Off). 10. Click the left mouse button on the line width you want (1 pixel, 3 pixels, 5 pixels, or 7 pixels). 11. Click the left mouse button on the fill type you want (Clear, Solid, Stipple). 12. Click the left mouse button on the line style you want: (Solid, Dotted, Long Dash, Short Dash, Centerline, and Phantom). 13. Click OK when comment attribute selection is complete.
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
3-67
Creating Schematics
vertex. DA-IC automatically draws a segment between the last and first vertices to close the figure.
Click the left mouse button on the [Draw] Add Arc palette item. Click at
the desired location for one end of the arc, then click at the other end of the arc. A ghost image moves as you move the cursor to define the arc point. When the arc is the desired size, click the left mouse button to place it.
Choose the Add > Draw > Two Point Line popup menu item. Press the
left mouse button at one end of the line, hold the mouse button down as you move the cursor to the other end of the line, then release the mouse button.
Choose the Add >Draw > Dot popup menu item. Click the left mouse
button at the point you want the dot.
Click the left mouse button on the schematic_text palette Add Comment
Text palette item. Enter the comment text you want to add in the prompt bar that appears, then press the Return key. As you move the cursor, a ghost image of the text appears and moves with the cursor. Move the text to the desired location, and click the left mouse button.
3-68
Creating Schematics
3-69
Creating Schematics
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
3-70
Creating Schematics
3. Execute the Add > Frame pulldown menu item. The Add Frame dialog box displays. 4. Click For. a. Type a Variable value in the text box. b. Type a Start value in the text box. c. For the Directions setting, select either To or Downto d. Type the End value in the text box. Refer to Frexp Property in Chapter 7 for a description of valid FOR frame expression syntax. When creating a net with the FOR frame expression, you must name the net if the net crosses the border of the frame. If the net does not have a name and crosses the FOR frame border, DA-IC will create multiple nets.
Note
3-71
Creating Schematics
6. Click OK. The following rules determine which nets attach to which pins of a repeating instance:
If a single bit pin is connected to a single bit net, then the net will be
connected to the pin on each repeated instance.
If a single bit pin is connected to a bus or bundle, then the width of the bus
or bundle must be equal to the number of times the instance is repeated. The pin on each repeated instance will be attached to the bus bit or bundle member in the matching position.
If a wide pin is connected to a bus of the same width, then the bus will be
connected to the wide pin on each repeated instance. Likewise, if a wide pin is connected to a net bundle of the same width, then the net bundle will be connected to the wide pin on each repeated instance.
If a wide pin is connected to a bus that is wider than the pin, then the bus
width must be equal to the width of the pin times the number of times the instance is repeated. Each sub-bus with a width equal to the width of the pin will be connected to the pin on the repeated instance. A wide pin cannot be connected to a net bundle with a different width.
A bus connected to a wide pin must be named. All other connections are illegal and result in an error during Check
Schematic. Figure 3-73 illustrates an example of a repeating instance.
3-72
Creating Schematics
INST = XINST(3:0) (1) DATA(15:0) (2) CLK (3) BP A(3:0) B(3:0) CLK X (5) X(3:0) (6) (4) NEW(3:0)
D(1:0)
Bund{N1, N2}
Figure 3-24. Repeating Instance Example Assume that the system calls the instance I$231. When the sheet is written, DAIC creates a FOR frame with the expression FOR I231_REPEAT := 3 downto 0. When the EDDM evaluates the FOR frame, it generates four instances named XINST#3, XINST#2, XINST#1, and XINST#0. Each instance has the same set of pins, A(3:0), B(3:0), CLK, X, BP and D(1:0), but some are attached to different nets. 1. The pin XINST#3/A(3:0) is attached to the net DATA(15:12); the pin XINST#2/A(3:0) is attached to the net DATA(11:8); the pin XINST#1/A(3:0) is attached to the net DATA(7:4); and the pin XINST#0/A(3:0) is attached to the net DATA(3:0). 2. The net CLK is attached to the CLK pin on each repeated instance. 3. The pin XINST#3/BP is attached to the net N1; the pin XINST#2/BP is attached to the net DATA(1); the pin XINST#1/BP is attached to the net DATA(0); and the pin XINST#0/BP is attached to the net N2. 4. The pin XINST#3/B(3:0) is attached to the net NEW(3:0), as is the pin XINST#2/B(3:0), and so on. 5. The pin XINST#3/X is attached to the net X(3), the pin XINST#2/X is attached to the net X(2), and so on.
3-73
Creating Schematics
6. The pin XINST#3/D(1:0) is attached to the net bundle Bund{N1, N2}, as is the pin XINST#2/D(1:0), and so on. The FOR frame expression is created as a to expression when the subscript is ascending, and as a downto expression if the subscript is ascending and has no parameters.
Note
Creating IF Frames
IF frames let you conditionally include circuitry in your schematic. An IF frame is created in the same way as a FOR frame, except the IF frame follows its own IF frame expression syntax. To create an IF frame follow this procedure: 1. Position the pointer at the initial edge of the frame. 2. Click and drag the mouse to the desired size of the frame, and release the mouse button. 3. Execute the Add > Frame pulldown menu item. The Add Frame dialog box displays. 4. Click the If button. a. Type a Variable value in the text box. b. Select the comparison criteria in the dialog box. c. Type the Value in the text box. Refer to Frexp Property in Chapter 7 for a description of valid IF frame expression syntax. The evaluation of an IF frame expressions results in a True or False condition.
If True, the enclosed circuitry is included in the schematic sheet. If False, the circuitry is not included in the schematic sheet.
The Check command does not check non-included circuitry. You may want to check your circuitry before you create an IF frame around it.
3-74
Creating Schematics
If the CASE frame expression evaluates to True, the circuitry is included. If the CASE frame expression evaluates to False, the framed circuit is not
included.
Setting Parameters
You need to provide a value for any variables included in frame expressions. You can set a parameter value in DA-IC which is used only when the sheet is checked. Although this value is stored with the sheet, it is not recognized outside of the sheet or by other tools. Suppose you have framed circuitry that you want repeated ten times, and the Frexp property value is FOR I = 0 TO N-1. To provide a value to be used when the sheet is checked, do the following in the Schematic Editor: 1. Choose the Add > Parameters > Set menu item to display the Set Parameter prompt bar. 2. Enter N in the parameter name text entry box, and 10 in the parameter value text entry box in the prompt bar. Click OK. Another method of assigning a value to the variable is to add a property to the symbol body representing the sheet, or to an instance of that symbol on a higher
3-75
Creating Schematics
level sheet. You can add the property to the symbol body and give it some dummy value that you change for different instances of the symbol (similar to Net and Rule property values). Here are the steps using the previous frame expression: 1. Open the component in the Symbol Editor. 2. Select the symbol body (be sure nothing else is selected). 3. Click in the symbol_text palette [Add] Property palette item. This displays the Add Property dialog box. a. Enter N for the Property Name. b. Enter 1 for the Property Value. c. Click the Property Type Number. d. Click the Stability Switch Variable buttons. e. Click the Visibility Switch On. f. Click OK. 4. Move the cursor to a location for the text, and click the left mouse button. 5. To indicate the meaning of the number on the symbol, choose the [Add] Comment Text palette item. 6. Type N= in the text entry box in the displayed prompt bar. Click OK, move the cursor to the left of the 1, and click the left mouse button. When you place the symbol on a sheet, you can change the value of N for that instance. Because the property stability is variable, its value can be changed at any time. You can also assign values to variables through backannotation and design configurations. Backannotated values take precedence over all others, followed by instance-specific values.
3-76
Creating Schematics
Note
3-77
Creating Schematics
Check Check Check Check Check Check Check Check Check Check Check Check Check Check
Schematic "dff/schematic/sheet1" Sheet "dff/schematic/sheet1" SymbolPins -------- 0 errors 0 warnings Overlap ----------- 0 errors 0 warnings NotDots ----------- 0 errors 0 warnings Closedots --------- 0 errors 0 warnings Dangles ----------- 0 errors 0 warnings INIT Properties--- 0 errors 0 warnings Function Blocks --- 0 errors 0 warnings Owner ------------- 0 errors 0 warnings Instance ---------- 0 errors 0 warnings Special ----------- 0 errors 0 warnings Net --------------- 0 errors 0 warnings Frame ------------- 0 errors 0 warnings
(MGC-required)
"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
Figure 3-25. Check Schematic Log To set up Schematic checks other than the default schematic checks, perform the following steps: 1. Activate a Schematic Editor window by placing the cursor in the schematic window. 2. Choose Setup > Check... menu item.
3-78
Creating Schematics
The Default Schematic Check Settings dialog box displays as in Figure 3-26.
Default Schematic Check Settings
Errors/ Errors No Warnings Only Check
Instance* Special* Net* Frame* Symbol Pins* Parameter Expressions Required check category* Function Blocks
Macro File:
File:
da_check_file
OK
Reset
Cancel
Help
Figure 3-26. Default Sheet Check Settings Dialog Box 3. Select the checks you want to execute by clicking the appropriate check name button. Select one of the three buttons displayed for each check.
Errors/Warnings display both error and warning messages. Errors only display errors only. No check means this check is not executed.
For more information, see Design Checks in Appendix C. 4. Press OK when check settings are complete. The check settings you set using the Setup > Check... menu item are set only while in the current DA-IC session. When you exit DA-IC, these
3-79
Creating Schematics
schematic check settings are lost. When DA-IC is re-invoked, the standard default checks are re-set.
3-80
Creating Schematics
2. Next to Options?, click the YES button. The Save Sheet As dialog box shown in figure 3-27 displays.
Figure 3-27. Save Sheet As Dialog Box 3. Enter the following information as necessary:
o Component Name: Enter a new component name o Sheet Name: o Schematic Name: o Delete Registration From Interfaces: To delete registration from
component interface(s), type the name of the component interface to delete the text entry box.
o Add Registration From Interfaces: To register the schematic to
another component interface(s), type the component interface name in the text entry box.
3-81
Creating Schematics
component interface(s), type one label per box in the text entry boxes.
o Add Labels: To add multiple labels to a component interface(s), type
one label per box in the text entry boxes. 4. Click OK. For more information on registering schematic models, see Managing/Registering Models in Chapter 5.
3-82
Creating Schematics
3-83
Creating Schematics
OK
Cancel
3-84
Creating Schematics
The Display Specific Sheet Dialog box presents a list of existing sheets that make up the schematic. In addition to the sheet name, the Display Specific Sheet Dialog box provides the edit status of the sheet(s) as Closed, Editable, Read Only, or Modified. If the sheet is open, the status of the last known Check for the sheet (Unchecked, Passed, or Failed) is displayed. To open a sheet from within the Display Specific Sheet Dialog box, double click the desired sheet. To create a new sheet for the schematic, select the Create button. The resultant dialog box allows you to enter the name of a new sheet. See Figure 3-30.
Display Specific Sheet Existing Create
OK
Cancel
3-85
Creating Schematics
If multiple sheets have been edited, you must specify which of the sheets you want to save. Upon closing a schematic, the dialog box in Figure 3-31 displays. Multiple sheets edited in schematic $TRAINING/danwp/card_reader/my_dff/schematic
Select Sheet to Save sheet1 sheet2 sheet3 Select All
Unselect All
Save Selected
Save Nothing
Cancel
Figure 3-31. Save Multiple Sheets Dialog Box All of the sheets with pending edits are selected. You can select all the sheets or selected sheets, or unselect all of the sheets. When navigating between sheets in the same window, ensure that ! any Prompt Bars (for example, Move or Add Wire) are cancelled. Caution Prompt bars are tied to a window rather than a sheet.
3-86
Creating Schematics
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.
3-87
Netlisting a Schematic
Creating Schematics
If a language file is selected, the contents of the model file displays in the Notepad editor. For information on setting up a default model editor, see Setting up a Language Model Editor in chapter 2. 5. Edit and save the model as necessary.
Netlisting a Schematic
From DA-IC, you can create SPICE and Verilog netlists with EldoNet. For more information on EldoNet, see the EldoNet Users and Reference Manual. A netlist is an ASCII text representation of a schematic design. The netlist allows downstream applications, such as Eldo or IC Station, to import and manipulate a design created in DA-IC. Before creating a netlist, you must assign the appropriate property values to the schematic design. The appropriate property values are determined by the downstream application. For more information on properties, see Chapter 7, Using Properties. For more information on netlists, see the EldoNet Users and Reference Manual.
3-88
Creating Schematics
Netlisting a Schematic
2. Select File > Export SPICE. The Export SPICE Netlist dialog box shown in Figure 3-32 displays.
Figure 3-32. Export SPICE Netlist Dialog Box 3. Select the Output Type: for the netlist. Options include:
o EldoSPICE - creates a SPICE netlist compatible with the Eldo
simulator.
o LVS - creates a layout versus schematic SPICE netlist compatible with
Calibre. See Using Advanced Options for a SPICE Netlist. 4. If necessary, select a case for object names output in the netlist. Objects include: subcircuits/modules, instances, nets, pins, ports, etc. Options include:
o Upper - Outputs object names in uppercase. This is the default setting. o Lower - Outputs object names in lowercase.
3-89
Netlisting a Schematic
Creating Schematics
5. In the Design Path data field, enter the path to the location of the design viewpoint for the design. If no design viewpoint is specified, an EldoNet viewpoint is created under the component. 6. Click OK. The SPICE netlist assumes the component name and is written to the design viewpoint directory.
3-90
Creating Schematics
Netlisting a Schematic
3. Next to Options?, click Yes. The dialog box displays the advanced options shown in Figure 3-33.
Figure 3-33. Export SPICE Options Dialog Box 4. Set the advanced options as necessary. For more information on the advanced option settings, see $export_spice() in the Design Architect-IC Reference Manual.
3-91
Netlisting a Schematic
Creating Schematics
Figure 3-34. Export Verilog Netlist Dialog Box 3. If necessary, select a case for object names output in the netlist. Objects include: modules/subcircuits, instances, nets, pins, ports, etc. Options include:
o Upper - Outputs all object names in uppercase. o Lower - Outputs all object names in lowercase. This is the default
setting.
o Uppercase Modules - Outputs module/subcircuit names in uppercase
3-92
Creating Schematics
Netlisting a Schematic
4. In the Design Path data field, enter the path to the location of the design viewpoint for the design. If no design viewpoint is specified, an EldoNet viewpoint is created under the component. 5. Click OK. The Verilog netlist assumes the component name and is written to the design viewpoint directory.
3-93
Netlisting a Schematic
Creating Schematics
3. Next to Options?, click Yes. The dialog box displays the advanced options shown in Figure 3-34.
Figure 3-35. Export Verilog Options Dialog Box 4. Set the advanced options as necessary. For more information on the option settings, see $export_verilog() in the Design Architect-IC Reference Manual. 5. Click OK. The specified netlist is written.
3-94
Creating Schematics
3-95
Creating Schematics
2. Click Create New to create a new layout cell. The Invoke IC Station dialog box expands to include additional options.
3. Enter a name for the new cell in the Cell Path field. The name can be a string containing any alphanumeric character. 4. Enter the name of the process to load in the Process field. 5. Click SDL for the Design Style, to specify Schematic Driven Layout.
3-96
Creating Schematics
6. Enter the name of the rules files to load in the SDL Rules field. 7. Specify the configuration to use in the Config Name field. A configuration consists of a viewpoint object, one or more backannotation objects, and setup information. The configuration determines which viewpoint is used and, therefore, which primitives are set in the viewpoint. For more information, see the Opening/Creating a Design Configuration section in Chapter 12, Editing in Design Context, of the Design Architect-IC Users Manual. 8. Specify the configuration setup for the configuration you want to create by clicking one of the options in the Configuration Type field.
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-97
Creating Schematics
3-98
This chapter introduces the Symbol Editor in Design Architect-IC (DA-IC) and provides procedures for creating symbols. The following topics are available:
Symbol Creation Overview Symbol Editor Features Opening a Symbol Editor Window Setting Up the Symbol Editor Setting Grid and Pin Spacing and Snap Setting Symbol Body Attributes Drawing a Symbol Body Drawing an Arc Drawing a Circle Drawing a Dot Drawing a Line Drawing a Polyline Drawing a Rectangle Drawing a Polygon Slicing Geometric Objects Joining Sliced Objects into Polylines and Polygons Adding and Naming Symbol Pins Adding a Single Pin Adding Multiple Pins Creating Consecutive Pins Adding and Naming a Pin Bundle
4-1
Creating Symbols
Bundles Connected to Ports Checking a Symbol for Errors Saving and Registering a Symbol Saving a Symbol and Deleting The Registration Saving a Symbol and Changing The Registration Registering Multiple Symbols to One Component Interface
Create symbol body graphics Set up templates for creating comments, property text, grids, and pages Edit objects (moving, copying, or deleting) Report on symbol objects' status View a symbol
4-2
Creating Symbols
Add pins and properties to the symbol Create and edit non-instantiable comments Check a symbol for errors Save and register a symbol Access online help
Use the following procedures to edit/create symbols.
4-3
Creating Symbols
4-4
Creating Symbols
Figure 4-1. Setup Symbol Body Dialog Box 2. Click on the Line Style you desire (solid, dotted, long dash, short dash, centerline, and phantom). 3. Click on the Line Width you desire (1 pixel, 3 pixels, 5 pixels, or 7 pixels). 4. Type in the Font Name you desire. Fonts and font registries for all workstations are located in $MGC_HOME/registry/fonts. The default is the stroke font. 5. Type in the Text Height you desire. The default height is 0.75 user units. 6. Type in the Text Orientation you desire (0 or 90 degrees). The default is 0 degrees (horizontal). 7. Click to set the Restricted Flipped/Rotated Text to On or Off.
4-5
Creating Symbols
8. Click on the text Vertical Justification you desire (Top, Center, or Bottom). 9. Click on the text Horizontal Justification you desire (Left, Center, or Right). 10. Click to set the Orthogonal Drawing Mode to On or Off. 11. Click on the Text Transparency you desire to On or Off. 12. Click on the Fill Type you desire (Clear, Solid, or Stipple). 13. Type in the Dot Size (diameter) you desire. The default size is 0.1 user units. 14. Click on the Dot Style you desire (Square, Circle). 15. Press OK, when symbol body attribute selection is complete.
In addition, a symbol body typically has short lines called whiskers that project from the symbol body border to indicate where the pins will be connected. These whiskers are not a required part of the symbol, but rather a convention used in the Mentor Graphics component libraries.
4-6
Creating Symbols
Access the menu items used to draw the symbol body from the Add popup menu. You can also perform these tasks by clicking the left mouse button on the appropriate symbol_draw [Add] palette item. Before you start drawing your symbol, set the dot style, dot width, line style, line width, and polygon fill that determines the attributes of the graphical entities. To use something other than the default values for these attributes, select the Setup > Symbol Body menu item to change the default values. This topic is discussed in the Setting Symbol Body Attributes procedure. All graphical entities can be selected, moved, copied, or deleted.
Drawing an Arc
To draw an arc, perform the following: 1. Click the symbol_draw [Add] Arc palette item, or choose the Add > Arc popup menu item. The Add Arc prompt bar is displayed with the location cursor on Initial Point. 2. Move the mouse so the moving pointer displays in the active window. 3. Click the left mouse button at the desired initial arc point. The location cursor in the prompt bar moves to End Point. 4. Click the left mouse button at the desired end point for the arc. The location cursor moves to Arc Point. 5. Click the left mouse button at the desired arc point location. The prompt bar disappears and the completed arc displays. The basepoint is positioned on the arc's end point. Line style and width are controlled by values specified in the Setup > Symbol Body dialog box, discussed in the Setting Symbol Body Attributes in this chapter.
Drawing a Circle
The steps in the following list outline the procedure for adding a circle:
4-7
Creating Symbols
1. Click the left mouse button on the symbol_draw [Add] Circle palette item, or choose the Add > Circle popup menu item. The Add Circle prompt bar appears with the location cursor on Center. 2. Position the moving cursor to the desired center point of the circle. Press, but do not release, the left mouse button. The location cursor moves to Circle Point. 3. Position the moving pointer to indicate the perimeter of the circle (the left mouse button is still depressed). A ghost image of the circle appears in the window. Release the mouse button. The prompt bar disappears, and the completed circle displays. The basepoint is positioned in the center of the circle. The line style, line width, and fill type of the circle are controlled by the values specified in the Setup > Symbol Body dialog box, discussed in the Setting Symbol Body Attributes of this chapter.
Drawing a Dot
To add a graphical dot, perform the following: 1. Select the Add > Dot popup menu item. The Add Dot prompt bar appears in the active symbol window. The location cursor is on At Location. 2. Click the left mouse button at the desired dot point. The prompt bar disappears and the dot displays in the active symbol window. The basepoint is positioned on the dot. Dot style and size are set by values specified in the Setup > Symbol Body dialog box, as discussed in the Setting Symbol Body Attributes section of this chapter.
Drawing a Line
To add a line, perform the following steps: 1. Select the Add > Two Point Line popup menu item. The Add Line prompt bar displays with the location cursor on Endpoints.
4-8
Creating Symbols
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.
4-9
Creating Symbols
The line style and the line width of the polyline are controlled by the values specified in the Setup > Symbol Body dialog box.
Drawing a Rectangle
To create a rectangle, perform the following steps: 1. Select the Add > Rectangle popup menu item, or the symbol_draw [Add] Rectangle palette item. The Add Rectangle prompt bar displays with the location cursor on Rectangle. 2. Position the moving pointer at the desired location of one corner of the rectangle. Press, but do not release, the left mouse button. 3. Position the moving cursor away from the initial edge with the left mouse button still depressed. A ghost image displays in the size of the rectangle. At the desired location for the diagonally opposite corner of the rectangle, release the left mouse button. The prompt bar disappears and the rectangle appears in the active symbol window. The basepoint is positioned on the lower left edge of the rectangle. The line style, line width, and fill type (clear, solid, or stipple) of the rectangle are controlled by the values specified in the Setup > Symbol Body dialog box.
Drawing a Polygon
To create a polygon, perform the following steps: 1. Choose the symbol_draw [Add] Polygon palette item, or select the Add > Polygon popup menu item. The Add Polygon prompt bar appears with the location cursor on Points. 2. Position the moving pointer at the initial point of the polygon. Click the left mouse button. 3. Move the cursor to the next polygon vertex and click the left mouse button.
4-10
Creating Symbols
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-11
Creating Symbols
In all cases, the original object is deleted and in its place are the new objects created by the slice. The new objects do not have any relationship with the old object. You have the ability to choose whether only one of the new, sliced objects inherits the properties from the original object or whether all new sliced objects inherit the properties. In either case, all of the property values are displayed in exactly the same diagram location as the original property values. For example, if a box is split into six pieces, and there is one property on the original graphics, each of the six lines will have that property and there will be six property values at the same diagram location. If you want only one piece of sliced graphics to inherit the properties, you can choose that option, then one property value only will replace the original. You can get the original object back by selecting the pieces of the geometric object, and executing the menu item Add > Polygon or Add > Polyline.
4-12
Creating Symbols
4-13
Creating Symbols
The prompt bar disappears and the pin name appears at the specified location.
Manual: Specify the pin location and text location. Name (with diamond): Specify the pin location; the text is
automatically placed next to the pin.
Name (with diamond and whisker): Specify the pin location; the pin
and whisker are created, and the text is placed next to the pin. When you choose this option, specify pin locations one pin grid away from the symbol body to allow space for the whisker. 4. Select the Pin Type property (IN, OUT, IXO) or you may omit it. 5. Select the Pin Placement specifying whether the pin is placed to the left, top, bottom, or right of the symbol body. 6. Enter the pin names (pin property values) in the dialog box, one per line. Use the Tab key to move to the next line. All pins specified at the same time have the same pintype and placement. 7. Click OK. The Add Pin prompt bar appears in the active symbol window. The name of the first pin is displayed as the Pin Property Value, whereas the location cursor is on Pin Location. 8. Click the left mouse button at the desired pin location. If you chose manual name placement, click the left mouse button at the desired pin name location. If not, the pin name is placed automatically.
4-14
Creating Symbols
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-15
Creating Symbols
6. Using F1 (Select Area Any), select the pin, whisker, and property text. 7. Choose the Copy > Multiple menu item from the popup menu. Enter 9 in the Count text entry box. Click the left mouse button one pin grid below the selected pin. The left panel of Figure 4-3 shows the result. 8. Press F2 (Unselect All). 9. Click the left mouse button on the symbol_text [Edit] Sequence Text icon. Enter the following information in the Sequence Text dialog box: a. New Prefix: P b. Beginning Index Number: 1 c. Step By: 1 d. Click OK 10. The Select Area prompt bar displays; select the pin names (1s). a. Move the cursor to P10, and press the Change Text Value function key.
4-16
Creating Symbols
b. Enter P11 in the New Value text entry box in the prompt bar, and click OK. The pins and text should look like the center panel of Figure 4-3.
IN IN IN IN IN IN IN IN IN IN 1 1 1 1 1 1 1 1 1 1 IN IN IN IN IN IN IN IN IN IN P1 P2 P3 P4 P5 P6 P7 P8 P9 P11 1 IN 2 IN 3 IN 4 IN 5 IN 6 IN 7 IN 8 IN 9 IN 11 IN P1 P2 P3 P4 P5 P6 P7 P8 P9 P11
Copy pin
Figure 4-3. Copying Pins and Sequencing Text 11. Change the select filter to select only pins, then select the pins. a. Click the symbol_text [Add] Property palette item. b. In the Add Property dialog box, choose PIN_NO from the scrolling list of property names. If it is not there, enter it in the New Property Name text entry box. Enter 1 as the property value. c. When you click OK, you are prompted for the text location. As you move the cursor in the edit window, an elastic string connects each piece of text with its pin. d. Move the cursor so the text for each pin is just above the whisker, then click the left mouse button to place the text.
4-17
Creating Symbols
12. Press F2 (Unselect All). 13. Using F1 (Select Area Any), select the newly created property text, then click the symbol_text [Edit] Sequence Text palette item. In the dialog box, specify the following:
Name Height: 0.75 Name Placement: Name with whisker Pintype: OUT Pin Placement: right side Pin name(s): O
Click OK using the Select (left) mouse button. 3. When the Add Pin prompt bar appears, place the pin to the right of pin 2. Move the OUT text to just below the pin whisker. 4. Press F2 (Unselect All). 5. Using F1 (Select Area Any), select the new pin, whisker, and property text. Copy it directly below the original, and opposite pin 9.
4-18
Creating Symbols
6. Unselect, then add another pin opposite pin 3. This pin has a Pintype property value of IXO and pin name P. 7. Select the pin, whisker, and property text. a. Choose Copy > Multiple from the popup menu. b. Enter 5 in the Count text entry box. c. Press the Tab key, and click the left mouse button below the selected pin and opposite pin 4. The IXO and OUT pins should now appear as shown in the left panel of Figure 4-4. d. Press the F2 (Unselect All) function key.
O P P P P P P O
Figure 4-4. IXO and OUT Pins on PLD Symbol 8. Select the Pin property text (O and P) and click the left mouse button on the symbol_text [Edit] Sequence Text palette item. When the dialog box displays, enter the following information: a. New Prefix: P
4-19
Creating Symbols
b. Beginning Index Number: 19 c. Step By: -1 d. Click OK 9. Press F2 (Unselect All). 10. Set the select filter to select only pins (Setup >Select Filter), then select the pins on the right side of the symbol. 11. Click the symbol_text [Edit] Add Property palette item. a. In the dialog box, choose the PIN_NO property name. b. Enter a dummy property value, such as Z (you will change it in the next step, but it should be unique). c. Click OK, and place the text just above the whisker, as you did on the left side of the symbol. 12. Press F2 (Unselect All). 13. Click the symbol_text [Select] By Property palette item. Specify the following information in the dialog box, then click OK: a. Property Name: PIN_NO b. Property Value: Z (or whatever name you gave in the previous step) c. Click the Text button 14. Click the left mouse button on the symbol_text [Edit] Sequence Text icon. When the dialog box displays, enter the following information: a. New Prefix: (no prefix) b. Beginning Index Number: 19 c. Step By: -1
4-20
Creating Symbols
d. Click OK Now the right side of the symbol should look like the right panel in Figure 4-4. 15. Finish the symbol by adding a rectangle for the symbol body, adding properties, checking, and saving. Figure 4-5 shows the finished symbol.
16HD8 1 IN 2 IN 3 IN 4 IN 5 IN 6 IN 7 IN 8 IN 9 IN 11 IN P1 P2 P3 P4 P5 P6 P7 P8 P9 P11 P19 P18 P17 P16 P15 P14 P13 P12 19 OUT 18 IXO 17 IXO 16 IXO 15 IXO 14 IXO 13 IXO 12 OUT
4-21
Creating Symbols
A member of a pin bundle is defined as a pin or wide pin contained in the list of a pin bundle. The members of a pin bundle must be enclosed within curly braces; for example, U2_pins{P8,P9,P(3:0)}. When a pin bundle is defined on a symbol, a corresponding pin bundle is also created on the part interface. When the symbol is instantiated, a pin bundle can be connected to either a net bundle or a bus, as long as the widths are the same. You create a pin bundle using the following steps: 1. Add a pin to a symbol. 2. Select the new pin. 3. Execute the Add > Properties menu item to display the Add Multiple Property dialog box. 4. Select the PIN property in the list box under Existing Property Name. 5. Name the pin using bundle syntax beside Property Value. 6. Choose the stability and visibility switches appropriate for your needs. 7. Click OK. You can edit a pin bundle by changing the value of the Pin property. Errors caused by editing the syntax of a pin bundle are identified only when the symbol is checked. For more information on creating properties, see Assigning Properties in Chapter 7. Pin bundles have the following characteristics:
A pin bundle name must be unique within the scope of the symbol.
Therefore, there cannot be two different pin bundles with the same name, or both a pin and a pin bundle with the same name.
A pin can only occur once in the list of pins of a pin bundle. A pin cannot exist both on the symbol by itself and in a pin bundle, since
this would cause multiple references to the pin on the symbol.
4-22
Creating Symbols
A pin bundle can contain other pin bundles as long as the nested bundles do
not also occur on the symbol by themselves.
A pin can belong to only one pin bundle. Connection of the items in a pin bundle to a net bundle or bus is done by
position, not by name.
A pin bundle can have properties, which are propagated to the individual
pins in the pin bundle when a design is evaluated. For more information on net bundles, refer to Creating and Naming a Net Bundle in Chapter 3.
Create a net bundle in the model using the same name and the same
members in the Net property, as those contained in the Pin property that designate the pin bundle.
Create nets in the model with the same names as the members of the pin
bundle. The nets do not have to be connected to portin or portout symbols, but their names do have to match the pins in the pin bundle.
4-23
Creating Symbols
Setup>Check Symbol... To execute the default checks, perform the following steps: To check the symbol, Click Check & Save on the symbol_draw palette menu. Errors and warnings are display in the Check Symbol window by default for each individual check. Figure 4-6 shows an example of a Check Symbol error log after a successful symbol check. This error log may be diverted to a file by choosing the Check > Set Defaults menu item, and specifying a filename in the dialog box that displays.
Check #3 alu:Symbol
Symbol "alu/alu" Body -------- 0 errors 0 warnings (MGC-required) Interface ---------- 0 errors 0 warnings Pin ----------- 0 errors 0 warnings (MGC-required) Special --------- 0 errors 0 warnings (MGC-required)
4-24
Creating Symbols
appears; click the Yes box. DA-IC saves the symbol, but does not register it to a component interface.
4-25
Creating Symbols
1. Click Open > Symbol from the session_palette. A dialog box displays to allow you to browse to find a symbol. The selected symbol displays in a Symbol Editor window. 2. Choose File > Save Symbol As from the main menu bar. The Save Symbol As dialog box appears. 3. Enter the pathname to the component that contains the first symbol in the Component Name field. For example, if the existing symbol is named 7496 and the pathname to the component is $CUSTOM_PARTS/7496 enter $CUSTOM_PARTS/7496. 4. Enter a new symbol name in the Symbol Name text box. For example, to create an alternate symbol for rotated instances of a 7496 shift register, you could enter 7496_rot for the alternate symbol name. 5. Click the OK button to close the Save Symbol As dialog box. 6. Choose the Open Symbol item from the palette to open your newly created symbol. Use the navigator to select the newly created symbol from the menu. The new alternate symbol is displayed in a Symbol Editor window. 7. Make any required changes to the alternate symbol. For example, you may want to rotate the symbol body and reposition property text. 8. Choose Check > With Defaults from the main menu bar to check the alternate symbol. A report window displays with a summary of the check. Fix any problems reported, and repeat this step.
4-26
Creating Symbols
9. Choose File > Save Symbol > Default from the main menu bar to register the alternate symbol with the default component interface. If the symbol is not valid for the component interface (for ! example, the number of pins on the symbol do not match the Caution number of pins in the component interface), the File > Save Symbol > Default menu item will query you as to whether you want to save the symbol and update the component interface. If you choose to save the symbol, any other model registered to that component interface is invalidated The symbol is now saved and registered to the default component interface. The default symbol label remains on the original symbol. 10. Execute steps 1 9 until all alternate symbols are created and registered to the same component interface. To check that the proper symbol registration occurred, activate the Symbol Editor window for one of the new symbols, and execute the Report > Property Settings menu item. This displays a report listing all component properties for the specified component.
4-27
Creating Symbols
4-28
This chapter provides a model registration overview, introduces the simulation model registration feature in Design Architect-IC (DA-IC), and provides procedures for creating and managing models. The following topics are available:
Registering Models for Simulation Supported Modeling Types Invoking the Model Registrar Create Mode Manage Mode Edit Mode Choosing a Model Registering a Model to an Existing Symbol Editing an Existing Symbol for a Model Generating a Symbol for a Model Creating a Symbol for a Model Registering a Model from a Symbol Mapping a Model to a Symbol Setting a Default Model Registration Checking a Model Registration Viewing the Registered Models for a Symbol Editing a Model Registration Renaming a Model Registration Copying a Model Registration Deleting a Model Registration
5-1
Managing/Registering Models
Restoring Deleted Model Registrations Closing the Model Registrar Using the Model Registrar in Batch Mode
Instantiate it on a schematic design. Use it interchangeably with other models. Netlist and simulate a design containing it.
Several registered models can be used interchangeably for a component of a design, each model having different physical and/or electrical characteristics or language types.
5-2
Managing/Registering Models
EldoSPICE - SPICE files compatible with Eldo. Schematic schematic models cannot be registered through Model
Registrar. However, they can be edited and manipulated.
Create Mode Displays the Create dialog box allowing you to create new
model registrations. For more information, see Create Mode in this chapter.
Manage Mode Displays the Model Registrar dialog box allowing you to
create new model registrations or edit, copy, delete, and rename existing model registrations. For more information, see Manage Mode in this chapter.
Edit Mode Displays the Model Registrar dialog box allowing you to
edit the symbol to model parameter and pin mapping. To invoke this mode, an instance with a valid registered model associated with it must be selected. For more information, see Edit Mode in this chapter.
Batch Mode Invokes the Model Registrar from the command line and
displays the appropriate Model Registrar dialog box depending on which of the three modes is specified: create, manage, or edit. For more information on these three modes, see sections Create Mode, Manage Mode, and Edit Mode. For more information on batch mode, see section Using the Model Registrar in Batch Mode.
5-3
Managing/Registering Models
Create Mode
From the Session window, choose File > Model Registration > Create or from the Schematic_edit palette menu, choose Model Registration > Create. The Create dialog box shown in Figure 5-1 displays.
5-4
Managing/Registering Models
Manage Mode
Select a symbol instance and choose Model Registration > Manage from the Schematic_edit palette menu. The Model Registrar dialog box shown in Figure 5-2 displays.
Edit Mode
Select the symbol instance and choose Model Registration > Edit from the schematic_edit palette menu. The Model Registrar dialog box shown in Figure 5-3
5-5
Managing/Registering Models
displays. If there is an invalid model registration associated with the selected instance, the Manage Mode is invoked.
Figure 5-3. Model Registrar Dialog Box To invoke the Edit mode, an instance with a valid model registration associated with it must be selected. The VIEW=<language>=<entry> must be present on the instance.
Note
5-6
Managing/Registering Models
Choosing a Model
Use the following steps to choose a model when creating a new model registration: 1. From the Session menu bar, choose File > Model Registration > Create. The Create dialog box displays.
2. Select a Model Type. For more information, see Supported Modeling Types in this chapter. Depending on the model type specified, the dialog box changes to display list boxes specific to the model type.
5-7
Managing/Registering Models
specified in the adms.ini file should display in the Library list box. The design units contained in the highlighted library should display in the Design Unit list box. If no libraries display, select the File > Model Registration > Choose adms.ini File and specify an adms.ini file. For more information, see Supported Modeling Types in this chapter.
o ELDOSPICE - Click Choose File next to the Model File field and
select the file containing the SPICE models. The subcircuits contained in the file display in the Sub-Circuit list box. 4. Select the model to register from either the Design Unit or Subcircuit list box.
5-8
Managing/Registering Models
5. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.
By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Register and select the NCF to save the model registration to.
5-9
Managing/Registering Models
3. Select a symbol in the list box and click Open Symbol. The Symbol Editor displays the symbol. 4. Edit the Symbol. For more information on using the Symbol Editor, see Chapter 4, Creating Symbols. 5. Click Check & Save. If the new symbol has no errors, it is saved, and the Create dialog box displays. For information on correcting errors, see Checking a Model Registration in this chapter. 6. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 7. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.
By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Register and select the NCF to save the model registration to.
5-10
Managing/Registering Models
with the model name in the working directory. Any existing symbols in the component container display in the Symbol list box.
3. Enter the name for the symbol and click Add New. The symbol name is inserted in the Symbol list box. 4. Select the new symbol in the Symbol list box and click Symbol Layout Properties. The Symbol Layout Properties dialog box displays.
5. Next to the Pinlist File field, click Choose File to specify a name and location to write the pinlist file to. A pinlist is created from the symbol attributes specified in this dialog box. DA-IC generates a symbol using the pinlist. If no filename is specified, the pinlist is saved to the Component path with the symbol name.pinlist.
5-11
Managing/Registering Models
6. Click the arrow in the Choose Shape data field and choose a symbol shape from the list. 7. If necessary, modify the values in the following fields:
o Pin Spacing - The minimum spacing requirements for the selected
symbol shape display by default. For more information on pin spacing units and current setups, see Setting Grid, Pin Spacing and Snap in Chapter 3.
o Shape Arguments - The minimum width and height size requirements
for the selected symbol shape display by default. For more information on spacing units and current setups, see Setting Grid, Pin Spacing and Snap in Chapter 3. 8. Select the appropriate attributes for each of the symbol pins and click OK. The Create dialog box displays. For more information on pin attributes, see Adding and Naming Symbol Pins in Chapter 4.
Click on a pin name in the Pin Name field of the Symbol Layout Properties dialog box to edit it. If you change pin names, you need to re-map symbol pins to model ports.
9. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 10. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.
By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to.
5-12
Managing/Registering Models
3. Enter the name for the symbol and click Add New. The symbol name is inserted in the Symbol list box. 4. Select the new symbol in the Symbol list box and click Open Symbol. The Symbol Editor displays a blank page. 5. Create the Symbol. For more information on using the Symbol Editor, see Chapter 4, Creating Symbols.
5-13
Managing/Registering Models
6. Click Check & Save. If the new symbol has no errors, it is saved, and the Create dialog box displays. For information on correcting errors, see Checking a Model Registration in this chapter. 7. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 8. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.
By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to. If the model registration contains errors, the edit mapping dialog box displays. For more information, see Mapping a Model to a Symbol and Checking a Model Registration in this chapter.
5-14
Managing/Registering Models
2. Choose Model Registration > Registration > Create from the palette menu. The Model Registrar dialog box displays with the symbol name and location filled in.
3. Specify a model. For more information, see Choosing a Model in this chapter. 4. Enter a name for the new registration in the Registration field. If no name is entered, the model name is used. 5. Click Register to automatically perform the registration or Edit Mapping to manually map the symbol to the model. For more information, see Mapping a Model to a Symbol in this chapter.
By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to.
5-15
Managing/Registering Models
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
5-16
Managing/Registering Models
o Click Map by Name Maps the Model Ports to the Symbol Pins with
Pins and click Map Selected Maps the selected port and pin together and displays them in under Mapped Pins.
o Select a pin/port pair under Mapped Pins and click
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.
5-17
Managing/Registering Models
Model parameters
Symbol properties
Current mappings
4. Map the desired Model Parameters to the Symbol Properties using one of the following methods:
o Click Map by Name Maps all Model Parameters to the Symbol
Properties with matching names. The Model Registrar defaults to this mapping automatically.
o Select a parameter under Model Parameters and a corresponding
property under Symbol Properties and click Map Selected Maps the selected parameters and properties together and displays them under Mapped Parameters.
5-18
Managing/Registering Models
5. When you finish mapping the model to the symbol, click Register to complete the model registration.
By default, the model registration is written to the Component NCF. To specify which NCF the model is written to, click the right mouse button on Registration and select the NCF to save the model registration to.
5-19
Managing/Registering Models
5-20
Managing/Registering Models
2. Select the symbol and choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.
Validity status
registration.
o TD Indicates the default model.
5-21
Managing/Registering Models
Symbol pins and model ports match the registration pin alignment. All model parameters are mapped to symbol properties or have a default
value.
Model and symbol have not been modified since the registration was
created. If the checks do not pass, a descriptive error message displays in the Model Registrar transcript window. Use the following steps to check an existing model registration: 1. Open the schematic design and select the symbol instance. 2. Choose Model Registration > Registration > Manage from the palette menu. The Model Registrar dialog box displays.
3. Select the model to check. Each model is preceded by a check status indicator as follows: Indicates the model passed all checks and is considered valid.
5-22
Managing/Registering Models
Indicates the model has not been checked. Indicates the model has been checked and that it contains errors. Click on the icon to display an error description. 4. Choose Registration > Check Registration. The selected model is checked and the status indicator is updated to reflect the current status. To check all registrations listed, choose Registration > Check all Registrations.
Note
If the model still contains errors, check the symbol-to-model mapping. For more information, see Mapping a Model to a Symbol in this chapter.
5-23
Managing/Registering Models
3. Select the model you need to edit and choose Registration > Edit Registration from the pulldown menu. The Model Registrar dialog box displays.
4. If necessary, click Open Symbol to edit the symbol for the model registration with the Symbol Editor. For more information, see Editing an Existing Symbol for a Model in this chapter. 5. If necessary, click the button next to Default Registration to specify the model registration as the default. For more information, see Setting a Default Model Registration in this chapter.
5-24
Managing/Registering Models
6. If necessary, click the Pin Alignment tab to edit the model port to symbol pin mapping. For more information, see Mapping a Model to a Symbol in this chapter. 7. If necessary, click the Parameter Alignment tab to edit the model parameter to property mapping. For more information, see Mapping a Model to a Symbol in this chapter. 8. Click Save to save the changes to the model registration. The Model Registrar dialog box displays. 9. Check the registration. For more information, see Checking a Model Registration in this chapter.
5-25
Managing/Registering Models
3. Select the model you need to rename and choose Registration > Change Registration Name from the pulldown menu. The Change Registration Name dialog box displays.
5-26
Managing/Registering Models
3. Select the model registration you need to copy and choose Registration > Copy Registration from the pulldown menu. The Copy Registration dialog box displays.
4. Click the arrow in the lower data field to display a list of writable NCFs. 5. Select an NCF to copy the registration to. If nothing is selected, the registration is copied to the same NCF the original resides in. 6. Click OK. The model registration is copied to the selected NCF.
5-27
Managing/Registering Models
3. Select the model registration you need to delete and choose Registration > Delete Registration. The selected model registration is deleted. If multiple model registrations with the same name exist, only the model registration in the highest priority NCF is deleted. If another model registration with the same name is contained in another NCF, it displays.
Note
3. Click Close. The Deleted Registrations window closes. If you exit the Model Registrar with registrations in the trash bin, you are prompted to delete or restore them.
5-28
Managing/Registering Models
To register HDL models, the anacad environment variable must be set and anacad must be initialized as shown:
Note set anacad <path to anacad software tree> . $anacad/com/init_anacad
Creating a Batch File Using Model Registrar From a Shell Creating a Batch File Using Model Registrar From Within Design
Architect-IC Creating a Batch File Using Model Registrar From a Shell
To use Model Registrar from a shell, the ADMSIM environment variable must be set to the path of the adms.ini file.
Note
5-29
Managing/Registering Models
To register a single model and write the registration to a batch file, invoke the Model Registrar from a shell using the create option as shown:
$MGC_HOME/bin/mr_ic -create -tobatch batch_file -mrf <mapping_rule_file>
-create Invokes the Model Registrar in create mode for a single model registration. -tobatch Captures model registration information in the batch_file file. -mrf Creates a mapping rule file containing the pin and parameter mapping rules used for this registration. If no mapping_rule_file argument, the following default mrf file is used
component_directory/<symbol>_<entry_name>.mrf
Register as many models as you want using the create option; the registration information is appended to the batch_file and the mapping rules are saved in individual mapping_rule_file files. You can also invoke the Model Registrar using the manage option from a shell and register multiple models. For complete command syntax, execute the following command from a shell:
$MGC_HOME/bin/mr_ic -help
Creating a Batch File Using Model Registrar From Within Design Architect-IC To register multiple models and write the registration to a batch file, invoke the Model Registrar from Design Architect-IC by clicking Model Registration > Manage from the session palette. This action is equivalent to invoking in manage mode from a shell as shown below:
$MGC_HOME/bin/mr_ic -manage
To specify the -tobatch option in this mode, choose Options > Setup from the Model Registrar to display the Setup Model Registration dialog box. Use this dialog box to create a mapping rule file, a batch file, and a log file while in manage mode. To begin registering models in this mode, choose Registration > Create Registration. You can register as many models as you want using this method,
5-30
Managing/Registering Models
and the registration information is appended to the batch_file and the mapping rules are saved in individual mapping_rule_file files.
Table 5-1 presents typical values for entries in the batch file. Note that soft pathnames, that are present in the location map, are supported. Table 5-1. Example Registration Argument Values
Model Language Model Library Model Name Component Path Symbol Name HDL WORK INV(ADMS) EldoSpice Schematic Required/ Optional
$DESIGN/symbols/ $DESIGN/symbols/ $DESIGN/symbols/ Required Inv Inv Inv Inv Inv Inv_spice 0 Inv Inv_schematic 3 Required Optional Optional
5-31
Managing/Registering Models
$DESIGN/symbols/ $DESIGN/symbols/ $DESIGN/symbols/ Optional Inv/Inv.pinlist Inv/Inv.pinlist Inv/Inv.pinlist $DESIGN/symbols/ $DESIGN/symbols/ $DESIGN/symbols/ Optional Inv/Inv_hdl.mrf Inv/Inv_spice.mrf Inv/Inv_schem.mrf
In the batch file, the NCF Destination argument is specified as follows: 0: User NCF 1: Component NCF 2: Library NCF 3: Global NCF For more information about the NCF Destination, refer to the section Determining a Location for the NCF in Chapter 2 of the EldoNet Users and Reference Manual. Table 5-2 lists default values for the optional arguments in a batch file entry. Table 5-2. Default Values for Optional Arguments
Model Language Registration Name NCF Destination Pinlist Path Default Value Model Name NCF Component (1) <symbol_registrationname.pinlist> in the component directory If the file does not exist in the default location, the argument is ignored.
Mapping Rule File Path <symbol_registrationname.mrf> in the component directory If the file does not exist in the default location, the argument is ignored.
5-32
Managing/Registering Models
Batch File Processing Batch files are processed according to the following rules:
An entry line in the batch file is skipped if the Model Registrar cannot
register or if some information is missing. An error message is added to the log.
If the symbol does not exist, or if there is no mapping rule file, the argument
is replaced by "". The other optional arguments are replaced by "" to be ignored.
If the symbol is already registered, you can re-use the pinlist file generated.
It resides in the component directory under the name <symbol_registrationname>.pinlist. If the pinlist file is not defined and the symbol does not exist, the symbol is generated with default characteristics (box shape, default pin locations).
Name Mapping Maps the ports with the pins according to their names. Alphanumerical Mapping Maps the ports with the pins according to their
alphabetical order.
5-33
Managing/Registering Models
Specified Mapping Maps the specified ports with the specified pins.
Mapping Rules Files Syntax The .mrf file must use the following case-sensitive syntax: set pinMappingRules <pinRule> set propMappingRules <propRule>
The pinRule and the propRule can be one of the following: name, alpha,
specific.
If the rule is specific for the pinMappingRules, the following lines should
be added: set portMappingRuleList {<port1> <port2> <port3>} set pinMappingRuleList {<pin1> <pin2> <pin3> <pin4>} set portOpenRuleList {<port4>} In this case, <port1> will be mapped with <pin1>, <port2> will be mapped with <pin2>, and so on. <pin4> will be left unmapped. <port4> will be OPEN.
If the rule is specific for the propMappingRules, the following lines should
be added: set paramMappingRuleList {<param1> <param2> <param3> <param4>} set propMappingRuleList {<prop1> <prop2> <prop3>} In this case, <param1> will be mapped with <prop1>, <param2> will be mapped with <prop2>, and so on. <param4> will be left unmapped. If a pin or param mapping is not defined for an instance, it remains unmapped.
5-34
Managing/Registering Models
-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-35
Managing/Registering Models
5-36
This chapter describes Function Block (FB) creation, manipulation, and conversion procedures. Function Block creation involves the following two-step process: 1. Creating FB Definitions and FB Instances - this procedure involves assembling and manipulating FB Definitions and FB Instances. 2. Creating Made FB Definitions and FB Instances - this operation converts existing unmade FB Definitions or FB Instances to Made FB Definitions or Made FB Instances. Do not edit Function Blocks in simulation mode or design context. ! Use the Schematic Editor only to create or edit Function Blocks. Caution All Function Blocks must be made before you invoke simulation mode or design context.
Refer to the Terminology section in Chapter 12 for additional Function Block Terminology.
6-1
Chapter Structure
Chapter Structure
Setting up a Function Block Creating Made FB Definitions and FB Instances Net Construction Manipulating FB Definitions and FB Instances Creating Made FB Definitions and FB Instances Unmaking Made FB Definitions and Made FB Instances Checking Function Blocks Set a made or unmade Function Blocks default line style and color settings. Create FB Definitions and FB Instances. Connect FB Definitions and FB Instances. Edit and manipulate FB Definitions and FB Instance. Produce Made FB Definitions and Made FB Instances from FB Definitions and FB Instances. Return Made FB Definitions and Made FB Instances to their unmade form. Test either made or unmade Function Blocks using the $$check() function.
6-2
Note
Use the following steps to set the default line style for a Function Block: 1. Invoke Design Architect-IC and open the appropriate sheet.
6-3
2. Select Setup > Function Blocks.... The Setup Function Blocks dialog box shown in Figure 6-1 displays.
On Off
OK
Reset
Cancel
Figure 6-1. Setup Function Blocks Dialog Box 3. Select the appropriate line style(s). 4. Select whether passthru nets are on or off. For more information regarding passthru nets, refer to Constructing Passthru Nets in this chapter. By default, passthru nets are on. 5. Select whether the Make Failure Popup notification is issued if errors are detected while Creating Made FB Definitions and FB Instances. 6. Select whether the Interface Change popup is issued if Interface Pin Changes are detected during the Make Operation. 7. Once the Selections are made, click OK.
6-4
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-5
3. Click the appropriate radio button to select the object, then use the scroll list to select that objects desired color. 4. Click OK. In addition, you can capture this setting in a startup file using the $set_color() function and, subsequently, you can pre-load the startup file during invocation. Both the line styles and colors for a specific Function Block object can be set onthe-fly during a session. For more detailed information, refer to Setting Colors On-the-Fly in this chapter.
6-6
Table 6-1. Function Block-Specific Properties Property FB_INST Definition Optional - A user-specified string property identifying the future Made FB Instances name. This property can be used for arrayed FB Instances, for example RAM_INST[15:0]. Note: When an FB Instance or FB Definition is made, this property becomes the standard symbol INST property.
The Add Popup Menu, described in Figure 6-3, contains the available Function Block functions.
Add Function Block Instance $add_fb_inst() Add Function Block Definition $add_fb_def() Add Function Block Pin $add_fb_pins()
6-7
An FB Definition is primarily used to initially design and manipulate the contained circuitry, as well as the FB Definition boundary, in a variety of different ways depending on the intended use. An FB Instances principal application is FB Definition reuse. An FB Instance can be resized and have pins, moved, or deleted. Note that an FB Instance is based on an existing FB Definition. For additional information and usage instructions, refer to the Manipulating FB Definitions and FB Instances section in this chapter.
Creating FB Definitions
Follow the steps below to add FB Definitions to a schematic sheet. 1. Invoke Design Architect-IC and open a schematic sheet. 2. Navigate to a schematic area where you want to create the FB Definition. For example, Figure 6-4 is a simple circuit to be used inside an FB Definition.
6-8
Figure 6-4. Example Schematic FB Definitions cannot contain internal ports or external connectors.
Note
3. To define the FB Definitions rectangular extent, right click within the schematic window to call the Add Popup menu. After an FB Definition is created, it can be resized, moved, or copied. Refer to the Manipulating FB Definitions and FB Instances section in this chapter for specific instructions.
Note
Figure 6-5 shows the Function Block menu options in the Add popup menu.
6-9
Figure 6-5. Function Block Options in the Add Popup Menu This option is also available using the Schematic Add pulldown menu. 4. From the Add popup or pulldown menu, choose Function Block Def: The Add Function Block Definition prompt bar displays.
Function Block Inst Name (optional)
ADD FB D FB Name
rect
INST Name
OK
Cancel
6-10
Note
are applied automatically to the FB Definition in the upper left- and upper right hand-corners of the rectangle, respectively.
o Manual - If selected, the user manually places the FB_NAME and, if
used, FB_INST propertys name, to the FB Definition. 5. Within the Add Function Block Definition prompt bar, perform the following steps: a. Enter the FB Definitions name in the prompt bars FB Name field. b. If used, enter the FB Instances name in the prompt bars INST Name field. c. Use the stepper button to select either Auto or Manual Name Placement. Auto is the default selection. 6. Verify the settings, then click OK. The prompt bar will not close until you create the FB Definitions bounded rectangular area on the schematic sheet. The rectangular area must be larger than a 1x1 pin grid and always snaps to the grid. 7. Move the cursor over to the upper-left corner of the circuit. The cursor turns to a + to create the FB Definitions rectangle.
6-11
8. Position the cursor and hold down the left mouse button, then drag the cursor over the circuitry elements you want included within the FB Definition. Figure 9 provides an example of this step.
Schematic#1 source1 sheet1
9. After positioning the rectangle, release the left mouse button. The FB Definitions rectangle boundary, represented by dashed lines, is now instantiated and remains selected. Figure 6-6 provides an example of an instantiated FB Definition assigned the FB_NAME property of mux and the optional user-specified FB_INST property of mux_1.
6-12
FB_NAME Property
FB_INST Property
mux
mux_1
Definition Boundary
Figure 6-6. FB Definition Example The FB Definitions rectangular boundary default color is green. If required, the default colors are modified in accordance with the instructions contained in the Setting up a Function Block or Setting Colors On-the-Fly sections in this chapter. Once the FB Definition is created, you can add FB Pins to connect the object. For detailed procedures, refer to the Adding FB Pins section in this chapter.
Creating FB Instances
FB Instances are designed to reuse an existing FB Definition. FB Instances cannot enclose other schematic objects and the design must contain exactly one parent
6-13
FB Definition with a matching FB_NAME property. The following two methods are used in creating FB Instances: 1) Using the Miscellaneous > Convert Function Block > Create Instance From Definition pulldown menu item, or 2) Using the Add Popup Menu. 1. Using the Create Instance From Definition Menu Item - This is the most efficient method for creating FB Instances. Once an FB Definition is constructed, an FB Instance is created from the existing FB Definition for reuse within the schematic. For example, you can create the FB Instance in Figure 6-10, on page 6-17, from the existing FB Definition in Figure 6-18, on page 6-25, and place the Instance on the active sheet. Perform the following steps to create an FB Instance from an existing FB Definition: a. Open the schematic that contains the FB Definition and select the FB Definitions rectangular boundary. b. Use the right mouse button (or the F4 function key) to call the Function Block popup menu. This option is also available via the Schematic Miscellaneous > Convert Function Block pulldown menu. c. Within the Function Block popup menu, select Convert Function Block > Create Instance from Definition, as demonstrated in Figure 6-7.
6-14
Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align Instance to Definition Create Instance from Definition
Figure 6-7. Function Block Popup Menu d. The Create Function Block Definition from Instance prompt bar is called as shown in Figure 6-8.
CRE FB I F D
At Location
OK
Cancel
6-15
e. Upon execution, move the white-bounded FB Instance ghost image to the appropriate location on the schematic sheet, as shown in Figure 6-9.
Schematic #1 source1 sheet1
mux
mux_1
Figure 6-9. Positioning a FB Instance f. Click the left mouse button to place the FB Instance.
6-16
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 chapters Manipulating FB Definitions and FB Instances section in this chapter for specific instructions.
6-17
2. Using the Add Popup Menu - Figure 6-11 is an example FB Definition parent that serves as the FB Instances basis:
Schematic#1 source1 sheet1
mux
Figure 6-11. Example FB Definition To create an FB Instance, use the following procedure: a. On the active sheet containing the FB Definition, navigate to a schematic area where you want to create the FB Instance. b. To define the FB Instances rectangular extent, right click within the schematic window to call the Add Popup menu. Figure 6-12 shows the Function Block menu options in the Add popup menu that are available for use.
6-18
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 userspecified name. This is also the FB_NAME property.
6-19
Note
6-20
The prompt bar will not close until you create the FB Instances bounded rectangular area on the schematic sheet. The rectangular area must be larger than a 1x1 pin grid and snaps to the grid. g. Move the cursor over the schematics extent. The cursor turns to a + to create the FB Instances rectangle. h. Position the cursor and hold down the left mouse button and, by dragging the cursor across the sheet, create the FB Instance. Figure 6-13 provides an example of this step.
Schematic#1 source1 sheet1
Figure 6-13. FB Instance Creation Example i. After positioning the rectangle, release the left mouse button. The FB Instance rectangle, represented by dashed lines, is now instantiated and remains selected. Figure 6-14 provides an example of
6-21
an instantiated FB Instance based on the FB Definition mux and containing the optional user-specified FB_INST property of circuit_01.
Function Block Name Function Block Instance Name
mux
circuit_01
Figure 6-14. FB Instance Example The FB Instances rectangular boundary default color is yellow. If required, the default colors can be modified in accordance with the instructions contained in the Setting up a Function Block and Setting Colors On-the-Fly sections in this chapter. Once the FB Instance is created, you can add FB Pins to connect the object. For detailed procedures, refer to the Adding FB Pins section in this chapter. In addition, unmade FB Instances can be resized, moved, or copied. For specific instructions, refer to the Manipulating FB Definitions and FB Instances section in this chapter.
6-22
Adding FB Pins
Perform the following steps to add FB Pins to FB Definitions and FB Instances: Every FB Definition or FB Instance must have at least one pin. The pins are placed on the top, bottom, or left and right sides of an unmade FB Definition or FB Instance. However, FB Pins cannot be placed on the boundary corners. Refer to the FB Pins section in Chapter 12 for more information.
Note
1. Within the schematic, press the right mouse button and select Function Block Pins: from the Add popup menu, shown in Figure 6-15:
Figure 6-15. Function Block Pins in the Add Popup Menu The Add Function Block Pin prompt bar is called, as shown in Figure 6-16:
ADD FB P loc
OK
Cancel
6-23
2. Move the cursor to the position where the net intersects the FB Definitions or FB Instances boundary, as shown in Figure 6-17, or to any other location on the FB Definitions or FB Instances rectangular boundary.
Add Pin Here
mux
mux_1
Figure 6-17. FB Pin Placement 3. Position the cursor and press the left mouse button to place the FB Pin. 4. Repeat Step 2 for the remaining user-specified locations on the FB Definition or FB Instance.
6-24
Net Construction
mux
mux_1
Net Construction
Prior to creating FB Definitions and Instances net connections, review the FB Definition and FB Instance Net Constructs section in Chapter 12.
Note
Use the following procedures to add wires, bundles, and busses to existing FB Definitions and FB Instances:
6-25
Net Construction
6-26
Net Construction
3. Next, create an FB Definition and enclose the circuitry within the FB Definitions rectangular boundary. For detailed procedures, consult the Creating FB Definitions section in this chapter. Continuing with the example circuit in Figure 6-19, an FB Definition is created with the circuitry confined within the FB Definitions boundary, as demonstrated in Figure 6-20:
Figure 6-20. Example of an Enclosed Circuit within an FB Definition 4. Add FB Pins to the FB Definitions boundary following the steps in the Adding FB Pins section in this chapter.
6-27
Net Construction
5. Connect the internal circuits input and output nets to the respective FB Pins, as demonstrated in Figure 6-21.
mux
mux_1
6-28
Net Construction
3. Add ports and other I/O objects, as appropriate. An FB Definition is used in either a connected or unconnected state. See Usage Paradigm in Chapter 12 for additional information.
Note
6-29
possible errors. To do this, follow Checking Function Blocks procedures in this chapter.
Converting FB Instances to FB Definitions Selecting FB Definitions and FB Instances Adding or Removing Objects from within an FB Definition Stretching or Resizing FB Definition and FB Instance Boundaries Setting Colors On-the-Fly
This section only applies to FB Definitions or FB Instances: Once a Function Block is made, it must be reverted to its original unmade and editable FB Definition or FB Instance before it can be edited. Refer to the Unmaking Made FB Definitions and Made FB Instances section in this chapter for specific procedures.
Note
6-30
You can manipulate FB Definitions and FB Instances in the following ways: 1. Add or remove objects from within an FB Definitions rectangular boundary. 2. Add, move, or remove FB Pins from the FB Definitions boundary. 3. Stretch or resize an FB Definitions or FB Instances boundary rectangle.
6-31
Selection Filter will allow selection of: Comments Frames Instances Nets Pins Properties Reset to MGC Defaults Segments Symbol Pins Comment Text Vertices FBs FB Pins Set All Clear All
OK
Reset
Cancel
Figure 6-22. Setup Select Filter Dialog Box By default, the FBs (Function Blocks) filter is selected. 2. Click the appropriate radio buttons, then click OK. The Select Filter now selects the specified objects.
6-32
In addition, FB Definitions can contain other FB Definitions and FB Instances, but recursion of these objects is not allowed. FB Pins can also be added and removed from the FB Definition (or FB Instance), however, special procedures must be followed if the FB Definition has been made, then unmade. For more information, see Interface Pin Changes in this chapter.
2. Navigate to the FB Definition or FB Instance you want to resize. 3. Place the mouse pointer on the FB Definitions or FB Instances boundary and click the left mouse button to select the object. 4. With the object selected, press the F4 key to open the Function Block popup menu. 5. Within the Function Block popup menu, click on Resize as shown in Figure 6-23:
6-33
Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align
Figure 6-23. Resize in the Function Block Popup Menu The Stretch prompt bar displays, as shown in Figure 6-24.
Stretch Begin
End
OK
Cancel
Figure 6-24. Stretch Prompt Bar 6. Place the active cursor on the FB Definitions or FB Instances rectangular boundary, then press and hold the left mouse button. Refer to Figure 6-25 below.
6-34
mux
mux_1
Stretch Begin
End
OK
Cancel
Figure 6-25. Stretch Operation 7. With the left mouse button still pressed, move the mouse to stretch the FB Definitions or FB Instances rectangular boundary. 8. Release the left mouse button to complete the stretch operation.
6-35
Note that this method only applies to Function Block objects created after the dialog box is called and does not affect existing Function Block objects on the active schematic sheet. To temporarily alter new Function Block objects colors, perform the following steps: 1. Within the Schematic Editor, choose the Setup > Color... pulldown menu item. The Setup Color Dialog box is called as shown in Figure 6-26.
Setup Color
Violet VioletRed Wheat White Yellow YellowGreen
Made Function Block Insts Unmade Function Block Insts Made Function Block Defs Unmade Function Block Defs
OK
Reset
Cancel
Figure 6-26. Setup Color Dialog Box 2. Click the appropriate radio button to select the object, then use the scroll list to select that objects desired color. 3. Click OK.
6-36
If a Function Block is made and unmade, then the objects color changes to the current settings.
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.
6-37
Procedures
Use the following procedure to create Made FB Definitions and Made FB Instances from FB Definitions and FB Instances: 1. Creating Selected FB Definitions or FB Instances Use this procedure to create Made FB Definitions and Made FB Instances from selected, or a single, FB Definition(s) and FB Instance(s), respectively: a. Navigate to the appropriate FB Definitions and/or FB Instances on the active sheet.
6-38
mux
IN_1
mux_1
OUT_1 IN_2
IN_3
Figure 6-27. FB Definition Illustration b. Select the appropriate FB Definition and/or FB Instance.
For more information on Function Block object selection procedures, refer to Selecting FB Definitions and FB Instances in this chapter. c. Press the F4 key (or the right mouse button) to call the Function Block Popup menu. d. Within the Function Block popup menu, choose the Make Function Block > Selected... menu option.
6-39
The selected FB Definitions and/or FB Instances are converted to Made FB Definitions and/or Made FB Instances, and changed to a sandy brown color, as in Figure 6-28 below.
mux
mux_1
IN_1
OUT_1 IN_2
IN_3
Figure 6-28. Made FB Definition Example At this point, the Made FB Definition or Made FB Instance can be unmade, if necessary. To do this, follow the procedure in the Unmaking Made FB Definitions and Made FB Instances section in this chapter. 2. Creating All Made FB Definitions and/or Made FB Instances on a Sheet Use this procedure to create Made FB Definitions and/or Made FB Instances for all unmade FB Definitions and/or FB Instances on the active sheet:
6-40
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.
Underlying sheet Check errors. Symbol Check errors. Content and pin Check errors.
6-41
The following FB definitions have been re-made with interface pin changes. FB instances of these definitions should be un-made and re-made to reflect the changes MUX_1 Ok
Figure 6-29. Interface Pin Change Notification Box The following events normally cause this situation to occur: 1. An FB Definition has been created and FB Instances are created from the FB Definition. Then, the FB Definition is deleted from the sheet, and a new FB Definition is created with the deleted FB Definitions name. 2. A Made FB Definition is converted (unmade) back to an FB Definition, the FB Pins are modified (that is, added, moved, or deleted), and then the FB Definition is changed back into a Made FB Definition. In the event this message is received, unmake the Made FB Instance(s) identified in the notification message, for example, MUX_1 in Figure 6-29, then remake the FB Instance(s).
6-42
Made FB Definitions or Made FB Instances layer-by-layer from top down, as specified by the user. The $undo() function cannot unmake a Made FB Definition or Made FB Instance.
Note
Use the following procedures to unmake Made FB Definitions and/or Made FB Instances: 1. Unmaking Selected Made FB Definitions and/or Made FB Instances a. Navigate to the appropriate Made FB Definition or Made FB Instance, and select the object. b. Press the F4 key (or the right mouse button) to call the Function Block Popup menu. c. Within the Function Block popup menu, choose the Unmake Function Block > Selected menu option, as shown in Figure 6-30.
Make Function Block Unmake Function Block Convert Function Block Resize Align Selected All 1 Level ALL Levels Specify
Figure 6-30. Unmake Function Block Menu Patch The Selected options menu provides for the following unmake options:
o 1 Level - Unmakes the single, upper-most hierarchical level for a
selected Made FB Definition and/or Made FB Instance containing nested Made FB Definitions and/or Made FB Instances.
o All Levels - Unmakes every hierarchical level of all selected Made
6-43
levels to be unmade. If this option is chosen, then the user is presented with the Select Number of Unmake Levels dialog box, as shown in Figure 6-31.
Select Number of Unmake Levels
Levels:
OK
Reset
Cancel
Figure 6-31. Select Number of Unmake Levels Dialog Box d. Within the popup menu, select the appropriate option. e. The selected Made FB Definition and/or Made FB Instance is reverted to its original FB Definition and/or FB Instance. 2. Unmake All Made FB Definitions and/or Made FB Instances on the Active Sheet a. Within the active sheet, press the F4 key (or the mouses right button) to call the Function Block Popup menu. b. Within the Function Block Popup menu, choose the Unmake Function Block > All menu option. The All options menu provides for the following unmake options:
o 1 Level - Unmakes the single upper-most layer for all Made FB
Definitions and/or Made FB Instances containing nested Made FB Definitions and/or Made FB Instances on the active sheet.
o All Levels - Unmakes all layers for all Made FB Definitions and
6-44
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-45
Figure 6-32. The Default Schematic Check Settings Dialog Box 3. Next to Function Blocks, check one of the following options:
Errors Only: If selected, only errors are reported. No Check: If selected, the Function Block-specific checks are not
performed. 4. Click OK. For a description of all the checks available, see Design Checks in Appendix C.
6-46
At the beginning of the design process, you must know which properties are required by other Mentor Graphics applications you plan to use. If you do not assign the necessary properties, downstream applications cannot process your design. For information about specific properties, see the IC Flow Properties Reference Manual.
Introduction to Properties
Properties are name/value pairs assigned to specific graphic objects within a design. The graphic object is the property owner. Properties that are created without an owner are called logical properties. Properties contain design information that typically cannot be represented graphically. Properties have many functions. They can define device timing characteristics, establish horizontal and vertical connectivity in multi-sheet and multi-level designs, define a variety of design characteristics that cannot be conveyed by the images of components and wires that make up a schematic diagram, and much more. To show how properties provide information to a design, consider that schematic designs in Design Architect-IC contain two types of information:
7-1
Introduction to Properties
Using Properties
Symbols and schematics created in Design Architect-IC communicate connectivity information. For example, a schematic diagram shows graphically that transistor A is connected to transistor B. The diagram alone cannot tell you the dimensions of the transistors. That information comes from the values of the W and L properties attached to the instances of transistors A and B. Properties have the following characteristics:
7-2
Using Properties
Introduction to Properties
Some components may not have all the properties required for them to be
processed by other Mentor Graphics programs. If this is the case, you can assign the necessary properties to the components in your designs by using the various property commands.
Structured Logic Design (SLD) properties are special properties that are
built into Design Architect-IC. When the source design is evaluated, SLDs are converted to connectivity information, and are not accessible as properties in the evaluated design. Refer to Structured Logic Design Properties in this chapter for more information about SLD properties. Some of the fundamental properties assigned to components in various libraries are described in Structured Logic Design Properties in this chapter. A comprehensive description of individual properties is available in the IC Flow Properties Reference Manual. Table 7-1 lists examples of properties. Table 7-1. Property Structure Property Name Model Net cap_net Property Value NAND cl_line 10, 15, 20 Property Type Property Owner String String Triplet Instance or Symbol Body Net Net
7-3
Property Ownership
Using Properties
Property Ownership
Ownership is a key element in understanding the use of properties. When certain kinds of objects own certain properties, those properties can only be attached to those objects. Selectable items can own properties, but certain classes of properties and certain classes of objects work better together, while others do not. For example, pins own the property called cap_pin. You can assign a value to the cap_pin property and attach that value to a specific pin in the design. However, it would not be correct to attach that value to a net in the design. The cap_pin property has no semantic meaning in the context of nets.
Property 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:
7-4
Using Properties
An expression (arithmetic or string expression). A triplet. The special property type triplet is a 3-valued property used to
describe the best-case/typical/worst-case values used in timing analysis. The three values of a triplet may be separated by a comma or spaces. If you are entering triplet values in a command or function, enclose the values in quotes (for example, 5,7,10). When entering triplet property values in a prompt bar or dialog box, do not enclose the values in quotes (5,7,10). The value, whether entered as a string, a number, or an expression type, will be evaluated as a number. If only one value is specified, it is used for the best-case, typical, and worstcase values. If two values are specified, then the first is used for the bestcased value, and the second is used for typical and worst-cased values. It is important for you to know what the property type is before entering a property value. For example, if the property type of property name A is a character string, and you enter the value of 95, this value will be interpreted as a character string 95 not the numerical value of 95. When you add the property value, the Add Property command, by default, sets the property type to the value set by the previous Set Property Type command for that property name. Use the -Type option with the Add Property command to change any of the property values listed previously. After a property value is attached to an object, its property type can only be modified through the Change Property Type command. The Change Property Type command can be used to change the property type to a string, number, expression, or triplet.
7-5
Using Properties
7-6
Using Properties
Pin, Net, and Inst properties. For example, the Net property value is the name of the net, which is stored in the design database. The following list describes additional restrictions for net and pin names:
_$, _B$, _b$, N$, n$, I$, i$, P$, p$, G$, g$, B$,
b$, R$, and r$ are reserved for the leading characters for handles (such as net, instance, and pin handles) and for internal use.
Even though a net/pin name is declared to be a string in Design ArchitectIC, if the value includes ( ), [ ], or < >, the system will attempt to evaluate the string within the delimiters.
Pin/Net/Inst property values cannot contain a slash (/), back slash (\), a
space ( ), a period (.), a hyphen (-), an escape, or tab character.
[ ], ( ), and < > are reserved to delimit bus subscript notation. The bus
width is indicated between the delimiters. The numerical values for the bus width can be indicated in binary (prefix with 0b), octal (prefix with 0o), decimal (no prefix), or hexadecimal (prefix with 0x).
A comma (,), colon (:), and semicolon (;) should only appear as part of a
bus subscript syntax.
A period (.) should only be used for separating parts of a record in VHDL. In any name that might be evaluated (names surrounded by parentheses),
the entire string within the parentheses is considered an AMPLE expression and must follow the AMPLE expression syntax. Mentor Graphics discourages the use of non-printing characters and special characters in net/pin names because of their meanings in different applications and operating systems.
7-7
Using Properties
annotated in the context of a design viewpoint, the annotated value displays in red (by default), so you can tell which values are annotated. For more information on design viewpoints, see Chapter 11, Editing in Design Context. Design Architect-IC allows you to change the color of a property to distinguish it from the owning object. When you do this, both the original value of the property and the annotated value of the property display in the new color. For example, if you view a schematic sheet in the context of a design viewpoint, annotated property values may display in red (by default) or a different color if the property color has been changed. In this case, Design Architect-IC allows you to temporarily change the color of all annotations, so you can tell which property values are annotated. Choose Setup > Objects..., click Design Context and choose YES for Override Annotation Color in the form.
7-8
Using Properties
Symbol Properties
Symbol Properties
Like other properties, symbol properties provide information about the object that owns the property. Symbol properties have additional characteristics and functions other properties do not. For example, a symbol property:
Can be owned by a piece of symbol graphics or by the logical symbol. Can be created either graphical or non-graphical, if owned by the logical
symbol.
Has a property stability and property visibility switch. Is brought forth to the instance when the symbol is instantiated on a
schematic sheet. Refer to Updating Properties on an Instance in this chapter for information about how an instance of a symbol is updated.
7-9
Symbol Properties
Using Properties
7-10
Using Properties
Symbol Properties
-Fixed specifies that property value, type, and name cannot be altered or
deleted on any instance on a schematic sheet, although property attributes can be changed.
-Protect specifies that property value, type, and name can be altered on an
instance when it is instantiated on a schematic sheet. However, once instantiated, the instance-specific property value cannot be changed, only the property attributes can be changed.
-Variable specifies that property value, type, name, and text attributes can
be altered on an instance when it is instantiated or any time after.
Note
7-11
Symbol Properties
Using Properties
7-12
Using Properties
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
7-13
Using Properties
Editor. A description of how Value_Modified properties affect the update process begins in the Property Merge Options section of this chapter.
7-14
Using Properties
7-15
Using Properties
If you open a schematic sheet via a menu path and dialog box, you can change the switch setting by clicking on the Options... button, then clicking Auto, None, or Clear for the Auto Update Mode. Changing the switch setting when opening a schematic sheet only applies to that sheet; it does not change the default setting for the Session. The $set_auto_update_mode() function lets you change the default setting for the auto_update_mode switch. Auto_update_mode controls only automatic updates when a sheet is read; it does not specify a default property merge for the Update and Replace commands. The $get_auto_update_mode() function returns the default. The following example retrieves, then resets the auto_update_mode default.
$get_auto_update_mode() // @noupdate $set_auto_update_mode(@auto) $get_auto_update_mode() // @auto
The $get_auto_update_inst_handles() function returns a vector of handles for all the instances that were out of date when the sheet was read. These instances will have been updated if the auto_update_mode option was not @noupdate. This system function only returns valid results immediately after the sheet is opened.
7-16
Using Properties
Parameters
In the Properties on Instance and Merged Properties columns, an asterisk (*) indicates the property is Value_Modified. Table 7-2. Property Update Examples
Merge Switch -Clear Properties on Symbol Properties on Instance Properties on Edited Symbol Model=NAND NW=2u Model=NAND NW=2u Merged Properties Model=NAND NW=2u Model=NAND cap_pin=10 20 30 NW=2u My_property=16 Model=OR * cap_pin=10 20 30 NW=1u * My_property=16 Model=OR * cap_pin=10 20 30 NW=2u My_property=16
Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16 Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16
-Symbol
-Instance Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16 -Auto Model=AND Model=OR * NW=1u cap_pin=10 20 30 My_property=16
Model=NAND NW=2u
Model=NAND NW=2u
Parameters
A parameter is a variable that is resolved outside of the design through a temporary value in Design Architect-IC or through a parameter rule in the design viewpoint. For example, the value of a property may be an arithmetic expression that contains one or more variables. The value of that property cannot be determined until the variables are resolved. The method the system uses to resolve variables is defined by a set of rules which dictates the position in the design tree where the system looks for the variables. Parameters are one of the rules used to evaluate property value variables. Briefly stated, as each instance in a design is evaluated, the system looks at the instance properties in an attempt to resolve expressions that contain variables. For those variables which are unresolvable at the instance level, the search continues up through the design tree. The search for the variable's value continues until a
7-17
Parameters
Using Properties
match is found, or the root level of the design is reached. If the root level of the design is reached and the variable has not been resolved, the system looks through the parameter list in the design viewpoint. See Rules for Resolving Property Value Variables in this chapter for a detailed explanation of this process. Given this method of evaluation for property value variables on schematic sheets, there are two commands that help you create and evaluate designs more efficiently. These commands are Set Parameter, used in the Schematic Editor within the Design Architect-IC Session window, and Add Parameter, used in the Design Viewpoint Editor-IC (DVE-IC). The following two paragraphs briefly describe the purpose of these two commands. The Set Parameter command supplies dummy parameter values for variables in property value expressions on a schematic sheet. Without these dummy values the Check command, when executed, reports warnings about expression variables that cannot be resolved. The ability to check syntax reduces the number of problems that otherwise would not be discovered until you create a design viewpoint. Basically, the Set Parameter command offers a method to flag forgotten variables entered on a schematic that need to be identified in DVE-IC. These parameters are not known to the design viewpoint until you execute the Add Parameter command in DVE-IC. The Add Parameter command in DVE-IC lets you specify a particular value for a variable. Issuing this command for a variable adds the definition of the parameter to the parameter list for the current design viewpoint. If the system cannot resolve the variable's value by the time the root of the design is reached, the parameter list is searched for the value, and the variable can be resolved.
7-18
Using Properties
7-19
Using Properties
4. Does the design have more levels of hierarchy? If yes, the search moves up one level to the parent instance on the upper sheet. The properties on the instance body are checked first, then the body property list of the instances component interface table is searched next. During each step in the search up the design tree, the value of a parameter may be overridden by a backannotation specified in a connected backannotation object. If more than one backannotation object is connected, the BA objects are searched in prioritized order. Comp. Interface Body Properties 3
No
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 Figure 7-1. Parameter Evaluation Rules 5. After the parent instance on the top sheet is searched, the design viewpoint Parameters list is searched.
7-20
Using Properties
In order for the value of the variable to be used in evaluation, you must add a parameter prior to evaluation of the design. You can declare variables for the width of a parameterized bus, the number of bits in a parameterized register, and many other types of expressions. These property value variables can be declared in Design Architect-IC or through backannotations. When defining property value variables, remember to set the property value type to expression. Variables can also be set up in CASE, IF, and FOR frames, instance names, net names, pin names, and subscripts. For example, suppose you design a generic register and declare a variable bank_size. In DVE-IC, you assign the bank size of this register to be 300 bits.
ADD PArameter "bank_size" 300 -Numeral
Whenever a downstream application encounters an unresolved property variable named bank_size during evaluation, it assigns it the value 300. If an unresolved variable is anywhere in the design hierarchy or the design viewpoint, an error message is generated.
7-21
Using Properties
in the hierarchy. The property value is retrieved when the expression is evaluated.
Property variable values originating with the symbol model (kept in the
component interface) specify local values. That is, they specify the value of the property variable that is used on all underlying sheets of that symbol. This rule is important because it allows you to specify that certain portions of a design have a different value for a property variable than is specified by the Add Parameter command in DVE-IC.
7-22
Using Properties
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-23
Using Properties
Design Viewpoint
5.
Parameter List
cap = 15 25 35
Symbol Models
4. model = A
A
Instance A's Underlying Schematic Sheet
1. 2.
A
model = B
B
cap = "10 20 30" model = C
B
cap_pin = "5 10 15" 1.
C D
model = D 2.
1.
cap_pin = (cap)
C
cap_pin = (cap)
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-24
_CLR _E A0 A1 A2
_E A0 A1 A2
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
8 9 10 11 12 13 14 15
U8
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
ACCESS(15:0)
74LS161A
74259
74259
U7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
8 9 10 11 12 13 14 15
U8
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
ACCESS(15:0)
74LS161A
74259
74259
U7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
8 9 10 11 12 13 14 15
U8
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
ACCESS(15:0)
74LS04
10
U10d
Using Properties
7-25
Using Properties
Figure 7-3. Status Line Showing Annotations ON The Design Architect-IC objects which have valid SLD properties are listed in Table 7-3: Table 7-3. DA-IC Objects Associated with Specific SLD Properties DA-IC Objects Bodies/Instance Pins/Vertices Function block Frames SLD Properties Class Class Function block Frexp Rule Rule Inst Net Global Pin
Table 7-4, summarizes SLD properties. Note that the property values marked with an asterisk (*) can include special notation; see Frexp Property and Special Notation for CASE, FOR, and IF Property Values in this chapter. The following pages describe SLD properties in more detail. Table 7-4. Structured Logic Design Properties Property Property Value Name Class Class C G Description Connector: Connects differently named nets together. Global: Connects a net globally across the design. For example, Ground.
7-26
Using Properties
Table 7-4. Structured Logic Design Properties [continued] Property Property Value Name Class I Description Intra-page connector: Identifies a net connected to another net by the same name on the same sheet. Port: Establishes design I/O connectivity with a pin on the symbol above it in a hierarchical design. Ripper: Extracts a range of nets from a bus. Off-page connector: Identifies net connected to a net on another sheet of the schematic. Null: Defines object as electrically inert. Identifies a dangling instance pin or net vertex that should not cause a check warning. Identifies a CASE frame. Identifies a repeated frame. Identifies a frame to be included conditionally.
Class
Class Class
R O
Class Class
N dangle
Frexp Frexp Frexp Frexp Function block Function block Function block
OTHERWISE <clause>* Otherwise case for the CASE frame. fb_def <fb_name> fb_inst Identifies an unconnected Made FB Definition. Represents the name of the FB instance or FB Definition. Represents the future instance name of the FB Definition or FB Instance.
7-27
Using Properties
Table 7-4. Structured Logic Design Properties [continued] Property Property Value Name Global Inst Net Pin Rule global_name <instance_name> <net_name> (<range>) <pin_name> (<range>) <range> Description Name of a global net (used with Class G property value). Instance name on a schematic sheet. Name of a net or bus. Name of pin on symbol. Identifies bus lines to extract with ripper (Class R).
Class Property
The Class property identifies its owner object as having some special characteristic. Ports, off-page connectors, net connectors, and rippers all have Class property values that define these devices. The Class property is placed on an instance or symbol body. Instances or symbol bodies tagged with the Class property are specially treated by Design Architect-IC and DVE-IC; they are not included in the evaluated design viewpoint. For more information on the special instances defined using the Class property, see Appendix E, Special Instances. Properties on pins propagate to the net vertices under the pins when an instance having the Class property is placed on a sheet or updated, if those properties may be owned by nets and do not already exist. If you wish to propagate properties in this manner, you must explicitly declare net as a legal owner of the desired properties using the $set_property_owner() function in the Symbol Editor. When an instance with a Class property attached is placed on a sheet, making a connection to an existing net, the Init and Net properties which may have been placed on the pin of the symbol are propagated to the net vertex under the instance pin, assuming the net vertex does not already have an Init or Net property. If an Init property already exists on the net vertex, it is replaced by the instance pin's Init property only if the new instance is a global instance (Class property value = G).
7-28
Using Properties
If the property is created on a symbol, its behavior upon symbol instantiation is determined by the values specified for the symbol_visibility_switch and symbol_stability_switch arguments in the $add_property() function. If these switches are not specified, the values of the property_visibility_switch and property_stability_switch internal state variables are used. You can also use the Class property to declare a valid dangling net vertex or instance pin. Add the Class property with a value of dangle to a pin or net vertex to indicate that the Check command should not issue a warning because that object is unconnected. For example, if you want to connect only one output pin of an instance of a flipflop, you can add this property to the other output pin to identify it to the Check command as an acceptable dangling pin. To add the Class property to a pin or net, you may first need to execute the Set Property Owner command to declare pins and/or nets as valid owners of this property.
Global Property
The Global property defines a global net such as VCC and GND. The Global property is assigned with the Class property value G and forms a property/value pair for the device body. If you assign the Global property to a body without also assigning the Class G property to the body, the design will pass the Check command without generating an error or warning. However, the net will not be recognized as global in that case. Global connectivity is established directly downward and at the same level in hierarchy by giving nets the same name as the Global property value.
Inst Property
All schematic items have unique object handles which are assigned, maintained, and used by the application. Usually, they are not visible to you. You can also assign names (with the visibility and other attributes under your control) that can be used to identify each instance. This is accomplished by assigning unique names (for example U23-A) to instances with the Inst property.
7-29
Using Properties
The values used with Inst property assignments must be unique on all sheets of a schematic. The Check -Schematic command detects repeated Inst values for the current schematic sheet level in Design Architect-IC.
Net Property
The Net property value is used to name the net and is assigned to a net vertex.
Pin Property
The Pin property value placed on a symbol pin is used to name the pin. The pin property on the symbol provides the connectivity interface between levels of design hierarchy.
Rule Property
The Rule property is used on ripper devices with the Class property value R and specifies which wire or group of wires is to be ripped, or branched, from a bus. The Rule property must be assigned to objects with the Class property value R. The Check command generates an error message if the Class property value R is present without the Rule property. You must adhere to the following guidelines when assigning the Rule property to a Class R device:
You must observe proper syntax for the Rule property value. For more
information, see Understanding Basic Pin, Bus, and Net Naming Syntax in Chapter 3. The width of the Rule property must match the width of the ripped bus.
7-30
Using Properties
Frexp Property
This property is used to define frames. Frames provide you with the ability to repeat or conditionally include a circuit in a schematic sheet. The number of iterations, or the conditions determining inclusion or selection are controlled by parameters assigned during design creation and evaluation, and make use of the frame expression assigned as a value to the Frexp property. The frame expression uses similar constructs to those used in high level programming languages. All frames must have the Frexp property assigned to them with a valid Frexp property value. The value assigned to the Frexp property must adhere to a specific syntax which uses key words such as FOR, IF, CASE, OTHERWISE, DOWNTO, and TO with the assignment, equality, and relational (:=, ==, !=, <, <=, >, >=) characters. For example FOR i := 1 TO 5 is correct, but FOR i += 1 TO 5 is not. The syntax for FOR, IF, CASE, and OTHERWISE frames is discussed next.
7-31
Using Properties
In the CASE frame clause, if the value equals the parameter, the circuitry defined within the frame is included in the schematic sheet. If not, and an OTHERWISE frame exists, the OTHERWISE frame is included. The CASE parameter name follows the rules for AMPLE identifiers, whose default value is declared with the Set Parameter command. The value is any valid AMPLE expression. OTHERWISE <clause> Clause: variable_name
The OTHERWISE value is used in conjunction with the CASE value. If the evaluation of the CASE value is false, the OTHERWISE frame is included. The variable_name is a local variable which follows the rules for AMPLE identifiers. FOR <clause> Clause: or Clause: variable_name := expression DOWNTO expression variable_name := expression TO expression
The FOR frame expression specifies that the frame contents are to be repeated on the sheet n times. The variable n can be a variable in a frame expression on an
7-32
Using Properties
outer frame. The value of i as it iterates through the values 0 to n-1 in the following example can be used to evaluate the value within this frame. Example: FOR i := 0 TO n-1 When creating a net with the FOR frame expression, you must name the net if the net crosses the border of the frame. If the net does not have a name and crosses the FOR frame border, Design Architect-IC will create multiple nets.
Note
DOWNTO works the same way as the TO example, except it decrements the start index value by one. For example, FOR i := n-1 TO 0, would generate the i values of n-1, n-2, to 0, in that order. The variable_name is a local variable which follows the rules for AMPLE identifiers. Frame expressions on frames in an inner nest can involve the dummy variables assigned in outer nest, or property names valid for Design Architect-IC instance items. In expressions of this type, the := operator must be preceded and followed by a space, and the colon (:) must be followed immediately by the equal sign (=), with no intervening spaces.
Note
7-33
Using Properties
Positive and negative integers and integer expressions can be used as indices. Integers are treated as unsigned values, so you will receive a warning message if you use negative indices. These messages inform you that names in the design database may be different than expected (as they will be represented in two'scomplement form). For example, a net name expression such as $strcat(OUT_, I) used in the FOR frame expression FOR I := -1 TO 0 produces the net names OUT_65535 and OUT_0, instead of OUT_-1 and OUT_0. Because the evaluated value of -1 is larger than the terminating value of 0, a warning message is issued, and the design logic within the frame is omitted from the design viewpoint. To avoid unexpected (and possibly unpleasant) results, Mentor Graphics strongly recommends that you do not use negative indices.
Note
The relative size of indices used in a FOR frame expression affects the number of iterations generated as follows:
When the start index is less than the end index, the number of iterations is
equal to (end_value - start_value +1). Ten iterations are generated with the expression FOR I := 1 TO 10.
Only one iteration exists if the start index equals the end index, such as
FOR I := 1 TO 1.
When the start index is greater than the end index, no iterations are
generated. An example of this is FOR I := 10 TO 1. A warning message is displayed if this occurs.
7-34
Using Properties
Assigning Properties
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
Figure 7-4. Typical FOR Frame IF <clause> Clause: expression
In the IF expression, if the expression evaluates to FALSE (or zero) at design evaluation time, the frame is not included in the design. Otherwise, the frame is included. Frame expressions can involve property names that are valid for instance items. In the following example, the contents of the IF frame are included on the sheet, if the instance property logic is set to the property value TTL. Example: IF logic == TTL
Assigning Properties
Assigning properties to a design is important if you intend to use the design with other Mentor Graphics applications. Some properties are required for specific downstream applications, others are optional.
7-35
Assigning Properties
Using Properties
7-36
Using Properties
Assigning Properties
Figure 7-5. Setup Objects Property Text Dialog Box 3. Specify text font name in the Font text box. To make font selection simpler, click the Menu... button to display a list of suggested fonts. If you want to use an unregistered font, you must enter a complete pathname to the font; the pathname must begin with a slash (/). 4. Specify text height by entering a number in the Height text box. The default height is .1875 user units.
7-37
Assigning Properties
Using Properties
5. Specify text orientation by entering 0 or 90 in the Orientation text box. These numbers represent the angle of orientation, measured in degrees at which the text is placed on the sheet. 6. Specify the vertical text justification by clicking the left mouse button on the Vertical Justification button Top, Center, or Bottom. 7. Specify the horizontal text justification by clicking the left mouse button on the Horizontal Justification button Left, Center, or Right. 8. Specify whether text should be visible or invisible on the schematic sheet by clicking the left mouse button on the Set Visibility button On or Off. 9. Specify text transparency (on/off) by clicking the left mouse button on the Set Transparency button On or Off. 10. Under the Auto Inst Name Settings, set the following items: a. Specify whether Auto Instance Name Placement should be enabled by clicking the left mouse button on the Auto Instance Name Placement button On or Off. b. Specify the Name Offset distance by entering a value in the Name Offset text box. c. Specify Indent Offset value by entering a number in the Indent Offset text box. 11. Specify the restriction of flipped or rotated text (on/off) by clicking the left mouse button on the Restrict Flipped/Rotated Text button On or Off. To set up property text attributes in a Symbol Editor window, perform the following steps: 1. Follow steps 1-11 in the previous procedure. In a Symbol Editor window, the Set Property Text dialog box includes two additional attribute fields to be specified. Attributes, set with the Setup commands, change the internal state variable for each attribute.
7-38
Using Properties
Assigning Properties
2. Specify visibility (visible, hidden) by clicking the left mouse button on the Set Visibility Switch button. 3. Specify the property stability switch (Variable, Fixed, Protected, or Nonremovable) by clicking the left mouse button on the Set Stability Switch button. Refer to Property Stability Switches in Chapter 7 for a description of how stability switches on properties can protect a property from being changed. You can also set up property text or comment text in the Schematic Editor, and property text or symbol body text in the Symbol Editor by clicking the [Text] Setup icon. The dialog box has buttons at the top for you to specify the type of text. When you click the Property button, other items in the dialog box are the same as in the Setup Property Text dialog box for each editor.
7-39
Assigning Properties
Using Properties
7. Move the cursor to the window of the selected object(s). Notice the elastic string attached to the selected object(s) and the property value text. 8. Move the text to the desired location, and click the left mouse button. The property value text is placed at that location. If the property value is to remain invisible when the symbol is instantiated on a schematic sheet, the property value will have a solid DimGray rectangle as a background. The color and background of this rectangle can be changed from the DA-IC Session menu Setup > Property Display... To add a property name and value to a selected object in a Symbol Editor window, perform the following steps: 1. Select object (for example, symbol body and pin). For information about selecting and unselecting objects, refer to the see Selecting and Unselecting Objects in Chapter 2. When adding properties to a symbol body, select only one symbol body object. A symbol body can be constructed with a set of symbol body graphics (arcs, rectangles, polylines, and so forth). If you select more than one piece of the symbol body, the property will be added to each of the selected pieces. This will create an error when you check the symbol. If an object is not selected when the Add Property command is executed, the property will be added to the logical symbol.
Note
2. Click the left mouse button on the schematic_edit [Text] Add Text icon. The Add Property dialog box displays. 3. Select a property name from the scrolling list of properties, or type the new property name in the New Property Name text box. 4. Type the property value (no quotes) in the Property Value text box. 5. Fill in the rest of the dialog box, as appropriate (graphics, property type, visibility switch, stability switch). For more information about symbol property switches, refer to Symbol Properties in Chapter 7.
7-40
Using Properties
Assigning Properties
6. Press OK when all desired switch settings are set. The Add Property prompt bar appears. 7. Move the cursor to the window of the selected object(s). Notice an elastic string is attached to the selected object(s) and the property value text. Move the property value text to the location you want to place the text, and click with the left mouse button. The property value text is placed at that location.
7-41
Assigning Properties
Using Properties
property value text to the desired location, and click the left mouse button. The property value text is placed at that location. 7. Repeat Step 6 for each property name/value pair entered.
7-42
Using Properties
Assigning Properties
7-43
Assigning Properties
Using Properties
7-44
Using Properties
Assigning Properties
7-45
Assigning Properties
Using Properties
To change the values of selected properties on a sheet or symbol, follow these steps: 1. Select the properties to change, either by setting the select filter, or by choosing the Select > Area > Property menu item. 2. Choose the Properties > Change Values popup menu item or schematic_text [Edit] Change Value palette item. This displays the Change Property Value By Handle prompt bar with the current value, name, type, and object handle. 3. Enter the new property value in the text entry box. Click OK. Another prompt bar appears for the next property to change. Repeat this step for each selected property. To change the value of the same property attached to several objects, perform the following steps (this example changes the Pintype property value): 1. Press Unselect All key [F2]. 2. Move the cursor close to a pin whose Pintype property you wish to change, and press F1 (Select Anything). Be sure that only the pin is selected. If the line connected to the pin is highlighted, unselect everything, and move the cursor slightly further away from the pin to select it. Repeat for each pin whose Pintype property value you want to change. The select count in the status line shows how many objects are selected. 3. Choose the Properties > Modify popup menu item. This displays the Modify Properties dialog box. 4. Click the left mouse button on the PINTYPE - Multiple Occurrences entry, then click OK. 5. Click the Replace button to the right of the Property Value entry. Enter the new Pintype property value. You also can change the property type and some attributes in this dialog box. Click OK. The property values are changed for the selected pins.
7-46
Using Properties
Assigning Properties
The following steps show another method of changing various pieces of unselected text: 1. Choose the Property/Text > Change Values popup menu item to display the dialog box. 2. Enter a new text value for one you want to replace. When you begin entering a value, another text entry box appears in the dialog box. Enter new values, one per text entry box, for all the values you want to change. 3. Click OK. The first value entered in the dialog box displays in the message area. Click the left mouse button on the text you want to replace with the new value. 4. The old value is replaced by the new value shown in the message area, and the next value is shown in the message area. Continue specifying the text to replace with the new value shown in the message area, until all specified values are placed. The value_modified flag can be reset to Not Modified by using the menu Miscellaneous > Property Settings > Mark Property Value: See Mark Property Attributes in Chapter 7 for details.
7-47
Assigning Properties
Using Properties
4. Make the desired property attribute changes. 5. Click OK when the property attribute selection is complete. The next Modify Property dialog box displays for the second property that was selected. Repeat steps 4 and 5 for each property selected. To change property attributes for a specified property on a symbol, perform the following steps: 1. Select the property owners for which to change property attributes. 2. Select Edit > Property Operations > Modify menu item. A dialog box appears that includes a list of property names for a selected object. 3. Click the left mouse button on the property name you want to change. You can select more than one property name by holding down the Ctrl key while selecting the property names. 4. Click OK when the property name selection is complete. A Modify Properties dialog box opens for the property name(s) selected. In the Symbol Editor window, the Modify Properties dialog box has two additional property settings (stability and visibility switch) that are not available in a Schematic Editor window. 5. Make the property attribute changes. 6. Click OK when the property attribute selection is complete. The next Modify Property dialog box displays for the second property that was selected. For each property selected, repeat steps 5 and 6. In order to change the stability switch of a Logical Symbol Body property, no object should be selected. Therefore, it is best to execute an $unselect_all() function first. You then select the property with the $select_by_property() function and specify the property name and value. To change the stability attribute, use the $change_property_stability_switch() function.
Note
7-48
Using Properties
Assigning Properties
The attribute_modified flag can be reset to Not Modified by using the menu Miscellaneous > Property Settings > Mark Property Attributes: See Mark Property Attributes in Chapter 7 for details.
OK
Reset
Cancel
Figure 7-6. Change Color dialog box 2. Move the window slider button down to the bottom, then click White. Click OK. When you change the color of a property, the annotated value of that property text is also changed from the default color red to the new color.
Note
7-49
Assigning Properties
Using Properties
Figure 7-7. Setup Property Display dialog box 2. Move the window slider button down to the bottom, then click White, and click OK to close the dialog box.
7-50
Using Properties
Assigning Properties
1. Select an object (for example, a symbol body) in the Symbol Editor window. 2. Execute the popup menu Properties > Modify Multiple...
In the Symbol Editor window, available in the Symbol Body & Pins
popup menus. The Modify Editable Properties dialog box displays, as shown in Figure 7-8:
OK
Reset
Cancel
Figure 7-8. Modify Editable Properties dialog box 3. Enter the new value and/or attributes of the property names you want to edit or add to the selected object. 4. When the property values and attributes are set, click OK. If you are adding a new property, the Add Property prompt bar appears. 5. If you are adding a property, move the property value text to the desired location, and click the left mouse button. The property value text is placed at that location. 6. Repeat Step 5 for each new property name/value pair entered.
7-51
Assigning Properties
Using Properties
7-52
This chapter provides information on using the simulation and waveform viewer functions in Design Architect-IC (DA-IC). The simulation and viewer functions allow you to simulate, view, and edit designs from within one environment. The following topics are available:
Simulation Mode Overview Supported Language Types Requirements Using the HSPICE Simulator Running a Simulation Setting up a Default Viewpoint Invoking Simulation Mode Setting Up the Default Simulator and Viewer Setting Ground/Node 0 Setting up the Simulation Environment Creating Default Simulation Environment Setups Restoring Simulation Environment Setups Copying a Simulation Configuration Setting up Standard Simulator Options Adding Forces Adding Safe Operating Areas Specifying a Circuit Temperature Setting up Parameter Variables for Models Reordering, Enabling/Disabling, Editing, and Deleting Sweep Analyses
8-1
Setting up a Sweep Analysis Setting up a Monte Carlo Analysis Setting up Simulation Analyses Setting up a DCOP Analysis Setting up a DC Analysis Setting up an AC Analysis Setting up an AC Noise Analysis Setting up a Transient Analysis Setting up a Transient Noise Analysis Setting up a Steady State Analysis Setting up a Modulated Steady State Analysis Setting up an Oscillator Steady State Analysis Setting up a Steady State Noise Analysis Setting up a Steady State AC Analysis Setting Model Libraries for Simulation Selecting/Editing Registered Models Displaying/Editing the Default Registered Model Including SPICE Command Files Entering Additional Simulator Commands Setting Probes Plotting Simulation Results Deleting Plots and Probes Displaying the Current Simulation Setups Displaying the Simulation Command File Displaying the DCOP Values Hiding the DCOP Values Displaying Small Signal DCOP Parameters Reporting DCOP Values for a Selected Object Using Estimated Pre-layout Parasitic Extractions
8-2
Using Post-layout Parasitic Extractions Setting up the Netlist Understanding Analog/Digital Converters Defining Default Analog/Digital Converters for Auto-Insertion Editing Default Analog/Digital Converter Parameters Deleting Default Analog/Digital Converters Inserting Analog/Digital Converters on Instances Inserting Analog/Digital Converters on Nets Inserting Analog/Digital Converters on Pins Deleting Analog/Digital Converters Associating an SDF File with an Instance Displaying SDF File Setups Deleting SDF File Setups Changing SDF File Setups Deleting Unused References\Invalid Backannotations Checking the Design Before Simulation Generating a Netlist Running the Simulation Extracting Waveform Measurements Exiting Simulation Mode Viewing Waveforms About Xelga Invoking Xelga Crossprobing Schematics with Xelga Closing Xelga About Design Architect-IC View (DA-IC View) Invoking DA-IC View Crossprobing Schematics with DA-IC View Closing DA-IC View
8-3
About EZwave Invoking EZwave Crossprobing Schematics with EZwave Closing EZwave
Note
8-4
Eldo HSPICE
RF
EldoRF
Xelga
For information on setting the simulator and viewer, see Setting Up the Default Simulator and Viewer in this chapter.
Requirements
Depending on which simulator and viewer you use, one or more of the following separately licensed applications are required for the simulation mode:
8-5
For more information, see Configuration and Compatibility in Chapter 1 of the Design Architect-IC Release Notes.
HSPICE Options
Open the Setup HSPICE Options dialog box with the Options menu item on the Simulation palette menu. All the fields are labelled according to the HSPICE option name, so you can find descriptions of these fields in your HSPICE manual. DA-IC uses the information in this dialog box to construct HSPICE .OPTIONS statements. The HSPICE Options dialog box is separated into the following functionality groups:
General IO: General control options for input and output. General Oth: Miscellaneous control options.
8-6
HSPICE
The Setup > HSPICE palette menu item on the Simulation palette menu opens an additional menu with the following three menu items:
Alter: Opens the Edit .ALTER Blocks dialog box in which you construct
HSPICE .ALTER statements. You can add, edit, or remove existing .ALTER statements. Each .ALTER statement can contain one or more parameter redefinitions. You must have already declared parameters with Setup Parameters.
IC: Opens the Set IC Nodeset prompt bar in which you set transient initial
conditions (node voltages) for the selected nets in the design. DA-IC uses this to build the .IC statement in the simulation command file.
Nodeset: Opens the Set IC Nodeset prompt bar in which you initialize
specified node voltages for a DC operating point analysis. This helps the DCOP convergence, and is applied to selected nets. DA-IC uses this to build the .NODESET command in the simulation command file. For more information on the HSPICE-specific setups, see your HSPICE reference manual.
8-7
Running a Simulation
Measurements
Open the Define Measure dialog box with Measurements > Define menu item on the Simulation palette menu. DA-IC uses the information in this dialog box to construct HSPICE .MEASURE statements. For more information on the HSPICE-specific setups, see your HSPICE reference manual.
Running a Simulation
Design Architect-IC (DA-IC) allows you to set up and run a design simulation from the schematic_sim_palette in simulation mode. Setting up and running a simulation from DA-IC creates the following files and stores them under a viewpoint for the active design: Command file .cir file used for input to the simulator. Created from the setups specified from the schematic_sim_palette.
8-8
Running a Simulation
Netlist file .spi file created by the default netlister invoked from the schematic_sim_palette. Used for input to the simulator. Output file .chi file created by the simulator. Contains detailed log of simulation activity. Viewer input file .wdb, .cou, .dou, or jwdb file types created by the simulator for the waveform viewer to read. The type of file created depends on the simulator and viewer selected. For more information on viewer input files, see Viewing Waveforms in this chapter.
8-9
Running a Simulation
1. From the Session scope, select Setup > Simulation Configuration.... . The Setup Simulation Configuration dialog box displays:
2. If necessary, enter a name for the viewpoint. Use this option to specify a name that is different from the default. 3. Select a Viewpoint Type from the list box or click Avail.Viewpoints to select from existing viewpoints. The following default viewpoint types are available:
8-10
Running a Simulation
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.
8-11
Running a Simulation
3. Click Simulation on the schematic_edit palette. The Entering Simulation Mode dialog box displays:
4. If necessary, enter a name for the viewpoint in the Config Name field. By default, all open schematic sheets are saved and closed, and the active sheet is reopened in a design viewpoint for simulation. If no viewpoint for the active sheet exists, DA-IC creates a new SPICE Netlister viewpoint named eldonet. For more information, see Setting up a Default Viewpoint in this chapter. 5. If necessary, select the viewpoint Configuration Type. For information on the configuration types, see the Setting up a Default Viewpoint section in this chapter. SPICE_Netlister is used by default. 6. If necessary, click on a Cleanup Viewpoint option. Options include:
8-12
Running a Simulation
8-13
Running a Simulation
Eldo Selects the Eldo simulator ADMS Selects the ADVance-MS simulator in command-line mode. ADMS Interactive Selects the ADVance-MS simulator in graphical
user interface mode.
HSPICE Selects the HSPICE analog simulator. Other Allows you specify a SPICE-compatible simulator. Click
Advanced... to specify the simulator invoke commands.
8-14
Running a Simulation
3. Click the appropriate button to specify a viewer. For more information, see Viewing Waveforms in this chapter. Options include:
DA-IC View Selects Design Architect-IC View. Xelga Selects Xelga EZwave Selects EZwave.
If you select the ADMS simulator with the Xelga waveform viewer, you are prompted to select JWDB or COU/DOU viewer output files. For more information, see the About Xelga section in this chapter.
4. Click Advanced... to set up or change the location of the simulator/viewer application and its input/output commands. If the simulator/viewer applications are properly installed and setup, you should not need to change these settings. For more information, see $$sim_setup_simulator_viewer_advance() in the Design Architect-IC Reference Manual. 5. If necessary, enter a different working directory and click OK. The working directory specifies the location of the simulator invoke/setup files. To use ADVanceMS, you must set the working directory to the location of the adms.ini file. For more information on the adms.ini file, see Chapter 11, System Initialization/Project File in the ADVanceMS Users Manual.
8-15
Running a Simulation
Setting Ground/Node 0
Use the following steps to specify which nets are ground: 1. From the schematic_sim_palette, select Session > Netlister. The Setup SPICE Netlister dialog box displays.
2. Enter the names of the nets to use as ground in the data field labeled Node 0 and click OK. Use commas to separate multiple net names.
8-16
Running a Simulation
8-17
Running a Simulation
2. If necessary, enter a new working directory for the simulation under Simulation Depository. By default, the working directory is the viewpoint directory for the active design. To use ADVanceMS, you must set the working directory to the location of the adms.ini file. For more information on the adms.ini file, see Chapter 11, System Initialization/Project File in the ADVanceMS Users Manual. 3. If necessary, enter new filenames for the following input and output simulation files.
o Command File o Netlist File o Output File
By default, the file names reflect the active design name. For more information on the input and output files, see Running a Simulation in this chapter. 4. If necessary, change the Auto-Run Simulation Setup setting. This setting determines what functions are automatically performed with the Run simulator option on the simulation palette. The following options are available:
o Run Simulation Only Runs a simulation only. o Run Simulation and Display Waveforms Runs a simulation and
Generates a netlist, runs a simulation, and displays waveforms. 5. If necessary, toggle the Auto-close Windows setting. This setting allows you to set up the netlist/simulation terminal windows to close automatically
8-18
Running a Simulation
upon completion of a netlist/simulation operation. The option is enabled when the box displays black. The following settings are available:
o enabled Netlist/Simulation terminal windows close automatically
windows upon completion of the netlisting/simulation operations. Default setting. 6. If necessary, enable the Automatically run check design option to configure the Run Simulator button on the schematic_sim _palette to automatically check the design before running a simulation. For more information, see the Checking the Design Before Simulation section of this chapter. 7. If necessary, change the Annotated Property Text settings. Allows you to specify a font and font height for backannotation text displayed on the schematic. Options include: 8. Font Click the Menu button to display a list of the available fonts to select from. 9. Height Enter a height measurement in inches. 10. If necessary, change the DCOP Display to change the decimal places to display. 11. Under Info Block Display Options, select which simulation settings display on the on the active schematic. For more information, see Displaying the Current Simulation Setups in this chapter. 12. Click OK. The environment settings are written to a sim_setup file under the active viewpoint. For more information on setting up the simulation environment, see $sim_setup_sim_environ() in the Design Architect-IC Reference Manual.
8-19
Running a Simulation
8-20
Running a Simulation
1. Open the appropriate design and invoke simulation mode. 2. Select Session > Copy Configuration on the palette menu. The Copy Configuration dialog box displays.
3. Enter a name for the new configuration. 4. Click OK. A viewpoint is created with the specified name under the active component. The copy of the simulation configuration is saved under the new viewpoint. Backannotations from the source configuration are renamed with the new configuration name.
Description
8-21
Running a Simulation
The dialog box changes to display the setup options associated with each category. 3. Enter the appropriate settings in data fields or click the button next to the option to enable it. The button displays black when enabled. Click on the button that names each option to display detailed information about the option.
4. Click OK. The setups from all categories are inserted in the simulation command file. For more information, see .OPTION in Chapter 10 of the Eldo Users Manual.
Adding Forces
A Forces option on the Simulation Palette allows you to use forced voltage or current sources for design simulation. To add a force to a design: 1. Select the two nets you want to insert the force on.
8-22
Running a Simulation
The first net selected is considered the Signal net. This is the name of the pin to insert the force on. The second net is considered the Reference Net. This is the name of the net or pin to apply the source to. 2. From the schematic_sim_palette, select Forces > Add Force. The Add Force dialog box displays:
3. Enter the Name of the force. You cannot use a force name that already exists. 4. Verify the Signal and Reference Net names. 5. Select whether the force type is Voltage or Current. 6. Select the Source Type and enter the associated values: Source Type DC AC EXP (Exponential) Pattern Pulse Values Magnitude DC offset, magnitude, phase (in degrees) Initial value, target value, rise delay, rise time, fall delay, and fall time High value, low value, delay, rise time, fall time, pattern duration, pattern, and repeat Initial value, pulsed value, delay(s), rise time, fall, time, pulse width, and period
8-23
Running a Simulation
Source Type SFFM (Single Frequency FM) SIN (Sinusoidal) PWL (Piece Wise Linear)
Values Offset, peak amplitude, carrier frequency, modulation index, and signal frequency Offset, peak amplitude, frequency, time delay or phase delay, and damping factor Time/value pairs
7. Select OK. A force property is added to the signal net. Editing Forces To edit an existing force: 1. Select the net attached to the force. 2. From the schematic_sim_palette, select Forces > Edit/Delete Forces. The Edit/Delete Forces dialog box displays. 3. Select the force you want to edit and click Edit Selected. The Add Force dialog box opens and contains the information for the selected force. 4. Edit the information and click OK. Deleting Forces To delete one or more forces on a selected net: 1. Select the net attached to the force you want to delete. 2. From the schematic_sim_palette, select Forces > Edit/Delete Forces. The Edit/Delete Forces dialog box displays. To delete one force, select the force and then click Delete Selected.
8-24
Running a Simulation
To delete all the forces for a design, click Delete All. 3. Click OK. The specified forces are deleted. Reporting Forces To review a report on the forces for the current schematic: 1. From the schematic_sim_palette, select Forces > Report Force. A report window displays the name, signal, reference net, source type, force type, and parameters for all forces on the active schematic. Checking Forces To check the forces on an open schematic: 1. From the schematic_sim_palette, select Forces > Check Force. The following checks are performed for all the forces on the active schematic:
o Checks if any of the forces have the same names. o Checks if the signal and reference of a force exist. o Checks if any signal has more than one voltage force source associated. o Checks if all forces have both a backannotation property and a force file
entry. If this check fails, the force is eliminated automatically from the database and a warning message displays. A report window displays errors or warnings if any checks fail.
8-25
Running a Simulation
options. For information on enabling SOAs for simulation, refer to sections Specifying SOAs and Netlisting for DCOP, DC, and AC Analyses and SOAs and Netlisting for Transient Analysis. To add an SOA to a design: 1. From the schematic_sim_palette, click Safe Operating Area > Add SOA. The Setup Safe Operating Area dialog box displays.
2. Click Instance, Model, or Extract to specify the type of design to which the SOA is to be added:
o Instance Specifies to add the SOA to a specific schematics-based
instance that is one of the supported device types: resistor, capacitor, inductor, diode, voltage source, current source, bjt, and mosfet. Default. Choosing this option automatically displays the Instance Name and Instance Parameter fields.
8-26
Running a Simulation
must be a model of one of the supported device types. All devices with this model name are checked for meeting the SOA. Choosing this option automatically displays the Model Name and Model Parameter fields.
o Extract An extract. Choosing this option automatically displays the
Extract Name field. For more information on extracts, refer to the .EXTRACT simulation command in the EldoUsers Manual. 3. Specify the Instance Name and Instance Parameter, Model Name and Model Parameter, or Extract Name fields, based on the type of design you selected in the previous step:
8-27
Running a Simulation
Table 8-2. Parameters Supported by Type Device Type BJT Supported Parameter IB IC IE IS VBE, VBC, VBS, VCE, VCS, VES VC, VS, VB, VE POW MOS/JFET IG, IS, ID, IB Parameter Definition current into the terminals voltage across the terminals voltage in the terminals power dissipated by the device current into the terminals
VGD, VGS, VGB, voltage across the terminals VBS, VBD, VDS VS, VD, VG, VB POW voltage in the terminals power dissipated by the device
4. Enter a text string in the SOA Label field to name the SOA limit being created. 5. Enter limits for the SOA into the Minimum and Maximum fields:
8-28
Running a Simulation
Edit Populates the Add SOA window. You can change the
settings and add them back to the list.
Delete Deletes the selected SOA in the list. Delete All Deletes all of the SOAs.
Deleting SOAs To delete SOAs, do the following: 1. From the schematic_sim_palette, click Safe Operating Area > Delete SOA. The Delete SOA dialog box displays listing all currently defined SOAs for the active design. 2. Select the SOA you want to delete and click OK. You can also delete an SOA from within the Setup Safe Operating Area dialog box using Delete and Delete All; this dialog box is accessed by clicking Safe Operating Area > Add SOA. Reporting SOAs To report SOAs, do the following: 1. From the schematic_sim_palette, click Safe Operating Area > Report SOA. A report window displays the SOA Label, Name, Type, Parameters, and Minimum and Maximum Limits. For a description of these fields, refer to section Adding Safe Operating Areas on page 8-25. Showing SOA Results SOA results automatically display following simulation if violations occur. To explicitly show SOA results after netlisting and simulation, do the following:
8-29
Running a Simulation
1. From the schematic_sim_palette, click Safe Operating Area > Show Results. Specifying SOAs and Netlisting for DCOP, DC, and AC Analyses To enable or disable defined SOAs and specify simulator behavior for SOA violations, do the following: 1. From the schematic_sim_palette, click Setup > Analyses to display the Setup Simulation Analysis dialog box. 2. Click any of the DCOP, DC, or AC analysis options and click the corresponding Setup button to display the associated Setup... dialog box. 3. Click the desired SOA options for the analysis option:
Add Checks Displays the Setup Safe Operating Area dialog box
allowing you to define new SOAs and delete or modify existing SOAs. SOAs and Netlisting for Transient Analysis To enable or disable defined SOAs, restrict when SOA checks occur, and specify simulator behavior for SOA violations, use the following: 1. From the schematic_sim_palette, click Setup > Analyses to display the Setup Simulation Analysis dialog box. 2. Click Transient and click the corresponding Setup button to display the Setup Transient Analysis dialog box. 3. Click the desired SOA options for the analysis option:
8-30
Running a Simulation
Setup Displays the Setup Check SOA dialog box in which you can
specify the following:
o SOA Autostop Specifies whether simulation stops when an SOA
limitation is violated. If SOA limits are violated, a report window displays after simulation and the instances that violate the limitation are highlighted.
o Start Time* Specifies a start time to restrict the SOA check for
Transient analysis.
o Stop Time* Specifies a stop time to restrict the SOA check for
Transient analysis.
Add Checks Displays the Setup Safe Operating Area dialog box
allowing you to define new SOAs and delete or modify existing SOAs.
8-31
Running a Simulation
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-32
Running a Simulation
1. From the schematic_sim_palette, select Multiple Runs > Sweep. The Edit Sweep List dialog box displays a list of sweeps set up for simulating the current design. The sweeps are listed in the order they are performed.
2. Select a sweep from the list and click the following options as necessary:
o Up Moves the selected sweep up one position in the list. o Down Moves the selected sweep down one position in the list. o Top Moves the selected sweep to the top position in the list. o Bottom Moves the selected sweep to the bottom position in the list. o Delete Deletes the selected sweep from the list. o Delete All Deletes all the sweeps from the list. o Enable/Disable Enables or disables the selected sweep. Depending
on the current status of the sweep, this option toggles the setting.
o Enable All Enables all the sweeps in the sweep list.
8-33
Running a Simulation
o Disable All Disables all the sweeps in the sweep list. o Edit Sweep Displays the setups for the selected sweep and allows
you to edit them. For more information on setting up sweeps, see Setting up a Sweep Analysis in this chapter.
o Add Sweep See Setting up a Sweep Analysis in this chapter.
3. Click OK. The .STEP command(s) are changed/deleted in the simulation command .cir file as specified. For more information, see .STEP in Chapter 10 the Eldo Users Manual.
8-34
Running a Simulation
Edit Sweep Allows you to change the settings of an existing sweep. Add Sweep Adds a new sweep. Refer to Add a Sweep Analysis. Edit Corner Table Allows you to view a list of runs from the sweep
analyses performed on the active design. From the list, you can enable or disable specified runs for the next sweep analysis. Refer to Setup a Corner Case Sweep Analysis.
8-35
Running a Simulation
Add a Sweep Analysis 1. To add a sweep analysis, click Add Sweep on the Sweep List Editor Dialog box. The Setup Sweep dialog box displays.
2. Next to Sweep:, click the parameter to sweep. The dialog box changes depending on which parameter you choose. Options include:
o Temp Selects temperature sweep. o MOSL Selects MOS length sweep. Enter the name of the MOS
component to sweep.
o MOSW Selects MOS width sweep. Enter the name of the MOS
component to sweep.
o Dipole Selects dipole sweep. Enter the R,C, or L dipole component
to sweep.
o Param Selects globally-defined parameter sweep. Enter the name of
the instance name and the parameter on the instance to sweep. The instance must be primitive. This sweep does not support sweeping parameter models from .MODEL statements.
8-36
Running a Simulation
and space-separated model variants within the library to sweep. At least one variant must be entered. 3. Click on a Sweep Type to enable it. Options include:
o Lin./Num Pts Appends a LIN parameter to the .STEP command to
specify a linear sweep with a number of points. Enter an initial sweep value, final value, and the number of points to sweep in between.
o Lin./Incr. Appends an INCR parameter to the .STEP command to
specify a linear sweep by increment. Enter an initial sweep value, final value, and a number to increment each sweep by. Select the Use adaptive increments option to automatically adapt the value of the increment based on the convergence of each sweep point. For more information, see the Automated Sweeps section of the Eldo RF Users Manual.
o Logarithmic Appends a DEC parameter to the .STEP command to
specify a logarithmic sweep. Enter an initial sweep value, final value, and a number of sweeps per decade.
o Octave Appends an OCT parameter to the .STEP command to
specify an octive sweep. Enter an initial sweep value, final value, and a number of points per octive.
o List Appends a LIST parameter to the .STEP command to specify a
list of individual values for the sweep. Enter a list of space-separated discrete values to sweep. 4. Click OK. Inserts a .STEP command in the simulation command .cir file. For more information, see .STEP in Chapter 10 the Eldo Users Manual. Setup a Corner Case Sweep Analysis 1. To set up corner case analysis for simulation, Select Edit Corner Table on the Sweep List Editor dialog box. The Corner Case Editor displays. The Corner Case Editor contains a list of each individual sweep run in a list box.
8-37
Running a Simulation
The nested sweep values are listed in the order in which the sweeps are defined. A sweep which has been disabled in the sweep editor, removes the individual sweep runs from the corner case editor.
2. Change the Enable Status of the individual sweep runs listed as desired. Options include:
o Enable All Enables all sweep values for the next simulation run. o Disable All Disables all sweep values for the next simulation run. o Enable Selected Enables selected sweep values for the next
8-38
Running a Simulation
o Enable Corners Enables all corner case values for the next
simulation run. This operation does not effect the enabled/disabled status of non-corner sweeps.
o Disable Corners Disables all corner case values for the next
simulation run. This operation does not effect the enabled/disabled status of non-corner sweeps.
o Invert State Inverts the current state of all listed sweep values.
3. After adjusting the corner cases, select Close to execute the Corner Case Editor.
8-39
Running a Simulation
3. Select Multiple Runs > Monte Carlo from the schematic_sim_palette. The Setup Monte Carlo Analysis dialog box displays.
Figure 8-2. Setup Monte Carlo Analysis Dialog Box. 4. If desired, Click Enable MC to enable the Monte Carlo analysis. 5. Enter the Number of Runs. The default is 10. 6. If desired, enter the number for Individual Run. This field can be blank.
8-40
Running a Simulation
Definitions section are used. Dev variances are ignored. 9. If desired, select to Perform sweep with every MC run. 10. If desired, select Random number changes independent of previous runs. 11. If desired, enter a number for the Seed for random number generator. 12. Select the Reference Objects. Voltage sources and nets are automatically obtained from the currenlty selected instances and nets on the schematic each time the Setup Monte Carlo Analysis dialog box is invoked. If desired, these may be modified in the dialog box. Options include:
o None Specifies to use no reference object a reference for the worst
case analysis.
o Voltage Sources Specifies to use a voltage source as the reference
object. You must specify or verify the Voltage Sources and the Current Type.
8-41
Running a Simulation
o Nets Specifies to use a net as the reference object. You must specify
or verify the Net and the Voltage Type. 13. Select the Random Variable Definitions. Options include:
o Add Adds a definition to the random variable definitions. This
option displays the Add Random Variable Definition dialog box. Options include:
Variable Type Specifies Parameter or Temperature. Parameter Name Specifies the parameter name. Enter or verify
an existing design parameter. If you are using the Parameter option, you can select a design parameter from the scrollable list.
Parameter Value Specifies the parameter value. Dev Variance Specifies the individual variance value. Uniform
distribution is the default. Select if you want to use the Gaussian distribution. Also, select if you want the DevX Variance to vary with each instance usage in every run.
8-42
definition.
o Enable All Enables all of the listed random variable definitions. o Disable All Disables all of the listed random variable definitions. o Delete Deletes a selected random variable definition. o Delete All Deletes all of the listed random variable definitions.
14. Click OK. A .MC command is inserted in the simulation command file. For more information, see .MC in Chapter 10 of the Eldo Users Manual.
8-43
8-44
3. Click the Setup... button adjacent to DCOP. The Setup DCOP dialog box displays.
analysis.
o Save DC File Specifies a nodeset file to save simulation results to
for use by subsequent simulations. Inserts a .SAVE command in the simulator command file. If no file is specified, the results are discarded. 5. Click OK. A .OP command is inserted in the simulation command file. For more information, see .OP and .SAVE in Chapter 10 of the Eldo Users Manual.
Setting up a DC Analysis
A DC analysis determines the operating point of a circuit with all capacitors open and inductors shorted. A DC analysis determines the stable condition of an analog circuit prior to transient or AC analysis. For more information, see .DC in Chapter 10 of the Eldo Users Manual. Use the following steps to set up a DC analysis:
8-45
1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
8-46
3. Click the Setup... button adjacent to DC. The Setup DC Analysis dialog box displays.
4. Next to Sweep:, click the parameter to sweep. The dialog box changes, depending on which parameter you choose. Options include:
o Source Selects a voltage source sweep. Enter the pathname of the
voltage source and the start, stop, and step voltages to sweep. Inserts a SNAM argument for the .DC command.
o Temp Selects temperature sweep. Enter the start, stop, and step
component and start, stop, and step lengths for the sweep.
o MOSW Selects MOS width sweep. Enter the pathname of the MOS
8-47
5. Enter the name of the Nodeset file. The Nodeset file is generated by the DCOP analysis. For more information, see Setting up a DCOP Analysis in this chapter. 6. Verify the Save All DCOP Voltages option is selected. Saves all DCOP voltages in the results file. When disabled, DCOP voltages are discarded after the simulation run. 7. Click OK. A .DC and .OP command are inserted in the simulation command file. For more information, see .DC and .OP in Chapter 10 of the Eldo Users Manual.
Setting up an AC Analysis
The AC analysis performs a small signal analysis that computes the magnitude and phase of output variables as a function of frequency. Use the following steps to set up an AC analysis:
8-48
1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
8-49
3. Click the Setup... button adjacent to AC. The Setup AC Analysis dialog box displays.
5. If necessary, click the box next to Initial Conds (-UIC) to toggle the setting. Yes Adds the UIC parameter to the .AC command in the simulation command file. No DC analysis is performed before the AC analysis. Instead the file specified in the Use File Name: field is used as the starting point for the analysis. For more information, see .AC in Chapter 10 of the Eldo Users Manual. No A DC analysis is performed before the AC analysis, and the results are used for the starting point for the AC analysis. 6. Select a Sweep: type. Options include: Decade, Octive, and Linear. 7. Depending on the Sweep: type selected, enter a number value for points per decade, points per octave, or number of points for linear.
8-50
8. Enter a filename for the Use File Name: field if the Initial Conds (-UIC) is set to Yes. The file comes from the results of a transient simulation. For more information, see .AC in Chapter 10 of the Eldo Users Manual. 9. Select IC or Nodeset for the file entered in Step 8. This setting determines how voltages in the file are interpreted as follows:
o IC voltages in the file are interpreted as .IC values. For more
information, see .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-51
3. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
8-52
5. Click the Setup... button adjacent to Noise. The Setup Noise Analysis dialog box displays.
6. The names of the nets selected on the active design should display in the Output Noise Net 1: and Input Noise Source: fields. If not, enter the appropriate net names. 7. To specify a second net for comparison, enter a net name for Output Noise Net 2:. If no net is specified, ground is assumed. 8. Enter the nth frequency points to store for print-out. The contribution of every noise generator in the circuit is printed at every nth frequency point. If no value is entered, nothing is printed. 9. Select the noise to plot from the following options:
o Linear Input Noise Determines if the .PLOT statement inputs noise
for the analysis. When enabled, a .PLOT statement is added to the simulator command file with the INOISE parameter.
o Linear Output Noise Specifies whether the .PLOT statement
8-53
.PLOT statement is added to the simulator command file with the ONOISE parameter.
o db Input Noise Determines if input noise in dB is printed for the
analysis. When enabled, a .PLOT statement is added to the simulator command file with the NOISE and DB (INOISE) parameters.
o db Output Noise Determines if output noise in dB is printed for the
analysis. When enabled, a .PLOT statement is added to the simulator command file with the NOISE and DB (ONOISE) parameters. 10. Click OK. The Setup Simulation Analysis dialog box displays. 11. Click OK. A .NOISE command is inserted in the simulation command file. For more information, see .NOISE and .PLOT in Chapter 10 of the Eldo Users Manual.
8-54
1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
2. Click the button next to the Transient option to enable transient analysis.
8-55
3. Click the Setup... button adjacent to Transient. The Setup Transient Analysis dialog box displays.
simulator will begin producing data points during a transient simulation. 5. If necessary, click the button next to Initial Conds (-UIC) to toggle the setting. Yes sets the simulation to start with initial conditions. Inserts a -UIC keyword with the .TRAN command in the simulation command file. No Eldo solves for the quiescent operating point before the transient analysis is performed. 6. Enter a file name in the Use File Name: field if the Initial Conds (-UIC) is set to Yes. The file provides the starting point values for the transient analysis. For more information, see .TRAN in Chapter 10 of the Eldo Users Manual.
8-56
1. Select IC or Nodeset for the file entered in Step 6. Determines how voltages in the file are interpreted as follows:
o IC voltages in the file are interpreted as .IC values. For more
information, see .NODESET in Chapter 10 of the Eldo Users Manual. 2. Click OK. A .TRAN command with the specified parameters is inserted in the simulation command file. For more information, see .TRAN and .AC in Chapter 10 of the Eldo Users Manual.
8-57
2. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
3. Click the button next to the Noise Tran option to enable transient noise analysis.
8-58
4. Click the Setup... button adjacent to Noise Tran. The Setup Noise Transient Analysis dialog box displays.
specified noise sources. Adds an NBRUN parameter to the simulator command file.
o Number of Sinusoidal Sources Number of Sinusoidal noise
8-59
factor. Only affects internal noise computations. Adds an AMP parameter to the simulator command file.
o Random Number Generator Initialization Initial value for the
random number generator. Must be an integer between 0 and 2 31 -1. Adds a SEED Parameter to the simulator command file. 6. Next to MOS Noise Source, select one of the following options to add a value to the NOMOD parameter in the simulator command file. Options include:
o All Use thermal and flicker noise o Only Flicker Use flicker noise o Only Thermal Use thermal noise
7. If necessary, click Nominal Simulation to toggle the setting. When enabled, only one noisy simulation is performed. Adds a NONOM parameter to the simulator command le. 8. If necessary, click Single Runs to toggle the setting. When enabled, performs one run for the root mean square (RMS) noise results. When disabled, forces the algorithm to perform several runs sequentially to compute the RMS noise results. Adds an MRUN parameter to the simulator command le. 9. Click OK. Inserts a .NOISETRAN command with the specified parameters in the simulation command file. For more information, see .NOISETRAN in Chapter 10 of the Eldo Users Manual.
8-60
Use the following steps to set up a steady state analysis: 1. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays.
2. Click the button next to the SST option to enable steady state analysis.
8-61
3. Click the Setup... button adjacent to SST. The Setup Steady State Analysis dialog box displays.
4. Enter any number of fundamental frequencies with corresponding harmonics to use for simulation; additional Fund Frequency and # Harmonics fields progressively display. 5. If necessary, click Yes next to Save SST? to toggle the setting.
o Yes saves the simulation results and inserts a .SAVE command into
the simulation command file. For more information, see Save and Restart Capabilities in Chapter 2 of the Eldo RF Users Manual.
o No discards them
7. Click OK. A .SST command is inserted into the simulation command file. For more information, see Steady-State Analysis in Chapter 2 of the Eldo RF Users Manual.
8-62
8-63
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.
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-64
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.
8-65
3. Click the Setup... button adjacent to SST Oscil. The Oscillator Steady State Analysis dialog box displays.
The value should be positive; otherwise, the analysis issues a warning, and takes the absolute value. When this parameter is not specified, the simulator automatically performs a Local Stability analysis and uses the estimation of the oscillation frequency if the circuit is stable; otherwise, the simulation stops.
o Harmonics Number of harmonics of the oscillation frequency.
Value should be a non-negative integer or the analysis aborts with an error message.
o Label Name for the results. If a label is specified, then
LABEL= result is used in the output file instead of <expression>=results. For more information, see .EXTRACT in Chapter 10 of the Eldo Users Manual. 5. Click OK. Inserts .SST OSCIL and .FUND_OSC commands in the simulation command file. For more information, see Steady-State Analysis of Autonomous Circuits in Chapter 2 of the Eldo Users Manual.
8-66
8-67
4. Click the button next to SSTNoise to enable steady state noise analysis. 5. Click the Setup... button adjacent to SSTNOISE. The Setup Steady State Noise Analysis dialog box displays.
6. Next to Frequency:, select a frequency. The dialog box changes, depending on which option you choose. Options include:
8-68
a. Enter a start and stop frequency in hertz. b. Select logarithmic, octive, or linear sweep type. c. Enter a number of points per decade/octive/linear frequency to plot/print.
o By Points Enter specific list of frequency points to sweep.
7. Enter a Reference Harmonic:. Inserts a .SSTNOISE command with a HARM parameter in the simulator command file. For more information, see Steady-State Noise Analysis in Chapter 2 of the Eldo RF Users Manual. 8. Enter Output Net 1: Enter the output voltage node (net name) to compute noise from. Select the net on the active schematic, before invoking the Setup Steady State Noise Analysis dialog box, to enter the name automatically. 9. Enter Output Net 2: Enter an optional second output voltage node (net name) to compute noise from. Select the net on the active schematic, before invoking the Setup Steady State Noise Analysis dialog box, to enter the name automatically. 10. Select the type of noise to plot. Click the button below the option to enable it. Options include:
o Linear Output Noise plots linear noise. o db Output Noise plots linear noise in dBc/Hz. o Linear Phase Noise plots phase noise. o db Phase Noise plots phase noise in dBc/Hz. o Linear Am Noise plots amplitude noise. o db Am Noise plots amplitude noise in dBc/Hz.
8-69
For more information, see Steady State Noise Analysis Results in the Eldo RF Users Manual. 11. Enter device names for the NOISE() parameter of the .PLOT and .PROBE commands in the following fields:
o Device Noise 1: Specifies a device to contribute to the total output
noise spectrum.
o Device Noise 2: Specifies a second device to contribute to the total
noise spectrum. For more information, see Steady State Noise Analysis Results in Chapter 2 of the Eldo RF Users Manual. 12. Click OK. Depending on the specified options, .SSTNOISE, .PLOT, and .PROBE commands are inserted in the simulator command file. For more information , see Steady State Noise Analysis in Chapter 2 of the Eldo RF Users Manual.
8-70
2. From the schematic_sim_palette, select Analyses. The Setup Simulation Analysis dialog box displays. 3. Click the SSTAC option to enable steady state AC analysis. 4. Click the Setup... button adjacent to SSTAC. The Setup Steady State AC Analysis dialog box displays.
5. Next to Frequency:, select a frequency option. The dialog box changes, depending on which option you choose. Options include:
o By Range Selects frequency sweep between two frequency values.
a. Enter a start and stop frequency in hertz. b. Select logarithmic, octive, or linear sweep type. c. Enter a number of points per decade/octive/linear frequency to plot/print.
o By Points Enter specific list of frequency points to sweep.
8-71
6. Next to Harmonics:, enter an optional value to add a HARM parameter to the .SSTAC command in the simulator command file. This string specifies both the HARM parameter and the intermodulation of the corresponding harmonic. 7. Next to X Axis, select the X axis parameter to plot the analysis results against. If selected, appends an XAXIS parameter to the .SSTAC command. Options include:
o None Doesnt generate an XAXIS parameter. o FreqIn Plots the output against the input frequency. o FreqOut Plots the output against the output frequency. o AbsFreqIn Plots the output against the absolute input frequency. o AbsFreqOut Plots the output against the absolute output frequency.
8. If necessary, click the box next to Save SST? to toggle the setting.
o Yes Saves the simulation results and inserts a .SAVE command into
the simulation command file. For more information, see Save and Restart Capabilities in Chapter 2 of the Eldo RF Users Manual.
o No Discards the results after the simulation run.
analysis. 10. Click OK. A .SSTAC command is inserted into the simulation command file. For more information, see Steady-State AC Analysis and Save and Restart Capabilities in Chapter 2 of the Eldo RF Users Manual.
8-72
2. Enter a pathname for each component library used in the schematic design in the Library Path data fields. To add more than six library entries, click Entries 7-12. 3. Click the Lib Variants button related to each library path and select a library variant to use with each library. The name of the library variant is required for 2002.1 release of ADVance MS and greater. For compatibility with older versions of ADVance MS that do not require the library variant, enable the schematic_sim_palette > Options > Standard > Misc > NOINCLIB option.
8-73
4. Click the Library Search Paths button to specify those directories in which you want the simulator to search for model libraries. The Set Library Search Paths dialog box displays.
5. For each directory you want the simulator to search, enter the pathname to it in the Library Search Path field and click Set Library Path. The directory pathname you specified is displayed in the Libraries Search Paths list area; you can delete an entry by clicking the Delete Entry button. 6. Click OK to close the Set Library Search Paths dialog. A .OPTION statement for each entry in this dialog box is inserted into the commands file with the following format:
.OPTION SEARCH=path
7. Click OK to close the Set Library Paths dialog box. A .LIB command for each entry is inserted into the simulation command file. For more information, see .LIB and .OPTION in Chapter 10 of the Eldo Users Manual.
8-74
Displaying/Selecting Registered Models Displaying/Editing the Source for a Selected Model Displaying/Editing the Source for Registered Models Crossprobing the Schematic Viewpoint Selecting a Model for All Copies of a Specified Instance Closing the Model Selector Model Selector Limitation
Displaying/Selecting Registered Models Use the following steps to display the registered models associated with instances on the active schematic:
8-75
1. From simulation mode, click Model Selector on the palette menu. The Model Selector dialog box displays to prompt for what design level to initially load models for.
2. Select the desired level and click OK. To save time when loading large designs, load only the top level. Regardless of how many levels you choose to load initially, you can load and display more models as you click on instances in the tree. If you initially load only a portion of the design into the Model Selector, a tree view of the loaded level displays, and the List tab is disabled. Loading only the top level allows the Model Selector to invoke as quickly as possible, and loading the entire design results in the longest invoke time
Note
The Model Selector displays the design instances in a hierarchical tree format as shown in Figure 8-3. Each instance is preceded by a colored icon that indicates the language-type of the model it currently uses as described in Table 8-3.
8-76
Registration name Language Component name Instance name Language-type icon indicator Top level of the active schematic
8-77
Table 8-3. Model Selector Model-Type Icons This icon Yellow oval Gold rectangle Blue oval Blue rectangle Cyan rectangle Gray rectangle Cyan oval Gold plus sign Skeleton Represents this model type Schematic SPICE/EldoSPICE Verilog VHDL VHDL-AMS Nullblock Verilog-A Mixed models HDL-FB, HDL-A, unrecognized, or faulty model language. May not netlist and simulate.
3. Select an instance. The registered models available for use with the selected instance display in the rightmost (Model Browser) window. To display common models between instances, select the desired instances. When multiple instances are selected, the Model Browser displays only those models common to the selected instances. To select multiple instances within the same hierarchy, select the parent item and then select Edit > Select in Tree. This selects all of the instances in the hierarchal tree, excluding the parent items, and displays the common registered models. Select a model from the Model Browser window. The new model is applied to all of the selected instances. To display the schematic instances in a list format, click the List tab. The leftmost window displays the unique design components in a list without showing the relationships that exist between them. Select an instance to display the associated registered models in the Model Browser. Select a model from the Model Browser window. The new model is applied
8-78
to all copies of the selected instance, design-wide. The instance displays updated with the selected model. To display updated instances after applying a schematic model, you must apply the model selection, save, and reload the design. For more information, see the Model Selector Limitation section in this chapter.
Note
4. If you need to undo a change, select Edit > Undo Model Change: From the tree view, this undoes each change applied to a selected instance or instances. From the list view, this undoes all changes for the affected instance. 5. Repeat steps 3 and 4 until all the instances are updated with the desired models. 6. Click Apply. The new model(s) are applied to the corresponding instance(s) and the View property is backannotated to the instance(s). The View property is used by EldoNet to select the correct model to output in the netlist. For more information, see the View property in Chapter 3, Using Design Properties, in the EldoNet Users and Reference Manual. or Click Reset to cancel the model selections and revert to the last applied models. Displaying/Editing the Source for a Selected Model Depending on the selected instance, the Model Selector displays a subordinate schematic or the source code for the currently selected model as follows: 1. Select an instance in the Model Selector. For more information, see the Displaying/Selecting Registered Models section in this chapter. 2. Select Edit > Open Instance. If more than one instance is selected, this option is disabled.
8-79
If the selected instance is primitive, the source code for the currently selected model displays in the default text editor. If the selected instance is a nullblock, nothing displays. A nullblock-type instance has no model or schematic associated with it. If the selected instance has an underlying schematic, the underlying schematic displays in DA-IC. For information on setting up a text editor, see Setting up a Language Model Editor in Chapter 3, Getting Started, of the Design Architect-IC Users Manual.
Note
3. Edit and save the schematic/model as necessary. Displaying/Editing the Source for Registered Models Registered models are valid models available for selection/use with a particular instance. The Model Selector allows you to edit the models registered to a selected instance as follows: 1. Select an instance in the Model Selector. For more information, see the Displaying/Selecting Registered Models section in this chapter. The registered models associated with the instance display in the rightmost window (Model Browser). 2. Double-click on a model displayed in the Model Browser. If the model is a language-type model, the source code for the currently selected model displays in the default text editor. If the model is a nullblock, nothing displays. A nullblock-type instance has no model or schematic associated with it.
8-80
If the model is a schematic, the schematic displays in DA-IC. For information on setting up a text editor, see Setting up a Language Model Editor in Chapter 3, Getting Started, of the Design Architect-IC Users Manual.
Note
3. Edit, save, and close the schematic/model as necessary. Crossprobing the Schematic Viewpoint 1. Click the Tree tab. 2. Select an instance in the tree. You can only crossprobe one instance at a time. 3. Select Options > Cross Probe. The selected instance highlights on the active schematic. If the instance is on a lower-lever schematic, the lowerlevel schematic displays with the appropriate instance highlighted. Selecting a Model for All Copies of a Specified Instance Use the following steps to select a model for all copies of a specified instance in the active schematic viewpoint: 1. Click the List tab in the Model Selector. Each unique instance on the active viewpoint displays in a list. 2. Select the instance from the list. Models registered for the selected instance display in the Model Browser. 3. Select the desired model from the Model Browser. The List window updates to display the selected model. At this point, the change is pending. 4. Click Apply to change the model selection for all the copies of the selected instance.
8-81
Closing the Model Selector Select Model Selector > Quit Model Selector. Model Selector also closes if you exit DA-IC. If models are selected but not applied, you are prompted to save or discard changes. Options include:
Cancel Cancels the close model selector operation and returns you to the
Model Selector.
Discard Discards changes and closes the Model Selector. Apply Applies the changes and closes the Model Selector.
Model Selector Limitation If you apply a schematic model to an instance, the Tree window does not automatically update associated subinstances. Use the following steps to update the Tree window after applying a schematic model: a. Once the model is selected, click Apply. b. Select File > Reload Design. A dialog box displays prompting you to save changes. c. Click Yes to save the design. The design is reloaded, and the Tree window displays the updated schematic models.
8-82
If a language model is the default, the contents of the model file displays in an editor. For information on setting up a specific text editor, see Setting up a Language Model Editor in Chapter 2. If no default model is specified for the instance, the schematic model displays. If no schematic model exists, you are prompted to create one. 3. Edit and save as necessary.
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.
8-83
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.
2. Enter the desired commands into the text entry field. 3. Click OK. The specified commands are saved to the simulation command file.
Setting Probes
Probes specify which signals are saved to the output file. Use the following steps to set up the probes for the simulation:
8-84
1. From the schematic_sim_palette, select Probes/Plots > Probes. The Set Probes dialog box displays.
4. Select an optional Analysis Type to output. One or more options can be selected. The box displays black when the option is enabled. Options include:
o DC DC analysis. o AC AC analysis.
8-85
o TRAN Transient analysis. o TSST Time domain steady state analysis. For more information, see
Display Commands in Chapter 2 of the Eldo RF Users Manual. 5. Select an AC Output type for the waveform output for noise analysis. Refer to the FOUR parameter of the .PROBE statement in the Eldo Users Manual. Options include:
o Default Magnitude in dB. o Real-Imaginary Both real part and imaginary. o DB-Phase Phase. o All All of the above.
6. Click OK. ONE or more .PROBE statements are inserted in the simulator command file. For more information, see .PROBE in Chapter 10 of the Eldo Users Manual.
8-86
2. From the schematic_sim_palette, select Probes/Plot > Plot Selected. The Set Plots dialog box displays.
4. Next to Harmonic:, enter the harmonic to plot for the Modulated SST analysis. 5. Select the Analysis Type: to plot. Options include:
o DC DC analysis. o AC AC analysis.
8-87
o FOUR Fourier analysis. o TRAN Transient analysis. o TSST Time domain steady state analysis. For more information, see
information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual.
o TMODSST Time domain steady state analysis. For more
information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual.
o FOURMODSST Frequency domain steady state analysis. For more
information, see Modulated Steady-State Analysis Results in Chapter 2 of the Eldo RF Users Manual. 6. Select the AC Outputs: to plot. Options include:
o Default Magnitude in dB. o Real Real part. o Imaginary Imaginary part. o Mag Magnitude. o Mag-DB Magnitude in dB. o Mag DBM Magnitude in dB with reference to milliwatts.
8-88
o Phase Phase. o Real-Imaginary Both real part and imaginary part. o DB-Phase Phase in dB. o All All of the above.
8. Click OK. Depending on the number of components on the schematic and the options selected, one or more .PLOT statements are inserted in the simulator command file. If exactly two components are selected, the Setup Difference Plot dialog box displays allowing you to plot a waveform that represents the difference between the two components.
8-89
If necessary, Specify how to plot the difference between the selected objects. Options include:
o Individually Plots the signal from each object. o Object1, Object2 Plots the voltage magnitude difference between
8-90
Click OK. The corresponding .PLOT statement(s) are inserted into the simulation command file. For more information, see .PLOT in Chapter 10 of the Eldo Users Manual.
2. Next to Delete which?, select either Probes, Plots, or Both to delete. 3. Next to Delete all or only selected objects?, select one of the following options:
o All Depending on the option selected in step 2, deletes all probes
and/or plots.
o Selected Depending on the option selected in step 2, deletes plot,
of the plots and/or probes contained in the simulation command file to select from.
8-91
4. Click OK. The specified .PLOT and .PROBE commands are deleted from the simulation command file. For more information, see .PLOT and .PROBE in Chapter 10 of the Eldo Users Manual.
Simulation setups
8-92
To update the simulation setups, choose Commands > Show from the schematic_sim_palette.
Note
the active viewpoint. Includes DCOP current values for all subcircuit pins.
o Show All Displays both voltage and current DCOP values on
8-93
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-94
2. Select DCOP >Report SS Params from the schematic_sim_palette menu. The Choose Small Signal Params Run dialog box displays.
3. Select a small signal run from the list to get values from. 4. If necessary, select one of the following options:
o Report Displays the small signal parameter values for selected
Displays the values from the specified run for all subsequent small signal reports until another simulation is run. 5. Click OK. The small signal parameters display as specified.
8-95
F9 Reports the DCOP voltage for the net nearest the cursor. Ctrl-F9 Reports the DCOP current for the primitive device, instance, or
subcircuit nearest the cursor.
Press Shift-F9 Reports the DCOP small signal parameters for the
primitive device closest to the cursor. For more information, see the Displaying Small Signal DCOP Parameters section in this chapter.
When you have completed them, you are ready to netlist and re-simulate your design. Creating a Parasitic Element Use the following steps to create a parasitic element schematic in DA-IC: 1. Click Schematic from the palette and enter the name of the schematic sheet on which to create a parasitic element; click OK.
8-96
2. Create a parasitic element schematic, similar to the example figure shown, by doing the following:
a. Click Library > Device Lib > Resistor > Ideal on the palette and place the resistor on the sheet. You can also use a resistor from the MGC Design Kit. For information on the MGC_IC_DEVICE_LIB library, refer to the section Libraries in Appendix D of the Design Architect-IC Users Manual. For more information on design kits, refer to your foundry's website. b. Select Edit > Modify from the menu. The Modify Properties dialog box displays. Select the resistance property, either RESISTANCE or R, and click OK. The Modify Property dialog box displays. Enter RES in the Value field, click Expression in the Type field, and click OK. Specifying expression enables these properties to inherit the values from the symbol associated with the parasitic element schematic. For information on modifying properties, refer to section Using Properties in Chapter 7 of the Design Architect-IC Users Manual. c. Click Library > Device Lib > Capacitor > Ideal on the palette and place the capacitor on the sheet. You can also use a capacitor from the MGC Design Kit.
8-97
d. Select Edit > Modify from the menu. The Modify Properties dialog box displays listing all of the properties on the selected capacitor. Select the capacitance property, either CAPACITOR or C, and click OK. The Modify Property dialog box displays. Enter CAP in the Value field, click Expression in the Type field, and click OK. e. Click Back > Library > Generic Lib > Ground and place the ground on the sheet. You can also use a ground from the MGC Design Kit. f. Click Port > Portin and place the instance on the sheet. You can also use a port from the MGC Design Kit. g. Position your cursor over the NET property value on the portin and press Shift-F; enter IN into the New Value field of the Change Property Value prompt bar; click OK. h. Click Port > Portout and place the instance on the sheet. i. Position your cursor over the NET property value on the portout and press Shift-F; enter OUT into the New Value field of the Change Property Value prompt bar; click OK. j. Click Back > Edit > Wire on the palette and use the left-mouse button to add wires connecting the instances on the sheet similar to that shown in the example. k. Click Unselect All on the palette. l. Select Add > Frame from the menu to add an IF Frame. The Construct Frame prompt bar displays. i. Specify the frame area by pressing the left-mouse button and drawing a rectangle that encompasses all of the parasitic devices on the schematic except the ports; release the mouse. The Add Frame dialog box displays. ii. Click IF to specify the frame type.
8-98
iii. Enter SIMULATION into the Variable field, enter 1 into the Value field, and click OK. m. Click Unselect All on the palette. n. Select Add > Parameter from the menu. The Set Parameter dialog box displays. Enter SIMULATION into the Name field, enter 1 into the Value field, and click OK. Adding this parameter allows the sheet to be checked without generating any errors or warnings. For information on IF frames, refer to section Creating IF Frames in Chapter 3 of the Design Architect-IC Users Manual. 3. Select File > Check Schematic. A report window displays. Correct any errors and re-check until all errors are removed. 4. Select File > Save Sheet Creating a Symbol for the Parasitic Element Use the following steps to create a symbol for the parasitic element schematic from the schematic: 1. Select Miscellaneous > Generate Symbol from the menu. The Generate Symbol dialog box displays. See Figure 8-4.
8-99
Figure 8-4. Generate Symbol Dialog Box 2. Enter a name into the Component Name field and, (optionally) a symbol name in the Symbol Name field. 3. Click the Edit Symbol button in the Once generated... field. 4. Click OK. The newly-created symbol is opened. 5. Select the symbol body and select Add > Properties from the menu. The Add Multiple Properties dialog box displays.
8-100
a. Enter RES in the Property Name field; enter the default amount of resistance for the parasitic element in the corresponding Property Value field. b. Enter CAP in the Property Name field; enter the default amount of capacitance for the parasitic element in the corresponding Property value field. c. Click OK. 6. Select the symbol body again and select Add > Properties from the menu. The Add Multiple Properties dialog box displays again. a. Enter CLASS in the Property Name field. b. Click Expression in the Property Type field. c. Enter the following AMPLE expression format in the Property Value field:
(SIMULATION == 0) ? "C" : ""
In this example, when the condition parameter evaluates to true, the CLASS property evaluates to C; otherwise it evaluates to the null string. d. Click Hidden in the Visibility field. e. Click OK. For more information on specifying expression-type properties, refer to section Using Expressions as Property Values in Chapter 7 of the Design Architect-IC User's Manual. 7. Select File > Check Symbol to check the symbols for errors. A report window displays. Correct any errors and re-check until all errors are removed. 8. Select the File > Save Symbol menu item to save and register the symbol.
8-101
9. Press the Close Window icon in the upper-left hand corner of the symbol sheet and select Close from the menu to close the symbol sheet. Instantiating and Modifying Parasitic Elements Use the following steps to add the parasitic element to nets on the active schematic: 1. For each net that you want to add an estimated parasitic element to, select Add > Instance from the menu and place the parasitic element on top of the net. For each instantiation, the parasitic element splits the net and inserts the component. For more information on instantiating symbols, refer to section Selecting and Placing Active Symbols in Chapter 3 of the Design Architect-IC Users Manual. 2. For each net, select the net, select Edit > Modify from the menu, and adjust the values of the resistance and capacitance properties on that net to be specific for the net. For more information on modifying properties, refer to section Using Properties in Chapter 7 of the Design Architect-IC Users Manual. Setting Up Simulation for Estimated Parasitics Use the following steps in simulation mode, to set the value of the viewpoint parameter so that it turns on the parasitic elements. 1. Click Edit > Add Parameters in the schematic area. The Add Parameters dialog box displays. 2. Enter SIMULATION into the Name field. 3. Enter 1 into the Value field to turn on all estimated parasitics. Enter 0 into the Value field to turn off all estimated parasitics. 4. Click Expression in the Property Type field. 5. Click OK.
8-102
DA-IC supports Detailed Standard Parasitic Formatted (DSPF) files for parasitic backannotation. A DSPF file, because of its structured format, allows DA-IC to associate a given design-wide net with its parasitic sub-network. xCalibre, IC Extract, and other third-party extraction tools can generate the DSPF file format. Usage Requirements To ensure the parasitic backannotations work properly, you must conform to the following rule:
When generating the DSPF file in IC Extract or xCalibre, you must specify
the option that generates names to match the schematic, not the IC layout. Registering and Simulating the Entire Parasitic Netlist This method is effective if your design is fairly small and if you do not need to debug parasitics on individual nets. However, this method does not allow you to use the original schematic for setting up .PLOT statements for parasitic nets within the instance being simulated and does not allow crossprobing between schematic nets and their associated parasitics. Use the following steps to register and instantiate parasitics on your design: 1. Register the SPICE subcircuit, that contains the layout netlist and parasitic elements generated by an extraction tool, to the symbol whose layout was used for the extraction.
8-103
For information on how to register the SPICE subcircuit, refer to the section Registering Models for Simulation in Chapter 5 of the Design Architect-IC Users Manual. 2. Modify the model names and device types of the devices in the netlist to match the simulation device types and model names using a text editor. This is needed because extraction tools may generate new types and names. 3. From simulation mode, use the Model Selector to do one of the following:
8-104
2. Select Parasitics > Connect Distributed. The Connect Distributed Parasitics dialog box displays:
3. Specify to create a new or connect an existing parasitic parasitic backannotation object. A parasitic back annotation object must be connected to, or associated with, the design configuration before individual parasitic sub-networks can be associated with nets. Options include:
o Create New Creates and connects a new parasitic back annotation
back annotations previously created that can be re-connected. All of the settings associated with that backannotation are restored. 4. Enter a name for the parasitic backannotation object in the Parasitic BA Name field. This name uniquely identifies the backannotation object, or set of annotations, in future operations. 5. Enter the pathname to the DSPF file in the DSPF Path field.
8-105
6. Select the application used to create the parasitic parasitic backannotation object. If this field is specified incorrectly it will result in incorrect output. Options include:
o IC Extract The DSPF was created using IC Extract. Default setting. o xCalibre The DSPF was created using xCalibre as part of Calibre
Interactive. When this option is used, a name mapping sequence must be used by the program to convert the net names specified in the DSPF to the actual names on the schematic. This is done when a selected net is turned on. 7. If IC Extract is used as the extraction tool, specify an option in the Primitive paths in SPF prepended with element prefix? field. Options include:
o Yes Specifies that the paths for primitive devices in the DSPF file
are named with a primitive prefix appended to the beginning of the name. For example: m_/I$1/I$4. DA-IC needs to know that the primitive prefix m_ is not actually part of the name, but that the actual instance is /I$1/I$4.
o No Specifies no primitive prefixes are used in the parasitic file.
Default setting. Required for ICextract. 8. If IC Extract is used as the extraction tool, specify an option in the Subcircuit names in SPF need to be prepended with X field. Options include:
o Yes Specifies that the hierarchical instance names in the DSPF file
need to be prepended with an X to match the net name with the actual schematic net name. For example: /1/4/OUT becomes /X1/X4/OUT. DA-IC needs to know how to map the net name in the DSPF to the actual schematic net name. In some cases, such as when flat extraction is specified, the default output from IC Extract leaves out the 'X' character for each hierarchical instance name in the DSPF NET statement.
8-106
DSPF file. Default setting. 9. Enter the instance path in the Instance Path field for the instance to connect the parasitics to. This is needed because in simulation context, the design layed out is represented by an instance on the test bench schematic along with stimuli to test the circuit. This instance path is the EDDM hierarchical pathname for the design instance. For example: /I$3. If an instance on the schematic is selected, this field will be pre-filled in with the corresponding instance path. 10. Click OK. The DSPF file is scanned and associated with the specified instance, and a backannotation object is created. The schematic closes and then re-opens. A message displays to indicate the parasitic backannotation object has been connected and individual net parasitics can be turned on using Parasitics > Distributed > Turn Selected On. You are now ready to simulate and view simulation results. Connecting Lumped Parasitics This method also supports the ability to debug parasitics on individual nets and stores parasitic values in a backannotation object. Lumped parasitics consist of single capacitance values for each design-wide net; these are the cumulative values for all capacitors found in the parasitic sub-network for that net. The same DSPF file that is generated by extraction programs for distributed backannotation carries the lumped value for each net in the NET statement for that net (after the net name). When lumped values are backannotated, they are represented as cap_net properties on each net. Use the following steps to associate a DSPF file and to load/connect a lumped parasitic back annotation object to an instance in the active design: 1. From simulation mode, select the instance, representing an instance of the extracted layout design, to connect the parasitics to.
8-107
2. Select Parasitics > Connect Lumped. The Connect Lumped Parasitics dialog box displays:
3. Specify to create a new or connect an existing parasitic backannotation object. A parasitic back annotation object must be connected to, or associated with, the design configuration before individual parasitic subnetworks can be associated with nets. Options include:
o Create New Creates and connects a new parasitic back annotation
annotations previously created that can be re-connected. All of the settings associated with that backannotation are restored. 4. Enter a name for the parasitic backannotation object in the Parasitic BA Name field. This name uniquely identifies the backannotation object, or set of annotations, in future operations. 5. Enter the pathname to the DSPF file in the DSPF Path field.
8-108
6. Select the application used to create the parasitic files. If this field is specified incorrectly it will result in incorrect output. Options include:
o IC Extract The DSPF was created using IC Extract. Default setting. o xCalibre The DSPF was created using xCalibre as part of Calibre
Interactive. When this option is used, a name mapping sequence must be used by the program to convert the net names specified in the DSPF to the actual names on the schematic. This is done when a selected net is turned on. 7. If IC Extract is used as the extraction tool, specify an option in the Primitive paths in SPF prepended with element prefix? field. Options include:
o Yes Specifies that the paths for primitive devices in the DSPF file
are named with a primitive prefix appended to the beginning of the name. For example: m_/I$1/I$4. DA-IC needs to know that the primitive prefix m_ is not actually part of the name, but that the actual instance is /I$1/I$4.
o No Specifies no primitive prefixes are used in the parasitic file.
Default setting. Required for IC Extract. 8. If IC Extract is used as the extraction tool, specify an option in the Subcircuit names in SPF need to be pre-pended with X field. Options include:
o Yes Specifies that the hierarchical instance names in the DSPF file
need to be prepended with an X to match the net name with the actual schematic net name. For example: /1/4/OUT becomes /X1/X4/OUT. DA-IC needs to know how to map the net name in the DSPF to the actual schematic net name. In some cases, such as when flat extraction is specified, the default output from IC Extract leaves out the 'X' character for each hierarchical instance name in the DSPF NET statement.
o No Specifies no X pre-pending for hierarchical instance names in the
8-109
9. Enter the instance path in the Instance Path field for the instance to connect the parasitics to. This is needed because in simulation context, the design layed out is represented by an instance on the test bench schematic along with stimuli to test the circuit. This instance path is the EDDM hierarchical pathname for the design instance. For example: /I$3. If an instance on the schematic is selected, this field will be pre-filled in with the corresponding instance path. 10. Enter the names of the global nets from the design, if any, into the Global Net Names field. The net names must be separated by spaces. This is necessary for DA-IC to understand that the lumped capacitances associated with these nets in the DSPF file are associated with the global nets of the same name on the schematic. 11. Click OK. The DSPF file is scanned and associated with the specified instance, and a backannotation object is created. The schematic closes and then re-opens. A message displays to indicate the parasitic backannotation object has been connected and the cap_net properties have been created. Note, the cap_net properties are invisible. You can see their values by selecting a net and using the Report > Objects > Long menu item. The cap_net value is listed in picofarads units. You are now ready to simulate and view simulation results. Turning On/Off All Distributed Parasitics DA-IC allows you to turn on/off all parasitic backannotations for the active schematic. By default, all parasitics are turned off when loaded into DA-IC. Use the following step to turn on all parasitic backannotations:
From simulation mode, select Parasitics > Distributed > Turn All On. All
the parasitics are activated and display in red on the active design. You can now view the parasitics for an individual net. For information on viewing parasitics on a net, refer to section Viewing Parasitic Elements for Individual Nets in this chapter. Use the following step to turn off all parasitic backannotations:
8-110
From simulation mode, select Parasitics > Distributed > Turn All Off.
All the parasitics are deactivated and hidden from view. Turning On/Off Selected Distributed Parasitics DA-IC allows you to turn on/off selected distributed parasitic backannotations. Partially turning off parasitics allows you to focus on debugging the parasitics for an isolated piece of the design. By default, all parasitics are turned off when loaded into DA-IC. Use the following steps to turn on parasitic backannotations for a selected net: 1. From simulation mode, select a net. 2. Select Parasitics > Distributed > Turn Selected On. The parasitic backannotation displays in red next to the selected net indicating it is turned on. You can now view the parasitic for the selected net. For information on viewing parasitics on a net, refer to section Viewing Parasitic Elements for Individual Nets in this chapter. Use the following steps to turn off parasitic backannotations for a selected net: 1. From simulation mode, select a net. 2. Select Parasitics > Distributed > Turn Selected Off. The parasitic backannotation for the selected net is deactivated and hidden from view. Viewing Parasitic Elements for Individual Nets When distributed parasitics are turned on for a net(s), you can view its associated parasitics. Use the following step to view the parasitics for a net: 1. Draw the L stroke (down, then to the right). The L stroke detects the nearest net, checks whether parasitics exist, and displays them in the list area of the Show Parasitic dialog box. If no parasitics are attached to the net, that information is written to the message area. The Show Parasitics dialog box displays the following three types of net information:
8-111
Interface nets Nets within the parasitic sub-network for the net that connect to the intentional devices in the layout. These are most likely the parasitic nets of interest because they represent the end points of the parasitic sub-network. Internal nets Nets that are internal to the parasitic sub-network and connect the resistors and capacitors of the sub-network. Parasitic elements Nets that represent the parasitic resistors and capacitors that make up the parasitic sub-network. These nets begin with either r or c. You can see the values associated with each element. 2. Click OK to exit the dialog box. Setting Up Plot Statements for Parasitic Nets When distributed parasitics are turned on for a net(s), you can set up the associated parasitic nets for plotting. Use the following steps to plot the associated parasitics subnet waveforms for a selected net (s): 1. Select the parasitic subnet(s) whose waveform you want to crossprobe. 2. Click Probes/Plot > Plot Selected from the palette from the schematic_sim_palette palette. The Set Plots dialog box displays. For more information on these options, see Plotting Simulation Results in this chapter. 3. Click OK. The Select Parasitic Nets dialog box displays allowing you to select the parasitic nets for plotting. The Select Parasitic Nets dialog box displays the selected net name and the parasitic sub-nets that represent that net in the DSPF file. 4. Select one or more parasitic sub-nets whose waveform you want to view. You can use the Ctrl-left mouse button to select single entries or hold down and drag the left mouse button across a group of adjacent nets you want to select.
8-112
The nets selected in this step are automatically plotted when the waveform viewer invokes. Post-processing the Extracted Netlist When you load a distributed backannotation object, the netlist found in the Instance section of the DSPF file is used as the netlist of intentional devices in the layout that are to be re-simulated along with the associated parasitics that are turned on. To provide a netlist that can be re-simulated, this netlist must be postprocessed to reinsert simulation model names and original device types that may have changed as a result of the extraction tool. To post-process the netlist to update simulation model names and device types, use the following menu item:
8-113
.CONNECT statements connect all of the parasitic nets for a given net together, initially. When parasitics for a particular net are turned on, the statements for that net are commented out and the parasitics for that net are then included in the netlist. Crossprobing a Parasitic Net From the Schematic to the Viewer Use the following steps to crossprobe from nets on the DA-IC schematic to their associated parasitic sub-nets on the waveform: 1. Select the net(s) whose waveform you want to view. 2. Click Cross Probe > Voltages - Default. The Select Parasitic Nets dialog box displays. 3. Select from a parasitic net from the list area and click OK. The corresponding parasitic sub-net waveform is highlighted in the waveform viewer. Note, there is no reverse-cross-highlighting from the parasitic subnet waveform in the viewer back to the net in the schematic. Disconnecting Parasitics Use the following steps to disconnect a parasitic backannotation object from the active configuration: 1. Select Parasitics > Disconnect. You are prompted to verify the disconnect parasitics operation.
2. Click OK. The specified parasitic backannotation object is disconnected. Note, when parasitic backannotation objects are disconnected, they still remain on disk and can be re-connected later.
8-114
Deleting Parasitic Backannotation Objects Both distributed and lumped parasitic backannotation objects can be disconnected from the current configuration and then deleted. Use the following command to delete disconnected backannotation objects:
Click Parasitics > Delete. The Delete Parasitic BA dialog box displays
listing the backannotation objects that have been created to-date.
Select one or more backannotation objects and click OK. Note, if the
backannotation object being deleted is still connected to the current configuration, the schematic window temporarily closes and then re-opens.
8-115
3. If necessary, change the Output Names in What Case? setting. This setting determines if output names are in Upper or Lower Case. 4. If necessary, change the Bus Pins Alphabetically? setting. This setting determines if bus pins are listed alphabetically or numerically
o Yes Lists bus pins alphabetically. o No Lists bus pins in numeric order.
8-116
5. If necessary, change the Pseudo Bus Pins Alphabetically? setting. This setting determines if pseudo bus pins are listed alphabetically or numerically.
o Yes Lists pseudo bus pins alphabetically. o No Lists pseudo bus pins in numeric order.
6. If necessary, change the Use CDL format? setting. This setting determines t if the netlist contains forward slashes according to CDL syntax. 7. If necessary, change the Force Re-Netlisting? setting. This setting determines when a netlist is generated based on design changes. The following options are available:
o Yes Regardless of design changes, always generates a new netlist
before simulation.
o No Generates a new netlist only if the schematic sheet,
backannotations, or netlist setups have changed. Default setting. 8. If necessary, change the No .include Statement? setting. This setting determines whether to remove .include statement. 9. If necessary, change the Top-Level Cells First? setting. This setting determines whether to list top levels first.
o Yes Netlists top levels first. o No Does not netlist top levels first.
10. If necessary, change the Wrap Netlist in .subckt? setting. This setting determines whether the netlist is wrapped in a subcircuit.
o Yes Wraps netlist in subcircuit. o No Does not wrap netlist in subcircuit.
11. If necessary, change the Use DFI Mode? setting. This setting determines whether EldoNet uses DFI or SVC to produce netlist.
8-117
12. If necessary, change the Generate a .subckt for the Top Cell? setting. This setting determines when to generate a .subckt for the top cell.
o Yes Generates a .subckt for the top cell. o No Does not generate a .subckt for the top cell. o If Symbol Exists Generates a .subckt for the top cell if a symbol
exists. 13. If necessary, change the Back Annotated Instances Share Same Subcircuit? setting. This setting determines whether backannotated instances share the same subcircuit.
o Yes Backannotated instances share the same subcircuit. o No Backannotated instances do not share the same subcircuit.
14. If necessary, change the Set Node 0 setting. This setting contains a comma-separated list of nets to connect to node 0. Default is GROUND. 15. If necessary, change the Additional Globals setting. This setting adds a .GLOBAL to the netlist for each global specified. 16. If necessary, change the Input Pin Types setting. This setting redefines the specified pin types to the input pin type. 17. If necessary, change the Output Pin Types setting. This setting redefines the specified pin types to the output pin type. 18. If necessary, change the Inout Pin Types setting. This setting redefines the specified pin types to the inout pin type. 19. If necessary, change the Omit Pin Types setting. This setting redefines the specified pin types to the OMIT pin type.
8-118
20. Click OK. The specified settings are saved and become the default settings for netlists generated from simulation mode.
8-119
1. With no schematic objects selected, click Mixed Signal > Insert A2D/D2A on the schematic_sim_palette. The Converter-Automatic Insertion dialog box displays.
2. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:
Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1
8-120
o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D
H, and o real Specifies real or float values o integer Specifies integer values
8-121
For more information, see Chapter 6, The Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.
2. Select a converter to edit and click OK. The Converter Parameters dialog box displays.
3. Enter, delete, and change the parameters as needed. Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing
8-122
you to enter more parameters. For more information on parameter values, see Converter model declaration in the ADVance MS Users and Reference Manual. 4. Click OK. The new parameter values are written to the simulation command file.
2. Select a converter to delete and click OK. The selected converter is deleted from the simulation command file.
8-123
1. Select up to two instances to insert converters on. You must set up the converters in the order that you select them. For example, the first instance selected is the first instance setup in the Insert Converter-Instance dialog box. You can insert up to two converters at a time as long as they both use the same language type. Selected objects can only be instances. 2. From the schematic_sim_palette, select Mixed Signal > Insert A2D/D2A. The Insert Converter-Instance dialog box displays.
3. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:
8-124
Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1 o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D
H, and o real Specifies real or float values o integer Specifies integer values
8-125
Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing you to enter more parameters. For more information on parameter values, see Explicit insertion of converters in the ADVance MS Users and Reference Manual. 6. To insert a second converter, click Yes next to Specify Second Converter?. The dialog box displays options and data fields for the second converter configuration. Repeat steps 3, 4, and 5 of this procedure. 7. Click OK. The converter(s) is attached to the cursor and the selected instances. 8. Click the mouse near the instance(s) to place the text indicator(s) for the converter(s). The following text indicators are used:
VHDL-AMS converters Inst_<model_name> SPICE converters depending on the type: Inst_A2D or Inst_D2A
For more information, see Chapter 6, The Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.
8-126
2. From the schematic_sim_palette, select Mixed Signal > Insert A2D/D2A. The Insert Converter- Net dialog box displays.
3. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:
Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1 o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D
8-127
H, and o real Specifies real or float values o integer Specifies integer values
5. Under Setup Parameters, enter the parameter Name and the associated parameter Value to specify the converter behavior. Each time you enter a Parameter/Value pair in the dialog box, additional fields display allowing you to enter more parameters. For more information on parameter values, see Explicit insertion of converters in the ADVance MS Users and Reference Manual. 6. Click OK. The converter is attached to the cursor and the selected net. 7. Click the mouse near the net to place the text indicator for the converter. The following text indicators are used:
VHDL-AMS converters Net_<model_name> SPICE converters depending on the type: Net_A2D or Net_D2A
Repeat this step for each selected net.
8-128
For more information, see Chapter 6, Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.
3. Select a Converter Type:. Depending on the selection, the dialog box changes. Options include:
8-129
o A2D Specifies an analog to digital converter. o D2A Specifies a digital to analog converter.
Under Mode:, select the type of electrical signal to transmit through the ports of the converter. Options include:
o bit Specifies two logical values: 1 and 0 o x01 Specifies three logical values: X, 0, and 1 o x01z Specifies four logical values: X, 0, 1, and Z o MVL4 Specifies four logical values: X, 0, 1, and Z for A2D
H, and o real Specifies real or float values o integer Specifies integer values
8-130
6. Click the mouse near the pin to insert the text indicator for the converter. The following text indicators are used:
VHDL-AMS converters Pin_<model_name> SPICE converters depending on the type: Pin_A2D or Pin_D2A
Repeat this step for each selected net. For more information, see Chapter 6, Automatic and Explicit Insertion of Converters in the ADVanceMS Users Manual.
8-131
The property syntax for SPICE converter properties is described in Table 8-5. Table 8-5. SPICE Converter Properties Component Instance Pin Net Property Name DEFHOOK A2D/D2A A2D/D2A Property Value [DETAILED] A2D Mode =x01[param1=val1 param2=val2 ...] D2A [DETAILED] Mode =bit [param1=val1 param2=val2 ...] [DETAILED] Mode = std_logic [param1=val1 param2=val2 ...]
8-132
2. From the schematic_sim_palette, select Mixed Signal > Add SDF. The Add SDF to Instance dialog box displays:
3. Enter the pathname to the SDF file in the SDF Path field. 4. If necessary, choose a Delay Selection. Options include:
o Min Selects the minimum timing value from the SDF file. o Max Selects the maximum timing value from the SDF file. o Typ Selects the typical timing value from the SDF file. Default
setting. 5. Click OK. The specified SDF is associated with the selected instance. To view the SDF file and settings, see Displaying SDF File Setups on page 8-133.
8-133
Move the mouse to position the settings block, and click the left mouse button to to place it on the schematic. A text block displays the current simulation setups, including the SDF setups, on the schematic.
Instances currently associated with SDF files are listed along with the pathname to the associated SDF file.
8-134
2. To delete an SDF association from an instance, delete the pathname to the SDF file from the instance. Deleting the first listed association, deletes all SDF associations listed.
!
Caution
2. If necessary, change the Disable SDF warnings setting. The box displays black when option is enabled. Options include:
o Enabled ADVance MS displays no SDF-related warning messages. o Disabled ADVance MS displays all SDF-related warning messages.
Default setting.
8-135
3. If necessary, change the Reduce SDF errors to warnings setting. The box displays black when option is enabled. Options include:
o Enabled ADVance MS displays all SDF-related errors as warnings. o Disabled ADVance MS displays SDF-related errors. Default setting.
4. If necessary, change the Multi-Source Delay setting. This setting determines how ADVance MS selects from multiple PORT and INTERCONNECT constructs terminated at the same port. Options include:
o Latest Uses the latest value. Default setting. o Min Uses the smallest value. o Max Uses the largest value. o Off No multi-source delay setting is used.
5. If necessary, change the Delay Selection associated with each SDF file. Options include:
o Min Selects the minimum timing value from the SDF file. o Max Selects the maximum timing value from the SDF file. o Typ Selects the typical timing value from the SDF file. Default
8-136
Use the following steps to delete unused references and invalid backannotations from the active design configuration: 1. From simulation mode, select File > Cleanup Unused References to delete any unused design references from the active viewpoint. 2. From simulation mode, select File > Delete Invalid BA Entries to delete invalid backannotations from the active viewpoint. For example: backannotations attached to objects deleted from the design. You can also execute both of these functions from the dialog box that displays as you enter simulation mode. For more information, see the Invoking Simulation Mode section of this chapter. When changes occur as a result of using these options, the configuration is automatically saved.
File > Check Design > Warning/Basic Checks to check the syntax of the
complete design hierarchy and return all warnings and errors.
File > Check Design > Errors Only to check the syntax of the complete
design hierarchy and return only errors. The Design Syntax Messages window displays information, warning, and error messages. You can set up DA-IC to automatically check the design before simulation. For more information, see the Setting up the Simulation Environment section in this chapter.
8-137
8-138
6. Click OK. The active design is checked and returns the results as specified. For informaton, see Checking the Design Before Simulation in this chapter. To filter which properties are checked, use the Filter Property Check command with property names and enter the properties to filter. For more information, see $filter_property_check() in the Design Viewpoint Editor-IC Users and Reference Manual. These checks can also be run from Design Viewpoint Editor-IC. For more information, see the Design Checking section in Chapter 2 of the Design Viewpoint Editor-IC Users and Reference Manual. For more information, see $design_check() in the Design Viewpoint Editor-IC Users and Reference Manual.
Generating a Netlist
A current netlist is needed for simulation. The active design is automatically saved before the netlist is generated. Use the following steps to generate a netlist of the active design: 1. From the schematic_sim_palette, select Netlist. The schematic design is automatically saved, and EldoNet is invoked in a transcript window. A transcript window displays the status for the netlist operation. 2. Note any errors reported in the transcript window and press the Return key.
8-139
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-140
8-141
1. From the schematic_sim_palette, select Measurements > Define. The Define Extract dialog box displays.
2. Enter the name of the function to define into the Function field. Click the Menu button in the Function area to display a list of the available functions; a short description of each listed function is available by clicking one of the Help buttons located to the right of the Menu button. 3. Click one of the buttons in the Measure field to specify the characteristic that you want the extract statement to measure. 4. Click one of the buttons in the Format field to specify the format of the measured output. Default means that the characteristic is output exactly as specified (this is primarily for AC analysis). 5. Enter a label in the Label field. When the measurement is output to either an ASCII file or a waveform viewer, the measurement is labeled with the string entered in this field. If a value is not provided, Eldo assigns a default string.
8-142
6. Enter a simulation type into the Analysis field. This specifies the type of simulation analysis set when the measurement is taken. Click the Menu button in the Analysis field to display the list of available types; a description of each listed type is available by clicking the Help button in the Analysis field. 7. Specify any additional options in the Option field. You can specify unlimited options for the extract statement. 8. Click OK. A .EXTRACT statement is saved to the sim.measure file in the viewpoint directory, and a .INCLUDE statement is added to the simulation command file. For more information, see the .EXTRACT section in Chapter 10, Simulator Commands, of the Eldo User's Manual. Defining a RF Extract Statement This option allows you to define a statement that extracts RF measurements. These measurements are valid when using the RF extensions to Eldo. To define an RF extract definition, perform the following steps: 1. From simulation mode, select one or more instances, nets, or pins in the schematic to define a measurement for. 2. Select Measurements > Define RF from the palette. The Define RF Extract dialog box displays. The following computations may be defined:
total harmonic distortion (THD) power efficiency (PE) power-added efficiency (PAE) Gain 3rd order intermodulation (IM3, IM5, and IM7) 3rd order intercept point (IP3) 1 db compression point
8-143
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.
8-144
Viewing Waveforms
Viewing Waveforms
From the simulation mode in DA-IC, you can set up and invoke the following waveform viewers:
Xelga
Displays waveforms from analog, digital, RF, and mixed-signal design simulations performed by Eldo, Eldo RF, HSPICE, and ADVanceMS. For more information, see About Xelga in this chapter.
EZwave
Displays waveforms from analog, digital, and mixed-signal design simulations performed by Eldo and ADVanceMS. For more information, see About EZwave in this chapter.
About Xelga
Xelga is an interactive waveform viewer invoked from the simulation palette in DA-IC. The viewer allows you to display the following waveform types:
.wdb, .cou, .dou, .ext. and .aex Various waveform output formats
available from Eldo and ADVanceMS. Xelga reads a simulation results database named JWDB (Java Waveform Database) which is the default output database for AdvanceMS. For more information, see JWDB database format section in the Xelga Users Manual. This section describes how to set up and use Xelga from the DA-IC interface. For more information on using the Xelga viewer, see the Xelga Users Manual.
8-145
Viewing Waveforms
Invoking Xelga
To invoke Xelga, your ANACAD environment variable must point to the location of the Xelga application. To use Xelga, it must be set up as the default waveform viewer before the simulation is run. Use the following steps to invoke Xelga and display waveforms from the schematic_sim_palette: 1. Set up Xelga as the default waveform viewer. For more information, see Setting Up the Default Simulator and Viewer in this chapter. 2. Set up and run the simulation for the active schematic. If you change the viewer, you must re-run the simulation to output the correct waveform format for the viewer. 3. From the schematic_sim_palette, select View Waves. Xelga opens and displays the waveforms generated for the active schematic.
8-146
Viewing Waveforms
You can select a waveform in the viewer and DA-IC highlights the associated component in the active schematic. You can only crossprobe primary nets. For example, a net named 'OUT' on the top level schematic is connected to an instance pin called 'INSTOUT' that maps to a net called 'INSTOUT' on its underlying schematic. You can crossprobe the net 'OUT' at the top level, but you cannot crossprobe the net 'INSTOUT' in the lower level schematic.
Note
After you run a simulation on a schematic, use the following steps to crossprobe the schematic: 1. From the schematic_sim_palette, select View Waves. 2. Select one or more pins/nets on the schematic to crossprobe.
8-147
Viewing Waveforms
3. From the schematic_sim_palette, select Cross Probe. The following menu displays.
4. Select the type of waveform to display. For more information, see $da_ic_crossprobe() in the Design Architect-IC Reference Manual. The following prompt bar displays.
Hold the left mouse button down and draw a rectangle around the component to crossprobe on the schematic. The corresponding waveform is highlighted in Xelga.
8-148
Viewing Waveforms
If you select one of the six Diff options on the bottom of the submenu, two pins/nets must be selected. The Setup Difference Probe dialog box displays.
Select an order for the difference to be evaluated and click OK. A negative or positive value is determined by the selection order. By default, the value of the second-selected net/pin is subtracted from the value of the firstselected net/pin. The waveform viewer displays/highlights a waveform representing the difference between the two components. 5. Select a waveform in Xelga. The corresponding component is highlighted in DA-IC.
Closing Xelga
Use the following steps to close Xelga: Select File > Exit. Xelga closes. DA-IC and the current viewpoint are active
8-149
Viewing Waveforms
For information on viewing and manipulating waveform data, see the Design Architect-IC View Users and Reference Manual.
8-150
Viewing Waveforms
After you set up and run a simulation on a schematic, use the following steps to crossprobe the schematic: 1. From the schematic_sim_palette, select View Waves. 2. From the schematic_sim_palette, select Cross Probe and choose a signal type from the submenu to probe.
For more information, see $da_ic_crossprobe() in the Design Architect-IC Reference Manual. The crossprobe prompt bar displays.
3. Hold the left mouse button down and draw a rectangle around the net to crossprobe on the schematic. The corresponding waveform displays in a Chart window of the viewer. If the corresponding waveform is already displayed in the Chart window, it is highlighted.
8-151
Viewing Waveforms
If you select one of the six Diff options on the bottom of the submenu, two pins/nets must be selected. The Setup Difference Probe dialog box displays.
Select an order for the difference to be evaluated and click OK. A negative or positive value is determined by the selection order. By default, the value of the second-selected net/pin is subtracted from the value of the firstselected net/pin. The waveform viewer displays/highlights a waveform representing the difference between the two components. 4. Click on a waveform in the Chart or Waveform Database window of the viewer to select it. You can select multiple waveforms. 5. Select DA-IC Highlight from the Chart or Waveform Database popup menu. The nets associated with the selected waveforms are highlighted on the schematic. Highlighted nets on the schematic continue to accumulate until you deselect them in DA-IC. For more information on using DA-IC View, see the Design Architect-IC View Users And Reference Manual.
8-152
Viewing Waveforms
About EZwave
EZwave is an interactive waveform viewer invoked from the simulation palette in DA-IC. In the DA-IC environment, EZwave provides the following capabilities:
Ability to crossprobe low-level design nets and have the low-level name
preserved within the viewer.
Multiple analysis simulations display the results for each analysis type in its
own folder.
Invoking EZwave
Use the following steps to invoke EZwave and display waveforms from the schematic_sim_palette: 1. Set up EZwave as the default waveform viewer. For more information, see Setting Up the Default Simulator and Viewer in this chapter. 2. Set up and run the simulation for the active schematic.
8-153
Viewing Waveforms
3. From the schematic_sim_palette, click View Waves on the palette and select one of the submenu items or just click View Waves to execute the New Window menu item.
New Window Opens a new Graph window in EZwave and plots the
entire set of waveforms identified in the .cir file.
8-154
Viewing Waveforms
8-155
Viewing Waveforms
3. From the schematic_sim_palette, click Cross Probe and choose a signal type from the submenu to probe.
If you select one of the six Difference options on the bottom of the
submenu, two pins/nets must be selected in step 2. When the Setup Difference Probe dialog box displays, select an order for the difference to be evaluated and click OK.
8-156
Viewing Waveforms
A negative or positive value is determined by the selection order. By default, the value of the second-selected net/pin is subtracted from the value of the first-selected net/pin. The waveform viewer displays/highlights a waveform in the Graph window of the viewer representing the difference between the two components.
If you choose any of the other eleven signal choices, the corresponding
waveform displays in the active Graph window of the viewer without prompting for a selection order.
8-157
Viewing Waveforms
Crossprobing from EZwave to DA-IC To crossprobe from EZwave to DA-IC, perform the following steps: 1. Click on a waveform name listed in the Waveform Name Panel of the viewer, located by default on the right side of the Graph window, to select it. You can select multiple waveform names. 2. Click the Waveforms cross selection icon from the EZwave toolbar.
The nets associated with the selected waveform names are highlighted on the DA-IC schematic. Highlighted nets on the schematic continue to accumulate until you deselect them in DA-IC For information on using EZwave, click the Help button in the upper righthand corner of the application to display the Online Help options.
Closing EZwave
Use the following step to close the EZwave viewer: 1. Select File > Exit from the EZwave menu. EZwave closes. DA-IC and the current viewpoint are active.
8-158
This in provides information and procedures for managing schematic designs in Design Architect-IC (DA-IC). The following topics are available:
Design Management Overview Component Window Component Hierarchy Window Viewing Design Hierarchy Renaming a Component Changing Component References Releasing Designs Version Operations Design Verification Reference and Object Checking Configuration Build Application Invocation Updating Parts on all Schematics in a Design Reporting on Objects Reporting on Component Interfaces Reporting on Schematic and Symbol Objects Reporting on Object Status
9-1
Managing Designs
Copy Object Move Object Delete Object Change References Component Window allows you to view or edit detailed information about
a component.
Component Window
The Component Window allows you to view or edit detailed information about a component. Some of the things you can do in the Component Window are:
List the Part Interfaces for models, labels, pins, pin properties, and body
properties for a given component.
9-2
Managing Designs
Register and unregister component models. Add/delete or edit labels for a component. Show all objects contained by the component, and optionally filter out
objects depending on type. Click MGC > Design Management > Open Component Window pulldown menu or the session window palette. A window appears that is divided into four distinct information list areas, and each list area has a separate popup menu. The four list areas are:
Component Information
Displays an indented list of the component and its contents. Icons next to items indicate the object type. Multiple components can be shown at one time. Use the setup form to filter the types you want to view.
Models
Displays all registered models for each part interface selected in the component list area. Labels are shown indented underneath the model name. Models are distinguished for a given component by the gray header bar.
Pins
Displays pin names and properties for each selected part interface.
Body Properties
Displays the body property name and value for each selected part interface. Figure 9-1 shows the initial display of the Component window. The following restrictions apply to the Component Window in Design Architect:
If you are editing a symbol in a Symbol Editor window, you cannot make
model registration or label changes to the component that contains the symbol in the Component Window.
9-3
Managing Designs
$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
Managing Designs
Display a component hierarchy in the context of a specific viewpoint. Display design hierarchies that are not dependent on viewpoints. Display instance information for a given component. Display the path to a single instance. Display the hierarchy as an indented list or a graphical tree. Probe other applications. Display the value of a specified property, rather than the instance name next
to component, in the hierarchy listing. Because you look at a physical or logical hierarchy listing, rather than a file system, you get information concerning the instances names, property values, object designations, and model information.
9-5
Managing Designs
4. Select a component in the IDW Hierarchy window by clicking the left mouse button on the component name. 5. Press the right mouse button in the IDW Hierarchy window to display the associated popup menu.The Hierarchy Window uses the mgc_component as the standard starting point for showing design hierarchy. Figure 9-2 shows the Hierarchy window.
Component Hierarchy Window Current Component: $TRAINING/danwp/card_reader/add_convert add_convert (schm:schematic) rip (primitive) ground (primitive) 74259 (primitive) vcc (primitive) res.alt (primitive) portin (primitive) inv (primitive) and2 (primitive) portout (primitive) 74ls161a (primitive) my_dff (schm:schematic) latch (primitive) inv (primitive) buf (primitive) portin (primitive) portout (primitive)
Figure 9-2. Hierarchy Window The following restrictions apply to the Hierarchy Window in DA-IC:
9-6
Managing Designs
Renaming a Component
Renaming a component renames the file set (all objects that are of the same file set) that is selected, and then changes references within the file set (container) hierarchy to reflect the change. External design object references that point to objects in the renamed container are not updated. These references will need to be updated. When you change the name of the component container, the Design Manager only changes the objects at this level in the hierarchy. Examine Figure 9-3.
Changing the name here does not change the name here 74ls74 symbol part
74ls74
Figure 9-3. Renaming a Component Containing a Symbol For the typical component, the symbol name is the same as the component name. If you change the name of the component in the Design Manager, the symbol name remains the same. The Design Manager updates the component interface to reflect the new path, so that when the component is requested in an application, the references are preserved. For general information about renaming a component, refer to Renaming a Design Object in the Design Manager-IC User's Manual.
9-7
Managing Designs
The Design Manager environment does support operating system relative pathnames, such as . and ... Although the Change Object References command allows you to change a reference to any string, you should always specify a path that begins with / or a $ (such as $MGC_GENLIB) in order to provide soft pathname and location map compatibility. For general information about changing design or library component references, refer to Working with References in the Design Manager-IC User's Manual.
Releasing Designs
A released design is a protected copy of a design object, or objects defined in a configuration object. When you release a design, you are only releasing a single version. If the original design object is at version number 8, the released design object becomes version number 1. Containment relationships are preserved, and references are automatically updated to reflect the new location. Important record-keeping information is stored in the copied configuration object. The Protect property is added to these design objects, and you are not allowed to modify a released design. If you need to edit released data, use one of the following options:
Edit the original design and release it again using the same configuration.
Only the files that have changed since the original release will be merged. If the original design has significantly evolved, this may not be possible.
Copy the released design to a new location. This copy is not protected.
Make changes to the copy, then release it. For general information about setting up a configuration object and releasing a design or library component, refer to Managing Designs in the Design Manager-IC User's Manual. For more information about releasing a design, refer to Releasing a Configuration in the Design Manager-IC User's Manual.
9-8
Managing Designs
Design Verification
Version Operations
Idea Station applications normally maintain two versions of a design object. For large designs, retaining two versions can consume large amounts of disk storage. Changing the version depth does not immediately remove excess versions; it only prunes versions when the next version manager operation occurs. The next Design Manager or application write that occurs will update versions using the version manager. For general information about working with design or library component versions, refer to Working with Versions in the Design Manager-IC User's Manual.
Design Verification
The following topics list several methods for verifying the accuracy of a design object manipulation. When referencing a design object, if you provide a relative pathname that does not begin with the dollar sign ($) character, that relative pathname will be converted to an absolute pathname, based on the value of the environment variable MGC_WD. You must ensure that the value of MGC_WD is set to the correct value for your current working directory. If is not set properly, an incorrect pathname for the reference may be stored.
9-9
Design Verification
Managing Designs
see the model icons associated with the component, in addition to the part icon. 3. Select all the icons at that level by depressing the mouse button, dragging it so all icons are within the specified selection area, then release it. 4. Choose Report > Show References > For Object from the pulldown menu. A report window for each selected object displays containing the current references of each object. 5. Click on the schematic model icon. Click the Explore Contents button to view the sheet icons associated with the schematic. 6. Select all the sheets. Choose Report > Show References > For Design from the pulldown menu bar. A report window for each selected sheet displays, containing the current references of each object. 7. When you have completed the Design Manager-IC operation on the specified object, check the references of the manipulated object at all levels to verify that the manipulation was successful. This method of verification is recommended when you have a relatively small design that is completely self-contained. If you have a design that references external objects, this method can quickly become time-consuming. In that case, use the configuration build method described in the Configuration Build section of this chapter.
Configuration Build
For some scenarios, such as copy and move, creating a configuration from the results and doing a build can check that all the references can be resolved. This method of verification is recommended when you have a relatively large design that is either self-contained and/or references external objects. To do a configuration build, perform the following steps: 1. Activate a navigator in the Design Manager-IC.
9-10
Managing Designs
Design Verification
2. Use the navigator buttons to move to the directory that contains the toplevel design container that you manipulated through some Design Manager-IC operation. 3. Open a configuration window by clicking on the CONFIG icon in the Navigator palette. A new Untitled Configuration window appears. 4. Click on the design container and drag it into the new configuration window. 5. Choose Configuration > Build from the Configuration windows popup menu. The build operation begins with the primary entry, traverses its contents and its references, and adds secondary entries to the configuration. When the build is complete, the configuration window displays the pathnames of all primary and secondary entries, and the pathnames to all the references associated with the entries.
Application Invocation
The simplest method of verifying that a design has been manipulated correctly is to invoke the appropriate application on the manipulated design.
9-11
Managing Designs
Choose the Yes button beneath Preview. This causes a second dialog
box to appear after you execute the current dialog box. A list of all
9-12
Managing Designs
Reporting on Objects
sheets that met the criteria specified in the Stop Level and Filter fields is displayed. You then select sheets from the list to be updated. 5. Click the OK button to update the sheets.
Reporting on Objects
The following topics include procedures for reporting on various schematic objects.
9-13
Reporting on Objects
Managing Designs
To list all models, pins, and body properties in a design, perform the following steps: 1. Activate the Session window by clicking the left mouse button in the Session window. 2. Execute the File > Open > Component Interface menu item. The Open Component Window dialog box displays. 3. Select the Options... button. The Open Component Window Options dialog box displays. a. Enable the Model, Pin, or Properties buttons as desired. b. Click OK to close the Options menu. 4. Click OK. The Component Window displays with detailed Mode, Pin, and Model Properties information displayed. See Figure 9-5.
9-14
Managing Designs
Reporting on Objects
9-15
Reporting on Objects
Managing Designs
If -Hidden is listed without -Not Visible, the property visibility was changed to visible on the sheet.
Report #2 dff
Reporting: Instance, Net, Pin, Property Text Attribute Instance I$2 I$6 Net N$3 Vertex V$67 V$17 V$191 V$193 Name $MGC_GENLIB/latch/latch flipped vertically $MGC_GENLIB/inv/inv Net Name: ----Location Attached Vertices (-2.75,-0.25) V$191 (-1.00,-0.25) V$191 (-1.75,-0.25) V$67 V$17 V$193 (-1.75,3.50) V$191 V$43 Location (-1.00,3.50) (1.50,-0.25) Vertex Pins: Name of P$66 OUT P$16 EN
9-16
Managing Designs
Reporting on Objects
1. Place the cursor in the Symbol or Schematic Editor window for the type of check status you want to report on, and click the center mouse button. 2. Execute the Report > Specified Object menu item. A Report Object dialog box appears. 3. Click the left mouse button on the buttons corresponding to the checks for which you want a status reportMore than one check can be selected. By default, the Report generated is directed to a DA-IC window, and a file named da_report_file in your current directory. Click OK when check types are selected.
9-17
Reporting on Objects
Managing Designs
9-18
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
Troubleshooting
10-2
Design Architect-IC (DA-IC) allows you to edit in the context of a design using design configurations. A design configuration consists of a viewpoint and a blank backannotation object for a specified downstream tool. By default, the design viewpoint and backannotation object assume the name of the downstream application it is created for. For example, a viewpoint created for AccuSim is named accusim. Design configurations allow you to merge changes from backannotation objects onto the source schematic and edit schematics in design context. The actual design viewpoint can only be edited with a tool called the Design Viewpoint Editor-IC. For more information on design viewpoints, see Design Viewpoint Editor-IC Users and Reference Manual. You can create/open a design configuration for the active schematic from the File > Design Configuration pulldown menu or by invoking simulation mode. Click Simulation on the schematic_edit palette menu to invoke simulation mode.
In Simulation Mode
When the simulation mode is invoked, DA-IC automatically saves the active design and creates and opens a design configuration for it. If a design configuration already exists, DA-IC opens it. By default, the design configuration is created for EldoNet and is named eldonet. You can specify which application to create a design configuration for from the Session scope with the Setup > Simulation Configuration option.
11-1
In simulation mode, editing in design context facilitates the design and simulation cycle by allowing you to make changes to the source schematic. The following editing functions are currently supported from simulation mode:
Move and Copy Add/Delete Wire Add/Delete/Change Property Add/Delete Instance Flip, Rotate, and Connect
Editing Function Blocks from simulation mode/design context is not supported. All Function Blocks must be made before entering simulation mode/design context. Design context functions the same whether invoked from File > Design Configuration or by entering simulation mode.
11-2
$set_new_annotation_visibility() function. DA-IC searches for the dofile in the following order, and uses the first occurrence of the file that it finds: 1. $HOME/mgc_custom/da_ic/setup_new_ba_properties.dofile 2. $MGC_HOME/mgc_custom/da_ic/setup_new_ba_properties.dofile 3. $MGC_HOME/mgc_custom/new/da_ic/setup_new_ba_properties.dofile The following code block shows a sample listing of a setup_new_ba_properties.dofile:
{ local original_mode = $set_transcript_mode(@off); $set_new_annotation_visibility(@visible, 'baprop1', 'baprop2'); $set_new_annotation_visibility(@hidden, 'baprop3', 'baprop4'); $set_transcript_mode(original_mode);}
If the DES_ARCH_HIDE_BA_ONLY_PROPS environment variable is set to any value, the dofile overrides and hides all new backannotation properties.
Adding Properties
In design context, there are three commands that control whether properties are added to the schematic sheet or the backannotation object. The Set Edit Mode option controls whether schematic sheet edits are on or off; the Show Annotations option turns backannotations editing on, and the Hide Annotations option turns backannotation editing off. The combination of setting backannotations on/off and schematic sheet edits on/off controls where and how properties are added. Table 11-1 describes the four possible scenarios for adding properties. Table 11-1. Where Properties are Added Annotations On Edits On Edits Off Adds properties to backannotation object. Adds properties to backannotation object. Annotations Off Adds properties to schematic sheet. Cannot add properties.
11-3
If you edit the schematic sheet in the context of a design, save your sheet before you change the edit mode to off.
Note
Displays evaluated properties Displays unevaluated from backannotation object properties from and schematic sheet. backannotation object and schematic sheet. Displays evaluated properties Displays unevaluated from schematic sheet. properties from schematic sheet.
Annotations Off
If you change or add a property value as an expression, you must execute the Miscellaneous > Property Settings > Recalculate Properties menu option to display the new property expression in its evaluated state.
11-4
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.
11-5
Viewing Backannotations
A design named my_design with two 74161 instances, and with instance
handles I$1 and I$2; see Figure 11-1.
my_design(Design Context)
74161
74161
I$1
I$2
Instance handles
A design viewpoint called default, which is associated with my_design. A backannotation object called default connected to the viewpoint called
default. Version 1 of the backannotation object displays in the Design Viewpoint Editor-IC window, as shown in Figure 11-2.
Back Annotation: default Instance Pathname
/I$1/I$3 /I$2/I$3
11-6
Viewing Backannotations
Assume that you use DA-IC to open my_design in the context of a design viewpoint, as follows: From the session scope of DA-IC, choose the File > Design Configuration > Open menu item. Navigate to my_design, and choose Open as Editable. Click OK. By default, both the viewing of backannotations and the evaluation of parameters are enabled, as shown in Figure 11-1. As mentioned previously, and in the next examples, the viewing of backannotations and the evaluation of parameters are initially turned off. To view the sheet under the I$1 instance, select the instance and enter the Open Down command. A new window displays the schematic sheet for 74161 with instance handle I$1 in the context of the default design viewpoint. For more information about design configuration rules, see the Design Viewpoint Editor-IC User's and Reference Manual. Remember that the backannotation object is connected. The 74161 window for I$1 is shown in Figure 11-3.
Schematic#2 74161
I$3
I$4
A1
A2
phy_comp properties
Figure 11-3. default: I$1 Window The schematic sheet of instance I$1 has two symbols, I$3 and I$4, both of which have a property named phy_comp. Because backannotations are not currently
11-7
Viewing Backannotations
being viewed, the property values in the design view of the sheet are A1 and A2, which are the same values as the source schematic sheet. The first line in the default backannotation window shows that the instance I$1/I$3 has a phy_comp property whose backannotation property value is U1. When you display backannotations with the Show Annotations command, the phy_comp property value for instance I$1/I$3 changes from A1 to U1, as shown in Figure 11-4. Turning on backannotations does not change the phy_comp property value on the schematic sheet, which is still A1.
Schematic#2 74161
I$3
I$4
U1
A2
phy_comp properties
Figure 11-4. default: I$1 Window with Backannotations To turn off the display of backannotation values, use the Hide Annotations command.
11-8
Viewing Backannotations
If you specify instance handle I$2 of my_design and Open Down to component 74161, a window displays the schematic sheet for the 74161, that is, I$2 in the context of the default design viewpoint. In the view of I$2, shown in Figure 11-5, notice it is identical to I$1, and that backannotations are not displayed and evaluation is disabled.
Schematic#2 74161
I$3
I$4
A1
A2
phy_comp properties
Figure 11-5. default: I$2 Window The second line in the my_ba backannotation window defines that the instance I$2/I$3 has a phy_comp property, whose backannotation property value is U2. When you turn on the display of backannotations, the phy_comp property value for instance I$2/I$3 changes from A1 to U2; see Figure 11-6.
Schematic#2 74161
I$3
I$4
U2
A2
phy_comp properties
11-9
Evaluating 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 current-viewable property value to the schematic sheet.
Evaluating Properties
In the next example, a design configuration is opened in DA-IC with the evaluation of property values and the viewing of backannotations disabled to show the schematic sheet property values. Property evaluation is then enabled to show the property values resulting from applying the design viewpoint parameters and hierarchy to the schematic sheet properties. Next, the display of backannotations is enabled. This example illustrates the concept of the evaluation and resolution of property values with respect to backannotations. While editing in the context of a design, you can set the evaluation property values to be either on or off with the Setup > Objects... > Evaluate Expressions menu option. If on is specified, all property values are evaluated; if off is specified, property values display unevaluated. For the example shown in Figure 11-7, the my_design design configuration has a property named COMP whose value is 74161, and the phy_comp source property value for I$1/I$4 was changed to $strcat(COMP, '_U2').
11-10
Evaluating Properties
my_design(Design Context)
COMP properties
74161
74161
I$1
I$2
Figure 11-7. my_design Design Configuration with COMP Property From Design Viewpoint Editor-IC, the default backannotation object has a new phy_comp property value defined for I$1/I$4, as shown in Figure 11-8.
Figure 11-8. default Backannotation Window with I$1/I$4 If you specify instance handle I$1 in the Open Design Sheet command, a window displays the schematic view of the sheet for the 74161; that is, I$1 in the context
11-11
Evaluating Properties
of the default design viewpoint. Notice in Figure 11-9 that backannotations do not display and evaluation is disabled.
Schematic#2 74161
I$3
I$4
A1
$strcat(COMP, '_U2')
phy_comp properties
Figure 11-9. default with Expression If evaluation is enabled using the Set Evaluations command, or from the Setup > objects... dialog box, the displayed phy_comp property value for I$1/I$4 changes to 74161_U2, shown in Figure 11-10.
Schematic#2 74161
I$3
I$4
A1
74161_U2
phy_comp properties
11-12
If you enable backannotations, the displayed phy_comp property value for I$1/I$4 changes to the value specified in the connected backannotation object, MIL5, regardless of the evaluation setting, shown in Figure 11-11.
Schematic#2 74161
I$3
I$4
U1
MIL5
phy_comp properties
11-13
Editor-IC in Figure 11-12. Assume that the my_design is the same as Figure 11-7.
Back Annotation: default_1 Instance Pathname
/I$1/I$3 /I$2/I$3 /I$1/I$4
Figure 11-12. default Backannotation Window with Expression Before backannotations display, the sheet appears as shown in Figure 11-13, with the phy_comp property values of A1 and A2.
Schematic#2 74161
I$3
I$4
A1
A2
phy_comp properties
11-14
When backannotations display without evaluation, the I$1/I$3 phy_comp property value changes to U1, and the I$1/I$4 phy_comp property value changes to $strcat(COMP, '_ref'), as shown in Figure 11-14.
Schematic#2 74161
I$3
I$4
U1
$strcat(COMP, '_ref')
phy_comp properties
Figure 11-14. default with Backannotation Expression After evaluation is enabled with the Set Evaluations command or from the Setup> Objects... dialog box, the I$1/I$4 phy_comp property value changes to 74161_ref, as shown in Figure 11-15.
Schematic#2 74161
I$3
I$4
U1
74161_ref
phy_comp properties
11-15
my_design(Design Context)&
COMP properties
Figure 11-16. & In the Schematic Window After you choose the File > Apply Edits pulldown menu, the & disappears.
11-16
unattached annotations, and either reattach them to current objects, or delete them from the design.
11-17
OK
Reset
Cancel
Help
11-18
Open as:
Editable
Read Only
Options... Yes No
OK
Reset
Cancel
Help
Figure 11-18. Open Design Configuration Dialog Box Also, from the expanded Open Design Configuration dialog box, you can open the sheet as Editable or Read Only, and enter a startup filename that can execute internal state functions for setup purposes. Selecting the Options button displays the Open Design Configuration Options dialog box where you select the Available Top Layer Sheets in your design, and set the Auto Update Mode. The Auto Update Mode specifies whether instances should be updated when the sheet is opened, and if so, how the properties are merged. Click the stepper button to choose between the following:
11-19
Control the visibility of existing properties by using a startup file when opening a schematic. Enter the file pathname in the Startup Field Path text entry field in the Open Design Configuration Options dialog box. After the argument selections are complete, press OK in the Options dialog box and in the Open Design Configuration dialog box. For more information about how properties are updated, refer to Updating Properties on an Instance in Chapter 7.
Creating Backannotations
To create backannotations, perform the following steps: 1. Create a new Design Context using File > Design Configuration > Create menu item. The Create Design Configuration menu displays as in Figure 11-17. 2. Type the name of the design in the Component Name text field, or use the Navigator tool to select the component. 3. Select the simulation configuration you desire from the Setup Configuration For: list displayed. 4. Click OK. DA-IC displays the selected component design in Design Context, and you may begin your backannotation changes as desired.
Editing Backannotations
To edit backannotations, perform the following steps: 1. Open an existing configuration in Design Context using File > Design Configuration > Open menu item. The Open Design Configuration menu displays as in Figure 11-18. 2. Type the name of the design in the Component Name text field, or use the Navigator tool to select the component.
11-20
3. Click the Choose from Available Design Configurations box. The Choose Design Configuration dialog box appears displaying all available simulation configurations. a. Select the simulation configuration you desire. b. Click OK. 4. Select Open as Editable or Read Only as desired. 5. Enable Open Schematic from Hierarchy Window? choosing Yes or No as desired. 6. Choose the Options button to display the Open Design Configuration Options dialog box. a. Select from the displayed Available Top Level Sheets: as desired, if additional sheets exist. b. Select Open Existing Sheet or Create New Sheet. c. Select Auto, None, or Clear options for the Auto Update Mode: d. Type a Startup File Path, accept the default path displayed, or use the Navigator to select the Startup File desired. e. Click OK to close the Open Design Configuration Options window. 7. Click OK to display an existing Design Configuration. 8. Edit design as required.
11-21
2. Type set evaluations in the window area. The Set Evaluations prompt bar displays. Click the up arrow until the Mode is set to on. With evaluations on, all properties display evaluated.
Merging Backannotations
When a design configuration is open, with backannotations displayed and schematic edits on, you can merge all backannotations shown on the current schematic sheet. To merge backannotation to the schematic sheet, perform the following steps: 1. Place the cursor in design sheet window and click the center mouse button. Turn on the display of backannotations. 2. Open a design in Design Context, and verify the Display of backannotations is enabled using the Setup > Objects > [Design Context] Display Backannotations On. 3. In the design, select the Miscellaneous > Design Context > Merge Annotations menu item. This menu item merges all viewable backannotation properties to the schematic sheet. After this menu item is executed, and if you decide to save the sheet, the backannotation objects will no longer contain the property values that were successfully merged into the schematic sheet. If the schematic sheet is used in more than one place in your ! design, when you merge backannotations to that one sheet, all Caution other components (that use the sheet) see the changes. Since all occurrences of the component see the changes, you should not merge to reusable sheets.
11-22
11-23
b. Verify or change the Schematic Name. c. Verify or change the Sheet Name. d. Verify or change the Startup File Path. e. Click OK. 5. Click OK in the Open Schematic dialog box. DA-IC creates all the new design objects from the ground up: the new component, the new component interface, the new schematic, the new sheet and the new design viewpoint. A new design context window is then opened on the new (blank) schematic sheet and ready for your edits.
11-24
Function Blocks allow you to create and reuse hierarchical design components from within a schematic. Function Blocks are created with the Schematic Editor and can consist of a schematic design as well as symbols. Once created, the Function Block can be instantiated on other design sheets and schematics. Function Blocks support both top-down and bottom-up design methodologies. For procedures to create Function Blocks, see Chapter 3. Do not edit Function Blocks in simulation mode or design context. ! Use the Schematic Editor only to create or edit Function Blocks. Caution All Function Blocks must be made before you invoke simulation mode or design context.
12-1
FB Definition
Schematic#1 source1 sheet1
mux
mux
mux
mux
mux
mux
FB Instance
FB Instances
Figure 12-1. FB Definition and FB Instance Usage Model FB Instances are instantiated and then electrical connectivity is constructed. Subsequently, the FB Instances and, in some cases, the FB Definition, are converted or made into hierarchical Made Function Blocks.
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. Note: The Made FB Definition can be in either form depending on whether it is connected or unconnected.
12-3
UNCONNECTED A string property that identifies an unconnected Made FB Definition. <user-specified> Optional - A user-specified string property representing the future instance name of the FB Definition or FB Instance. This property can be used for arrayed FB Instances. For example: RAM_INST[15:0].
FB_NAME <user-specified>
Required - A string property that represents the name of the FB Definition or FB Instance.
FB Definition
The FB Definition is the source object for the FB Instances, Made FB Definitions, and Made FB Instances. Figure 12-2 shows objects that enclose editable electrical circuitry. FB Definitions are named, rectangularly-shaped, schematic sheet objects enclosing editable electrical circuitry.
12-4
FB_NAME Property
Schematic#1 source1 sheet1
FB_INST Property
mux
mux_1
Boundary
12-5
Instances are formed this way using the FB_INST property. Example: RAM_INST[15:0].
FB Instance
Figure 12-3 shows that an FB Inst is a comment rectangle.
FB_NAME Property FB_INST Property
mux
mux_2
Boundary
12-6
The FB Instance is an instantiation of an FB Definition. Unlike the FB Definition, the FB Instance does not contain any visible circuitry, but is the FB Definitions electrical equivalent. An FB Instance must have a corresponding FB Definition located on the same sheet or on a different sheet within the schematic. If the source FB Definition is on a different sheet, then it must be converted to a Made FB Definition prior to checking the schematic.
Note
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.
12-7
FB Pins
FB Pins create electrical connectivity into and out of an FB Definition or FB Instance, and each FB Definition or FB Instance must have at least one FB pin. Once placed on an unmade FB Definition or FB Instance, the FB Pins can be selected, moved, deleted, or copied. However, the FB Pins are only positioned on the FB Definitions or FB Instances boundary. There are two FB Pin types available: FB Definition Pins and FB Instance Pins. FB Pins are placed on the top, bottom, or left and right sides of an FB Definition or FB Instance.
Note
Definition is converted to a Made FB Definition, these pins assume the inside nets name. If the inner net is not named, then, when converted, the FB Pin is automatically named based on the inside nets handle name.
o If a wide net is connected to an inside net, using the appropriate bus or
bundle syntax, then the connected FB Definition Pin is wide and matches the connected wide nets width.
12-8
Figure 12-5. FB Inst Pin Since an FB Instance is a representation of an existing FB Definition, the FB Instance Pins on all four sides must correspond to the FB Definitions pins.
Note
When the FB Pin is added, the FB Pin type placed on an FB Definition, or FB Instance boundary, is automatically selected.
12-9
mux
mux_1
IN_1
OUT_1 IN_2
IN_3
12-10
Usage Paradigm
newly-generated symbol replaces the comment rectangle and enclosed circuitry. If the FB Definition does not have nets connected to its pins, then its converted Made FB Definition changes to comment graphics.
Note
The resulting Made FB Definitions pin names use the net names attached to the FB Definitions inner pins. If these nets are unnamed, then the nets handle is used to generate pin names. For example, if a pre-transformed FB Definition pin is connected to net N$5 inside the FB Definitions boundary, then the Made FB Definitions pin name is N_5. 2. Made FB Instance: When FB Instances are converted, the FB Instances comment rectangle is used to generate the Made FB Instance that represents the FB Definition's underlying schematic. During the operation, the FB Instances pins are checked to see if they match the FB Definitions pins. Each FB Instance side must contain an identical number of pins on the FB Definitions corresponding side. When this is true, the FB Instances pins are named to match the FB Definitions pins. If the pins do not match, the operation issues an error message and terminates.
Usage Paradigm
At the most rudimentary level, a single FB Definition is created and then reused as an FB Instance throughout the schematics sheet, as shown in Figure 12-1. Once electrical connectivity is created within the sheet, the FB Definitions and FB Instances are converted into Made FB Definitions and Made FB Instances, respectively. The next section describes two usage models recommended for this implementation:
12-11
Usage Paradigm
Models
1. Unconnected FB Definition Usage Model - The usage model illustrated in Figure 12-7 is the most efficient.
FB Instances
mux
I_03
mux
I_06
mux
FB Definition
mux
I_09
mux
I_12
Figure 12-7. Unconnected FB Definition Usage Model Create an FB Definition, then FB Instances (based on the FB Definition) are created with the Function Block popup menu (Figure 12-8) or the $create_fb_inst_from_def() function.
12-12
Usage Paradigm
Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align Instance to Definition Create Instance from Definition
Figure 12-8. The Function Block Popup Menu The FB Instances are instantiated throughout the schematic sheet or design, and establish the FB Instances electrical connectivity. However, the FB Definition is not wired into the schematic. When transformed into a Made FB Definition, the unconnected FB Definition is converted into a comment graphic, and does not appear in a designs netlist. 2. Connected FB Definition Usage Model - Alternatively, an FB Definition is created and wired into the schematic, as demonstrated in Figure 12-9.
12-13
Usage Paradigm
FB Definition
mux
I_03
mux
I_06
mux
FB Instances
I_09
mux
I_12
Figure 12-9. Connected FB Definition Usage Model During conversion into a Made FB Definition, the FB Definition converts to a Made FB Definition in place. The Made FB Definition is a symbol that represents the underlying schematic. In this case, the Made FB Definition becomes an electrical part of the design, and is netlisted along with the other Made FB Instances. To edit the Made FB Definition, convert the object back to an FB Definition, apply the edits, and then re-make the FB Definition.
12-14
Usage Paradigm
mux mux_1
I_03
mux_1
FB Definitions FB Instance
OUT_2
Figure 12-10. Nested Function Blocks To nest Function Blocks, you must adhere to the following design rules:
Only FB Definitions can contain nested FB Definitions and FB Instances. An FB Definition cannot contain a nested FB Instance of itself; you cannot
nest within FB Definition A an FB Instance created from FB Definition A. After you construct an FB Definition that contains nested Function Block objects, you subsequently convert the FB Definition to a Made FB Definition symbol instance. During the conversion operation, each nested FB Definition and FB Instance is converted in sequence, beginning with the inner-most Function Block object and progressively working to the outer-most Function Block Object.
12-15
Usage Paradigm
If you need to revert the Made FB Definition back to its unmade form, then use the Unmake Function Block operation, as with any other Made FB Definition. With nested Function Blocks, you can revert selected levels of nested hierarchy or revert all levels, as shown in Figure 12-11.
Function Block
Other Menus
Unselect All Move [a-MMB] Copy [c-MMB] Delete Undo Redo Properties Add FB Pins Make Function Block Unmake Function Block Convert Function Block Resize Align Selected All 1 Level ALL Levels Specify
12-16
Usage Paradigm
Nets consist of the following categories: 1. Internal FB Definition Nets 2. External Nets 3. Passthru Nets 4. Flythru Nets Internal FB Definition Nets Internal net constructs are only applied to FB Definitions. These nets connect the FB Definitions internal circuitry, including internal FB Pin connections, within the FB Definitions boundary. Figure 12-12 is an example of an FB Definitions internal nets.
12-17
Usage Paradigm
Definitions Boundary
mux
mux_1
Internal Nets
Figure 12-12. FB Definitions Internal Net Example Internal nets are considered part of the FB Definitions contents.
Note
FB Definition internal nets are nets fully contained within the FB Definitions boundary, which connect to one or more instance pins.
12-18
Usage Paradigm
External Nets
External nets are standard Design Architect-IC wires, busses, and bundles constructs. These nets are externally connected to an FB Definition or FB Instance via the FB Definitions or FB Instances FB Pins, as shown in Figure 12-13.
External Nets
mux mux_1
12-19
Usage Paradigm
Passthru Nets
Passthru nets are constructions used exclusively with FB Definitions. Figure 12-14 shows a passthru net connected to an inner FB Pin that passes over the FB Definitions rectangular boundary.
mux
mux_1
Passthru Nets
Figure 12-14. Passthru Net Examples The Made FB Definition and Made FB Instance Creation Operation excludes passthru net segments from the Made FB Definition that extend outside an FB Definitions boundary, but the rest of the net is copied into the underlying schematic. After the operation, the original passthru net remains on the top-level schematic in its entirety. Note, you must enable passthru nets, or these nets are flagged as errors when Checking Function Blocks. To enable passthru nets, refer to the Function Block Setup section in Chapter 3, or use the $set_fb_passthru() function.
12-20
Usage Paradigm
Flythru Nets
Flythru nets are not part of the FB Definitions contents. Flythru nets intersect an FB Definition, as shown in Figure 12-15.
mux
mux_1
Flythru Net Figure 12-15. Flythru Net Example Flythru nets are excluded from an FB Definitions or FB Instances contents during The Made FB Definition and Made FB Instance Creation Operation, and remain part of the upper-level schematic sheet.
12-21
Usage Paradigm
12-22
Hotkeys are tools within Design Architect-IC that allow the user to perform schematic and symbol functions or operations via the keyboard. Hotkeys provide the user with a shortcut for accessing commonly-used commands. Additionally, you can customize hotkeys. Hotkey usage is limited to the Design Architect-IC Schematic and Symbol Scopes.
Note
A Hotkey is an alphanumeric keyboard key that is tied to an Advanced MultiPurpose Language (AMPLE) function that contains any number of AMPLE commands. The command executes by pressing the keyboard key when hotkeys are enabled. The commands can be attached to any of the 62 alphanumeric keys (a through z, A through Z, and 1 through 0).
Hotkey Types
You can select from one of the following three Hotkey types: 1. Using DA-IC Predefined Hotkeys - a predefined set of hotkeys supplied with Design Architect-IC. Please refer to Appendix A, Predefined Hotkeys, for a complete list of these hotkeys. 2. Using User-Defined Hotkeys - user-modified hotkeys. When the user creates these Hotkey values, the values are stored in the $HOME/mgc/da_hotkeys directory and, if present, are loaded by default when hotkeys are enabled. To create User-Defined Hotkeys, refer to Using User-Defined Hotkeys in this chapter.
13-1
Using Hotkeys
3. Using Custom Hotkeys - Hotkeys customized by the user. A predefined set of hotkeys is copied to a specified location and modified using the AMPLE editor. To customize a specific set of hotkeys, refer to the Using Custom Hotkeys section in this chapter. When enabled, you can bypass the hotkeys at any time and bring up a command window by using the F11 key, or by selecting any unmapped alphanumeric key.
Note
13-2
Using Hotkeys
Alternatively, you can invoke Hotkey functionality using the Hotkey AMPLE functions. For additional information on Hotkey AMPLE functions, refer to Chapter 15, Hotkey Function Dictionary. Figure 13-2 below illustrates the hotkeys menu and cross-references each menu options respective AMPLE function. Enables User-Defined Hotkeys (if previously defined)
$set_hotkey_mode()
Enable Load... Report Define... Customize...
OK Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys Reset Cancel
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
Customize Hotkeys
$copy_edit_hotkey_settings()
13-3
Using Hotkeys
13-4
Using Hotkeys
The Load Hotkey Settings dialog box appears as shown in Figure 13-4:
Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys
OK
Reset
Cancel
Figure 13-4. Load Hotkey Settings dialog box 2. Click the DA-IC Editing button, if not already selected, in the Choices section of the dialog box. The Enable Hotkeys radio button is selected by default; in order to use the hotkeys, they must be enabled. Refer to Appendix A, DA-IC Hotkey Set for a list of predefined keys. 3. Verify the settings, then click OK. The DA-IC Editing Hotkeys are now enabled. You can verify this within the Status bar as shown in Figure 13-5.
13-5
Using Hotkeys
Figure 13-5. Design Architect-IC Status Bar with Hotkeys Enabled (Schematic Scope) The DA-IC Editing Hotkeys are now ready to use. To invoke a command or function, type the alphanumeric key you want.
13-6
Using Hotkeys
Figure 13-6. Defining Hotkeys (Schematic Scope) The Define Hotkey dialog box appears as in Figure 13-7.
Define Hotkey Select a Command: Add Arc Add Bus Add Circle Add Dot Add Frame Add FB Defn Add FB Inst Add FB Pin Add Instance Add Line
OK
Reset
Cancel
13-7
Using Hotkeys
The Define Hotkey dialog box presents a scroll list of commonly-used Design Architect-IC commands that you can map key-by-key to the desired alphanumeric key. A complete list of cross-referenced Design Architect-IC commands, contained in the Define Hotkey dialog box, can be found in Appendix B, Hotkey Commands. 2. To define a Hotkey, select the desired command from the list box, then click OK. An informational message prompts you to select an alphanumeric key. 3. Press the alphanumeric key you want to map. Supply a comment: The dialog box appears, as in Figure 13-8.
Supply a comment:
OK
Reset
Cancel
Figure 13-8. User-Defined Hotkey Comment Dialog Box This dialog box allows you to link a short description of the selected command to the key. You must enter a comment for each User-Defined Hotkey that you create. When you perform a Report Hotkeys command, these comments appear. 4. Type a comment in the dialog box, and click OK. The selected alphanumeric key is now mapped to the chosen AMPLE command, and is defined for future Design Architect-IC sessions. The resultant mapped key is automatically created and stored in the $HOME/mgc/da_hotkeys directory. Within this directory, the individual alphanumeric keys are mapped key-by-key to files with the following naming syntax:
13-8
Using Hotkeys
key_<key>.ample
For example, if you mapped the a key to the Add Arc command, then the a file named key_a.ample would be created in the $HOME/mgc/da_hotkeys directory. The key_a.ample file, in this example, would contain the following:
extern da_window@@$key_label_a = Add Arc; function da_window@@$key_a(),INDIRECT { $$add_arc(); }
As stated previously, User-Defined Hotkeys load by default when hotkeys are enabled. After defining a Hotkey, a prompt appears (Figure 13-9) asking you if you want to define additional hotkeys.
Yes
No
Figure 13-9. Define more hotkeys? dialog box 5. Click Yes to define additional hotkeys, then repeat steps 2 4. 6. Click No when you are finished creating User-Defined Hotkeys.
13-9
Using Hotkeys
13-10
Using Hotkeys
Customizing Hotkeys
1. Within the Schematic or Symbol scope, choose the Miscellaneous > Hotkeys > Customize... menu option from the Design Architect-IC menu bar as shown in Figure 13-10.
Figure 13-10. Hotkey Customize Menu Option (Schematic Scope) The Customize Hotkey Settings dialog box displays.
Customize Hotkey Settings Start With: DA-IC Editing Copy To:
OK
Reset
Cancel
13-11
Using Hotkeys
This dialog box prompts you to provide a location and filename to copy the DA-IC Editing Hotkeys to. The DA-IC Editing Hotkey set serves as the basis for defining Custom Hotkeys. 2. Enter an appropriate path, then click OK. The AMPLE Editor is invoked on the copied file. At this point, you can customize the AMPLE functions. For information regarding AMPLE and the AMPLE editor, please refer to the following manuals:
13-12
Using Hotkeys
Figure 13-12. Close Window Pulldown Menu A Save Changes dialog box, similar to Figure 13-13, prompts you to save the edits that you have made to the AMPLE userware file.
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-13
Using Hotkeys
Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys
OK
Reset
Cancel
Figure 13-14. The Load Hotkey Settings dialog box 2. Click Custom in the Choices section of the dialog box. The Enable Hotkeys radio button selects by default; in order to use the Hotkeys, they must be enabled. 3. Verify the settings, then click OK.
13-14
Using Hotkeys
The Specify Custom Hotkey File dialog box, shown in Figure 13-15, prompts you to enter the path to and filename of the Custom Hotkey AMPLE file created in the previous steps.
Specify Custom Hotkey File Filename Navigator...
OK
Reset
Cancel
Figure 13-15. Specify Custom Hotkey File dialog box 4. Enter the path to and filename of the Custom Hotkey file, or use the file Navigator, then click OK. The Custom Hotkey set is now loaded and the Hotkeys are enabled.
13-15
Using Hotkeys
When invoked, the Report option returns a dialog box that contains a scroll list of currently-defined Hotkeys and their definitions. Figure 13-16 provides an example of this dialog box.
Report Hotkey Settings
DA-IC Editing
Hotkey Definitions: a = Add Pin b = Add Bus/Bundle c = Copy d = Delete e = Report Object f = Flip Horizontal i = Add Instance m= Move n = Name Nets o = Open Down View Source Code Print List OK Reset Cancel
Enabling Hotkeys
By default, Hotkeys are disabled in Design Architect-IC. Hotkeys are enabled via the Design Architect-IC user interface, as detailed in the following steps, or via the command line by using the $load_hotkey_settings() function. If a UserDefined Hotkey set has been created, then these key-by-key Hotkey values are
13-16
Using Hotkeys
loaded by default when the Hotkeys are enabled. To load a Custom Hotkey set, refer to Using Custom Hotkeys in this chapter. 1. From the Design Architect-IC menu bar, choose the Miscellaneous > Hotkeys > Enable pulldown menu item.. If a User-Defined set of Hotkeys has not been created, then the following dialog box displays.
Yes
No
2. To load an initial set of Hotkeys, click Yes. If you select No, then the Hotkeys are enabled, but none are loaded. The follow message displays:
Note Please load hotkeys before trying to use them.
13-17
Using Hotkeys
The Load Hotkey Settings dialog box appears, as displayed in Figure 13-17.
Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys
OK
Reset
Cancel
Figure 13-17. Load Hotkey Settings Dialog Box 3. Within the dialog box, select one of the three Hotkey types and click on OK. The specified Hotkeys are now enabled.
Disabling Hotkeys
1. From the Design Architect-IC menu bar, choose the Miscellaneous > Hotkeys > Disable pulldown menu item.
13-18
Using Hotkeys
Figure 13-18. Disabling Hotkeys via the Miscellaneous Pulldown (Schematic Scope) The Hotkeys are now disabled.
13-19
Using Hotkeys
13-20
This chapter contains information about customizing userware for Design Architect-IC. The information is organized as follows:
14-1
Customization Guidelines
Customization Guidelines
When customizing a Mentor Graphics application, the type of customization performed determines the amount of rework necessary each time you upgrade to a newer version of Mentor Graphics software. The following list describes the three levels of rework used in this appendix: Light Moderate Heavy The time required to make changes at each software update is minimal; it is worth the productivity gains from customization. The time required to make these changes at each software update must be justified by productivity gains. The time necessary to perform this level of rework at each software update does not justify customization. Mentor Graphics does not provide support for customization tasks that fall into this category.
14-2
Table 14-1 categorizes common customization tasks. Table 14-1. Customization Tasks Categorized by Re-work Level Light Creating New Functions Using Documented Userware Creating New Menus Moderate Overloading Documented MGC Functions Heavy Creating New Functions Using Undocumented Userware
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-3
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-4
${MGC_HOME}/pkgs/uims_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/vdd_ic.[platform]/userware/${LANG} ${MGC_HOME}/pkgs/ftxt_ic.[platform]/userware/${LANG} The AMPLE files for scopes specific to Design Architect-IC can be found in the following directories: ${MGC_HOME}/pkgs/bed.[platform]/userware/${LANG} ${MGC_HOME}/shared/pkgs/da_ic.[platform]/userware/${LANG} ${MGC_HOME}/shared/pkgs/hdtxt.[platform]/userware/${LANG} ${MGC_HOME}/shared/pkgs/vhdl_ed.[platform]/userware/${LANG} The platform pattern in the directories (above) refers to a character string that uniquely identifies your host platform. You can use the following script to return the correct platform suffix for your workstation: $MGC_HOME/bin/get_mgc_vco_ic In the following example, the pathname to the scope file for the ovl_area scope is based on the following conditions: the MGC_HOME shell environment variable is set to /usr2/mgc_tree, your workstation is a SUN workstation, and the LANG shell environment variable is set to En_US (resolves to En_na in the mgc_lang_map file): /usr2/mgc_tree/shared/pkgs/uims_ic.ss6/userware/En_na/ovl_area.ample For detailed information on the MGC_HOME and LANG shell environment variables, refer to the AMPLE for IC Flow User's Manual.
14-5
IDW Hierarchy
14-6
Table 14-2. Scopes Searched in each Window [continued] Window Type Notepad Scopes Searched notepad ptxt_area rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area fb_schematic schematic da_window bed_window area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area fb_session ovl_area
Schematic Editor
14-7
Table 14-2. Scopes Searched in each Window [continued] Window Type Session Scopes Searched fb_session da_session session_area ovl_area framed_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample symbol da_window bed_window area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area
Symbol Editor
14-8
Table 14-2. Scopes Searched in each Window [continued] Window Type Transcript Scopes Searched rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area input_area ptxt_area rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area
Userware Editor
14-9
Table 14-2. Scopes Searched in each Window [continued] Window Type VHDL Editor Scopes Searched hdtxt_area ptxt_area rtxt_area btxt_area area dme_base_tk dme_do_tk dme_dn_tk plot_ui_tk ui_base ample framed_area da_session session_area ovl_area
You can find the name of the top level scope of the active window by entering the following statement in a popup command line:
$window_scope_name()
The name of the scope appears in the transcript. You can find the complete scope hierarchy for the active window by entering the following statement in a popup command line:
$ask_scope_frame_name()
This function displays the scope hierarchy in a list dialog box. The ample scope appears at the bottom of the list as <no_name> because you cannot add functionality to the ample scope after an application is invoked.
14-10
Simple Customizing
Simple Customizing
Plan carefully before you begin customizing. Your new and customized functions will be interacting with all other existing functions. Because other userware may be dependent upon menu items, it is usually better to add menu items using the $add_menu_item() function, rather than modifying existing menus. Library menus are discussed beginning on page 14-28. For information about customizing other menus, refer to the Customizing the IC Flow Common User Interface manual. If you want to modify userware without overwriting, refer to section Modification of Functions in the AMPLE for IC Flow User's Manual.
14-11
Simple Customizing
The previous commands set the transcript mode to bottom and execute the startup file schematic.startup in an active schematic window.
14-12
Simple Customizing
You can place the sample startup files in the following code blocks in any of the supported startup file locations. Refer to the Design Architect-IC Reference Manual and the AMPLE for IC Flow Reference Manual for descriptions of the functions used in these files.
// // // // // // // // // // // This startup file sets up the DA Session environment and sets the selection model to individual selection rather than additive selection. The following Session setup options are specified: Mouse button click speed = average Input device = mouse Window layout = quadrant tiling Visible: menu bar, window title, message area, palette, status line, softkey area, Active Symbol window. Not visible: Context window. $form_setup_session(125, "mouse", @quad, [@true], [@true], [@true], [@true], [@true], [@true], [@true], []); $set_selection_model(@individual);
14-13
Simple Customizing
The next example sets up the editing environment in the Schematic Editor, then sets the default sheet checks.
// // // // // // // // // // // // // // // // // // This startup file sets net, property text, and comment attributes, then sets default sheet checks. Net attributes: width = p1, dotted line, orthogonal mode = off, snap angle = 44.9, snap = on, dotsize = 0.025, dotstyle = square, junction dots at rippers, closedots displayed, bus_width = p3, autoroute = on, autoripper = on, ripper_symbol = "$MGC_GENLIB/rip", "1X1" Property Text attributes: font = "stroke", ht=0.1875, left-bottom justification, horizontal, transparent, visible
Comment attributes: style = shortdash, width = p3, fill = clear, font = "stroke", height = 0.1875, left-bottom justification, horizontal, transparent $setup_net(@p1, @dot, @off, 44.9, @on, 0.025, @square, @on, @on, @p3, @on, @on, "$MGC_GENLIB/rip", "1X1"); $setup_property_text("stroke", 0.1875, @left, @bottom, 0, @on, @on); $setup_comment(@shortdash, @p3, @clear, "stroke", 0.1875, @left, @bottom, 0, @on); // The following list shows the default sheet checks set by // the next function: // checkfile not saved, report in window and transcript // no user-defined checks // errors and warnings reported for: instances, // special symbols, nets, frames, expressions, pins, // notdots, closedots, dangling nets and pins // errors only reported for: parameters, property owners, // overlapping instances, $setup_check_sheet("da_check_file", @nofile, @window, @transcript, "", void, @all, @all, @all, @all, @errorsonly, @all, @all, @errorsonly, @errorsonly, @all, @all, @all, @nocheck);
14-14
Simple Customizing
While startup files should not be used to define custom userware functions, they are the simplest method for customizing Design Architect-IC. For an example of a personal startup file, refer to page 14-19.
Source Location
Most people do not (and should not) have permission to alter source code files in the MGC_HOME directories. To customize a particular area of userware, copy the .ample file containing the functions you need to one of your directories, then alter your copy, and load it as described later in this appendix. To find the location of the file you need to copy, choose the MGC > Userware > Edit Source pulldown menu item. Enter the name of the function (do not enter the parentheses) you want to alter in the prompt bar that appears. For example, if you want to modify the $add_property() function for symbols, activate a symbol window and choose the MGC > Userware > Edit Source menu item. Enter $add_property in the prompt bar. The source file that contains the definition of the Symbol Editor $add_property() function is displayed in a Notepad window. The pathname of the file appears in the window title bar. This method of finding the source location can help you identify functions that have been overwritten. You can also use $list_overwritten_functions() to ensure that you haven't overwritten important userware. Most Design Architect-IC userware is in one of the following directories: ${MGC_HOME}/shared/pkgs/da_ic/userware/${LANG} or ${MGC_HOME}/pkgs/da_ic/userware/${LANG} The first directory contains the .ample files, which are loaded at startup. The $MGC_HOME/pkgs directory contains .dofile, and .ample_c files, and other items such as the ASCII help files accessed from the Help > More Help menu.
14-15
Simple Customizing
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-16
Simple Customizing
You can use the same statements in a Korn shell, or use a single statement:
export AMPLE_PATH=$HOME/mgc_custom:$HOME/mgc/userware
The search begins with the last pathname in the list, and works back to the first pathname in the list (right to left). Each new definition for a function replaces any previous definition in that scope. All Falcon Framework applications will load userware, compiled or not, supplied in a directory specified in the AMPLE_PATH environment variable. The directory name you specify must contain another directory with the same name as the application package. That application package contains the userware you want to load for that application. For example, if you placed your schematic userware customizations in $HOME/mgc_custom/da_ic/schematic.dofile, you specify $HOME/mgc_custom as one of the pathnames in the AMPLE_PATH variable. This is explained in Scope Specific Dofiles on page 14-18. If the AMPLE_PATH variable does not exist, the system searches for userware files in the default location, $HOME/mgc/userware/<pkg_name>, where $HOME is an environment variable whose value is the pathname of the user's home directory. If the AMPLE_PATH variable was created, but was not set, or was explicitly set to be blank (), the system does not look in the default location; only application and site specific userware are loaded. In addition to the normal Falcon userware loading options, Design Architect-IC makes special accommodations for the creators of libraries which should appear in the Design Architect-IC Schematic Editor Libraries menu, and for people developing Design Architect-IC personality modules. These features include:
Scope specific dofiles DES_ARCH_PKGS_TO_LOAD environment variable Invoke-time Bourne Shell Scripts
14-17
Simple Customizing
You can also have a userware file, hdtxt_area.dofile, which is not in this list. Design Architect-IC looks for this file in $AMPLE_PATH/hdtxt because the application package hdtxt defines the scope hdtxt_area (the VHDL window). For example, assume you have the following customized userware files: $HOME/mgc_custom/new/da_ic/schematic.dofile $HOME/mgc_custom/da_ic/schematic.dofile $HOME/mgc_custom/da_ic/da_window.dofile Also assume you set your AMPLE_PATH variable as follows:
$ AMPLE_PATH=$HOME/mgc_custom/new:$HOME/mgc_custom $ export AMPLE_PATH
After all standard Design Architect-IC userware is loaded, your files are loaded in the following order: 1. $HOME/mgc_custom/da_ic/da_window.dofile 2. $HOME/mgc_custom/da_ic/schematic.dofile
14-18
Simple Customizing
3. $HOME/mgc_custom/new/da_ic/schematic.dofile
Set the variable in $HOME/.profile. Write a script to set and export the variable, then invoke Design ArchitectIC. For example, if you always want specific modules loaded, you could create a Bourne shell script with the following commands:
DES_ARCH_PKGS_TO_LOAD='module names' export DES_ARCH_PKGS_TO_LOAD $MGC_HOME/bin/da_ic
14-19
Simple Customizing
# # ASIC_VENDOR Driver for Design Architect-IC # This file is in a directory in the user's shell's $PATH, # and will be executed when the user types: # # asic_vendor_da # library_pathname="$MGC_HOME/user/asic_vendor/libraries" echo "ASIC_VENDOR Driver for Design Architect-IC," echo " version 1.1, 6/6/1992 ${library_pathname}" if [ "${AMPLE_PATH}" = "" ] then # set default search path and add new path AMPLE_PATH=${HOME}/mgc/userware:${library_pathname} else AMPLE_PATH=${AMPLE_PATH}:${library_pathname} if export AMPLE_PATH # unset to turn off loading of other packages unset DES_ARCH_AUX_PKG_LIST export DES_ARCH_AUX_PKG_LIST $MGC_HOME/bin/da_ic $@
Userware Examples
The following text shows sample customization tasks that require light maintenance for subsequent releases of Mentor Graphics software. Creating New Functions Using Documented Userware Rework Level: Light -- Userware functions created using calls to documented Mentor Graphics functions require little or no maintenance from one release to the next. All user visible changes to documented functions are listed in release notes. To make sure that userware functions do not overload Mentor Graphics functions, use a unique prefix at the beginning of all custom functions. In addition to preventing overloaded functions, the prefix alerts users to the origin of the function.
14-20
Simple Customizing
The following code block contains a sample userware function and command registration of the function. The prefix, 'vndr_', is used in the function name and during command registration. The prefix is not used with the 'c_int' external variable because the variable is removed after command registration
1 function vndr_part_copy( part :string,
2 3 4
5 6 7 8 9 10 {
props : switch name [on, off], depth : label integer [0, 4] ), SEALED $writes_file($stdout, $strcat( "The part string is : ", part, "\nThe props switch is : ", props, "\nThe depth label is : ", depth, "\n"));
}
11 12 13 14 15
extern c_int = $register_command("par.t co.py", "vndr_"); $register_args("of.f", @off, c_int); $register_args("d.epth", "depth", c_int); $register_alias("pcopy", cint); $undefine_id(@c_int);
14-21
Simple Customizing
Creating New Menus Rework Level: Light -- New menus created in userware that call documented functions or custom userware functions require light maintenance. New menus must be created for all custom menus, to delete a menu item from an existing menu, or to reorder the items on an existing menu. All menu types available in the Common User Interface are created with the $create_menu() function. The following lines show the syntax for the $create_menu() function:
$create_menu(`scope_name', menu_type, 'menu_name', columns, 'bgd_color', items)
The following code block creates a pulldown menu for the VNDR menu bar item in Design Architect-IC; Figure N-1 shows the resulting menu.
1 2 function vndr_pulldown_menu(),INVISIBLE {
3
4 5 6 7
Design Architect-IC Setup Miscellaneous Libraries Check Report View Help VNDR
14-22
Advanced Customizing
Advanced Customizing
The following text is for component library developers and others ! who do major customization. These methods alter the MGC Caution Tree, and are not intended for most users.
14-23
Advanced Customizing
Users in Project C need to set this variable to get both of the customizations:
$ $ DES_ARCH_AUX_PKG_LIST=project_a:project_b export DES_ARCH_AUX_PKG_LIST
Design Architect-IC will load any of the following files with .ample extensions, provided there is no *.ample_c file, and will execute any of the following files with .dofile extensions in the ...userware/${LANG} directory: da_session.ample da_window.ample schematic.ample symbol.ample hdtxt_area.ample da_session.dofile da_window.dofile schematic.dofile symbol.dofile hdtxt_area.dofile
For better performance, you can compile .ample files into a single file, and place the compiled file in the ...userware/${LANG} subdirectory. The name of the compiled file must be the same as the package name. For example, the pathname of the compiled file used by Project A in the previous example must be: $MGC_HOME/pkgs/project_a/userware/${LANG}/project_a.ample_c If there is no compiled userware in the directory, or the compiled file does not include userware for one or more scopes, DA-IC loads uncompiled .ample files such as: $MGC_HOME/pkgs/minico_da/userware/${LANG}/schematic.ample
14-24
Advanced Customizing
DES_ARCH_AUX_PKGS_LIST Example
In this example, a group has received permission to place their userware inside the $MGC_HOME tree, so they can use DES_ARCH_AUX_PKGS_LIST to inform Design Architect-IC of the location of userware to load. User settings of environment variables will be supplemented, not replaced.
#!/bin/sh # # This script adds a pkg name to the DES_ARCH_AUX_PKG_LIST # environment variable which DA-IC will check for in the # $MGC_HOME tree to load userware and libraries. library_package_name="minico_da" echo "Using ${library_package_name} version 0.1" if [ "${DES_ARCH_AUX_PKG_LIST}" = "" ] then DES_ARCH_AUX_PKG_LIST=${library_package_name} else DES_ARCH_AUX_PKG_LIST= ${DES_ARCH_AUX_PKG_LIST}:${library_package_name} fi export DES_ARCH_AUX_PKG_LIST
14-25
Advanced Customizing
unset
unset
unset
unset
14-26
Advanced Customizing
unset
unset
unset
14-27
Advanced Customizing
Schematic Menus
The schematic.dofile File A common use for the schematic.dofile is to call AMPLE functions that create library menu definitions. When you want to access other component libraries, such as those from thirdparty vendors, the userware that defines the menus and adds them to the Libraries pulldown menu needs to be loaded. The following must be true:
If the libraries are placed in the $MGC_HOME tree, then one or both of the
following files must exist: $MGC_HOME/pkgs/lib_pkg_name/userware/${LANG}/ schematic.ample or $MGC_HOME/pkgs/lib_pkg_name/userware/${LANG}/ lib_pkg_name.ample_c
You must add the lib_pkg_name to the list of package names for the
DES_ARCH_AUX_PKG_LIST environment variable, and export the variable.
The Libraries pulldown menu exists only when the analog_da personality module is successfully loaded.
Note
14-28
Advanced Customizing
The schematic.menu and schematic.ample Files The following text contains an example of a schematic.menu file and a schematic.ample file, and suggestions on how to use them. Some of the command lines in the following text have been adjusted so that they fit properly on the page.
Note
HINTS: 1. Check that your HOME environment variable is set to /<yourpath>/<user_name> by typing env in a unix shell. If you do not have this variable, have your system administrator create it. 2. Create a directory called mgc/userware/da_ic in your home directory:
mkdir $HOME/mgc mkdir $HOME/mgc/userware mkdir $HOME/mgc/userware/da_ic
3. If you desire to create a userware directory elsewhere than at $HOME/mgc/userware, set the AMPLE_PATH environment variable to include that directory; otherwise, this step is not necessary. (See the discussion starting on page 14-16.) The AMPLE_PATH should be added to your startup/login file so you will not have to set it each time you log in. 4. Copy the schematic.ample file to your userware directory:
cp $MGC_HOME/shared/pkgs/mgc_digital_uw/userware/default\ /schematic.ample $HOME/mgc/userware/da_ic/schematic.ample
14-29
Advanced Customizing
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-30
Advanced Customizing
//------TO $custom_menu //-----------------------------------------------------------$custom_menu(); // Add the toplevel menu to the DA-IC library menu //------------------------------------------------------------//----Line 18 //CHANGE $add_library_menu_item('MGC _Digital Libraries' ,"$replace_part_palette('MGC Digital Libraries')" , "mgc_libraries_pulldown"); //------TO $add_library_menu_item('University _Libraries' ,"$replace_part_palette('UniversityLibraries')");
//------------------------------------------------------------$add_library_menu_item('University_Libraries' , "$replace_part_palette('University Libraries')"); // Return transcripting to its original level $set_transcript_mode(old_mode); // End the block } End of schematic.menu.
Start of schematic.ample //----------------------------------------------------------// // This schematic.ample file is meant for customizing // MGC released libraries/parts to Design Architect-IC // // Date created : Mon Feb 10 10:23:53 SIN 1992 // // Change History: // o added character mnemonics to the pulldown menus for // keyboard manipulation in addition to mouse activation ... // feature // - Kuek Fong ( Sep 1995 ) // //---------------------------------------------------------------
14-31
Advanced Customizing
//-----------------------------------------------------------//------Line 42 //------CHANGE function $MGC_Digital_Libraries_menu(), INVISIBLE //------TO function $custom_menu(), INVISIBLE //THIS MUST MATCH THE NAME IN THE SCHEMATIC.MENU FILE WHERE THE //CALL TOFUNCTION TO BUILD TOP LEVEL MENU IS DEFINED //------------------------------------------------------------function $custom_menu(), INVISIBLE { extern rom_logic = " "; extern logic = " "; // logic selection for rom_lib only // logic selection for libraries //other than rom_lib extern casetype = " "; // for symbol type selection //------------------------------------------------------------//------Line 49 //------CHANGE $create_library_menu(@available , @palette, "MGC Digital Libraries",, //------TO $create_library_menu(@available , @palette, "University Libraries",, //THIS MUST MATCH THE LIBRARY NAME DEFINED IN SCHEMATIC.MENU //WHERE YOU ADD THE TOP LEVEL MENU TO THE DA-IC LIBRARY NAME!! //------------------------------------------------------------$create_library_menu("schematic", @palette, "University Libraries",, //------------------------------------------------------------//------Line 50 (see the NOTE below!) //------ADD MENU TEXT ITEM TO BE INCLUDED IN MAIN PALETTE // FOR EXAMPLE: ,$menu_text_item("dev_lib" , '$show_sub_palette("dev_lib")', , @off) //------------------------------------------------------------,$menu_text_item("dev_lib",'$show_sub_palette("dev_lib"0', ,@off) //------There are currently 32 text items in the above function. //Change the library names to your own, and delete the extra //entries as necessary. // //NOTE: Line numbers below are based on an unedited //schematic.palette! Use those numbers as a guide to find the //functions listed.
14-32
Advanced Customizing
//------DELETE lines 85 through 309. (See NOTE above!) //-----------------------------------------------------------//------Line 310 (See NOTE above!) //-----CHANGE function $mgc_libraries_pulldown_menu(), INVISIBLE //------TO function $university_libraries_pulldown(), INVISIBLE //------------------------------------------------------------function $university_libraries_pulldown_menu(), INVISIBLE { $create_menu("schematic" ,@popup //----------------------------------------------------------//------Line 314 (See NOTE above!) //------CHANGE ,"mgc_libraries_pulldown" //------TO ,"university_libraries_pulldown" //------------------------------------------------------------,"university_libraries_pulldown" ,$menu_default_columns ,$menu_default_color ,$menu_context_item( "($is_diagram_in_edit_mode() )" //------------------------------------------------------------//------Line 319 (See NOTE above!) //------CHANGE ,"Display _Libraries Palette" , "$replace_part_palette('MGC Digital Libraries')" ) //------TO ,"Display _Libraries Palette" , "$replace_part_palette('UNIVERSITY Libraries')" ) //THIS NAME MUST MATCH THE MENU NAME IN $CREATE_MENU IN THE TOP //MENU FUNCTION CUSTOM_MENU REDEFINED AT THE BEGINNING OF THE //FILE. //------------------------------------------------------------,"Display _Libraries Palette" , "$replace_part_palette ('UNIVERSITY Libraries')" ) ,$menu_context_item( "($in_edit_mode )" ,"Set _Interfaces Defaults" , "$init_global_types() " ,,, "parts_interface_pulldown" ) ); } //------------------------------------------------------------// Library Palettes Created On Demand // //-------------------------------------------------------------
14-33
Advanced Customizing
----------------// DEFINE YOUR DEVELOPMENT LIBRARY MENU BEGINNING ON LINE 331 // FOR EXAMPLE: //------CHANGE //function $ac_lib_menu(), INVISIBLE //{ // $create_library_menu( @available // , @palette // ,"ac_lib" // , 1, // ,$menu_text_item("ground" //,"$add_or_replace_instance('gen_lib','$MGC_GENLIB/ground')") // ,$menu_text_item("portin" //,"$add_or_replace_instance('gen_lib','$MGC_GENLIB/portin')") // ... // ,$menu_text_item("74ac824" //,"$add_or_replace_instance('ac_lib','$MGC_ACLIB/74ac824')") // ); //} //------TO //function dev_lib_menu(), INVISIBLE //{ // $create_menu("schematic" // , @palette // ,"dev_lib" // , 1, //,$menu_text_item("ground" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/ground')") // ,$menu_text_item("portin" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/portin')") // ,$menu_text_item("portout" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/portout')" // ,$menu_text_item("vcc" //,"$add_or_replace_instance('dev_lib','$MGC_GENLIB/vcc')") // ); //} //------------------------------------------------------------End of schematic.ample.
14-34
Advanced Customizing
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
14-35
Advanced Customizing
menu_type
This is the name of the type of menu you are creating. Choose one of the following: @popup, @pulldown, or @palette.
menu_name
This string specifies the name of the menu. The default is the value of the $menu_default_popup_name variable.
items
This repeating argument defines items in your menu. Each menu item must be quoted.
columns
This optional integer specifies the number of columns you want in your menu. It defaults to the value of the $menu_default_columns variable.
bgd_color
This optional string defines the background color for the menu. The default is the value of the $menu_default_color variable.
14-36
Advanced Customizing
$add_library_menu_item() This function is available in the schematic scope. The pathname is: $MGC_HOME/shared/pkgs/da_ic/userware/${LANG}/schematic.ample. Usage $add_library_menu_item(display_text, action, submenu_name) Description The $add_library_menu_item() function is to be used in the schematic.dofile file by library developers who want their menu access added to the Libraries pulldown menu. The developer calls this with his choice of display_text which is what will actually display in the pulldown. Arguments
display_text
This string specifies the text that actually appears in the menu.
action
This will ordinarily be a call to make your palette menu appear in the palette area. This is the call $replace_part_palette() in the example at the end of this function definition. The action call should be placed inside of quotes, because it is a string.
submenu_name
This string is the name of the submenu, and is only needed if there is going to be a cascade menu off of this newly added menu item.
14-37
Advanced Customizing
Example(s) Here is an example of how the mgc_digital_uw package makes its call:
$add_library_menu_item("MGC _Digital Libraries", "$replace_part_palette('MGC Digital Libraries')", "mgc_libraries_pulldown");
MGC Digital Libraries is the display_text; $replace_part_palette('MGC Digital Libraries') is the action; mgc_libraries_pulldown is the submenu_name. When this function is called, Design Architect-IC creates the specified menu item and adds it onto the Libraries pulldown menu.
14-38
Advanced Customizing
$add_or_replace_instance() As a library developer, you should write a function that does exactly what you want it to do. The $add_or_replace_instance() function can serve as a guide if it does some or most of what you want. Once you have written your function, call it from your own menus. The pathname to the file in which the $add_or_replace_instance() function is defined is: $MGC_HOME/shared/pkgs/da_ic/userware/$LANG/schematic.ample Copy the function to your own schematic.ample file, and edit the function to match your needs. Be sure to give the edited function a unique name; DO NOT name it $add_or_replace_instance(). Also, user-defined functions should not begin with $. If you do not rename the function, your function will overwrite the one supplied by Mentor Graphics, and the Mentor Graphics menu will not work correctly. The following is a short version of the $add_or_replace_instance() function.
function sample_add_or_replace_instance( comp : string, smbl : optional string { default = "" } ), INDIRECT { if ($does_component_exist(comp) != "") { $set_active_symbol(comp,smbl); if (session_area@@$instance_replacement_mode == @off) $place_active_symbol(); else $$replace(comp,smbl,@clear); $set_instance_replacement_mode(@off); else $message($format("Cannot find component %s. Please ensure logical name is defined or have the component installed.",comp),@warning); }
Keep in mind that the $add_or_replace_instance() function is only a guide; it is not meant to be used as is by library developers. It was written specifically to be called by the Mentor Graphics gen_lib menus. Notice that the function exists only in the file in which it is used as a call from the menus defined by the same group.
14-39
Advanced Customizing
If you want your menus to allow replace as well as add functionality, it is necessary to put the following line after the add or replace action is complete:
$set_instance_replacement_mode(@off);
This is the only way that the palette menu knows to change the popup menu item from Replace Instance back to Add Instance.
14-40
Advanced Customizing
$prompt_for_diagram_location() Scope: bed Usage $prompt_for_diagram_location(@multi_window, @multi_window_paint, @ignore_grid) Description The $prompt_for_diagram_location() function is used as an argument in the $prompt_dynamic() function to retrieve the cursor location in user units. Another function $prompt_for_location() can be used, but is less useful because the location is returned in pixels. Arguments The arguments for this function can be specified in any order and include the following:
@multi_window
Enables inter-window dynamics. If omitted, the dynamic suspends whenever the mouse cursor is outside the active window. If specified, the dynamic resumes when the mouse cursor is over any Bed_window showing the same Bed_diagram as the active window. Dynamic graphics are only rendered in the window that contains the mouse cursor. Note that a builtin command only knows that inter-window dynamics occurred by checking the area names returned in the Bed_diagram_location ...
@multi_window_paint
This argument enables multi-window rendering of dynamic graphics. If omitted, the dynamic only displays in the window that contains the mouse cursor. If specified, the dynamic displays in all windows into the same diagram as the window that contains the mouse cursor.
14-41
Advanced Customizing
@ignore_grid
Does not return the nearest grid location. Example The following code shows how the $prompt_for_diagram_location() is used in the $$slice() function.
function $$slice( pt1 : diagram_location, pt2 : diagram_location, all_props : Boolean {default = FALSE}) { $invis_clear_saved_prompt(); $slice(pt1, pt2, all_props); } function $$slice_prompt(),INVISIBLE { $create_prompt("da_window", @$$slice, "Slice", $prompt_arg(@pt1, "First Point"), $prompt_dynamic(@pt1, "($prompt_for_diagram_location(@multi_window, @multi_window _paint))"), $prompt_arg(@pt2, "Second Point"), $prompt_dynamic(@pt2, "($prompt_for_diagram_line(pt1, @wait_for_lmb_up, @multi_wi ndow, @multi_window_paint))"), $prompt_arg(@all_props, "Copy Properties to all Comments") ); }
14-42
Advanced Customizing
Userware Examples
The following text shows sample userware customizations that vary in maintenance levels from light to heavy. Adding a Palette Library Menu Rework Level: Light -- New menus created in userware that call documented functions or custom userware functions require light maintenance. The my_lib_menu() function in this example also belongs in the schematic.ample file. It shows how to add a palette library menu. This function should also be written with a unique name, so that it does not interfere with existing Mentor Graphics component library functions. The function should be written to include functionality necessary for the successful use of your customized library parts. Every custom library palette menu function you create must have a name the ends with _menu() in order for the palette menu to work correctly.
Note
// This function defines the palette menu for your customized // parts. These are sample parts. function my_lib_menu(), INVISIBLE { $create_library_menu( @available , @palette ,"my_lib" , 1, ,$menu_text_item("ground", "$sample_add_or_replace_instance('$MGC_GENLIB/ground')") ,$menu_text_item("portin", "$sample_add_or_replace_instance('$MGC_GENLIB/portin')") ,$menu_text_item("portout", "$sample_add_or_replace_instance($MGC_GENLIB/portout')") ,$menu_text_item("vcc", "$sample_add_or_replace_instance('$MGC_GENLIB/vcc')") ,$menu_text_item("74act00", "$sample_add_or_replace_instance('$MGC_ACTLIB/74act00')") ,$menu_text_item("74act11000", "$sample_add_or_replace_instance($MGC_ACTLIB/74act11000')") );
14-43
Advanced Customizing
The items below go into a schematic.dofile file. The function calls in this file add the menu(s) and menu item(s) that you defined in the schematic.ample file.
// Start a block so that local variables can be defined { // Turn transcripting off local old_mode = $set_transcript_mode(@off); // Call the function to build the toplevel menu my_lib_menu(); // Add the toplevel menu to the DA-IC library menu $add_library_menu_item('My _Library', "$replace_part_palette('my_lib')"); // Return transcripting to its original level $set_transcript_mode(old_mode); // End the block
Adding to MGC Menus Rework Level: Moderate -- Adding to existing menu items requires little maintenance, unless the name of a menu changes from one release to the next. Also, when adding items to context-sensitive menus (for example, the popup menus in the Design Architect-IC schematic window), check the names of the menus at each release. Items are added to an existing menu with the $add_menu_item() function. The syntax for the function is as follows:
$add_menu_item(menu, item, menu_name);
When calling the $add_menu_item() function, use either the menu argument or the menu_name argument, not both of the optional arguments. The menu and menu_name arguments are described in the following list: menu The menu id. This is the value returned when the $create_menu() function is called. If this value is not stored in an external variable, then the value is lost. The text string that is the menu name.
menu_name
14-44
Advanced Customizing
The names of the default popup, palette, and menu bars for a scope are stored in reserved AMPLE variables: $menu_default_popup_name, $menu_default_palette_name, and $menu_default_menu_bar_name respectively. The simplest way to determine the name of the menu is to activate the window associated with the menu, and then call the $writeln() function with the appropriate reserved AMPLE variable name as an argument. If this method fails, examine the source userware to determine the menu name. The following code block shows an example call to $add_menu_item(). Notice the use of the reserved AMPLE variable in the function call to minimize the potential for rework in a future software release.
1 2 $add_menu_item(,$menu_bar_item(V_NDR,vndr_pulldown), $menu_default_menu_bar_name);
14-45
Advanced Customizing
The code block that follows could be placed in the schematic.dofile file to customize the menus in Design Architect-IC; the list explains the code block: Line(s) 2 and 8 3-4 5-6 7
1 {
Action(s) Stores the existing transcript mode in the trans_mode local variable, and then restores transcripting to original mode. Adds the VNDR item to the menu bar. Adds the VNDR Library item to the Libraries pulldown menu. Stores the name of the default palette menu for later use.
2 3
4
5
6
7 8
9
local trans_mode = $set_transcript_mode(@off); $add_menu_item(, $menu_bar_item("V_NDR", "vndr_pulldown"), $menu_default_menu_bar_name); $add_library_menu_item('V_NDR Library', '$replace_part_palette("VNDR_Root_Palette")'); extern vndr_dpal = $menu_default_palette_name; $set_transcript_mode(trans_mode);
}
14-46
Recommendations
Recommendations
Here are a few recommendations to make your customization easier:
Create separate palettes and menus, rather than changing or adding directly
to Mentor Graphics palettes and menus. This also makes maintenance easier.
14-47
Recommendations
14-48
Function Summary
Table 15-1 alphabetically lists the Hotkey functions included in this chapter and gives a brief description of each function. Table 15-1. Function Summary Function $copy_edit_hotkey_settings() Description Copies one of the predefined Hotkey settings to a specified work area and invokes the AMPLE editor on the new file. Assigns a Design Architect-IC command to an alphanumeric key. Returns the enable status of Hotkeys. Returns a vector of vectors that contains Hotkey names and their comments. Loads either predefined, user-defined, or custom Hotkey settings. Displays a list of all loaded Hotkeys and their comments. Specifies whether Hotkeys are enabled or disabled.
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 ArchitectIC Schematic and Symbol Editor windows.
Usage
This subsection shows how to use the function by listing the following: Function usage line Command usage line Menu path (always presented) (only if registered as a command) (only if available through a menu item)
1. Function usage line - shows exact and literal AMPLE syntax along with the argument order.
Required Arguments
Optional Argument
15-2
A function call usually begins with a dollar sign, with the arguments enclosed in parentheses (shown in Figure 15-1). The arguments are separated by commas and are structured as follows:
Required arguments are in standard font. Optional arguments are in italic font.
Any argument that has more than one listed value has a place-holder in the usage line. The Arguments subsection lists values for that function list, and explains the exact names. The usage line shows all vector arguments in this subsection, as they appear on the prompt bar, or in the dialog box. The description of each argument shows all sub-arguments used directly within a program or on a command line. For example, the description expands the vector argument [to_location] to [x, y, window]. Then, it expands the vector argument [name] to [name1, name2, ..., nameN]. In this example, the values name1 and name2 are required values and additional values are optional. The usage line presents rest arguments in a manner similar to vectors, but without brackets. For example, when a rest argument such as name appears in italics on the usage line, you can enter zero or more values. Similarly, when a rest argument such as string appears in standard font on the usage line, the description of that argument expands to string1, ..., stringN. 2. Command usage - If the function is linked to an equivalent command, this subsection also shows the command usage.
15-3
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-4
Function Descriptions
Description
This subsection contains a detailed description of the function's behavior and any of its undo capabilities.
Arguments
This subsection displays a bulleted list of required and optional arguments, and also provides descriptions. Required arguments are listed in bold, standard text; optional arguments are listed in bold, italic text.
Examples
This subsection contains examples of function usage and (where applicable) command and menu usage.
Function Descriptions
The following pages contain an alphabetical listing of Hotkey functions.
15-5
$copy_edit_hotkey_settings()
$copy_edit_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $copy_edit_hotkey_settings(style, destination) COPy EDit Hotkey Settings style, destination Miscellaneous > Hotkeys > Customize... Description Copies one of the predefined hotkey settings to a specified work area, and invokes the AMPLE editor on the new file. After compiling and saving the file, the user can load the file in subsequent sessions as a custom hotkey file. Arguments
style
A name that specifies which Hotkey settings to copy from the $MGC_HOME/shared/pkgs/da_ic/userware directory. It must use the following argument: @da_editing: Design Architect-IC editing key mappings.
destination
A string that specifies where to copy the Hotkey settings. Example This example copies the Design Architect-IC editing Hotkey settings into the file my_hotkey_settings in the $HOME directory and invokes the AMPLE editor on this new file.
$copy_edit_hotkey_settings(@da_editing,"$HOME/my_hotkey_settings")
15-6
$define_hotkey()
$define_hotkey()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $define_hotkey(key_name, function_name, comment) DEFine HOtkey key_name function_name comment Miscellaneous > Hotkeys > Define... Description Assigns a Design Architect-IC command to an alphanumeric key. Figure 15-4 shows that the $define_hotkey() function calls a dialog box that contains a scroll list of Design Architect-IC commands.
Define Hotkey Select a Command: Add Arc Add Bus Add Circle Add Dot Add Frame Add FB Defn Add FB Inst Add FB Pin Add Instance Add Line
OK
Reset
Cancel
Figure 15-4. $define_hotkey() Dialog Box The user selects one of the commands, then selects an alphanumeric key to map the command to. After the key is selected, the user is prompted to enter a descriptive comment that is saved along with the key mapping.
15-7
$define_hotkey()
A complete list of cross-referenced Design Architect-IC commands contained in the $define_hotkey() dialog box can be found in Appendix B, Hotkey Commands. The $define_hotkey() function saves the assignment to an individual hotkey file in the $HOME/mgc/da_hotkeys directory. The name of the alphanumeric key is used in the Hotkey file name. For example, if the a key is mapped, then the function creates a resultant file named key_a.ample for that key. To load all hotkey files, you can use $load_hotkey_settings(@user). If used with the arguments, the function maps an AMPLE function to a userspecified alphanumeric key. If no arguments are specified, then the function calls the $define_hotkey() dialog box illustrated in Figure 15-4. Arguments
key_name (key_name)
An optional string that contains the alphanumeric key to assign.
function_name (function_name)
An optional string that contains the AMPLE functions name.
comment (comment)
An optional string that contains a comment describing the AMPLE function. Examples This example assigns the AMPLE $add_arc() function to the a key, and the comment Add Arc. $define_hotkey("a","$add_arc()","Add Arc")
$define_hotkey()
15-8
$get_hotkey_mode()
$get_hotkey_mode()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $get_hotkey_mode() GET HOtkey Mode Description Returns (in the Session transcript) the status of the current Hotkey setting. The return values are as follows: @off - Disables hotkeys. @on - Enables hotkeys. Examples The following is an example of the $get_hotkey_mode() function, invoked from the command line, when the Hotkeys are enabled:
$get_hotkey_mode()
15-9
$get_hotkey_settings()
$get_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $get_hotkey_settings() GET HOtkey Settings Description Returns a vector of vectors that contains Hotkey names and their respective comments. If it does not have a comment, a Hotkey is not included in the vector. If none of the Hotkeys have comments, or if the Hotkeys are not loaded, then the function returns [void].
Note
Examples The following is an example of the $get_hotkey_settings() function from the command line:
$get_hotkey_settings()
15-10
$load_hotkey_settings()
$load_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $load_hotkey_settings(style, enable) LOAd HOtkey Settings style enable Miscellaneous > Hotkeys > Load Description Loads either predefined, user-defined, or custom Hotkey settings, and enables the Hotkeys. If no arguments are specified, then the Load Hotkey Settings dialog box is called, as in Figure 15-5 below:
Load Hotkey Settings Choices DA-IC Editing User-defined Custom Enable Hotkeys
OK
Reset
Cancel
Figure 15-5. $load_hotkey_settings() Dialog Box The predefined Hotkeys are located in the following directory:
$MGC_HOME/shared/pkgs/ic_da/userware/En_na
15-11
$load_hotkey_settings()
The $HOME/mgc/da_hotkeys directory contains user-defined Hotkey settings. The custom Hotkey settings are located in a directory chosen by the user. Arguments
Style
A name that specifies which Hotkey settings to load. One of the following three choices must be specified: @user - user-defined key mappings @da_editing - Design Architect-IC editing key mappings @custom - custom key mappings
Enable
A value that specifies whether Hotkey mode is enabled. Possible values are: @yes - enable hotkey mode @no - do not enable hotkey mode If the Hotkeys are already enabled, the @no argument will not disable the Hotkeys.
Note
Examples This example loads the default Design Architect-IC key mappings and enables hotkeys.
$load_hotkey_settings(@da_editing,@yes);
15-12
$report_hotkey_settings()
$report_hotkey_settings()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $report_hotkey_settings() REPort HOtkey Settings Miscellaneous > Hotkeys > Report Report > Hotkeys Description Displays a list of all loaded Hotkeys and their comments. Figure 15-6 shows the dialog box that is called when you issue this function:
Report Hotkey Settings
DA-IC Editing
Hotkey Definitions: a = Add Pin b = Add Bus/Bundle c = Copy d = Delete e = Report Object f = Flip Horizontal i = Add Instance m= Move n = Name Nets o = Open Down View Source Code Print List OK Reset Cancel
15-13
$report_hotkey_settings()
The dialog box contains a scroll list of Hotkey definitions. From this dialog box, the user has the option to view the AMPLE source code for a Hotkey definition, or print the list of Hotkey definitions. A Hotkey is not included in the list, if it does not have a comment. If no commented Hotkeys are currently loaded in the system, a warning message displays.
Note
Examples This example calls the Report Hotkey Settings dialog box, and displays all the currently loaded Hotkey definitions.
$report_hotkey_settings()
15-14
$set_hotkey_mode()
$set_hotkey_mode()
Scope: da_window Window: Schematic Editor and Symbol Editor Usage $set_hotkey_mode(mode) SET HOtkey Mode mode Miscellaneous > Hotkeys > Enable Miscellaneous > Hotkeys > Disable Description Specifies whether Hotkeys are enabled or disabled. If no argument is provided, then the $set_hotkey_mode() prompt bar is called (Figure 15-7).
SET HO M Mode
off
OK
Cancel
mode
@off - disable Hotkeys @on - enable Hotkeys Examples The following example enables Hotkeys.
$set_hotkey_mode(@on)
15-15
$set_hotkey_mode()
15-16
Design Architect-IC provides a predefined hotkeys for commonly used commands as described in the following table. Table A-1. DA-IC Hotkey Set Key a b c d e f g h i j k l m n o p move name nets open down pivot add instance Action add pin add bus/bundle copy delete report object flip horizontal
A-1
Predefined Hotkeys
Table A-1. DA-IC Hotkey Set Key q r s t u v w x y z A B C D E F G H I J K L M modify properties flip vertical set basepoint check sheet/symbol zoom in 2.0 add text undo select vertex add wire select text and move rotate 90 degrees Action
A-2
Predefined Hotkeys
Table A-1. DA-IC Hotkey Set Key N O P Q R S T U V W X Y Z 1 2 3 4 5 6 7 8 9 0 zoom out 2.0 rotate -90 degrees save sheet/symbol change text value unselect all view all open up add property Action
A-3
Predefined Hotkeys
A-4
The following table contains the Design Architect-IC commands included within the Define Hotkey dialog box. Table B-1. Hotkey Commands Menu Selection Add Arc Add Bus Add Circle Add Dot Add Frame Add Function Block Def Add Function Block Inst Add Function Block Pin Add Instance Add Line Add Net Add Pin Add Polygon Add Polyline Add Property Add Rectangle AMPLE Function $$add_arc() $add_bus() $add_circle() $add_dot() $add_frame() $add_fb_def() $add_fb_inst() $add_fb_pins() $add_instance() $add_line() $add_net() $add_pin() $add_polygon() $add_polyline() $add_property() $add_rectangle()
B-1
Hotkey Commands
Table B-1. Hotkey Commands Menu Selection Add Text Add Wire Align Left Align Right Align Top Align Bottom Apply Edits Change Color Change Property Value Check Sheet/Symbol Connect Convert FB Inst to Def Convert To Comment Copy Create FB Inst From Def Delete Disconnect Flip Horizontal Flip Vertical Group Make FB/All Make FB/Selected Merge Annotations AMPLE Function $add_text() $add_wire() $align(@left) $align(@right) $align(@top) $align(@bottom) $apply_edits() $change_color() $change_property_value() $$check() $connect() $convert_fb_inst_to_def() $convert_to_comment() $copy() $create_fb_inst_from_def() $delete() $disconnect() $flip(@horizontally) $flip(@vertically) $group() $make_fb(@all) $make_fb(@selected) $merge_annotations()
B-2
Hotkey Commands
Table B-1. Hotkey Commands Menu Selection Modify Frame Move Open Down Open Top Open Up Pivot Place Active Symbol Pop To Front Push To Back Reconnect Annotations Redo Resize FB Rotate Scroll Down By Unit Scroll Down By Window Scroll Horizontally Scroll Left By Unit Scroll Left By Window Scroll Right By Unit Scroll Right By Window Scroll Up By Unit Scroll Up By Window Scroll Vertically AMPLE Function $modify_frame() $move() $choose_model() $open_top() $open_up() $pivot() $place_active_symbol() $pop_to_front() $push_to_back() $reconnect_annotations() $redo() $resize_fb() $rotate(90) $scroll_down_by_unit() $scroll_down_by_window() $scroll_hz() $scroll_left_by_unit() $scroll_left_by_window() $scroll_right_by_unit() $scroll_right_by_window() $scroll_up_by_unit() $scroll_up_by_window() $scroll_vt()
B-3
Hotkey Commands
Table B-1. Hotkey Commands Menu Selection Select All Select Area Select Area/FB Select Area/FB Pins Select Branches Select FB w/contents Select Instances Select Nets Select Pins Select Property Owner Select Text Select Vertices Slice Stretch Undo Ungroup Unmake FB/All Unmake FB/Selected Unmake FB/1 level Unmake FB/2 levels Unmake FB/3 levels Unselect All Unselect FB w/contents AMPLE Function $select_all() $select_area() $select_area(..., @fb, ...) $select_area(..., @fbpin) $select_braches() $select_fb() $select_instances() $select_nets() $select_pins() $select_property_owner() $select_text() $select_vertices() $slice() $stretch() $undo() $ungroup() $unmake_fb(@all) $unmake_fb(@selected) $unmake_fb(@selected, 1) $unmake_fb(@selected, 2) $unmake_fb(@selected, 3) $unselect_all() $unselect_fb()
B-4
Hotkey Commands
Table B-1. Hotkey Commands Menu Selection Unselect Prop Owner Update View All View Area View Selected Zoom In Zoom Out AMPLE Function $unselect_property_owner() $update() $view_all() $view_area() $view_selected() $zoom_in(2) $zoom_out(2)
B-5
Hotkey Commands
B-6
This appendix describes the design checks available in Design Architect-IC (DAIC). An asterisk indicates the checks required by Mentor Graphics applications. All required checks are enabled by default. In addition to validating a design, checks provide the following functions:
Issues warning to identify possible user error. Provides informational messages. Automatically names instances and nets by their handles. DA-IC also
provides optional checks, including common electrical rules, that allow you to customize your design check. The checks are organized into the following groups:
Symbol Checks
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.
C-1
Symbol Checks
Design Checks
For more information, see Checking a Symbol for Errors in Chapter 4. A symbol must pass the required checks before it can be instantiated.
Special Symbols*
The following checks are required for special symbols. Error messages are generated if these checks are not passed.
Does a port connector (symbol with Class P property value) have only
one pin?
Does a net connector (symbol with Class C property value) have at least
two pins?
Does a global (symbol with Class G property value) have one and only
one pin?
Does a bus ripper (symbol with Class R property value) have one pin
with Pin property value Bundle?
Does a bus ripper (symbol with Class R property value) have at least two
pins?
Does a null instance (symbol with Class N property value) have no pins?
Pin*
The following checks are required for symbol pins; error messages are generated if they are not passed.
Does each symbol pin have a Pin property? Do pin properties on a symbol have valid pin name syntax?
C-2
Design Checks
Does a symbol have at least one pin (unless the symbol has a Class N
property value)?
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?
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?
C-3
Design Checks
All schematic sheets must pass the required checks before being used by downstream applications.
Instance*
The following checks are required for instances. Error messages are generated if the schematic sheet fails any of the following checks:
Does an Inst property value (instance name) have valid syntax? Is an Inst property value (instance name) unique within the sheet, except for
within unmade FB definitions?
Are instances with duplicate Inst property values (instance name) in the
same FB definition?
Does an instance reference a version of a part which exists and is current? Do the instance pins match pins of a referenced symbol? Does a symbol model exist for the instance? Do instance property values have valid syntax? Does a Pin property value have valid pin name syntax?
The following checks generate warning messages if they are not passed:
Can an instance name (Inst property value) be evaluated? Can a pin name (Pin property value) be evaluated? Can a property value on an instance or pin be evaluated?
Special Instances*
The following checks are required for special instances, such as ports, connectors, globals, and bus rippers. Error messages are generated if the schematic sheet fails any of the following checks.
C-4
Design 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?
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 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?
C-5
Design Checks
Does the signal name of an implicit ripper exactly match the name of a
corresponding signal in the net or net bundle? The following checks generate warning messages if they are not passed:
Does a net connector (Class C property value) connect two nets with the
same name?
Net*
The following checks are required for nets. Error messages are generated if the schematic sheet fails any of the following checks.
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 property value have valid expression syntax? Does a single net have the same name as a bus or bundle? Are the members of a net bundle listed in at least one occurrence of the net
bundle in a schematic?
C-6
Design Checks
Does the combined width of the nets and bus bits in a net bundle match the
width of a connecting pin bundle or wide pin?
Does a net that is ripped by name from a net bundle actually exist in the net
bundle?
Does a net bundle name contain a parameterized expression? Does a net bundle have the same name as an individual net or bus?
The following checks generate warning messages if they are not passed:
Can the net name (Net property value) be evaluated? Can the pin name (Pin property value) be evaluated? Can all property values be evaluated? Are two globals shorted together?
Frame*
The following checks are required for frames. Error messages are generated if the schematic sheet fails any of the following checks.
Does an instance or its pins overlap a frame border? Does a frame border overlap the border of another frame? Does a frame have a frame expression? Does a frame expression have valid syntax?
Warning messages are generated if the schematic sheet fails any of the following checks:
C-7
Design Checks
Does a frame contain an instance? Can all property values on a frame be evaluated?
Symbol Pins*
The following symbol pin check is performed on schematic sheets. Error messages are generated if the schematic sheet fails any of the following checks.
Are there symbol pins left on schematic sheets? Do all pins occur only once within a pin bundle? Is there an individual pin by itself on the symbol that is also contained in a
pin bundle?
Parameter
The following informational check is performed on parameters, and causes a parameter listing to be generated.
Expressions
The following informational check is performed on expressions, and causes an expression listing to be generated.
Identify expressions in the sheet that require evaluation and the parameters
they require.
Owner
The following checks are performed on properties. Error messages are generated if the schematic sheet fails any of the following checks:
C-8
Design 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?
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.
Closedots
The following informational check is performed on close dots, and causes a close dot listing to be generated.
C-9
Design Checks
Dangles
The following informational checks are performed on dangling nets and pins and cause a net and pin listing to be generated.
Identify all dangling nets. A dangling net is a net vertex without an attached
pin and not marked as a legal dangling net by the user (net with Class dangle property value).
Identify all dangling vertices. Identify all dangling pins. A dangling pin is a pin not attached to a net and
not marked as a legal dangling pin by the user (pin with Class dangle property value).
Valid dangles can be marked as such by adding a Class property with value
of dangle to any vertex on the net or pin.
Init Props
The following Init property checks are performed; error messages are generated if they are not passed.
A net has two different global components attached to it; for example, both
Vcc and Ground attached to the same net.
A net has a forcing Init property value xxF, but has no global attached to
it. This can result from adding a global such as Vcc to a net, then deleting the global.
A net has an Init property value that does not match the Init property value
on the pin of the attached global instance. This can result from adding a global Vcc to a net (causing the Init property on the net to have a value of 1SF), then adding a global Ground to the same
C-10
Design Checks
net (causing the Init property value to change to 0SF), then deleting the Ground global. The result would be a net with Init = 0SF, but with a Global Vcc which specified Init = 1SF.
Annotations
The following informational checks are performed on back annotations when DA-IC is invoked on a design in the context of a design viewpoint.
Identify all annotations to fixed or protected properties. Identify all annotations that are unattached. When an unattached annotation
is found, the design pathname to the object which no longer exists in the design is reported along with a list of annotated properties on the object. These unattached annotations can be reattached to another design object using the pulldown menu item Miscellaneous >Reconnect Annotations. The annotation checks are only performed when DA-IC is invoked on a design viewpoint. Otherwise, this option is ignored.
Note
Bus Shorts
The following checks are performed on nets; warning messages are generated if they are not passed.
Does any net and a global have the same name? Are global nets shorted?
Function Blocks
Unless otherwise noted, the following checks are only performed on unmade Function Blocks (FB); error messages are generated if they are not passed.
C-11
Design Checks
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 any FB definitions contain ports? Do any FB pins connect to the same net physically or by name? Does each FB definition contain at least one instance? Do all FB definitions in a schematic have a unique FB_NAME property?
Analog/Digital Converters
The following checks are performed on converters; warning messages are generated if they are not passed.
Is a Conv_Display property present on the associated component? Is the Conv_Display property value equal to A2D, D2A, HOOK, or
DEFHOOK?
C-12
Design Checks
Schematic Checks
Schematic Checks
This section lists optional schematic checks available in DA-IC. To change which checks are performed, from the Schematic Editor, choose Setup>Check... and select the desired checks in the Default Schematic Check Settings dialog box. Schematic checks are performed on the entire schematic; they are not required by Mentor Graphics applications, however, if selected, they can produce errors that will keep the schematic from being validated. For more information, see Checking a Schematic for Errors in Chapter 3.
Schematic Interface
The following checks are performed on pin and port interfaces for the schematic. Error messages are generated if the schematic sheet fails any of the following checks.
Does a pin on the symbol match a net on the schematic? Does a port on the schematic have a matching pin on the symbol? Does a pin on a symbol have a matching port on the schematic?
Errors are produced for each interface pin that does not have a net on the schematic with a matching name. The name of the pin (PIN property) is compared to the name of the net (NET property). If there is a corresponding net for each pin, then the net is checked for an attached input port, output port, or bidirectional port instance. This check is only performed for interface pins that meet the following three criteria:
There is a net on the schematic with the same name as the interface pin The net with the same name has a port instance attached to it The interface pin has a PINTYPE property with a case-insensitive value of
IN, OUT, IO, or IXO.
C-13
Schematic Checks
Design Checks
Schematic Special
The following special checks are performed on instances. Warning messages are generated if they are not passed.
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?
Does any net and global have the same name in a schematic? Are any global nets shorted?
The net is connected to at least one pin with a PINTYPE property of IN,
an Output Point, or a Global
C-14
Design Checks
Schematic Checks
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.
C-15
Schematic Checks
Design Checks
C-16
This appendix summarizes the changes between Design Architect (DA) and Design Architect-IC (DA-IC). The information in this chapter is intended to help developers of custom userware transition from DA to DA-IC. For more information, see:
Design Architect-IC Reference Manual Customizing the IC Flow Common User Interface manual AMPLE for IC Flow Users Manual
The changes are organized into the following sections:
Scopes
All DA scopes remain the same in DA-IC except for the addition of two new scopes as follows:
D-1
User Interface
fb_session - Added on top of the session scope, this new scope provides
session level functions for Function Blocks. As a result of adding these two scopes, calls to the $window_scope_name() function results differently in DA-IC as shown in Table 5-1. Any custom userware using the $window_scope_name() function requires changes. Table D-1. Window Name Changes Scope Session Schematic Results in DA da_session schematic Results in DA-IC fb_session fb_schematic
User Interface
Significant changes have been made to the DA-IC user interface as follows:
PCB specific menu items removed IC netlister integrated Icon-based palette menus are now text-based Pulldown, popup, and palette menus reorganized and streamlined Dialog boxes restructured Hotkey functionality added Default behavior changed
Custom userware that modifies elements in the user interface may require changes to work with DA-IC. For example, if userware adds a menu item to a menu in DA that doesnt exist in DA-IC, the userware must be modified.
D-2
User Interface
Menu Changes
This section summarizes the menu changes in DA-IC. The following table describes the Session scope menus that changed in DA-IC. Table D-2. Session Scope Menu Changes Menu File pulldown Setup pulldown Session popup Session Palette Restructured and converted icons to text Description of Change Restructured
The following table describes the Schematic scope menus that changed in DA-IC. Table D-3. Schematic Scope Menu Changes Menu File pulldown Edit pulldown Setup pulldown Miscellaneous pulldown Report pulldown View pulldown Library pulldown Check pulldown Add pulldown Select pulldown Add popup Restructured Added Removed Description of Change Restructured
D-3
User Interface
Table D-3. Schematic Scope Menu Changes [continued] Menu Instance popup Function Block popup Net popup Property/Text popup Draw popup Mixed Selection popup Selection Free popup Schematic_edit palette Schematic_text palette Schematic_draw palette The following table describes the Symbol scope menus that changed in DA-IC. Table D-4. Symbol Scope Menu Changes Menu File pulldown Edit pulldown Setup pulldown Miscellaneous pulldown Report pulldown View pulldown Check pulldown Add pulldown Select pulldown Add popup Restructured Removed Added Description of Change Restructured Removed Restructured and converted icons to text Description of Change Restructured
D-4
User Interface
Table D-4. Symbol Scope Menu Changes [continued] Menu Symbol Body & Pins popup Property/Text popup Mixed Selection popup Selection Free popup Symbol_draw palette Symbol_text palette Removed Restructured and converted icons to text Description of Change Restructured
Softkey Changes
The softkeys are hidden by default in DA-IC. Some softkeys are remapped to reflect the changes in the user interface as follows: Table D-5. Remapped Softkeys This scope... Session Session Session Session Schematic This softkey... F1 F3 F6 F7 F5 Is mapped to... Open Schematic Open Design Configuration Open Language Removed (Shift) Place Symbol (Ctrl) Add Property (Alt) Check Schematic
D-5
User Functions
Border updated during Check. The File > Check Schematic pulldown
menu and the Check and Save palette menu options update the schematic border during the check. For more information, see the $update_border() and $$check() functions in the Design Architect-IC Reference Manual.
User Functions
The arguments and/or return values for the following user functions are changed in DA-IC:
D-6
Files
Files
In the v8.9_1 release, the names of files are renamed for DA-IC. The following sections describe the changes.
Executables
All Falcon and DA executables, driver scripts, and link scripts located in $MGC_HOME/bin are renamed. The filenames are renamed to include an _ic to the end of the name for DA-IC. For example, da is renamed da_ic. The following table lists the files renamed in DA-IC. Table D-6. Executable Filename Changes Name in DA... X11term Name in DA-IC... X11term_ic
D-7
Files
Table D-6. Executable Filename Changes [continued] Name in DA... ample cdpMode12View cdpOccPropSet2BAMgr cdpView2Model cdp_miflist cdp_mifsort cdp_sample cdplink change_references check_rgy checkref chref cib compile_userware config_erc config_nc copy_object copy_version da ddms_dump_stream ddms_gen_type_rep ddms_gen_type_rgy_index ddms_locenv Name in DA-IC... ample_ic cdpMode12View_ic cdpOccPropSet2BAMgr_ic cdpView2Model_ic cdp_miflist_ic cdp_mifsort_ic cdp_sample_ic cdplink_ic change_references_ic check_rgy_ic checkref_ic chref_ic cib_ic compile_userware_ic config_erc_ic config_nc_ic copy_object_ic copy_version_ic da_ic ddms_dump_stream_ic ddms_gen_type_rep_ic ddms_gen_type_rgy_index_ic ddms_locenv_ic
D-8
Files
Table D-6. Executable Filename Changes [continued] Name in DA... ddms_type_rgy_tool ddms_which_map ddplink delete_object dfilink dmgr dve_chk_component dve_chk_design dve_chk_symbol dve freeze_version get_hard_name get_mgc_vco get_soft_name list_contents list_references listref mdb_test mgc_font_collect mgc_font_convert mgc_xinfo miflist move_object Name in DA-IC... ddms_type_rgy_tool_ic ddms_which_map_ic ddplink_ic delete_object_ic dfilink_ic dmgr_ic dve_chk_component_ic dve_chk_design_ic dve_chk_symbol_ic dve_ic freeze_version_ic get_hard_name_ic get_mgc_vco_ic get_soft_name_ic list_contents_ic list_references_ic listref_ic mdb_test_ic mgc_font_collect_ic mgc_font_convert_ic mgc_xinfo_ic miflist_ic move_object_ic
D-9
Files
Table D-6. Executable Filename Changes [continued] Name in DA... resolve_mgc_path revert_version salvage_object set_mgc_env set_version_depth show_object_info unfreeze_version Name in DA-IC... resolve_mgc_path_ic revert_version_ic salvage_object_ic set_mgc_env_ic set_version_depth_ic show_object_info_ic unfreeze_version_ic
Header Files
Some of the header files in $MGC_HOME/shared/include are renamed for DA-IC as listed in the following table. Source files using these header files need to be renamed also. Table D-7. Header Filename Changes Name in DA... ampl_dll_attr.h ample_interface.h cdpdr.h cdpdw.h ddp.h ddp_dll_attr.h ddp_eval.h dfip.h Name in DA-IC... ampl_dll_attr_ic.h ample_interface_ic.h cdpdr_ic.h cdpdw_ic.h ddp_ic.h ddp_dll_attr_ic.h ddp_eval_ic.h dfip_ic.h
D-10
Libraries
Libraries
Libraries are renamed, added, and removed for DA-IC. This section describes the changes. The $MGC_GENLIB library palette is removed from DA_IC. Three new IC-specific libraries are added to DA-IC as described in the following table: Table D-8. New IC Libraries Library $MGC_IC_GENERIC_LIB $MGC_IC_SOURCES_LIB $MGC_IC_DEVICE_LIB Description Sub library that contains symbols used for generic parts, such as ports. Sub library that contains symbols for different voltage and current sources. Sub library that contains symbols used for the main components in full custom IC design.
Your location map variables must be modified to reflect the new library configurations. All Falcon and DA libraries in $MGC_HOME/lib are renamed for DA-IC as listed in the following table. Table D-9. Library Filename Changes Name in DA... libmgc_ample.so libmgc_ample.sl libmgc_bed.so libmgc_bed.sl libmgc_core.so libmgc_core.sl Name in DA-IC... libmgc_ample_ic.so libmgc_ample_ic.sl libmgc_bed_ic.so libmgc_bed_ic.sl libmgc_core_ic.so libmgc_core_ic.sl
D-11
Libraries
Table D-9. Library Filename Changes Name in DA... libmgc_ddms.so libmgc_ddms.sl libmgc_ftxt.so libmgc_ftxt.sl libmgc_stubs.so libmgc_stubs.sl libmgc_uims.so libmgc_uims.sl libmgc_vdd.so libmgc_vdd.sl Name in DA-IC... libmgc_ddms_ic.so libmgc_ddms_ic.sl libmgc_ftxt_ic.so libmgc_ftxt_ic.sl libmgc_stubs_ic.so libmgc_stubs_ic.sl libmgc_uims_ic.so libmgc_uims_ic.sl libmgc_vdd_ic.so libmgc_vdd_ic.sl
D-12
This appendix describes the special instances contained in the generic_lib provided with Design Architect-IC (DA-IC). Special instance connectors are not part of the final evaluated design, and are not translated into physical components. They are used to pass connectivity information to the Design Viewpoint Editor-IC (DVE-IC) and other downstream applications that define or use an evaluated design. They are created by adding specific Class property values to an instance. Refer to Class Property in Chapter 7 for more information about Class properties. You may create special instance symbols or use the components provided with DA-IC. The following special instances are provided with DA-IC:
Net Connector. The net connector is used to connect two nets that have
different net names. The net name is assigned by adding the Net property to a net vertex. It is not possible to attach more than one name to a net because conflicting property values are not allowed. Two nets with different net names can be connected by attaching the first net to the pin on one side of the net connector, and the second net to the pin on the other side of the net connector. If two nets with the same name are attached to a net connector, or if a net attached to a net connector is unnamed, when the sheet is checked, the Check command issues a warning. A net connector has a Class property value C and at least two pins. The netcon component is a Mentor Graphics-supplied net connector. For more information, see Using the netcon Component in Chapter 3.
E-1
Special Instances
instance at the top level of a design. The instance is included in the evaluated design, and can be seen and annotated by downstream applications. An external port has a Class property value of E that identifies a port as an external port, regardless of its position in the design hierarchy.
Bus Ripper. A bus ripper is similar to a net connector. It connects two nets
of possibly different names, and provides a way to rip off a single-bit or sub-bus of a bus for connection to a different net. For example, it permits connecting net N(1) to B(1) of bus B(0:7). The bus must be attached to the ripper pin named Bundle. The ripped nets must be attached to the corresponding ripper pins. In addition, the value of the Rule property attached to the ripper must have a valid bus range syntax
E-2
Special Instances
to identify the bits to be ripped from the main bus; for example, a value bit 1 of range 0:3. The net must be named so that its width matches the width specified by the Rule property. When ripping bits from a two-dimensional bus, the value of the Rule property must be set to rip one bit from the bus or to rip a range of bits from a row or column of the bus. The following list shows the syntax and a sample Rule property value for each possible type of rip. The sample values assume that the bus is named data(0:2;0:2) and that the width of the nets attached to the rip component match the width specified in the Rule property: x;y Rip one value from the matrix. For example: Rule = 0;0 x;y :y Rip a range of values from a row in the matrix. For example:
1 2
Rule = 1;0:2 x :x ;y Rip a range of values from a column in the matrix. For example:
1 2
Rule = 0:2;1 A bus ripper instance has a Class property value R. It must have at least two pins. One pin must have a Pin property with value Bundle. A Rule property must be associated with the instance body or with each nonbundled pin. The value of the Rule property must have a valid bus range syntax. The rip component is a Mentor Graphics-supplied component, located in the gen_lib library. The rip component provides a wide variety of ripper symbols capable of ripping varying numbers of bits from a bus. Refer to Creating a Bus Ripper Component in Chapter 3 for an example of how to create a bus ripper.
E-3
Special Instances
o The implicit ripper is not an actual symbol in any library. o Since connection is established by name, implicit rippers do not have a
Rule property attached to them. You can visually differentiate an implicit ripper from a standard ripper in that the implicit ripper instance is the same color as a net. The name of the net connected to the implicit ripper must exactly match the name of a bus bit or member of a net bundle. You can configure implicit rippers to connect at a 45-degree angle, much like standard rippers, or in a straight line. Figure E-4 illustrates some examples of implicit rippers.
ADDR(4)
Angled rippers
ADDR(7:0) ADDR(0)
ADDR(7)
Straight rippers
Figure 15-8. Implicit Ripper Examples Implicit rippers are the default when you invoke Design Architect. Implicit rippers do not define any explicit connectivity; rather, electrical connectivity is established only by name.
E-4
Special Instances
You can set the ripper mode to auto using the $setup_ripper() function, which you can access through the Setup > Ripper pulldown menu. Auto rippers must be used if you need to pull off a bit in a bus and connect it to a wire with a different name, or if you want to pull off part of a bus, and connect it to a smaller bus.
E-5
Special Instances
E-6
Index
Index
.chi, 8-9 .cir, 8-8 .COU, 8-9 .DOU, 8-9 .JWDB, 8-9 .spi, 8-9 .WDB, 8-9 viewing, 11-4, 11-5 Bits extracting from bus, E-3 Boundaries resizing, 6-33 Branches selection, 2-17 Bundles connected to ports, 4-23 net, 3-3, 3-24 Bus ripper, E-2 connecting, 3-42 creating implicit rippers, 3-47, 3-48 extracting lines, 3-42 installing, 3-40 instantiation, 3-46 using the automatic 1x1, 3-46 Buses, 3-24 bus_net_name, 3-32 connected sub-bus, 3-41 connections, 3-31 creating, 3-31, 3-32 indicating width, 3-28, 7-7 least significant bit (lsb), 3-32 most significant bit (msb), 3-32 multi-dimentional, 3-35 representing graphically, 3-35
A
Adding FB Pins, 6-23 Adding forces, 8-22 Adding Panels, 2-51 Adding properties in Design Context, 11-3 ADVance MS adms.ini file, 5-2, 8-15, 8-18 design library, 5-2 AMPLE_PATH, 14-16, 14-19 setting, 14-16 angled ripper, 3-14 Annotations reconnecting, 11-16 setting the color, 2-8 Applying Edits, 11-16 Assigning Properties, 7-35 Assigning Property Owners, 7-35 Auto ripper, 3-14 Auto Sequence Text, 3-44 Auto_ripper_mode, 3-14 Automatic Net Routing, 3-26 Automatic Placement Net Name, 3-13
C
Check command setting up, 3-77, 4-23 Checking a model registration, 5-22 Checking forces, 8-25 Checks close dot, C-9 dangling net and pin, C-10 expression analysis, C-8 instance, C-14 instance overlap, C-9 notdots, C-9
B
Back annotation changing the color, 2-8, 7-7 creating, 11-20 editing, 11-20 expressions in, 11-13 merging, 11-5, 11-22
Index-1
Index
Index (cont.)
parameter analysis, C-8 pin and port interface, C-13 required frame, C-7 required instance, C-4 required net, C-6 required property ownership, C-8 required special instance, C-4 required special symbol, C-2 required symbol body, C-3 required symbol pin, C-2, C-8 special instance, C-14 Class property, 7-28, E-2 Color changing for properties, 7-49 setting for design objects, 2-7 setting the annotation color, 2-8 setting the color configuration, 2-8 Colors setting on the fly, 6-35 Comment objects adding, 3-64 attributes, 3-66 convert objects to comments, 3-65 schematic sheets, 3-67 types, 3-65 uses, 3-65 Commlib, 1-4 Compiling models for ADVance MS, 5-2 Component change references, 9-7 delete, 2-30 hierarchy window, 9-5 rename, 9-7 Component interface registration, multiple symbols, 4-25 reporting, 9-13 Component library choosing from, 3-19 Connecting a Bus Ripper, 3-42 Converting Electrical Objects to Comments, 369 Copy objects, 2-23 objects between windows, 2-27 repeat, 2-24 to a line, 2-25 to an array, 2-26 Create a symbol pin list, 3-62 Create mode, 5-4 Creating a Bus, 3-32 Creating a Bus Ripper, 3-36 Creating Function Blocks adding Function Blocks Pins, 6-23, 12-8 Function Block Definition Prompt Bar, 610, 6-19 Function Block Definitions, 6-8 Function Block Pin placement, 6-24 Creating Panels in Read-Only Mode, 2-53 Crossprobing schematics with DA-IC View, 8-150 with Xelga, 8-146 Custom Hotkeys customizing, 13-11 defined, 13-2 loading, 13-14 usage, 13-10 Custom userware $add_library_menu_item(), 14-37 $add_or_replace_instance(), 14-39 $create_library_menu(), 14-35 $prompt_for_diagram_location(), 14-41 .ample files, 14-24 .dofile, 14-24 adding a palette menu, 14-43 AMPLE_PATH, 14-16, 14-19 DES_ARCH_AUX_PKGS_LIST, 14-23, 14-25 DES_ARCH_PKGS_TO_LOAD, 14-19 dofiles, 14-18
Index-2
Index
Index (cont.)
finding source, 14-15 loading, 14-16 personality modules, 14-19 schematic menu files, 14-28 scope specific dofiles, 14-18 Design Context add properties, 11-3 locking sheet for edits, 11-23 merge back annotations, 11-5 opening a non-existant component, 11-23 opening a non-existant schematic, 11-23 view properties, 11-4 Design Management change component references, 9-7 configuration build, 9-10 delete design object, 2-30 object checking, 9-9 reference checking, 9-9 release a design, 9-8 rename design object, 9-7 verification, 9-11 versions, 9-9 viewing hierarchy, 9-5 Design Navigation, 3-83 closing a multiple sheet schematic, 3-85 left arrow button, 3-83 multiple page icon button, 3-83, 3-84 navigating multi-sheet schematics, 3-84 right arrow button, 3-83 Design Viewpoints applying edits, 11-16 evaluating properties, 11-10 Device Lib, 1-4 Drawing Arc, 4-7 circle, 4-7 dot, 4-8 line, 4-8 polygon, 4-10 polyline, 4-9 rectangle, 4-10 Dynamic Cursor setting the shape, 2-9
D
DA-IC Editing Hotkeys defined, 13-1 loading, 13-4 usage, 13-4 DA-IC Startup Files, 14-11 Dangling net, 7-29 Default text editor MGC_SIM_EDITOR, 8-9 Delete, 2-31 Deleting a component, 2-30 Deleting a model registration, 5-27 Deleting forces, 8-24 Deleting Panels, 2-51 DES_ARCH_AUX_PKGS_LIST, 14-23, 1425 DES_ARCH_PKGS_TO_LOAD, 14-19 Design Architect-IC exiting, 2-4 printing, 2-38 Design checking, C-1 close dot checks, C-9 dangling net and pin checks, C-10 expression analysis checks, C-8 frame checks, C-7 init property checks, C-10 instance checks, C-3, C-4, C-13 instance overlap checks, C-9 net checks, C-6, C-14 parameter analysis checks, C-8 property ownership checks, C-8 required special symbol checks, C-3 required symbol body checks, C-3 special instance checks, C-4, C-14
Index-3
Index
Index (cont.)
E
Edit mode, 5-5 Editing forces, 8-24 Environment variable $WORK, 5-2 Environment variables AMPLE_PATH, 14-16 ANACAD, 8-146 Component Libraries, 1-4 DES_ARCH_AUX_PKGS_LIST, 14-23, 14-25 DES_ARCH_HIDE_BA_ONLY_PROPS, 11-3 DES_ARCH_PKGS_TO_LOAD, 14-19 HOME, 11-3, 14-12 MGC_HOME, 14-12 MGC_SIM_EDITOR, 8-9 MGC_WD, 2-4, 14-12 userware, 14-26 Error checking annotations, C-11 close dot checks, C-9 dangling net and pin checks, C-10 expression analysis checks, C-8 frame checks, C-7 init property checks, C-10 instance checks, C-3, C-4, C-13 instance overlap checks, C-9 net checks, C-6, C-14 parameter analysis checks, C-8 property ownership checks, C-8 reports, 9-16 required special symbol checks, C-3 required symbol body checks, C-3 special instance checks, C-4, C-14 Expressions, 7-19 Expressions in back annotation objects, 11-13 External Port, E-1
F
FB Definition adding or removing internal objects, 6-32 as source object, 12-4 boundary, 12-5 checking, 6-45 converting from FB Instance, 6-30 defined, 12-1 example of, 12-5 FB Pins, 12-6 FB_INST property, 12-5 FB_NAME property, 12-5 resizing, 6-33 usage, 12-2 FB Definition Creation, 6-6 FB Definitions creating, 6-8 manipulating, 6-30 selecting, 6-31 FB Instance boundary, 12-7 checking, 6-45 defined, 12-1 example of, 12-6 FB_INST property, 12-7 FB_INST property usage, 12-7 FB_NAME property, 12-7 resizing, 6-33 usage, 12-2 FB Instances converting to FB Definition, 6-30 creation, 6-13 manipulating, 6-30 selecting, 6-31 FB Objects selecting, 6-31 FB Pins adding, 6-23 FB Definition pin naming, 12-8 FB Definition Pins usage, 12-8
Index-4
Index
Index (cont.)
FB Instance Pins usage, 12-9 selecting, 6-31 Wide Nets connected to, 12-8 Flip objects, 2-33 Forces, 8-22 Frames, 3-70, 3-74, 3-75 setting parameters, 3-75 Frexp property, 7-31 CASE value, 7-32 FOR value, 7-32 IF value, 7-35 OTHERWISE value, 7-32 Function Block Definition Prompt Bar FB Name, 6-10, 6-19 INST Name, 6-11, 6-20 Name Placement, 6-11, 6-20 Function Block Objects changing colors, 6-35 checking, 6-45 defined, 12-1 development states, 12-2 FB Definition, 12-1 FB Instance, 12-1 made, 12-3 Made FB Definition, 12-1 Made FB Instance, 12-1 resizing, 6-33 symbol instance, 12-3 unmade, 12-3 Function Block Properties defined, 12-4 FB_DEF, 12-4 FB_INST, 12-4 FB_NAME, 12-4 Function Block Property, 7-31 Function Block Setup, 6-3 Function Block Usage connected model, 12-13 defined, 12-11 net constructs, 12-17 two-step process, 6-1 unconnected model, 12-12 Function Blocks Add Popup Menu, 6-7 adding Function Blocks Pins, 6-23, 12-8 Definitions, 6-8 Function Block Definition Prompt Bar, 610, 6-19 Function Block Pin placement, 6-24 INST Name, 6-11, 6-20 terminology, 12-4 Functional blocks, 3-53 Functions $add_library_menu_item(), 14-37 $add_or_replace_instance(), 14-39 $ask_scope_frame_name(), 14-10 $copy_edit_hotkey_settings(), 15-6 $create_library_menu(), 14-35 $define_hotkey(), 15-7 $dofile(), 14-16 $get_hotkey_mode(), 15-9 $get_hotkey_settings(), 15-10 $load_hotkey_settings(), 15-11 $load_userware(), 14-16 $mgc_add_or_replace_instance(), 14-39 $prompt_for_diagram_location(), 14-41 $report_hotkey_settings(), 15-13 $set_hotkey_mode(), 15-15 $window_scope_name(), 14-10
G
Generic Lib, 1-4 Global property, 7-29 Globals, E-5
H
Handles, 2-35 Hidden Symbol Property Text, 2-11 Hotkeys bypassing, 13-2
Index-5
Index
Index (cont.)
default set, 13-6 defined, 13-1 disabling, 13-16 enabling, 13-16 function summary, 15-1 Menu, 13-2 reporting status, 13-15 scopes, 13-1 types, 13-1 opening, 3-8 Loading personality modules, 14-19
M
made defined, 12-3 Made FB Definition checking, 6-45 defined, 12-1 Made FB Definitions creating, 6-37 unmaking, 6-41 Made FB Instance checking, 6-45 defined, 12-1 Made FB Instances unmaking, 6-42 Made FB Intances creating, 6-37 Made Function Blocks creation of, 12-10 explanation, 12-9 hierarchy, 12-9 made FB Definition, 12-10 Made FB Instance, 12-11 Manage mode, 5-5 Manipulate graphical objects copy to an array, 2-26 copy to line, 2-25 select, 2-16 Manipulating Graphical Objects repeat moving, 2-23 Manipulating graphical objects basepoint change during move, 2-22 Menus $add_library_menu_item(), 14-37 $add_or_replace_instance(), 14-39 $create_library_menu(), 14-35 adding a palette, 14-43 library, 14-28
I
IC Station, 3-95 ICprint, 2-43, 2-47 Implicit ripper examples, E-4 Implict ripper, 3-14 INST Name, 6-11, 6-20 Inst property, 7-29 character restrictions, 7-7 Instance, 3-2 instantiation, 3-2 placing, 3-19 repeating, 3-23, 3-71 replace, 3-20, 3-22 resizing, 2-29 selection, 2-18 special, 3-3 updating, 3-20 Instantiation, 3-2 1x1 bus ripper, 3-46 Invocation from DA-IC, 2-2 from operating shell, 2-3 IC Station, 3-95
J
Joining sliced objects, 4-12
L
Language File Opening, 3-8
Index-6
Index
Index (cont.)
Name Nets, 3-50 Palette Popup, 3-22 Window, 2-4 Merging annotations, 11-5 MGC_SIM_EDITOR, 2-9, 8-9 Model editor specifying, 2-9 Model Registrar exiting, 5-29 overview, 5-3 Model Registration Displaying/Editing Registered Models in Simulation Mode, 8-82 Model registration, 5-1 add as property, 5-16 checking, 5-22 choosing a model, 5-7 component field, 5-13 copying, 5-26 creating, 5-4 default, 5-19 deleting, 5-27 Edit Mapping, 5-12 editing, 5-5, 5-23 editing an existing symbol, 5-9 exiting, 5-29 from a symbol, 5-14 generating a symbol for a model, 5-10 invoking, 5-3 managing, 5-5 map by name, 5-17 map selected, 5-17 mapping a model to a symbol, 5-16 naming a model, 5-12 Open Symbol, 5-13 pins and properties, 5-16 ports and parameters, 5-16 registering a model to an existing symbol, 5-8 renaming, 5-25 restoring, 5-28 supported models, 5-2 symbol layout properties, 5-11 Symbol list box, 5-13 unmap all, 5-17 unmap selected, 5-17 viewing registered models, 5-19 Model selection, 8-75 Move basepoint change during, 2-22 objects, 2-22 objects between windows, 2-23 repeat, 2-23 Multi-Dimentional Buses, 3-35
N
Naming Nets Automatic Placement, 3-13 Net, 3-24 dangling, 3-30, 7-29 Net Bundles, 3-3, 3-24 creating, 3-49 naming, 3-49 rip members, 3-52 Net connector, E-1 Net naming syntax, 3-27 Net property, 7-30 character restrictions, 7-7 Net router, 3-26 Net vertices connecting, 3-26 disconnecting, 3-26 netcon, E-1 Netlist file (.spi), 8-9 Netlisting EldoNet, 3-88 Netlisting a Schematic, 3-88 Nets attributes, 3-11 auto_ripper_mode, 3-14
Index-7
Index
Index (cont.)
auto_route_mode, 3-26 connecting, 3-26 construction of, 6-25 creating external nets, 6-28 creating flythru nets, 6-29 creating internal nets, 6-26 creating passthru nets, 6-29 disconnecting, 3-26 drawing, 3-25 External Nets, 12-19 Flythru Nets, 12-21 Internal FB Definition Nets, 12-17 moving net names, 3-30 naming, 3-28 Passthru Nets, 12-20 renaming, 3-29 renaming all segments, 3-29 routing, 3-25, 3-26 selecting attached, 2-18 terminating dangling net, 3-30 valid dangles, 3-30 No default ripper, 3-14 Null instance, E-5 adding a palette menu, 14-43 Library, 14-43 Palettes popup menu, 3-22 Panels adding, 2-51 creating in Read-only mode, 2-53 deleting, 2-51 printing in Read-only mode, 2-53 viewing, 2-51 Parameter definition of, 7-17 setting, 3-75 Personality modules, 14-19 loading, 14-19 Pin grid, 4-4 spacing, 4-4 Pin Bundle adding, 4-21 naming, 4-21 Pin list, 3-62 Pin naming syntax, 3-27 Pin property, 7-30 character restrictions, 7-7 Pins selecting attached, 2-19 Pivot objects, 2-32 Plotting Simulation Results, 8-86 difference, 8-86, 8-89 Polygons making from polylines, 4-12 Port, E-2 Printing all sheets in a hierarchy, 2-42 configuration, 2-51 From Schematic Editor window, 2-46 From Symbol Editor window, 2-46 ICprint, 2-47 Print/Plot, 2-50
O
Object handles, 2-35 Off-page connector, 3-58, E-2 Opening a Language File, 3-8 Opening a Non-Existant Component in Design Context, 11-23 Opening a Non-Existant Schematic in Design Context, 11-23 Opening multiple sheets, 3-7 Operating Procedures CASE frames, 3-70 FOR frames, 3-70 IF frames, 3-70
P
Palette
Index-8
Index
Index (cont.)
Schematic sheet, 2-46 Schematics with protected objects, 2-50 Printing in Design Architect, 2-38 Printing Panels in Read-Only Mode, 2-53 Properties adding multiple, 7-41, 7-50 adding single, 7-39 AMPLE, 7-19 attribute_modified, 7-13 auto_update_mode, 3-21 automatic update, 7-15 changing attributes, 7-47 changing hidden symbol property text, 211, 7-50 changing the color, 7-49 changing values, 7-45 character restrictions, 7-7 dangling nets, 3-30 deleting, 7-43 deleting owners, 7-44 evaluating, 11-10 in context of a design, 11-2 introduction, 7-1 listing information, 7-45 logical symbol, 7-10 mark property attributes, 7-14 mark property value, 7-14 merge options, 7-15 name restrictions, 7-6 names versus values, 7-4 net, 3-28 parameters, 7-17 propagation, 7-28 repeat adding, 7-42 setting attributes, 7-36 setting owners, 7-43 stability switches, 7-11 structure, 7-3 symbol, 7-9 types, 7-4 update switches, 7-15 updating, 3-20, 7-13 value restrictions, 7-6 value_modified, 7-13 viewing evaluated, 11-21 visibility switches, 7-12 Properties variable resolution examples, 7-22 facts, 7-21 Property attributes, 7-36 Property concepts, 7-1 introduction to, 7-1 structure, 7-3 Property ownership, 7-4
R
Reconnecting Annotations, 11-16 Removing Comment Status, 3-69 Reopening a selection set, 2-21 Repeating instances, 3-23, 3-71 Replacing properties, 3-20 Report Groups, 2-30 Reporting forces, 8-25 Reporting on check status, 9-16 objects, 9-15 Reselecting a selection set, 2-21 Resizing Instances, 2-29 Ripper angled, 3-14 auto, 3-14 auto_ripper_mode, 3-14 creating a bus ripper, 3-36 implicit, 3-14 no default, 3-14 straight, 3-14 Ripping bits from bus, E-2 bits from two-dimensional bus, E-3
Index-9
Index
Index (cont.)
Ripping Members from Net Bundles, 3-52 Rotate objects, 2-32 Routing automatic net, 3-26 Rule property, 7-30 attached branches, 2-17 attached instances, 2-18 attached nets, 2-18 attached pins, 2-19 Nets with the same name, 2-18 object name, 2-19 Setting the mouse behavior, 2-10 Selection filters setting, 2-22 Selection Set reopening, 2-21 reselecting, 2-21 Sequence Text, 3-44 Setup Mouse Selection Behavior, 2-10 Sheets error checking, 3-77 opening multiple, 3-7 viewing capabilities, 2-37 viewing entire, 2-36 viewing portions, 2-36 viewing the contents, 2-36 Simulation output file (.chi), 8-9 overview, 8-1 plotting difference, 8-86, 8-89 plotting results, 8-86 requirements, 8-5 results file (.wdb, .cou, .dou), 8-9 running, 8-8 Simulation command file (.cir), 8-8 Simulation setup auto-close windows, 8-18 procedure, 8-17 single-click, 8-18 SLD properties Class, 7-28 Frexp, 7-31 Global, 7-29 Inst, 7-29
S
Schematic adding comment objects, 3-64 auto_ripper_mode, 3-14 auto_update_mode, 3-8 convert comment objects to symbol, 3-68 creating a bus, 3-31 creating a sheet for a symbol, 3-56 creating a symbol for, 3-60 creating additional sheets, 3-57 creating CASE frames, 3-75 creating FOR frames, 3-70 creating IF frames, 3-74 functional blocks, 3-53 grid snap, 3-9 grid spacing, 3-9 net attributes, 3-11 new sheet, 3-7 open down, 3-60 opening a sheet, 3-6 placing symbol, 3-19 registering, 3-80 reporting on objects, 9-15 saving, 3-80 setting edit environment, 3-9 Schematic Editor library menus, 14-28 Schematic Sheets creating comment objects, 3-67 Scopes finding name, 14-10 hierarchy, 14-3 Selecting Multiple Objects, 2-16 Selection
Index-10
Index
Index (cont.)
Net, 7-30 Pin, 7-30 Rule, 7-30 Slicing graphic objects, 4-11 Sources Lib, 1-4 Special instances, 3-3 bus ripper, 3-37 net connector, 3-49 using off-page connectors, 3-58 using port symbols, 3-59 Startup files, 14-11 straight ripper, 3-14 Symbol add pins, 4-13 adding multiple pins, 4-14 adding single pin, 4-13 bus ripper, 3-39 consecutive pins, 4-15 convert comment objects to symbol, 3-68 create from schematic, 3-56 draw symbol body, 4-6 edit sheet of, 3-60 joining sliced parts, 4-12 opening, 4-3 pin names, 4-13 pin spacing, 4-4 placing, 3-19 registering, 4-24 registering multiple symbols, 4-25 reporting on objects, 9-15 saving, 4-24 setting edit environment, 4-4 slicing, 4-11 symbol body attributes, 4-4 Symbol layout properties, 5-11 Symbol properties logical symbol, 7-9 stability switches, 7-11 update switches, 7-15 visibility switches, 7-12 Symbol registration, 4-25 Symbol window pulldown menu bar, 4-2
T
Text auto sequence, 3-44
U
Ungroup Objects, 2-30 unmade defined, 12-3 Unmade Function Blocks defined, 12-4 FB Definition, 12-4, 12-5 Unselection everything, 2-21 multiple objects, 2-20 single object, 2-20 Updating properties, 3-20 attribute_modified, 7-13 auto option, 7-15 auto_update_mode, 3-21, 7-15 automatic, 7-15 clear option, 7-15 default, 7-15 during open sheet, 7-15 examples, 7-16 instance of symbol, 7-13 instance option, 7-15 mark property value, 7-14 merge options, 7-15 symbol option, 7-15 value_modified, 7-13 User-Defined Hotkeys Define Hotkey Dialog Box, 13-8 defined, 13-1 defining, 13-6 loading, 13-10 location, 13-8 naming syntax, 13-8
Index-11
Index
Index (cont.)
usage, 13-6 Userware finding source, 14-15 loading, 14-16 Using the Dialog Navigator, 2-14
V
Valid dangling nets, 3-30 Value_Modified flag, 7-13 Versions, 9-9 View design centered, 2-37 selected, 2-37 zoom in, 2-37 zoom out, 2-37 View properties in design context, 11-4 Viewing Panels, 2-51 Viewing registered models, 5-20
W
Waveforms viewing, 8-1 Windows copying objects between, 2-27 moving objects between, 2-23
Index-12
Trademark Information
Updated: 11/20/02
END-USER LICENSE AGREEMENT 1. GRANT OF LICENSE. The software programs you are installing, downloading, or have acquired with this Agreement, including any updates, modifications, revisions, copies, documentation and design data (Software) are copyrighted, trade secret and confidential information of Mentor Graphics or its licensors who maintain exclusive title to all Software and retain all rights not expressly granted by this Agreement. Mentor Graphics grants to you, subject to payment of appropriate license fees, a nontransferable, nonexclusive license to use Software solely: (a) in machine-readable, object-code form; (b) for your internal business purposes; and (c) on the computer hardware or at the site for which an applicable license fee is paid, or as authorized by Mentor Graphics. A site is restricted to a one-half mile (800 meter) radius. Mentor Graphics' standard policies and programs, which vary depending on Software, license fees paid or service plan purchased, apply to the following and are subject to change: (a) relocation of Software; (b) use of Software, which may be limited, for example, to execution of a single session by a single user on the authorized hardware or for a restricted period of time (such limitations may be communicated and technically implemented through the use of authorization codes or similar devices); (c) support services provided, including eligibility to receive telephone support, updates, modifications and revisions. Current standard policies and programs are available upon request. ESD SOFTWARE. If you purchased a license to use embedded software development (ESD) Software, Mentor Graphics grants to you a nontransferable, nonexclusive license to reproduce and distribute executable files created using ESD compilers, including the ESD run-time libraries distributed with ESD C and C++ compiler Software that are linked into a composite program as an integral part of your compiled computer program, provided that you distribute these files only in conjunction with your compiled computer program. Mentor Graphics does NOT grant you any right to duplicate or incorporate copies of Mentor Graphics' real-time operating systems or other ESD Software, except those explicitly granted in this section, into your products without first signing a separate agreement with Mentor Graphics for such purpose. BETA CODE. Portions or all of certain Software may contain code for experimental testing and evaluation (Beta Code), which may not be used without Mentor Graphics' explicit authorization. Upon Mentor Graphics' authorization, Mentor Graphics grants to you a temporary, nontransferable, nonexclusive license for experimental use to test and evaluate the Beta Code without charge for a limited period of time specified by Mentor Graphics. This grant and your use of the Beta Code shall not be construed as marketing or offering to sell a license to the Beta Code, which Mentor Graphics may choose not to release commercially in any form. If Mentor Graphics authorizes you to use the Beta Code, you agree to evaluate and test the Beta Code under normal conditions as directed by Mentor Graphics. You will contact Mentor Graphics periodically during your use of the Beta Code to discuss any malfunctions or suggested improvements. Upon completion of your evaluation and testing, you will send to Mentor Graphics a written evaluation of the Beta Code, including its strengths, weaknesses and recommended improvements. You agree that any written evaluations and all inventions, product improvements, modifications or developments that Mentor Graphics conceives or made during or subsequent to this Agreement, including those based partly or wholly on your feedback, will be the exclusive property of
2.
3.
Mentor Graphics. Mentor Graphics will have exclusive rights, title and interest in all such property. The provisions of this subsection shall survive termination or expiration of this Agreement. 4. RESTRICTIONS ON USE. You may copy Software only as reasonably necessary to support the authorized use. Each copy must include all notices and legends embedded in Software and affixed to its medium and container as received from Mentor Graphics. All copies shall remain the property of Mentor Graphics or its licensors. You shall maintain a record of the number and primary location of all copies of Software, including copies merged with other software, and shall make those records available to Mentor Graphics upon request. You shall not make Software available in any form to any person other than employees and contractors, excluding Mentor Graphics' competitors, whose job performance requires access. You shall take appropriate action to protect the confidentiality of Software and ensure that any person permitted access to Software does not disclose it or use it except as permitted by this Agreement. Except as otherwise permitted for purposes of interoperability as specified by applicable and mandatory local law, you shall not reverse-assemble, reversecompile, reverse-engineer or in any way derive from Software any source code. You may not sublicense, assign or otherwise transfer Software, this Agreement or the rights under it, whether by operation of law or otherwise (attempted transfer) without Mentor Graphics' prior written consent and payment of Mentor Graphics thencurrent applicable transfer charges. Any attempted transfer without Mentor Graphics prior written consent shall be a material breach of this Agreement and may, at Mentor Graphics option, result in the immediate termination of the Agreement and licenses granted under this Agreement. The provisions of this section 4 shall survive the termination or expiration of this Agreement. LIMITED WARRANTY. 5.1. Mentor Graphics warrants that during the warranty period, Software, when properly installed, will substantially conform to the functional specifications set forth in the applicable user manual. Mentor Graphics does not warrant that Software will meet your requirements or that operation of Software will be uninterrupted or error free. The warranty period is 90 days starting on the 15th day after delivery or upon installation, whichever first occurs. You must notify Mentor Graphics in writing of any nonconformity within the warranty period. This warranty shall not be valid if Software has been subject to misuse, unauthorized modification or installation. MENTOR GRAPHICS' ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY SHALL BE, AT MENTOR GRAPHICS' OPTION, EITHER (A) REFUND OF THE PRICE PAID UPON RETURN OF SOFTWARE TO MENTOR GRAPHICS OR (B) MODIFICATION OR REPLACEMENT OF SOFTWARE THAT DOES NOT MEET THIS LIMITED WARRANTY, PROVIDED YOU HAVE OTHERWISE COMPLIED WITH THIS AGREEMENT. MENTOR GRAPHICS MAKES NO WARRANTIES WITH RESPECT TO: (A) SERVICES; (B) SOFTWARE WHICH IS LICENSED TO YOU FOR A LIMITED TERM OR LICENSED AT NO COST; OR (C) EXPERIMENTAL BETA CODE; ALL OF WHICH ARE PROVIDED AS IS. 5.2. THE WARRANTIES SET FORTH IN THIS SECTION 5 ARE EXCLUSIVE. NEITHER MENTOR GRAPHICS NOR ITS LICENSORS MAKE ANY OTHER WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY, WITH RESPECT TO SOFTWARE OR OTHER MATERIAL PROVIDED UNDER THIS AGREEMENT. MENTOR GRAPHICS AND ITS LICENSORS SPECIFICALLY DISCLAIM ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT OF INTELLECTUAL PROPERTY. 6. LIMITATION OF LIABILITY. EXCEPT WHERE THIS EXCLUSION OR RESTRICTION OF LIABILITY WOULD BE VOID OR INEFFECTIVE UNDER APPLICABLE LAW, IN NO EVENT SHALL MENTOR GRAPHICS OR ITS LICENSORS BE LIABLE FOR INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS) WHETHER BASED ON CONTRACT, TORT OR ANY OTHER LEGAL THEORY, EVEN IF MENTOR GRAPHICS OR ITS LICENSORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT SHALL MENTOR GRAPHICS' OR ITS LICENSORS' LIABILITY UNDER THIS AGREEMENT EXCEED THE AMOUNT PAID BY YOU FOR THE SOFTWARE OR SERVICE GIVING RISE TO THE CLAIM. IN THE CASE WHERE NO AMOUNT WAS PAID, MENTOR GRAPHICS AND ITS LICENSORS SHALL HAVE NO LIABILITY FOR ANY DAMAGES WHATSOEVER.
5.
7.
LIFE ENDANGERING ACTIVITIES. NEITHER MENTOR GRAPHICS NOR ITS LICENSORS SHALL BE LIABLE FOR ANY DAMAGES RESULTING FROM OR IN CONNECTION WITH THE USE OF SOFTWARE IN ANY APPLICATION WHERE THE FAILURE OR INACCURACY OF THE SOFTWARE MIGHT RESULT IN DEATH OR PERSONAL INJURY. INDEMNIFICATION. YOU AGREE TO INDEMNIFY AND HOLD HARMLESS MENTOR GRAPHICS AND ITS LICENSORS FROM ANY CLAIMS, LOSS, COST, DAMAGE, EXPENSE, OR LIABILITY, INCLUDING ATTORNEYS' FEES, ARISING OUT OF OR IN CONNECTION WITH YOUR USE OF SOFTWARE AS DESCRIBED IN SECTION 7. INFRINGEMENT. 9.1. Mentor Graphics will defend or settle, at its option and expense, any action brought against you alleging that Software infringes a patent or copyright or misappropriates a trade secret in the United States, Canada, Japan, or member state of the European Patent Office. Mentor Graphics will pay any costs and damages finally awarded against you that are attributable to the infringement action. You understand and agree that as conditions to Mentor Graphics obligations under this section you must: (a) notify Mentor Graphics promptly in writing of the action; (b) provide Mentor Graphics all reasonable information and assistance to defend or settle the action; and (c) grant Mentor Graphics sole authority and control of the defense or settlement of the action. 9.2. If an infringement claim is made, Mentor Graphics may, at its option and expense: (a) replace or modify Software so that it becomes noninfringing; (b) procure for you the right to continue using Software; or (c) require the return of Software and refund to you any license fee paid, less a reasonable allowance for use. 9.3. Mentor Graphics has no liability to you if infringement is based upon: (a) the combination of Software with any product not furnished by Mentor Graphics; (b) the modification of Software other than by Mentor Graphics; (c) the use of other than a current unaltered release of Software; (d) the use of Software as part of an infringing process; (e) a product that you make, use or sell; (f) any Beta Code contained in Software; (g) any Software provided by Mentor Graphics' licensors who do not provide such indemnification to Mentor Graphics' customers; or (h) infringement by you that is deemed willful. In the case of (h) you shall reimburse Mentor Graphics for its attorney fees and other costs related to the action upon a final judgment. 9.4. THIS SECTION 9 STATES THE ENTIRE LIABILITY OF MENTOR GRAPHICS AND ITS LICENSORS AND YOUR SOLE AND EXCLUSIVE REMEDY WITH RESPECT TO ANY ALLEGED PATENT OR COPYRIGHT INFRINGEMENT OR TRADE SECRET MISAPPROPRIATION BY ANY SOFTWARE LICENSED UNDER THIS AGREEMENT.
8.
9.
10. TERM. This Agreement remains effective until expiration or termination. This Agreement will automatically terminate if you fail to comply with any term or condition of this Agreement or if you fail to pay for the license when due and such failure to pay continues for a period of 30 days after written notice from Mentor Graphics. If Software was provided for limited term use, this Agreement will automatically expire at the end of the authorized term. Upon any termination or expiration, you agree to cease all use of Software and return it to Mentor Graphics or certify deletion and destruction of Software, including all copies, to Mentor Graphics' reasonable satisfaction. 11. EXPORT. Software is subject to regulation by local laws and United States government agencies, which prohibit export or diversion of certain products, information about the products, and direct products of the products to certain countries and certain persons. You agree that you will not export any Software or direct product of Software in any manner without first obtaining all necessary approval from appropriate local and United States government agencies. 12. RESTRICTED RIGHTS NOTICE. Software was developed entirely at private expense and is commercial computer software provided with RESTRICTED RIGHTS. Use, duplication or disclosure by the U.S. Government or a U.S. Government subcontractor is subject to the restrictions set forth in the license agreement under which Software was obtained pursuant to DFARS 227.7202-3(a) or as set forth in subparagraphs (c)(1)
and (2) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, as applicable. Contractor/manufacturer is Mentor Graphics Corporation, 8005 SW Boeckman Road, Wilsonville, Oregon 97070-7777 USA. 13. THIRD PARTY BENEFICIARY. For any Software under this Agreement licensed by Mentor Graphics from Microsoft or other licensors, Microsoft or the applicable licensor is a third party beneficiary of this Agreement with the right to enforce the obligations set forth in this Agreement. 14. AUDIT RIGHTS. With reasonable prior notice, Mentor Graphics shall have the right to audit during your normal business hours all records and accounts as may contain information regarding your compliance with the terms of this Agreement. Mentor Graphics shall keep in confidence all information gained as a result of any audit. Mentor Graphics shall only use or disclose such information as necessary to enforce its rights under this Agreement. 15. CONTROLLING LAW AND JURISDICTION. THIS AGREEMENT SHALL BE GOVERNED BY AND CONSTRUED UNDER THE LAWS OF OREGON, USA, IF YOU ARE LOCATED IN NORTH OR SOUTH AMERICA, AND THE LAWS OF IRELAND IF YOU ARE LOCATED OUTSIDE OF NORTH AND SOUTH AMERICA. All disputes arising out of or in relation to this Agreement shall be submitted to the exclusive jurisdiction of Dublin, Ireland when the laws of Ireland apply, or Wilsonville, Oregon when the laws of Oregon apply. This section shall not restrict Mentor Graphics right to bring an action against you in the jurisdiction where your place of business is located. 16. SEVERABILITY. If any provision of this Agreement is held by a court of competent jurisdiction to be void, invalid, unenforceable or illegal, such provision shall be severed from this Agreement and the remaining provisions will remain in full force and effect. 17. MISCELLANEOUS. This Agreement contains the parties entire understanding relating to its subject matter and supersedes all prior or contemporaneous agreements, including but not limited to any purchase order terms and conditions, except valid license agreements related to the subject matter of this Agreement (which are physically signed by you and an authorized agent of Mentor Graphics) either referenced in the purchase order or otherwise governing this subject matter. This Agreement may only be modified in writing by authorized representatives of the parties. Waiver of terms or excuse of breach must be in writing and shall not constitute subsequent consent, waiver or excuse. The prevailing party in any legal action regarding the subject matter of this Agreement shall be entitled to recover, in addition to other relief, reasonable attorneys' fees and expenses. Rev. 020826, Part Number 214231