Product Documentation
Virtuoso Placer User Guide
Product Version IC23.1, March 2023

Placement Options Form

The Placement Options form lets you control how various assisted and automatic placement tasks are to be performed. The form contains the following tabs.

Tab Description

Assisted

Specifies settings for the assisted placer.

Automatic

Specifies settings for the automatic placer.

Common

Specifies settings that are applicable to both, Assisted and Automatic modes.

Assisted

The following table describes the fields available on the Assisted tab of the Placement Options form.

Field Description

Assisted Placement

This group box provides advanced assisted features while moving objects in the layout.

Assisted Placement is also referred to as Assisted Move.

Environment variable: apMove

Enable

Enables snapping of instances to the nearest rows instead of grids. The option also switches on Resolve Overlaps options.

The tool considers tap cells and boundary cells as fixed cells and so does not snap them to rows. Adding tap cells and boundary cells helps avoid latch-up effects and DRC violations. Boundary cells are cells with component class BOUNDARYCELL and tap cells are cells with component class STDSUBCONT. For more information about boundary cells and tap cells, see Placement Planning.

In Virtuoso Layout EXL, the assisted placement snapping behavior overrides the snapping behavior set in the Snapping section of the Layout Editor Options form. Therefore, Instance to Row snapping and Snap Pattern Snapping settings are not applicable when Enable is selected. For information about the snapping options in the Layout Editor Options form, see Snapping.

Environment variable: apMove

Show Info Balloon

Displays an info balloon when objects are moved in the layout, which provides information about the wire length and snapping behavior. Environment variable: infoBalloon

In the Constraint-Aware Editing (CAE) mode, instances that lie outside the cluster boundaries are highlighted. An arrow indicates the respective cluster boundary, and the cluster violation count is displayed in the info balloon. For more information, see Constraint-Aware Editing.

The displaySnappedInfo environment variable controls the display of snapping information in the info balloon.

Snapping behavior is based on the row definition in the row template and also applies to Modgens, mosaics, and figGroups.

Resolve Overlaps

Automatically resolves overlaps between instances after they are edited in the layout canvas by moving the instances to the left or right.

Environment variables: displayResolveOverlapsColor, fixAdjustedForResolveOverlaps, snapColor

Spread Any Direction

Moves the overlapped device by a minimum distance in any direction.

Environment variables: spreadType, insertDefaultSpreadType

Spread X-Direction Only

Moves the overlapped device by a minimum distance along the right or left directions within the same row as indicated below:

Environment variables: spreadType, insertDefaultSpreadType

Insert Mode

Moves the overlapped device to the right only. The devices being moved are placed sequentially by row. If more than one device is being moved, the relative positions of the devices are maintained while placing them at their new locations.

below:

Insert Mode Single Row

Moves the overlapped device to the right. The instances that are moved are placed sequentially in the same row.

Environment variables: insertDefaultSpreadType

Insert Mode Single Column

Stacks the selected devices vertically before moving them. The overlapped devices are moved to the right as shown below:

Environment variable: spreadType

Abut Rows

This group box specifies device abutment settings.

Use Device Order

Controls whether abutment is based on connectivity or on the order of devices in the cellview (default).

Environment variable: useDeviceOrder

Disable this option when there are adjacent instances that do not have any common connectivity. If selected, then an extra dummy poly is inserted between the two instances to allow abutment. To avoid this, clear the check box. The devices are then reorganized to achieve a more compact abutment chain.

Abutment of rows is done using the Layout XL chaining engine. Therefore, the abutment results are subject to the settings of the Layout XL chaining environment variables.

Automatic

The following table describes the fields available on the Automatic tab of the Placement Options form.

Field Description

Rules

This group box specifies the automatic placement rules.

The options in the Rules section are generic, and apply to all design types.

Constraint Group

Specifies the technology file constraint group to be used for applying spacing rules.

Minimum Boundary Offset

Specifies the minimum offset of instances from the PR boundary to a reference layer. Any layer inside the standard cell can be assigned as the reference layer.

Specify the offset value and choose the required layer from the drop-down list.

Devices

This section includes the following options applicable only to analog designs. These options are applicable only to analog designs.

Abut Devices

Automatically chains devices during placement.

Environment variable: abutDevices

Preserve Abutment Chains

Preserves existing chains during placement. This option cannot be used when Abut Devices is selected.

Group M Factor Devices and Group CMOS Pairs

Group mfactor devices and CMOS pairs defined to share connection. All such CMOS device pairs in the design that have been generated with chaining enabled are grouped together into a cluster.

Group P over N

Places all P-devices to the top and N-devices to the bottom of the selected region.

Environment variable: placePOverN

Standard Cells

This group box includes options that are applicable only to digital designs, and therefore apply only to the Custom Digital placement type in the Automatic Placement form.

Run Spacer Within Rows

Distributes standard cells evenly in the rows by adding or removing space between them within each row. Selecting this option ensures that there is sufficient space to route between the standard cells in the rows.

Insert Tap Cells

