Setting Up Your Environment
This chapter contains these topics:
Setting Layout Editor Defaults
Setting Window and Form Location
Customizing Layout Editor Menus
Using the Display Options Form
Snapping the Cursor as You Edit
Saving, Loading, and Deleting Display Settings
Using the Layout Editor Options Form
Preserving Pin-Path Connections
Setting Layout Editor Defaults
Before you can start working in the Virtuoso® Layout Editor, several startup files must be initiated. Some of the things these files do include setting up your environment, pointing to libraries, and defining your plotters.
Startup Files
The layout editor uses the following startup files:
A Cadence® SKILL language file executed when the Cadence design framework II (DFII) product starts.
Specifies how you want your layers to appear on your monitor and in your plots.
Sets the paths to libraries and other
cds.libfiles. This file is used by the Library Browser, the File - Open command, and the File - New command.
.cdsinit File
The
.cdsinitfile can be used to initialize your Cadence environment. You can set window and layout editor defaults in the.cdsinitfile, so your settings are loaded whenever you start Cadence® Design Framework II (DFII) workbench.You can store the
.cdsinitfile in any or all of the following locations. DFII looks for the.cdsinitfile in the following order:
your_install_dir/tools/dfII/local/.cdsinitin your site installation directory
~/.cdsinitin your home directory
./.cdsinitin your working directory
To see the sample
.cdsinitfile, type the following in your top Cadence directory:
moreyour_install_dir/tools/dfII/samples/local/cdsinitThe sample
.cdsinitfile does not have the "." preceding it.To set defaults in the
.cdsinitfile, you enter Cadence SKILL commands that control environment variables.
.cdsenv File
The
.cdsenvfile sets application environment variables. You can use this file to change the layout editor default settings.To change the layout editor default setting,
The
.cdsenvfile needs to contain only the defaults you change. If you save the.cdsenvfile to your home directory, it is loaded when you start the software. You can change your setting during a session by loading a different file.Note: Do not copy the system default
.cdsenvfile located in the following directory:
your_install_dir/tools/dfII/etc/tools/layout/.cdsenvIt contains an extra argument and will not work as your
~/.cdsenv.Other information you can store in the
.cdsenvfile is new values forDBUPerUU. The defaultDBUPerUUsettings are located at
your_install_dir/tools/dfII/etc/tools/cdba/.cdsenvTypes of Measurement Units
Sets the unit of measure for your design and can be microns, millimeters, centimeters, meters, mils, or inches.
Setting Default Values with Menu Commands
The following layout editor and DFII commands and forms control most of the default values for your design environment:
Setting Up the .Xdefaults File
The
.Xdefaultsfile settings control how the Cadence software works in the X Window System environment. If you want to change these settings, copy the sample.Xdefaultsfile fromyour_install_dir/tools/dfII/cdsuserto your home directory (~) and edit it. The layout editor uses the system default settings if there are no settings in your home.Xdefaultsfile.For a complete list of
.Xdefaultssettings for Cadence software, read the DFII section of the Cadence Configuration Guide.The following table shows the settings that affect the layout editor and sample options.
Specifies size and location of Layer Selection Window (LSW).
Location and size of the Command Interpreter Window (CIW) (overrides
opus.x,opus.y,opus.height, andopus.width).Font for text in type-in fields, ShowFile windows, and the CIW input and output areas.
Color of the background for everything except graphics windows.
Color of menu and listbox text and selected radio and toggle buttons.
Color of text in type-in fields, ShowFile windows, and the CIW input and output areas.
Color of field borders if
hiShowFieldBorders(t)has been called.Color of the selection box you draw around objects; the zoom box you draw to zoom in or out; the outlines of objects you move, copy, or reshape; and the outlines of edges you stretch.
dragColorcontrols the highlight that appears before you select objects. Objects and edges are highlighted as you move the cursor over them.Placement of option form (
top,bottom,left,right, orcenter).Placement of option form relative to
screen,currentWindow, orCIW.
Opus.LSWGeometry
When the layout editor starts,
Opus.LSWGeometrysettings determine the size and location of the LSW, excluding the border and window title. The border and window title are determined by the window manager.
Opus.LSWGeometryworks in the following manner:
X Window System geometry specifications are used with the exception of negative integers. If negative integers are used, the window is displayed at the default location. For example, if you set
Opus.LSWGeometryat200x500+-100+-100, you would expect the LSW to display 100:100 from the lower right corner of the screen. Because the negative integers are not recognized, the LSW defaults to the upper left corner of the screen, 0:0. The CIW displays a warning that the origin is less than zero and that the origin will default to 0:0.The window origin is set at the upper left corner of the screen. For example, if you set
Opus.LSWGeometryat200x500+100+100, the LSW is displayed 100:100 from the upper left side of the screen. The size is 200 pixels wide by 500 pixels high.The default size and location is 120 pixels wide by 700 pixels high from the upper left corner of the screen, 0:0.
The minimum size is 120 pixels wide by 175 pixels high. If a smaller size is set, the CIW displays a warning that the default size will be used.
The LSW must fit within the screen's width and height. If it is set larger, the size defaults to the screen width and height. The CIW displays a warning that the screen width and height will be used.
Use
leGetLSWBBox()to see the bounding box of the LSW.Note:
Opus.LSWGeometrymight not work with all window manager configurations. For example, inctwm, the optionUsePPositionmust be set toonin order to specify the location of the LSW withOpus.LSWGeometry.
Using the Technology File
Each design library must be associated with a technology library compiled from a technology file. The technology file defines
Design layers and their properties
Physical design rules used for compaction, symbolic checking, and interactive verification
Contacts used by the layout editor
Devices and pins used by the Virtuoso Compactor tool
Application-specific rules that control how applications work
You can associate multiple design libraries with a single technology library using the Technology File Manager Attach command.
For complete details about how to create and edit technology files, refer to the following:
Technology File Requirements for the Layout Editor
The layout editor requires the technology file to contain complete definitions of the layers used in your design. The technology file can also have
Physical rules for each design layer
Definitions of symbolic contacts
Contact definitions are required only if you wish to place contacts using the Create Contact command or perform path stitching, which automatically places contacts using the Create Path command. The
mpu.tffile contains sample contact definitions. It is located inyour_install_dir/tools/dfII/samples/techfile.
Using Environment Variables
Graphic Environment Variables
Graphic environment variables control the window display. These variables can be stored in the cellview or the
.cdsenvfile in your home directory. There are several ways to change the default settings of graphic environment variables:
Set the variable in the Display Options form.
If you want to retain these settings for future sessions, save the settings using the Save button in the Options - Save Defaults form in the CIW.
Copy the variables you want to change from the default
.cdsenvfile to the.cdsenvfile in your home directory.
your_install_dir/tools/dfII/etc/tools/*/.cdsenvThese files contain system default values for all applications and have extra arguments that do not work in your environment.
Set the variable in the CIW using
Layout Editor Environment Variables
Layout environment variables control how various layout editor commands work. There are several ways to change the default settings of layout environment variables:
Set the variable in the Layout Editor Options form. If you want to retain these settings for future sessions, save the settings in the Save Defaults form in the Options menu in the CIW.
Include the environment variables in your
cdsenvfile in your home directory. The default file isInclude the
envSetVal()function in yourcdsinitfile.Include the
envSetVal()function in any other SKILL file you load.Type the
envSetVal()function in the CIW.For example, to set the
gravityOnvariable, type the following in the CIW or include it in a file:envSetVal("layout" "gravityOn" 't)To determine the current value of any layout editor environment variable, type the
envGetVal()function in the CIW as follows:envGetVal("layout" "variable_name")You can see more detailed information and the entire list of graphic and layout editor variables in Appendix B.
Setting Window and Form Location
Placing a Window Manually
To set the Cadence software so that each time you open any cellview, you define the size and location of the window,
In the CIW, choose Options - User Preferences.
The User Preferences form appears.
Choose Window - Utilities - Copy Window to see the results of the change in another window.
Setting a Default Window Size and Location
To set the default size and location of layout windows,
Resize and move a layout window where you want all your layout windows to be displayed.
Open your
~/CDS.logfile and look at the bottom of the file for ahiResizeWindowentry for the window number you noted previously.Add the following to your
.cdsenvfile:
Setting Options for Window Border Utilities
By default, the window display includes these optional utilities:
The icon menu provides easy access to commonly used commands
The mouse settings line shows the current mouse button actions
The prompt line shows the next step for the current command
You can remove any of these objects from the window. You can also add a scroll bar that lets you scroll the design window.
To set what appears in the window border,
In the CIW, choose Options - User Preferences.
The User Preferences form appears.
Setting a Default Form Location
To set the default location for the lower left corner of all forms, do the following:
Determine the maximum X and Y coordinates (upper rightmost coordinate) of your screen. To find this coordinate, type the following in the CIW:
Estimate the coordinates where you want the upper left corner of the forms.
To set where forms appear, add the following to your
.cdsinitfile.
Customizing Layout Editor Menus
You can customize (edit, add, remove) the Virtuoso Layout Editor menu items by editing the
layEdit.menusfile included in your installation hierarchy.By editing the
layEdit.menusfile, you can define each menu item (specifically, the menu item symbol, its menu text, and thecallBackfunction) and organize these definitions into the respective pulldown menus. You can change menu definitions without having to rebuild the SKILL context to see the change. Also, the menu file definitions are easier to maintain from one release to the next because they are independent of the code that implements the menus.The
layEdit.menusfile contains the layout editor menu items. To edit this ASCII file, you must copy it to~/menusand then make your changes. You can leave the editedlayEdit.menusfile in your~/menusdirectory or copy it to a local, work, or project directory.
Location of the layEdit.menus File
The
layEdit.menusfile is read in the following order and at these locations.
Site-specific information is read at this location to allow for site overrides.
Work area, project, or
~/menusinformation is read at this location to allow for personal overrides.
To see the changes you made in the
layEdit.menusfile, restart the software and open a cellview window.
Editing Considerations
When editing the
layEdit.menusfile, be aware of the following considerations:
Never edit the
layEdit.menusfile in the directoryDo not delete menu items or move pulldown menu items from one pulldown menu to another. Global menu item variables, referenced by other tools, assume menu items are on specific menus.
Do not reorder the layout editor banner menu items. Other tools might modify the layout editor menus and assume the items are in a specific order.
Do not add any menu items whose callbacks dynamically update other menu items.
Functionality to gray out unavailable commands is not included in the
layEdit.menusfile.Changing menu items in a pulldown will cause a mismatch with the Virtuoso Layout Editor User Guide documentation.
Additional Reference Files
To learn how to install a sample menu file, read the file
your_install_dir/tools/dfII/etc/tools/layout/menus.sampleFor more information about customizing layout editor files, read the file
your_install_dir/tools/dfII/etc/tools/layout/README_menus.txtFor general information about customizing menus, read the file
your_install_dir/tools/dfII/etc/tools/menus/README
Using the Display Options Form
The Display Options form controls the appearance of objects and the behavior of commands in this cellview.
Nets shows flight lines between objects on the same net. If your design contains many nets, your screen may turn white, causing the instTerms on top of the instance to not be seen. To see the instTerms, turn on Instance Pins and the flight lines will not display, allowing the instTerms to be seen.
Access Edges shows routing edges of pins.
Instance Pins shows pins in instances.
Array Icons shows outlines of array cells when Display Levels suppresses cell details.
Label Origins marks the origins of labels with diamond markers.
Dynamic Hilight marks the edge, object, or point that would be selected if a point selection were made. When Dynamic Hilight is on and your cellview contains a large number of objects, cursor motion may slow down. You can increase the cursor motion speed by turning this off.
Net Expressions displays the net expression instead of the terminal name of a pin. When there are net expressions in instances, the terminal name is displayed, not the net expression, even when Net Expressions is set on.
Stretch Handles displays the handles on a Relative Object Design parameterized cell (pcell) that indicate that the pcell can be stretched. A stretch handle is a named set of coordinates assigned to a specific parameter of the pcell. Stretch handles look like small diamonds. For information about stretchable pcells, see "Stretchable Parameterized Cells" in the Virtuoso Relative Object Design User Guide.
Axes displays the cellview X and Y axes.
Path Borders shows the border edges of paths. Turn it off to display only path centerlines.
Instance Origins marks cell instance origins with diamonds when you set Display Levels to show only instance outlines.
EIP Surround (edit-in-place) displays the surrounding design when you edit a cell in place.
Pin Names shows terminal names of pins that have pin name text displays.
Dot Pins displays the centers of dot pins with diamond markers.
Use True BBox when on, displays the instance master bounding box. When off, displays the cellview bounding box, which can cause large designs to open faster because masters are opened down to the display stop level only.
Cross Cursor displays the cursor as dot shaped or as dotted-line cross shaped.
Via Shapes displays via attributes. When Via Shapes is set to off (the default), vias are displayed as the bounding box of each via. When set to on via attributes are graphically displayed, resulting in detailed images. For large designs, setting via shapes to on will increase the amount of time it takes to render a design.
Show Name Of, when Display Levels is set to show only instance outlines, sets whether the instance name (for example, I1) or the master cell name appears on each instance.
Full displays all instances in the array.
Border displays only the instances around the outside edge of the array.
Source displays only the instance at the origin of the array.
Display Levels sets the first (From) and last (To) levels in the design hierarchy that can be seen in detail. The hierarchy levels are numbered 0 to 32. The top cellview is level 0, instances inside of it are level 1, and so forth.
Type controls the grid display.
none turns off the grid display.
dots displays a dot for each grid point.
lines makes a grid of lines, like a graph.
Minor Spacing and Major Spacing set the number of user units between the visible grid. Minor grid points are white, major grid points are green by default.
X Snap Spacing and Y Snap Spacing set the distance at which the cursor can snap between grid points along the X axis and the Y axis. This is your drawing grid.
Filter determines how much detail of a design is displayed in the cellview. The filter can affect how fast the screen redraws. A smaller filter size allows more objects to display, which can cause the screen to redraw more slowly. A larger filter size allows fewer objects to display, which can cause the screen to redraw faster and can be useful when redrawing large, dense designs.
Size controls the size of the objects that are filtered out. With a smaller filter, more of the design displays. When Size is set to
3, the default, objects smaller than 3 pixels are filtered; objects larger than 3 pixels are not filtered.Style controls how the filtered objects are displayed. Filtered objects appear either filled with their layer color, outlined with their layer color, or empty and nothing is displayed.
Snap Modes locks your cursor to the grid while drawing or editing.
Create controls how line segments snap to the grid as you create objects.
Edit controls how line segments of objects snap to the grid as you move or copy them and how edges or corners move as you stretch them.
Cellview specifies that you want to store, load, or delete the display settings to or from the cellview.
Library specifies that you want to store, load, or delete the display settings to or from the library of the edit cellview.
Tech Library specifies that you want to store, load, or delete the display settings to or from the technology library of the edit cellview.
File specifies the file to which you want to store or from which you want to load the settings.
Save To saves the current settings to either the cellview, library of the cellview, technology library of the cellview, or a specified file. If you are saving to a file, the settings from both the Layout Editor Options and Display Options forms are saved.
Load From sets the current settings to either the cellview, library of the cellview, the technology library of the cellview, or a specified file. If you saved to a file, the settings for both the Layout Editor Options and Display Options forms are loaded.
Delete From deletes the display settings that were saved to either the cellview, library of the cellview, or technology library of the cellview.
Setting Display Controls
In the Display Controls area of the form, you can choose what you want displayed.
Setting Which Design Objects Appear
You can control the display of nets, edges, pins, array icons, label and instance origins, axes, path borders, pin names, EIP (edit-in-place) Surround, and Dynamic Hilight.
To control which design objects or attributes appear,
The Display Options form appears.
Displaying Details or Outlines of Instances
You can control whether details inside of cell instances placed in a cellview appear.
To turn off instance detail, press
Control-fin the design window. This sets the display stop level to 0.To turn on instance detail, press
Shift-fin the design window. This sets the display stop level to 32.
Displaying a Particular Hierarchy Level
To choose which level in the design hierarchy is displayed,
The Display Options form appears.
Using the Set Area View Level Form
The Set Area View Level form lets you turn off detail in most areas of the cellview. This can speed screen redraw time when you are working on a complex design and want to see detail in only one portion of it.
About the Set Area View Level Form
To open the Set Area View Level form,
![]()
Choose Window - Area Display - Set. Display Levels specifies the first (From) and last (To) levels in the design hierarchy that can be seen in detail. The hierarchy levels are numbered 0 to 32. Shapes in the current cellview are at level 0, shapes in the masters of instances inside of it are level 1, and so forth.
Creating Detail Areas
To set the display detail for an area,
Choose Window - Area Display - Set.
The Set Area View Level form appears.
Removing Detail Areas
To remove one detail area at a time,
![]()
Choose Window - Area Display - Delete All.
Displaying Instance or Master Cell Names
When you suppress cell instance detail (press
Control-f), the Virtuoso Layout Editor displays one of the following for each instance:To choose what name you want displayed,
The Display Options form appears.
Displaying Details or Outlines of Arrays
You can adjust the display details of cell arrays.
The Display Options form appears.
Set the Array Icons, Array Display, and Display Levels fields as desired.
Array Samples
The following figures show sample settings for the display of arrays.
Setting the Visible Grid
By default, the cellview window shows a grid of dots. There are two different grids: the minor (small) grid and the major (large) grid.
Minor grid points are white and appear at every micron.
Major grid points are green by default and appear at every 5 microns.
The Display Options form appears.
Setting Filter Size and Style
You can control how much detail of a design is displayed in your cellview by adjusting the Filter Size and Style settings in the Display Options form. The filter can affect
A smaller filter size allows more objects to display, which can cause the screen to redraw more slowly. A larger filter size allows fewer objects to display, which can cause the screen to redraw faster and can be useful when redrawing large, dense designs. Instances smaller than
filterSizepixels are not opened and read in. As you zoom in, the instances become bigger thanfilterSize, and more cells are read in.You set Size to control the size of objects that are filtered out. When Size is set to
3.0, the default, objects smaller than 3 pixels do not display; objects larger than 3 pixels do display. See "Filter Settings Examples" for examples. You can toggle through filter sizes of 0.0, 3.0, 10.0, 25.0, and 50.0 by pressingF9. This overrides the filter size setting in the Display Options form.You set Style to determine how the objects are displayed. If an object is less than or equal to the filter size, it appears as one of the following:
Objects larger than the filter size do not change in appearance.
To change the Filter settings,
The Display Options form appears.
Filter Settings Examples
Setting the Snap Grid
The grid defines the points at which the cursor (the small square) snaps to the cellview or to objects. With the snap grid set to 0.5 microns, the cursor can snap to each visible grid point or halfway between each grid point.
For example, if your user units are microns, and you want to draw objects at 0.5 micron intervals, you set the spacing for the snap grid to 0.5 microns.
To set the grid, you set the X Snap Spacing (distance the cursor can move along the X axis) and the Y Snap Spacing (distance the cursor can move along the Y axis) fields. Setting X Snap Spacing and Y Snap Spacing to 0 produces the same result as turning the environment variable
snapToGridoff.Gravity has precedence over snap grid. Turn Gravity off while using snap grid.
Note: The snap grid is not the same as the visible grid in the cellview.
Setting the Snap Grid Spacing
The Display Options form appears.
Type the smallest distance you want between the points you enter along the X axis (X Snap Spacing) and Y axis (Y Snap Spacing).
Snapping the Cursor as You Edit
Snap Mode
The snap mode controls how the cursor locks to the grid as you create or edit objects.
The Copy, Move, and Stretch commands use the snap mode to control where you can move all or part of an object. The settings are shown below.
The Chop, Create Path, Create Pin, Create Polygon, Reshape, Ruler, Split, and Yank commands use the snap mode to control the shape of segments as you create or reshape objects. Snap Mode settings are illustrated below:
Setting the Default Snap Modes
The Display Options form appears.
Saving, Loading, and Deleting Display Settings
You can save, load, and delete the settings in the Display Options form to several locations. Saving the display settings lets people who work on the same design use the same display settings.
The display settings can be saved to the current cellview, library of the cellview, technology library of the cellview, or a specified file.
![]()
Choose Save To and either Cellview, Library, Tech Library, or File. To load the display settings, do one of the following,
To delete the display settings,
![]()
Choose Delete From and either Cellview, Library, or Tech Library.
Using the Layout Editor Options Form
The Layout Editor Options form controls command defaults.
Editor Controls
Repeat Commands sets all commands to automatically repeat, if you first select the command and then the object to edit. Does not affect commands if you first select an object, then the command.
Display Reference Point displays an asterisk (Q) on the current reference point.
Auto Set Reference Point automatically sets a reference point whenever you enter a new point. You use reference points to measure the distance between points you enter.
Recursion Check turns recursion checking on. Recursion checking prevents the creation of recursive hierarchy (where a cell has an instance of itself at some level) by commands such as Create Instance, Make Cell, and Search/Replace.
Maintain Connections turns on an automatic reconnection mode for pins and paths that have been separated during any editing activity that moves pins.
Sticky Net sets any object to retain the object's connectivity unless the property
lxStickyNetis set tonilor the object is deleted.Abut Server turns unabutment on and off. When on, unabutment automatically restores abutted devices, when moved apart, to their original configuration before abutment, which ensures that dropped contacts are restored when chained devices are moved apart and eliminates errors such as devices with no diffusion overlap on one side. When off, unabutment retains the abutted device configuration even when the device is unabutted.
Conic Sides sets the number of segments to use when you convert conics to polygons. The maximum number of sides is 2,047.
Gravity Controls
Gravity On sets the drawing cursor to automatically snap to objects in the cellview.
Types controls the type of objects or part of an object to which the cursor snaps.
Aperture sets the snap distance between the cursor and an object. When the cursor reaches the distance specified, the cursor snaps to the object.
Depth sets how many levels down in the hierarchy shapes are checked for cursor snapping.
Bounce X and Bounce Y set the gravity offset in user units. Use this feature when you want the cursor to snap a fixed distance from objects. You can set a positive or negative bounce value. A positive bounce value makes the cursor snap the set distance outside the selected object. A negative bounce value makes the cursor snap the set distance inside the selected object.
File specifies the file you want to save to or load from.
Save To saves the current setting from the Layout Editor Options and Display Options forms to the file specified in the File field.
Load From sets the Layout Editor Options and Display Options forms settings to the values saved in the specified file.
Using Editor Controls
In the Editor Controls area of the form, you choose what options you want to set.
Sets whether or not to reconnect paths to pins that are moved.
Using Reference Points
Reference points help you measure the exact distance between objects or line segments as you enter points. Each point you click when creating objects; editing objects; or placing a contact, label, or cell instance becomes the reference point for the next point you enter.
To measure objects from the reference point, look at the coordinate readout at the top of the layout cellview.
Shows the difference between the reference point coordinates and cursor location.
Displaying Reference Points
You can set the Virtuoso Layout Editor to display the reference point as a bold asterisk in your layout window.
The Layout Editor Options form appears. Set Display Reference Point on.
Setting the Reference Point Manually
You can set the reference point to a particular point without using menu commands.
To set a reference point manually,
Setting a Stationary Reference Point
You can set the layout editor so that the reference point does not change. This way you can create or place several objects using a single reference point.
To set a stationary reference point,
Set a reference point by entering it while creating objects, or by using the
Add(+) key.Choose Options - Layout Editor.
The Layout Editor Options form appears.
Preserving Pin-Path Connections
Maintain Connections
To set the Virtuoso Layout Editor to automatically reconnect paths to pin connections that are broken during any pin editing activity, use the Maintain Connections option in the Layout Editor Options form.
Maintain Connections is a background process that monitors the connectivity of pins that abut or overlap path ends on the same layer. When any editing activity causes the pin to move away from the path end, Maintain Connections automatically modifies the path so that it remains connected to the pin.
Maintain Connections searches all instances in the top cellview to find all the pins, then finds all the overlapping paths associated with each pin to check for broken connections. If the top level design contains many instances and each instance contains many pins, opening a design can become more time consuming. When you open large designs, you should set Maintain Connections to off. See Setting Maintain Connections to Off.
Editing activities that can cause a pin to change location include
Moving or stretching an instance containing a pin
Editing pin properties (changing the pin shape or pin location)
Changing pcell parameters
The Maintain Connections option operates on pins and paths with these characteristics:
The pin and the path are on the same or equivalent layer and have the same layer purpose.
The path end overlaps or abuts the pin.
The pin is rectangular, either shape or symbolic pins.
If the pin is an instance, it must be placed at the same level as the path.
If the pin and path are ROD objects, they cannot be aligned.
Starting Maintain Connections
To start Maintain Connections,
![]()
Do one of the following:
Press
F6to toggle Maintain Connections on and off.In the Layout Editor Options form, set Maintain Connections on.
Setting Maintain Connections to Off
To set Maintain Connections to off,
![]()
Do one of the following:
Press
F6to toggle Maintain Connections on and off.In the Layout Editor Options form, set Maintain Connections to off.
Using Maintain Connections
One way to see the effects of Maintain Connections is to change the parameters of an instance that contains pin-path connections on the same layer. After you change the parameters, the instance changes shape to the new value, and the path and pin retain their connectivity.
Choose Edit - Properties.
Limitations
Maintain Connections does not retain connectivity in the following relationships:
Pin-to-pin connections
Pins placed in the middle of paths
Aligned ROD objects
Moving instance
IBcauses the whole ROD path to move. The aligned path does not stretch, so moving instanceIBbreaks the electrical connection between the two pins
Using the Gravity Controls
In the Gravity Controls form, you choose how you want gravity to operate.
Set the distance the cursor must be within before gravity snaps the cursor.
Set how far down in the hierarchy to look for objects to snap to.
Setting Gravity On and Off
You can use gravity to set the cursor (the small square) to snap to objects as you create them. This helps you create the edge of one object flush with another.
![]()
Do one of the following:
Press
gto toggle gravity on and off.Set Gravity On in the Layout Editor Options form and click OK.
The cursor does not snap to objects on layers set to be unselectable in the Layer Selection Window (LSW).
Setting the Gravity Distance (Aperture)
Aperture is a specific area around the cursor. When objects appear within that area, the cursor snaps to them if those objects are assigned as gravity types in the Types field of the Layout Editor form. By default, the cursor must be within 0.3 user units of an object before gravity snaps the cursor to the object. You can change this default.
Choose Options - Layout Editor.
The Layout Editor Options form appears.
Snapping the Cursor to Specific Objects
You can set the cursor to snap to specific objects.
To snap the cursor to objects,
Choose Options - Layout Editor.
The Layout Editor Options form appears.
In the Types section, turn on the types you want the cursor to snap to.
Here is what happens when you create a path with gravity set to snap to path centerlines:
Note: The cursor does not snap to an object if doing so conflicts with the snap mode that controls the shape of the object.
Gravity Types in Order of Precedence
The cursor snaps to objects that appear within the aperture in the following order of precedence, from highest to lowest:
These conditions affect gravity precedence:
Instances are examined for the bounding box as well as for pins at depth +1 level down the hierarchy.
Only edges of rectangular pins with access direction set are considered pins, otherwise the edge is treated just as an edge.
End applies only to shapes with width, like a path. Vertex is enhanced for shapes that have width. If the point is closer than a width away, the point snaps to the vertex or end.
When none of these conditions applies, the cursor snaps to the closest edge; centerline is considered a special path edge.
Snapping the Cursor to Objects on Specific Layers
The cursor snaps only to objects on layers set to be selectable.
To toggle whether a layer is selectable or unselectable,
![]()
Click right on that layer in the Layer Selection Window (LSW). Here is what happens when you set gravity to snap to path centerlines and set only the metal1 layer to be selectable.
Snapping the Cursor to Objects in Instances
You often create objects in the current cellview that align with objects in cell instances. To help you align what you create, you can set the cursor so it snaps to objects inside of instances.
To snap the cursor to objects in instances,
Choose Options - Layout Editor.
The Layout Editor Options form appears.
Setting a Snap Offset (Bounce)
Many times, you want to create objects that must be a certain distance from other objects. You can set an offset distance to make the cursor snap that distance away from other objects. You can set a positive or negative bounce value. A positive bounce value makes the cursor snap the set distance outside the selected object. A negative bounce value makes the cursor snap the set distance inside the selected object.
Note: Bounce works only if the environment variable
applyBounceis set toT. See the Environment Variable Table in the Appendix B of this manual for more information.
Choose Options - Layout Editor.
The Layout Editor Options form appears.
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