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

Create Via Form

Use the Create Via form to specify the settings based on which you want to create vias. The form contains the following common options.

Field Description

Mode

Lets you select the mode in which you want to create the via: Single, Stack, Auto, or Fast Edit.

Environment variable: viaMode

In Auto and Fast Edit modes, the Create Via form does not open automatically. You need to press the F3 key to open the form.

Single Via Mode

Creates a single via or an array of vias

Stack Via Mode

Places the vias belonging to adjacent layers on top of each other.

Auto Via Mode

Places a via automatically at the intersection of two paths.

Fast Edit Via Mode

Lets you perform interactive via editing.

Options

Opens the Create Via Options Form where you can specify the option for via creation such as the cut spacing method and via definition.

Single Via Mode

The following table describes the tabs and common options available in the Single via mode on the Create Via form. The availability of a tab depends on the type of via definition that you select, standard or custom.

Field Description

System Tab

Lets you define values for standard vias.

User Defined Tab

Contains all user-defined via parameters and CDF parameters, which are not part of Cadence-predefined via parameters.

Cut pattern Tab

Lets you create cut patterns on via arrays.

Array Pattern Tab

Lets you create array patterns on vias. This tab is enabled only if the selected via definition is a cdsGenVia.

Compute From

In Single and Stack via modes, you can choose any of the following:

  • Row/Col: Vias are created according to the number of rows and columns.
  • Width/Height: Vias are created according to the width and height of the layer.
  • Shape(s): Vias are created inside the overlap of the shapes on the canvas.
  • Drawn Area: Vias are created inside the area, rectangular or polygonal, that you draw on the canvas.

In the Auto mode, when you click on the canvas, the via is placed in the overlap of two shapes. By enabling From Area, rectangular or polygonal, you can define a region in which the layout editor will place the via in all overlapping regions.

Environment variable: viaAutoViaCutArrayDirection

All the remaining form field values in both the Single and Stack modes are calculated automatically by the Create Via command when you click the overlapping region of two intersecting shapes. In the Single mode, the command calculates the rows, columns, and enclosures, by using the information specified in the form. In the Stack mode, the command calculates the rows and columns of the top via and the spacing, sizes, and enclosures of all the vias in the stack, such that all the vias in the stack fit in the area of overlap between the two intersecting shapes.

Environment variable: viaComputeFromMode

Constraint Group

Enables you to select the constraint group.

Use All Vias

Enables all vias to be listed in the Via Definition list irrespective of the constraint group selected.

Via Definition

Displays the valid viaDefs and valid via variants in a tree-like structure from the active constraint group (set in the Via list in the Layout Editor Options Form). By default, the viaDefs are listed in the same order as specified in the validVias constraint. If the validVias constraint does not exist in the active constraint group, the viaDefs are ordered by mask number. You can further update the order by using the appropriate Sort option in the Via Definition Selection widget.

If any filtering options are set up by using the Filter widget, the Via Definition list displays only the viaDefs or via variants that satisfy the filtering options. Each node in the tree represents a standard or custom viaDef. A node with a plus sign (+) represents a parent standard or custom viaDef with child viaVariants.

If a parent viaDef is not a valid via in the active constraint group, the viaDef is grayed out and cannot be selected. Choosing a viaDef or via variant from the list selects the via from the effective technology file.

Filter icon

Displays the via definition selection widget that lets you define how to filter and sort via definitions. The widget contains the following options:

  • Filter: Specifies an alphanumerical string to search for matching viaDefs from the validVias list. The wildcard characters such as *, $, and ^ can be used in the search string. The search is case-sensitive. Only viaDefs matching the search string are displayed in the Via Definition list on the form.
  • Sort By: Sorts the viaDefs listed in the widget based on either viaDef names in alphanumerical order or the mask numbers of the bottom layer of the viaDef. Sorting is done in ascending order.
  • From and To: Specifies the layer limits; viaDefs existing between the specified layers are listed in the widget.
    Searches for viaDefs by viaDef name or by the layers between which they are available are exclusive of each other. You can leave the Filter field blank and still search for viaDefs between two specific layers.
  • List box: Displays the filtered and sorted viaDefs in a tree-like structure. The viaVariants are grouped under the respective parent standard or custom viaDef. The viaDef or viaVariant selected from the list box updates the Via Definition field on the form as well as closes the via definition selection widget.

