Product Documentation
Virtuoso Technology Data Constraints Reference
Product Version IC23.1, November 2023

constraintGroups

constraintGroups(
( t_constraintGroupName [[b_override] [t_defName] [t_operator]]
  [memberConstraintGroups(t_memberConstraintGroupName …)]
  [properties(l_properties)]
  t_constraintCategory(l_constraint)
)
…
)

Enables you to define constraint groups. A constraint group is an ordered collection of constraints and constraint groups. Each constraint group can be assigned an operator that determines how constraints in that group are applied. A constraint group allows you to combine constraints to manage complex rules to be applied under different circumstances. This provides the flexibility to apply less or more stringent rules, as needed.

A constraint group can contain multiple specifications of the same constraint to set different values for that constraint. In such a scenario, by default, the first hard constraint in the constraint group takes precedence over any others. For more information about how constraints in a constraint group are applied, see Combining Constraints in a Constraint Group.

Parameters

t_constraintGroupName

The name of the constraint group.

Valid values: foundry, any unique string

b_override

Specifies whether the constraint group overrides other constraint groups.

Valid values: t (overrides), nil (does not override; default)

This feature is not supported by Virtuoso. The parameter is a positional parameter that needs to be specified if you want to use any of the subsequent parameters.

t_defName

The name of the constraint group definition or type. For more information, see Constraint Group Definitions.

t_operator

Specifies how constraints are evaluated when combined in a constraint group. All instances of a constraint defined on a specific layer (or layer pair) must be combined in one constraint group.

Valid values: 'precedence (default), 'and, 'or

For more information about these operators, see Combining Constraints in a Constraint Group.

t_memberConstraintGroupName

A list of constraint groups that are considered part of the constraint group.

List member constraint groups in the order of precedence, starting with the highest precedence.

l_properties

A list of properties associated with the constraint group. It has the following syntax:

( t_propName g_value ) …

where,

t_propName is the name of the property.

g_value is the value assigned to the property.

Example:

;( group [override] )
;( ----- ---------- )
( "myConstraintGroup" nil
properties(
;( name value )
;( ---- ----- )
( ndrsp "single" )
( ndrrp 6.700000 )
( ndrip 1 )
) ;properties
)

t_constraintCategory

The constraint category.

Valid values: spacings, orderedSpacings, spacingTables, routingGrids, placementGrids, antennaModels, viaStackingLimits, interconnect, allowedShapeAngles, routingDirections, colorControl

l_constraint

The constraint specification; as defined in Constraints.


Return to top
 ⠀
X