5 ms·
Okay. I like this article and I've thought about it regularly since it last made the rounds here. 1) C is a low level language for a PDP11, or for a single core
by Peteragain 9d ago
Okay. I like this article and I've thought about it regularly since it last made the rounds here.
1) C is a low level language for a PDP11, or for a single core on a GPU.
2) But what would a low level language look like for an FPGA? Probably verilog.
3) The point worth pursuing however is whether there might be a Hardware agnostic "low level language".
4) yep Haskel by the looks of things. If only I could find the reference.. :-/ There's a set of slides from a crew in Edinburgh doing the history of functional languages. Does any one remember something similar?
- stephen_cagle 9d agoI've never done verilog professionally but I did "Digital Design and Computer Architecture, RISC-V Edition: RISC-V Edition" as an exercise 2 years ago. I would say Verilog is very much NOT a low level language. Metaphorically, it feels closer to SQL to me. I mean this in that you theoretically tell the system what it should do, and it builds it into the messy real world. However, the reality is that the planner (sql) or linker/placer/router/whatever (verilog) are very good, but you often end up needing to actually fully understand the problem anyway when things don't work in the abstract. I know there is https://clash-lang.org/ https://clash-lang.org/ for Verilog design, which sounds a little like what you are talking about (never really looked at it myself).
- Peteragain 9d agoFound it! Thanks for the pointer: https://researchportal.hw.ac.uk/en/persons/rob-stewart/ https://researchportal.hw.ac.uk/en/persons/rob-stewart/ My argument is that verilog is to FPGAs as assembler is to pdp11s, and C is closer to assembler than Java or prolog. High level languages are easier for programmers, but interestingly, the high level language Haskel readily compiles to FPGA. What's happening here?
- mathisfun123 9d ago> what would a low level language look like for an FPGA? Probably verilog Verilog is not a programming language (because FPGAs are not programmed) it's a hardware description language. It's also very lossy (every vendor has reams of coding guides for using it just right with their synthetizer).
- Peteragain 9d agoWell c does look much like the hardware of a PDP11 and verilog LUTs look like FPGA hardware. But my wife (a. CS prof) says the same: programming is what programmers do.