- •Contents
- •Preface
- •Related Documents
- •Typographic and Syntax Conventions
- •Getting Started
- •Starting the Schematic Composer
- •Using the Command Interpreter Window
- •Working with Designs
- •Opening a New Cellview
- •Opening an Existing Cellview
- •Using the Schematic Editor
- •Using the Symbol Editor
- •Making Designs Editable
- •Making Designs Read Only
- •Saving Your Edits
- •Closing Editor Windows
- •Quitting the Schematic Composer
- •Working with Libraries
- •Database Structure
- •Design Libraries
- •Reference Libraries
- •Library Browser
- •Using Menus and the Icon Bar
- •Using Pull-Down Menus
- •Using Pop-Up Menus
- •Using Object-Sensitive Menus (OSMs)
- •Using the Icon Bar
- •Working with Commands
- •Using Command Prompts
- •Canceling a Command
- •Undoing a Command
- •Redoing a Command
- •Displaying a Form
- •Using Form Buttons
- •Using Form Fields
- •Quick Reference Bindkey Charts
- •Quick Reference Bindkey Chart — Schematic Editor
- •Quick Reference Bindkey Chart — Symbol Editor
- •Quick Reference Bindkey Chart — Mouse Buttons
- •Quick Reference Bindkey Chart — General Bindkeys
- •Selecting Objects
- •Dynamic Highlighting
- •Using the Mouse to Select Objects
- •Extending the Selection Area of a Net
- •Selecting One Object
- •Selecting Multiple Objects
- •Selecting Parts of Objects
- •Selecting Wires
- •Selecting a Wire Name and Its Associated Wire Segments
- •Selecting a Pin and Its Associated Wire Segments
- •Selecting an Instance and Its Associated Wire Segments
- •Deselecting Objects
- •Working with Windows
- •Zooming
- •Panning
- •Redrawing a Window
- •Viewing the Same Cell in Two Windows
- •Saving View Area Settings in Memory
- •Restoring View Area Settings
- •Using the Library Browser
- •Accessing and Using the Library Browser
- •Changing the Browser Type Option
- •Using the Library Browser to Initialize Form Fields
- •Using the Component Browser
- •Accessing and Using the Component Browser
- •Changing the Browser Type Option to the Component Browser
- •Opening the Component Browser
- •Opening the Add Instance Form Instead of the Component Browser
- •Listing Components from Several Libraries
- •Changing the Component Browser Display
- •Connectivity with Objects
- •Instance Naming Conventions
- •System-Generated Names
- •Iterated Names
- •Wire Connections and Wire Naming Conventions
- •Wire-to-Wire Connections
- •Wire-to-Pin Connections
- •Wire-by-Name Connections
- •Wire-to-Iterated Instance Connections
- •Global Net Name Connections
- •Multiple-Bit Wire Connections
- •Tapping Multiple Bits of a Bundle
- •Tapping Multiple Bits of a Bus
- •Tapping Wire Intersections by Name
- •Designating Tap Size and Bit Order
- •System-Generated Net Names
- •Multiple-Bit Wire Naming Conventions
- •Using Vector Expressions in Multiple Signals
- •Evaluating Vector Expressions in Multiple-Bit Wire Names
- •Pin Connections and Pin Naming Conventions
- •Hierarchical Pin Names
- •Offsheet Pin Names
- •Bus Pin Names
- •Pin-to-Pin Connections
- •Tapping Pins
- •Naming Single and Multiple Bits Using Patchcords
- •Naming Multiple Nets Using Patchcords
- •Inherited Connections
- •Inherited Connections in a Hierarchy
- •The Syntax of an Inherited Net Expression
- •How Net Expressions Evaluate
- •Sample Net Expression Library
- •Inherited Connections Restrictions
- •Analyzing Net Expression Property Names and Evaluated Names
- •Summary of Naming Conventions
- •Creating Schematics
- •Getting Started with Schematics
- •Adding Instances
- •What Is an Instance?
- •Methods of Adding an Instance to Your Design
- •Adding Instances One by One
- •Adding Instances by Rows and Columns (an Array)
- •Adding Instances Using an Iterative Expression
- •Editing Instance Masters
- •Specifying the View to Use While Placing the Instance
- •Changing the View after an Instance Is Already Placed
- •Renumbering Instances
- •Adding Blocks
- •Adding Blocks
- •Adding Wires and Pins to Blocks
- •Changing the Block Pin Direction Rule
- •Changing the Direction or Name of a Single Block Pin
- •Changing the Names and Directions of Multiple Block Pins
- •Deleting Block Pins
- •Disabling Automatic Block Pin Creation
- •Adding Pins
- •Adding Schematic and Offsheet Pins
- •Showing Pin Connections
- •Adding Wires
- •Adding Narrow or Wide Wires
- •Using Wire Snap and Gravity Options
- •Using Wire Draw, Width, and Route Options
- •Using Wire Flight Lines Option
- •Routing Flight Lines
- •Manipulating Wires with Only the Mouse
- •Adding Wires to Schematic Instance Pins using SKILL
- •Adding Wire Names
- •Naming a Wire
- •Adding Wire Names
- •Adding Multiple Wire Names
- •Verifying Invisible Wire Names
- •Adding Net Expression Labels to Create an Inherited Connection
- •Adding a Net Expression Label to a Wire
- •Adding an Inherited Supply Symbol to a Wire
- •Editing a Net Expression Label
- •Changing the Net Expression Label Display
- •Deleting a Net Expression Label
- •Adding netSet Properties to Create an Inherited Connection
- •Adding a netSet Property to an Instance
- •Modifying a netSet Property
- •Deleting a netSet Property
- •Finding a Net Expression
- •Finding and Replacing a Net Expression
- •Finding Available Properties
- •Viewing the Evaluated Net Names
- •Viewing the Full List of all Hierarchical Paths
- •Checking the Net Expression
- •Adding Solder Dots
- •Adding Solder Dots
- •Deleting Solder Dots
- •Disabling Automatic Solder Dot Creation
- •Changing Solder Dot Size
- •Adding Notes
- •Adding Note Shapes
- •Adding Note Text
- •Importing an ASCII File for Note Text
- •Adding Patchcords
- •Adding Probes
- •Adding Probes to a Net, Pin, or Instance
- •Showing Probe Information
- •Removing Probes from a Net, Pin, or Instance
- •Removing All Probes
- •Saving Probes
- •Loading Probes
- •Creating a Multisheet Schematic
- •Browsing a List of Multisheets
- •Converting a Single-Sheet Schematic to a Multisheet Schematic
- •Adding New Sheets
- •Editing the Title Block
- •Editing the Sheet Border Size and Type
- •Adding Offsheet Pins to Multisheet Schematics
- •Understanding the Index Schematic
- •Going to and from the Index Schematic
- •Repositioning a Schematic within the Sheet Borders
- •Deleting Sheets
- •Reordering Sheets
- •Renumbering Sheets
- •Working with Cross-References
- •Understanding Cross-Reference Zones
- •Understanding Pin Cross-References
- •Understanding Cross-Reference Reports
- •Preparing to Cross-Reference
- •Displaying Cross-References
- •Zooming In to View All Cross-Referenced Pins One by One
- •Viewing Cross-Reference Reports
- •Editing a Cross-Reference Display
- •Controlling the Format String Syntax
- •Customizing the Format String Syntax
- •Customizing Multisheets
- •The Basic Procedure
- •Customizing the Types and Sizes of Sheet Borders
- •Customizing the Cross Reference Options Form
- •Drawing a Customized Sheet Border
- •Drawing a Sheet Border
- •Drawing Sheet Zones
- •Drawing Zone Labels
- •Adding the Sheet Zone Property
- •Adding a Title Block
- •Adding Title Block Values with Normal Labels
- •Adding Title Block Values with NLP and IL Labels
- •Verifying the Label Type
- •Adding Title Block Properties
- •Customizing Pin Cross-References
- •Presetting the Title Block Values
- •Creating Symbols
- •Setting Grid Options
- •Importing Symbols
- •Creating New Symbols
- •Drawing Lines
- •Drawing Rectangles
- •Drawing Polygons
- •Drawing Circles
- •Drawing Ellipses
- •Drawing Arcs
- •Adding Pins as Graphic Images
- •Adding Pins as Instances
- •Creating Custom Pins as Graphic Images
- •Duplicating Pin Figures in the Symbol Master
- •Making the Custom Pin Name Visible
- •Adding a Selection Box
- •Adding Labels
- •Adding a Normal Label
- •Adding an NLP Label
- •Adding an IL Label
- •Adding Note Text and Note Shapes
- •Adding a Net Expression Label
- •Setting the Symbol Origin
- •Creating Symbol Cellviews Using Generators
- •Automatically Creating Cellviews
- •Features of Creating Cellviews
- •Automatically Creating a Cellview from Another Cellview
- •Replacing an Existing Symbol Cellview
- •Modifying an Existing Symbol Cellview
- •Examples of Replacing and Modifying Pins on a Symbol
- •Automatically Creating a Cellview from a Pin List
- •Automatically Creating a Cellview from an Instance
- •Editing Symbol Generation Options
- •Adding, Changing, and Reordering Pin Names
- •Editing Pin Attributes
- •Loading and Saving a TSG Template File
- •Editing Symbol Attributes
- •Editing Symbol Labels
- •Creating a New Label
- •Deleting Labels
- •Modifying Label Attributes
- •Editing Properties
- •Creating a New Property
- •Deleting Properties
- •Modifying Property Attributes
- •Specifying Symbol Generator Pin Sorting
- •Editing Objects
- •Using Direct Manipulation
- •Direct Manipulation Operations
- •Turning Off Direct Manipulation
- •Undoing and Redoing an Edit
- •Changing the Undo Limit
- •Stretching
- •Stretching with the Schematic Editor
- •Stretching with the Symbol Editor
- •Stretching with Direct Manipulation
- •Stretching with Bindkeys
- •Copying
- •Copying Single Objects
- •Copying Arrays of Objects
- •Copying Across Cellviews
- •Copying with Direct Manipulation
- •Copying with Bindkeys
- •Moving
- •Moving Objects
- •Moving with Direct Manipulation
- •Moving with Bindkeys
- •Deleting
- •Deleting Preselected Objects
- •Deleting Postselected Objects
- •Deleting Sheet Borders
- •Rotating
- •Rotating Preselected Objects
- •Rotating Postselected Objects
- •Rotating with Direct Manipulation
- •Rotating with Bindkeys
- •Discarding Edits
- •Alternating Symbol Views
- •Changing the View of a Preselected Object
- •Changing the View of a Postselected Object
- •Toggling Objects
- •Toggling Pin Direction Options
- •Toggling Wire Draw Mode Options
- •Toggling Instance Symbol View Options
- •Saving the Current Label Display File
- •Loading the Current Label Display File
- •Attaching the Label Display File to the Library
- •Detaching the Label Display File from the Library
- •Setting the Simulation Data Directory
- •Editing Properties
- •Using Command Shortcuts
- •Search String Wildcards
- •Replacing Properties
- •Replacing String-Tagged Characters
- •Selecting Objects to Edit
- •Using Modal (Repeating) Commands
- •Selecting Objects by Filtering
- •Selecting Objects Automatically by Type
- •Selecting Objects by Property
- •Adding a Property Name to the Search List
- •Selecting Objects by Filtering
- •Object and Cellview Property Types and Values
- •Editing Object Properties
- •Applying Edits to Objects and Displaying Object Types
- •Adding Object Properties
- •Deleting Object Properties
- •Modifying Object Properties
- •Editing Instance and Block Properties
- •Editing Pin Properties
- •Designating the Order of Pins
- •Copying a Pin Order from Another Cellview
- •Resolving Pin Order Mismatch
- •Verifying Pin Order
- •Editing Pin Name Properties
- •Editing Wire Properties
- •Editing Wire Name Properties
- •Editing Instance Pin Properties on an Instance of a Block
- •Editing Label Properties
- •Resetting Invisible Labels
- •Editing netSet Properties
- •Editing Note Text Properties
- •Editing Note Shape Properties
- •Editing Symbol Shape Properties
- •Editing Symbol Pin Properties
- •Editing Symbol Label Properties
- •Editing Symbol Selection Box Properties
- •Passing Parameters in a Design
- •Editing Cellview Properties
- •Adding Cellview Properties
- •Deleting Cellview Properties
- •Modifying Cellview Properties
- •Editing VHDL Properties
- •Adding VHDL Properties
- •Deleting VHDL Properties
- •Modifying VHDL Properties
- •Setting the Tool Filter
- •About the Design Hierarchy
- •Exploring the Design Hierarchy
- •Top-Level Schematic View
- •Middle-Level Schematic View
- •Lower-Level Design Hierarchy
- •About the Hierarchy Editor
- •Traversing a Design Hierarchy
- •Descending Using the Descend Command
- •Editing an Instance in Place
- •Descending Using the View Name List
- •Setting the View Precedence Order
- •Returning Up the Design Hierarchy
- •Using OSMs to Traverse the Design Hierarchy
- •Using Bindkeys to Traverse the Design Hierarchy
- •Displaying the Current Hierarchical Scope
- •About the Hierarchy Editor within the Schematic Composer
- •Opening a Hierarchy Editor Menu within the Schematic Composer
- •Setting Instance Bindings
- •Building a New Inherited View List
- •Showing Views Found
- •Checking Designs
- •Features of the Check Commands
- •Setting the Check Options
- •Setting User Preferences
- •Setting Schematic Rule Checks
- •Checking a Design
- •Checking and Saving a Design
- •Checking the Current Cellview
- •Checking a Design Hierarchy
- •Checking Multisheet Schematics
- •Checking a Label Attachment
- •Cross-View Checking
- •Bypassing Checks
- •Bypassing Floating Pin Checks
- •Bypassing Unconnected Wire Checks
- •Resolving Check Errors
- •Finding Errors and Warnings in a Design
- •Mapping an Error Message to a Marker
- •Managing the Error Message List
- •Assigning an ignoreCheck Property
- •Suppressing Message Displays
- •Deleting an ignoreCheck Property
- •Deleting All ignoreCheck Properties
- •Deleting Individual Markers
- •Deleting All Markers
- •Monitoring a Verilog or VHDL Simulation State
- •Using Cross Selection
- •Opening an SHM Database
- •Displaying the Simulation State of Wires and Pins
- •Setting a Time Value for Displaying Signal Results
- •Setting the Time Scale
- •Setting the Display Radius
- •Synchronizing with Simulation at Breakpoint
- •Closing the SHM Database
- •Plotting Designs
- •Setting Up System Options to Plot
- •Setting Up Printer Options to Use Various Paper Sizes
- •Plotting a Design
- •Plotting a Library
- •Plotting a Cellview
- •Plotting Part of a Schematic
- •Plotting Without a Header Page for Every Session
- •Adding Notes to a Plot
- •Setting Plot Options
- •Plotting a Color Schematic in Black and White
- •Changing the Background Color of a Schematic Window
- •Using a Plot Template File
- •Creating a Plot Template File
- •Loading a Plot Template File
- •Creating a Default Plot Template File
- •Checking the Queue Status
- •Canceling a Plot Job
- •Setting Schematic Composer Options
- •Overview of Schematic Composer Options
- •Changing User Preferences
- •Minimizing Mouse Clicks
- •Changing the Default Display Setting for Command Option Forms
- •Saving the Current Window Setup
- •Restoring a Saved Window Setup
- •Viewing Bindkey Settings
- •Changing Browser and CIW Preferences
- •Customizing Editor Options
- •Canceling the Modal (Repeat) Command Option
- •Changing Display Options
- •Selecting Objects Using the Filter Option
- •Setting Plot Options
- •Setting Schematic Check Options and Rules
- •Setting the Tool Filter
- •Saving Form Field Default Settings
- •Loading Form Field Default Settings
- •Customizing the Schematic Composer
- •Customizing Pull-Down and Pop-Up Menus
- •Sample Menu File
- •Customizing Object-Sensitive Menus
- •Example of Customizing the Instance OSM
- •Customizing the Icon Bar
- •Positioning Icons and Turning Off Icon Names
- •Changing the Contents of the Icon Bar
- •Changing the Display of the Icon Bar
- •Understanding Initialization and Setup Files
- •Converting a Schematic from a 0.125 Grid to a 0.1 Grid
- •Customizing Bindkeys
- •Locating the schBindKeys.il Bindkey File
- •Locating Your Installation Directory
- •Loading Your Customized Bindkey File
- •Loading the Cadence-Supplied Bindkey File
- •Customizing Global Editor Variables for Form Fields
- •Schematic Editor Variables
- •Symbol Editor Variables
- •Symbol Generation (tsg) Variables
- •HDL (Verilog, SpectreHDL, and VerilogA) Variables
- •AMS Netlisting Variables
- •Block Pin Direction Rule Variable
- •Block Sample Sizes Variable
- •View Name Exclusion Variable
- •Schematic Pin Types Variable
- •Plot Template File Variable
- •Property Filter Variable
- •Schematic Rule Checker Variable
- •Properties for Find Variable
- •Multisheet Masters Variable
- •Simulation Probe Masters Variable
- •View Name Masters Variable
- •View Master Options Variable
- •Zone Formats Variable
- •Symbol Label Variables
- •Symbol Pin Masters Variable
- •Customizing Text-to-Symbol Generator (TSG) Variables for Form Fields
- •Pin Master Connections Variable
- •Symbol Pin Characteristics Variable
- •Template Masters Variables
- •Customizing HDL Variables for Form Fields
- •Edit After Error Variable
- •Update Symbol After Edit Variable
- •Cross View Check Variable
- •Cross View String Variable
- •Printing Variable
- •Verbose Variable
- •No Hierarchy Variable
- •Net to Port Variable
- •Environment Variables
- •Overview of Environment Variables
- •Schematic Editor Environment Variables File
- •Window Environment Variables
- •schDisplayDepth
- •schDrawAxesOn
- •schDynamicHilightOn
- •schGridMultiple
- •schGridSpacing
- •schGridType
- •schMaxDragFig
- •schPathType
- •schShowDirectConnects
- •schShowLabelOrigin
- •schSnapSpacing
- •schWindowBBox
- •symDisplayDepth
- •symDrawAxesOn
- •symDynamicHilightOn
- •symGridMultiple
- •symGridSpacing
- •symGridType
- •symMaxDragFig
- •symPathType
- •symShowDirectConnects
- •symShowLabelOrigin
- •symSnapSpacing
- •symWindowBBox
- •viewNameList
- •Schematic Environment Variables
- •autoDot
- •blockDirRules
- •broadcast
- •browserType
- •checkAlways
- •checkBeepOn
- •checkHierSave
- •checkSymTime
- •compBackTrace
- •condOp
- •createCvOptions
- •createInstResetCDF
- •createInstShowCDF
- •createLabelFontHeight
- •createLabelFontStyle
- •createLabelHorzOffset
- •createLabelHorzPosition
- •createLabelHorzRotation
- •createLabelJustify
- •createLabelOffsetMode
- •createLabelVertOffset
- •createLabelVertPosition
- •createLabelVertRotation
- •cvDisplay
- •defaultsFile
- •defWideWireWidth
- •descendSheet
- •descendTarget
- •dotOverlap
- •drawMode
- •drawModeRoute
- •echoToCIW
- •editPropShowCDF
- •editPropShowSystem
- •editPropShowUser
- •gravityOn
- •libList
- •markerSeverity
- •markerShowIgnore
- •markerZoom
- •maxLabelOffsetUU
- •minMarkerSize
- •modalCommands
- •netExprDisplay
- •netNameMethod
- •netNameRangeDescend
- •netNameSeparator
- •noteFontHeight
- •noteFontStyle
- •noteJustify
- •noteShape
- •noteShapeLineStyle
- •pinBackTrace
- •pinNameSeed
- •pinRefDuplicates
- •pinRefFormat
- •pinRefSorting
- •replSaveChanges
- •runSRC
- •runVIC
- •saveAction
- •schematicAreaPartialSelect
- •schematicSelectFilter
- •sensitiveMenu
- •shapeLineType
- •shapeLineWidth
- •simProbeFormat
- •simProbeType
- •snapEnabled
- •spanLib
- •srcConnByName
- •srcFloatingBIDIR
- •srcFloatingInput
- •srcFloatingIO
- •srcFloatingNets
- •srcFloatingOutput
- •srcInheritedConnCheck
- •srcInstNameExpr
- •srcInstNameSyntax
- •srcInstOverlap
- •srcInstOverlapValue
- •srcMaxLabelOffset
- •srcNameCollision
- •srcNetNameExpr
- •srcNetNameSyntax
- •srcNoOverrideNet
- •srcOffsheetConnCheck
- •srcPinNetCollision
- •srcShortedOutputs
- •srcSolderOnCrossover
- •srcTermNameExpr
- •srcTermNameSyntax
- •srcUnconnectedWires
- •srcVerilogSyntax
- •srcVHDLSyntax
- •ssgSortPins
- •statusBanner
- •statusBannerXY
- •stickyWireLabelRange
- •symbolAreaPartialSelect
- •symbolLabelChoiceText
- •symbolLabelFontHeight
- •symbolLabelFontStyle
- •symbolLabelJustify
- •symbolLabelType
- •symbolPinFlatten
- •symbolPinIncrCount
- •symbolPinLocate
- •symbolPinUsage
- •symbolSelectFilter
- •symbolShape
- •symbolShapeFillStyle
- •transToSheetType
- •tsgTemplateType
- •updateConn
- •vicExactPinMatch
- •vicInheritedPins
- •vicInheritedPinsMatch
- •vicSeverity
- •vicViewList
- •wireBackTrace
- •zoomOutButton
- •Text-to-Symbol Generator
- •Symbol Shape Generated by TSG
- •TSG Symbol Description File
- •TSG Template File
- •Clock and Negation Indicators
- •Backannotation
- •Simple File Example
- •Complex File Example
- •Extended File Example
- •TSG Symbol Description File Structure
- •Basic File Structure
- •Data Types
- •Using TSG Constructs
- •Input Pin
- •Output Pin
- •Executing TSG
- •TSG Processing Order
- •Creating Symbols Automatically from a Schematic
- •Terms and Conventions
- •Library Command File
- •Running the Symbol and Simulation Library Generator
- •Running the Symbol and Simulation Library Generator in the Cadence Graphic Environment
- •Running the Symbol and Simulation Library Generator in the Cadence Nongraphic Environment
- •Library Management Commands
- •lmCheckTerm
- •lmCheckView
- •lmCloseLib
- •lmDefCell
- •lmDefTermProp
- •lmDefViewProp
- •lmDeleteTermProp
- •lmDeleteViewProp
- •lmGetValue
- •lmLoadData
- •lmOpenLib
- •lmPrintLibTermProp
- •lmPrintLibViewProp
- •lmPrintTerm
- •lmPrintTermProp
- •lmPrintViewProp
- •lmReset
- •lmSimView
- •simRep
- •Variables That Control Command Execution
- •Properties That Modify Values
- •Sample Library Command File
- •Configuring and Using Kanji Notes
- •Overview
- •Installing the Required Files
- •Uncompressing the Files
- •Modifying the Schematic Editor Menu File
- •Setting the Environment Variable
- •Modifying the Data Registry File
- •Using Kanji Notes
- •Formats, Files, and Views
- •Adding a New Note
- •Generating a Symbol from an Existing File
- •Generating a Symbol from a New File
- •Editing an Existing Note
- •Limitations
- •Known Problems
- •schHiCreateKanjiSymbol
- •Form Descriptions
- •Add Block Form
- •Add Custom Pin Form
- •Add Generic Form – VHDL Properties
- •Add Instance Form
- •Add Kanji Note Form
- •Add Net Expression Form
- •Add New Property to Find Form
- •Add New Property to Replace Form
- •Add New Property for Search Form
- •Add Note Shape Form – Arc
- •Add Note Shape Form – Circle
- •Add Note Shape Form – Ellipse
- •Add Note Shape Form – Line
- •Add Note Shape Form – Polygon
- •Add Note Shape Form – Rectangle
- •Add Note Text Form
- •Add Pin Form – Schematic
- •Add Pin Form – Symbol
- •Add Property Form – Edit Object Properties
- •Add Selection Box Form
- •Add Simulation Monitor Form
- •Add Symbol Label Form
- •Add Symbol Shape Form – Arc
- •Add Symbol Shape Form – Circle
- •Add Symbol Shape Form – Ellipse
- •Add Symbol Shape Form – Line
- •Add Symbol Shape Form – Polygon
- •Add Symbol Shape Form – Rectangle
- •Add Wire Form
- •Add Wire Name Form
- •Build Inherited View List Form
- •Cellview From Cellview Form
- •Cellview From Instance Form
- •Cellview From Pin List Form
- •Cellviews with Evaluated Net Expression Name Form
- •Change Sheet Border Size Form
- •Check Hierarchy Form
- •Component Browser Form
- •Component Browser Preferences Form
- •Copy Form
- •Create Cellview Dialog Box – Replace or Modify
- •Create Schematic Form
- •Create Schematic Sheet Form
- •Cross Reference Options Form
- •Cross-View Checker Form
- •Delete All Markers Form
- •Delete Generic Form – VHDL Properties
- •Delete Property Form – Edit Object Properties
- •Delete Schematic Sheet Form
- •Descend Form – Descend Options
- •Descend Form – Iterated Instance
- •Descend Form – Multisheet
- •Descend Form – Noniterated Instance
- •Display Options Form
- •Edit Cellview Properties Form
- •Edit Component Display Form
- •Edit Object Properties Form – Basic
- •Edit Object Properties Form – Instance and Block
- •Edit Object Properties Form – Instance Pin
- •Edit Object Properties Form – Label
- •Edit Object Properties Form – Master Property
- •Edit Object Properties Form – Net Expression
- •Edit Object Properties Form – Note Shapes
- •Edit Object Properties Form – Note Text
- •Edit Object Properties Form – Other Object
- •Edit Object Properties Form – Pin
- •Edit Object Properties Form – Pin Name
- •Edit Object Properties Form – Selection Box
- •Edit Object Properties Form – Symbol Label
- •Edit Object Properties Form – Symbol Pin
- •Edit Object Properties Form – Symbol Shape
- •Edit Object Properties Form – Wire Name
- •Edit Object Properties Form – Wire Segment
- •Edit Pin Order Form
- •Edit Schematic Sheet Number Form
- •Editor Options Form
- •Find Marker Form
- •Go To Pin Form
- •Go To Sheet Form
- •Import Symbol Form
- •Left, Right, Top, Bottom Pin Attributes Form
- •Load Label Display Form
- •Load Schematic Defaults Form
- •Modify Generic Form – VHDL Properties
- •Modify Property Form – Edit Object Properties
- •Move Form
- •Net Expression Available Property Names Form
- •Net Expression Evaluated Names Form
- •Occurrence Paths to Evaluated Name Form
- •Open Simulation Data Form
- •Plot Options Form
- •Renumber Instances Form
- •Reset Invisible Labels Form
- •Rotate Form
- •Route Flight Line Form
- •Save Label Display Form
- •Save Schematic Defaults Form
- •Save Schematics with Errors Form
- •Schematic Check Options Form
- •Schematic Find and Symbol Find Forms
- •Schematic Replace and Symbol Replace Forms
- •Schematic Select All Form
- •Schematic Select By Property Form
- •Schematic Selection Filter Form
- •Schematic Title Block Properties Form
- •Set Instance Binding Form
- •Set Label Display Simulation Data Directory Form
- •Set Radix Form
- •Set Time Form
- •Setup Schematic Rules Checks Form
- •Show Label Form
- •Show Views Found Form
- •Stretch Form – Schematic Editor
- •Stretch Form – Symbol Editor
- •Submit Plot Form
- •Symbol Generation Options Form
- •Symbol Select All Form
- •Symbol Select By Property Form
- •Symbol Selection Filter Form
- •Synchronization Form
- •Time Scale Form
- •VHDL Properties Form
- •Glossary
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
Using TSG Constructs
The following constructs can be included in a TSG symbol description file.
TSG Construct |
Definition |
defcell |
cell definition |
input |
input pin |
output |
output pin |
io |
I/O pin |
defsymbol |
symbol definition |
viewName |
symbol view name |
symbolProps |
symbol properties |
symbolParam |
symbol parameter |
symbolLabels |
symbol labels |
controlParam |
control parameters |
pinNumSpec |
pin number specification |
pinGraphicSpec |
pin graphic specification |
pinLocSpec |
pin location specification |
pinLogicSpec |
pin logic type specification |
Cell Definition
The defcell construct is the highest level construct in a TSG symbol description file. It has the form CF1 and contains the variable cell name and four constructs: input, output, io, and defsymbol.
These four constructs, specific todefcell, are the only ones that you can include in defcell. Any other construct is ignored by TSG but can be processed by other Cadence tools, such as the symbol and simulation library generator (S/SLG). Refer to Appendix C, “Symbol and Simulation Library Generator.”
The variable cellName represents the cell name portion of a symbol cellview into which the generated symbol is stored. You must specify this cell name as a string.
October 2002 |
607 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
Example:
defcell( <cellName> )
Input Pin
The input construct has the form CF1, and you can include it in the defcell construct. It contains a list of the symbol input pins. By default, all input pins are drawn on the left side of the symbol from top to bottom.
To move an input pin to any other side, you specify the pin in the pinLocSpec construct.
Refer to “PinLocation Specification” on page 617 for details. If a pin specified in this construct is also specified in theoutput or io constructs, an error message is generated.
Example:
defcell( <cellName>
[input( <pinName1> <pinName2> ... <pinNameK> )] )
Output Pin
The output construct has the form CF1, and you can include it in the defcell construct. The output construct contains a list of the symbol’s output pins. By default, all output pins are drawn on the right side of the symbol from top to bottom.
To move an output pin to any other side, you specify the pin in pinLocSpec. Refer to “Pin Location Specification” on page 617 for details. If a pin specified in this construct is also specified in theinput or io constructs, an error message is generated.
Example:
defcell( <cellName>
[output( <pinName1> <pinName2> ... <pinNameK> )] )
I/O Pin
The io construct has the form CF1, and you can include it in the defcell construct. It contains a list of all I/O symbol pins. By default, all I/O pins are drawn on top of the symbol from left to right.
To move an I/O pin to any other side, you specify the pin in the pinLocSpec construct. Refer to “Pin Location Specification” on page 617 for details. If a pin specified in this construct is also specified in theinput or output constructs, an error message is generated.
October 2002 |
608 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
Example:
defcell( <cellName>
[io( <pinName1> <pinName2> ... <pinNameK> )] )
Symbol Definition
The defsymbol construct specifies symbol properties and parameters, control parameters, labels, and pin information. These values override applicable defaults. This construct has the form CF1, and you can include it in the defcell construct.
defsymbol can contain one or more of the constructs symbolProps, symbolParam, symbolLabels, controlParam, pinNumSpec, pinLocSpec, pinGraphicSpec, pinLogicSpec, and clockPins. These constructs, specific todefsymbol, are the only ones that you can include in defsymbol.
Example:
defsymbol( [<viewName>] [symbolProps( ...)] [symbolParam( ...)] [symbolLabels( ...)] [controlParam( ...)] [pinNumSpec( ...)] [pinLocSpec( ...)] [pinGraphicSpec( ...)] [pinLogicSpec( ...)] [clockPins( ...)]
)
Symbol View Name
viewName is an optional parameter that specifies the view name of the cellview to be created. The default value is symbol. If you specify the viewName parameter, it must be a string and must be the first parameter in thedefSymbol construct.
Symbol Properties
The symbolProps construct has the form CF2, and you can include it in the defsymbol construct. This construct can accept any number of property pairs and any number of defTermProp and defVisibleProp subconstructs. The symbolProps construct is used to create properties on the symbol cellview or properties on sets of terminal pins.
symbolProps(
<property pair> <property pair>
.
.
October 2002 |
609 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
[defTermProp( <terminal list> <property list>
)]
.
.
[defVisibleProp( <property pair> <label attributes>
)]
.
.
)
defTermProp
defTermProp defines properties on the terminals represented by any of the following choices: all, input, output, inputOutput, topPins, bottomPins, leftPins, or rightPins.
Example:
defTermProp( input Iih = 1.24 |
a = 3) |
defVisibleProp
defVisibleProp defines a property and thelabel attributes information for displaying that property.
Within defVisibleProp, you can specify one or more of the following label attributes: location, apply, format, layer, purpose, justification, orientation, isOverbar, fontStyle, and fontHeight.
Example:
defVisibleProp( dName = mara format( "value")
location( "xleft : ytop + 0.0625") justification( centerLeft )
)
property pair
A property pair specification consists of a property name and property value pair. A property pair uses the format
property_name = property_value
property_name can be any identifier or string.property_value can be a simple value plus an optional range, a time, a filename, a SKILL expression, or an NLP expression.
October 2002 |
610 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
Property values other than simple values require a keyword and an argument enclosed in parentheses. Do not leave a space between the keyword and the left parenthesis immediately following it.
When the property pair is specified directly within thesymbolProps construct, a symbol cellview property is created.
simple value
A simple property value can be an integer, a floating-point number (float), or a string
(characters enclosed in quotation marks). The special string values {yes | no | true | false | TRUE | FALSE | t | nil} create Boolean properties. Simple values can also be combined with a range value. When a range is included, enclose the value/range pair in parentheses. For example, the following are valid property pair expressions:
partName = "ALU" ) month = (3 (1 12)))
color = ("red" ("red" "green" "blue")
time
The time keyword indicates the property type is time. Properties of type time are expressed as a time value and an optional range. The time value contains the date, time, and year, enclosed in parentheses. For example, the property
lastChanged = time("Jan 01 8:17:56 2000") is a valid expression. Only the first three characters are needed to specify the month.
filename
The filename keyword indicates the property type is a filename. Followfilename with a string indicating the filename. Enclose the filename string in parentheses. For example, the property myFile = filename("magic.c") is a valid expression.
ilExpr
The ilExpr keyword indicates the property type is a SKILL expression. This type of property requires a valid SKILL expression enclosed in parentheses. For example, pval = ilExpr("if(rc print(\"rc=0"))") is a valid expression.
nlpExpr
The nlpExpr keyword indicates the property type is an NLP expression. This type of property requires a valid NLP expression enclosed in parentheses.
October 2002 |
611 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
range
Range values are optional arguments when specifying a property. A range value can be either an enumeration type or a pair of values specifying the upper and lower bounds of the range. The values of range must be enclosed in parentheses. If a range is an enumeration type, each value in the range should be a string (a name in quotation marks).
Upper and lower bounding values can be simple numeric values or the argument nil. If nil is specified for a lower or upper bound in a range, the range is unbounded. For example:
p1 = (4 (1 10))
color = ("red" ("red" "green" "blue"))
Symbol Parameter
The symbolParam construct has the form CF2, and you can include it in the defsymbol construct. The following symbol parameters, specific to this construct, are the only ones that can be included in any order without replication. They are not stored in the symbol master property list.
wireSpacing
The minimum spacing between any pair of adjacent pin wires on a side. The default is twice the snap spacing. The value you supply is rounded to the nearest multiple of snap spacing. For more information on snap spacing, refer to the environment variable symSnapSpacing.
wireLength
The length of each pin wire; in other words, a pin stub. The default is twice the value of the wireSpacing field. The value you supply is rounded to the nearest multiple of snap spacing.
vSideLength
The minimum length of the vertical sides. The default ensures enough vertical span to accommodate the pins on both sides. If the value you supply is less than the computed default, the computed default is used. The vSideLength value is rounded to the nearest snap spacing.
hSideLength
The minimum width of the horizontal sides. The default ensures enough horizontal span to accommodate the pins on both the top and bottom sides of the symbol, the part name, and
October 2002 |
612 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
pin name labels. If the value you supply is less than the computed default, the computed default is used instead. The hSideLength value is rounded to the nearest snap spacing.
pinConnector
The default pin connector graphic. Each entry is mapped into a cellview that contains the actual graphics for the connector. The choices are square, block, and circle. You can add new types by creating a new pin connector cellview and updating the tsgConnectorMasters list in the schConfig.il file.
origin
The default placement of the symbol origin. The choices are topLeftPin, bottomLeftPin, or centerLeft.
Example: |
|
symbolParam( |
|
wireSpacing |
= 0.125 |
wireLength |
= 0.0 |
vSideLength |
= 0.0 |
hSideLength |
= 0.0 |
pinConnector |
= "block" |
origin |
= topLeftPin ) |
Symbol Labels
The symbolLabels construct has the form CF1, and you can include it in the defsymbol construct. The symbolLabels construct allows you to define symbol labels. If this construct is not specified, a set of default labels is generated on the symbol.
defLabel
Defines a label with the specified textstring and the label attributes for its display.
symbolLabels(
defLabel( name( string <label attributes> ) )
)
Example:
defLabel( name("[@instanceName]") location( "xleft:(ytop + ybottom)/2") labelType(NLPLabel) justification(upperLeft) layer(instance)
purpose(label)
October 2002 |
613 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
apply(cellview) fontHeight(0.1)
)
A label specification consists of a name and one or more of the following label attributes: location, apply, labelType, layer, purpose, justification, orientation, isOverbar, fontStyle, and fontHeight.
name
The required name keyword is followed by a name string that specifies the text for the label.
Enclose the label text in quotation marks. If the isOverbar specification is set, place an underscore before and after any text you want an overbar above. For example, the label read|_write_ converts to read|write with an overbar above write.
Label Attributes
The following label attributes are shared by the ldefVisibleProp and defLabel constructs.
location
Location specifies where to place the label. Thelocation keyword is followed by an expression that positions the label on the symbol. The expression can be any SKILL expression that evaluates to a point. The location expression is a function of the variables xleft, xright, ytop, ybottom, and fontHeight for labels applied to a cellview, and of the variables pinSpacing, stubLength, and fontHeight for labels applied to pins. Top, bottom, left, and right pin label positions must be specified separately.
The following specifications are valid location expressions.
location( "xleft : ytop")
Places a label in the upper left corner of a symbol.
location( "(xleft + xright)/2 |
: ytop + .0625") |
Places a label just above the top center of a symbol.
location( "(stubLength)/2 |
: 0") |
Places a pin label halfway down the pin stub for left pins.
location( "0 : -(stubLength)/2")
Places a pin label halfway down the pin stub for top pins.
October 2002 |
614 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
apply
Apply specifies whether the label is applied to either the cellview or to specific pins. The choices are cellview, top, bottom, left, right, input, output, and inputOutput.
labelType
The optional labelType field (used only in thedefLabel construct) specifies the label type as either normalLabel (default), NLPLabel, or ILLabel.
format
The optional format field (used only in thedefVisibleProp construct) specifies which parts of the property name/value pair are to be displayed. The choices are value (default), name=value, and off.
layer
The optional layer field contains a string that defines the color of the label. The default is device.
purpose
The optional purpose field contains a string that defines the purpose of the label. The default is annotate.
orientation
The optional orientation field determines the rotation of the label in degrees. The choices are R0, R90, R180, and R270.
isOverbar
The optional isOverbar field determines whether a bar or overline is placed over the label text that is placed between underscore characters. Assigning a value of t to isOverbar places the bar on the text. Use nil when no bar is required. The default is nil.
fontStyle
The optional fontStyle field specifies the default font style for a labelfontStyle. requires a string value specifying the new font style. The default is stick.
October 2002 |
615 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
fontHeight
The optional fontHeight field specifies the default font height for a labelfontHeight. requires a float value specifying the new height.
Control Parameter
The controlParam construct has the form CF2, and you can include it in the defsymbol construct. The controlParam construct contains control parameters you can specify to define execution behavior.
queryMode
Use queryMode only when the specified symbol master already exists in the library. When set to t, TSG runs in query mode in which several questions are asked interactively.
If set to nil (default), TSG runs in the autonomous mode and assumes an existing symbol should be overwritten. It does not prompt you for permission to overwrite an existing symbol cellview. Refer to “Executing TSG” on page 620 for details about the built-in questions when queryMode is set to t.
This control parameter is the only one that can be included in this construct and is not stored in the property list of the symbol master.
Example:
controlParam( queryMode = t )
Pin Number Specification
The pinNumSpec construct has the form CF3, and you can include it in defsymbol. It contains a list of pinName:pinNumber pairs. A colon (:) separates the pin name and pin number. Any pin specified in this construct must also be declared ininput, output, or io or TSG ignores it and its pin number. This construct is most often used for printed circuit board design libraries.
A pin number must be a positive integer. For each pinName:pinNumber pair specified, the p_pinName property, along with the specified pin number, is stored in the symbol master property list for annotation and backannotation into instances.
October 2002 |
616 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
Example:
pinNumSpec(
[<pinName1> : integer] [<pinName2> : integer] )
Pin Graphic Specification
The pinGraphicSpec construct has the form CF3, and you can include it in defsymbol. It contains a list of pinName:string pairs. A colon (:) separates the pin name and string. The construct identifies special pin graphics, such as negation bubbles and clock indicators, to be drawn with the specified pins. The length of the pin stub and the shape of the pin connector are controlled separately with the wireLength and pinConnector symbol parameters.
The default is actHi. The predefined values forpinGraphicSpec are actHi, actLo, ieeeActLo, clock, and actLoClock. Each of these values matches an entry in the schConfig.il file, which maps to a corresponding cellview containing the pin graphics. To create a new type of pin graphic, create a new cellview with the pin graphic and add an entry to the tsgPinGraphicMasters list in the schConfig.il file.
Example:
pinGraphicSpec( [<pinName1> : string] [<pinName2> : string] )
Pin Location Specification
The pinLocSpec construct has the form CF1, and you can include it in defsymbol. The pinLocSpec construct contains up to four subconstructs with which you can specify the pin location in any order without replication. All four of these subconstructs have the CF1 form, and you can include them in the pinLocSpec. Pin names in any of these subconstructs must also be specified in theinput, output, or io constructs or TSG ignores them. This construct allows you to override default pin placement locations.
leftPins
The names of pins to draw on the left of the symbol.
Other pins can be drawn on the left of the symbol. Pins specified ininput are also drawn on the left of the symbol. A pin specified ininput but not specified inpinLocSpec is drawn on the left before those in leftPins. A pin name in leftPins cannot be specified again in the other three subconstructs.
October 2002 |
617 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
rightPins
The names of pins to draw on the right of the symbol.
Other pins can be drawn on the right of the symbol. Pins specified inoutput are also drawn on the right of the symbol. A pin specified inoutput but not specified inpinLocSpec is drawn on the right before those in rightPins. A pin name in rightPins cannot be specified again in the other three subconstructs.
topPins
The names of pins to draw on the top of the symbol.
Other pins can be drawn on the top of the symbol. Pins specified inio are also drawn on the top of the symbol. A pin specified inio but not in pinLocSpec is drawn on the top before those in topPins. A pin name in topPins cannot be specified again in the other three subconstructs.
bottomPins
The names of pins to draw on the bottom of the symbol.
A pin name in bottomPins cannot be specified again in the other three subconstructs.
Example:
pinLocSpec(
[leftPins( <pinName1> <pinName2> ... <pinNameN> )] [rightPins( <pinName1> <pinName2> ...<pinNameN> )] [topPins( <pinName1> <pinName2> ... <pinNameN> )] [bottomPins( <pinName1> <pinName2> ...<pinNameN> )]
)
Pin Logic Type Specification
Using this construct is not recommended, but it remains supported for backward compatibility. The pinGraphicSpec construct is the preferred method for specifying special pin graphics. The pinLogicSpec construct specifies negation indicators. It has the form CF1, and you can include it in defsymbol. It contains one or more of the following subconstructs to specify the logic types of symbol pins. Both subconstructs have the form
CF1, and you can include them in the pinLogicSpec in any order without replication. Any pins specified in either subconstruct must also be specified in theinput, output, or io constructs; otherwise, TSG ignores this subconstruct.
October 2002 |
618 |
Product Version 5.0 |
Virtuoso Schematic Composer User Guide
Text-to-Symbol Generator
positive
A list of pin names that indicate the positive logic type of the pins.
negative
A list of pin names that indicate the negative logic pin type. Negative pins appear in the symbol as a bubble.
Clock Pins Specification
Using this construct is not recommended, but it emains supported for backward compatibility. The pinGraphicSpec construct is the preferred method for specifying special pin graphics. The clockPins construct specifies the display of clock indicators. It has the form CF1, and you can include it in defsymbol. Any pins specified must also be specified in input, output, or io or TSG ignores the construct. This construct takes a list of pin names to be drawn as clock pins. Clock pins are designated by a small triangle (a clock indicator) next to the pin.
Configuration Variables
tsgFilterGlobalNames
When this SKILL global variable is set to t, global names ending with an exclamation point are filtered out and do not appear in the symbol; for example,VDD! or GND!. The default is t.
tsgHSymbolBoxFactor, tsgVSymbolBoxFactor
These SKILL global variables represent horizontal and vertical symbol box factors, respectively. They are applied to the horizontal and vertical length of the symbol box to let you have control over the symbol size. The defaults are tsgHSymbolBoxFactor = 1, tsgVSymbolBoxFactor = 1. For example, tsgHSymbolBoxFactor = .7 would make symbols narrower.
tsgKeepPinPlacement
Left and right symbol pins are placed starting near the top of the symbol. Therefore, the uppermost left pin is at the same Y dimension as the uppermost right pin. In other words, the pins are not centered but instead are moved up near the top of the symbol. When additional pins are added, the original pins are not moved and do not need to be rewired. If you want to
October 2002 |
619 |
Product Version 5.0 |