3 ms·
The core ideas here are cool, but switching from a symbolic, schematic based approach to code seems insane for what amounts to strictly analog/RF design. In int
by kayson 4y ago
The core ideas here are cool, but switching from a symbolic, schematic based approach to code seems insane for what amounts to strictly analog/RF design. In integrated circuit design, "modules", parametric components, and bulk connections are standard practice in our schematics. We can also integrate this/use the same techniques with relatively high performance layouts. There's no reason the same couldn't be used for PCBs, and I'm honestly a little surprised that those features don't exist given that the only two major IC design software companies also make PCB design software.
I've mostly done analog IC design, but I've also done a not insignificant amount of verliog/vhdl, programming, infra as code, and pcb design. I can't pin point exactly why, but I just can't see how you accomplish the same thing visually and/or information ally with code as you can a graphical schematic.
- bb88 4y agoThere was a talk at Kicon that touched on this: https://www.youtube.com/watch?v=WErQYI2A36M https://www.youtube.com/watch?v=WErQYI2A36M At some point for large enough designs, it's hard to validate that pins match up to signals. Though for small designs I think you're right.
- deaddabe 4y agoThis talk was impressive. Especially repeating parts and even using machine learning to optimize values of resistors. TL;DW the tool is named Skidl ans uses Python to generate net lists for KiCAD. https://github.com/devbisme/skidl https://github.com/devbisme/skidl
- welterde 4y agoSo far I have only used skidl for a few small projects. One project where it worked really well was in creating the schematic for backplanes, which is normally kinda tedious - especially if one has to create multiple variants with different slot numbers.
- ris 4y ago> chooses an imperative language to define circuit topologies hmm.. maybe that's ok if they don't go too overboard and encourage a functional style > uses & as an in-place, mutating operator that's it, I'm out of here
- bb88 4y agoI agree. '&' should not mutate. In this case it's simple to do: net1 = pin1, pin2, pin3 design = net1, net2, net3...
- Brian_K_White 4y agoWow. That is really really cool.
- kayson 4y agoI don't buy that argument. ICs are massive. Way bigger in terms of number of schematic pages than any PCB. I think the problem is that PCB designers are used to having very "flat" schematics whereas IC designers always have a lot of hierarchy. For example, the madness with the schematic he shows in that video for all of the by pass caps is something you'd never really see in an IC design. The cap would be placed in the schematic hierarchy either right at the voltage regulator or right at the circuit where its needed. But on PCB schematics you see that kind of thing all the time. Part of the problem may be that with an IC you can easily simulate anything. The whole workflow is built around it. For a PCB, outside of using models for standard analog building blocks via spice simulator, it's a lot harder to verify your design.