The search criteria are not retained when you close or hide the Create Via form.

Via Type / Technology Library

Displays the via type and technology library of the viaDef selected in the Via Definition field. The via type can be Standard or Custom. If you select a via variant, the via type displays Standard Via Variant or Custom Via Variant, respectively. The technology library indicates the library to which the selected viaDef belongs.

Save Via Variant icon

Opens the Save Via Variant form, where you can change some parameter values of a standard or custom viaDef and then save it as a via variant.

You can update the via even after it has been created to use the parent viaDef by using the button on the Edit Via Properties form or the Property Editor assistant. In the Property Editor assistant, the button is visible when you click the ViaDef value column.

More Options

Lets you associate a net with the via.

  • Net Name: Applies a net name to the via you are placing in the cellview. In case of a via stack, it associates the specified net with the entire via stack. If the net constraint exists, the constraint is applied to the via stack. If the specified net does not exist, a new net is created. If no net is specified, there is no association with the via or via stack.
  • Create as ROD Object: Creates the via as a ROD object.
    When the Create as ROD Object check box is selected, the Name field is enabled where you can specify a unique name to be assigned to the new via in the current cellview. This unique name consists of the prefix via followed by an integer. For example, the first ROD via is named via0, the second via1, and so on. You can edit the default name, if required, but ensure that the new name is unique in the cellview.

Reset Parameters to

Enables you to reset the values in the form to the technology database values if you want to revert from the manually updated parameter values to the defaults. When you first open the Create Via form, the via parameter values are calculated based on the Via Parameters Calculation Mode setting in the Create Via section in the Layout Editor Options Form.

  • Minimum Rules then ViaDef: All the via parameter fields, such as the number of cut rows and columns, cut sizes, spacing, and enclosures, are reset to the minimum rule or the viaDef default values, whichever is greater. The minimum rules are picked from the constraint group that you select from the Via list in the Create Via section in the Layout Editor Options Form. The calculated values are never less than the viaDef defaults. If minimum rules are not defined, viaDef defaults are used.
  • Minimum Rules: All the via parameter fields are reset to the minimum rule values. ViaDef defaults are not checked. Therefore, the calculated values can be less than the viaDef defaults.
    For example, if the minExtensionDistance rule is 0.05 and the default enclosure in viaDef is 0.1, 0.05 is used as the enclosure value in the Create Via form. The viaDef default enclosure value is ignored.
  • Minimum Rule Enclosures: Minimum rules are used to calculate only the enclosure field values. Values in the other fields are not reset.
  • ViaDef Defaults: All the via parameter fields are reset to the viaDef defaults. Minimum rules are not checked.

  • ViaDef Defaults Enclosures: ViaDef defaults are used to calculate only the enclosure field values. Values in the other fields are not reset.
    ViaDef Defaults and ViaDef Default Enclosures reset options are available only when Compute Enclosures is off. When Compute Enclosures is off, you can specify enclosure values less than the minimum rule values.
If you select a via variant from the Via Definition list, the Reset Parameters to list is not available.

Environment variable: viaParamCalcMode

The following table explains how the parameter values are reset if one of the Reset Parameters to option is selected. The table illustrates scenarios when Compute Enclosures is either on or off.

Compute Enclosures Parameter Values Reset Parameters to
Minimum Rules then ViaDef Minimum Rules Minimum Rule Enclosures ViaDef Defaults ViaDef Default Enclosures

On

Enclosure Values

minimum rule and viaDef default

minimum rule

minimum rule

N/A

N/A

Other Values

minimum rule and viaDef default

minimum rule

As is

N/A

N/A

Off

Enclosure Values

viaDef default

viaDef default

viaDef default

viaDef default

viaDef default

Other Values

minimum rule and viaDef default

minimum rule

As is

viaDef default

As is

System Tab

The following table describes the fields available on the System tab in the Single via mode of the Create Via form. This tab contains values for standard vias.

Field Description

Justification

