Product Documentation
Virtuoso Technology Data Constraints Reference
Product Version IC23.1, November 2023

maxDiffDensity

spacingTables(
( maxDiffDensity tx_layer
 (( "step" nil nil ["window" nil nil] )
  [f_default]
 )
 (g_table)
)
) ;spacingTables

Specifies that the maximum difference in metal density in adjacent, non-overlapping density checking windows for some processes must be within a certain percentage range.

The maximum density difference between different windows is represented as a value between 0 and 100. For example, if the metal density in one window is 80% and the maximum density difference specified for adjacent density windows is 10%, then the adjacent windows can have metal density in the range 70%-90%.

Values

tx_layer

The layer on which the constraint is applied.

Type: String (layer and purpose names) or Integer (layer number)

"step" nil nil ["window" nil nil]

This identifies the index for table.

If the window table index is not specified, the density check window is a square whose sides are twice the step size. As a result, the area to be checked is equal to (2 x step)2.

If the window table index is specified, the density check window is a square whose sides are equal to the specified window value. As a result, the area to be checked is equal to (window)2.

g_table

The table row is defined as follows:

(f_step f_window) f_density

or

f_step f_density

where,

  • f_step is the step size.
  • f_window is the window size.
  • f_density is the density difference percentage.

Type: A 1-D table specifying floating-point step and density values, or a 2-D table specifying floating-point step, window, and density difference values

Parameters

f_default

The density difference value to be used when no table entry applies.

Examples

Example 1: maxDiffDensity with step

The difference in Metal1 density in adjacent, non-overlapping density checking windows must be less than or equal to 10% when the step size is 60.0. The density check window is a square with side equal to 120.0.

spacingTables(
    ( maxDiffDensity "Metal1"
     (( "step" nil nil )  )
(60.0 10.0)
)
) ;spacingTables

Example 2: maxDiffDensity with step and window

The difference in Metal2 density in adjacent, non-overlapping density checking windows must be less than or equal to:

spacingTables(
    ( maxDiffDensity "Metal2"
     (( "step" nil nil "window" nil nil )  )
(
(60.0 100.0) 5.0
(120.0 200.0) 10.0
)
)
) ;spacingTables

Return to top
 ⠀
X