Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The BUILD_ECS MACRO Creates a Named ELECTRICAL_CONSTRAINT_SET (ECS) which can be applied to matching NetNames 

Table of Contents

Page Tree
root@self

Electrical Constraint Sets

An Electrical Constraint Set (ECS) is use to constrain the Electrical attributes of Nets 

BUILD_ECS can specify many different constraints to apply to a group of signals, and can also apply a PHYSICAL_CONSTRANT_SET (PCS) to the same group.

PARAMETERS that can be constrained include:

VIAS_MAX,VIAS_MATCH,MIN_PROP_DLY,MAX_PROP_DLY,MIN_TOTAL_ETCH,MAX_TOTAL_ETCH,

TOP_MAP_MODE,TOP_VERIFY_SCHEDULE,TOP_SCHEDULE_CONTROL,STUB_LENGTH,MAX_EXPOSED,MAX_PARALLEL,LAYER_SETS




BUILD_ECS  

This Line tells dal constraints to create a new named ECS

syntax: 

BUILD_ECS  | NAME=> | NAME_FOR_ECS


TYPE

the TYPE=> Attribute  tells dal constraints what type of ECS the user wants to create

Valid options are: DIFF_PAIR and SINGLE_ENDED

Syntax:

TYPE=>[DIFF_PAIR|SINGLE_ENDED]

The SINGLE_ENDED ECS allows the user to define 

The DIFF_PAIR ECS can define the same parameters as the SINGLE_ENDED, but can also be is used to create Dynamic and Static Differential Pair Routing Rules.

These are very powerful constraints which Allegro PCB uses to control the STATIC and DYNAMIC skew between the diff_pair mate net as they travel from Source to Destination. 

ASSIGN_PCS

The ASSIGN_PCS=>Attribute assigns an existing  PCS to any nets assigned to this ECS

The PCS may have been created using the BUILD_PCS MACRO or when dal constraints imported the stackup.

Syntax: 

ASSIGN_PCS=>PCS_NAME

Example

ASSIGN_PCS=>90_OHM_DIFF

DIFF_PAIR ECS Parameters

The Dynamic Diff Pair constraints are used to track and flag the intra-pair skew from the signal source to its destination.

Differential pair routing only works well when the signal edges or transitions are closely aligned as they travel from one end to the other.  As speeds increase, the edge times get smaller and smaller and the margin for error becomes greater. When a diff pair route turns a corner, the outside pair wire takes a longer path than the inside pair wire causing unwanted skew between the signals. If this skew is significant, the edge transitions start to get out of phase and the differential pair loses some of its magical properties.  In this case the skew needs to be removed as quickly as it can be.  This can be accomplished by making sure the next turn goes the opposite direction so that the inside wire is now the outside wire.  Another method is to add  a small 'bump' to the inside wire whose length match the extra length that the outside wire experienced. The bump should be added as close as possible to the corner turn so that the signal transitions travel the majority of the diff_pair length in match step.

The Cadence Allegro Constraint System provides a handful of diff_pair tolerance properties to enable tracking of the skew from the transmitter output to the receiver input.

The Properites are:

GATHER_CONTROL, MAX_UNCOUPLED, DPA_TOLERANCE, DPA_MAX_LEN, STATIC_PHASE and MAX_STUB_LEN

In the sample CRF worksheet a DIFF_PAIR_CALC_WORKSHEET page is provided to help calculate rational values for these parameters that are used to constrain the DIFF_PAIRS, based on the Bit Rate of the actual DiffPair. It is helpful to use a reference to the values calculated in the worksheet to set the value for the properties. If the users update the Calculation worksheet, then the Property values will automatically be updated. 


MEMBERS

The MEMBERS=> Attribute tells dal constraints what nets to apply the new ECS to. 

This is an optional attribute when you are creating a ECS that will be assigned from an ECS.

The syntax is MEMBERS=>net_match1,net_match2.... net_matchN

like

MEMBERS=>P48V,P48V_RTN

This tells dal constraints to assign this ECS to any net containing 'P48V' or 'P48V_RTN'

in this case the net_match is a simple text pattern 

The MEMBERS net_matches are treated as regular expressions by dal constraints and are quite powerful.

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

the NOT_MATCHING is a  comma seperated list of patterns that will be used to exclude nets from the set of nets that match the MEMBER patterns

Together the 2 attributes make very simple to define a large set of nets without having to create a very large list of specific matches