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 | ||
---|---|---|
|
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 netNameposition. If the mateNetName exists in the in the design we will
call thatgroup 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
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