Product Documentation
Virtuoso Multi-Patterning Technology User Guide
Product Version IC23.1, November 2023

Color Shifting

For layers with more than one mask, shapes can be assigned to a specific mask color. The mask for a shape can be manually shifted through the available masks using the Multiple Patterning toolbar, as described in Shifting Colors.

Virtuoso MPT supports instance color shifting by layer. The following table lists the layer shift types that are available:

Layer Shift Type Description

noShift

Colors are not shifted on this layer

shift1Shift

(2-mask and 3-mask layers only) Shift colors by one.

shift2Shift

(3-mask layers only) Shift colors by two.

fixedMask1Shift

(3-mask layers only) Shapes with mask1Color are not changed; shift mask2Color to mask3Color, and mask3Color to mask2Color.

fixedMask2Shift

(3-mask layers only) Shapes with mask2Color are not changed; shift mask1Color to mask3Color, and mask3Color to mask1Color.

fixedMask3Shift

(3-mask layers only) Shapes with mask3Color are not changed; shift mask1Color to mask2Color, and mask2Color to mask1Color.

Gray or uncolored shapes in an instance are not affected by layer shifts on the instance.

The following table shows the effective color for a shape on a three-mask layer based on its original mask color and the layer shift that is applied to the instance.

Original Mask Color noShift shift1Shift shift2Shift fixedMask1 Shift fixedMask2 Shift fixedMask3 Shift

mask1Color

mask1Color

mask2Color

mask3Color

mask1Color

mask3Color

mask2Color

mask2Color

mask2Color

mask3Color

mask1Color

mask3Color

mask2Color

mask1Color

mask3Color

mask3Color

mask1Color

mask2Color

mask2Color

mask1Color

mask3Color

Use the SKILL functions in the following table to initialize, set, retrieve, and clear the layer shift information on a cellview:

SKILL Function Description

dbCellViewInitForLayerShifting

Initializes the layer shift information for the specified cellview.

dbCellViewUpdateLayerShifts

Creates or rebuilds the layer shift information cache using the layers that are in the tech bound to the specified cellview. As a result, the layer shift information on the instances in the cellview is removed.

dbCellViewAreLayerShiftsValid

Indicates whether the layer shift information on the instances in the specified cellview is synchronized with the layers and color information in the bound tech.

dbCellViewClearLayerShifts

Clears the layer shift information from all the instances in the specified cellview.

dbCellViewHasLayerShifts

Indicates whether layer shift information is present on any instance in the specified cellview.

dbInstGetLayerShifts2

Returns a list of shifts that are applied to the layers in the master of the specified instance.

dbInstHasLayerShifts

Indicates whether layer color shifts are specified on the instance.

dbInstSetLayerShifts2

Sets layer shifts on an instance.

dbInstClearLayerShifts

Removes all the layer shifting information from the specified instance.

To set the shift type for an instance, you must first initialize the layer shift information for the cellview by using dbCellViewUpdateLayerShifts or dbCellViewInitForLayerShifting.

Example

cv = geGetEditCellView()
dbCellviewUpdateLayerShifts( cv )
I2 = dbFindAnyInstByName( cv "I2" )
I3 = dbFindAnyInstByName( cv "I3" )
shiftVals = list(list("Metal2" "fixedMask1Shift") list("Metal3" "shift2Shift"))
dbInstSetLayerShifts2( I2 shiftVals )
dbInstSetLayerShifts2( I3 shiftVals )

Sets the layer shift for Metal2 to fixedMask1Shift and for Metal3 to shift2Shift for instances I2 and I3 of the current edit cellview.

Related Topics

Interactive Coloring in Layout

Visibility and Selectability of Colored Data

Colored Data Inspection

Methods to Change Color of Existing Shapes

Color Locking

Pre-defined Setup Driven MPT Flows

Using the Multiple Patterning Toolbar

Coloring Methods

Track-Based Coloring

Displaying Track Patterns in Layout

Assign Track Patterns to Nets

Migrate from the Multiple Patterning Assistant

Limitations of Multi-Patterning Technology


Return to top
 ⠀
X