Product Documentation
Virtuoso Space-based Router Constraint Reference
Product Version IC23.1, June 2023

minOppositeSpanSpacing

Specifies the spacing for a wire that has two neighboring shapes on opposite edges with a projected parallel run length greater than zero. Only neighbor wires that are classified as either ends or a joints are considered and the constraint applies only when the middle wire width is less than a specified width.

The constraint specifies spacing for each of the four neighbor categories (End-to-End, End-to-Joint, Joint-to-End, and Joint-to-Joint) shown in the following figure.

Neighbor Categories for minOppositeSpanSpacing

minOppositeSpanSpacing Quick Reference

Constraint Type

Layer

Value Types

DualValueTbl

Database Types

Design, Technology

Scope

design, foundry

Category

Spacing

Value Type

minOppositeSpanSpacing constraints have a DualValueTbl that must include a DualValue for each of the four categories in the following table and must be specified in the same order as shown in the table.

Categories for minOppositeSpanSpacing
Category DualValue (S1 S2)

End-to-End

{endSpacing endSpacing}

End-to-Joint

{endSpacing jointSpacing}

Joint-to-End

{jointSpacing endSpacing}

Joint-to-Joint

{jointSpacing jointSpacing}

To satisfy the rule,

The following table shows the syntax for setting the minOppositeSpanSpacing constraint.

Syntax for minOppositeSpanSpacing
Format Example

Tcl

set_constraint_parameter -name width -Value f_width 
set_constraint_parameter -name endOfLineWidth -Value f_eolWidth
set_constraint_parameter -name spanlength -Value f_spanLength
[set_constraint_parameter -name length -Value f_minLength]
[set_constraint_parameter -name jointWidth -Value f_jointWidth]
[set_constraint_parameter -name exceptEdgeLength -Value f_edge]
[set_constraint_parameter -name maxlength -Value f_maxPRL]
set_layer_constraint -constraint minOppositeSpanSpacing \   -layer s_layerName -DualValueTbl { \
f_spacing1_endToEnd   f_spacing2_endToEnd \
f_spacing1_endToJoint   f_spacing2_endToJoint \
f_spacing1_jointToEnd   f_spacing2_jointToEnd \
f_spacing1_jointToJoint f_spacing2_jointToJoint}

LEF

PROPERTY LEF58_OPPOSITEEOLSPACING
"OPPOSITEEOLSPACING WIDTH f_width
ENDWIDTH f_eolWidth [MINLENGTH f_minLength]
[JOINTWIDTH f_jointWidth] JOINTLENGTH f_spanLength   [EXCEPTEDGELENGTH f_edge [PRL f_maxPRL]]
ENDTOEND f_spacing1_endToEnd f_spacing2_endToEnd
ENDTOJOINT f_spacing1_endToJoint f_spacing2_endToJoint
JOINTTOEND f_spacing1_jointToEnd f_spacing2_jointToEnd
JOINTTOJOINT f_spacing1_jointToJoint f_spacing2_jointToJoint ;" ;

Parameters

The following parameters are used to determine which neighboring shapes represent ends and joints and when the constraint applies.

Examples

Format Example

Tcl

set_constraint_parameter -name width            -Value 0.08 
set_constraint_parameter -name endOfLineWidth   -Value 0.1
set_constraint_parameter -name spanlength -Value 0.15
set_constraint_parameter -name exceptEdgeLength -Value 0.08
set_constraint_parameter -name maxlength -Value 0.03
set_layer_constraint -constraint minOppositeSpanSpacing \
-layer Metal1 -DualValueTbl \
{ 0.11 0.13 \
0.12 0.10 \
0.12 0.10 \
0.12 0.16 } \
-row_interpolation snap_down \
-row_extrapolation {snap_down snap_down}

LEF

PROPERTY LEF58_OPPOSITEEOLSPACING
"OPPOSITEEOLSPACING WIDTH 0.08 ENDWIDTH 0.1 JOINTLENGTH 0.15
EXCEPTEDGELENGTH 0.08 PRL 0.03
ENDTOEND 0.11 0.13
ENDTOJOINT 0.12 0.10
JOINTTOEND 0.12 0.10
JOINTTOJOINT 0.12 0.16 ; " ;

The following figure shows how the constraint is interpreted for this example.

Examples for minOppositeSpanSpacing

Related Topics

Spacing Constraints


Return to top
 ⠀
X