iverilog(1) Version 13.0 (stable) iverilog(1) (NAME) iverilog - Icarus Verilog (SYNOPSIS) iverilog [-EiRSuVv] [-Bpath] [-ccmdfile|-fcmdfile] [-Dmacro[=defn]] [-Pparameter=value] [-pflag=value] [-dname] [-g1995|-g2001|-g2005 |-g2005-sv|-g2009|-g2012|-g] [-Iincludedir] [-Lmoduledir] [-mmodule] [-M[mode=]file] [-Nfile] [-ooutputfilename] [-stopmodule] [-ttype] [-Tmin/typ/max] [-Wclass] [-ypath] [-lfile] sourcefile (DESCRIPTION) iverilog Verilog (netlist) . vvp . (OPTIONS) iverilog : -Bbase iverilog Verilog . iverilog . -B . ivlpp ivl VPI . -cfile -ffile Verilog . command file Verilog . (COMMAND FILES) . -Dmacro macro <<1>> . ifdef Verilog . -Dmacro=defn macro defn . -Pparameter=value (defparam) . . -Pmain.foo=2 foo main -Pmain.foos='"New string value"' foos main "New string value" . -dname . -d . scopes eval_tree elaborate synth2 . -E Verilog . Verilog (inclusions) . Verilog . -g1995|-g2001|-g2001-noconfig|-g2005|-g2005-sv|-g2009|-g2012 Verilog (generation) . IEEE1364-1995 IEEE1364-2001 IEEE1364-2005 IEEE1800-2005 IEEE1800-2009 IEEE1800-2012 . Icarus Verilog IEEE1364-2005 . Verilog . IEEE1800 . IEEE1800 Verilog IEEE1364 IEEE1800 . -gverilog-ams|-gno-verilog-ams Verilog-AMS () . Verilog-AMS . -gassertions|-gsupported-assertions|-gno-assertions (assertions) SystemVerilog () . assertion . . -gsupported-assertions . -gspecify|-gno-specify specify () . specify . specify . specify RTL . specify (full-timing) . -ginterconnect|-gno-interconnect SDF () . VVP . RTL . . -gstd-include|-gno-std-include include include () . include Verilog . -grelative-include|-gno-relative-include include () . . -gxtypes|-gno-xtypes (extended types) () . Icarus Verilog Verilog . . -gio-range-error|-gno-io-range-error (vectored port) net/register . net/register . . -gno-io-range-error net/register . anachronisms ( ) . -gstrict-ca-eval|-gno-strict-ca-eval (continuous assignment) . . (side effects) . -gstrict-ca-eval ( ). -gstrict-expr-width|-gno-strict-expr-width () . (lossless) (truncate) . -gshared-loop-index|-gno-shared-loop-index for (implicit event_expression) () . for ( ) for . . . -gicarus-misc|-gno-icarus-misc Icarus Verilog () . NAND NOR (modulus) (real) . -Iincludedir includedir Verilog . -I . -i . . . (top level) . . -Lpath VPI . system.vpi . . -lfile . . -Mpath -Mall=path . -Mmode=path path . mode all prefix include . mode include include . mode module . . mode prefix include "I " "M " . -mmodule VPI . . . -L iverilog . -Npath . (dump) . . . -o filename filename . iverilog a.out . -pflag=value (target) . -p . . . -S (Synthesize). (behavioral) . -S . -S . -s topmodule (top level) . Icarus Verilog . -s . -Tmin|typ|max min () typ () max () min:typ:max . typ ( ) . . -ttarget . (TARGETS) . -u ( SystemVerilog ) . IEEE1364 ( ) . -v (verbose) . . . IVERILOG_ICONFIG . vvp -v shebang vvp . vvp . -V . -R . -Wclass . (WARNING TYPES) . -W . -ylibdir . . -Ysuffix . .v . (MODULE LIBRARIES) Icarus Verilog Verilog . (elaboration) . . Verilog . . . (TARGETS) Icarus Verilog -t . : null null . (syntax) Verilog . vvp . vvp vvp . vvp . -pfileline=1 (opcodes) . . trace ( trace on) vvp . : (WARNING TYPES) -W . ( all) no- . -Wall . all anachronisms implicit macro-replacement portbind select-range timescale sensitivity-entire-array . anachronisms Verilog . implicit . (scalar wire) X Verilog . macro-redefinition | macro-replacement . . . no-macro-redefinition . portbind . (dangling) . select-range (constant out of bound selects) . 'bx 'bz . timescale timescale . timescale timescale . . infloop always ( ) . -Wall no- . ( ) . always always . . sensitivity-entire-vector "always @*" . IEEE . sensitivity-entire-array "always @*" . IEEE . VPI (VPI MODULES) .vpi .vpl VPI . VPI . . VPI . VPI -L -m . [] (SYSTEM FUNCTION TABLE FILES) .sft . . VPI . ASCII . . vpi ( vpiSysFuncReal) . : vpiSysFuncReal (real/realtime) . vpiSysFuncInt . vpiSysFuncSized (signed) (unsigned) . vpiSysFuncString . Icarus VPI . (COMMAND FILES) . C ++C # ( # ) . file name Verilog . . . -c cmdfile -f cmdfile -c -f . cmdfile . -l file -v file -l . -l . -v -l . file . -y libdir -y . -y . libdir . +incdir+includedir +incdir+ include -I . +includedir +incdir+ +incdir+ . includedir . +libext+ext +libext . -y . +libdir+dir . -y . +libdir-nocase+dir +libdir . . "foo" "Foo.v" "bar.v" . +define+NAME=value +define+ -D . (value) . +parameter+NAME=value +parameter+ -P . +timescale+value +timescale+ (timescale) . timescale` resetall` . 1s/1s . +toupper-filename . DOS . +tolower-filename +toupper-filename . +integer-width+value integer Verilog . . +width-cap+value (width cap) (unsized) . . (VARIABLES IN COMMAND FILES) iverilog . "$(varname)" "${varname}" varname . . ( ) . . (PREDEFINED MACROS) : __ICARUS__ = 1 Icarus Verilog . __ICARUS_SYNTH__ = 1 . __VAMS_ENABLE__ = 1 Verilog-AMS . (ENVIRONMENT) iverilog . . IVERILOG_ICONFIG=file-name . IVERILOG_VPI_MODULE_PATH=/some/path:/some/other/path VPI . -L . ( ) . (EXAMPLES) Verilog hello.v . hello.v a.out: iverilog hello.v hello.v hello: iverilog -o hello hello.v vvp: iverilog -ohello.vvp -tvvp hello.v (AUTHOR) Steve Williams (steve@icarus.com) (SEE ALSO) vvp(1) : (COPYRIGHT) Copyright (C) 2002-2026 Stephen Williams (GNU GPL) . Jan 13th, 2026 iverilog(1)