Preface
Typographic and Syntax Conventions
1
Virtuoso Layout Editor Overview
Using the Virtuoso Layout Editor
About the Command Interpreter Window
- Turning Off the What's New Window
- Editing the What's New Window
- Running Layout Editor in 64-Bit
Using the Library Browser to Open Files
- Using the Library Browser
- Using Categories
- Using Filters
- About Libraries
- Using Reference Libraries
Using the Open File Form to Open Files
- Opening a Cellview
- Creating a New Cellview
- About the Create New File Form
- Saving a Cellview
- About the Save As Form
- Saving a Cellview Under a Different Name
- Closing a Cellview
- Quitting After Saving All Edits
- Quitting and Saving Edits
The Parts of a Virtuoso Layout Editor Design Window
- Window Title
- Status Banner
- Menu Banner
- Icon Menu
- Cursor and Pointer
- Design Area
- Mouse Settings
- Prompt Line
2
About Menus and Icons
Starting Layout Editor Commands from the Menu Banner
- Menu Details
- Layout Editor Tools Menu
- Returning Layout Editor Commands to the Menu Banner
- Layout Editor Design Menu
- Layout Editor Window Menu
- Layout Editor Create Menu
- Layout Editor Edit Menu
- Layout Editor Verify Menu
- Layout Editor Connectivity Menu
- Layout Editor Options Menu
- Layout Editor Place Menu
- Layout Editor Route Menu
- Starting Icon Commands
- Controlling the Icon Menu's Appearance and Location
- Viewing the Icon Command Names
3
Using Layout Editor Commands
- Starting Commands
- Canceling Commands
- Undoing Commands
- Repeating Commands
- Nesting Commands
- Displaying Forms
- Using Form Buttons
- Filling in a Form
- Making Command Forms Appear by Default
- Discard Edits Form
- The Mouse Pointer and Cursor
- Mouse Buttons in the Layout Cellview
- Mouse Buttons in the Layer Selection Window
- Looking at the Mouse Button Settings
- Loading and Unloading Strokes
Starting Commands with Bindkeys
- Entering Startpoints with Bindkeys
- Loading Bindkeys
- Defining Bindkeys in SKILL
Unexpected Results Commands Might Produce
- Canceling or Undoing Edits
- The Command Starts Before I Enter Points
- Stopping a Command
- The Command Does Not Repeat and It Should
4
Setting Up Your Environment
Setting Layout Editor Defaults
- Startup Files
- .cdsinit File
- .cdsenv File
- Setting Default Values with Menu Commands
- Setting Up the .Xdefaults File
- Technology File Requirements for the Layout Editor
- Graphic Environment Variables
- Layout Editor Environment Variables
Setting Window and Form Location
- Placing a Window Manually
- Setting a Default Window Size and Location
- Setting Options for Window Border Utilities
- Setting a Default Form Location
Customizing Layout Editor Menus
- Location of the layEdit.menus File
- Editing Considerations
- Additional Reference Files
Using the Display Options Form
- Setting Display Controls
- Setting Which Design Objects Appear
- Displaying Details or Outlines of Instances
- Displaying a Particular Hierarchy Level
- Using the Set Area View Level Form
- About the Set Area View Level Form
- Creating Detail Areas
- Removing Detail Areas
- Displaying Instance or Master Cell Names
- Displaying Details or Outlines of Arrays
- Setting the Snap Grid Spacing
Snapping the Cursor as You Edit
- Snap Mode
- Setting the Default Snap Modes
Saving, Loading, and Deleting Display Settings
Using the Layout Editor Options Form
- Editor Controls
- Gravity Controls
- Using Reference Points
- Displaying Reference Points
- Setting the Reference Point Manually
- Setting a Stationary Reference Point
Preserving Pin-Path Connections
- Maintain Connections
- Starting Maintain Connections
- Setting Maintain Connections to Off
- Using Maintain Connections
- Limitations
- Setting Gravity On and Off
- Setting the Gravity Distance (Aperture)
- Snapping the Cursor to Specific Objects
- Gravity Types in Order of Precedence
- Snapping the Cursor to Objects on Specific Layers
- Snapping the Cursor to Objects in Instances
- Setting a Snap Offset (Bounce)
5
Working with Design Hierarchy
- Master Cells and Cell Instances
- A Sample Design and Tutorial
- Checking for Instance Recursion
- Changing the Master Cell Origin
- Using the Tree Form
- Viewing the Results of the Tree Command
- Tree Window File Menu
- Tree Window Cellview Data
- Tree Window Cell Instances
- Listing the Contents of a Cellview
- Summary File Menu
- Show Environment
- Layer Object Statistics
- Instance Statistics
- Contact Statistics
- Listing All Selected Objects
- Show Selected Set File Menu
- Show Selected Set
- Shapes
- Instances
- Editing a Cell in Place
- Fitting the Edit-in-Place Cell in the Window
- Displaying Only the Edit-in-Place Cell
- Using the Descend Form
- About the Descend Form
- Descending into an Instance
- Descending into a Member of an Instance Array
- About the Select Array Member Form
- Using the Select Array Member Form
- Using the (view name) Descend Form
- About the (view name) Descend Form
- Descending into a Nonlayout View of an Instance
- Using Return To Level
- About the Return To Level Form
- Returning to a Different Hierarchy Level
Refreshing Memory after Editing
- Using the Refresh Cellviews Form
- About the Refresh Cellviews Form
- Refreshing Memory from Other Users' Edits
About Parameterized Cells (Pcells)
- Pcell Design Flow
- Setting Parameters When Placing Pcell Instances
- Changing Parameters for Pcell Instances
- Searching for and Replacing Parameters
- Adding the Pcell Menu to the Layout Editor
Stretching Parameterized Cells
- Stretching a Contact Array in a Pcell Instance
- Stretching Multiple Handles
- Selecting a Handle Assigned to Multiple Parameters
- Setting Environment Variables for Stretchable Pcells
- Troubleshooting
6
The Layer Selection Window (LSW)
About the Layer Selection Window
- Edit Menu
- Current Entry Layer
- Technology File
- Inst Button
- Pin Button
- AV and NV Buttons
- AS and NS Buttons
- Layers and Mouse Functions
- Scroll Bar
Choosing the Current Entry Layer
- Choosing the Entry Layer from an Object
- Using Tap For Layer Selection
- Changing the Available Entry Layers
- About the Set Valid Layer Form
- Setting Valid Layers
- Using the Save Form
- About the Save (Valid Layers) Form
- Saving a Set of Entry Layers
- Using the Load Form
- About the Load (Valid Layers) Form
- Loading Layers from a File
- Changing Layer Appearance
- Making One Layer Visible or Invisible
- Making All Layers Visible or Invisible
- Making All but One Layer Invisible
- Making the Layer-Purpose Full Name Not Appear
7
Moving Around in the Window
Zooming or Panning the Display
- Zooming In or Out
- Zooming with the Mouse
- Panning to a Point
- Panning Across the Cellview
- Returning to a Previous Zoom or Pan Image
- Saving a Zoom or Pan Image
- About the Save View Form
- Restoring a Zoom or Pan Image
Working with a Reference Window
- Creating a Reference Window
- Using a Reference Window to Zoom or Pan
- Using a Reference Window to Create or Edit Objects
Fitting the Entire Cellview in a Window
- About the Create Ruler Form
- Creating Rulers to Measure Objects
8
Creating Objects
- Entering Points
- Deleting Points
- Entering Points with the Keypad
- Typing Points in the CIW
How Creation Commands Work with ROD Objects
- About the Create Rectangle Form
- Creating a Rectangle
- About the Create Polygon Form
- Creating a Polygon
- Creating Polygons Using Different Snap Modes
- Creating an Arc in a Polygon
- About the Create Path Form
- Creating a Path
- Changing Path Shape
- Changing Path Width
- Creating Offset Paths
- Changing Path Ends
- Setting Path Justification
- Displaying Path Centerlines or Borders
- Path Stitching
- User-Defined Contacts
- Defining Contacts
- About the Create Label Form
- Creating and Attaching a Label
- Rotating Labels
- Choosing a Font
- Using the Overbar Option
- About the Create Instance Form
- Placing a Cell Instance
- Naming Instances
- Overriding Instance Names
- Rotating and Mirroring Instances
- Setting Magnification of Instances
- Placing an Array of Instances
- About the Create Shape Pin Form
- Create Shape Pin Form
- About the Create Symbolic Pin Form
- Creating Pins as ROD Objects
- Placing a Pin on a Path Automatically
- Creating Multiple Pins
- Placing Pin Arrays
- Displaying Pin Names
- Connecting Hierarchy with Pins
- About the Pin Name Display Form
- Changing Pin Name Characteristics
- Setting the Pin Name Layer
- About the Create Pins From Labels Form
- Creating Pins From Labels
- About the Create Contact Form
- About the Create Contact Form for cdsVia:
- Placing a Contact
- Placing an Array of Contacts
- Automatically Placing a Contact on Two Paths
- About the Create Device Form
- Placing a Device
- Naming Device Instances
- Overriding Device Names
- Rotating or Mirroring Devices
- Setting Magnification of Devices
- Placing an Array of Devices
- Creating Circles
- Creating Donuts
- Creating Ellipses
- Converting Conics to Polygons
- Setting Conic Sides
- About the Layer Generation Form
- Making Changes to Objects on Layers
- How Sizing Converts Objects to Polygons
- Making Boolean Edits by Layer
9
Editing Objects
How Editing Commands Work with ROD Objects
- About the Move Form
- Moving Objects by Direct Manipulation
- Moving Objects with the Move Command
- Moving or Copying Objects to Another Layer
- Moving Objects to Another Cellview
- Moving Multipart Rectangles
- Moving Multipart Paths
- How Moving Affects Multipart Paths with Aligned Objects
- About the Copy Form
- Copying Objects
- Copying Objects to Another Cellview
- Creating an Array of Copies
- About the Stretch Form
- Stretching Objects by Direct Manipulation
- Stretching with the Stretch Command
- Changing the Angle of Corners
- Stretching and Moving Objects
- Stretching Paths
- Stretching Multipart Rectangles
- Stretching Multipart Paths
- Stretching Chopped Subpath Ends in Multipart Paths
- Adding a Jog to Several Paths (a Bus)
- Adding a Jog to Multipart Paths
- Using Split to Add Any-Angle Segments to Paths
- About the Reshape Form
- Reshaping Polygons
- Adding a Rectangle to a Polygon
- Reshaping a Path
- Reshaping a Multipart Path
Deleting Objects, Edges, or Corners
- Canceling Delete
- How Merging Converts Objects
Selecting and Deselecting Objects
- Selecting Objects
- Selecting an Object or Edge
- Selecting a Group of Objects
- Selecting Objects Under One Selection Point
- Selecting a Group of Edges
- Selecting Multipart Rectangles
- Selecting a Whole Path
- Selecting Path Ends
- Selecting Path Segments
- Selecting a Path Vertex
- Selecting Multipart Paths
- Selecting a Whole Multipart Path
- Selecting Multipart Path Ends
- Selecting Chopped Subpath Ends in Multipart Paths
- Selecting Multipart Path Segments
- Selecting a Multipart Path Vertex
- Deselecting Objects
- Pre- and Postselection of Objects
- Making Objects Selectable or Unselectable
Adding or Removing Levels of Hierarchy
- About the Make Cell Form
- Creating a Cell from the Selected Set
- About the Flatten Form
- Removing Hierarchy (Flattening Instances)
- Copying and Cutting Through the Hierarchy
- About the Chop Form
- Chopping an Object
- Splitting an Object into Pieces
- How Chopping Converts Objects to Polygons
- How Chopping Affects Multipart Paths
- Chopping a Multipart Path
Using the Modify Corner Command
- About the Modify Corner Form
- Modifying the Corners of a Polygon
- About the Size Form
- Sizing Objects
Splitting and Stretching Objects
- About the Split Form
- Splitting an Object
Attaching and Detaching Objects
- Attaching Objects
- Detaching Objects
- Post Selecting Devices
- PreSelecting Devices
- About the Align Form
- About the Rotate Form
- Rotating Geometric Objects to Any Angle
- Rotating or Mirroring Objects
- Using the Mouse to Rotate or Mirror Objects
- Rotating Instances and Labels
- About the Yank Form
- About the Paste Form
- Yanking and Pasting
10
Creating and Editing Multipart Paths
About Creating Multipart Paths
- About Creating a Multipart Path in a Layout Window
- About Saving a Multipart Path as a Template
Flow for Creating Multipart Paths
- Defining the Master Path
- Defining Connectivity for the Master Path
- Adding a New Subpart
- Defining Connectivity for a Subpart
- Editing a Subpart
- Deleting a Subpart
- Creating a Multipart Path in a Cellview
- Saving Multipart Path Values as a Template
- Loading an ASCII Multipart Path Template File
Example: Creating a Guard Ring
- Copying a Sample Technology File
- Creating the Guard Ring
- Saving the Guard Ring as a Template
Setting Multipart Path Environment Variables
- Setting the mppTemplate Environment Variable
- Setting the mppASCIIFileName Environment Variable
- Create Multipart Path - Master Path Section
- ROD Subpart Form
11
Editing and Defining Properties
- About the Edit Properties Form
- Displaying Properties
- Editing an Object's Properties
- Editing Properties for a Group of Objects
- Editing Many-to-Many Instance Parameters
- Searching for and Replacing Properties
- About the ROD Property Form
- About the Add Property Form
- Defining a New Cellview Property
- Defining a New Object Property
- About the Modify Property Form
- Changing a Property Using the Modify Property Form
- Deleting a Property
- Viewing the Attributes of a Contact
- Viewing the Attributes of a Donut
- Viewing the Attributes of a Dot
- Viewing the Attributes of an Ellipse or Circle
- Viewing the Attributes of an Instance
- Viewing the Attributes of a Label
- Viewing the Attributes of a Line
- Viewing the Attributes of a Path
- Viewing the Attributes of a ROD Multipart Path
- Viewing the Attributes of a Pin Name or Other Text Display
- Viewing the Attributes of a Polygon or Polygon Pin
- Viewing the Attributes of a Rectangle or a Rectangle Pin
Using Net Expressions and Inherited Connections
- Inherited Connections
- Net Expressions in the Virtuoso Layout Editor Environment
- Creating a Net Expression
- Editing Net Expressions
- Viewing Instances Containing Net Expressions
Using the Edit Cellview Properties Form
- About the Edit Cellview Properties Form
- Viewing and Editing Cellview Properties
12
Searching for Objects
- About the Search Form
Searching for and Selecting Objects
Searching for and Replacing Instances
- Searching for Instances
- Searching for Objects in Instances
- Replacing Instances
13
Using Connectivity
- About the Define Must Connected Pins Form
- Defining Must Connect Pins
- About the Define Strongly Connected Pins Form
- Defining Strongly Connected Pins
- About the Define Weakly Connected Pins Form
- Defining Weakly Connected Pins
- About Pseudo Parallel Connections
- About the Define Pseudo Parallel Connected Net Form
- Defining Pseudo Parallel Connected Nets
- Checking Connectivity of Pins
- About the Propagate Nets Form
- Promoting Net Information
Adding and Deleting Shapes on Nets
- About the Add Shape to Net Form
- Adding Shapes to a Net
- About the Delete Shape From Net Form
- Deleting Shapes from a Net
14
Plotting Your Design
- About the Submit Plot Form
- Plotting a Cellview
- Plotting the Window Contents
- Plotting a Selected Area of a Cellview
- Plotting Hierarchy
- Enlarging or Reducing the Plot Size
- Plotting at a Later Time
Using the Display Options Form
- About the Display Options Form
- About the Plot Options Form
- Creating a Plot Template File
- Loading a Plot Template File
- Creating a Default Plot Template File
- About the Queue Status Form
- Using the Queue Status Form
- Plot Support File
- Plotter Names in the Submit Plot Form
15
Handling Unexpected Results
- I Can't Find a Library
- I Can't Open a Cellview
- I Can't Write to a Cellview
- Cell Instances Are Missing
- I Load an ASCIITtemplate File and Get a CIW Warning Message
Problems with Editing and Entering Points
- I Made a Mistake Entering Points
- I Entered Points on the Wrong Layer
- I Can't Move Objects or Enter Points Where I Want
- Object Moves Instead of Stretches
- Object Changes Shape When Resizing
- I Can't Paste an Object
- Pcell Parameters Do Not Appear
- I Can't Edit the Properties of Selected Instances
- Right Mouse Button Doesn't Work
- Pointer Changes Shape
- Cursor Sticks to Objects
- Cursor Snaps to the Wrong Object
- Cursor Doesn't Snap to a Point
- How to Make a Layer Selectable
- Selection During Edit-In-Place
- How to Select Objects in a Dense Design
- Instance Selectability
- Problems Selecting Copied Objects
- Mouse Buttons for Zooming and Selecting
- How to Select Invisible Objects
- How to Control What Appears in a Window
- How to Make a Design Layer Visible
- How to See Instance Contents
- Displaying Instances You Are Editing
- How to See What the Search Command Finds
- How to See Selection Highlights
- Plot Shows More Than the Window
- No Plot Form Appears
- Plotter I Want Is Not in the Plot Form
- No Plotter Display Devices Appear in the Display Options Form
- An Error Message Appears in the Plot Queue Status Form
Problems with Stretching Parameterized Cells
- Pcell Stretch Handles Are Not Visible
- Difficulty Selecting Pcell Stretch Handles
- Difficulty Stretching Pcell Handles
- Cannot See Objects Inside Pcell During Stretch
16
Dialog Box Messages
- Closing Dialog Boxes
- Using Question Dialog Boxes
17
Microwave Commands
- Editing Transmission Lines
Creating Transmission Lines (Trl's)
- About the Create Transmission Line Form
- Create Transmission Lines
- About the Create Transmission Line Bend Form
- Create Bends
- Creating Advanced Transmission Lines
- About the Create Transmission Line Taper Form
- Create Tapers
Transmission Line Bend Examples
- Standard Bend Examples
- Chamfer Examples
- Radial Examples
18
Resolving Verification Errors
- About the Marker Text Window
- Using Markers - Explain
- About the Find Marker Form
- Using Markers - Find
Deleting Individual or Multiple Markers
- About the Delete All Markers Form
A
Bindkey Keyboard Map
B
Environment Variables
Environment Variable Functions
- Checking the Value of an Environment Variable
- How the System Evaluates Environment Variables
- Copying Environment Variables from the Samples Directory to ~/.cdsenv
- Changing Settings for Environment Variables in the CIW
- Changing Graphic Environment Variables That Are Cellview Properties
- Environment Variables in Forms
Environment Variable Descriptions
- abutServerOn
- accessEdgesOn
- acuteAnglePath
- alignApplySeparation
- alignApplySpacings
- alignDirection
- alignLayer
- alignMethod
- alignSelectionMode
- alignSeparation
- applyBounce
- arrayDisplay
- askSaveOnReturn
- autoContact
- autoInstPin
- autoNetName
- autoRefresh
- autoSetRefPoint
- cdsViaLayer1Direction
- cdsViaLayer2Direction
- cdsViaLayer1XEnclosure
- cdsViaLayer1YEnclosure
- cdsViaLayer2XEnclosure
- cdsViaLayer2YEnclosure
- cdsViaResetLayer1XYEnclosure
- cdsViaResetLayer2XYEnclosure
- cdsViaResetOrigin
- cdsViaResetLayerDirection
- cdsViaResetXYCutSpacing
- cdsViaStackedVias
- cdsViaXcutSpacing
- cdsViaYcutSpacing
- chopShape
- confirmDelete
- contactColumns
- contactDefFromTechfile
- contactDelX
- contactDelY
- contactJustify
- contactLength
- contactName
- contactResetDelXY
- contactResetRowCol
- contactResetXYBias
- contactRows
- contactWidth
- copyColumns
- copyResetRowCol
- copyRows
- copyToLayer
- createPinLabel
- cursorShape
- defaultNewCellName
- defaultNewLibName
- defaultNewViewName
- defaultOpenCellName
- defaultOpenLibName
- defaultOpenViewName
- defaultToolName
- deleteTarget
- descendPromptForView
- devClass
- devType
- displayPinNames
- displayRefPoint
- displayStartLevel
- displayStopLevel
- displayStretchHandles
- displayViaShapes
- dotsOn
- drawAxesOn
- drawDottedGridOn
- drawEngine
- drawGridOn
- drawInstancePins
- drawPRBoundary
- drawSurroundingOn
- drfPath
- dynamicHilightOn
- extractEnabled
- extractStopLevel
- filterSize
- filterSizeDrawingStyle
- fixedWidthPaths
- flattenMode
- flattenPCells
- gravityAperture
- gravityBounceX
- gravityBounceY
- gravityDepth
- gravityOn
- gravityType
- gridMultiple
- gridSpacing
- iconsOn
- ignoreBounce
- instCellName
- instColumns
- instDelX
- instDelY
- instLabel
- instLibName
- instName
- instRows
- instViewName
- keepFirstTermName
- keepRuler
- labelAttach
- labelDrafting
- labelFontStyle
- labelHeight
- labelJustify
- labelOverbar
- labelText
- layerTapCycle
- leCheckMissingLayers
- leCheckMissingMasters
- leDispNetExpr
- leWindowBBox
- lockAngles
- magnification
- maintainConnections
- markerSeverity
- markerZoom
- markerZoomScale
- maxDragFig
- modCornerRadius
- modCornerType
- modalCommands
- moveToLayer
- mppASCIIFileName
- mppTemplate
- multiSegRuler
- nPtsToTaper
- netsOn
- numLevels
- numSides
- openToStopLevel
- orientation
- originMarkersOn
- packetDialogBoxes
- partialSelect
- pathBeginExt
- pathCL
- pathEndExt
- pathJustify
- pathOffset
- pathStyle
- pathWidth
- pinAccessDir
- pinLength
- pinSelectionMode
- pinShape
- pinTextLayer
- pinTextPurpose
- pinTextSameLayer
- pinType
- pinWidth
- pinXPitch
- pinYPitch
- pinsAreSymbolic
- polygonArc
- preservePins
- preserveRodObjects
- preserveTerminalContacts
- recursionCheck
- removeChopShape
- replaceFigs
- reshapeType
- rodAutoName
- segSnapMode
- selectionAperture
- selectOnlyInstWithSelectableShapes
- showWhatsNew
- snapMode
- snapToGrid
- startLevel
- stickyNet
- stopLevel
- stretchPcellApplyToName
- stretchHandlesLayer
- taperStyle
- tapType
- termDirection
- termName
- textJustificationOn
- tinyInstDetail
- trlBendFac
- trlBendStyle
- trlChamFac
- trlNPtsToPI
- trlRadFac
- trlWidth1
- trlWidth2
- trlnPtsToTaper
- updatePCellIncrement
- useDefaultVia
- useEditorBackgroundColorForLSW
- useTrueBBox
- viewNameToTypeList
- xSnapSpacing
- ySnapSpacing
- yankShape
- zoomToFig
- Environment Variables Used Internally
Glossary
For support, see http://www.cadence.com/support
or try Cadence's SourceLink service.
Copyright © 2003, Cadence Design Systems, Inc.
All rights reserved.
Legal notices and trademark attributions