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

Technology File Requirements for Modgens

The following Modgen features have specific technology file requirements:

Modgen Feature

Technology File Requirement

Routing

Routing in Modgens requires a complete layout function section for metal and poly layers and basic width and spacing rules on the metal and poly layers to be defined in the technology file.

Body Contacts

To use body contacts in Modgens, ensure that the technology file includes either a standard or a custom via definition that defines connections to well or active layers. The well and active layers must also be defined in the Layer Function section of the technology file.

Guard Rings

To use guard rings in Modgens, define the required Multiple Part Paths (MPPs) in the technology file.

See multipartPathTemplates.

Technology Group and Constraint Groups

Modgens read rules from the user-defined constraint groups and the foundry technology groups in the technology file.

The default lookup path for these groups is in the following sequence:

  1. Specified tool constraint group stored either in the design or in the technology library.
  2. Design-level default constraint group.
  3. Foundry constraint group stored in the technology library.

The tool constraint group is stored outside the foundry constraint group. Before running the tool, specify the required tool constraint group using the modgenPlacementConstraintGroup environment variable.

If the string in the environment variable is empty, the foundry constraint group is used. If the string has an invalid value, a warning is displayed and the foundry constraint group is used.

Modgens also read from the default wire editing constraint group, if set.

See Constraint Groups.

Placement Grid Support

Placement grid support is a method that keeps all shapes on specific grids per layer. The placement grid rule is obeyed at a higher precedence than custom spacing or detailed spacing rules. So, even if, according to the custom spacing rule, an instance is placed off the instance grid, it is automatically snapped to the next nearest placement grid. In addition, the origin of the Modgen figGroup is placed on the placement grid. This ensures correct placement of instances on their respective placement grids when the entire Modgen is placed by the placer.

Use environment variable chainPermutePins to control the application of the placement grid rule.

If aapUsePlacementGrid is set to t, you must set the following placement grid rules either in the techfile or in a custom Constraint Group that the Modgen refers to.

  • horizontalPlacementOffset – Specifies the horizontal offset from the origin for the vertical placement grid
  • horizontalPlacementPitch – Specifies the horizontal spacing between each vertical placement grid line
  • verticalPlacementOffset – Specifies the vertical offset from the origin for the horizontal placement grid.
  • verticalPlacementPitch – Specifies the vertical space between each horizontal placement grid line.

Example:

(placementGrids
 (verticalPitch 1.0)
 (verticalOffset 0.0)
 (horizontalPitch 1.5)
 (horizontalOffset 0.5)
)

Situation 1: The placement grid values exist and are on the grid with respect to the manufacturing grid.

During placement, the origin of each instance is snapped to the nearest placement grid horizontally and vertically. For the Modgen, the instances are snapped up.

Situation 2: The placement grid values exist, but are not on the grid with respect to the manufacturing grid.

A warning is displayed and placement continues using only the manufacturing grid.

See Placement and Alignment Constraints.

Related Topics

Technology File Organization

Technology File Via Definitions and Via Specifications

Creating a Modgen

The Modgen Workspace


Return to top
 ⠀
X