This is an update from the folks doing Thunderscope (a high frequency "soft" oscilloscope) but this really stands out:
Teaching KiCad a New Trick - Matching Delays
At time of writing, KiCad only understands the length of traces and pins. When length matching, it takes length as a single number added up across every layer. This leads to delay mismatches, as the signals on the inner layers are slower than the signals on the outer layers. When assigning pin lengths, you need to arbitrarily choose a layer to convert a delay value (given by the manufacturer), to a length. This also results in delay mismatches.
I wanted to do this right, just like Altium does, but I didn’t want to have to calculate and add up all the delay values by hand in a spreadsheet. So I made a script to rewrite custom design rules to try to get KiCad’s length matching to be delay matching (including pad delays).
Closed source design tools leave you stuck, and often when a need like this surfaces you end up paying a lot of money for an "option pack" that adds the capability. If you have ever wondered if KiCad was up to doing any kind of design, this should assure you that no it works just fine and you can kick that $10,000 Altium license to the curb.
Why haven't people bludgeoned them into opening their software if its so useful? This is inevitable; in fact you could measure the long-term efficiency of an industry by how quickly this happens. Movie studios are famously bad at spending money (yes there are exceptions, but they can be counted on one hand).
The quote does say that Altium does it out of the box though? With KiCad you had to write a script and learn how the format works. Could also be introduced as a patch to upstream and have everyone benefit from it, but that's less time spent working on the circuit
But you have recourse! It’s not ideal, but it beats being at the mercy of a vendor in most cases. Trying to hack around a closed source format is an even bigger drain.
> The quote does say that Altium does it out of the box though?
Sure, if you're routing 8+ layer boards with blind vias and PCIx16 and DDR5 buses every day, go buy an Allegro or Expedition licence for 6 figures. It's absolutely worth the money.
For Altium, I find that the "showstopper bug that Altium has":"feature that Kicad doesn't have" ratio is almost always strongly in favor of Kicad.
Teaching KiCad a New Trick - Matching Delays
At time of writing, KiCad only understands the length of traces and pins. When length matching, it takes length as a single number added up across every layer. This leads to delay mismatches, as the signals on the inner layers are slower than the signals on the outer layers. When assigning pin lengths, you need to arbitrarily choose a layer to convert a delay value (given by the manufacturer), to a length. This also results in delay mismatches.
I wanted to do this right, just like Altium does, but I didn’t want to have to calculate and add up all the delay values by hand in a spreadsheet. So I made a script to rewrite custom design rules to try to get KiCad’s length matching to be delay matching (including pad delays).
Closed source design tools leave you stuck, and often when a need like this surfaces you end up paying a lot of money for an "option pack" that adds the capability. If you have ever wondered if KiCad was up to doing any kind of design, this should assure you that no it works just fine and you can kick that $10,000 Altium license to the curb.