BUILD_TOTAL_LENGTH MACRO
The BUILD_TOTAL_LENGTH MACRO is used to create a TOTAL_ETCH_LENGTH constraint for a single net or group of nets where you need to constrain the min and max length of the nets
Refer to the Propagation Delay Section in the Allegro ConstraintCore Documentation for more information
(this link discusses the location of the documentation: Cadence Allegro Constraint System Reference Information)
ECS
The ECS Attribute is optional and provides a unique name for the group of target nets you are constraining
Syntax:
ECS=>PD_NAME
Example:
ECS=>XB_MC1_6G
This PD Constraint will be named XB_MC1_6G_
UNITS
The UNITS Attribute tells dal constraints what units should be used for the tolerance.
Syntax:
UNITS=>UNIT_TYPE
Valid Options:
- MILS
- IN
- MM
The total length Constraint is always defined as one of these length units
UNITS=>MILS
Use Mils for MIN/MAX Attributes
MIN
The MIN Attribute sets the minimum value for the PD constraint. It must be a positive number
Syntax:
MIN=>DLY_SPEC
Examples:
- MIN=>10
All nets targeted by this PD must be routed greater than or equal to 10 MIL
MAX
The MAX Attribute sets the maximum value for the PD constraint. It must be a positive number
Syntax:
MAX=>DLY_SPEC
Examples:
- MAX=>20
All nets targeted by this ETCH_LENGTH constraint must be routed less than or equal to 20 MIL
MIN and MAX together
the MIN and MAX attributes work together.
In this example the target nets would need to be routed between 10 MIL and 20 MIL
To constrain a net to be short, you would set MIN=>0 and MAX=>MAX_LIMIT.
MEMBERS
The MEMBERS=> Attribute is a comma separated list of pattern matches used to identify which nets to include in the RPD.
dal constraints will allow multiple MEMBERS attributes so you can distribute the target nets across more than one row for easy reading and organization
Syntax:
MEMBERS=>NET_MATCH_1,NET_MATCH_2....,NET_MATCH_N
Example:
MEMBERS=>XB_MC1_6G
in this case the net_match (XB_MC1_6G) is a simple text pattern, which an appear anywhere in the netName. And a propagation Delay constraint will be added to any netName containing the XB_MC1_6G string.
The MEMBERS net_matches are really regular expressions by dal constraints and are quite powerful. For instance with simple modifications to the NET_MATCH we can specify where the pattern needs to occur in the netName (like at the beginning or end.)
To see more information on regular expression entry see Regular Expressions In CadEnhance Tools
NOT_MATCHING
the NOT_MATCHING Attribute is optional and works together with the MEMBERS attribute to fully define the set of target nets
Syntax:
NOT_MATCHING is a comma separated list of patterns that will be used to exclude nets from the set of nets that match the MEMBER patterns
Example:
NOT_MATCHING=>FRAME
Exclude any nets that Match the MEMBERS NET_MATCHES if those nets contain FRAME
MEMBERS and NOT_MATCHING
Together the MEMBERS and NOT_MATCHING attributes make it very efficient to target a large set of diverse nets without having to create a very long list of specific matches. You can create a very general set of matches with the MEMBERS attribute and then exclude certain pattern matches with the NOT_MATCHING patterns.