Icarus Verilog is a Verilog compiler. It is suitable for use as a simulator, and, to some degree, synthesizer. Icarus Verilog runs under Linux and a variety of UNIX systems, as well as Windows as a command line tool, so the instructions are generally applicable to all environments. Note that this is only a quick start. For more detailed documentation, see the manual page for the iverilog command.
The first thing you want to do as a user is learn how to compile and execute even the most trivial design. For the purposes of simulation, we use as our example the most trivial simulation:
module main; initial begin $display("Hello, World"); $finish ; end endmodule
Download this program, or copy it from the Icarus Verilog examples directory. Next, compile it with a command like this:
% iverilog -o hello hello.vl
The results of this compile are placed into the file
hello, as the
-o flag tells the compiler where to place the compiled result. Next,
execute the compiled program like so:
% vvp hello Hello, World
And there it is, the program has been executed. So what happened? The
first step, the
iverilog command, read and interpreted the source
file, then generated a compiled result. The compiled form may be
selected by command line switches, but the default form is the VVP
format, which is actually run by the
vvp commands are the only commands that users
use to invoke Icarus Verilog. What the compiler actually does is
controlled by command line switches. In our little example, we asked
the compiler to compile the source program to the default vvp form,
which is in turn executed by the vvp program.
The easiest way to install under Windows is to get a precompiled
installer for the version you wish to install. Icarus Verilog is
distributed for Windows users as a self-installing
.exe. Just execute
the installer and follow the instructions. During the install, take
note of the directory where the program is installed: for example,
C:\iverilog is a good place to install.
Once the binary is installed, you need to add the bin directory to
your execution path. The executables you need are in
C:\iverilog part is actually the root of where you
installed the package. The programs are in the bin subdirectory. Put
this directory in your
PATH environment variable, and the above
commands become accessible to you at the command line prompt, or even
in batch files.
Under Linux, the install is even easier. For RedHat and Mandrake based
systems, there is the appropriate RPM file. Just install the package
rpm -U <file> command. Debian users should get Icarus
Verilog packages from the main Debian software site.
In this case, see The Icarus Verilog Compilation System and other documentation that comes with the source.