Live data from Hacker News

Verilator: Fast, Free Verilog HDL Simulator

veripool.org

1–10 of 20 posts

Re: Verilator: Fast, Free Verilog HDL Simulator

#2
Verilator is an awesome tool. I suggest if you are interested in open-source EDA this you also check out Icarus Verilog [1] - an event based Verilog sim, Yosys [2] - a Verilog synthesis tool and formal solver, and NextPNR [3] - a place-and-route tool. The set of these provide a pretty reasonable set of tools for developing hardware (that is HDL) with fully open source software!

[1] - http://iverilog.icarus.com/ [2] - http://www.clifford.at/yosys/ [3] - https://github.com/YosysHQ/nextpnr

Re: Verilator: Fast, Free Verilog HDL Simulator

#4
Verilator has some serious limitations:

  The driving test bench is C/C++
  It is a cycle simulator, not a delta-time simulator: it will 
  only simulate synthesizable code (not test bench code) 
  It cannot do back-annotated timing simulations
  It cannot use encrypted vendor libraries (no simulations with Xilinx IP, for example)
  It has no mixed-HDL language capabilities
  It requires Gtkwave to view waveforms with (opinion, but I hate the UI)
It is a terrible recommendation for beginners - you'd be much better served by using Xilinx Vivado's inbuilt simulator and waveform viewer.

Re: Verilator: Fast, Free Verilog HDL Simulator

#6
post #3

And how does one get a cheap FPGA board out of it? China? Any recommendations?

Verilator is only a simulator, once you want to run it on a fpga you use yosys + nextpnr. The icestick is a popular and cheap choice to get started, there is also the TinyFPGA BX and iCEBreaker if you would like a few more features.

Re: Verilator: Fast, Free Verilog HDL Simulator

#7

Verilator has some serious limitations: The driving test bench is C/C++ It is a cycle simulator, not a delta-time simulator: it will only simulate synthesizable code (not test bench code) It cannot do back-annotated timing simulations It cannot use encrypted vendor libraries (no simulations with Xilinx IP, for example) It has no mixed-HDL language capabilities It requires Gtkwave to view waveforms with (opinion, but…

It has a steep learning curve, but overall I think it forces you to adopt good development practices from the start. Since it generates C++ you can also easily wrap that code and expose it to python. That way you can use software tools instead of system verilog and can easily do integration testing with your software HAL. In practice our group uses commercial tools (synopsis, cadence) and DPI-C but for the most part this is because of the VHDL code we have. Vivado‘s build in simulator is way too slow.

Re: Verilator: Fast, Free Verilog HDL Simulator

#8
post #2

Verilator is an awesome tool. I suggest if you are interested in open-source EDA this you also check out Icarus Verilog [1] - an event based Verilog sim, Yosys [2] - a Verilog synthesis tool and formal solver, and NextPNR [3] - a place-and-route tool. The set of these provide a pretty reasonable set of tools for developing hardware (that is HDL) with fully open source software! [1] - http://iverilog.icarus.com/ [2] -…

There's a longer curated list of general HDL languages and tools here: https://github.com/drom/awesome-hdl

Re: Verilator: Fast, Free Verilog HDL Simulator

#9

Verilator has some serious limitations: The driving test bench is C/C++ It is a cycle simulator, not a delta-time simulator: it will only simulate synthesizable code (not test bench code) It cannot do back-annotated timing simulations It cannot use encrypted vendor libraries (no simulations with Xilinx IP, for example) It has no mixed-HDL language capabilities It requires Gtkwave to view waveforms with (opinion, but…

The first two are a feature for me. Not to mention not being crippled by Xilinx 'IP Core' DRM.
Post reply on HN