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

9


Using the Pin to Trunk Routing

The Pin to Trunk routing style is used to connect an individual pin to a trunk. Only the connections that are within the scope of a trunk are routed. The remaining opens are completed by the Custom / Digital (MST) routing style or manually. The Pin to Trunk routing style is usually used when a spine structure is required.

Pin to Trunk routing allows you to add connections from the pins of devices and macro instances to existing trunks. The Pin to Trunk routing is performed after composing trunks. For more information on composing trunks, see the Composing Trunks routing step.

This chapter describes the features and functionality of the Virtuoso Space-based Router Pin to Trunk routing. It covers the Pin to Trunk toolbar and the various options for controlling the behavior of Pin to Trunk routing. To specify the options, use the Pin to Trunk subform. The Pin to Trunk subform is displayed when the Pin to Trunk routing style is selected from the Routing Preferences tree in the Virtuoso Space-based Router Options form.

The following sections are included:

Pin To Trunk Toolbar

The Pin To Trunk toolbar consists of a set of icons that provide quick access to commonly used options settings or action selections in Pin to Trunk routing, without having to use the Pin To Trunk subform in the Virtuoso Space-based Router Options form.

The Pin To Trunk toolbar is not available by default in the layout window. To display the toolbar, choose Window ToolbarsPin To Trunk. You can use this toolbar to access the options for Pin to Trunk routing shown below.

Pin to Trunk: All Nets

The Pin to Trunk icon lets you set up the routing scope and run the Pin to Trunk command on the specified routing scope either on all the nets or selected nets. Click the arrow next to the icon to view the Pin to Trunk routing scope options available on the drop-down menu associated with the icon.

The Current Editable Cellview, Current View Area, and Specified Area options behave as a group of radio buttons; that is, you can only select one of the options at a given time.

Extend Trunks

The Extend Trunk icon lets you set up the options for the router to automatically extend a trunk. Click the arrow next to the icon to view the trunk extension options available on the drop-down menu associated with the icon.

The Extend Trunk section in the Modification group box of the Trunk subform is enabled only when the One Direction Trunk Extending or Both Directions Trunk Extending option is selected from the Trunk Extending drop-down menu.

Trunks Trimming

The Trunks Trimming icon turns on or off the Trunk Trimming step in the Pin to Trunk subform. By default, the Trunk Trimming step is ON. The functionality of this icon is the same as the Trunk Trimming step in the Routing Steps group box of the Pin to Trunk subform.

Reset Pin To Trunk Options

Clicking the Reset Pin to Trunk Options icon resets all the Pin to Trunk related DFII environment variables to their default .cdsenv values.

If you notice the mismatch icon ( ) after you click an option of a Pin to Trunk toolbar, it indicates that the value of at least one of the options in the Pin to Trunk subform is no longer matching its default value. The tooltip on the icon is displayed as Option value mismatched. To reset all the Pin to Trunk environment variables to the default values, click the icon button.

Behavior of Pin to Trunk Toolbar Icons

The section covers the behavior of the pin to trunk toolbar icons.

Behavior of the Pin to Trunk Options Preset Scripts Icon

In the Pin To Trunk toolbar, the behavior of the Pin To Trunk Options Preset Scripts icon is based on the last action of either the Default, Gate Strapping, or Twigs on Pin Layer options preset script. By default, the Pin To Trunk toolbar resets all the Pin to Trunk options to their default values and the associated tooltip is displayed on the toolbar. However, after an options preset script is run, the tooltip on the icon automatically changes to the tooltip associated with the executed options preset script. The tooltip on the icon informs you of the last options preset script that was run.

For example, the Pin to Trunk Options Preset Scripts icon in Fig A shows the default action. The Fig B displays the selection of the Gate Strapping options preset script. In Fig C, the tooltip of the icon changes from Pin to Trunk default options to Pin to Trunk Gate Strapping options script.

