Voltage-Dependent Rule Support
In 45nm and below process nodes, voltage-specific spacing rules,
To determine the minimum spacing or minimum clearance for an object, the voltage settings are considered in the following precedence:
- If the object is on a layer purpose pair whose voltage has been set, the voltage for the layer purpose pair is used.
- If the object belongs to a net whose voltage has been set, the net’s voltage is used.
Layer Purpose Pair VDR Support
Voltage dependent rules can be applied to user-defined layer purpose pairs. These layer purpose pairs must be defined in the techPurposes section of the technology file, and techVersion ("1.0") must be specified in the controls section of the technology file.
A voltage swing must be specified for each layer purpose pair, and the voltage-dependent minimum spacing and clearance (
This example of Layer Purpose Pair VDR support sets the following conditions:
-
("Metal1" "HV")shapes have a voltage swing between 0.0 and 3.3. -
("Metal1" "LV")shapes have a voltage swing between 0.0 and 1.5. -
The minimum spacing between
Metal1shapes whose maximum voltage swing is less than 1.5 is 0.06. -
The minimum spacing between
Metal1shapes whose maximum voltage swing is greater than or equal to 1.5 and less than 3.3 is 0.08. -
The minimum spacing between
Metal1shapes whose maximum voltage swing is greater than or equal to 3.3 is 0.1.
The user-defined hv and lv purposes are specified in the techPurposes section of the technology file with their associated voltage ranges, and techVersion ("1.0") is specified in the controls section of the technology file.
controls (
techVersion ("1.0")
)
techPurposes(
;(PurposeName Purpose# Abbreviation)
;(---------------------------------)
;User-defined Purposes:
(hv 13 hv 'sigType "digital" 'parent "drawing" voltageRange (0.0 3.3))
(lv 14 lv 'sigType "digital" 'parent "drawing" voltageRange (0.0 1.5))
)
In the foundry constraint group, the voltage-dependent minimum spacing between two shapes on the Metal1 layer is set using:
set_layer_constraint -constraint minVoltageSpacing -layer Metal1 \
-hardness hard -row_name voltage \
-FltHeader1DTblValue { 0.0 0.06 1.5 0.08 3.3 0.1 } \ -row_interpolation snap_down -row_extrapolation {snap_up snap_down}
In the table, values are given in pairs with the first value representing the voltage and the second value representing the spacing. To determine the minimum spacing from the table, the maximum voltage swing between shapes is calculated as (max(max voltage of each shape) - (min(min voltage of each shape))). This voltage is compared with the "voltage" values in the table to find the first value that is less than or equal to the calculated voltage swing. The corresponding minimum spacing is required. For this example,
- For a voltage swing >= 0.0 and < 1.5, the minimum spacing is 0.06.
- For a voltage swing >= 1.5 and < 3.3, the minimum spacing is 0.08.
- For a voltage swing >= 3.3, the minimum spacing is 0.1.
Net-based VDR Support
Voltage dependent rules can be applied to nets. The voltage range of the net must be specified using the
Related Topics
Layer-Purpose Pair Constraints
Applying Constraints to Objects
Return to top