Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Allegro® Constraint Manager User Guide

3
Working With
Reusable Constraint Objects -- CSets
Topics in this chapter include
Reusable Constraints
Methods of Constraining Nets

Reusable Constraints
This chapter presents information on how to use reusable constraint objects in Constraint
Manager. See Chapter 2, "Working with Constraint Objects" for information on hierarchical
constraint objects.

Constraining Objects
You can constrain an object by referencing a CSet or setting a constraint value directly on the
object. An object that is not constrained will inherit constraint values through the precedence
rules of the Constraint Object Hierarchy .

Constraint Sets (CSets)


The Electrical, Physical, Spacing and Same Net Spacing domains support Constraint Sets
(CSets). A CSet is a named, reusable collection of constraint values. CSets are not supported in
the Design domain.
You define generic rules in the Constraint Set object folder. These
generic rules can subsequently be applied to objects in the Net, Class,
and Region folders.

As design requirements change, you can


edit the CSet constraints. All objects that reference the CSet will automatically inherit
these changes.
assign a different CSet, one that reflects a different rule-set, to the object.
specify override properties on individual objects. Cells with overrides are colored blue.
CSets can be referenced by any number of objects (Bus, Differential
Pair, Xnet, Net, Net Class, Net Class-Class, Region, Region Class
Region Class-Class) but an object may reference only one CSet per
1
domain.

Physical, Spacing, and Same Net Spacing CSets


A Physical CSet consists of one value per layer for each physical constraint. A Spacing CSet
consists of one value per layer for each spacing constraint. Spacing CSets are further classified
into net-to-net and same net domains. In all designs, Constraint Manager provides one
Physical, one Spacing, and one Same Net Spacing CSet, named DEFAULT, which you cannot
delete or rename; however, you can modify the DEFAULT CSet constraints to suit your design
requirements.
Electrical CSets
With an Electrical CSet, you define the constraints in the set. There is no pre-defined
configuration, nor any pre-defined values. You can delete Electrical CSets.

Copying Constraints from CSets


You can copy constraints in one CSets to another CSet in the same domain for PCSets and
ECSets and (additionally) from SCSets and SNSCSets and vice versa in the spacing and same
net spacing domains.
To copy constraints from one CSet to another:
1. Right-click in the Objects column for a PCSet, ECSet, SCSet, or SNSCSet.
2. Choose the Copy Constraints from menu command in the resultant pop-up menu.

Depending on the domain, the Select Object dialog is populated with the appropriate CSets:

In the following example, a Spacing CSet is copied to an SNSCSet (Same Net Spacing)
domain.

2
1. In the Same Net Spacing domain, right-click an SNSCSet in the Object's column and
choose Copy Constraints from menu.
2. Choose Spacing CSet from the Type drop-down list.
3. Choose the SCSet from the list and click OK.

Note: For the Spacing CSet, the default type of source object is Same Net Spacing CSet and
list of the objects contains all the SNSCSets. For the SNSCSet, the default type is SCSets.
You can also copy constraints information from the CSets of the same type.

When you copy constraints from an SCSet to SNSCSet, constraint names are mapped and the
SN_ prefix is added to the constraint name.

LINE_TO_LINE_SPACING is copied to SN_LINE_TO_LINE_SPACING

The SNSCSet is updated with the SCSet. Constraints are copied in the merge mode, which
implies that any existing constraint in the target CSet remains intact if it is not present in the
source CSet.

Editing Multiple Electrical Constraints


You can edit constraints in CSets by selecting multiple cells.
However, multi-selection is not possible in following scenarios:
selected cells have different data types.

For example, if two cells have integer and float as a data type, they cannot be edited as a
multi selection.
selected cells values are represented as an array and a single value.

For example, if two cells have values as 1.2:3.0 and 1.2, they cannot be edited as a multi
selection.
selected cells have different units of measurement.
selected enumerations have different enum value.

Editing Multiple Physical, Spacing and Same Net Spacing Constraints


You can edit multiple constraints in the Spacing, Physical, and Same Net Spacing worksheets
with a single click.
Choose the object.

The entire row is selected except the cells which have different design unit values.

3
Choose the cell which is in edit mode.
Type the new value of design unit and press ENTER.

The new value is applied to all selected cells after data validation.
You can also select multiple objects using Ctrl key.

4
Note: If the constraint has different values per layer, clicking the editable cell opens Edit layer-
specific values for dialog box.

5
Methods of Constraining Nets
This section covers different methods of constraining nets in your design, including:
Inheritance
Overrides
Container objects
CSet references

Inheritance

6
Each Net depicted below inherits the 5-mil Min Line Width from the DEFAULT Physical CSet.

Overrides
We need to increase the line width of the voltage rails (Rows 106 - 109). As these are
contiguous cells, simply dragging through them and specifying 7 mils is the most-direct method
of constraining these nets

These directly-set constraint values are called overrides and appear in a blue tint. The advantage
of constraining a container object is that it is quick and direct and it follows a constraint
precedence; the disadvantage is that members of the container are fixed (though membership
can be redefined) so constraints are not transferable to other container objects.
Container Objects
If we create a container object, such as a Net Class, we can constrain the container directly
instead of constraining member nets individually. If we change the constraint value on the the
container, members of the container automatically inherit the change in constraint value.

7
Constraint Manager presents Net Classes before Nets. The Nets from Rows 106 - 109 now
appear, in collapsed form, in the Net Class container on Row 4.
If we expand the Net Class, we can see that the members inherit the new line width value of 7
mils.

Use a net container object to group and constrain a small, focused


collection of similar nets.

Referencing a CSet
Let's create a Physical CSet and define a 7-mil Minimum Line Width constraint.

Next, let's associate the Physical CSet with the Net Class, whose members are the voltage rails

8
that we want to constrain.

The advantage of referencing a CSet to impart constraints on a Net Class is that you can reuse
the CSet to constrain similar Net Classes, whose members are different.

Use a net container object to group and constrain a small, focused


collection of similar nets. Use a reusable CSet, referenced to one or
more container objects, to apply a broad brush approach to constraining
nets.

Return to top of page

For support, see Cadence Online Support service.

Copyright © 2012, Cadence Design Systems, Inc.


All rights reserved.

You might also like