Product Documentation
Virtuoso Space-based Router User Guide
Product Version IC23.1, August 2023

C


Wire Assistant

The Wire Assistant is a dockable assistant that provides a quick, easy, and single point of access to the commonly used options for all routing purposes: automatic routing, interactive routing, assisted routing, and post-route optimization. The Wire Assistant is available in Layout Suite XL and higher tiers.

The Wire Assistant also provides single-point access to some of the constraint values to be used by the interactive routing for creating and editing wires. Using the constraint look-up feature, the Wire Assistant provides the values to be used and a way to create transient constraints to override some of the values in the fields. You can override values for constraints such as minimum width, minimum spacing, minimum number of cuts, valid layers, and valid vias. You can override the constraint values in the Wire Assistant if the values you specify are:

For more information about constraint group look-up precedence, see Constraint Group Lookup Precedence.

In addition, while routing a net from the Navigator assistant, you can choose to use the Wire Assistant to override values. To do this:

  1. In the Navigator assistant, right-click a net.
    The Net context-sensitive menu displays.
  2. Choose the Route With WA Override command.
    This command supports Specialty Routing.

Unlike the Process Rule Editor, the constraints set up by using the Wire Assistant are not persistent, with an exception. The spacing constraint set up by using the Wire Assistant is persistent on the resulting wiring, not net. In addition, the constraints set up by using the Wire Assistant do not impact the Route – Automatic Routing and the Batch Checker. In the Wire Assistant, overrides created by Automatic Routing are supported. These overrides are created when Automatic routing is done through the Automatic section of Wire Assistant, or from the Navigator context-sensitive menu.

This appendix covers the following topics:

Displaying and Hiding the Wire Assistant

To display the Wire assistant, do one of the following:

Once selected, Wire Assistant is added as a docked assistant pane within the current layout window. By default, Wire Assistant is positioned at the lower-right area of the session window.

To hide the Wire assistant, do one of the following:

Wire Assistant Graphical User Interface

The Wire Assistant comprises of two components, the toolbar and the different sections for configuring routing settings and configuring settings while creating and editing a wire or a bus. You can add or remove these sections from the Wire Assistant. You can also configure the fields and options to appear in each section, as required. This section covers the following:

Wire Assistant Title Bar Buttons

The Wire Assistant title bar has the following buttons:

Wire Assistant Toolbar

The Wire Assistant toolbar contains the following buttons:

For more information on the VSR Preset toolbar icons, see Working with VSR Presets.

Wire Assistant Sections

The Wire Assistant provides access to various options under the sections mentioned here. The Wire Assistant options that are available in other GUIs or context-sensitive menus, have been indicated. For others, it can be assumed that they are available exclusively in the Wire Assistant.

Options enabled or disabled or parameter values changed using the Wire Assistant are updated in the corresponding GUIs. Similarly, for GUI options that also exist in the Wire Assistant, any updates in the GUI gets reflected in the Wire Assistant settings.

By default, the Wire Assistant displays the Select, Override Constraints, and Automatic sections. The Automatic and Interactive sections are mutually exclusive to each other and only one of them is expanded at any particular time. The Automatic section is expanded by default when the Wire Assistant is first launched, or after escaping from one of the interactive commands. The Interactive section is enabled in the Wire Assistant when you start the Create Bus, Create Wire, Point to Point, and Guided Routing commands.

Select Section

The following option is available in the Select section of the Wire Assistant.

Nets

Lets you specify one or more net names for the current wire. The created wire is added to the specified net. A new net is created if the one specified does not already exist. A bus name can also be provided in the Net field. For example, net1<0:15>.

The net names in the Navigator assistant and the Wire Assistant are synchronized automatically. This means that if there are selected net in the Navigator assistant, they are automatically imported to the Nets field of the Wire Assistant.

The license token usage is based on the number of nets that are to be routed and not the absolute number of nets in the design.

Override Constraints

The Override Constraints section is displayed in the Wire Assistant by default. This section consists of the following three tabs:

