No announcement yet.

About Matched Lengths Between Pairs

  • Time
  • Show
Clear All
new posts

  • About Matched Lengths Between Pairs

    Hi everyone,

    I defined 3 rules.
    Each rule has a different priority.
    As shown on the attached screenshot, each rule applies to several differential pairs.
    I chose not to use differential pair class because I already experienced some trouble when I have to reimport the schematic.

    The trouble here is that it randomly runs: sometimes I succeed with the tuning, sometimes not.

    Is something wrong in the query syntax ?


  • #2
    I tried to tune eight differential pairs.
    I wrote the following query syntax: InDifferentialPair(Pair0) OR InDifferential(Pair1) OR ... InDifferential(Pair7).

    I tuned 2 pairs (In and Between), I've got the following signal lengths:

    Pair0_P (94.856)
    Pair0_N (94.685)

    Pair1_P (95.247)
    Pair1_N (95.247)

    I set a tolerance of 0.254 mm for both rules.
    Everything is green for all pairs when I drag the boxes.

    But as you can see, it's wrong between Pair0 and Pair1 because of the tolerance.

    Any idea ?


    • #3
      Does the problem come from the Query InDifferentialPair instead using a differential pair class ?


      • #4
        I made the same test with differential pair class: I have the same result.


        • #5
          As you can see on the attached screenshot, the length tuning is not done at 100%.
          If I drag one side of the box, I can't do better.
          I tried full stop and comma without success.

          Could you help please ?


          • #6
            Another example to show that something is wrong.
            I tuned PEG_RX0 ... PEG_RX3.
            The tolerance is not OK between PEG_RX0 and the other ones.


            • #7
              As nobody else is commenting...
              Could it be that your query "InDifferentialPair" is causing your issue?
              What is the effect when you use a differntial pair class?
              I must admit, I rarely ever use differential pairs so this is just a suggestion.

              Click image for larger version

Name:	Capture Diif pair class.png
Views:	112
Size:	53.3 KB
ID:	20217


              • #8
                qdrivesThank you very much for reply.
                I made the test with differential pair class and it's the same issue.

                I have one question: what is the difference between signal length and routed length in PCB Editor (Nets) ?


                • #9
                  Another issue !
                  I defined another rule to tune length between pairs.
                  As I select Interactive Diff Pair Length Tuning and drag on one track of one differential pair involved in the group, the dedicated box doesn't show up, only a small white point shows up.

                  My motherboard is really huge.
                  Maybe 250 differential pairs to tune !

                  Very difficult to work with AD not doing what I want.


                  • #10
                    When I face an issue, I always check what I've done before getting the issue.
                    This morning, before going on with the tuning, I was checking the schematic again and noticed (refer to screenshot) that several differential pairs have 2 different names.
                    That's because I had capacitors on those differential pairs on a previous version.
                    So I removed the differential pair directives and the names as well near the chip.
                    I validated the project: no error !

                    From this time, it is impossible to tune a differential pair (between pairs) and apparently whatever it is.
                    If I rewrite the directives and the names, it is OK again with the tuning.

                    I don't understand but that's what I state.


                    • #11
                      Altium (21) is completely out of mind !

                      I tried to tune (BetweenPairs) another group of differential pairs.
                      Each pair has a length of about 158 mm.
                      As I drag on a differential pair to tune its length, the bargraphe on its right side shows 900 mm !

                      For sure it's impossible to have it green.

                      Do you already meet such problem ?


                      • #12
                        Maybe I would keep diff pair rule for tolerance within pairs, but I would create a standard signal length matching rule for all the signals what needs to have the same / similar length.

                        It's not really important they are differential pair signals, if they need to have the same/similar length you can handle them as single ended signals. That is what I would try.


                        • #13
                          robertferanecI think you have read what I wrote.
                          It is really awful.
                          Same with AD22.
                          When it seems to run (bargraphes green), in fact I get matched length between pairs violations, for example 1 or 2 mm (instead 0.254 mm).

                          AD doesn't do what I want.
                          Is it a huge bug or is it on my side ?
                          Is it bound to the size of the project ?

                          Matched length InPairs seems to be OK but that's all.

                          It puts me in a very difficult situation.


                          • #14
                            Everything went wrong since what I wrote yesterday at 03:40AM


                            • #15
                              But are you still using this? "InDifferentialPair(Pair0) OR InDifferential(Pair1) OR ... InDifferential(Pair7)" I would delete that rule and replaced it by one using just simple signals.