5 ms·
I've been using Altium for years professionally and would love to see a FOSS project unseat it. My own efforts to advocate staffing a few FTE to work on KiCad d
by zbrozek 7y ago
I've been using Altium for years professionally and would love to see a FOSS project unseat it. My own efforts to advocate staffing a few FTE to work on KiCad didn't get very far.
There are some things about it which drive me nuts and which could easily be done better in an open tool:
- The UI is extremely slow. Clicking on a component often causes the entire app to pause for 1-10 seconds while it loads all of the part parameters and redraws panels.
- It doesn't handle large libraries gracefully. We have something around 30000 parts and the library compiler crashes more often than it succeeds. The Altium sales folks have attempted to get us to switch to vaults but can't explain to us what the data store is, what the concurrency model is, why it's not further lock-in, and why it should be more performant.
- Better geometry importers and exporters. Getting fancy RF geometries in and out is a huge pain. For one thing, Altium's DXF parser renders at a fixed resolution. So if you have some very small feature it will often get turned into a line or a dot. And even if not, it'll be coarse.
- Never do anything in the UI thread that isn't strictly responding to user input.
There are some things it's mediocre and it would be somewhat difficult to implement better in an open tool:
- Really good understanding of mechanical mates. Basically Solidworks-grade constraints for putting things together.
- Tight interconnectedness between schematic and layout rules, and a really powerful and expressive language for writing rules. Altium's rules language is simultaneously constraining and often lacks coverage for obvious cases. As an example, there's no way to do same-net gap analysis. You can make unmanufacturable spaces between two traces of the same net all day long and the design rule checker would never care.
Some stuff Altium pretends to do but doesn't, and it would be fiendishly difficult to do a good job in a FOSS tool:
- Physics modeling. I want to know how much coupling I'll have between nets. I want to see discontinuities in transmission lines. I want to know what will radiate and absorb and how. Basically I want to be able to have my CAD tool also be Ansys HFSS with varying degrees of fidelity.
- Real schematic hierarchy. The schematic compiler is chock full of bugs that it's dangerous to rely on hierarchy and also dangerous not to. I want to draw schematics with the same type of composition and repetition that I use to write software.
Then there's stuff that Altium doesn't even pretend to do and someone totally should write an EDA tool that does.
- Useful diff of schematics and layouts. I want to be better able to tell where I might have made an unintended change.
- Real time collaboration. Google Sheets but schematics and layouts. I want to be able to drop in on my layout artists' work and be able to point things out or share in the burden.
Lately in my office there have been lots of new people coming from places that use Cadence and they're slowly trying to get us to switch over. I haven't figured out what about it is supposed to be superior.