HardCaml: Register Transfer Level Hardware Design in OCaml
ujamjar.github.io
ujamjar.github.io
I'd love to know why someone would develop one of these HDLs rather than work with one of the "mainstream" HDLs (i.e. system verilog, VHDL, System C)?
I've worked plenty with HDLs (mainly system verilog) from large ASIC projects to smaller FPGA prototyping projects. I could guess at a couple ways these new HDLs could possibly address some of the pain points, but it's not clear that's even their purpose.
It would be very nice if we could write our algorithms meant to be turned into hardware in a language whose level of abstraction matched that of the algorithms themselves, and then compile them down with a solid guarantee that what we wrote, should it pass some high-level compiler checks, will actually work, at least insofar as software usually works after passing the compiler in a high-level language.
As far as performance of what it synthesises down to, I have no idea as I have used neither.
Are you complete newbie to HDL?