2001-07-21 06:39:26 +02:00
|
|
|
|
|
|
|
|
* Getting Started with Icarus Verilog
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Hello, World!
|
|
|
|
|
|
|
|
|
|
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;
|
2004-10-04 03:10:51 +02:00
|
|
|
|
|
|
|
|
initial
|
2001-07-21 06:39:26 +02:00
|
|
|
begin
|
|
|
|
|
$display("Hello, World");
|
|
|
|
|
$finish ;
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
endmodule
|
|
|
|
|
|
|
|
|
|
By a text editor (or copy hello.vl from the Icarus Verilog examples
|
|
|
|
|
directory) arrange for this program to be in a text file, "hello.vl".
|
|
|
|
|
Next, compile this program 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" command.
|
|
|
|
|
|
|
|
|
|
The "iverilog" and "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
|
2001-07-27 04:41:28 +02:00
|
|
|
the compiler to compile the source program to the default vvp form,
|
2001-07-21 06:39:26 +02:00
|
|
|
which is in turn executed by the vvp program.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Windows Install
|
|
|
|
|
|
|
|
|
|
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\bin,
|
|
|
|
|
where the "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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Linux Install
|
|
|
|
|
|
|
|
|
|
Under Linux, the install is even easier. For RedHat and Mandrake based
|
|
|
|
|
systems, there is the appropriate RPM file. Just install the package
|
|
|
|
|
with the "rpm -U <file>" command. Debian users should get Icarus
|
|
|
|
|
Verilog packages from the main Debian software site.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Install From Source
|
|
|
|
|
|
2003-01-30 17:23:07 +01:00
|
|
|
In this case, see README.txt and other documentation that comes with
|
2001-07-21 06:39:26 +02:00
|
|
|
the source.
|