In addition, after the options preset script is run, the name of the options preset script is displayed along with Pin to Trunk on the Virtuoso Space-based Router Options form, as shown in the following figure.

Behavior of the Extend Trunks Icon

The behavior of the Extend Trunks icon is based on the last action of one of the following: No trunk Extending, One Direction Trunk Extending, or Both Directions Trunk Extending. By default, the trunk extension is set to None and the associated icon is displayed on the toolbar, as shown in Fig A. However, when you click the One Direction Trunk Extending menu item, the selected trunk is extended in one direction and the toolbar icon changes to Extend Trunks: One Direction, as shown in Fig B. Similarly, the toolbar icon changes to Extend Trunks: Both Directions when the Both Directions Trunk Extending menu item is selected, as shown in Fig C. The tooltip on the icon informs you of the last action that was performed for trunk extension.

Pin To trunk Routing Options

Click Auto Route Styles. This displays the Auto Route Styles subform. The subform consists of the hyperlinks to quickly navigate to the available routing styles, as shown in the following figure.

To specify different options for controlling the behavior of Pin to Trunk routing, click Pin to Trunk in the Auto Route Styles tree. The Pin to Trunk subform is displayed, as shown in the following figure.

Use the Pin to Trunk subform to specify the Pin to Trunk routing options. You can specify the required options for Pin to Trunk routing that are explained in the following sections:

For a short demonstration on how to use the new and enhanced Pin to trunk interactive and automatic routing features, see Pin to Trunk Usage.

Specifying Routing Steps

From the Routing Steps group box, you can select the routing steps that should be run sequentially. Each step controls the availability of the options on other Pin to Trunk subforms. If an option on a Pin to Trunk subform is disabled, it means that the option is dependent upon one of the routing steps which has been deselected. The tooltip on the disabled option informs you about the routing step that is required in order to enable the option. For example, when the Trunk to Trunk Routing step is deselected, the Mode option in the Trunk to Trunk Connection subform is disabled, as shown in the following figure.

There are eight routing steps. Out of the eight routing steps only four are selected by default. You can select or deselect any one or more of the routing step at a given time. However, ensure at least one step remains selected.

Composing Trunks

Select the Compose Trunks routing step if you want to convert the selected set of shapes into a trunk object. A message in the CIW summarizes the objects that are converted to form a trunk. This trunk object can then be used to perform Pin to Trunk routing. The Pin to Trunk router is started by default when you run the route command from the Net context-sensitive menu after selecting the trunk net in the Navigator assistant. The Pin to Trunk routing step is performed after composing trunks, as shown in the following figure.

Environment Variable: autoComposeTrunk

Generating Trunks

Select the Generate trunk routing step if you want to generate trunks for the selected or all nets in the design. For more information, see Specifying Trunk Generation Options (ICADVM18.1 EXL Only).

Extending Trunks

In this routing step, the selected trunk is extended while routing. The trunk extension behavior depends on the options that have been specified in the Extend Trunk section of the Modification group box in the Trunk subform. For more information, see Extend Trunk.

Environment Variable: trunkExtending

Ordering Trunks

When this routing step is selected, the router optimizes the total routing length by re-ordering trunks not connected to a pin or another trunk. The trunks with more open twigs on the top are placed closer to the top end while the trunks with more open twigs on the bottom are placed closer to the bottom end. The trunks that have different widths retain the original width after their order is modified. The following figure shows the optimized trunk ordering when the Trunk Ordering routing step is deselected as well as selected.

Environment Variable: orderTrunks

Tapering Trunks

The trunk tapering routing step lets you taper the trunks depending on the options that have been specified in the Taper Trunk Width section of the Modification group box in the Trunk subform. For more information, see Specifying Trunk Options.

Environment Variable: trunkTapering

Routing Twigs

This routing step is selected by default, which ensures connectivity between the pins orthogonal to the trunks, as shown in the figure below.

Also, when Pin to Trunk routing starts, the router, by default, completes the routing with a tap partially covering the trunk if complete coverage of the width of the trunk is not possible; ensuring that the number of vias used is not less than the value of the minNumCut constraint.

