Ideas for high speed tools

Don’t beat me too hard for this post:) I want to find out what tools do we have for the high speed design, and probably if we don’t have it, I could try to make a Python plugins… Or maybe you will tell me that it is much easier to do that some another way round.
I just finished some Altium high speed design course and I look forward to do something similar in the KiCad but I’m afraid that KiCad misses some instruments I would like to have.
Please if you don’t mind, comment if you think that it will be handy to have that tools (or them already exists)

  1. Some tool to check lengths for nets. Ideally I dream about some dialog where you can define nets, which you want to see at once (for example DDR data bank). You click and get all defined nets with it lengths and vias count, Would be great to see what lengths do they have on each layer. (I think it’s quite easy to implement, just calculate quantity and lengths) I’ve seen net inspector, but it’s quite hard to use in the complicated designs.
  2. Same stuff but not only for nets, but for path between some objects (fot example, via and pad) It can be useful for T-topology… But it probably will need to do some checks (if net doesn’t cross itself, if all tracks properly connected, so it’s more complicated, but still alright)
  3. some tool to define tracks length on different layers (to match target impedance) it’s probably can be done by new rules in the nightlies…
  4. Tool to work with differential pairs. At least change its width and clearance. I think, that now differential pairs are just tracks, and there no option to change these parameters after they created easily. Can you imagine, you change stackup, or you change manufacturer and have to use different PCB materials, and after that you have to adjust differential pairs. Is it any way to do that easily?

I have two plugins which cover parts of what you wish.

  1. Lenght stats is the first one.
  2. Pad 2 pad track distance is the other one. You could fold this one into the first one to support to achieve lengt stats betwen e.g. one FPGA and two DRAMs, but someone should do something about the performace. The plugin uses recursion (an not a nice one), and can be slow.
1 Like

Mitjan,
that’s good stuff! Thank you. I think I can try to optimize your code, but anyway before that I will ask devs, if they have any plans with something similar in source code.

There are plans for a “plugin manager” integrated into KiCad. Which would do 3 things nicely:

  • Such plugins can be loaded directly from within KiCad.
  • There is a default place in KiCad with an overview of available plugins, and makes them more visible to more people. No more searching all over the 'web.
  • The limited amount of current developers do not have to bother with the plugins themselves.
  • It is inviting for others to join in, start writing or modifying plugins to their own needs.

If you proceed with changes I’d start with splitting the lenght data by layer and via counting. This should be quite easy to add.

That’s great!
Anyway maybe devs want to see some of that tools as part of source code. Sometimes it’s not much harder to contribute there.

Well, just no rush with that. If nothing changed in ideas, I want to ask in kicad devs mailing list if some of that tools better be in kicad itself, because I would say that’s quite common stuff.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.