KiCad (funded by CERN) and LibreCAD are pretty good PCB layout and routing tools. Since Autodesk bought Eagle, they're the Open Source "great hopes."
For PCB tools, you should just join an existing project since there's several Open Source ones and we need better ones, not more. This is a suitable long-term hobby if you occasionally make boards yourself. Especially welcome if you work on the parts library UI and items.
Chisel, etc. are hardware compiler tools, not board layout tools.
You should get a job at a chip or HFT company and have them pay you to learn and apply this stuff.
The commercial software is shitty since the vendors spend more on keeping their license dongles up-to-date than adding features.
Source: worked at a company that designed a 400 million transistor chip. Most of my X-co-workers worked on the A11 and A12.
It's not really like programming. The tools are deeply integrated into the physics of the system.
What specifically makes electronics different from modeling other systems with software? DSP immediately comes to mind as something that is explicitly tied to Maxwell but there is really good software out there for describing, modeling, and creating signal processing components similar to how you'd write software. An example of this could be GNU Radio.
Is there something that prevents the creation of workflow automation tools, abstractions, and "compilers"/DSLs?
Do engineers at Intel, AMD, and Nvidia manually lay out each feature in their chip designs? If not, what workflow tools have they developed internally? Could those tools, or similar, be used for smaller scale circuit design?
As for the DSLs/workflow/etc there are companies in this space.
The answer is yes, but of course not exclusively. There was an English talk at ccc a while ago by an AMD engineer with lots of details on the whole process.
And a lot of the tools you mentioned are targeted towards FPGA design rather than full or semi-custom ASIC design. The big three have tools that can handle both.
And let’s not forget “EDA software” was single handedly pioneered by one woman and some lisp. Before then, it was hundreds of men taping out circuits on 4x8’ ply with...physical tape who all complained the labor and complexity costs were enormous and nothing could be done.
If we really want to point fingers, we could say it’s a monopoly on the supply chain side of manufacturing - costing millions in NRE’s to make a chip - but if you are willing to scrimp on process size you can get it done for $3 per layer per reticle at 500nm scale and $50 per mask.
I would try the local university with an electronics program.
With that in place, I wish it had:
. Something to import LTSpice files directly into its schematics tool (or even better, go back and forth)
. A rough but well integrated auto-router
. A better parts library management system (the current one is really bad).
And it's free ...
You can also use TopoR autorouter for free:
Topological routers make really interesting board designs looking like something retro or biological in its nature :)
I've not tried Toporouter and will go paly with it, thanks for the pointer.
I wonder if they are still around and if one can use their API from KiCad
If you're depending on an auto-router, you're doing it wrong.
Autorouters can be terrible. They mainly are. The reasons are partially with optimisation algorithms (although these are getting better), but primarily with poorly defined constraints.
Currently a schematic holds the physical connections and maybe a little bit of extra data - some pins might be "power" pins, or maybe a net or two is defined as a high current net - but broadly the circuit metadata which is highly relevant for routing is held in the designers head.
When you lay out a board you're always thinking about high current and high frequency (and especially high current high frequency) paths. You're looking for paths to ground, you're isolating sensitive analog regions from noisy digital regions, you're making sure the ground plane is uninterrupted. You're basically making thousands of tiny tradeoffs based on an understanding of what the board should be doing. If a computer doesn't have that knowledge, of course it can't effectively lay out a board.
If we can improve schematic annotation and part representation to properly hold this information then there's absolutely no reason autorouters can't be better than manual layout. If we can combine it with simulation then autorouting should really be the only logical choice. If you can almost completely avoid EMC testing by carefully defining all the high frequency nets and letting the autorouter find a design which is optimised for RF performance, then why wouldn't you? An EMC chamber costs thousands of dollars a day - you can easily spend 10s of thousands just on the testing alone, not to mention redesign costs.
My point is that as they stand currently, autorouters are absolute trash and you should not be depending on them.
The only real place they work is when you have a trivial routing situation but it would be incredibly tedious to route by hand, like a bus with 100+ traces or something.
Also, you have strictly no idea what kind of design I'm working on and therefore no idea what constraints - or lack thereof - I have to deal with when I design boards.
Finally, I've heard so many boomer EDA folks spew out this lame argument ... it's the same old tiresome song from folks who use to claim compilers could never beat hand-crafted assembly. They're very seldom heard from these days.
No, they're not for getting anything going quickly. Route it yourself so your boards don't look like absolute garbage. Unlike a compiled programming language, aesthetics matter, and you get no optimization from an autorouted board unless you're doing something like routing the exact same trace a hundred times over for some super simple parallel bus.
Which, again, I'm pretty sure you'd know what you were doing enough to not ask about an autorouter feature on HN if that were the case.
This coming to you from an early 20's "boomer".
KiCad already has an auto-router?
But yeah, parts management is a mess...
Yes, but LTSPice is so much better than ngspice. I really wish the Linear would OpenSource it, it's a really cool piece of software.
KiCad does not really have a very well integrated auto-router. As someone pointed out, the only "integrated" one was deprecated, and all the others I've tried are very clunky (from the pov of being integrated).
I used it to route a board, and it was kind of touchy, but did the job.
If you are putting your secret sauce in the PCB, you’ve already lost. Doesn’t matter if your board is one later or twenty.
Your secret IP had better not be your circuit board. That’s a losing proposition.
But then, that's something culturally almost impossible to even imagine from people who hark from the HW design world.
Sounds like an easy way to get others to do your work for you for free. Win win. Why go through the hassle of establishing a supply chain. So what's the catch? Why are we still labouring instead of waiting for our products to magically ship themselves through Aliexpress?
Never seen my IP show up anywhere but it's generally not very interesting to begin with :P
It's all about trust.
However, they're REALLY prickly about fabricating PCBs with lower tolerances (e.g. drills or cuts too close to PCB edges), and often refuse to fabricate them. I use ALLPCB in those cases.
As my designs are small hobbyist projects just for myself I don't really care about potential IP issues.
2. Protecting your IP with your PCB design isn't something you can really do. Any PCB can be reverse engineered very easily. Besides, if you're asking this question on a random internet forum, I have to doubt you have any serious IP to worry about.
TLDR: it kicked out white males trying to mostly have a reasonable conversation on Twitter from attending its events, while allowing an openly and viciously racist and sexist black woman to attend the same event, with her asking for “safe spaces” to top the irony.
Needless to say, my respect for the Linux foundation has plummeted. They’re clearly off my donation-lists now.