Sets the origin of a via. Cyclic field choices are: lowerLeft, centerLeft, upperLeft, lowerCenter, centerCenter, upperCenter, lowerRight, centerRight, upperRight, and offset.

X

Sets the origin point of the via in the X direction when the cyclic field is set to offset. When columns are set to more than one and the cyclic field is set to a direction, X is grayed out and it displays the amount of the directional offset in the X direction.

Y

Sets the origin point of the via in the Y direction when the cyclic field is set to offset. When rows are set to more than one and the cyclic field is set to a direction, Y is grayed out and it displays the amount of the directional offset in the Y direction.

For 1x1 via (one row and one column), all Justification values except for offset map to the same point. Therefore, the Justification field on the Edit Via Properties form displays only centerCenter and offset. For a via with one row and more than one columns, lowerLeft, upperLeft, and centerLeft map to the same point as do lowerRight, upperRight, and centerRight. Therefore, for such a via, the Justification field on the Edit Via Properties form displays centerLeft, centerRight, and centerCenter.

Cut

This section provides options to specify cut layer settings of the via.

Cut Class

Displays cut class choices only if a cutClasses constraint has been defined for the cut layer of the selected viaDef in the layerRules section of the technology file. Cut class names defined in the technology file must be unique. The Create Via command does not support identical cut class names.

The following are examples of cut classes:

  • Small is a single cut via where both dimensions are short.
  • Bar is a large via that has one long and one short dimension. The shorter dimension is equal to the width or length of Small.
  • Large is a large via that has two long dimensions, equal to the longer dimension of Bar.

If you update the Cut Class selection, the values in the fields, such as Rows, Columns, Width, Length, Row Spacing, and Column Spacing, are dynamically updated.

X and Y

Sets the width and length of the via cut, in user units (typically microns). If a Cut Class is selected, the cut Width and Length are automatically updated to the cut size values defined for that cut class in the layerRules section of the technology file.

Size X and Y

Sets the number of rows or the number of columns of via cuts in a via array. You can specify a value up to 10000 in these fields. These fields do not seed the Row and Columns fields on the Cut Pattern tab. If you change the values in the Rows and Columns fields, the values in the other fields, such as Width, Length, Row Spacing, and Column Spacing, are dynamically updated.

You can use the swap button to swap the values in the Rows and Columns fields. If the swapped values violate the minimum rules, the spacing and enclosure values are re-calculated based on the Reset Parameters to setting.

Spacing X and Y

X sets the distance between the horizontal edge to the edge cuts in a via. Y sets the distance between the vertical edge to the edge cuts in a via.

You can use the swap button to swap the values in the Row Spacing and Column Spacing fields.

Enclosures

This section provides options to specify enclosure settings.

Compute

Calculates enclosures automatically. This is on by default. You can deselect this option to manually specify the enclosure values.

Environment variable: viaCompuEnclosures

Show Enclosures/Hide Enclosures button

Toggles the display of the section in the form that sets the directional enclosure distances on Layer 1, the bottom routing layer, and Layer 2, the top routing layer.

The swap button swaps the enclosure values between the first and second layer fields. If the swapped values violate the minimum rules, the enclosure values are re-calculated based on the Reset Parameters to setting.

Left

  • Layer 1:Sets the horizontal distance on the left side of the via from the cut edge to the enclosure edge on the layer designated layer 1 (bottom routing layer).
  • Layer 2: Sets the horizontal distance on the left side of the via from the cut edge to the enclosure edge on the layer designated layer 2 (top routing layer).

Right

  • Layer 1:Sets the horizontal distance on the right side of the via from the cut edge to the enclosure edge on the layer designated layer 1 (bottom routing layer).
  • Layer 2:Sets the horizontal distance on the right side of the via from the cut edge to the enclosure edge on the layer designated layer 1 (top routing layer).

Top

  • Layer 1:Sets the vertical distance on the top side of the via from the cut edge to the enclosure edge on the layer designated layer 1 (bottom routing layer).
  • Layer 2: Sets the vertical distance on the top side of the via from the cut edge to the enclosure edge on the layer designated layer 2 (top routing layer).

