add_segment
add_segment
-net s_netName
-layer s_layerName
{-from_loc {f_x f_y}
| -from {LMOST | RMOST | BMOST | TMOST | LBOUND | RBOUND | TBOUND | BBOUND}}
{-to_loc {f_x f_y}
| -to {LMOST | RMOST | BMOST | TMOST | LBOUND | RBOUND | TBOUND | BBOUND}}
[ -begin_ext f_userunit ]
[ -end_ext f_userunit ]
[ -check [ true | false ] ]
[ -convert_to_pin [ true | false ] ]
[ -deviation f_userunit ]
[ -deviation_dir {LEFT | RIGHT | BOTTOM | TOP} ]
[ -fix_violation [ true | false ] ]
[ -route_type {powerTieOff | shield | shieldTieOff | powerTap | spine} ]
[ -remove_overlaps [ true | false ] ]
[ -shield [ true | false ] ]
[ -width f_userunit ]
Description
Adds a route segment for the given net on the given layer from and to the given locations, relative pins, or relative boundaries. By default, if the segment causes a DRC violation, it will automatically be moved to the nearest DRC clean location within the bounds given by the -deviation argument and, optionally, in the direction given by -deviation_dir. The added segment can optionally be converted to a pin shape (-convert_to_pin).
For proper placement, at least one of the from and to locations must be given as a location or relative pin. You cannot use relative boundaries (*BOUND) for both -from and -to arguments.
Arguments
|
-begin_ext f_userunit
|
Specifies the begin extent of the segment.
Default: One-half of the minWidth on the ruleSpec
|
|
-check [ true | false ]
|
When set to true, adds the segment only if the result is DRC clean. Use -fix_violation to permit the segment to be moved to a DRC clean location. When set to false, adds the segment without checking or fixing.
Default: true
|
|
-convert_to_pin [ true | false ]
|
|
|
Converts the added segment to a pin shape.
Default: false
|
|
-deviation f_userunit
|
Specifies the maximum deviation, in microns, from the given destination that the segment can be moved to prevent a DRC violation. The default value is one track.
|
|
-deviation_dir {LEFT | RIGHT | BOTTOM | TOP}
|
|
|
Specifies the direction for a deviation, if the added segment causes a DRC violation. By default, the closest DRC clean location is used.
|
|
-end_ext f_userunit
|
Specifies the end extent of the segment. Default: One-half of the minWidth on the ruleSpec
|
|
-fix_violation [ true | false ]
|
|
|
This argument applies only when -check is true.
|
|
|
true
|
If the added segment will cause a DRC violation, the segment will be moved to the nearest DRC clean location subject to the bounds given by -deviation. This is the default.
|
|
|
false
|
The segment will be added at the given location only if it does not cause a DRC violation.
|
|
-from {LMOST | RMOST | BMOST | TMOST | LBOUND | RBOUND | TBOUND | BBOUND}
|
|
|
Specifies the relative location, as a pin or boundary, from which to start the segment.
|
|
|
BMOST
|
Bottommost pin
|
|
|
LMOST
|
Leftmost pin
|
|
|
RMOST
|
Rightmost pin
|
|
|
TMOST
|
Topmost pin
|
|
|
BBOUND
|
Bottommost boundary
|
|
|
LBOUND
|
Leftmost boundary
|
|
|
RBOUND
|
Rightmost boundary
|
|
|
TBOUND
|
Topmost boundary
|
|
|
|
|
-from_loc {f_x f_y}
|
Specifies the from location coordinates.
|
|
-layer s_layerName
|
Specifies the layer for the segment.
|
|
-net s_netName
|
Specifies the name of the net to add the segment to.
|
|
-remove_overlaps [ true | false ] ]
|
|
|
When true, will remove segments that overlap with pin shapes for more than half of their length.
Default: true
|
|
-route_type {powerTieOff | shield | shieldTieOff | powerTap | spine}
|
|
|
Specifies the route type for the added segment. The default is UnknownRouteType.
|
|
-shield [ true | false ]
|
|
|
When set to true, the added segment is treated as if it will be shielded, by increasing spacing requirements around it. This is useful if custom shields will be added using add_segment -route_type shield.
Default: false
|
|
-to {LMOST | RMOST | BMOST | TMOST | LBOUND | RBOUND | TBOUND | BBOUND}
|
|
|
Specifies the relative location, as a pin or boundary, at which the segment must end.
|
|
|
BMOST
|
Bottommost pin
|
|
|
LMOST
|
Leftmost pin
|
|
|
RMOST
|
Rightmost pin
|
|
|
TMOST
|
Topmost pin
|
|
|
BBOUND
|
Bottommost boundary
|
|
|
LBOUND
|
Leftmost boundary
|
|
|
RBOUND
|
Rightmost boundary
|
|
|
TBOUND
|
Topmost boundary
|
|
|
If a relative boundary is given for -to, then a relative boundary cannot be specified for -from.
|
|
-to_loc {f_x f_y}
|
Specifies the to location coordinates.
|
|
-width f_userunit
|
Specifies the width of the segment. By default, the segment width is the minWidth of the route spec for the net.
|
Examples
The following command adds a segment to netA on layer Metal2.
add_segment -net netA -from_loc {900 850} -to_loc {910 850} -layer Metal2
The following command adds a segment to netA on M2 from the topmost pin of the net to the bottom boundary with a width of 0.6.
add_segment -net netA -layer M2 -width 0.6 -from TMOST -to BBOUND
The following figure shows how setting the extents for a segment can affect the routing.
Related Topics
Specialty Route Commands
add_tree
add_via
Return to top