Inserts tap cells in rows. The following options are available:

  • Component Type specifies the names of the component types that contain the substrate contacts (tap cells). The specified component type must have the component class STDSUBCONT. Click Choose to select from a list of available component types.
  • Minimum Spacing and Maximum Spacing specify the minimum and maximum contact spacing values.

Pins

This group box defines the following pin placement settings. These settings are generic, and so are applicable to all design types.

Routing Direction Aware Pins

Specifies whether the placer must consider the WSP direction while placing unconstrained pins. This option is enabled by default and is applicable only to designs with width spacing patterns (WSPs).

For vertical WSPs, pins are placed along the left and right edges; for horizontal WSPs, pins are placed along the top and bottom edges.

Environment variable: routingAwarePinPlc

Pins on Boundary

Places all pins on the PR boundary.

Environment variable: pinsOnBoundary

Passive Devices

This group box specifies settings for passive devices:

Passive to Outside

Pushes passive devices such as large capacitors and resistors to the edge of the PR boundary, thereby separating them from the transistors in the design. This option is generic, and applicable to all design types.

What are passive devices? Passive devices are devices that cannot be used to amplify signals. These devices do not require an external source of energy to function. Rather, they store energy in the form of voltage or current. Examples: resistors and capacitors.

Environment variable: passiveOutside

Common

The following table describes the fields available on the Common tab of the Placement Options form.

Field Description

General

This group box specifies settings that are applicable to both devices and standard cells.

Width Spacing Pattern (WSP) Snapping

Enables width-aware and constraint (CST)-aware snapping of instances and pins. Both interactive and automatic placers recognize the width spacing snap pattern grid that is defined using the widthSpacingSnapPatternDef rule in the technology file. The widthSpacingSnapPatternDef definitions are available in the technology database as well as in the design.

If both WSPs and Snap Patterns (SPs) are active, WSP snapping takes precedence.

WSP snapping is possible only when the specified constraints, such as the minwidth, allowedWidthRanges, and sig type, are met. If a constraint is not met, for example, if the pin width is less than the width specified with the minWidth constraint, the next track is checked.

Environment variable: WSPAware

Cell Boundary LPP(s)

Specifies the layer-purpose pairs (LPPs) that the placer uses to derive the cell boundary for standard cells and devices when running Place Like Schematic, Analog Placer, and Digital Placer.

Modgen

This group box specifies settings for all Modgens that are either located in or are moved to the row regions.

Update MODGENS to Rows Post-Placement

Specifies whether a Modgens regenerates after it is moved to a row region.

The orientations of the Modgen members are updated to match the orientations of the rows to which they are moved. For example, a Modgen member instance with orientation R0 is moved to a row with orientation MX. The Modgen is regenerated and the orientation of the instance is changed to MX.

When deselected, Modgens are snapped only to rows with matching orientations.

Environment variable: regenModgenPostProcess

Device

This group box specifies device-specific settings.

N-Diffusion Spacing

Specify the diffusion spacing for the NMOS transistors within the row.

P-Diffusion Spacing

Specify the diffusion spacing for the PMOS transistors within the row.

Standard Cell

This group box specifies settings that are applicable only to standard cells.

Context Aware Placement

Specifies that the placement of standard cells should be such that each cell is aware of the context of the neighboring cell and supports placement in accordance with the EDGETYPE and CELLEDGESPACINGTABLE LEF5.8 constraints, which are either defined in the technology and macro LEF, or provided using an XML file. By default, this option is switched off.

You can also specify a Context File, which is an XML file containing the edge spacing constraint information for performing context-aware placement. During context-aware placement, the placer honors the edge types and spacing constraints of tap cells.

Context File

Specifies the XML file containing the edge spacing constraint information for performing context-aware placement.

Pin Density Aware Placement

Considers the pin density of standard cells to optimize the placement and to improve routability. The assisted placement options are also pin density-aware. The pin density consideration can result in larger spacing between the placed standard cells.

Pin density awareness is a heuristic to improve routability, and therefore is not checked during placement verification.

Environment variable: pinDensityAwarePlacement

Maximize Pin Access

Maximizes the number of WSP tracks that overlap the pins. Selecting this option improves routability by providing more access points to the router. Specify the Minimum Pin Access Count, which refers to the minimum number of access points that should be available.

Environment variable: maximizePinAccess

Minimum Pin Access Count

Specifies the minimum number of pin access points to achieve during the process of pin access maximization.

Environment variable: minNumPinAccessPts

Cell Padding Value(s)

Specifies the space to be left on either side of the master.

Use the following syntax to enter values in this field:

"(cellName right_spacing left_spacing)"

Example:

"(nand4 2.5 2.5) (inv 0 1)"

Here, spacing of 2.5 is applied to both sides of cell nand4. For cell inv, spacing 0 is applied to the left side and spacing 1 is applied to the right side.

Environment variable: paddingForCells

Related Topics

Setting the Assisted Placement Options in the Placement Options Form

Setting Automatic Placement Options in the Placement Options Form

Setting Common Options in the Placement Options Form


Return to top
 ⠀
X