allowedSpacingRanges (Two layers)
spacings( ( allowedSpacingRangestx_layer1tx_layer2'widthf_width(g_ranges) )
) ;spacings
spacingTables( ( allowedSpacingRangestx_layer1tx_layer2(( "width" nil nil ["width" nil nil] ) ['widthf_width] [f_default] ) (g_table) )
) ;spacingTables
Defines the spacing required between shapes on two different layers.
The spacing can optionally depend on the width of the shapes. Multiple allowed ranges and discrete values can be specified.
In some processes, it is necessary to insert assist or scattering bars between minimum-sized gates and other poly shapes to ensure that the gates print on the mask correctly. This constraint defines the spacing required between gates below the specified minimum width and the shapes on the specified second layer. The allowable spacing can depend on the width of one or both shapes.
Values
|
The first layer on which the constraint is applied. Type: String (layer and purpose names) or Integer (layer number) |
|
|
The second layer on which the constraint is applied. Type: String (layer and purpose names) or Integer (layer number) |
|
|
The allowed spacing ranges are specified as follows:
Type: Floating-point values specifying the spacing |
|
|
The format of a 1-D table row is as follows: where, f_width is the width of the wider of the two shapes and f_spacing is the spacing allowed when width is greater than or equal to the corresponding index. The format of a 2-D table is as follows:
where, f_width1 and f_width2 are the widths of the two shapes and f_spacing is the spacing allowed when both widths are greater than or equal to the corresponding indexes. For each table entry, the last spacing range must be open to the right. Type: A 1-D or 2-D table specifying floating-point width and spacing values |
|
Parameters
|
The constraint applies only if the width of both shapes is less than this value. |
|
Example 1
The spacing between a shape on Gate1 and a shape on Poly1 must be either of the following:
The spacing between a shape on Gate2 and a shape on Poly2 must be either of the following:
spacings( ( allowedSpacingRanges "Gate1" "Poly1" ("(0.3 0.5]" ">=0.8")
)
( allowedSpacingRanges "Gate2" "Poly2"
("(0.2 0.4)" ">=0.8")
)
) ;spacings
Example 2
The spacing between a shape on Poly and a shape on Active is determined as follows:
- Must be equal to 0.12 or greater than or equal to 0.15 if the width of the wider shape is greater than or equal to 0.1.
- Must be equal to 0.15; or greater than or equal to 0.2 and less than or equal to 0.21; or greater than or equal to 0.3 if the width of the wider shape is greater than or equal to 0.2.
spacingTables( ( allowedSpacingRanges "Poly" "Active" (( "width" nil nil ))
(
0.1 (0.12 ">=0.15")
0.2 (0.15 "[0.2 0.21]" ">=0.3")
)
)
) ;spacingTables
Return to top