Environment Variable: pinToTrunk

Trunk to Trunk Routing

When selected, vias are added at the intersections of the trunks. This can also be used together with trimming, as shown in the following figure:

However, when the Trunk to Trunk Routing step is deselected, the trunks are preserved and no vias are added, as shown in the following figure:

The Trunk to Trunk Routing is selected by default and connects all the trunks, as shown in the figure below.

When trunk to trunk is used to weld overlapping trunks, the layers and vias should be set up in the Wire Assistant in such a manner that only the trunks and vias between the selected layers are available.

Environment Variable: trunkToTrunk

Trimming Trunks

In this routing step, both ends of a trunk are trimmed while routing when the Trunk Trimming routing step is enabled. However, when the Trunk Trimming routing step is disabled, the length of the trunks is preserved. By default, the Trunk Trimming routing step is enabled. The following figure shows routing when Trunk Trimming is disabled and when it is enabled.

The Trunk Trimming step can be run independently on pre-existing trunks.

Environment Variable: trunkTrimming

Specifying Routing Scope

The Scope group box allows you to specify the options to control the scope and region of Pin to Trunk routing. In addition, it allows you to specify the trunks that are to be used for Pin to Trunk routing and Pin to Trunk relation.

Specify the routing scope for Pin to Trunk routing, as explained in the following sections:

Environment Variable: routingScope

Specifying Range or Area

You can specify the range or area for Pin to Trunk routing. You can further specify the trunk selection and pin selection criteria for the trunks and pins enclosed in the specified range or area.

Current Editable Cellview

This is the default option. When selected, only the trunks and pins in the editable cellview are routed, as shown in the following figure.

Current View Area

When this option is selected, the trunks and pins partially or fully enclosed in the current viewable area are considered for routing, as shown in the following figure.

Specified Area

When this option is selected, the Define Area field is enabled. You can specify the area in which the trunks and pins partially or fully enclosed will be considered for routing, as shown in the following figure.

Environment Variable: routingAreaLLx, routingAreaLLy, routingAreaURx, routingAreaURy

Trunk Selection

The selection drop-down list allows you to select the number and the trunks that are to be used by the Pin to Trunk routing engine. The two possible values in the selection drop-down list are Closest or Selected and As Many As Possible.

Environment Variable: selectTrunkMode

Pin-Trunk Relation (Orthogonal Twig)

You can select one of the following options from the Pin-Trunk Relation (Orthogonal Twig) section.

Mode

Determines the mode that should be used to route the orthogonal pins to trunks. The possible values are Auto, Channel, Space, and All. By default, Auto is selected.

Environment Variable: selectOrthoPinsMode

Search from Pin Side

Specifies a search direction to control which trunks get selected for routing. You can select North, South, East, West, or Over as the search direction for the selected trunk. You can select one or more search directions for a trunk. The default is to search for trunks in all directions. The following figure shows when all search directions are selected.

Before specifying the search direction for a trunk, a trunk should be selected and applied. For example, if you select the Specified Area option, and North and South as the search direction, only the trunks on the north or south side of the pins within the given area are used for routing.

Environment Variable: selectNorthTrunk, selectSouthTrunk, selectEastTrunk, selectWestTrunk, selectOverInstTrunk

In Range

By default, the In Range check box is deselected and the adjacent field is disabled. When you select the check box, the field is automatically enabled allowing you to enter a range. The search for trunks is limited to the specified range. The number of trunks selected depends on the option selected from the selection drop-down list.

Environment Variable: selectTrunkRangeValue, selectTrunkWithinRange

Include Non-orthogonal Twigs

For routing the top-level pins, select the Include Non-orthogonal Twigs check box. The top-level pins are routed as shown in the figure below.

The router connects the top-level pins to only those trunks that are placed orthogonally to the pin.

Environment Variable: includeNonOrthogonalTwigs

