Verilog, VHDL, Chisel, Spinal, Migen, PyMtl and others

There are many HDLs out there, but the two most important ones are Verilog and VHDL. These are supported by all ASCI design suites and FPGA synthesizer tools(some tools also support the synthesizeable subset of SystemVerilog).

Some Analogies

If boolean logic gates were assembly, then Verilog and VHDL would be like assembly with macros. PyMtl and SystemVerilog, would be like C. Chisel, SpinalHDL, Migen would be C++ or perhaps Python. This is not an entirely accurate comparison(PyMtl and SystemVerilog are somewhat focused on delivering different levels of simulation fidelity depending on the needs), but provide an illustration of sorts.

Problems with Verilog and VHDL

The main shortcomings of Verilog and VHDL is that they lack any modern software language features, namely: OOP. The other languages listed are not supported by ASIC or FPGA tools, so this means these languages must compile down to Verilog or VHDL. Migen and PyMtl I believe compile down to Verilog only.

What's Used in Industry

HDL Used by
Verilog Everybody at some point in the design process(for those who don’t use VHDL)
VHDL Mostly government - makes sense, VHDL was commissioned by DARPA
System Verilog Common in industry for ASIC verification
Chisel Google in their TPU, Berkeley Architecture Research(Invented here), popular in open source
SpinalHDL Fork of ChiselV2, functionally similar to ChisalV3, popular in open source
Migen Some European companies
BlueSpec HDL router design in industry
PyMtl Mostly research - Cornell designed Celerity ASIC with it

What I might use

In the following pages, I discuss some strengths of migen and verilator(a verilog simulator). My general approach is to avoid Verilog and VHDL where possible as they are rather unpleasant for large designs. I would use Chisel or Spinal for simulation intense designs(as both offer verilator as a simulation backend), Migen for SOC integration, and verilator for verilog simulation.

In fact I would avoid VHDL altogether. VHDL has no fast simulators available.