AUTO_BUILD_DIFF_PAIRS MACRO

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 


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

The first character in each DP_PAIR_MATCH pair denotes the Non-Inverted Polarity.

Example (and suggested default)

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

How it Works:

  • DP_PAIR_MATCH is P:N

If a netName  has a 'P' or 'p' in it  we create a mateNateName and substitute an 'N'  or 'n' at that same position. If the mateNetName exists in the in the design  we will group the netName and the MateNetName and create a diff pair. 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>

  • DP_PAIR_MATCH is !BLANK:_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.