Pin Selection

The Pin Type drop-down list allows you to select the type of pin that should be used for Pin to Trunk routing. The possible values are All, Gate, and Source And Drain.

Environment Variable: connectPinType

Specifying Trunk Options

The Trunk subform is displayed when you select Trunk from the Pin to Trunk tree in the left pane of the Virtuoso Space-based Router Options form.

Use this subform to specify the options for creating new trunks and modifying the existing trunks. To enable all the options available in the Trunk subform, you must select the Generate Trunks, Extend Trunks, Taper Trunks, Trunk to Trunk, and Trim Trunks routing steps in the Pin to Trunk subform.

The options in the Trunk subform are categorized into Generation and Modification group boxes. Specify the trunk options as explained in the following sections:

Specifying Trunk Generation Options (ICADVM18.1 EXL Only)

You can specify the options for generating a new trunk in the Generation group box of the Trunk subform. Trunk generation can happen when the Generate Trunks routing step is selected in the Pin to Trunk subform.

Environment Variable: trunkSetup

You can specify the following trunk generation options in the Generation group box of the Trunk subform:

Specifying the Trunk Mode

From the Mode drop-down list, select either the Row Based, or the Copy option. By default, Row Based option is selected.

Specifying Row Based Trunk Generation Options

The following sections lets you specify the options for row based trunk generation.

Specifying Over Cell Row Options

The options grouped below Over Cell Row are only applicable for source and drain pins.

Specifying In Channel Options

The In Channel options are valid for gate trunks. The gate trunks are the only trunks that are automatically generated in the channel.

Specifying Custom Settings

This section lets you specify the settings that are applicable to mature nodes design as well.

Specifying Copy Options for Trunk Generation

The Copy mode lets you generate trunks for all pins on a net, based on the properties of existing trunks. The following sections lets you specify the options for Copy mode for trunk generation.

Specifying Source Trunk Options

Specifying Target Trunk Options

The Match Pin Pattern and Trunk Position Preference fields enable you to accommodate various symmetry preferences.

Related Topics

Using Automatic Trunk Generation in Pin to Trunk Route Flow

Specifying Trunk Modification Options

You can specify the following trunk modification options in the Modification group box of the Trunk subform:

Extend Trunk

The Extend Trunk section is enabled only when the Trunk Extending routing step is selected in the Pin to Trunk (Default) subform. You can extend only those trunks that do not have any connection to a pin or another trunk.

For a short demonstration on how to extend trunks and view the result of trunk extension, see Extending Trunks.

In this section, you can specify how to extend the trunks during pin to trunk routing.

Trim Trunk

The Trim Trunk section is enabled only when the Trunk Trimming routing step is selected. The trunk trimming options are only available for trunks with at least two connections to either a pin or a trunk. It does not remove an entire dangling trunk. Also, if a trunk has one or no connection, trunk trimming does not trim or remove the trunk.

In this section, you can specify how to trim the trunks during Pin to Trunk routing. By default, the Both Ends option is selected. You can trim Both Ends, Left/Lower End, or Right/Upper End of a trunk.

Environment Variable: trimTrunkMode

You can also connect a multipart path guard ring to a trunk by changing the Connectivity attribute of a guard ring from net to pin. The Pin to Trunk routing then treats it as a pin and connects the guard ring to the trunk. For more information on MPP Guard Ring, see Creating and Editing Multipart Paths.

Taper Trunk Width

The Taper Trunk Width section is enabled only when the Trunk Tapering routing step is selected in the Pin to Trunk subform. When a trunk is tapered, the tapered trunk fragments remain connected and form a stair-like structure. By using the trunk tapering options, you can specify the appearance of the stair-like structure. The trunk tapering options are available only for trunks with at least two connections to either a pin or a trunk.

In this section, you can specify the options to taper the trunk widths during Pin to Trunk routing.

Specifying Twig Options

