Product Documentation
Virtuoso Layout Suite XL: Basic Editing User Guide
Product Version IC23.1, November 2023

Object Chopping

You can use the Chop command to cut away part of an object or cut an object into pieces. If a non-ROD object has a net name and it is cut into pieces, each remaining piece of the object retains the net name. Partial chopping of instances and vias is not supported.

The following table describes the support available for chopping various objects.

Object Type Support for Chop Functionality

ROD objects

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.

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.

Blockages

Chopping a blockage object may result in more than one blockage object. If the original blockage object had an owner, then all the resulting blockage objects will have the same owner. One owner will then have multiple associated blockages.

Boundaries

The Chop command does not support snap boundary objects.

  • For place and route (PR), area, and cluster boundaries, the command allows rectilinear chops only, therefore only horizontal, vertical, and orthogonal snap modes are allowed. Any other snap mode overrides to orthogonal.
  • For PR boundary, after a chop, the resultant PR boundary snaps to the grid. It is snapped to the grid specified by the boundarySnapXGrids or boundarySnapYGrids environment variables. If the environment variables are not specified, the resultant PR boundary is snapped based on the least common multiple of the global active grids.
  • After a chop, the resultant PR boundary must remain a single object. If you chop the PR boundary into more than one piece, the chop does not take place and the CIW issues the following warning: *WARNING* Can’t chop the PR Boundary into two or more pieces.
  • The Chop command supports editing of IOBox and CoreBoxSpec when PR boundary is chopped. If chopping results in a non-rectangular PR boundary, the rectangle containing all PR boundary points is considered. The relative distance of IOBox and CoreBoxSpec from the PR boundary is maintained in all directions, even until the IOBox and CoreBoxSpec shapes are reduced to zero area.
  • After chopping a cluster boundary, each cluster boundary formed by the chop will remain connected to the original cluster. If you chop a cluster boundary object, each new cluster boundary has an extension added to its name, with a resulting informational message appearing in the CIW.

Pins

The Chop command support pins. A single pin is chopped into multiple pins. The new pins is strongly connected, this means that all the chopped pins have new pinFigs but the terminal and pin names are the same. The supported pin shapes are rectangle, polygon, and ellipse. All the properties of the original pin are retained after the chop operation.

Row regions

The Chop command supports grid-aware snapping for row regions if grids are specified in the row template manager. Grid-aware snapping is supported for the line, rectangle, and polygon chop shapes. For the line chop shape, snapping is supported for no spacing and the User Spacing type; it is not supported for Min Spacing.

Arrays

The Chop command supports arrays (mosaic or group array) if the vertices of the rectangle and polygon, or end points of a line, are either outside the array or on the boundary of the array.

To cut hierarchical objects, such as parameterized cells, you need to use the Yank command.

(Virtuoso RF Option) The Chop command is supported for curved shapes in all modes (Rectangle, Polygon, Circle, and Line mode).

Related Topics

Copying and Cutting Through the Hierarchy

Modifying Corners of a Polygon

Array Chopping


Return to top
 ⠀
X