~ubuntu-branches/ubuntu/wily/verilator/wily-proposed

« back to all changes in this revision

Viewing changes to .pc/shebang.diff/bin/verilator

  • Committer: Package Import Robot
  • Author(s): أحمد المحمودي (Ahmed El-Mahmoudy)
  • Date: 2015-04-26 16:20:52 UTC
  • mfrom: (4.1.5 experimental)
  • Revision ID: package-import@ubuntu.com-20150426162052-69yjwh512m0adl2k
Tags: 3.872-2
* Upload to unstable.
* debian/patches/*: Added DEP-3 patch headers.
* Remove debian/gbp.conf, not needed in master branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
  if 0;
4
4
######################################################################
5
5
#
6
 
# Copyright 2003-2014 by Wilson Snyder. This program is free software; you
 
6
# Copyright 2003-2015 by Wilson Snyder. This program is free software; you
7
7
# can redistribute it and/or modify it under the terms of either the GNU
8
8
# Lesser General Public License Version 3 or the Perl Artistic License
9
9
# Version 2.0.
24
24
    }
25
25
}
26
26
 
27
 
use File::Path;
28
 
use File::Basename;
29
27
use Getopt::Long;
30
28
use FindBin qw($RealBin $RealScript);
31
29
use IO::File;
32
30
use Pod::Usage;
33
 
use Config;
34
 
use Cwd qw(abs_path getcwd);
35
31
 
36
32
use strict;
37
33
use vars qw ($Debug @Opt_Verilator_Sw);
209
205
=head1 DESCRIPTION
210
206
 
211
207
Verilator converts synthesizable (not behavioral) Verilog code, plus some
212
 
Synthesis, SystemVerilog and a small subset of Verilog AMS
213
 
assertions, into C++, SystemC or SystemPerl code.  It is not a complete
214
 
simulator, just a compiler.
 
208
Synthesis, SystemVerilog and a small subset of Verilog AMS assertions, into
 
209
C++ or SystemC code.  It is not a complete simulator, but a compiler.
215
210
 
216
211
Verilator is invoked with parameters similar to GCC, Cadence
217
212
Verilog-XL/NC-Verilog, or Synopsys's VCS.  It reads the specified Verilog
218
213
code, lints it, and optionally adds coverage and waveform tracing code.
219
 
For C++ and SystemC formats, it outputs .cpp and .h files.  For SystemPerl
220
 
format, it outputs .sp files for the SystemPerl preprocessor, which greatly
221
 
simplifies writing SystemC code and is available at
222
 
L<http://www.veripool.org>.
 
214
For C++ and SystemC formats, it outputs .cpp and .h files.
223
215
 
224
216
The files created by Verilator are then compiled with C++.  The user writes
225
217
a little C++ wrapper file, which instantiates the top level module, and
254
246
     -CFLAGS <flags>            C++ Compiler flags for makefile
255
247
    --cc                        Create C++ output
256
248
    --cdc                       Clock domain crossing analysis
 
249
    --clk <signal-name>         Mark specified signal as clock
257
250
    --compiler <compiler-name>  Tune for specified C++ compiler
258
251
    --converge-limit <loops>    Tune convergence settle time
259
252
    --coverage                  Enable all coverage
267
260
    --debugi <level>            Enable debugging at a specified level
268
261
    --debugi-<srcfile> <level>  Enable debugging a source file at a level
269
262
    --default-language <lang>   Default language to parse
270
 
     +define+<var>+<value>      Set preprocessor define
 
263
     +define+<var>=<value>      Set preprocessor define
271
264
    --dump-tree                 Enable dumping .tree files
272
265
    --dump-treei <level>        Enable dumping .tree files at a level
 
266
    --dump-treei-<srcfile> <level>  Enable dumping .tree file at a source file at a level
273
267
     -E                         Preprocess, but do not compile
274
268
    --error-limit <value>       Abort after this number of errors
275
269
    --exe                       Link to create executable
292
286
    --MP                        Create phony dependency targets
293
287
    --Mdir <directory>          Name of output object directory
294
288
    --mod-prefix <topname>      Name to prepend to lower classes
 
289
    --no-clk <signal-name>      Prevent marking specified signal as clock
295
290
    --no-pins64                 Don't use vluint64_t's for 33-64 bit sigs
296
291
    --no-skip-identical         Disable skipping identical output
297
292
     +notimingchecks            Ignored
316
311
    --report-unoptflat          Extra diagnostics for UNOPTFLAT
317
312
    --savable                   Enable model save-restore
318
313
    --sc                        Create SystemC output
319
 
    --sp                        Create SystemPerl output
320
314
    --stats                     Create statistics file
 
315
    --stats-vars                Provide statistics on variables
321
316
     -sv                        Enable SystemVerilog parsing
322
317
     +systemverilogext+<ext>    Synonym for +1800-2012ext+<ext>
323
318
    --top-module <topname>      Name of top level input module
452
447
 
453
448
=item --cc
454
449
 
455
 
Specifies C++ without SystemC output mode; see also --sc and --sp.
 
450
Specifies C++ without SystemC output mode; see also --sc.
456
451
 
457
452
=item --cdc
458
453
 
464
459
Currently only checks some items that other CDC tools missed; if you have
465
460
interest in adding more traditional CDC checks, please contact the authors.
466
461
 
 
462
=item --clk I<signal-name>
 
463
 
 
464
Sometimes it is quite difficult for Verilator to distinguish clock signals from
 
465
other data signals. Occasionally the clock signals can end up in the checking
 
466
list of signals which determines if further evaluation is needed. This will
 
467
heavily degrade the performance of verilated model.
 
468
 
 
469
With --clk <signal-name>, user can specified root clock into the model, then
 
470
Verilator will mark the signal as clocker and propagate the clocker attribute
 
471
automatically to other signals derived from that. In this way, Verilator will
 
472
try to avoid taking the clocker signal into checking list.
 
473
 
 
474
Note signal-name is specified by the RTL hiearchy path. For example, v.foo.bar.
 
475
If the signal is the input to top-module, the directly the signal name. If you
 
476
find it difficult to find the exact name, try to use C</*verilator clocker*/> in
 