When the Override Constraints check box is selected, the automatic and interactive routing commands, such as Finish and P2P routing, considers the overriding values of width, spacing, and via overrides into the Wire Assistant and accordingly routes the design. However, when the Override Constraints check box is deselected, the automatic and interactive routing commands do not consider the overriding values of width, spacing, and via overrides into the Wire Assistant and the routing is performed based on the default values.

Net

The constraint group used to seed the width and spacing table is mentioned above it. The Default constraint group is derived from the Wire setting in the Layout Editor Options form. For more information about the form, see Wire Editing in the Virtuoso Layout Suite documentation.

You can change the constraint group from which to seed the table by selecting a value from the Seed Attributes From a Constraint Group list on the Wire Assistant toolbar. If you select a different value from the Seed Attributes From a Constraint Group list, the Default label changes to Seeded and the constraint group name is changed to the one selected. For example, Seeded: LefDefaultRouteSpec. When you override a value in the Override Constraints section, the constraint group name is updated to default (Default: VirtuosoDefaultSetup), which is the same as the one selected in the Default Wire Constraint Group field in the Layout Editor Options form.

By using weWADefaultSeedCGName, you can seed a default constraint group on the Wire Assistant.

Some of the features of the Net tab include:

Pin Escape

The Pin Escape tab appears in the Override Constraints section of the Wire Assistant. This tab enables you to select the Top and Bottom layer limits and overrides the validLayers setting in the virtuosoDefaultTaper constraint group. If a virtuosoDefaultTaper constraint group does not already exist, it is created based on the specified Layers, Vias, and Halo values, in the wire default constraint group.

The following options are available in the Pin Escape tab of the Override Constraints section.

Pin Connection

Bus

Using the Bus tab in the Override Constraints section, you can change the bus bits configuration and enable the Add Shielding net feature. You can perform the following tasks using the options in the Bus tab.

The options in the Bus tab are enabled when you start the Bus command from the Create – Wiring menu and the Bus option is selected in the Wire Assistant Visibility form. This section is enabled as long as the Create Bus command is running.

The options available in the Bus tab are as follows:

The features of the Bus tab include:

Using the Buttons in the Bus Tab

The following figure displays the various buttons available in the Bus tab of the Overrides Constraint section.

The Swap Two Bus Bits button is enabled when there are just two selected bus bit Net cells.
The Add Bus Bits button is disabled if there are more than one selected bus bit nets in the table.

While adding three new bus bits when you specify the net name for the first bus bit and press Enter or Tab to move to the next unassigned bus bit, the unassign bus bits are not removed and a message is displayed in CIW at the first digitized point.

The Delete button is disabled if there is no bus bit selected in the bus bit table.

Specifying Net Names for Bus Bit

After the Create Bus command is invoked, the Bus section is enabled in the Override Constraints section of the Wire Assistant. If there are no nets selected in the Navigator window, the bus bit adds two empty bus bit rows with one intra-bit gap spacing row in between. You can then specify a name to the bus bit.

The Net columns of the bus bit rows displays unassign. The unassign is the net name and signifies that you are about to create unassign net. You can specify a name to the unassign net. The name of the net can be specified in the Net column of the bus bit row in the Bus tab. To specify a net name, double-click the Net column. The name of a bus bit can be a single net name or the bit-range names. For example, specify a<0:2> b<0:2> in the Net column and press the Enter key, The bus bit table expands this bus bit syntax and automatically replaces the current bus bit rows with six bus bit rows and five intra-bit gap spacing rows a<0>, a<1>, a<2>, b<0>, b<1>, b<2>, as shown in the figure below.

Existing Shielding Constraint on Bus Bit Net

When a bus bit has a pre-existing shield constraint on the database, the bus bit automatically calculates the intra-bit shielding space value, regardless of the Add Shielding mode. The following figure shows an example where net1 already has shielding constraint with shielding net VDD, 0.3 as shielding width, and 0.3 as shielding space. The Add Shielding mode is specified as None. The bus bit table still calculates the intra-bit shielding space as 0.9. The shielding net VDD is added between net1 and net2. Also, the background color of the intra-bit gap spacing cell has changed to purple with an appropriate tooltip as shown in the figure below.

Changing the Add Shielding Net Mode

