Icarus Verilog – Verilog compiler and simulation system

Icarus Verilog is a compiler implementation for the Verilog hardware description language with support for a substantial subset of SystemVerilog.

Its normal workflow preprocesses, parses and elaborates a design before generating code for a back-end target, most commonly the VVP simulation runtime. Although simulation is its principal use, the compiler is also useful for checking HDL source because it performs language parsing, elaboration and selectable warning diagnostics before code generation. Its long-established command-line workflow makes it suitable for scripting, automated testing and integration with other electronic design automation tools on Linux.

This is free and open source software.

Key Features

  • Compiles hardware descriptions written using multiple generations of the Verilog language standard.
  • Provides support for many SystemVerilog language constructs alongside traditional Verilog.
  • Separates compilation from the VVP runtime used to execute the resulting simulation program.
  • Offers a null code-generation target for syntax and compilation checking without producing simulation output.
  • Provides selectable warning classes for identifying potentially problematic HDL constructs.
  • Supports command files for projects where passing large collections of sources and options directly is inconvenient.
  • Includes a preprocessor for macros, include files and other Verilog preprocessing facilities.
  • Can generate several alternative output forms through its configurable target architecture.
  • Supports VPI, allowing compiled C modules to interact with running Verilog simulations.
  • Provides utilities to simplify building and linking VPI modules on supported systems.
  • Supports waveform-generation workflows that can be inspected with compatible waveform viewers.
  • Can participate in automated HDL testing environments as a compiler and simulation backend.

Website: github.com/steveicarus/iverilog
Support:
Developer: Stephen Williams and contributors
License: GNU General Public License v2.0

Icarus Verilog is written in C and C++. Learn C with our recommended free books and free tutorials. Learn C++ with our recommended free books and free tutorials.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted