Re:Show HN: Atopile – Design circuit boards with code
by napowderly on Monday February 05, 2024 @04:46PM
(#39267692)
We had a look at a few options before doing our own. A few thoughts;
Building a DSL allows us to keep it really simple to start, we tried using SKIDL ( a very cool python project) and found it was pretty easy to get your self in a weird spot, the language would let users do things like create a component and not hold a reference to it.
Units and tolerances are core to our language, the physical world is 'fuzzy' and having a good way to deal with those we think is pretty important.
We are also trying to make it as readable and friendly as possible, our expectation is our users will likely have some experience with python and perhaps a little C back in school, so making it clear and approachable is front of mind.
Very open to critiques on our choices! We still very much in development.
Re:Show HN: Atopile – Design circuit boards with code
by demondemidi on Monday February 05, 2024 @05:14PM
(#39267990)
I think a lot of young hackers just don't have the breadth of experience to know what has come before them, or what is in common use. OP has reinvented synthesis, but poorly.
Re:Show HN: Atopile – Design circuit boards with code
by fennecbutt on Monday February 05, 2024 @05:44PM
(#39268260)
And if you want to go there (which you did), older hackers have too much experience and are therefore set in their ways and are incapable of innovation.
Re:Show HN: Atopile – Design circuit boards with code
by demondemidi on Monday February 05, 2024 @06:12PM
(#39268520)
“Go there”? This isn’t a battle. Both can be true. But experience is a fact.
Re:Show HN: Atopile – Design circuit boards with code
by mawildoer on Monday February 05, 2024 @05:25PM
(#39268085)
Not even quite synthesis yet! We're well aware there's quite a lot out there that's fairly analogous - but nothing that's quite translated to the space, despite a few efforts as pointed out above.
There's a few parts we think that are behind that, but one is similar to python's/Guido's "code is read more than it's written", so we're attempting to address that!
FWIW: Cadance "conceptHDL" is a schematic entry program which generates a Verilog netlist like this as its output (usually for board level simulation including ASICs and FPGAs). But if you're careful, Verilog could used directly as the input- the board-level schematic is pretty simple compared with the chip source code.
I'm sure there is a tool somewhere to convert this into an EDIF netlist for Kicad or whatever. [Icarus can do it: https://steveicarus.github.io/iverilog/targets/tgt-fpga.html ]
Also: this is not limited to digital: there is a variant of Verilog called Verilog-AMS specifically designed for analog simulation.
https://en.wikipedia.org/wiki/Verilog-AMS
In Verilog-AMS, you can define a simulation models of your components:
So not only do you get a component, but you also can simulate the whole thing before fabrication to catch mistakes.