Product Documentation
Virtuoso Module Generator User Guide
Product Version IC23.1, November 2023

Array Assistant

Use the Array Assistant to quickly create and edit Modgens without invoking the Modgen Editor. The Array Assistant is accessible from both the Constraint Manager assistant and the Auto P&R assistant.

Tab Description

Placement

Specifies the Modgen pattern settings.

Guard Ring

Creates guard rings around Modgens.

Routing

Defines Modgen topology patterns and routing preferences.

Reuse

Loads and saves Modgen settings to template files.

The following buttons are common to all tabs:

Button Description

Apply

Applies the form settings to the Modgen.

Cancel

Discards settings and closes the Array Assistant.

Modgen_Name

Name of the Modgen for which settings are displayed in the Array Assistant.

Help

Opens help documentation for Array Assistant.

Placement

The following table describes the fields available on the Placement tab of the Array Assistant.

Field Description

Pattern Preset

Specifies the pattern in which the devices are to be placed within a Modgen. You can select a pattern preset from the drop-down list, specify the base symbol pattern, or specify the base orientation pattern.

Presets

Lists the following pattern presets

  • Current uses the current Modgen pattern.
  • Clustered displays a pattern based on the bottom-up approach, with row-based split.
  • Interdigitated applies an interdigitation of 1.
  • Compact adjusts the pattern to achieve the maximum abutment of devices.
  • Custom lets you specify a base pattern for the Modgen in the adjoining text box.
  • Resistor Topology provides a list of predefined array topologies.

Input Base Symbol Pattern

Specifies the base symbol pattern. In Layout EXL and higher tiers, set Pattern Preset to Custom before specifying the base pattern.

Input Base Orientation Pattern

Specifies the base orientation pattern. In Layout EXL and higher tiers, set Pattern Preset to Custom before specifying the base orientation.

Aspect Ratio

Specifies the aspect ratio of the Modgen.

Active Rows, Cols

Specifies the number of rows and columns in the Modgen. You can specify the number of active rows in the Modgen. The number of columns is automatically calculated and displayed.

Total available

Specifies the total number of non-dummy array members available in the Modgen.

Best Fit

This option is available only when Pattern is set to Custom and a value is entered in the custom pattern text box. In this mode, an optimal placement of the Modgen devices is achieved according to the specified pattern.

Allow Placer to change Aspect Ratio

Lets the Virtuoso device-level automatic placer adjust the aspect ratio of the Modgen to achieve optimized placement for the given floorplan. The rows and columns of the Modgen are modified, while retaining the base pattern. By default, this option is selected, implying that the placer can reshape the Modgen.

When Pattern Preset is set to Custom, the aspect ratio of the design is locked, and therefore, Allow Placer to change Aspect Ratio the option is automatically turned off.

Dummy Control

Specifies dummy parameters.

Dummy Net

Specifies the net to which the dummies are connected.

Dummy Type

Specifies the type of cells to be used as dummies. The available options are:

  • Default: Uses the default dummy defined in the Modgen Dummy Options form.
  • Analog Dummy: Inserts dummies of type analog cell.
  • Stacked Dummy: Insert dummies of type stack cell.

This option is available only in certain advanced node flows.
Environment variables: modgenDummyTypeAnalogLCV, modgenDummyTypeStackLCV, modgenDummyTypeStackNum

Fill Gaps with Dummies

Fills gaps between devices in the Modgen with dummy instances and adds dummy columns at locations where there are abutment breaks. Gaps caused by unabuttable devices are filled with the least number of cells.

Dummies are filled in the gaps inside the Modgen, and not on the edges. This is done to ensure that the Modgen can be completely abutted and is rectangular.

After running this command, making any further modifications to the grid might result in unabutted instances. Re-run the command to ensure that all devices are abutted.

The Fill Gaps with Dummies command is command is run when you click the button, but the changes are not applied to the canvas until you click Apply in Array Assistant.

In Layout EXL and higher tiers, the Fill Modgen Dummies option is available on the Placer tab of the Auto P&R assistant that provides a similar functionality. This is a stand-alone command that immediately modifies either the selected Modgen figGroups or all Modgen figGroups.

Top/Bot

Specifies the number of dummy rows to be inserted at the top and bottom of the Modgen.

Left/Right

Specifies the number of dummy rows to be inserted at the left and right of the Modgen.

Transition

Inserts a dummy column after the specified number of active device columns in the Modgen.

Transition dummies are columns of dummy devices inserted after the specified number of active device columns in the Modgen. For example, if Transition is set to 1, every alternate column is a dummy column.

