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:

  1. MILS
  2. IN
  3. 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.