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

minNumCut

Specifies the minimum number of cuts that a via object or a via instance must contain when connecting two wide wires or a wide wire and a pin. The number of via cuts required depends on the width of the wires.

Note: This constraint can be applied only to layers of material cut.

minNumCut Quick Reference

Constraint Type

Layer

Value Types

Int1DTblValue

Database Types

Design, Technology

Scope

net, route, Term, instTerm, net group, design, foundry

Category

NumCut

Group Operators

AND, OR

Value Type

Int1DTblValue

The lookup key (width) is the width of the connecting metal and the value is the number of cuts required. You must also specify the cut layer name.

For example:

set_constraint_parameter -name oaDistanceWithin -Value f_distance
set_constraint_parameter -name metalLayerLocation \
-StringAsIntValue { metalIsAboveAndBelow | metalIsAbove | metalIsBelow } ]
set_constraint_parameter -name oaArea -Value f_micron2]
set_layer_constraint -constraint minNumCut -layer cutlayer \
-Int1DTblValue {{width numCuts}…}

Optional Parameters

cutClass

Identifies the cut class by width and length. The constraint applies only to cuts class of the given dimensions.

Type: DualValue

oaDistanceWithin

Specifies the distance at which cuts cannot be counted toward the minimum number of required cuts. Cuts must be closer than the specified distance in order to be counted.

Type: Value

metalLayerLocation

Identifies whether there must be a metal layers above and/or below the cut layer in order for the constraint to apply.

Type: StringAsIntValue metalIsAboveAndBelow 0 (default)
metalIsAbove 1
metalIsBelow   2

oaArea

Specifies that the rule applies only when the area of the island is greater than this value, in user units2, for the given wire widths.

Type: Value

neighborLayerMetal

Specifies the wire that is to be used to determine the required number of cuts.

Type: StringAsIntValue upperLowerLayerMetal   0 (default)
  The number of cuts required is determined based on the width of the wider of the two wires.
upperLayerMetal 1
The number of cuts required is determined based on the width of the wire on the layer above.
lowerLayerMetal 2
The number of cuts required is determined based on the width of the wire on the layer below.
bothUpperLowerLayerMetal 3
The number of cuts required is determined based on the width of the narrower of the two wires.

Examples

Establishes a spacing table that sets the minimum number of cuts on V1 to

For this example, Metal1 is the layer below VIA1 and Metal2 is the layer above VIA1.

set_constraint_parameter -name oaDistanceWithin -Value 0.500
set_layer_constraint -layer VIA1 -constraint minNumCut \
-hardness hard -row_name width \
-Int1DTblValue { 0 1 0.3 2 0.6 3 1.0 5 } \
-row_interpolation snap_down_inclusive \
-row_extrapolation {snap_up snap_down}

Related Topics

NumCut Constraints


Return to top
 ⠀
X