minDensity
spacings(
( minDensity tx_layer
f_density
)
) ;spacings
spacingTables( ( minDensitytx_layer(( "step" nil nil ["window" nil nil] ) [f_default] ) (g_table) )
) ;spacingTables
Specifies the minimum percentage of the design area that the metal on the specified layer must occupy. Density is calculated as follows:
Density = Metal area / Total area
Density constraints are usually represented in two ways. They can apply either across the area of the whole design or specifically to the region covered by the checking window, which is moved incrementally across the design to check for localized problems.

Checking density by using a stepped value requires that you start at a corner of the design, as shown above, and validate the density percentage for an area (window) whose height and width are each twice the step size or equal to the window size. You then continue to step across the design incrementally, moving the window by the step size, each time validating that the density percentage in the window exceeds the minimum required value.
The minDensity constraint is used in conjunction with the maxDensity constraint to ensure that the metal density for a design is neither too sparse nor too dense.
Values
Parameters
Examples
Example 1: minDensity with step
The minimum density of Metal1 as a percentage of the total area of the design must be at least 20.0 when step size is 60.0. The density check window is a square with side equal to 120.0.
spacingTables( ( minDensity "Metal1" (( "step" nil nil )
20.0
)
(60.0 20.0)
)
) ;spacingTables
Example 2: minDensity with step and window
The minimum density of Metal2 as a percentage of the total area of the design must be as follows:
- At least 20.0 when the step size is 60.0 and the window size is 100.0. The density check window is a square with side equal to 100.0.
- At least 40.0 when the step size is 120.0 and the window size is 200.0. The density check window is a square with side equal to 200.0.
spacingTables( ( minDensity "Metal2" (( "step" nil nil "window" nil nil )
20.0
)
(
(60.0 100.0) 20.0
(120.0 200.0) 40.0
)
)
) ;spacingTables
Return to top