Bottom

  • Layer 1:Sets the vertical distance on the bottom side of the via from the cut edge to the enclosure edge on the layer designated layer 1 (bottom routing layer).
  • Layer 2: Sets the vertical distance on the bottom side of the via from the cut edge to the enclosure edge on the layer designated layer 2 (top routing layer).
  • The Swap button swaps the values in the Left/Right and Top/Bottom fields of layer 1 or 2. If the swapped values violate the minimum rules, the enclosure values are re-calculated based on the Reset Parameters to setting.

Implant X

  • Layer 1:Sets the horizontal distance from the left and right cut edge to the implant enclosure edge on the layer designated layer 1 (bottom routing layer).
  • Layer 2: Sets the horizontal distance from the left and right cut edge to the implant enclosure edge on the layer designated layer 2 (top routing layer).

Implant layer enclosures cannot be specified for custom vias.

Implant Y

  • Layer 1:Sets the vertical distance from the top and bottom cut edge to the implant enclosure edge on the layer designated layer 1 (bottom routing layer).
  • Layer 2: Sets the vertical distance from the top and bottom cut edge to the implant enclosure edge on the layer designated layer 2 (top routing layer).

If you manually specify the enclosure values, they are cached as long as they obey the minimum rules. When you update other via parameters in the form, the manually specified enclosure values are not re-calculated unless they violate the minimum rules. Note that implant layer enclosures cannot be specified for custom vias.

Purpose

This section appears in the Create Via form if you select a cdsVia from the Via Definition list.

Primary

Enables you to select the purpose for the metal layers. The purposes in this list are populated from the layer purposes defined in the techLayerPurposePriortities section of the technology file for the selected cdsVia metal layer.

Cut

Enables you to select the via layer purpose. By default, it displays the As primary value to indicate the same purpose as selected in the Primary list.

Other

Enables you to select the implant layer purpose. This list appears only if any implant layers are defined for the selected cdsVia device.

User Defined Tab

This tab contains all user-defined via parameters and CDF parameters, which are not in the set of Cadence predefined via parameters.

In the case of cdsVia, this tab displays the Pcell parameters that exist on the via. You can change the parameters as required, but the Create Via form does not perform any checks for them.

Cut pattern Tab

The following table describes the fields available on the Cut pattern tab of the Single via mode on the Create Via form. Use this tab to create cut patterns on via arrays.

Field Description

Via Rows

Displays the number of rows in a via array. This is a read-only field that displays the number of rows specified in the Rows field on the System tab.

Environment variables: viaRows

Via Columns

Displays the number of columns in a via array. This is a read-only field that displays the number of columns specified in the Columns field on the System tab.

Environment variables: viaColumns

Pattern

Lets you select a predetermined pattern, such as Custom, Via Def, All On, All Off, Chess Board, H-V Stripes, H Stripes, V Stripes, Top, Bottom, Left, Right, U-L Corner, U-R Corner, L-L Corner, L-R Corner, and Cross.

You can now define the default cut pattern for each standard via in the standardViaDef section of the DFII ASCII techfile. This default cut pattern is reflected on the Cut pattern tab of the Create Via form.

Repeat Pattern

Repeats the pattern specified in the Pattern field for the number of rows and columns specified in the Rows and Columns fields. If Repeat Pattern is not selected, the values in the Rows and Columns fields are the same as the values in the Via Rows and Via Columns fields, respectively.

Rows

Sets the number of rows of the repeated pattern. If Repeat Pattern is not selected, this field is disabled.

Columns

Sets the number of columns of the repeated pattern. If Repeat Pattern is not selected, the field is disabled.

Depending on the number of rows and columns you specify in the Rows and Columns fields the row x column matrix is depicted by check boxes. You can select or deselect the check boxes to define the cut pattern that you want.

If the number of rows and columns exceeds 10, then the cut pattern is not displayed on the Cut pattern tab of the Create Via form.

Array Pattern Tab

The following table describes the fields available on the Array pattern tab of the Single via mode on the Create Via form. Use this tab to create array patterns on vias. The tab is enabled only if the via definition selected in the Via Definition field is a cdsGenVia.

Field Description

