Icarus Verilog

This is the user guide: a collection of articles on how to use Icarus Verilog effectively. The two major parts cover working with Icarus Verilog and Icarus Verilog details. The first part contains articles that describe how and why things work, and the second part contains more advanced aspects of using Icarus Verilog. Although both sections are written in prose with examples, the second section is more detailed and presumes the basic understanding of the first part.

Working with Icarus Verilog[]

These are articles that describe in clear prose, with examples, the basics of using Icarus Verilog. Each article covers a significant aspect of using Icarus Verilog in the real world.

More Details[]

The links here contain more advanced information on select subjects. Read here for complete details on subjects that were introduced in the guides above.

Add-on Products[]

These are some add-on products and 3rd party utilities that make working with Icarus Verilog a more complete user experience.

GTKWave is a waveform/VCD dump viewer that is well supported by Icarus Verilog.
  • Covered
Covered is a coverage analysis tool. It can be found here.
Simbus supports distributed simulations of bussed systems.
Cocotb uses VPI to embed the Python interpreter into the simulator and provides a Python library for accessing and assigning signal values, traversing the simulation heirarchy and writing regression tests. Documentation is available on cocotb.readthedocs.org