477
RTL file to mark the signal directly.
 
478
 
467
479
=item --compiler I<compiler-name>
468
480
 
469
481
Enables tunings and work-arounds for the specified C++ compiler.
572
584
 
573
585
=item -DI<var>=I<value>
574
586
 
575
 
Defines the given preprocessor symbol.  Same as +define; +define is fairly
576
 
standard across Verilog tools while -D is an alias for GCC compatibility.
 
587
Defines the given preprocessor symbol, without allowing.  Similar to
 
588
+define; +define is fairly standard across Verilog tools while -D is an
 
589
alias for GCC compatibility.
577
590
 
578
591
=item --debug
579
592
 
580
593
Select the debug built image of Verilator (if available), and enable more
581
 
internal assertions, debugging messages, and intermediate form dump files.
 
594
internal assertions (equivelent to C<--debug-check>), debugging messages
 
595
(equivelent to C<--debugi 4>), and intermediate form dump files (equivilent
 
596
to C<--dump-treei 3>).
582
597
 
583
598
=item --debug-check
584
599
 
590
605
=item --debugi-<srcfile> <level>
591
606
 
592
607
Rarely needed - for developer use.  Set internal debugging level globally
593
 
to the specified debug level (1-10) or set the specified source file to the
594
 
specified level. Higher levels produce more detailed messages (plain
595
 
C<--debug> is equivalent to C<--debugi 4>).
 
608
to the specified debug level (1-10) or set the specified Verilator source
 
609
file to the specified level (e.g. C<--debugi-V3Width 9>). Higher levels
 
610
produce more detailed messages.
596
611
 
597
612
=item --default-language I<value>
598
613
 
613
628
If no language is specified, either by this flag or +I<lang>ext+ options,
614
629
then the latest SystemVerilog language (IEEE 1800-2012) is used.
615
630
 
616
 
=item +define+I<var>+I<value>
617
 
 
618
 
Defines the given preprocessor symbol.  Same as -D; +define is fairly
619
 
