Routing Assistant User Interface for Device-Level Routing
The Routing assistant is a simplified, consistent, flow-based assistant for all design types. It has the same look and feel for device, standard cell and chip assembly routing with a common toolbar for all routing types. The Routing assistant is a dockable assistant pane that provides various options to let you perform tasks related to advanced routing technology.
The Routing assistant lets you:
- Select the routing mode and design type
- Load and save routing options
- Manage the routing flow through dedicated tabs
- Display alerts and other information about the width spacing patterns you are creating and updating
- Access the unified Routing Constraint Manager
The Routing Assistant has the following components:
Routing Assistant Toolbar
The following table lists the functions of the different buttons on the Routing assistant toolbar:
Routing Assistant Tabs
The following table lists the functions of the different tabs in the Routing assistant:
The options in the Routing Assistant depend on the routing type in which the design is open. These routing types are:
- Device-level This routing flow help users to get familiar with the device-level placement and routing solution in Virtuoso for advanced-node, with the focus on uniform designs.
- Standard Cell This routing technology seamlessly integrates the NanoRoute router in the Virtuoso environment. It provides different ways for you to generate WSPs as well as route without them, relying on Innovus created tracks.
- Chip Assembly This routing technology is meant for routing a top-level design that has macro instances, I/O pads, and can also contain stdcell areas. It also addresses memory type designs using Spine routing.
Setup
The following table describes the fields available on the Setup tab of the Routing assistant for device-level routing type.
| Field | Description |
|---|---|
|
Inserts trim shapes in the design to fix DRC errors. Environment variable: setup_insertTrim |
|
|
Controls whether to automatically runs DRD design rule checks after routing. Environment variable: setup_checkDRCsAfterRouting |
|
|
Environment variable: setup_lockColorsAfterRouting |
|
|
Lets you specify the pin extraction style before routing. The available options are: |
|
|
Specifies the constraint group used to supply a default set of constraints for routing modes. The default constraint group is |
|
|
Opens a form with a table that maps the wireType to the symbol to be used in the pattern specification in the table. |
|
|
Generates the pattern of WSP as per your requirement. For example, |
|
|
The routing direction of the layer. The supported routing directions include Horizontal, Vertical, Orthogonal, and Forbid. Forbid implies that no direction is considered. |
|
|
The width spacing patterns defined for the layer. All available WSPs are displayed in the WSP drop-down list. If any WSP pattern for a layer is not available in the Track Pattern Assistant, then the WSP drop-down appears blank. When you select a WSP from the drop-down list in the Setup tab of the Routing assistant, the WSP is active in the Track Pattern Assistant. If you make any WSP pattern active in the Track Pattern Assistant, it is displayed as an active option in the WSP drop-down list in the Setup tab of the Routing assistant. |
Check
The following table describes the fields available on the Check tab of the Routing assistant for device-level routing type.
| Field | Description |
|---|---|
|
Provides a list of checks that can be run for the routing type. |
|
|
Lets you specify the checks to be run. Click All or None to select or deselect all checks with a single click. |
|
|
Checks for the availability of routing tracks on a metal layer. |
|
|
Checks for the misalignment between metal layer pins and WSP tracks in terms of color, width, and alignment. |
|
|
Checks for congestion or limitations for via placement and track density. |
|
Checks for insufficient space for DRC clean trim insertion. |
|
|
Checks if the metal layer pins are accessible and not dead or blocked. |
|
|
Checks for the misalignment of WSP tracks with source and drain pins. |
|
|
Checks the mismatch between diffusion pin nets on device and top-level nets. |
|
|
Reruns the trim engine deleting and replacing the existing trims such that there are no trim related violations. |
|
|
Specifies whether to run design rule checks for DRD. Environment variable: check_existingDRCs |
|
|
Controls the display of the checker log in the CIW once the checks are run. Environment variable: check_displayLog |
|
|
Controls the overwriting of the last log file. When the option is deselected, the existing log file is retained. Environment variable: check_overwriteLog |
|
|
Controls the generation of markers for errors. These error markers can be viewed in the Misc tab of the Annotation Browser. Environment variable: check_generateMarkers |
Supply
The following table describes the fields available on the Supply tab of the Routing assistant for device-level routing type.
| Field | Description |
|---|---|
|
Specifies whether to route all or selected supply nets. Environment variable: supply_nets |
|
|
Specifies whether to route everything inside the PR boundary or only within a guard ring or figGroup, or specify an area. You can also create supply stripes inside a row region or wsp region. The available options are: PR boundary, Guardring/FigGroup, Area, and WSP/Row. Environment variable: supply_netsWithin |
|
|
Restricts supply routing to layers with existing power or ground tracks. However, when unselected, allows all routing layers to be used. |
|
|
Lets you select the bottom and the top metal layers for routing. Environment variable: supply_deleteStripes |
|
|
Generates stripes when supply routing is run. Environment variable: supply_genSupplyStripes |
|
|
Inserts the vias between the intersection of the layer above and below the via. Environment variable: supply_insertVias |
|
|
Specifies whether or not the supply router should connect to instance terminal pins and guard rings. Environment variable: supply_connectToTermAndGR |
|
|
Determines whether or not the supply nets should share power and ground tracks as needed in the appropriate P and N regions. Environment variable: supply_shareTracks |
|
|
Determines whether or not to only route inside Pch or Nch region or not under shared track mode. Environment variable: supply_createOnPNRegions |
|
|
Specifies to create the supply grid as a figGroup. Environment variable: supply_createGridAsGroup |
|
|
Creates power stripes on tracks that are coincident with the PR boundary. When set to |
|
|
Creates power vias on tracks that are coincident with the PR boundary. When set to |
|
|
Controls the spacing of power nets per layer from the PR boundary to avoid any DRC. |
|
|
Specifies to create a pin instead of a pathSeg for the stripe. Environment variable: supply_createPins |
|
|
Enables to use pin as the layer purpose for the created pin. Environment variable: supply_createPinsOnPinPurpose |
|
|
Deletes the stripes generated by the supply router before power routing. Environment variable: supply_deleteStripes |
|
|
Deletes the vias generated by the supply router before power routing. Environment variable: supply_deleteVias |
|
|
Controls the display of the log in the CIW when supply routing is run. Environment variable: supply_displayLog |
|
|
Specifies whether to overwrite the last log file or keep the existing one. When the option is selected, the existing log is overwritten. Environment variable: supply_overwriteLog |
|
|
Write the output of the supply routing to the current cellview. Environment variable: supply_routedLoc |
|
|
Lets you select a view name to write the output of the supply routing to another cellview. You can also specify a non-database existing name.
The name of the cell is Environment variable: supply_defaultRoutedView, supply_routedLoc, supply_defaultRoutedCellExpression |
|
|
Specifies whether to copy only the supply grid or all initial data and the supply grid to the new cellview. Environment variable: supply_saveRoutingOnly |
Route
The following table describes the fields available on the Route tab of the Routing assistant for device-level routing type.
| Field | Description |
|---|---|
|
Specifies whether you want to route all nets, selected nets, or only nets with opens or shorts when the routing option is selected as Auto. When the routing options is selected as Assisted, the scope is Selected only, which allows routing of a single net at a time. Environment variable: route_nets |
|
|
Includes the power and ground nets for routing. This option is only available when the routing option is selected as Auto. |
|
|
Specifies whether to route everything inside the PR boundary, within a specified area, or within a device array or figGroup. Environment variable: route_netsWithin |
|
|
Lets you specify the routing options for automatic and assisted routing. |
|
|
When selected, lets you specify the options for automatic routing. |
|
|
Connects to both vias if there are two poly connections (vias). |
|
|
Routes the larger sized nets first over constraint nets so that convergence is given preference over constraints. |
|
|
Lets you specify the preferred bottom and top layers to be routed. |
|
|
Enables trim insertion in hierarchical designs. Environment variable: route_enableHierarchicalTrims |
|
|
Minimizes the capacitance on M0 nets in addition to the regular trim insertion. Environment variable: route_minimizeM0OnNets |
|
|
Lets you run finish routing on the preferred range of layers. |
|
|
Lets you specify the bottom and top layers to be routed in the mesh. |
|
|
Lets you select whether or not to extend pre-routes to active meshing layer. Environment variable: route_meshExtendPreroutes |
|
|
Lets you create mesh on the specified layers of the selected nets within the specified scope. |
|
|
Lets you specify the bottom and top layers to be routed in pin to trunk routing. |
|
|
Creates trunks for the selected or all nets in the design. Environment variable: route_createTrunks |
|
|
Connects pins of devices and macro instances to existing trunks. Environment variable: route_connectInstsToTrunks |
|
|
Lets you run the Pin to Trunk routing on the specified scope either on all the nets or selected nets. |
|
|
Lets you select either all or no options for deletion. You can also select specific options. |
|
|
Deletes the wires and vias created by the router. Environment variable: route_deleteWiresAndVias |
|
|
Environment variable: route_deleteTrunks |
|
|
Deletes the manually routed wires and vias. Environment variable: route_deleteManualRouting |
|
|
Controls the display of the log in the CIW when signal routing is run. Environment variable: route_displayLog |
|
|
Specifies whether to overwrite the last log file or keep the existing one. When the option is selected, the existing log is overwritten. Environment variable: route_overwriteLog |
|
|
Writes the output of the supply routing to the current cellview. Environment variable: route_defaultRoutedView |
|
|
Lets you specify a view name to write the output of the signal routing to another cellview. Environment variable: route_defaultRoutedView |
|
|
Specifies whether to copy only the supply grid or all initial data and the supply grid to the new cellview. Environment variable: route_saveRoutingOnly |
|
|
Specifies whether or not to create routing as a figGroup. Environment variable: route_createRoutingAsAGroup |
Results
The following table describes the fields available on the Results tab of the Routing assistant for device-level routing type.
| Field | Description |
|---|---|
|
Specifies whether you want to show the routing result of all nets, selected nets, or only nets with opens. Environment variable: results_nets |
|
|
Shows the routing result of power and ground nets. Environment variable: results_supplyNets |
|
|
Specifies whether you want to show the routing result of nets inside the PR boundary or within a device array or figGroup. Environment variable: route_netsWithin |
|
|
Displays the summary of the routing results for various parameters, such as Time, Instances, Nets, DRCs, Opens, Shorts, Wire Length, Vias. |
|
|
Specifies the output columns to be displayed in the Routing Results Browser |
|
|
Lets you select either all or none parameters for which output should be displayed. The parameters are: Rule Violations, Symmetry Violations, Matched Length Violations, Shield Violations, Opens, Shorts, DRCs, Wirelength, Vias, Ratio, Pin count, Manhattan X, and Manhattan Y. |
Routing Assistant Command Buttons
The following table lists the functions of the different command buttons in the Routing assistant:
| Icon | Command | Description |
|---|---|---|
|
Generates width spacing patterns automatically on the selected layers. |
||
|
Runs mesh routing to let you create mesh on the specified layers. |
||
Related Topics
Return to top