Let us change the Add Shielding mode and add a shielding net to a bus bit net. To do this, perform the following steps:

  1. Select the Every Bit mode from the Add Shielding drop-down list.
  2. Specify the name of the shielding net as GND in the Net field. The Width and Gap fields are automatically filled up with the minimum constraint look-up values. After specifying the net name, the intra-bit shielding space value is calculated automatically and the bus bit table is updated with the new value.
    The Net column in the bus bit table now displays GND because bus bit net net5 is shielded by net VDD and bus bit net net6 is shielded by net GND.
  3. Specify 3.0 as the new gap value in the Gap field. After entering the new value, the intra-bit shielding space is recalculated and the tooltip is also updated accordingly. This is shown in the following figure.

Automatic Section

The Automatic section is expanded by default when Wire Assistant is first launched, or after escaping from one of the interactive commands. The Automatic section allows you to specify the options for automatic routing, DRC fixing violations, and post-routing optimization.

When clicked, the Refresh button next to the Design Style field prompts arecalculation of the automatic design style that has been determined. The refresh button is only enabled when the design style is selected as Automatic.

Routability Check

The Routability Check feature lets you perform a set of routing checks to determine the potential routing issues early in the cycle. The routing issues can prevent the router from achieving optimal results.

Using the Routability Check option available in the Auto section of the Wire Assistant, you can check the width, spacing, and accessibility of pins, and other issues that may affect routing. Because this feature checks the data against foundry rules, user constraints, and Wire Assistant overrides, it is important to set up the routability check options in the Wire Assistant before running Routability Check.

Routability checks are designed primarily for the Chip Assembly routing mode. Therefore, if you set the routing mode to Chip Assembly in the Wire Assistant, the whole suite of routing checks is available. However, if you set the routing mode to ASIC or Device Style mode, only the pin accessibility checks are available.

To perform routability checks on a design, choose the Routability Check option from the Command drop-down list. The routability checks are displayed in the Wire Assistant. After you have selected the routability checks to be run on the design, click the All or Selected button to start routability checks. When the checks are complete, a summary report appears in CIW and the results are displayed on the Routing tab of the Annotation Browser.

From Wire Assistant, you can run the routability checks either on all nets or on selected nets. Check Nets.

For more information on the routablility check options, see Routability Check.

The routability checks are also available in the Batch Checker form. This allows you to run routability checks along with various other checks. To open the Batch Checker form, choose VerifyDesign.

Select the required routability checks and click All to perform the routability checks on all the nets in the design. If you want to run the routability checks on only the selected nets, click Selected.

The routability checker generates a routability report, which summarizes the routability issues that are found in the design. This report is displayed in CIW, as shown in the following figure.

The error markers are displayed on the Routability tab of the Annotation Browser. The following figure shows violations for some pin checks, floating pin checks, and cover obstruction checks generated during a routability check.

Issues such as DRC violations should be addressed before attempting to route the design.

In the Description section of the Annotation Browser, the description of the pin checks mentions the name of pin that is not on the grid or on WSP, as shown in the following figure.

Auto Route

When the Auto Route option is selected from the Command drop-down list, you can specify the following Automatic routing options.

Track based Routing in Auto Route Flow

You can now do routing on WSPs or track patterns using the Auto Route command in the Wire Assistant. To enable track based routing, the following conditions must be satisfied.

Delete Routing

When the Delete Routing option is selected from the Command drop-down list, you can specify the following delete rouitng options.

The Design Style and Route Flow fields are disabled when the Delete Routing command is selected from the Command drop-down list.

For more information on the delete routing options, refer to Deleting Routing.

Fixing Violations

When the Fix Violations option is selected from the Command drop-down list, you can specify the following DRC fixing violation options.

The Design Style and Route Flow fields are disabled when the Delete Routing command is selected from the Command drop-down list.

Fix Violations

Optimization

When the Optimization option is selected from the Command drop-down list, you can specify the following post-routing optimization options.

The Design Style and Route Flow fields are disabled when the Delete Routing command is selected from the Command drop-down list.

For more information on the routing optimization options, refer to Optimization.