standard across Verilog tools while -D is an alias for GCC compatibility.
 
631
=item +define+I<var>=I<value>
 
632
 
 
633
=item +define+I<var>=I<value>+I<var2>=I<value2>...
 
634
 
 
635
Defines the given preprocessor symbol, or multiple symbols if separated by
 
636
plusses.  Similar to -D; +define is fairly standard across Verilog tools
 
637
while -D is an alias for GCC compatibility.
620
638
 
621
639
=item --dump-tree
622
640
 
628
646
 
629
647
=item --dump-treei <level>
630
648
 
631
 
Rarely needed.  Enable writing .tree debug files with a specific dumping
632
 
level, 0 disbles dumps and is equivalent to "--no-dump-tree".  Level 9
 
649
=item --dump-treei-<srcfile> <level>
 
650
 
 
651
Rarely needed - for developer use.  Set internal tree dumping level
 
652
globally to a specific dumping level or set the specified Verilator source
 
653
file to the specified tree dumping level (e.g. C<--dump-treei-V3Order 9>).
 
654
Level 0 disbles dumps and is equivalent to "--no-dump-tree".  Level 9
633
655
enables dumping of every stage.
634
656
 
635
657
=item -E
763
785
Specifies the name to prepend to all lower level classes.  Defaults to
764
786
the same as --prefix.
765
787
 
 
788
=item --no-clk <signal-name>
 
789
 
 
790
Prevent the specified signal from being marked as clock. See C<--clk>.
 
791
 
766
792
=item --no-pins64
767
793
 
768
794
Backward compatible alias for "--pins-bv 33".
963
989
 
964
990
=item --sc
965
991
 
966
 
Specifies SystemC output mode; see also --cc and -sp.
967
 
 
968
 
=item --sp
969
 
 
970
 
Specifies SystemPerl output mode; see also --cc and -sc.
 
992
Specifies SystemC output mode; see also --cc.
971
993
 
972
994
=item --stats
973
995
 
974
996
Creates a dump file with statistics on the design in {prefix}__stats.txt.
975
997
 
 
998
=item --stats-vars
 
999
 
 
1000
Creates more detailed statistics including a list of all the variables by
 
1001
size (plain --stats just gives a count).  See --stats, which is implied by
 
1002
this.
 
1003
 
976
1004
=item -sv
977
1005
 
978
1006
Specifies SystemVerilog language features should be enabled; equivalent to
1285
1313
 
1286
1314
=head1 EXAMPLE SYSTEMC EXECUTION
1287
1315
 
1288
 
This is an example similar to the above, but using SystemPerl.
 
1316
This is an example similar to the above, but using SystemC.
1289
1317
 
1290
1318
    mkdir test_our_sc
1291
1319
    cd test_our_sc
1320
1348
 
1321
1349
Now we run Verilator on our little example.
1322
1350
 
1323
 
    verilator -Wall --sp our.v
1324
 
 
1325
 
Then we convert the SystemPerl output to SystemC.
1326
 
 
1327
 
    cd obj_dir
1328
 
    export SYSTEMPERL=/path/to/where/systemperl/kit/came/from
1329
 
    $SYSTEMPERL/sp_preproc --preproc *.sp
1330
 
 
1331
 
(You can also skip the above sp_preproc by getting pure SystemC from
1332
 
Verilator by replacing the verilator --sp flag in the previous step with
1333
 
-sc.)
 
1351
    verilator -Wall --sc our.v
1334
1352
 
1335
1353
We then can compile it
1336
1354
 
1359
1377
 
1360
1378
Really, you're better off using a Makefile to do all this for you.  Then,
1361
1379
when your source changes it will automatically run all of these steps.  See
1362
 
the test_sp directory in the distribution for an example.
 
1380
the test_sc directory in the distribution for an example.
1363
1381
 
1364
1382
 
1365
1383
=head1 BENCHMARKING & OPTIMIZATION
1417
1435
both compilation and link.  Note LTO may cause excessive compile times on
1418
1436
large designs.
1419
1437
 
 
1438
If you are using your own makefiles, you may want to compile the Verilated
 
