Editing Objects
This chapter contains these topics about the Virtuoso® Layout Editor:
How Editing Commands Work with ROD Objects
Deleting Objects, Edges, or Corners
Selecting and Deselecting Objects
Adding or Removing Levels of Hierarchy
Using the Modify Corner Command
Splitting and Stretching Objects
Attaching and Detaching Objects
How Editing Commands Work with ROD Objects
The following tables summarize the level of support for how editing commands work on relative object design (ROD) objects in the current release.
Using commands that are not fully supported for ROD objects could cause the objects to lose the ROD information associated with them, changing the objects into ordinary shapes. For information about relative object design, see the Virtuoso Relative Object Design User Guide.
Undo u
Redo U
Move m
Moving ROD objects is supported as follows:
You can move a ROD object within the same cellview or to another cellview.
Within the same cellview, moving a ROD object that has other objects aligned to it causes the aligned objects to move as well.
When you move a ROD object between cellviews, and the ROD object is aligned to another ROD object(s), the system preserves alignment only when the aligned ROD object(s) is also in the selected set; otherwise the alignment is broken.
Avoid rotating aligned ROD objects during a move because the aligned handle names are not updated after the move, so the results might not be what you want.
Copy c
Copying ROD objects is supported as follows:
You can copy a ROD object within the same cellview or to another cellview. The system automatically assigns unique names to the copies.
Alignments between ROD objects in the selected set result in alignments between the corresponding copy objects.
Alignments to objects not in the selected set are ignored.
You can copy a whole multipart path (MPP) or a whole multipart rectangle (MPR), but not an individual subpart of an MPP.
Stretch s
The Stretch command fully supports ROD objects including stretchable parameterized cell (pcells).
Reshape R
Except for multipart paths and multipart rectangles, all reshapable ROD objects remain ROD objects after a reshape operation.
When you reshape any ROD object, all alignments to that object are deleted.
Delete del
The Delete command fully supports ROD objects.
When you delete using the Net Interconnect option, all ROD objects on the selected net are deleted, except for pins. For multipart paths (MPP) and multipart rectangles (MPR), when the master path or master rectangle is on the selected net, the MPP or MPR and all subparts are deleted; otherwise, no part of the MPP or MPR is deleted.
When you delete a segment of an MPP with the Path Segment option, the remaining segments of the MPP become two separate multipart paths, each with its own name.
Properties ...q
Search ...S
You can search for ROD names on labels, paths, polygons, rectangles, any shape and text display objects.
Merge...M
The Merge command is not supported for ROD objects. When ROD objects are merged, the resulting shape is not a ROD object.
Select - Select All ^a
Select - Deselect All ^d
Hierarchy - Make Cell...
Hierarchy - Flatten
The Flatten command fully supports ROD objects.
To preserve the attributes of ROD objects (such as object name, alignments, multipart path subparts, multipart rectangle subrectangles, and master rectangles in multipart rectangles), click the Preserve ROD Objects button in the Flatten form. When this option is off, ROD objects become ordinary unnamed objects, the subparts of multipart paths become ordinary paths and rectangles, the master rectangles in multipart rectangles become ordinary, unnamed rectangles, and the subrectangles of multipart rectangles become ordinary rectangles.
The system assigns the flattened object a name based on the hierarchical name of the ROD object by replacing slashes with dashes. For example, when you flatten the ROD object
I1/I4/rect3, the resulting object is namedI1-I4-rect3.Other - Chop C
Most shapes lose ROD attributes when they are chopped. For multipart paths, the effect of a chop depends on what parts are choppable and how you chop them. For details, see "How Chopping Affects Multipart Paths" in the Virtuoso Layout Editor User Guide.
When you chop the master rectangle of a multipart rectangle, all subrectangles are deleted and the shapes resulting from chopping the master rectangle are regular, unnamed database shapes.
When you chop any ROD object, all alignments to that object are deleted.
Other - Modify Corner...
The Modify Corner command supports ROD polygons and ROD rectangles, except for master rectangles that are a part of a multipart rectangle.
Other - Size...
The Size command supports ROD objects. However, when you size a multipart path (MPP), the master path becomes a ROD polygon and inherits its name from the original MPP; all subparts become ordinary, unnamed database shapes.
When you size any ROD object, all alignments to that object are deleted.
Other - Split ^s
Except for ellipses, circles, donuts, multipart paths, and multipart rectangles, ROD objects remain ROD objects after a split operation.
When you split any ROD object, all alignments to that object are deleted.
Other - Attach/Detach v
Other - Convert to Polygon
The Convert To Polygon command fully supports ROD objects, except for rectangles and multipart rectangles. The Convert To Polygon command has no affect on rectangles and multipart rectangles.
When you convert a multipart path, the polygon resulting from the master path is a ROD object and takes the name of the multipart path. Subparts, if any, become unnamed, ordinary database shapes (paths and rectangles). Subparts are not converted to polygons.
When you convert any ROD object (except rectangles and multipart rectangles) to a polygon, all alignments to the converted object are deleted.
Other - Move Origin
Other - Rotate... O
With the exception of multipart rectangles, the Rotate command supports the rotation of ROD objects, unless there are alignments. Avoid rotating aligned ROD objects because aligned handle names are not updated after the rotation, so the results might not be what you want.
For multipart rectangles with subrectangles offset from the master rectangle corners, avoid rotation unless the offsets are all equal. The Rotate command does not rotate these offsets.
Do not rotate chopped multipart paths as the chop holes might not rotate correctly. If you want to chop and rotate an MPP, rotate the MPP first, then chop it.
Other - Yank y
The Yank command does not support ROD objects. The Yank command copies only the shapes, but not the names of the shapes or the alignments. When you paste, the result is unnamed, unaligned, non-ROD shapes.
Other - Paste Y
The Paste command does not support ROD objects. If you yank and paste ROD objects, the result is unnamed, unaligned, non-ROD shapes.
Using the Move Command
The Move command lets you move an object to another location in this or another cellview.
When you move ROD objects, multipart paths, and multipart rectangles into a new cellview, all of the data remains intact. If the multipart path is chopped, that data also moves with it. The ROD objects, multipart paths, and multipart rectangles are renamed if there are objects with similar names in the new cellview. To retain alignments, each of the aligned objects must be part of the selected set to be moved. Avoid rotating aligned ROD objects during a move.
For more information about moving ROD objects, see "How Editing Commands Work with ROD Objects"
About the Move Form
![]()
Do one of the following:
Choose Edit - Move.
Press
m.
Click on the move icon in the icon menu.
Snap Mode controls the direction in which you can move the object.
Change To Layer lets you move an object to another layer.
Delta X and Y lets you specify the number of user units to move the point of origin of an object on the X and/or Y axes.
Apply XY moves the origin point of the selected object as specified in the Delta X and Delta Y fields.
Rotate turns the object 90 degrees counterclockwise.
Sideways mirrors the object along the X axis.
Upside Down mirrors the object along the Y axis.
Moving Objects by Direct Manipulation
You can move objects by selecting and dragging them.
Press the left mouse button at the reference point for the move (the point from which the move starts) and drag the pointer to the destination point.
Moving Objects with the Move Command
To move objects using the Move command,
3. Click where you want to move the objects.
Moving or Copying Objects to Another Layer
To move or copy objects to another layer,
Moving Objects to Another Cellview
To move objects to another open cellview,
Select the objects you want to move.
The Move form appears.
Moving Multipart Rectangles
When you move a multipart rectangle within a cellview, the master rectangle and all of its associated arrays of subrectangles move together. You cannot move a master rectangle separately from its associated subrectangles, nor can you move subrectangles separately from their master rectangle.
When you move a multipart rectangle that has objects aligned to it, the objects move to stay in alignment with the multipart rectangle.
In full selection mode, choose the multipart rectangle by clicking on the master rectangle or any subpart.
The multipart rectangle and all objects aligned to it appear in the new location.
Moving Multipart Paths
When you move a multipart path within a cellview, its master path and subparts move together. You cannot move the master path separately from its subparts, nor can you move subparts separately from the master path.
When you move a multipart path that has objects aligned to it, the objects move to stay in alignment with the multipart path.
In full selection mode, choose the multipart path by clicking on the master path or any subpart.
The multipart path and all objects aligned to it appear in the new location.
How Moving Affects Multipart Paths with Aligned Objects
When you move a multipart path, any objects aligned to the multipart path move with it. To retain alignments when you move a multipart path to a new cellview, all objects aligned with the multipart path must be part of the selected set. If aligned objects are not selected, they will not be moved and the alignments will be broken.
In the example below, the multipart path
path1is the reference object. ContactBin instancenTrans1is aligned topath1, with a separation of -10 units in the direction of the X axis. Therefore,nTrans1behaves as if it is aligned topath1. When you movepath1,nTrans1moves with it.The system automatically recalculates the alignment of objects when you open a layout cellview in edit mode or edit an aligned object in any way.
For an overview of relative object design alignment, see "Aligning Named Objects" in the Virtuoso Relative Object Design User Guide.
For multipart paths, see "Multipart Paths" and the
rodCreatePathfunction in the Virtuoso Relative Object Design User Guide.
Using the Copy Command
The Copy command lets you place a copy of an object in a cellview.
You can copy ROD objects within the same cellview or to another cellview. The system automatically assigns unique names to the copies. For further information about copying ROD objects see, "How Editing Commands Work with ROD Objects".
To copy parts of objects or groups of objects see "Yanking and Pasting".
About the Copy Form
![]()
Do one of the following:
Choose Edit - Copy.
Press
c.
Click on the copy icon in the icon menu.
Snap Mode controls the direction in which you can move the copied object.
Rows and Columns let you create an array of copied objects. You enter the number of rows and columns in the array. The array of copied objects can be placed only in the original cellview; it cannot be copied to another cellview.
Change To Layer lets you copy an object to another layer.
Delta X and Y lets you specify the number of user units the object will move on the X and/or Y axes relative to its point of origin when it is copied.
Apply XY copies the origin point of the selected object as specified in the Delta X and Delta Y fields.
Rotate turns the object 90 degrees counterclockwise each time it is pressed.
Sideways mirrors the object along the X axis.
Upside Down mirrors the object along the Y axis.
Copying Objects
Select one or more objects.
3. Click where you want to move the copies.
Copying Objects to Another Cellview
To copy objects to another open cellview,
Select the objects you want to copy.
Note: You cannot use the Array fields in the Copy form to create and copy an array of copied objects from one cellview to another. Only the original objects you selected are copied to the next cellview even if you have typed numbers in the Rows and Columns fields.
Creating an Array of Copies
You can create an array of copied objects. This array is flat, meaning all objects in it can be selected individually. The array of copied objects can be placed only in the original cellview; it cannot be copied to another cellview.
Open the Copy form.
In the Rows and Columns fields, type the number of rows and columns you want in the array.
Note: You cannot use the Copy command to copy arrays from one cellview to another.
Stretching Objects
The Stretch command lets you stretch an edge or corner of an object.
About the Stretch Form
![]()
Do one of the following:
Choose Edit - Stretch.
Press
s.
Click on the stretch icon in the icon menu.
Snap Mode controls the direction in which you can stretch an edge.
Lock Angles prevents you from changing the angle of a corner or edge as you stretch it.
Delta X and Y lets you specify the number of user units the object will stretch on the X and/or Y axes relative to its point of origin.
Apply XY stretches the origin point of the selected object as specified in the Delta X and Delta Y fields.
Stretching Objects by Direct Manipulation
You can stretch objects by selecting and dragging their edges or corners.
Note: You cannot use Stretch to delete objects. If you try to stretch an object to a zero area, a warning appears in the Command Interpreter Window (CIW) and a dialog box opens stating the shape was not modified because it would be illegal.
Stretching with the Stretch Command
You can use the Stretch command to stretch objects.
Select the edges or corners you want to stretch.
In partial selection mode, if you press
Shiftand click on an edge or corner, that edge or corner is the reference point for the stretch.If you create a selection box around the edges, Stretch prompts you for a reference point. The reference point does not have to be on the selected shapes.
Changing the Angle of Corners
To change the angle of a corner by stretching,
The Stretch form appears.
Note: If you create a nonorthogonal segment while stretching the corner of a multipart path, subrectangles cannot regenerate in that particular segment. (Subpaths can and will regenerate.)
Stretching and Moving Objects
You can simultaneously stretch and move objects. This is often called a window stretch.
The Stretch form appears.
Press
Shiftand create a selection box around the objects you want to move and the edges you want to stretch.
Stretching Paths
You can stretch the ends, segments, and/or corners of a path. You stretch ends and corners in the same way you stretch any other object. To stretch segments, you need to select the path centerline in the segment(s) you want to stretch.
For multiple segments, to add another segment, press
Shiftand click or create a selection box around the centerline of the segments, making sure to include the ends of the segment centerlines.
Stretching Multipart Rectangles
You can stretch the edges and/or corners of a master rectangle of a multipart rectangle in the same way you stretch regular rectangles, click on an edge or corner, then click at a new location. The system regenerates the arrays of subrectangles associated with the stretched master rectangle. How the subrectangles regenerate depends on the definition of the multipart rectangle. You cannot stretch a master rectangle separately from its associated arrays of subrectangles, nor can you stretch an array of subrectangles separately from its master rectangle.
For information about defining multipart rectangles, see "Multipart Rectangles" and the
rodCreateRectfunction in the Virtuoso Relative Object Design User Guide.To stretch an edge of multipart rectangle,
Stretching Multipart Paths
You can stretch the ends, segments, and/or corners of a multipart path in the same way you stretch single-part paths; the master path and its subparts stretch together. You cannot stretch the master path separately from its subparts, nor can you stretch subparts (except chopped subpaths) separately from the master path.
If you attempt to stretch a subpart, the system applies the stretch to the whole multipart path. The only exception is that you can stretch the chopped ends of subpaths. When you stretch a chopped subpath, all other chopped subparts are stretched also.
Note: You cannot directly select a set of subrectangles, but selecting and stretching the chopped end of a subpath causes all chopped parts in the multipart path to be regenerated, including chopped sets of subrectangles. The system regenerates subrectangles along orthogonal segments only.
To stretch one segment in a multipart path,
Create a selection box around the centerline of a segment.
Stretching Chopped Subpath Ends in Multipart Paths
You can select and stretch the ends of chopped subpaths in a multipart path. You might want to do this to reconnect the ends. When you stretch the chopped end(s) of one or more subpaths, all chopped subparts stretch with the selected subpath(s).
Note: You cannot directly select a set of subrectangles, but selecting and stretching the chopped end of a subpath causes all chopped parts in the multipart path to be regenerated, including chopped sets of subrectangles. The system regenerates subrectangles along orthogonal segments only.
To stretch the chopped end of a subpath,
Select the same chopped subpath end, and point to select the new location so that it overlaps the other chopped subpath end.
Adding a Jog to Several Paths (a Bus)
You can add a jog to several paths (a bus) so that it wraps around an object by splitting a section of the paths and stretching the split section.
Select all paths and connected objects you want to stretch.
The path segments are stretched. Also, these other objects move:
Any objects attached to the segments (such as contacts) that have been selected
Any objects not recognized by the Split command (instances, labels, mosaics, bends, and tapers) but attached to the path, if they have been selected
Objects aligned to a multipart path you stretch stay in alignment, even if you did not select them
Adding a Jog to Multipart Paths
You can add a jog to a section of a multipart path in the same way you add a jog to single-part paths; the jog affects the master path and all of its subparts. You might want to split and stretch a multipart path to direct it around an object or to add new connecting segments.
Any objects aligned with or attached to the part of the multipart path that moves, move with the stretch. You can split paths only in full selection mode.
Note: You cannot split or stretch the master path separately from its subparts, nor can you split or stretch subparts separately from the master path. If you attempt to split a subpart, the system applies the split to the whole multipart path.
To stretch a section of a multipart path segment,
Split prompts you to draw a split line by clicking on points. To define the section you want to stretch, your split line must cross the centerline of the master path in two places.
To create a split line, click on four points as shown below, then press
Returnto end the split line.
Split prompts you for a reference point.
Split prompts you for the new location for the stretch.
An outline of the segment shows you the position of the stretch.
Using Split to Add Any-Angle Segments to Paths
As you stretch path segments, you can change the angle of the segments.
To stretch path segments to any angle,
Open the Split form.
For multipart paths, see "Multipart Paths" and the
rodCreatePathfunction in the Virtuoso Relative Object Design User Guide.
Reshaping Objects
The Reshape command lets you change the shape of a selected object.
About the Reshape Form
![]()
Do one of the following: Reshape Type sets the geometry to use for reshaping a selected object.
rectangle lets you add or remove a rectangle shape.
line lets you add a polygon to a shape or reshape a path. Only line can be used to reshape a path.
Snap Mode controls the shape of line segments; applies only when Reshape Type is set to line.
Reshaping Polygons
Choose Edit - Reshape [
Shift-r].
The Reshape form appears.
Click right to toggle between highlighting the new shape and highlighting both the old and new shape.
Adding a Rectangle to a Polygon
To add a rectangle to a polygon,
Choose Edit - Reshape [
Shift-r].
The Reshape form appears.
Double-click middle to display the Reshape form. The Reshape form appears.
Click right to toggle between highlighting the new shape and highlighting both the old and new shape.
Reshaping a Path
Choose Edit - Reshape [
Shift-r].
The Reshape form appears.
Starting from the centerline, create the new section of the path.
Reshaping a Multipart Path
You can reshape a segment of a multipart path in the same way you reshape a segment of a single-part path; however, you must start the reshaped segment on the master path centerline.
The master path and its subparts reshape together. You cannot reshape the master path separately from its subparts, nor can you reshape subparts separately from the master path.
To reshape one segment in a multipart path,
Choose Edit - Reshape [
Shift-r].
The Reshape form appears.
Click on the centerline of the master path to enter the first point.
For multipart paths, see "Multipart Paths" and the
rodCreatePathfunction in the Virtuoso Relative Object Design User Guide.
Deleting Objects, Edges, or Corners
Choose the objects, edges, or corners you want to delete.
Press
Delete.
Click on the delete icon in the icon menu.
Note: You cannot delete a point if it changes the shape so that the shape becomes invalid. For example, a path must have at least two points; if you try to delete one point of a two-point path, you see a warning dialog box. You must close the dialog box and choose a different point to delete.
Canceling Delete
If you discover you deleted the wrong object,
![]()
Choose Edit - Undo [ u] to restore the object.Delete automatically repeats if you select the Delete command first and then choose objects.
![]()
If delete automatically repeats, press Escapeto cancel the command.
About the Delete Form
Net Interconnect deletes any selected paths, instances that are vias, and all non-pin shapes on the net. Pins, component connections (instTerms), and the net is not deleted.
Selected deletes any selected objects.
Path Segment deletes any selected objects in partial select mode only, and can be used to delete sections of a path while retaining path connectivity.
Merging Objects on a Layer
You can merge one or more objects created on the same layer into one object. This is sometimes referred to as performing a logical AND on the objects.
Note: When ROD objects are merged, the resulting shape is not a ROD object.
Select one or more objects on the same layer. The objects must touch or overlap each other.
How Merging Converts Objects
When you merge objects using Merge or Layer Generation, most merged objects are converted to polygons. If you merge a group of polygons and paths with Merge, the resulting object is a polygon.
However, when you merge paths of the same width abutting each other, they will merge into a single path. When you merge overlapping paths, they will merge into a polygon or rectangle.
Overlapping or abutting rectangles of the same width adjoining end to end merge into rectangles.
When you merge objects, the resulting polygon should not have more than 2,047 points (vertexes).
Note: When ROD objects are merged, the resulting shape is not a ROD object
Selecting and Deselecting Objects
Selecting Objects
There are two selection modes: full and partial. In full selection mode, you can select an entire object. In partial selection mode, you can select entire objects, edges, or corners of objects. Press
F4to toggle the selection mode. The selection mode is displayed in the status banner.
Selecting an Object or Edge
Selecting a Group of Objects
You can select a group of objects by creating a selection box around them. This is sometimes referred to as window selection.
Selecting Objects Under One Selection Point
You can select individual objects that are stacked under one selection point by pressing
Control-y. The objects must be overlapping under the selection point and as you pressControl-y, each object is highlighted as the selection process cycles through the stack of objects.
Selecting a Group of Edges
By default, when you select objects by creating a selection box, you select only whole objects. You can set the editor to select a group of edges and corners by turning on partial selection.
The status banner shows you are in partial selection mode.
Selecting Multipart Rectangles
A multipart rectangle is a single object composed of multiple parts on the same or different layers. The parts consist of one or more named master rectangles and one or more arrays of unnamed subrectangles. Each named master rectangle is a separate object with ROD attributes, created at level zero in the hierarchy. Each unnamed subrectangle is an ordinary, unnamed database shape with no ROD attributes, created at level zero in the hierarchy.
The multipart rectangle below has one master rectangle and two arrays of subrectangles. Both arrays of subrectangles are offset from the master rectangle.
Selecting a master rectangle of a multipart rectangle is similar to selecting a regular rectangle: you point and click or create a selection box in a similar manner.
In full selection mode, when you select any part of a master rectangle or its associated subrectangles, the whole master rectangle and all of its subrectangles are selected. The master rectangle is highlighted on the current selection layer, while the associated arrays of subrectangles are highlighted on different layers. This lets you see which part is the master and which parts are subrectangles.
In partial selection mode (press
F4), you can select an edge or vertex of a master rectangle.For more information about multipart rectangles, see "Multipart Rectangles" and the
rodCreateRectfunction in the Virtuoso Relative Object Design User Guide.
Selecting a Whole Path
![]()
Do one of the following:
In full or partial selection mode, create a selection box around the whole path.
Selecting Path Ends
![]()
Do one of the following:
In partial selection mode, create a selection box around an end of the path.
Selecting Path Segments
To select a single path segment,
![]()
Do one of the following:
In partial selection mode, create a selection box around a segment. Make sure both end points of the segment centerline are inside the box.
To select more than one path segment,
![]()
Do one of the following:
In partial selection mode, create a selection box around multiple segments. Make sure the end points of each segment centerline are inside the box.
Selecting a Path Vertex
A vertex is a point on the path centerline where two segments join.
![]()
Do one of the following:
In partial selection mode, create a selection box around the vertex.
Selecting Multipart Paths
A multipart path is a single object composed of multiple parts on the same or different layers. The parts are a single master path and one or more subparts. The master path is the primary part; subparts exist in relation to the master path. A subpart can be an offset subpath, an enclosure subpath, or a set of subrectangles. Individual subrectangles are not individual shapes but are part of a specific set of subrectangles.
The multipart path below has one subpath and one set of subrectangles. Both the subpath and the set of subrectangles are offset from the master path.
Selecting multipart paths is similar to selecting regular paths: you point and click or create a selection box in a similar manner. In general, you cannot select subparts separately from the master path; however, you can select the chopped end of subpaths to stretch them.
In full selection mode, when you select any part of a multipart path, the whole multipart path is selected. The master path is highlighted on the current selection layer, while subparts are highlighted on a different layer. This lets you see which part is the master path and which parts are subparts.
In partial selection mode (press F4), you can select an end, segment, or vertex of the master path.
In partial selection mode, you can select the chopped end(s) of one or more subpath(s) and stretch them. When you stretch a chopped subpath, all other choppable subparts are stretched also.
Note: You cannot directly select a set of subrectangles, but selecting and stretching the chopped end of a subpath causes all chopped parts in the multipart path to be regenerated, including chopped sets of subrectangles. The system regenerates subrectangles along orthogonal segments only.
Selecting a Whole Multipart Path
In full selection mode, selecting multipart paths is similar to selecting regular paths. When you select any part of a multipart path, the whole multipart path is selected. The master path is highlighted on the current selection layer, while subparts are highlighted on a different layer. This lets you see which part is the master path and which parts are subparts.
To select a whole multipart path,
![]()
Do one of the following:
In full selection mode, create a selection box around any part of the multipart path.
Selecting Multipart Path Ends
In partial selection mode, you can select an end of a master path in a multipart path. You cannot select the end of a subpart, except for chopped subpath ends. If you attempt to select the non-chopped end of a subpart, the nearest end of the master path is selected.
To select an end of a master path,
![]()
Do one of the following:
In partial selection mode, create a selection box around an end of the master path or around an end of a subpath.
Note: Even in partial selection mode, if you select one or more whole subrectangles, the whole MPP is selected.
Selecting Chopped Subpath Ends in Multipart Paths
In partial selection mode, you can select the end(s) of one or more chopped subpaths in a multipart path and stretch them.
Note: You cannot directly select a set of subrectangles, but selecting and stretching the chopped end of a subpath causes all chopped parts in the multipart path to be regenerated, including chopped sets of subrectangles. The system regenerates subrectangles along orthogonal segments only.
For example, to select the end of one chopped subpath,
![]()
Do one of the following:
In partial selection mode, create a selection box around the chopped end of a subpath.
Selecting Multipart Path Segments
In partial selection mode, you can select one or more segments of the master path in a multipart path. You cannot select segments of a subpart. If you attempt to select a subpart segment, the nearest segment of the master path is selected.
Note: In partial selection mode, if you click on the edge of a subrectangle, the nearest master path segment is selected.
To select a single master path segment,
![]()
Do one of the following:
In partial selection mode, create a selection box around a master path or subpath segment. Make sure both end points of the segment centerline are inside the box.
To select more than one master path segment,
![]()
Do one of the following:
In partial selection mode, create a selection box around multiple master path or subpath segments. Make sure the end points of each segment centerline are inside the box.
In partial selection mode, point to the middle of the centerline in a master path or subpath segment and click. Press
Shiftand click to select additional segments.
Selecting a Multipart Path Vertex
For multipart paths, a vertex is a point on the master path centerline where two segments join. You can select a vertex of the master path in a multipart path. To do so, you either select the master path vertex directly or select the nearest vertex of a subpath.
To select a vertex of the master path,
![]()
Do one of the following:
In partial selection mode, create a selection box around a vertex on the centerline of a master path or subpath.
For more information about multipart paths, see "Multipart Paths" and the
rodCreatePathfunction in the Virtuoso Relative Object Design User Guide.
Deselecting Objects
You deselect objects almost the same way you select objects, except you press
Controlas you click on an object, corner, or edge.Here is a quick reference to all of the ways you can deselect objects.
Click on an empty portion of the design, or press
Control-d, or choose Edit - Select - Deselect All.Press
Controland click and drag to create a deselection box around the objects.
Pre- and Postselection of Objects
You can select objects either before or after you start a command.
If you select the object before starting the command (preselect),
Editing commands do not automatically repeat, even if repeat mode is set on
Some editing commands prompt you for a starting point, called the reference point, for the edit
If you select the command and then the object (postselect),
Editing commands automatically repeat if repeat mode is on (the default)
Editing commands do not necessarily prompt you for a reference point. If you click to select the first object, the editor uses that point as the reference point.
Making Objects Selectable or Unselectable
You can use the Layer Selection Window to set whether instances, pins, or objects created on specific layers are selectable or unselectable.
Adding or Removing Levels of Hierarchy
You can copy selected objects in the current cellview into a new cell with the Virtuoso® Layout Editor.
About the Make Cell Form
![]()
Choose Edit - Hierarchy - Make Cell. Library sets the library in which to create the new cell.
Cell sets the name of the new cell.
View sets the view name of the new cell.
Replace Figures replaces the selected objects in this cellview with an instance of the new cell.
Browse lets you select the library, cell, and view names by clicking on them in the browser.
Creating a Cell from the Selected Set
To create a cell from objects in your layout,
Select the objects you want to place into a new cell.
In the Make Cell form, do one of the following:
Flattening Instances
The Flatten command moves the contents of a cell or array up one or more levels in the hierarchy.
When a ROD object is flattened, the system assigns the flattened object a name based on the hierarchical name of the ROD object by replacing slashes with dashes. For example, when you flatten ROD object
I1/I4/rect3, the resulting object is namedI1-I4-rect3.
About the Flatten Form
![]()
Choose Edit - Hierarchy - Flatten. Flatten Mode controls the number of design hierarchy levels that are flattened. You can move an instance up one level or move the contents of all displayed instances up to the current cellview level.
Flatten Pcells flattens any selected parameterized cells.
Preserve Pins preserves the connectivity information of flattened pins.
Preserve ROD Objects preserves the attributes of ROD objects (such as object name, alignments, multipart path subparts, multipart rectangles and subrectangles) when an instance is flattened. The default is off. When this option is off, ROD objects become ordinary unnamed objects, the subparts of multipart paths become ordinary paths and rectangles, the master rectangles in multipart rectangles become ordinary, unnamed rectangles, and the subrectangles of multipart rectangles become ordinary rectangles.
Removing Hierarchy (Flattening Instances)
You can move the contents of an instance up into the current cellview. This is often called flattening an instance.
To display the detail in all instances you want to flatten,
The Display Options form appears.
Set Display Controls to display the detail in all instances you want to flatten.
Set the Flatten Mode to flatten one or all levels of hierarchy.
Copying and Cutting Through the Hierarchy
Yank and Paste can cut and copy all or part of instances and shapes in a designated area.
To copy parts of cell instances,
The Display Options form appears.
Set Display Controls to display the detail in all instances you want to copy.
Choose Edit - Other - Yank [
y].
The Yank form appears.
Click and drag to create a box around the area you want to yank.
Cutting Objects
The Chop command lets you cut away part of an object or cut an object into pieces.
About the Chop Form
![]()
Do one of the following: Chop Shape controls the shape you want to use as the cutter. If Chop Shape is set to line, Remove Chop has no effect.
Remove Chop removes the part of the object enclosed by Chop Shape.
Snap Mode controls the shape of polygon or line segments. Snap Mode applies only when Chop Shape is set to polygon or line.
Chopping an Object
To cut away part of an object,
Select one or more objects.
In the Chop form, set Chop Shape to rectangle.
Splitting an Object into Pieces
To split an object into multiple pieces,
Select one or more objects.
In the Chop form, set Chop Shape to line.
Note: You can also split an object by turning off the Remove Chop option in the Chop form and using a rectangle or polygon chop shape. This saves both the area you cut and the original objects.
How Chopping Converts Objects to Polygons
When you cut or split any object using Chop, the object might be converted to a polygon depending on the Chop Shape and Snap Mode chosen in the Chop form.
For example, if you cut a path with a diagonal line, the resulting object is a polygon.
Paths convert to polygons when Chop Shape is set to polygon or line and Snap Mode is set to anyAngle or diagonal.
How Chopping Affects Multipart Paths
When you use Chop on a multipart path, the result depends on what parts of the multipart path are choppable. You specify whether a part is choppable when you create the multipart path.
If you specify the master path as choppable, all of its subparts must be choppable also. When you specify the master path as not choppable, you can specify each of its subparts as choppable or not.
If the master path is choppable, you can chop the whole multipart path into two or more separate multipart paths by chopping all the way through the master path at 90 degrees.
If the master path is choppable and you chop at an angle other than 90 degrees and/or chop only part of the way through the master path, the chop changes all objects in the multipart path into ordinary paths, polygons, and rectangles. If this is not what you wanted, you can undo the chop with the Edit - Undo command.
If the master path is not choppable, you can chop all subparts that are specified as choppable by chopping all the way through the master path at 90 degrees. All choppable subparts are chopped where you chop over the master path.
When a chop affects sets of subrectangles that are choppable, the system regenerates subrectangles along orthogonal segments only.
If the master path is not choppable, the system will not allow you to chop at an angle other than 90 degrees or to chop only part of the way through the multipart path.
After you chop a multipart path, you can select and stretch the chopped ends of subpaths. Although you cannot directly select, stretch, or chop a set of subrectangles, all choppable sets of subrectangles are also chopped when you chop a subpath.
When you chop a multipart path into one or more separate multipart paths, the system assigns the name of the original multipart path to the first new multipart path. The system assigns unique names to the other new multipart paths, starting with
path0,path1, etc.Note: If you want to chop and rotate an MPP, rotate the MPP first, then chop it. Avoid rotating a chopped MPP as the chop holes might not rotate correctly.
Chopping Multipart Paths with Aligned Objects
When you chop through the (choppable) master path of a multipart path, alignments to other objects are lost.
The following example shows what happens to an aligned object after cutting away a section of a choppable master path.
When you use the cutter to chop out part of the master path like this,
the result is two new, shorter multipart paths, neither of which are aligned to
rect1.The system keeps the name
pathAwith the first new multipart path and assigns a unique name in the format ofpathnto the second new multipart path.
Chopping a Multipart Path
The multipart path shown below has one subpath and one set of subrectangles.
To cut away part of a multipart path,
For multipart paths, see "Multipart Paths" and the
rodCreatePathfunction in the Virtuoso Relative Object Design User Guide.
Using the Modify Corner Command
The Modify Corner command lets you reshape the corner of a polygon to make a rounded or chamfered (45-degree) edge.
About the Modify Corner Form
To open the Modify Corner form,
![]()
Choose Edit - Other - Modify Corner. Type of Corner controls whether you create a rounded corner (radial) or a 45-degree edge (chamfer).
Radius sets the radius of the rounded corner, in user units.
Note: If you choose to create a chamfer corner, the Radius field changes to Distance.
Distance sets the distance in user units from the vertex to begin beveling.
Number of Sides sets the number of straight segments used to create a rounded corner. This setting is used only if Type of Corner is set to radial.
Modifying the Corners of a Polygon
Note: The maximum value you can set is half the length of the shortest adjacent line segment. The layout editor applies this value or the maximum allowable value for each corner, whichever is shorter.
Click on the corner you want to change. To change more than one corner,
Shift-click on each additional corner.
Enlarging or Reducing Objects
The Size command enlarges or reduces a shape.
About the Size Form
![]()
Choose Edit - Other - Size. Size Value controls the amount by which you enlarge or reduce the object. Positive numbers enlarge, negative numbers reduce.
Sizing Objects
The Size command reduces or enlarges objects by stretching each edge in or out by the given number of user units.
Select the objects you want to resize.
In the Size Value field, type the number of units you want to stretch each side.
Splitting and Stretching Objects
The Split command lets you split and stretch a portion of an object. You usually use it to add a jog by stretching a section of a path or group of paths (a bus). You can also use Split to add a jog by stretching a section of a multipart path.
About the Split Form
![]()
Do one of the following: Lock Angles prevents you from changing the angles of objects as you stretch them.
Snap Mode controls the direction in which you can draw line segments when you draw a line to split the object. As you stretch the split object, Snap Mode controls the direction in which you can stretch an edge.
Splitting an Object
To split and stretch an object,
Attaching and Detaching Objects
Attaching Objects
When you attach one object to another, you create a parent-child relationship between the two objects. The attached object is the child of the object to which it is attached. Parent-child relationships behave in the following manner:
When the parent moves, all child objects move with it.
When a child moves, the parent does not move.
When the parent is deleted, all child objects are deleted.
When a child is deleted, the parent is not deleted.
Click on the object you want to be the child object. A dotted line extends from the child to the cursor.
Move the cursor to the object you want to be the parent object and click.
Detaching Objects
To detach objects that have been joined using the Attach command,
Aligning Objects
To align two or more objects (devices, pins, or shapes) use the Align command. You can align objects in either preselect or postselect mode.
Note: The Align command does not read spacing information in the technology file and does not obey user-defined constraints; therefore, you might get unexpected results with this command.
Post Selecting Devices
From the layout window, choose Edit - Other - Align.
The Alignment form appears.
Change the Selection Mode to Set reference and select objects to be aligned.
Set the Align Using cyclic field to Layer Edge and specify the Layer to be used from the cyclic field.
If you want to space objects evenly when they are aligned, turn on Component Space in the Apply Spacings cyclic field and specify a minimum separation distance in the Spacings field.
Select Set New Reference and you are prompted to "select ("cellBoundary" drawing") edge of device to which you want to align other devices."
From the layout window, click on the edge of the object (the reference) to which you want to align other objects.
Click on the object's layer edges you want to align to the reference, in this case the top edges.
To undo the alignment of an object, press the
BackSpacekey.
PreSelecting Devices
From the layout window, choose Edit - Other - Align.
The Alignment form appears.
Change the Selection Mode to Set reference to align preselected objects.
Set the Align Using cyclic field to Layer BBox and specify the Layer to be used from the cyclic field.
If you want to space objects evenly when they are aligned, turn on Component Space in the Apply Spacings cyclic field and specify a minimum separation distance in the Spacings field.
Select Set New Reference and the CIW prompts you to "Enter origin for alignment".
To add other devices to the aligned group, use the Shift left mouse button to select the unaligned devices.
In the Alignment form select Set New Reference and click in the layout window. The unaligned devices are now aligned with the original selected alignment group.
About the Align Form
Selection Mode allows you to align components that are preselected or postselected.
Set reference to align preselected objects works on the preselected set of components in the design.
Set reference and select objects to be aligned allows you to set the options on the Alignment form and then select the components to be aligned.
Alignment Direction defines the alignment direction.
Align Using indicates how objects are aligned as per the Selection Mode. For preselected objects you can use the following options.
Component BBox aligns the Reference Point of the components bounding box
Component Origin aligns the origin of the component.
Layer BBox aligns the Reference Point of the specified Layer.
For Post selection use the following available options. Notice that the Reference Point options do not pertain to post selection.
Component Center aligns the centers of components.
Component Edge aligns the left, right, top, or bottom edges of the component.
Component Origin aligns the origins of the objects.
Layer Center aligns the centers of the shapes on the current layer.
Layer Edge aligns the left, right, top, or bottom edges of the shapes on the current layer.
Layer is a cyclic field showing the layers defined in your technology file. Use this field to specify the layer to use for aligning by layer edge, layer center, or layer BBox.
Reference Point is used with preselection mode options Component BBox and Layer BBox. Specify upperLeft, centerLeft, lowerLeft, upperCenter, centerCenter, lowerCenter, upperRight, centerRight, or lowerRight.
Apply Spacings specifies the spacing between the aligned components.
None aligns the components, but leaves the original spacing intact. This option can cause errors in your design.
Component Pitch is used with preselect mode. The distance (in user units) for center to center spacing between aligned shapes. You can set this value to a negative number to overlap instance.
Component Space is used with both preselect and postselect mode. The distance (in user units) to maintain between aligned shapes. You can set this value to a negative number to overlap instances. When no value is entered the result is the same as using Apply Spacings None.
Pitches is the value when using the Component Pitch option.
Spacing is the value when using the Component Space command.
Sort Components By allows you to change how the selected objects are sorted in relationship to the reference object. This option only works with preselected objects.
Align Direction Order sorts the objects by the alignment direction order.
Horizontal Order sorts the objects aligned horizontally.
Vertical Order sorts the objects aligned vertically.
Order Selected sorts the objects in the order that they were selected.
Reverse Sort allows you to reverse the sorted objects.
Set New Reference specifies the reference for the selected components to be aligned to.
Using the Rotate Command
The Rotate command lets you change the orientation of most geometric objects.
Note: You can rotate any object except donuts and dots with the Rotate command. To rotate donuts and dots, use the Move, Copy, or Paste command.
About the Rotate Form
![]()
Do one of the following: Angle sets the angle to rotate the object you select. As you move your cursor, the current rotation angle appears here. You can also type the specific angle you want and click Apply.
Angle Snap To controls the precision of the angle of the snap.
1 Degree lets you use whole numbers; for example, 10.
.1 Degree lets you use one decimal place; for example, 12.5.
Any lets you use three decimal places; for example, 15.125, assuming 1,000 data base units/user units.
Rotate turns the object, instance, or label 90 degrees counterclockwise.
Sideways mirrors the object about the Y axis or turns an instance or label 180 degrees counterclockwise.
Upside Down mirrors the object about the X axis or turns an instance or label 270 degrees counterclockwise.
Rotating Geometric Objects to Any Angle
To rotate a geometric object to any angle, use the Rotate command. To rotate donuts or dots, use the Move, Copy, or Paste command.
To rotate an object using the cursor,
Select the object you want to rotate.
To rotate the object using the Rotate form,
Rotating or Mirroring Objects
To rotate any object in 90-degree increments or to mirror an object, use the Move, Copy, or Paste command. To rotate most geometric objects to any angle, use the Rotate command. Instances and labels cannot be rotated to other than 90-degree increments. To rotate donuts or dots, use the Move, Copy, or Paste commands.
To rotate an object using the Move command,
The Move form appears.
Select the objects you want to rotate.
Using the Mouse to Rotate or Mirror Objects
You can use the right mouse button to rotate or mirror objects.
While using Move, Copy, or Paste,
![]()
Do one of the following:
To rotate the object 90 degrees, click right.
Rotating Instances and Labels
To rotate instances, labels, donuts, or dots, you can also use the Move, Copy, or Paste commands.
Yanking and Pasting Objects
The Yank command performs a "cookie cutter" copy. Yank copies objects, and parts of objects, into a temporary buffer. The Paste command places copies of objects from a temporary buffer.
Note: The Yank and Paste commands do not support ROD objects.
About the Yank Form
![]()
Do one of the following: Yank Shape sets the type of shape you draw around, or through, the objects you want to copy.
Yank Levels sets the number of levels of design hierarchy through which Yank can copy shapes. The current cellview is level 0, instances inside it are level 1, and so forth.
Snap Mode controls the shape of line segments when Yank Shape is set to polygon.
About the Paste Form
![]()
Do one of the following: Rotate turns the object 90 degrees counterclockwise. You can also click the right mouse button to rotate or mirror objects you paste.
Sideways mirrors the object along the X axis.
Upside Down mirrors the object along the Y axis.
Yanking and Pasting
Yank and Paste are similar to Copy except that objects are chopped by the Yank shape. Yank/Paste is a "cookie cutter" copy.
To copy part of an object, group of objects, or an instance,
Choose Edit - Other - Yank [
y].
The Yank form appears. In the Yank form the Yank Shape is set by default to create a rectangle.
If you are in full selection mode, press
F4to go to partial selection mode.
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