Fix for assertion error when expanding macro.
[iverilog.git] / examples / hello_vpi.vl
blob520f95719a2d5daf6e9f87246985915f0e2b1318
1 /*
2  * Copyright (c) 2002 Stephen Williams (steve@icarus.com)
3  *
4  *    This source code is free software; you can redistribute it
5  *    and/or modify it in source code form under the terms of the GNU
6  *    General Public License as published by the Free Software
7  *    Foundation; either version 2 of the License, or (at your option)
8  *    any later version.
9  *
10  *    This program is distributed in the hope that it will be useful,
11  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *    GNU General Public License for more details.
14  *
15  *    You should have received a copy of the GNU General Public License
16  *    along with this program; if not, write to the Free Software
17  *    Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
18  */
20  /*
21   *  Here we have the canonical "Hello, World" program written in Verilog,
22   *  with VPI. It uses the hello_vpi.vpi module that is compiled from
23   *  the hello_vpi.c program also in this directory. See the
24   *  hello_vpi.c for instructions on how to compile it.
25   *
26   *  Compile this program with the command:
27   *
28   *      iverilog -ohello_vpi hello_vpi.vl
29   *
30   *  After churning for a little while, the program will create the output
31   *  file "hello" which is compiled, linked and ready to run. Run this
32   *  program like so:
33   *
34   *      vvp -M. -mhello_vpi hello_vpi
35   *
36   *  and the program will print the message to its output. Easy! For
37   *  more on how to make the iverilog command work, see the iverilog
38   *  manual page.
39   */
41 module main();
43 initial
44   begin
45      $my_hello;
46      $finish ;
47   end
49 endmodule