The Twig subform is displayed when you select Twig from the Pin to Trunk tree in the left pane of the Virtuoso Space-based Router Options form. In the Twig subform, specify the twig options for Pin to Trunk routing as explained in the following sections:

All the options in the Twig subform are available only when the Pin to Trunk routing step is selected in the Pin to Trunk subform.

Specifying General Twig Options

In the Twig subform, you can specify the following general options.

Connect All Pin Shapes to Trunks

A shape can be a simple shape (for example, rectangle) or a complex shape with multiple sub-shapes (for example, polygon). By default, the router connects to the closest simple shape, or a sub-shape of the closest pin of a terminal. However, if the Connect All Pin Shapes to Trunks check box is selected, the router connects to all the simple shapes and sub-shapes of all the pins of a terminal, as shown in the following figure.

You can also specify a trunk range to control which shapes of a terminal should get connected. The Connect All Pin Shapes to Trunks check box is deselected by default.

Environment Variable: connectMultiPinShapes

Merge Taps in Close Proximity

When selected, the router merges the taps that are close to each other. This means that the router merges adjacent parallel taps if the distance between them is less than the minimum spacing. When this check box is deselected, each tap is connected to the trunk. The Merge Taps in Close Proximity check box is selected by default.

Environment Variable: mergeTapsInCloseProximity

Match Twig Length on Selected Nets

When selected, the shorter twigs are extended so that all twigs on the selected nets have the same length. The twig length is matched to the length of the largest twig irrespective of how far the trunk is placed from the pin, as shown in the following figure.

Environment Variable: twigLengthMatching

Via Covers Width of Pin

When selected, covers the entire width of a pin with vias. Otherwise, covers pins using the width of the routed wire. By default, the Via Covers Width of Pin check box is deselected.

Environment Variable: viaCoverPinWidth

Specifying Gate Twig and Non-Gate Twig Options

In this section of the form, you can specify the options for generating twigs between a trunk and poly (gate) or a trunk and source and drain pins.

The following examples illustrate how gate and non-gate twigs are created for various options available in the Gate Twig and Non-Gate Twig sections.

Example 1: The following figure shows an example where the twig is created on a valid routing layer and the width of the twig is set equal to the width of the pin.

Example 2: The following figure shows an example where the twig is created on the same layer as the pin and the width of the twig is set equal to the width of the pin. For the non-gate twig, the layer is specified as Metal4 and the width is specified as 0.2.

Example 3: The following figure shows an example where the layer for gate and non-gate twigs is selected as Metal1 and the width of the gate and non-gate twigs is set equal to the width of the pin.

Specifying Via over Pin Coverage Options

You can specify the following pin coverage options:

Trunk Offset from Device (Tap)

Specifies the percentage of a pin shape to be covered by a trunk tap when a trunk is not over a device. This reduces the parasitic capacitance effect across source and drain pins. In the following example, you can see  that net NetB is routed with M2 covering the M1 pin shape and the intersecting area is flooded with vias. The percentage specified to be covered by a trunk tap is (45, 45). The percentage is specified in the Topmost Vias and Other Vias cyclic field.

Trunk Over Device Via

Controls the percentage of source and drain pin coverage with via stacks except for the top layer, when the trunk is entirely over the device. In the following example, you can see that net A has the trunk over the device and the selected mode is Match Trunk. Therefore, lower vias cover 100 percent of the trunk width.

Environment Variable: trunkOverDeviceViaCoverMode

Environment Variable: trunkOverDeviceViaCoverPercent

Specifying Pin Strapping Options

In the Pin Strapping group box, you can specify the following pin strapping options:

When the Strap Pins on Different Instances check box is selected all the options in the Pin Strapping group box are enabled.

Specifying Trunk to Trunk Connections

The Trunk to Trunk Connection subform is displayed when you select Trunk to Trunk Connection from the Pin to Trunk tree in the left pane of the Virtuoso Space-based Router Options form.

Environment Variable: connectTrunkType

You can specify the following modes for the trunks:

