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.
Nice progress here, always gets my brain going about open source vs paid tools. Real question for me - you think having that control and flexibility is worth jumping through more hoops up front or not worth it if time's tight?
Would love to see a sample of the software when available. I wonder if it could supplement / replace my Saleae logic probe (which includes some analog channels).
My post is being downvoted, but it was serious advice though.
Especially in RF hardware design, you will have to plan for the hardware revision to inevitably have problems. And in hardware design, a new revision will take at least another week for a new prototype to arrive.
OP is on rev 5, so I'm assuming that the schematics itself will have been validated already, if the schematics haven't changed between v4 and v5 then it's not unrealistic to subtract the schematic validation part from the planning.
However, OP does also mention having made many routing / placement changes, and trying to move components under a heatsink and such. This is where all sorts of unforseen problems can arise. Especially with high-speed, RF, impedance matched design you can run into so many unforeseen RF black-magic problems. Trust me, I've been there.
In hardware, especially when RF is involved, it's not about how long the testing/validation itself takes, but the turnaround time to get a new prototype produced.
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.
reply