# 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 -- The -t parameters is passed to iverilog # # # Patterns have a name and text. The name has the form where the # key is some key value that is required by iverilog. The commonly # used keys are: # # # The string here is the command line needed to take the # preprocessor output (ivlpp) and compile it with the # target. All target types use this key. # # The pattern text includes % substitutions. iverilog # substitutes values for the % sequences within the text. # # %B Substitute the base libdir, -B flag of iverilog. # # %C Substitute the path to the temporary config file. # # %f Substitute the -f flags from the command line. # # %g Substitule the -g flag # # %s Substitute the start module (-s flag) from the user. # # %M Substitute the value of the -M flag. # # %N Substitute the value of the -N flag. # # %o Substitute the value of the -o flag, or the default # output path if there is no -o flag. # # %T Substitute min, typ or max depending on the -T flag from the # command line. # # # %W Substitute the ivl warning flags. # # %[] # This substitution pattern is magical, and is the only # multicharacter pattern. This tests the code , and # substitutes into the output only if is true. # The may include further substitution strings, and is # terminated by a ``]'' character. # 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] %B/ivl %[v-v] -C%C %g %W %s %[M-M%M] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/null.tgt -Fsynth -Fsyn-rules -- - [-tnull] %B/ivl %[v-v] -C%C %g %W %s %[M-M%M] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/null.tgt -- - # -- # The vvp target generates code that the vvp simulation engine can execute. # These rules support synthesized and non-synthesized variants. [-tvvp -S] %B/ivl %[v-v] -C%C %g %W %s %[M-M%M] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/vvp.tgt -fVVP_EXECUTABLE=%B/../../bin/vvp -Fsynth2 -Fsynth -Fsyn-rules -Fcprop -Fnodangle %f %m -o%o -- - [-tvvp] %B/ivl %[v-v] -C%C %g %W %s %[M-M%M] %[N-N%N] %[T-T%T] -tdll -fDLL=%B/vvp.tgt -fVVP_EXECUTABLE=%B/../../bin/vvp -Fcprop -Fnodangle %f %m -o%o -- - # This is the XNF code generator. [-txnf] %B/ivl -C%C %[v-v] %g %s %[M-M%M] %[N-N%N] %[T-T%T] -txnf -Fsynth -Fsyn-rules -Fxnfio -Fcprop -Fnodangle -o%o -- - # And this is another XNF code generator, under development. [-tfpga] %B/ivl -C%C %[v-v] %g %s %[M-M%M] %[N-N%N] %[T-T%T] %f -tdll -fDLL=%B/fpga.tgt -Fsynth2 -Fsynth -Fsyn-rules -Fcprop -Fnodangle -o%o -- - # -- # This is the pal code generator. The target module requires the -fpart= # flag to specify the part type. [-tpal] %B/ivl -C%C %[v-v] %g %s %[M-M%M] %[N-N%N] %[T-T%T] %f -tdll -fDLL=%B/pal.tgt -Fsynth -Fsyn-rules -Fcprop -Fnodangle -o%o -- -