I searched the internet for over an hour by now, and apparently this issue has happened to other people before but none of the fixes work for me.
I have differential pairs and I am trying to tune the skew.
When I click on one line, it tells me the skew is about 3.3mm, however when examining the two tracks the difference in track length is only about 1mm. If I apply the tuning, Kicad says that my other segment is now 2mm longer but persists that the pair is “tuned”. So I dont know which measurement of length I can trust and with high-speed differential lines that mistake can be costly.
The next problem that I have, is that on some differential lines it mistakes the short track with the larger track and thus makes the already larger track even larger. I already used the clean up tracks and via tool and rewired the connection and checked every segment for underlying tracks that could distort the track length.
The length tuner and the status bar use different calculation methods because the length tuner in KiCad assumes a point-to-point connection between two pads (more complicated topologies like tree fanouts are not supported) and so when you click to start length tuning, KiCad finds a path between two pads on that net and can make a more accurate length measurement. The status bar and net inspector measurments do not have the benefit of a starting point (the point where you click to start placing a tuning shape) so they cannot run the same path-finding code.
There should not be an issue with rounded corners. The following are known reasons why the tools can differ:
If you are including board height in length calculations (on by default, can turn off in Board Setup), the length tuner uses the actual length through a via, that is the distance between the layer where the trace enters a via and the layer where the trace exits the via. The status bar calculation adds the full height of the board for every via.
If you have overlapping segments / redundant segments, they are excluded by the length tuner but may not be excluded by the status bar calculation in all cases.
If your trace is not point-to-point, i.e.if it connects 3 or more pads, KiCad does not support length-tuning for it as you cannot currently specify which is the driving pad and which pads are receivers. The length tuner will pick two pads to measure between, but the status bar / Net Inspector will show the total routed length
Thank you for clearing that up.
To be honest I am still a bit confused which length measurement I should trust then. Because sometimes the status bar measurement and the tune tool measurement are equal, sometimes they are not and sometimes the tune tool is clearly wrong, for example I have a track that curves around corners and the tune length tool persists that the inner track (which must be shorter) is longer. Also all my vias are through vias because I am using the outer two layers of my board for the signals so I suppose the full height of the board should be equal to the length through the via here.