Interactive Section

This section is enabled in the Wire Assistant when you start the Create Bus, Create Wire, Point to Point, and Guided Routing commands. In the Interactive section, you can specify the Create Wire, Create Bus, Point to Point, Guided routing, Finish Wire and Finish Entire Net options.

Create Wire

The Create Wire tab is displayed in the Interactive section of the Wire Assistant when you start the Create – Wiring – Wire command, and Create Wire is selected in the Wire Assistant Visibility form. This tab remains available in the Wire Assistant as long as the Create Wire command is active. The following options are available in the Create Wire tab of the Wire Assistant. The same options are also available in the Create Wire form.

Create Bus

The Create Bus tab is displayed in the Interactive section of the Wire Assistant when you start the Create – Wiring – Bus command, and Create Bus is selected in the Wire Assistant Visibility form. This tab remains available in the Wire Assistant as long as the Create Bus command is running. The following options are available in the Create Bus tab of the Wire Assistant. The same options are also available in the Create Bus form.

See Create Wire for the following Options

Finish

The Finish tab is by default displayed in the Interactive section of Wire Assistant if Finish is selected in the Wire Assistant Visibility form. The following options are available in the Finish tab of the Wire Assistant.

Finish Wire

Finish Bus

Point to Point

The Point to Point tab is displayed in the Interactive section of the Wire Assistant when you start the Create – Wiring – Point to Point command and Point to Point is selected in the Wire Assistant Visibility form. This tab remains available in the Wire Assistant as long as the Point to Point command is running. The following options are available in the Point to Point tab of the Wire Assistant. The same options are also available in the Point to Point Form.

See Create Wire for the following options.

Wire Assistant Forms

This section describes the following Wire Assistant forms:

Wire Assistant Visibility Form

You can open the Wire Assistant Visibility form using one of the following methods:

Use this form to configure sections and the options in each section that you want to display or hide in the Wire Assistant for a session. In this form, the top-level nodes (next to the - sign) represent titles of sections that appear in the Wire Assistant. The child nodes of these top-level nodes represent the fields and options that are available for the respective sections. Selecting the checkbox next to the top-level or child node displays the respective section and the field or option in a section, respectively, in the Wire Assistant.

The Files list displays all the possible locations where you can save the settings of the Wire Assistant Options form. By default, the settings are stored in the iaConfig.il file in the following directory:

./.cadence/dfII/ia/visibility/iaConfig.il

The following figure shows the contents of a sample iaConfig.il file, which indicates the visibility of fields and options in the Wire Assistant:

Via Configuration Form

The Via Configuration form is displayed when you click the ellipses button next to the Via field. The Via configuration form displays the Net tab and Pin Escape tab and a set of options that are common to both tabs.

Trunk Mesh Routing Configuration Form (ICADVM18.1 EXL Only)

The Trunk Mesh Routing Configuration form is displayed when you click the ellipses button

next to the Mode field.

The ellipses button is enabled only when the Trunk Mesh Routing option is selected from the Mode drop-down list.

The Trunk Mesh Routing Configuration form displays a table of layer settings and a set of options that you can use to configure trunk mesh routing.

Layer Setting Table

The Layer Setting table in the form shows the configuration settings for each layer in the design. The table is not used for updating the options. It is only for viewing the values.

The following table provides the description of each column in the Layer Setting table.

Column Name Description

Layer

Displays the layer name. You can select the row of a layer to update the options of that layer.

Use

Select the Use check box to select the layers that you want to use during mesh routing.

Min Width

Displays the minimum width to be used for the trunks created during mesh routing.

Max Width

Displays the maximum width to be used for the trunks created during mesh routing.

Trunk Control

Displays the option that have been specified for trunk creation. Trunk Control has three options: Number, Term Align, and Spacing.

Parameters

Displays the selected parameters depending on the Trunk Control option that is selected.

Options

To update the values of the parameters displayed in the Layer Setting table, you need to select a row in the table. You can then use the displayed options to update and set the values of the parameters for the selected row.

Related Topics

Using Trunk Mesh Routing in the Pin to Trunk Route Flow


Return to top
 ⠀
X