Designing one circuit description language for designing systems on PCB.
Inspired by register-level description language such as SystemVerilog. Dragging parts and wires on schematic in EDA is so boring and low-efficient. So I’m designing a description language for placing parts and wiring modules.
Reusing modules and layouts is also tough in KiCad and many EDAs. So it’s necessary to have one common layout format. Each module can have multiple layouts to choose.
Parameterization is useless just like the generate block in Verilog. The synthesizer itself could not provide enough flexibility and configurability.
Generating modules through Scala DSLs is a good idea. Inspired by Chisel and SpinalHDL.
PCB design is quite a bit different with FPGA. There is no logic, only parts and wires. Each bit in signal wire in Verilog is one single wire on PCB.
And PCB designer has to manually decide the positions and layout for the parts and wires. Looking for one approach to automate the layout is one of my motivations to learn Machine Learning.
I’ve got started with Julia language. But I still lack one GPGPU for discovering and practicing with the ML frameworks.