Array Spacing

  • Spacing X: Specifies the spacing to be applied between the arrays of cuts horizontally.
  • Spacing Y: Specifies the spacing to be applied between the arrays of cuts vertically. The swap button enables you to swap the values in the Spacing X and Spacing Y fields.
  • Pattern X: Specifies the number of cuts in the array horizontally.
  • Pattern Y: Specifies the number of cuts in the array vertically.

For Pattern X and Pattern Y fields, you can provide multiple numbers separated by spaces. For example, if you specify 3 2 4 in the Pattern X field, then the via engine horizontally creates 3 cuts (separated by a “small” cut spacing), then a “large” Spacing X, then 2 cuts (separated by a “small” cut spacing), then a “large” spacing X, then 4 cuts (separate by a “small” cut spacing). This pattern is repeated or truncated depending on the number of cut columns specified on the System tab. For a 15x15 via, with 3 2 4 specified in the Pattern X field, the via engine will create a 3 2 4 3 2 1 via.

The swap button enables you to swap the values in the Pattern X and Pattern Y fields.

Rotate

Turns the via 90 degrees counterclockwise. You can also click the middle mouse button to rotate the via.

Sideways

Mirrors the via or via stack along the X axis. You can also press Ctrl and click the middle mouse button to mirror the via or via stack.

Upside Down

Mirrors the via or via stack along the Y axis. You can also press Shift and click the middle mouse button to mirror the via or via stack.

Stack Via Mode

The following table describes the options available in the Stack via mode on the Create Via form.

Field Description

Start Layer

Lets you select one of the two layers between which you want to place the via stack. The layer selected in the End Layer list does not appear in the Start Layer list.

End Layer

Lets you select one of the two layers between which you want to place the via stack. The layer selected in the Start Layer list does not appear in the End Layer list.

Justification

Sets the origin of a via. Cyclic field choices are: lowerLeft, centerLeft, upperLeft, lowerCenter, centerCenter, upperCenter, lowerRight, centerRight, upperRight, and offset.

Top Rows and Top Columns

Sets the number of rows and columns for the top via in the via stack. The default number of rows and columns is 1. Rows and columns cannot be specified for the individual vias in the via stack; they apply to the complete via stack. The command calculates the rows and columns of the vias below the top via in such a way so that all vias in the stack coincide.

Environment variables: viaStackRows and viaStackColumns

If the via stack contains custom vias, the default rows and columns of the custom vias are used for creating the via stack. You cannot modify the rows and columns of custom vias by using this form.

Via Definitions

Lets you select viaDefs for each layer pair between the specified Start Layer and End Layer. For each layer pair, the drop-down list displays the available viaDefs. The viaDefs are populated from the validVias constraint in the current constraint group in the technology file.

Cut Class

Displays cut class choices only if a cutClasses constraint has been defined for the cut layer of the selected viaDef in the layerRules section of the technology file.

Rotate

Turns the via 90 degrees counterclockwise. You can also click the middle mouse button to rotate the via.

Sideways

Mirrors the via or via stack along the X axis. You can also press Ctrl and click the middle mouse button to mirror the via or via stack.

Upside Down

Mirrors the via or via stack along the Y axis. You can also press Shift and click the middle mouse button to mirror the via or via stack.

For descriptions of the common options Compute From, Constraint Group, and More Options, refer to Single Via Mode.

Auto Via Mode

The following table describes the options available in the Auto via mode on the Create Via form. In the auto via mode, vias are automatically placed at the intersection of two paths.

Field Description

Use Entire Overlap

Uses the entire overlap to create the via. If this option is not selected, an intersection between the user area and the overlap box is used to create the via.

Environment variable: viaUseEntireOverlap

  • The following figure shows the effect when this option is deselected.
  • The following figure shows the effect when this option is selected.

Cut Class

Displays cut class choices only if a cutClasses constraint has been defined for the cut layer of the selected viaDef in the layerRules section of the technology file.

Environment variable: viaCutClassInAuto

Via Alignment

Specifies the alignment of the via using the alignment choices: auto, top-left, top-center, top-right, center-left, center-center, center-right, bottom-left, bottom-center, bottom-right, edge-align, two-edge-align, and two-edge-align-center. The default is auto .

Environment variable: viaAutoViaAlignment

Cut Class Orientation

