Versions Compared

Key

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

The AUTO_BUILD_DIFF_PAIRS MACRO tells dal constraints to  perform an exhaustive search across all nets in the design to identify and create diff Pairs 

dal Constraints will identify the 2 members of the diff_pair and create a diff_pair root_name to assign to the pins 

For example if 2 nets clk1_p and clk1_n are found in the design, dal constraints will create the clk1_ root_name and assign it to the clk1_p and clk1_n pins 

Table of Contents

Page Tree
root@self


DIFF_PAIR_POL_MATES 

The DIFF_PAIR_POL_MATES Attribute is a comma separated List of character pairs used to identify diff-pairs

Syntax:

DIFF_PAIR_POL_MATES=>DP_PAIR_MATCH1,DP_PAIR_MATCH2...DP_PAIR_MATCHn

Example (and suggested default)

DIFF_PAIR_POL_MATES=>P:N,T:C,H:L,P:M,!BLANK:_N

The first character in each DP_PAIR_MATCH pair denotes the Non-Inverted Polarity.The suggested default value is P

Example (and suggested default)

DIFF_PAIR_POL_MATES=>P:N,T:C,H:L,P:M,!BLANK:_NIf the 

How it Works:

  • DP_PAIR_MATCH is P:N

If a netName  has a 'P

' in it (ex clk1_p) and we can

' or 'p' in it  we create a mateNateName and substitute an 'N'  or 'n' at that same

position  (clk1_n) and find that netName

position. If the mateNetName exists in the in the design  we will

call that

group the netName and the MateNetName and create a diff pair

-Similarly,

. The _P net will be the non-inverted net and the _n will be assigned as the inverted net.

Examples: (clk1_p,clk1_n) (lvds_sig_p<3>,lvds_sig_n<3>)

  • DP_PAIR_MATCH is T:C

if a netName has a 'T' in it and we substitute a 'C' and find a matching netName we call that a diff pair

Examples (DDR4) c0_ddr4_dqs_t<0>, c0_ddr4_dqs_c<0>

-The
  • DP_PAIR_MATCH is !BLANK:_N
will create a diff_pair for: diff_clk and diff_clk_n or diff1_clk and diff1_n_clk (so we only search _n signals and then try to find matching netNames without the _nThis a comma separated List of character pairs which dal constraints keys on to detect a diff_pairs in all the existing nets in the current PCB design.
If the character pair is P:N, dal constraints finds any pin_name that contains a 'P' in any position, then looks for that same pin_name with an 'N' substituted in the position of the 'P' it just found
It repeats the search for every pair in this list so the default case would perform the same search using character pairs T:C and H:L
The order of the Pair Match is also important, the first one should identify the Non-Inverted member of the diff-pair and the second character should identify the inverted member.
when dal constraints sees !BLANK:_N for one of the character pairs it will find diffpairs like B1_DSQ7 B1_DQS7_N 

dal constraints  searches for netNames with  '_n' signals and then looks to see if the mateNetName  without the _n exists in the design.

Examples: (diff_clk,diff_clk_n) or (diff1_clk, diff1_n_clk) 

FORCE_DIFF_PAIR 

The FORCE_DIFF_PAIR Attribute tells dal constraint to create diff_pairs for pairs of nets whose names wouldn't match using the DIFF_PAIR_POL_MATES rules.

Multiple FORCE_DIFF_PAIR attributes can be added  in sequence to the AUTO_BUILD_DIFF_PAIR MACRO

Syntax:

FORCE_DIFF_PAIR=>DIFF_PAIR_ROOT_NAME=non_inverting_netName,inverting_netName

Example:

FAKE_DIFF_1=UNNAMED_3_ACCOUPLINGCAP_I10_GN0:UNNAMED_3_ACCOUPLINGCAP_I11_GN0


This rule tells dal constraint to create a diff_pair with base_name FAKE_DIFF_1 from the 2 net names, UNNAMED_3_ACCOUPLINGCAP_I10_GN0 and UNNAMED_3_ACCOUPLINGCAP_I11_GN0 GN0.