How to Length Match RGMII Data Lines — Meanders Not Forming on Shortest Trace(kicad 8.04))

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?

Thanks in advance!

design rule

image

How is KiCad supposed to change the length from the current 26.38 mm to 3mm? I guess there is a mixup between track length and skew.

I did not even know you could use a custom rule for length matching. Normally you set a target length somewhere in the length matching dialog / menu.

1 Like

Start by updating to 8.0.9. I remember several length tuning bugs found during the V8 lifecycle

1 Like

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.

2 Likes