Problems with drawing differential tracks in Lesson 4 of the Advanced PCB Layout
Tom Yunghans , 06-18-2020, 07:20 PM
I am in Lesson 6 of the Advanced PCB Layout course and was working on the "Length Matching of Differential Pairs" activity. I opened the"L6 - 04 - Differential Pair Length Matching - Module and Baseboard" project and was working on the the HDMI lines on the baseboard. I had a lot of problems with the "Interactive Differential Routing" Tool. If I deleted one of the HDMI pairs on L3 and then tried to redraw, I get various problems. The tool would generally not start or end the two traces reliably. I could usually eventually get the track drawn, but only after playing with them for awhile. There was one case where I could never get the one of the signals reconnected to one of the vias assigned to that track. In that case, I had to exit without saving, and try again. I thought that maybe something went wrong with your activity project, so I tried playing with the original baseboard project you supplied in Lesson 1, and had the same issues. The problem seemed to be worse when working on the L3 differential tracks, but I also had similar problems modifying the differential tracks on L1 and L6.
I have attached a photo that I took as I tried to redraw the differential pair "HDMI_CLK" on L3 to try and give you a flavor of what is happening. As you can see the two tracks are not being created properly as I am initiating the tracks out of those vias (only one of the two tracks is being created). I have done some differential pairs previously in your training classes and not noticed this problem before. I did just update to version 20.1.11 of Altium Designer fairly recently; is it possible that they have introduced a bug in that new version? Could you give this a try on this project using your latest version of Altium to see if you have the same problem?
robertferanec , 06-19-2020, 06:57 AM
Hi Tom. Please double check how diff pairs are defined in the rules. Some rules may not be properly transferred between different Altium versions (double check the track width and space defined in rules for diff pairs).
Also, Altium keeps changing default values of some settings and this can change behavior of interactive routing. When you are routing, try to play with the settings in the properties panel.
Let me know if that helped.
Tom Yunghans , 06-19-2020, 11:02 AM
I checked the differential routing rules for the 100ohm differential pairs, as you suggested. In your original baseboard design, for L3, you have a trace width of 0.2/0.2/0.2mm for min/preferred/max, and for the gap you have 0.499/0.5/0.501. The vias you placed in that design to connect to the differential pair are 0.65mm apart (center to center). This spacing won't support running the tracks directly out of the vias as 0.2/2+0.2/2+0.5=0.7 which is greater than 0.65. The differential interactive router doesn't seem to deal with this gracefully. I have attached an image of how one of these differential tracks was routed on your design. You can see that the two tracks jog outwards from the center of the vias so that the 0.5mm spacing can be achieved as quickly as possible. Apparently, the interactive router in the current version of Altium (20.1.11) won't do this (unless there is a setting that I need to change). Does this make any sense to you? If I move the vias a little further apart, I don't have any problems routing the tracks using the differential interactive router. Is this an Altium bug, or is this way it has always worked?
I was also curious about why you defined a slightly lower min (0.499) and a slightly higher max (0.501) for the gap between the tracks. I don't believe I have heard you talk about this in any of your videos. Can you explain?
robertferanec , 06-22-2020, 02:20 AM
- space tolerance: because of errors in corners (in corners space could be lower or bigger then 0.5)
- diff pair interactive router doesn't always make the connection perfect - depends how much space is there, what altium version you use, etc. I would not spent too much time thinking about that ... it if doesn't work perfectly, just adjust it manually.
Use our interactive Discord forum
to reply or ask new questions.