Hi everyone,
I’m trying to length match a group of RGMII data signals in KiCad.
I have created a net class and defined the appropriate design rules for length matching. Some traces are longer than others. One of the traces is 20 mm (which I need to form into meanders for length matching), another is 26 mm, and the remaining two are 23 mm each.
However, during tuning, the meanders are not forming on the shortest trace (the 20 mm one).
Even though I set the rules, KiCad does not automatically add the necessary length to this trace.
What could be the reason for this issue?
How can I fix it so that the shortest trace also gets meanders and matches the group length?
I’m currently working on length matching four signal traces in my design. I’ve set a design rule for this purpose—If this approach is incorrect, what would be the recommended method?
The length constraint only looks at absolute length. The skew constraint is for skew tuning like you are doing - however it is currently only implemented for differential pairs (it’s on my list of things for v10 to improve).
To do what you’re wanting to do - route the longest trace, measure its length, and then set your rule length constraint to that value. It’s a little round-about, but it should work.
Note that there are sometimes some differences in track length measurement between the DRC, length tuner, status bar, as net inspector in v8 (and v9). I’ve just fixed that for nightlies / v10. The router has the most accurate calculations.