Earlier quoted context omitted.
Nice work. FPGA design appears to be very similar to GPU shader programming. First time I've read anything about FPGA design that connected. Usually FPGA stories get lost in data flow jargon and I learn nothing.
There is no programming in FPGA at all. You describe your hardware using hardware description languages like VHDL or Verilog.
FPGA Design for Software Engineers
81–84 of 84 posts
Re: FPGA Design for Software Engineers
#82I am curious, why System Verilog isn’t mentioned in this article. It is much much better than Verilog and is used in industrial applications. What I am missing are 2 topics: timing analysis and debugging. Static timing analysis and proper timing constrains are crucial for functional design. No tool can differentiate without constrains a slow signal signal toggling LED every 10 seconds from DDR3 533 MHz differential c…
> I am curious, why System Verilog isn’t mentioned in this article. It is much much better than Verilog and is used in industrial applications. Probably because it has very limited support in open source tooling, same as VHDL.
Re: FPGA Design for Software Engineers
#83Earlier quoted context omitted.
> I am curious, why System Verilog isn’t mentioned in this article. It is much much better than Verilog and is used in industrial applications. Probably because it has very limited support in open source tooling, same as VHDL.
That is not true: Verilator is an excellent tool that compiles a large subset of synthesizable System Verilog to C++. Companies like Tesla use it and report speed ups of up to 40 compared to commercial tools. Similarly for vhdl there exists ghdl, which seems pretty feature complete and has an LLVM backend
Yosys (which AFAIK is still the only non-toy open source synthesis tool) supports a _very_ small subset of SV, and does not support VHDL (at least in the open source version).