Match

Creates the same number of fins or fingers as the neighboring device.

Specify

Specifies the required number of fins or fingers.

Pattern Symbol Mapping

Lets you view and change the mapping of devices in the Pattern box.

Add Selected Schematic Instances

Adds the selected instances to the active Modgen. You can add instances from the layout or schematic cellviews.

Remove Selected Instances

Removes the selected instances from the active Modgen.

Update Sandbox Instances from Schematic

Updates the device connectivity, parameters, and multipliers from the corresponding schematic cellview.

Auto-fit Columns

Automatically fit the columns in the Pattern Symbol Mapping table.

Pattern

Displays the Modgen pattern derived based on the specified preset, active rows, and dummies.

The pattern is derived based on the specified preset, active rows, and dummies.

Use the options in the previous sections to customize the pattern as per your requirements.

You can also directly edit the pattern in the Pattern box. For example, move instances or columns, copy and paste instances, swap instances or rows, clear cells, toggle between displays, and add dummies.

Add Row/Column

Adds a new row or column to the grid. Grid members are adjusted to fit the revised array dimensions.

Remove Row/Column

Deletes a row or column from the grid. Grid members are adjusted to fit the revised array dimensions.

Show Symbols

Shows symbol names in the Pattern table.

Show Layout Names

Shows layout names in the Pattern table.

Show Schematic Names

Shows schematic names in the Pattern table.

Show Orientations

Shows device orientations in the Pattern table.

Show Gate Net Names

Shows gate names in the Pattern table.

Bring Power/Ground-Connected Terminals to Row Edges

Bring all power and ground-connected terminals to their nearest row edges. The orientations of the related instances are updated based on their locations and the pattern preset is set to Custom. This command does not run on dummies added to the grid.

Table tab

Displays the grid pattern in a tabular format.

Text tab

Displays a textual pattern for the grid.

Save/Load CSV

Lets you save the current array settings to a comma-separated values (CSV) file or load array settings from a CSV file.

File Name

Path to the CSV file in which array settings are to be saved or from which array settings are to be loaded.

Pattern View

Specifies the format in which the pattern is to be generated in the CSV file. The valid values are:

Symbol: The symbols to which devices are mapped to in the Pattern Symbol Mapping section.

Schematic Name: The schematic counterparts of the devices.

Save

Saves the array settings to the specified CSV file.

Load

Loads array settings from the specified CSV file.

Spacing

Specifies the spacing between devices in a Modgen.

An unselected state for the spacing, alignment, and abut fields implies that if the current Array Assistant settings for these properties are customized (their state is unreachable by the spacing, alignment, or abut Array Assistant fields), the custom settings remain untouched during an Array Assistant Apply operation.

To customize Array Assistant spacing, alignment, and abut settings without using these fields, you can load an existing customized Modgen array into the Array Assistant.

Unselecting the spacing, alignment, and abut fields from a selected state always resets these values to their defaults, align left for Horizontal, align bottom for Vertical, and unabut all.

Horizontal

Specifies the spacing between devices in rows.

Vertical

Specifies the spacing between devices in columns.

Abut

Abuts all devices in the Modgen.

Abut is selected by default for new Modgens. If a Modgen reuse template file is loaded on the Reuse tab, Abut is updated based on the template.

Sync Row Abutment

Abuts all rows in the Modgen in a synchronized operation along a column.

When this option is not selected, each row is abutted individually, without considering the other rows.

Sync Row Abutment is selected by default for new Modgens.

Guard Ring

(Layout EXL and Higher Tiers) The following table describes the fields available on the Guard Ring tab of the Array Assistant.

Field Description

Net

Specifies the net to which the guard ring has to be connected. This option is available only when Type is set to MPP, FGR, or IGR.

Type

Specifies the type of guard ring to create. The available options are:

  • MPP: Creates a multipath part (MPP) guard ring.
  • FGR: Creates a fluid guard ring (FGR).
  • IGR: Creates an identical guard ring (IGR).

Definition

Specifies the guard definition to be used. Select from the list of available MPP, FGR, or IGR definitions depending on the selected Type.

Guard Ring Sides

Specifies the sides on which guard rings are to be inserted.

For MPP guard rings and FGRs, the available options are Left and Bottom.

For IGRs, the available options are Left, Right, Top, and Bottom.

IGR Type (IGR Only)

Specifies the type of IGR.

  • Surround creates IGRs that surround all instances.
  • Surround+Strip creates IGRs that surround all the instances, and inserts strips of guard ring instances between one or more Modgen rows.
  • Grid creates IGRs that surround every instance or group of abutted instances separately.