Specifies the preferred orientation for the cut class as one of the following: auto, horizontal, vertical, or uniform in stack.

Environment variable: viaCutClassOrientation

Cut BBox Orientation

Specifies the preferred direction for the cut box as one of the following: auto, horizontal, or vertical.

Environment variable: viaAutoViaCutArrayDirection

Min Number of Cuts

Specifies the minimum number of cuts to be automatically created for any overlapping area between two shapes.

Environment variable: viaAutoViaMinNumCuts

Max Stack Depth

Searches the overlap with the same number of transitions or less than the specified number. You can specify the value of the maximum stack depth. If you specify 1 as the value in the Max Stack Depth field, and the layers under Metal11 are Metal2 and Metal5, only the overlap Metal1-Metal2 is retained. The other overlaps, Metal1-Metal5 (stack depth=4) and Metal2-Metal5 (stack depth=3) are dropped.

Environment variables: viaAutoViaEnableMaxStackDepth and viaAutoViaMaxStackDepth

More Options

This section lets you define the via settings like whether to prevent DRC violations and show previews and hints.

Connect Shapes on The Same Net

Connects the shapes that are on the same nets.

Fill Polygonal Overlap

Lets you define the fill style when the overlap is polygonal. You can choose to either fill in all the tiles of the polygon overlap, Fully, or only the tile under the pointer, Partially.

Align Cuts

Specifies the alignment of cuts between different tiles of a polygonal overlap. When this option is enabled, cuts between different tiles of a polygonal overlap are aligned. When this option is disabled, the polygonal overlap is decomposed into a set of largest tiles and vias are created independently in each tile, which may result in cuts not being aligned between different tiles.

Environment variable: viaAlignCuts

Prevent DRC Violations On The Overlap

Prevents the creation of a via if it introduces DRC violations on the overlap. If this option is not selected, the via is created even if it introduces DRC violations on the overlap.

Environment variable: viaPreventDRCOnOverlap

Prevent DRC Violations With Neighbors

Prevents the creation of a via if it introduces DRC violations with the neighboring shapes. If this option is not selected, the via is created even if it introduces DRC violations with the neighboring shapes.

Environment variable: viaPreventDRCWithNeighbors

Prevent Via Larger Than Overlap

Prevents the creation of a via if it is larger than the overlap.

Show Preview

Shows a preview of the via that will be created.

Environment variable: viaAutoViaPreviewShow

In Auto and Fast Edit via creation modes, a label PREVIEW is displayed close to the pointer. This ensures that you are aware that the displayed via is a preview and not a real via existing in the layout design. When you click the overlap area, the via is created and the PREVIEW label disappears.

If the layout editor is not able to display the preview of the via in a reasonable time, the label PREVIEW TOO COMPLEX is displayed.

In the Fast Edit mode, the vias are updated instead of being re-created, wherever possible.

For details on auto via preview and fast edit via creation mode, see the video Auto Via Preview & Smart Auto Via.

Show Hints

Displays the Auto Via Preview Bindkeys hint box on the canvas.

Environment variable: viaAutoViaHints

  • Rows +/-: Use Ctrl + mouse wheel up/wheel down to add or remove via rows.
  • Column +/-: Use Shift + mouse wheel up/wheel down to add or remove via columns.
  • Swap Rows and Columns: Use mouse wheel up/wheel down to swap rows and columns.
  • Lock/Unlock Via: Use the spacebar to lock or unlock the via displayed in the preview. When no via is displayed in the preview and the pointer is over an existing via, this feature locks/unlocks the via under the pointer.

Fast Edit Via Mode

Use the Fast Edit via mode if you want to perform interactive via editing. The following table describes the option available in the Fast Edit via mode on the Create Via form.

Field Description

From Selected Vias

Lets you use fast edit command from a set of selected vias.

Environment variable: viaFastEditFromSelectedVias

The other options available in the Fast Edit via mode are same as the Auto via mode options. For a description of the common options, refer to Auto Via Mode.

Related Topics

Layout Editor Options Form

Save Via Variant Form

Compute Enclosures

Technology File Via Definitions and Via Specifications

Via Creation

Create Via Options Form

leHiCreateVia


Return to top
 ⠀
X