2000-10-09 00:36:55 +02:00
|
|
|
|
|
|
|
|
# The iverilog.conf configuration file provides to the iverilog driver
|
|
|
|
|
# strings based on switches that are passed by the user on the command
|
|
|
|
|
# line.
|
|
|
|
|
#
|
|
|
|
|
# Comments start from the hash (#) character and run to the end of the
|
|
|
|
|
# line.
|
|
|
|
|
#
|
|
|
|
|
# Conditions are a list of requirements between [] characters. For the
|
|
|
|
|
# set of patterns following a string to b activated, all the
|
|
|
|
|
# conditions must be true. Valid conditions are:
|
|
|
|
|
#
|
|
|
|
|
# -S -- The -S flag is passed to iverilog
|
|
|
|
|
# -t<string> -- The -t<string> parameters is passed to iverilog
|
|
|
|
|
#
|
|
|
|
|
#
|
2000-10-13 05:38:48 +02:00
|
|
|
# Patterns have a name and text. The name has the form <key> where the
|
2000-10-09 00:36:55 +02:00
|
|
|
# key is some key value that is required by iverilog. The commonly
|
|
|
|
|
# used keys are:
|
|
|
|
|
#
|
|
|
|
|
# <ivl>
|
2000-10-13 05:38:48 +02:00
|
|
|
# The string here is the command line needed to take the
|
2000-10-09 00:36:55 +02:00
|
|
|
# preprocessor output (ivlpp) and compile it with the
|
|
|
|
|
# target. All target types use this key.
|
|
|
|
|
#
|
|
|
|
|
# The pattern text includes %<code> substitutions. iverilog
|
|
|
|
|
# substitutes values for the %<code> sequences within the text.
|
|
|
|
|
#
|
|
|
|
|
# %B Substitute the base libdir, -B flag of iverilog.
|
|
|
|
|
#
|
2000-10-28 05:45:47 +02:00
|
|
|
# %f Substitute the -f flags from the command line.
|
|
|
|
|
#
|
2000-10-09 00:36:55 +02:00
|
|
|
# %s Substitute the start module (-s flag) from the user.
|
|
|
|
|
#
|
|
|
|
|
# %N Substitute the value of the -N<path> flag.
|
|
|
|
|
#
|
2000-10-28 05:45:47 +02:00
|
|
|
# %o Substitute the value of the -o<path> flag, or the default
|
|
|
|
|
# output path if there is no -o flag.
|
|
|
|
|
#
|
2000-10-09 00:36:55 +02:00
|
|
|
# %T Substitute min, typ or max depending on the -T flag from the
|
|
|
|
|
# command line.
|
|
|
|
|
#
|
2000-10-28 05:45:47 +02:00
|
|
|
#
|
|
|
|
|
# %W Substitute the ivl warning flags.
|
|
|
|
|
#
|
2001-10-21 01:02:39 +02:00
|
|
|
# %y Substitute all the -y flags here.
|
|
|
|
|
#
|
2000-10-28 05:45:47 +02:00
|
|
|
# %[<c><text>]
|
2000-10-09 00:36:55 +02:00
|
|
|
# This substitution pattern is magical, and is the only
|
|
|
|
|
# multicharacter pattern. This tests the code <c>, and
|
|
|
|
|
# substitutes <text> into the output only if <c> is true.
|
|
|
|
|
# The <text> may include further substitution strings, and is
|
2000-10-28 05:45:47 +02:00
|
|
|
# terminated by a ``]'' character.
|
2000-10-09 00:36:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
# This is the null (no op) target. Thre is a synthesis version and a
|
|
|
|
|
# non-synthesis version. Normally, this does not matter, but this can
|
|
|
|
|
# be useful and interesting if the -N flag is included.
|
|
|
|
|
|
|
|
|
|
[-tnull -S]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %[v-v] %y %W %[s-s%s] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/null.tgt -- -
|
2000-10-09 00:36:55 +02:00
|
|
|
|
|
|
|
|
[-tnull]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %[v-v] %y %W %[s-s%s] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/null.tgt -- -
|
2000-10-28 05:45:47 +02:00
|
|
|
|
2001-03-19 02:20:46 +01:00
|
|
|
# --
|
|
|
|
|
# The vvp target generates code that the vvp simulation engine can execute.
|
|
|
|
|
# These rules support synthesized and non-synthesized variants.
|
|
|
|
|
|
|
|
|
|
[-tvvp -S]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %[v-v] %y %W %[s-s%s] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/vvp.tgt -fVVP_EXECUTABLE=%B/../../bin/vvp -Fsynth -Fsyn-rules -Fcprop -Fnodangle %f %m -o%o -- -
|
2001-03-19 02:20:46 +01:00
|
|
|
|
|
|
|
|
[-tvvp]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %[v-v] %y %W %[s-s%s] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/vvp.tgt -fVVP_EXECUTABLE=%B/../../bin/vvp -Fcprop -Fnodangle %f %m -o%o -- -
|
2001-03-19 02:20:46 +01:00
|
|
|
|
2000-10-28 05:45:47 +02:00
|
|
|
# --
|
|
|
|
|
# The vvm target uses the <ivl> string to take the preprocessed code from
|
|
|
|
|
# standard input, compile it with the vvm code generator and write the
|
|
|
|
|
# result to %o.cc. The driver assumes this when invoking the C++ compiler
|
|
|
|
|
# on the result.
|
|
|
|
|
|
|
|
|
|
[-tvvm]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %[v-v] %y %W %[s-s%s] %[N-N%N] %[T-T%T] -tvvm -Fcprop -Fnodangle -fVPI_MODULE_PATH=%B %f %m -o%o.cc -- -
|
2000-10-28 05:45:47 +02:00
|
|
|
|
2000-10-09 00:36:55 +02:00
|
|
|
|
2000-12-09 06:40:09 +01:00
|
|
|
# This is the XNF code generator.
|
2000-10-28 02:51:41 +02:00
|
|
|
|
2000-10-28 05:45:47 +02:00
|
|
|
[-txnf]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %y %[v-v] %[s-s%s] %[N-N%N] %[T-T%T] -txnf -Fsynth -Fsyn-rules -Fcprop -Fnodangle -o%o -- -
|
2001-08-28 06:14:20 +02:00
|
|
|
|
|
|
|
|
# And this is another XNF code generator, under development.
|
|
|
|
|
[-tfpga]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %y %[v-v] %[s-s%s] %[N-N%N] %[T-T%T] %f -tdll -fDLL=%B/fpga.tgt -Fsynth -Fsyn-rules -Fcprop -Fnodangle -o%o -- -
|
2000-12-09 06:40:09 +01:00
|
|
|
|
|
|
|
|
# --
|
|
|
|
|
# This is the pal code generator. The target module requires the -fpart=<type>
|
|
|
|
|
# flag to specify the part type.
|
|
|
|
|
[-tpal]
|
2001-10-21 01:02:39 +02:00
|
|
|
<ivl>%B/ivl %y %[v-v] %[s-s%s] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/pal.tgt -Fsynth -Fsyn-rules -Fcprop -Fnodangle -o%o -- -
|