Strip Width in Fins (IGR Only)

Specifies the strip width.

Rows Between Strips (IGR Only)

Specifies the number of rows to be inserted between strips of IGRs.

Routing

(Layout EXL and Higher Tiers) Use the Routing tab of the Array Assistant to specify options to use the pin to trunk router to define Modgen topology patterns.

Tab Description

Horizontal Routes - Pin to Trunk

Specifies routing preferences for horizontal nets.

Vertical Routes - Pin to Trunk

Specifies routing preferences for vertical nets.

Horizontal Routes - Pin to Trunk

The following table describes the fields available on the Horizontal Routes - Pin to Trunk tab on the Routing tab of the Array Assistant.

Field Description

Net Priority

Specifies the order in which nets are to be routed.

Route

Specifies the nets to be used for routing.

Nets

Lists the names of nets that are present in the current Modgen.

Trunk Position

Specifies where the trunks are to be generated. The available options are:

  • In-Between Devices: Generates trunks in between devices in both, odd and even channels.
  • In-Between Odd: Generates trunks only in the odd-numbered channels in between devices.
  • In-Between Even: Generates trunks only in the even-numbered channels in between devices.
  • Outside: Generates trunks in the area outside the device row.
  • Over Devices: Draws horizontal routes over devices.

Trunk Layer

Specifies the trunk layers.

Trunk Width

Specifies the trunk width. By default, values from either the technology file or a predefined WSP are used.

Ext. as Vert.

Specifies whether the net is to be listed on the Vertical Routes - Trunk to Trunk tab. By default, the table is blank. The nets selected here are listed in the table on the Vertical Routes - Trunk to Trunk tab.

Trunk Settings

Specifies the trunk settings to be applied only to the nets selected for routing.

Trunk Spacing

Sets the spacing between trunks to one of the following values:

  • Default: Uses spacing value from either the technology file or WSP, if defined.
  • Custom: Lets you specify an absolute value.

Trim Trunks

Trims the ends of horizontal and vertical trunks while routing.

Share Tracks

Shares horizontal trunks that are on the same layer and have the same connectivity.

Over Devices Trunk Reference Layer

Specifies the layer in which the twigs connected to the source and drain terminals must be generated.

Over Devices First Trunk Offset

Specifies the trunk offset value. The default value is 0.

Trunk Anchor

Specifies the trunk anchor point of the trunks in a device row.

  • Top (default): The trunks are anchored to the top-left vertex of the device row.
  • Bottom: The trunks are anchored to the bottom-left vertex of the device row.

Twig Specifications

Specifies twig settings for the nets selected for routing.

Gate Twig Layer Name

Specifies the layer on which twigs that are connected to the gate terminal are generated.

Gate Twig Width

Specifies the width of the gate twigs

Source/Drain Twig Layer

Specifies the layer in which the twigs connected to the source and drain terminals are generated.

Source/Drain Twig Width

Specifies the source and drain twig widths.

Min Number Cuts

Specifies he minimum number of cuts for the vias connecting the twigs to other objects. The default value is 1.

Vertical Routes - Pin to Trunk

The following table describes the fields available on the Vertical Routes - Pin to Trunk tab on the Routing tab of the Array Assistant.

The net table settings are similar to the Horizontal Routes - Pin to Trunk tab.

Field Description

Trunk to Trunk Settings

Specifies the trunk to trunk settings for vertical trunks.

Vertical Trunk Spacing

Specifies the spacing between trunks. The available options are:

  • Default: Uses spacing value from either the technology file or WSP, if defined.
  • Custom: Lets you specify an absolute value.

Trunk Reference Layer

Specifies the reference layer for calculating the trunk offset.

First Track Offset

Specifies the offset of the first track.

Vertical Trunk Side

Specifies the side along which vertical trunks are to be generated. The available options are: left, right, both, and auto (default).

Reuse

(Layout EXL and Higher Tiers) Use the Reuse tab of the Array Assistant form to load and save settings to Modgen template files.

Field Description

Template

Provides options to load and save settings to Modgen template files.

Device Group

Specifies the devices to which the reuse template is to be applied.

File

Specifies the Modgen template file to be used.

Load

Loads setting from the selected Modgen template file.

Save

Saves the current placement setting in the specified Modgen template file.

Related Topics

Reusing Modgen Templates Using the Array Assistant

Modgen Placement Settings in the Array Assistant

Creating Guard Rings Using the Array Assistant

Defining Modgen Topology Settings Using the Array Assistant


Return to top
 ⠀
X