Composing and Decomposing Trunks

The Compose Trunks and Decompose Trunks commands are available in VLS XL in the Edit – Wiring menu. You can also access these commands from the Shape and Multiple context-sensitive menus that display if you right-click in the design display area after selecting one or more objects.

Alternatively, you can access the Compose Trunks and Decompose Trunks commands from the Navigator context-sensitive menu. The context-sensitive menu is displayed when you right-click the net after selecting it in the Navigator Assistant.

Use the Compose Trunks command to convert the selected set of shapes into a trunk object. Only pathsegs, vias, and rectangles are converted into trunk objects. Other shapes, such as paths and polygons, are not converted. For each object in the selected set that fails to be converted into a trunk object, the command creates an OA marker. This OA marker is visible in the Annotation Browser. A message in the CIW summarizes the objects that are converted to form a trunk. These trunk objects can then be used to perform pin to trunk routing. The pin to trunk router is started by default when you run the route command from the Net context-sensitive menu after selecting the trunk net in the Navigator assistant.

Use the Decompose Trunks command to convert the selected set of trunk, comprising selected set of shapes, to the original shapes from which it was formed. A message in the CIW summarizes the objects that are converted to original shapes. If the selected shapes are not part of a trunk and you run the Decompose Trunks command, the number of converted objects reported in the CIW is 0.

Highlighting Trunks

For a short demonstration on how to highlight trunks and view the twig lines, see Highlight Trunks.

The Highlight Trunks option helps you to identify the trunk for which the twigs will be created. To identify composed trunks of a selected net and to highlight the trunks and twigs in the layout canvas, right-click the net in the Navigator and choose Highlight Trunks from the context-sensitive menu. The twigs are highlighted based on the options in the Scope section of the Pin to Trunk subform. The options that are considered while highlighting the trunks and twigs are as follows:

To highlight trunks for all the nets that have a valid composed trunk in a cellview, right-click the cell and choose Highlight All Trunks from the context-sensitive menu.

Trunks and twigs that are legal and can be recognized by the router are highlighted.The following figure shows an example where the trunks and twigs are highlighted when the Current Editable Cellview option is selected and in the Search from Pin Side, South is deselected.

The trunks and twigs remain highlighted—even when you zoom in or out the layout canvas—until you change the selected set either in the Navigator or in the layout canvas.

Environment Variable: highLightTwigType

Using the Finish Trunk Command

The Finish Trunk command on the Create Bus and Create Wire context-sensitive menu automatically converts all the pathSegs except for the first and the last pathSeg into trunks, regardless of whether they are connected to a pin or not. The first and the last pathSeg is considered as a regular pathSeg if it is connected to a pin at one end and to a trunk at the other end. Else, it is converted to a trunk. The default bindkey for running the Finish Trunk command is 2.

The Finish Trunk command enables pin to trunk connections only when Pin to Trunk Routing is selected from the Pin to Trunk options in the Virtuoso Space-based Router Options form. If the Pin to Trunk routing step is deselected, the Finish Trunk command skips pin to trunk routing. In addition, if the Compose Trunks step is selected, then all the wire segments are converted into trunks, regardless of whether they are connected to the pins or not. By default, the Compose Trunks routing step is deselected.

The Finish Trunk command connects intersecting trunks only when the Trunk to Trunk Routing step is selected. The non-intersecting trunks are not connected by the Finish Trunk command.

To determine which pins should be connected, the Finish Trunk command uses the value selected in the Mode field in the Pin-Trunk Relation (Orthogonal Twig) section in the Scope group box of the Pin to Trunk (Default) subform.

The default value of Mode is Auto, which means that the Finish Trunk command selects only the pins that are in the same channel as the trunks. To allow the Finish Trunk command to connect the pins that are not in the same channel as the trunk, select either the Space or All option from the Mode drop-down list. The following figure shows a layout design on which the Finish Trunk command was run successfully with Mode set to All.


Return to top
 ⠀
X