3 ms·
I mean, the problem is that in the FPGA world the tooling and synthesis languages are inextricably linked. HLS is an approach that, IMO, is also the completely
by alfalfasprout 6y ago
I mean, the problem is that in the FPGA world the tooling and synthesis languages are inextricably linked. HLS is an approach that, IMO, is also the completely wrong direction since a general purpose programming language like C/C++ won't map nicely to the constructs you need in FPGA design.
What we really need is a lightweight, open source toolchain for FPGAs and one or more "higher level" synthesis languages. I've always wondered if a DSL using a higher language like Python isn't a better way to do this. Rather than try to transpile an entire language, just provide building blocks and interfaces that can then be used to generate verilog/VHDL.
- jlokier 6y ago> I've always wondered if a DSL using a higher language like Python isn't a better way to do this Like this? http://www.myhdl.org/ http://www.myhdl.org/
- bb88 6y agonMigen for python is where it's at these days. https://github.com/m-labs/nmigen https://github.com/m-labs/nmigen
- bb88 6y ago> What we really need is a lightweight, open source toolchain for FPGAs and one or more "higher level" synthesis languages. nMigen: python based DSL to verilog translator LiteX: Open source gateware SymbiFlow: Open source verilog compiler + PnR tooling. There a linux kernel running on liteX and a Risc V core running on an ECP5 running out on the internets. A micropython version running on a risc V core and migen (earlier version of nMigen) can also be found here: https://fupy.github.io/ https://fupy.github.io/