5 ms·
Code generation is a good analogy - nice high-level code in, CAD design out. The 'sugaring' is implemented in a macro system that generates an Intermediate repr
by DHaldane 4y ago
Code generation is a good analogy - nice high-level code in, CAD design out. The 'sugaring' is implemented in a macro system that generates an Intermediate representation we designed for electrical systems (kinda like LLVM for hardware).
JITX only produces weird-looking designs when they are provably correct and of high-performance. You can't throw an indecipherable mess to an EE and ask them to spend time understanding it. That's just not a productive way to design. There's a lot of work we do to make a design legible, including generating a schematic for the user to read.
Yes! Our 'source-maps' connect the generated design checks, board, and schematic back to the originating line of code. So the user sees the output they are familiar with (e.g. schematic), and can trace it back to the line of code it came from. Collaboration in a team happens more at the source-code level, and we make sure that the same CAD design gets generated when that code is run.
- philsnow 4y agoThanks, this is amazing work!