Commentary

This commit is contained in:
Wilson Snyder 2019-02-26 18:24:46 -05:00
parent 8a43f41ed6
commit d1548b1161
1 changed files with 9 additions and 9 deletions

View File

@ -1455,10 +1455,10 @@ Enable all code style related warning messages. This is equivalent to
=item --x-assign unique =item --x-assign unique
Controls the two-state value that is replaced when an assignment to X is Controls the two-state value that is replaced when an assignment to X is
encountered. --x-assign=fast, the default, converts all Xs to whatever is encountered. C<--x-assign fast>, the default, converts all Xs to whatever is
best for performance. --x-assign=0 converts all Xs to 0s, and is also fast. best for performance. C<--x-assign 0> converts all Xs to 0s, and is also fast.
--x-assign=1 converts all Xs to 1s, this is nearly as fast as 0, but more C<--x-assign 1> converts all Xs to 1s, this is nearly as fast as 0, but more
likely to find reset bugs as active high logic will fire. --x-assign=unique likely to find reset bugs as active high logic will fire. C<--x-assign unique>
will call a function to determine the value, this allows randomization of will call a function to determine the value, this allows randomization of
all Xs to find reset bugs and is the slowest, but safest for finding reset all Xs to find reset bugs and is the slowest, but safest for finding reset
bugs in code. bugs in code.
@ -1483,13 +1483,13 @@ variables are controlled with --x-initial.
Controls the two-state value that is used to initialize variables that are Controls the two-state value that is used to initialize variables that are
not otherwise initialized. not otherwise initialized.
--x-initial=0, initializes all otherwise uninitialized variables to zero. C<--x-initial 0>, initializes all otherwise uninitialized variables to zero.
--x-initial=unique, the default, initializes variables using a function, C<--x-initial unique>, the default, initializes variables using a function,
which determines the value to use each initialization. This gives greatest which determines the value to use each initialization. This gives greatest
flexibility and allows finding reset bugs. See L</"Unknown states">. flexibility and allows finding reset bugs. See L</"Unknown states">.
--x-initial=fast, is best for performance, and initializes all variables to C<--x-initial fast>, is best for performance, and initializes all variables to
a state Verilator determines is optimal. This may allow further code a state Verilator determines is optimal. This may allow further code
optimizations, but will likely hide any code bugs relating to missing optimizations, but will likely hide any code bugs relating to missing
resets. resets.
@ -1764,8 +1764,8 @@ the examples directory in the distribution.
=head1 BENCHMARKING & OPTIMIZATION =head1 BENCHMARKING & OPTIMIZATION
For best performance, run Verilator with the "-O3 --x-assign=fast For best performance, run Verilator with the "-O3 --x-assign=fast
--x-initial=fast --noassert" flags. The -O3 flag will require longer --x-initial fast --noassert" flags. The -O3 flag will require longer
compile times, and --x-assign=fast --x-initial=fast may increase the risk compile times, and "--x-assign fast --x-initial fast" may increase the risk
of reset bugs in trade for performance; see the above documentation for of reset bugs in trade for performance; see the above documentation for
these flags. these flags.