1439
code with -DVL_INLINE_OPT=inline. This will inline functions, however this
 
1440
requires that all cpp files be compiled in a single compiler run.
 
1441
 
1420
1442
You may uncover further tuning possibilities by profiling the Verilog code.
1421
1443
Use Verilator's --profile-cfuncs, then GCC's -g -pg.  You can then run
1422
1444
either oprofile or gprof to see where in the C++ code the time is spent.
1444
1466
    {prefix}{each_verilog_module}.cpp   // Lower level internal C++ files
1445
1467
    {prefix}{each_verilog_module}.h     // Lower level internal header files
1446
1468
 
1447
 
For -sp mode, instead of .cpp and .h it creates:
1448
 
 
1449
 
    {prefix}.sp                         // Top level SystemC file
1450
 
    {prefix}{each_verilog_module}.sp    // Lower level internal SC files
1451
 
 
1452
1469
In certain optimization modes, it also creates:
1453
1470
 
1454
1471
    {prefix}__Dpi.h                     // DPI import and export declarations
1523
1540
time (before Verilator was compiled), or computed from
1524
1541
SYSTEMC/lib-SYSTEMC_ARCH.
1525
1542
 
1526
 
=item SYSTEMPERL
1527
 
 
1528
 
Specifies the directory containing the SystemPerl distribution kit.  This
1529
 
is used to find the SystemPerl library and include files.  If not
1530
 
specified, it will come from a default optionally specified at configure
1531
 
time (before Verilator was compiled).  See also SYSTEMPERL_INCLUDE.
1532
 
 
1533
 
=item SYSTEMPERL_INCLUDE
1534
 
 
1535
 
Specifies the directory containing the Verilog-Perl include .cpp files,
1536
 
from the src/ directory of the SystemPerl kit.  If not specified, it will
1537
 
be computed from the SYSTEMPERL environment variable if it is set, and if
1538
 
SYSTEMPERL is not set SYSTEMPERL_INCLUDE will come from a default
1539
 
optionally specified at configure time (before Verilator was compiled).
1540
 
 
1541
1543
=item VCS_HOME
1542
1544
 
1543
1545
If set, specifies the directory containing the Synopsys VCS distribution.
2007
2009
keywords on case statement, as well as "unique" on if statements.
2008
2010
However, "priority if" is currently simply ignored.
2009
2011
 
 
2012
 
2010
2013
=head1 LANGUAGE EXTENSIONS
2011
2014
 
2012
2015
The following additional constructs are the extensions Verilator supports
2152
2155
always improving performance.  It's also a good idea to enable the
2153
2156
IMPERFECTSCH warning, to insure all clock enables are properly recognized.
2154
2157
 
 
2158
=item /*verilator clocker*/
 
2159
 
 
2160
=item /*verilator no_clocker*/
 
2161
 
 
2162
Used after a signal declaration to indicate the signal is used as clock or
 
2163
not. This information is used by Verilator to mark the signal as clocker
 
2164
and propagate the clocker attribute automatically to derived signals. See
 
2165
C<--clk> for more information.
 
2166
 
2155
2167
=item /*verilator coverage_block_off*/
2156
2168
 
2157
2169
Specifies the entire begin/end block should be ignored for coverage
2174
2186
that use this module.  This is useful to speed up simulation time with some
2175
2187
small loss of trace visibility and modularity.  Note signals under inlined
2176
2188
submodules will be named I<submodule>__DOT__I<subsignal> as C++ does not
2177
 
allow "." in signal names.  SystemPerl when tracing such signals will
2178
 
replace the __DOT__ with the period.
 
2189
allow "." in signal names.  When tracing such signals the tracing routines
 
2190
will replace the __DOT__ with the period.
2179
2191
 
2180
2192
=item /*verilator isolate_assignments*/
2181
2193
 
2249
2261
number of times.  For this flag to work, the task and tasks below it must
2250
2262
be pure; they cannot reference any variables outside the task itself.
2251
2263
 
 
2264
=item /*verilator public*/ (typedef enum)
 
2265
 
 
2266
Used after an enum typedef declaration to indicate the emitted C code
 
