| FORUM

FEDEVEL
Platform forum

Differential Pairs Uncoupled Length

mairomaster , 12-18-2015, 01:46 AM
Hi guys,

I have a problem with Altium. The differential pairs routing rule doesn't seem to be working properly. The part about the width and gap specification seems to work fine - I can route pairs and they turn out to have the right dimensions. However, the Max Uncoupled Length field doesn't seem to be doing anything. Even if I put it to a very low value, it never detects sections that exceed the specified maximum gap. The rule is definitely enabled in the rules and also it is enabled for batch checking under Tools > Design Rule Check > Rules to check. When I run the DRC I never get error about the differential pairs.

Do you know what might be the problem? Also do you know about alternative ways to check the differential pairs gap? I tried playing around with the PCB filter with the idea to somehow select sections of pairs which do not have the right gap, but I couldn't figure out a way to set such filter.

Thanks,
Miroslav

robertferanec , 12-18-2015, 11:35 PM
Hi Miroslav,

did you try to set DRC Violation Display to "Always" and check "Differential pair routing" (DXP -> Preferences -> PCB Editor -> DRC Violation Display)?



mairomaster , 12-19-2015, 03:04 AM
Yes Robert, I tried this but still no result. I also tried with 2 different versions of Altium - 15 and 16 (last updates on both). Thanks for the suggestion though.
robertferanec , 12-21-2015, 12:14 AM
@mairomaster please, could you post a screenshot of your Differential pair rule settings (Design -> Rules -> Design Rules -> Differential Pairs Routing -> Your Rule)?
mairomaster , 12-21-2015, 05:42 AM
Here is the screenshot.
robertferanec , 12-21-2015, 10:41 AM
Hmm, seems to me ok.

Possibly, you can try to check PCB from our iMX6 Rex project. Download the Altium files and have a look. To test it, you can change the MAX uncoupled length to 0mm.

Here is the link to the project: http://www.imx6rex.com/

You will need to register and then Click here to Download iMX6 Rex Module Project >
mairomaster , 12-21-2015, 01:47 PM
Thanks for the advice Robert! I should have though about that myself, I always use the Rex board as a reference for all kinds of things.

I tried the rule and it works perfectly fine with the Rex board. Something should be wrong with my project I guess, but I still can't figure out what. I definitely have the signals as differential pairs - the only difference I can tell is that you are using differential pair classes and I am not, but that should not be the problem I think.
robertferanec , 12-21-2015, 11:32 PM
That is the problem You need to use Differential pair class for Differential pair rules.
mairomaster , 12-22-2015, 01:54 AM
Awesome! That was the problem indeed. The confusing part was that everything in the differential rules apart from the uncoupled length part seemed to work fine. But when you use differential pair classes instead of normal classes, the uncoupled length works as well.

Thanks a lot!
robertferanec , 12-22-2015, 02:32 AM
Perfect. I am very happy it works now
Andrius , 05-02-2016, 05:26 AM
Hello, I have the opposite problem - even if the pairs are exactly 0.3mm apart, as set in the rules, DRC checking shows error - that these pair are uncoupled. What could be wrong here? Using Altium Summer 09 I attach screenshots
robertferanec , 05-03-2016, 05:18 AM
In some Altium versions, some corners are marked as "uncoupled". Try to add a little bit of tolerance (min / max) into the rules and let me know if it helped.
Andrius , 05-03-2016, 06:53 AM
Yes, the corners are uncoupled and adding tolerance helps, but the biggest problem is that almost all thack length (as shown in the picture) is uncoupled according to altium..
mairomaster , 05-03-2016, 07:47 AM
Part of the problem might be due to using a very old version of Altium. Lots of things have been improved over the years. I definitely recommend moving to a newer version if possible.
robertferanec , 05-03-2016, 08:23 AM
I don't think it's really uncoupled. In my opinion, when you draw a corner, Altium may not be able to draw the lines precisely in the exact space between them (because of grid or something) and the space may be a little bit different (a very small number different), but Altium may recognize it as out of tolerance. At least, that's what I think. I noticed, that in the latest Altium it's working oki.
Andrius , 05-04-2016, 11:47 AM
Thanks, maybe just Altium version is too old
mstamler , 02-25-2021, 11:55 PM
Hi. I am using Altium 20.1 and am doing the "Advanced PCB Layout" course. In lesson 4 discussing uncoupled length you purposely drag a net in a diff-pair, run DRC and show the violation. When I do it with the example files the violation does not appear. All diff-pair classes are defined.

The only way to get it to work is to delete the pair and reroute it, create a violation and rerun DRC. Then it shows up.

This is very worrisome because it means that imported designs from previous Altium versions create this situation and we don't see violations that are critical, of course, to the PCB design process. It means that the DRC is unreliable and this is a disaster.

Comment?
mstamler , 02-26-2021, 12:00 AM
More...When I rerouted HDMI_CLK then I could recreate a violation per above description. When I did the same for HDMI_D0 diff-pair I could not get Altium to detect the uncoupled length at all.
mstamler , 02-26-2021, 12:17 AM
More..It is not consistent. Sometimes when I move a track in a diff-pair to create an uncoupled violation it shows and most time it does not.
robertferanec , 02-27-2021, 01:06 AM
Double check setting in the diff pair rule - if you would like to see uncoupled length all the times, set in the rule "Max Uncoupled length" to 0

mstamler , 03-03-2021, 07:14 AM
That's it, thanks.
Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?