2267
should have the enum values visible. Due to C++ language restrictions, this
 
2268
may only be used on 64-bit or narrower integral enumerations.
 
2269
 
 
2270
    typedef enum logic [2:0] { ZERO = 3'b0 } pub_t /*verilator public*/;
 
2271
 
2252
2272
=item /*verilator public*/ (variable)
2253
2273
 
2254
2274
Used after an input, output, register, or wire declaration to indicate the
2336
2356
=item /*verilator tracing_off*/
2337
2357
 
2338
2358
Disable waveform tracing for all future signals that are declared in this
2339
 
module.  Often this is placed just after a primitive's module statement, so
2340
 
that the entire module is not traced.
 
2359
module, or cells below this module.  Often this is placed just after a
 
2360
primitive's module statement, so that the entire module and cells below it
 
2361
are not traced.
2341
2362
 
2342
2363
=item /*verilator tracing_on*/
2343
2364
 
2344
 
Re-enable waveform tracing for all future signals that are declared.
 
2365
Re-enable waveform tracing for all future signals or cells that are
 
2366
declared.
2345
2367
 
2346
2368
=back
2347
2369
 
2620
2642
 
2621
2643
=item string
2622
2644
 
2623
 
String is supported only to the point that they can be passed to DPI
2624
 
imports.
 
2645
String is supported only to the point that they can be assigned,
 
2646
concatenated, compared, and passed to DPI imports.  Standard method calls
 
2647
on strings are not supported.
2625
2648
 
2626
2649
=item timeunit, timeprecision
2627
2650
 
2857
2880
than primary inputs or flopped outputs, creating the potential for reset
2858
2881
glitches.
2859
2882
 
 
2883
=item CLKDATA
 
2884
 
 
2885
Warns that clock signal is mixed used with/as data signal. The checking for
 
2886
this warning is enabled only if user has explicitly marked some signal as
 
2887
clocker using command line option or in-source meta comment (see C<--clk>).
 
2888
 
 
2889
The warning can be disabled without affecting the simulation result. But it
 
2890
is recommanded to check the warning as this may degrade the performance of
 
2891
the Verilated model.
 
2892
 
2860
2893
=item CMPCONST
2861
2894
 
2862
2895
Warns that you are comparing a value in a way that will always be constant.
3443
3476
Note you can also call ->trace on multiple Verilated objects with the same
3444
3477
trace file if you want all data to land in the same output file.
3445
3478
 
3446
 
Note also older versions of Verilator used the SystemPerl package and
3447
 
SpTraceVcdC class.  This still works, but is depreciated as it requires
3448
 
strong coupling between the Verilator and SystemPerl versions.
3449
 
 
3450
3479
    #include "verilated_vcd_c.h"
3451
3480
    ...
3452
3481
    int main(int argc, char **argv, char **env) {
3469
3498
include verilated_vcd_sc.h.  Then call Verilated::traceEverOn(true).  Then
3470
3499
create a VerilatedVcdSc object as you would create a normal SystemC trace
3471
3500
file.  For an example, see the call to VerilatedVcdSc in the
3472
 
test_sp/sc_main.cpp file of the distribution, and below.
 
3501
test_sc/sc_main.cpp file of the distribution, and below.
3473
3502
 
3474
3503
Alternatively you may use the C++ trace mechanism described in the previous
3475
3504
question, however the timescale and timeprecision will not inherited from
3521
3550
=item How do I do coverage analysis?
3522
3551
 
3523
3552
Verilator supports both block (line) coverage and user inserted functional
3524
 
coverage.  Both require the SystemPerl package to be installed but do not
3525
 
require use of the SystemPerl output mode.
 
3553
coverage.
3526
3554
 
3527
3555
First, run verilator with the --coverage option.  If you're using your own
3528
 
makefile, compile the model with the GCC flag -DSP_COVERAGE (if using
 
3556
makefile, compile the model with the GCC flag -DVM_COVERAGE (if using
3529
3557
Verilator's, it will do this for you.)
3530
3558
 
3531
3559
Run your tests in different directories.  Each test will create a
3532
3560
logs/coverage.pl file.
3533
3561
 
3534
 
After running all of your tests, the vcoverage utility (from the SystemPerl
3535
 
package) is executed.  Vcoverage reads the logs/coverage.pl file(s), and
3536
 
creates an annotated source code listing showing code coverage details.
 
3562
After running all of your tests, verilator_coverage is executed.
 
3563
Verilator_coverage reads the logs/coverage.pl file(s), and creates an
 
3564
annotated source code listing showing code coverage details.
3537
3565
 
3538
3566
For an example, after running 'make test' in the Verilator distribution,
3539
 
see the test_sp/logs/coverage_source directory.  Grep for lines starting
 
3567
see the test_sc/logs directory.  Grep for lines starting
3540
3568
with '%' to see what lines Verilator believes need more coverage.
3541
3569
 
3542
3570
=item Where is the translate_off command?  (How do I ignore a construct?)
3765
3793
faster than many popular commercial simulators.
3766
3794
 
3767
3795
 
 
3796
=head1 AUTHORS
 
3797
 
 
3798
When possible, please instead report bugs to L<http://www.veripool.org/>.
 
3799
 
 
3800
Wilson Snyder <wsnyder@wsnyder.org>
 
3801
 
 
3802
Major concepts by Paul Wasson, Duane Galbi and Jie Xu.
 
3803
 
 
3804
 
3768
3805
=head1 CONTRIBUTORS
3769
3806
 
3770
3807
Many people have provided ideas and other assistance with Verilator.
3771
3808
 
3772
3809
The major corporate sponsors of Verilator, by providing significant
3773
 
contributions of time or funds include include Cavium Networks, Compaq
3774
 
Corporation, Digital Equipment Corporation, Embecosm Ltd., Hicamp Systems,
3775
 
Intel Corporation, Mindspeed Technologies Inc., MicroTune Inc., picoChip
3776
 
Designs Ltd., Sun Microsystems, Nauticus Networks, and SiCortex Inc.
 
3810
contributions of time or funds include include Atmel Corporation, Cavium
 
3811
Inc., Compaq Corporation, Digital Equipment Corporation, Embecosm Ltd.,
 
3812
Hicamp Systems, Intel Corporation, Mindspeed Technologies Inc., MicroTune
 
3813
Inc., picoChip Designs Ltd., Sun Microsystems Inc., Nauticus Networks Inc.,
 
3814
and SiCortex Inc.
3777
3815
 
3778
3816
The people who have contributed major functionality are Byron Bradley,
3779
 
Jeremy Bennett, Lane Brooks, Duane Galbi, Paul Wasson, and Wilson Snyder.
3780
 
Major testers include Jeff Dutton, Ralf Karge, David Hewson, Wim Michiels,
3781
 
Alex Solomatnikov, Sebastien Van Cauwenberghe and Gene Weber.
 
3817
Jeremy Bennett, Jie Xu, Lane Brooks, Duane Galbi, Paul Wasson, and Wilson
 
3818
Snyder.  Major testers include Jeff Dutton, Jonathon Donaldson, Ralf Karge,
 
3819
David Hewson, Iztok Jeras, Wim Michiels, Alex Solomatnikov, Sebastien Van
 
3820
Cauwenberghe, Gene Weber, and Clifford Wolf.
3782
3821
 
3783
3822
Some of the people who have provided ideas and feedback for Verilator
3784
 
include: David Addison, Vasu Arasanipalai, Jens Arm, J Baxter, Jeremy
3785
 
Bennett, David Black, Gregg Bouchard, Christopher Boumenot, Nick Bowler,
3786
 
Byron Bradley, Bryan Brady, Lane Brooks, John Brownlee, Lawrence Butcher,
3787
 
Chris Candler, Lauren Carlson, Donal Casey, Terry Chen, Robert A. Clark,
3788
 
Allan Cochrane, Gunter Dannoritzer, Ashutosh Das, Bernard Deadman, Mike
3789
 
Denio, John Deroo, John Dickol, Ruben Diez, Danny Ding, Ivan Djordjevic,
3790
 
Alex Duller, Jeff Dutton, Chandan Egbert, Joe Eiler, Ahmed El-Mahmoudy,
3791
 
Robert Farrell, Eugen Fekete, Andrea Foletto, Bob Fredieu, Shankar Giri,
3792
 
Sam Gladstone, Amir Gonnen, Chitlesh Goorah, Neil Hamilton, Thomas Hawkins,
3793
 
David Hewson, Jae Hossell, Ben Jackson, Iztok Jeras, Christophe Joly, Mike
3794
 
Kagen, Guy-Armand Kamendje, Vasu Kandadi, Patricio Kaplan, Ralf Karge, Dan
3795
 
Katz, Sol Katzman, Jonathan Kimmitt, Gernot Koch, Soon Koh, Steve Kolecki,
3796
 
David Kravitz, Steve Lang, Stephane Laurent, Walter Lavino, Christian
3797
 
Leber, John Li, Charlie Lind, Andrew Ling, Paul Liu, Dan Lussier, Fred Ma,
3798
 
Duraid Madina, Mark Marshall, Jason McMullan, Wim Michiels, Dennis
3799
 
Muhlestein, John Murphy, Richard Myers, Dimitris Nalbantis, Paul Nitza,
3800
 
Pete Nixon, Lisa Noack, Mark Nodine, Andreas Olofsson, Brad Parker, Dominic
3801
 
Plunkett, Niranjan Prabhu, Usha Priyadharshini, Alberto Del Rio, Oleg
3802
 
Rodionov, John Sanguinetti, Salman Sheikh, Mike Shinkarovsky, Rafael
3803
 
Shirakawa, Jeffrey Short, Rodney Sinclair, Brian Small, Alex Solomatnikov,
3804
 
Art Stamness, John Stroebel, Emerson Suguimoto, Gene Sullivan, Renga
3805
 
Sundararajan, Stefan Thiede, Gary Thomas, Steve Tong, Hans Van Antwerpen,
3806
 
Holger Waechtler, Stefan Wallentowitz, Shawn Wang, Greg Waters, Thomas
3807
 
Watts, Eugene Weber, David Welch, Leon Wildman, Gerald Williams, Trevor
3808
 
Williams, Jeff Winston, Joshua Wise, Johan Wouters, and Ding Xiaoliang.
 
3823
include: Yves Mathieu, David Addison, Nikana Anastasiadis, Hans Van
 
3824
Antwerpen, Vasu Arasanipalai, Jens Arm, Sharad Bagri, Andrew Bardsley,
 
3825
Geoff Barrett, J Baxter, Julius Baxter, Jeremy Bennett, Michael Berman,
 
3826
David Binderman, David Black, Daniel Bone, Gregg Bouchard, Christopher
 
3827
Boumenot, Nick Bowler, Byron Bradley, Bryan Brady, Charlie Brej, Lane
 
3828
Brooks, John Brownlee, Jeff Bush, Lawrence Butcher, Ted Campbell, Chris
 
3829
Candler, Lauren Carlson, Donal Casey, Terry Chen, Robert A. Clark, Allan
 
3830
Cochrane, Gunter Dannoritzer, Ashutosh Das, Bernard Deadman, Mike Denio,
 
3831
John Deroo, Philip Derrick, John Dickol, R. Diez, Ruben Diez, Danny Ding,
 
3832
Ivan Djordjevic, Jonathon Donaldson, Alex Duller, Jeff Dutton, Chandan
 
3833
Egbert, Joe Eiler, Ahmed El-Mahmoudy, Robert Farrell, Eugen Fekete,
 
3834
Fabrizio Ferrandi, Andrea Foletto, Bob Fredieu, Christian Gelinek, Glen
 
3835
Gibb, Shankar Giri, Sam Gladstone, Amir Gonnen, Chitlesh Goorah, Neil
 
3836
Hamilton, Junji Hashimoto, Thomas Hawkins, David Hewson, Hiroki Honda, Alex
 
3837
Hornung, Jae Hossell, Ben Jackson, Krzysztof Jankowski, HyungKi Jeong,
 
3838
Iztok Jeras, James Johnson, Christophe Joly, Franck Jullien, Mike Kagen,
 
3839
Kaalia Kahn, Guy-Armand Kamendje, Vasu Kandadi, Patricio Kaplan, Ralf
 
3840
Karge, Dan Katz, Sol Katzman, Jonathan Kimmitt, Sobhan Klnv, Gernot Koch,
 
3841
Soon Koh, Steve Kolecki, Brett Koonce, Wojciech Koszek, Varun Koyyalagunta,
 
3842
David Kravitz, Roland Kruse, Ed Lander, Steve Lang, Stephane Laurent,
 
3843
Walter Lavino, Christian Leber, Igor Lesik, John Li, Eivind Liland, Charlie
 
3844
Lind, Andrew Ling, Paul Liu, Derek Lockhart, Arthur Low, Stefan Ludwig, Dan
 
3845
Lussier, Fred Ma, Duraid Madina, Mark Marshall, Jason McMullan, Wim
 
3846
Michiels, Wai Sum Mong, Sean Moore, Dennis Muhlestein, John Murphy, Richard
 
3847
Myers, Dimitris Nalbantis, Bob Newgard, Cong Van Nguyen, Paul Nitza, Pete
 
3848
Nixon, Lisa Noack, Mark Nodine, Andreas Olofsson, Brad Parker, David
 
3849
Pierce, Dominic Plunkett, David Poole, Rich Porter, Niranjan Prabhu, Usha
 
3850
Priyadharshini, Mark Jackson Pulver, Prateek Puri, Chris Randall, Frederic
 
3851
Requin, Alberto Del Rio, Oleg Rodionov, Jan Egil Ruud, John Sanguinetti,
 
3852
Salman Sheikh, Mike Shinkarovsky, Rafael Shirakawa, Jeffrey Short, Rodney
 
3853
Sinclair, Steven Slatter, Brian Small, Wilson Snyder, Alex Solomatnikov,
 
3854
Art Stamness, John Stevenson, Todd Strader, John Stroebel, Emerson
 
3855
Suguimoto, Gene Sullivan, Renga Sundararajan, Yutetsu Takatsukasa, Peter
 
3856
Tengstrand, Stefan Thiede, Gary Thomas, Kevin Thompson, Mike Thyer, Steve
 
3857
Tong, Holger Waechtler, Stefan Wallentowitz, Shawn Wang, Greg Waters,
 
3858
Thomas Watts, Eugene Weber, David Welch, Leon Wildman, Gerald Williams,
 
3859
Trevor Williams, Jeff Winston, Joshua Wise, Clifford Wolf, Johan Wouters,
 
3860
Ding Xiaoliang, Jie Xu, and Amir Yazdanbakhsh.
3809
3861
 
3810
3862
Thanks to them, and all those we've missed including above.
3811
3863
 
 
3864
 
3812
3865
=head1 DISTRIBUTION
3813
3866
 
3814
3867
The latest version is available from L<http://www.veripool.org/>.
3815
3868
 
3816
 
Copyright 2003-2014 by Wilson Snyder.  Verilator is free software; you can
 
3869
Copyright 2003-2015 by Wilson Snyder.  Verilator is free software; you can
3817
3870
redistribute it and/or modify the Verilator internals under the terms of
3818
3871
either the GNU Lesser General Public License Version 3 or the Perl Artistic
3819
3872
License Version 2.0.
3820
3873
 
3821
 
=head1 AUTHORS
3822
 
 
3823
 
When possible, please instead report bugs to L<http://www.veripool.org/>.
3824
 
 
3825
 
Wilson Snyder <wsnyder@wsnyder.org>
3826
 
 
3827
 
Major concepts by Paul Wasson and Duane Galbi.
3828
3874
 
3829
3875
=head1 SEE ALSO
3830
3876
 
3831
 
L<verilator_profcfunc>, L<systemperl>, L<vcoverage>, L<make>,
 
3877
L<verilator_coverage>, L<verilator_profcfunc>, L<make>,
3832
3878
 
3833
3879
L<verilator --help> which is the source for this document,
3834
3880