Wilson Snyder
b67f1f0e94
Fix GCC warnings
2020-08-18 08:10:44 -04:00
Wilson Snyder
78aee6f4e7
C++11: Use sized enums (+4% performance).
2020-08-16 12:05:35 -04:00
Wilson Snyder
034737d2a8
C++11: Use member declaration initalizations (in nodes). No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
72d2cff0a1
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Yutetsu TAKATSUKASA
953a442827
Support hierarchical verilation using protect lib ( #2206 )
2020-08-15 09:43:53 -04:00
Yutetsu TAKATSUKASA
30600bf1a3
Internals: Add const
2020-07-03 14:16:43 -04:00
Wilson Snyder
6e2d8df9e5
Tests: Add --debug-exit-parse
2020-06-08 22:10:55 -04:00
Wilson Snyder
6ce878cb0d
Fix some clang-tidy warnings
2020-06-01 23:16:17 -04:00
Geza Lore
656c460605
Add --dump-tree-addrids developer option
2020-05-31 20:21:55 +01:00
Geza Lore
fe306a36b8
Add MergeCond pass to combine assignments with ?: on rhs ( #2376 )
...
This provides minor simulation performance benefit, but can provide
large C++ compilation time improvement, notably with Clang (4x).
This patch implements #2366 .
2020-05-30 21:09:05 +01:00
Geza Lore
18870f8b62
Remove remnants of long removed --trace-dups option
...
See #2385
2020-05-30 20:16:40 +01:00
Wilson Snyder
ebda8f866c
Cleanup codacity and missing consts.
2020-05-28 21:04:36 -04:00
Wilson Snyder
279f21bb5b
Configure now enables SystemC if it is installed as a system headers.
2020-05-28 18:51:46 -04:00
Stefan Wallentowitz
dc90e6c3c3
Generate file with waivers ( #2354 )
...
This adds the flag --generate-waivefile <filename>. This will generate
a verilator config file with the proper lint_off statemens to turn off
warnings emitted during this particular run.
This feature can be used to start with using Verilator as linter and
systematically capture all known lint warning for further
elimination. It hopefully helps people turning of -Wno-fatal or
-Wno-lint and gradually improve their code base.
Signed-off-by: Stefan Wallentowitz <stefan.wallentowitz@hm.edu>
2020-05-26 20:38:14 +02:00
Wilson Snyder
29695adf70
Fix 10s/100s timeunits.
2020-05-11 08:15:52 -04:00
Geza Lore
dd967f7769
Improve trace buffer memory utilization and performance.
...
Convert trace buffer to 32-bit entries, rather than a union containing a
pointer type. Also tweaked trace entry layouts for a bit more
performance. This gains another 10% on SweRV EH1 CoreMark.
2020-04-27 19:00:17 +01:00
Wilson Snyder
77915f78db
Add experimental-only option.
2020-04-21 20:45:23 -04:00
Geza Lore
c52f3349d1
Initial implementation of generic multithreaded tracing ( #2269 )
...
The --trace-threads option can now be used to perform tracing on a
thread separate from the main thread when using VCD tracing (with
--trace-threads 1). For FST tracing --trace-threads can be 1 or 2, and
--trace-fst --trace-threads 1 is the same a what --trace-fst-threads
used to be (which is now deprecated).
Performance numbers on SweRV EH1 CoreMark, clang 6.0.0, Intel i7-3770 @
3.40GHz, IO to ramdisk, with numactl set to schedule threads on different
physical cores. Relative speedup:
--trace -> --trace --trace-threads 1 +22%
--trace-fst -> --trace-fst --trace-threads 1 +38% (as --trace-fst-thread)
--trace-fst -> --trace-fst --trace-threads 2 +93%
Speed relative to --trace with no threaded tracing:
--trace 1.00 x
--trace --trace-threads 1 0.82 x
--trace-fst 1.79 x
--trace-fst --trace-threads 1 1.23 x
--trace-fst --trace-threads 2 0.87 x
This means FST tracing with 2 extra threads is now faster than single
threaded VCD tracing, and is on par with threaded VCD tracing. You do
pay for it in total compute though as --trace-fst --trace-threads 2 uses
about 240% CPU vs 150% for --trace-fst --trace-threads 1, and 155% for
--trace --trace threads 1. Still for interactive use it should be
helpful with large designs.
2020-04-21 23:49:07 +01:00
James Hanlon
97cbc10925
Add --flaten for use with --xml-only ( #2270 ).
2020-04-21 18:14:08 -04:00
James Hanlon
65cd4f6047
Fix comment and add to CONTRIBUTORS ( #2270 ).
2020-04-21 18:11:53 -04:00
Wilson Snyder
d4f7f5297a
Support IEEE time units and time precisions, #234 . ( #2253 )
...
Includes `timescale, $printtimescale, $timeformat.
VL_TIME_MULTIPLIER, VL_TIME_PRECISION, VL_TIME_UNIT have been removed
and the time precision must now match the SystemC time precision.
To get closer behavior to older versions, use e.g. --timescale-override
"1ps/1ps".
2020-04-15 19:39:03 -04:00
Yutetsu TAKATSUKASA
18412f9322
Add --build option to call make/cmake as subprocess ( #2249 )
...
* Add --build, -j, -MAKEFLAGS, and --no-verilate options
* Verilator: Can build on both gmake and cmake
2020-04-15 17:44:21 -04:00
Wilson Snyder
1b94e3b0e2
Internals: clang-format files needed for #2249 .
2020-04-14 19:55:00 -04:00
Wilson Snyder
15b40a97d9
Support `unconnected_drive
2020-04-09 23:26:03 -04:00
Wilson Snyder
38a31ae168
Cleanup misc clang-tidy warnings. No functional change intended
2020-04-03 22:31:54 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
5f63b24c50
Change --quiet-exit to also suppress 'Exiting due to N errors'.
2020-03-15 08:09:51 -04:00
Wilson Snyder
2d52f525c5
Add --structs-packed for forward compatibility, #1541 .
2020-03-07 10:51:06 -05:00
Wilson Snyder
30a33a6104
Add support for and , #2126 .
2020-03-01 21:39:23 -05:00
Wilson Snyder
73f5e3f808
Internals: Add missing const. No functional change.
2020-02-02 10:34:29 -05:00
Stefan Wallentowitz
22088c907f
Set maximum number width ( #2128 )
...
Adjust the maximum number width to 64K. Add --max-num-width option to
adjust this setting.
Closes #2082
2020-01-21 12:17:31 +01:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
3d6e8e9eb0
Add -Wno-context.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-23 10:40:32 -05:00
Wilson Snyder
47b5e36e60
Add -Wpedantic for compliance testing.
2019-11-16 11:59:21 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
f781085755
Add --xml-output option.
2019-10-31 21:17:05 -04:00
Wilson Snyder
8f6efdaf5c
Allow both -MMD and --no-MMD, and --no/--skip-identical to override default
2019-10-31 20:59:52 -04:00
Wilson Snyder
f852ba8a33
Add --trace-coverage.
2019-10-27 09:27:18 -04:00
Patrick Stewart
1e4f471049
Add cmake support, bug1363.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-17 19:44:10 -04:00
Todd Strader
da0da9e258
Add --protect-lib to create protected libraries, bug1490.
2019-10-09 06:47:26 -04:00
Wilson Snyder
91f1acd85f
Add --protect-ids to obscure information in objects, bug1521.
2019-10-06 13:24:21 -04:00
Wilson Snyder
771a301f66
Commentary: Remove newlines, upsets some patches. No functional change.
2019-10-04 20:17:11 -04:00
Wilson Snyder
e1e45cf13c
Internals: Move option checks to notify().
2019-10-03 22:18:29 -04:00
Lukasz Dalek
d6ac351dcb
Add --public-flat-rw switch, bug1511.
...
This switch exposes VARs, PORTs and WIREs to C++ code. It must be use
with care as it has a significant performance impact and may result in
mis-simulation of generated clocks. Anyhow, it is prefered over
--public and useful for VPI.
Signed-off-by: Lukasz Dalek <ldalek@antmicro.com>
Signed-off-by: Stefan Wallentowitz <stefan@wallentowitz.de>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-23 07:56:07 -04:00
Todd Strader
ec620387af
Add --dpi-hdr-only, bug1491.
2019-08-27 21:36:59 -04:00
Wilson Snyder
e1e4bde125
Remove old V3ClkGater code
2019-08-27 17:51:06 -04:00
Wilson Snyder
b83b606267
Internals: Detab and fix spacing style issues. No functional change.
...
When diff, recommend using "git diff --ignore-all-space"
When merging, recommend using "git merge -Xignore-all-space"
2019-05-19 16:13:13 -04:00
Wilson Snyder
59d7d9e8c3
Fix real parameter assignment, bug1427.
2019-05-17 20:50:57 -04:00
Wilson Snyder
55a25674a2
Add --trace-fst-thread.
2019-05-02 20:33:05 -04:00
Wilson Snyder
8a4aeddbb0
Copyright year update.
2019-01-03 19:17:22 -05:00
Wilson Snyder
f0cdae129e
Removed --trace-lxt2, use --trace-fst instead.
2018-12-06 19:06:20 -05:00
Wilson Snyder
da1ebcb4e4
Add --pp-comments, msg2700.
2018-10-25 21:17:25 -04:00
Wilson Snyder
e0654dc218
Add --dump-defines.
2018-10-25 19:47:07 -04:00
Wilson Snyder
304a24d03a
Internals: Fix many clang-tidy issues. No functional change intended.
2018-10-14 18:39:33 -04:00
Wilson Snyder
d87b9d25ca
Internals: Cleanup and standardize include order. No functional change intended.
2018-10-14 13:59:40 -04:00
Sergi Granell
a5aa0e2b0a
Add GTKWave FST native tracing, bug1356.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-10-02 18:42:53 -04:00
johnjohnlin
acf4a3fa99
Add GTKWave LXT2 native tracing, bug1333.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-08-28 06:41:17 -04:00
Wilson Snyder
75f28fd446
Internals: Fix spacing of function calls. No functional change.
2018-08-25 09:52:45 -04:00
Wilson Snyder
ec8dbbffed
MAJOR: Add multithreaded model generation.
2018-07-22 20:54:28 -04:00
Wilson Snyder
ad4c8ee955
Add new reloop optimization for repetitive assignment compression.
2018-06-23 17:07:22 -04:00
Wilson Snyder
27c7d0c95b
Merge from master
2018-05-29 20:02:07 -04:00
Wilson Snyder
cf0464c263
Internals: Cleanup V3EmitC common code. No functional change. From threads branch.
2018-05-29 19:55:42 -04:00
Wilson Snyder
c253b7769e
Merge from master
2018-05-20 09:14:30 -04:00
Wilson Snyder
0efe343494
Renamed --profile-cfuncs to --prof-cfuncs.
2018-05-20 09:12:29 -04:00
Wilson Snyder
2c30aecc5b
Merge from master
2018-03-10 16:51:34 -05:00
John Coiner
ff82f75023
Add --no-debug-leak to reduce memory use under debug.
2018-03-10 12:18:19 -05:00
Wilson Snyder
f0ba17a19b
Merge from master.
2018-02-27 07:24:31 -05:00
Wilson Snyder
22573d238b
Internals: Fix GCC8 cppcheck warnings. No functional change.
2018-02-07 20:16:53 -05:00
Wilson Snyder
94e8cf1de9
Internals: Use explicit std:: instead of using namespace std. No functional change intended.
2018-02-01 21:24:41 -05:00
Wilson Snyder
71fcf45d73
Fix gate optimization out of memory, add --gate-stmts, bug1260.
2018-01-27 15:06:51 -05:00
Wilson Snyder
8e65d93d6d
Copyright year update. No functional change.
2018-01-02 18:05:06 -05:00
Wilson Snyder
345657ab32
Workaround GCC/clang bug with huge compile times, bug1248.
2017-12-09 11:52:35 -05:00
Wilson Snyder
a579e9273b
Support self-recursive modules, bug659.
2017-11-18 17:42:35 -05:00
Wilson Snyder
add5cc8b56
Internals: Add VL_UNCOPYABLE to make classes uncopyable. No functional change intended.
2017-11-01 18:51:41 -04:00
Wilson Snyder
c17c81254e
Internals: Use = delete via a macro for a bit of C++11 forward compatibility
2017-10-25 20:00:38 -04:00
Wilson Snyder
b90f383cfe
Add --threads option through to makefiles, unadvertised for now.
2017-10-21 16:41:43 -04:00
Wilson Snyder
5bc2f87d3e
Fix --skip-identical to handle closer timestamps looking at ctime.
2017-10-13 20:34:36 -04:00
John Coiner
ba270e09a4
Add --no-relative-cfuncs and related default optimization, bug1224.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-10-05 18:18:11 -04:00
Wilson Snyder
33780a09df
Add --x-initial option
2017-10-01 21:31:40 -04:00
Wilson Snyder
46e300b2c5
Add --getenv option.
2017-09-23 18:03:39 -04:00
Wilson Snyder
c28a6eef3b
Fix whitespace issues, bug1203.
2017-09-11 19:18:58 -04:00
Wilson Snyder
074689b5de
SystemPerl mode (-sp-deprecated) has been removed.
2017-09-07 21:08:49 -04:00
Wilson Snyder
c90960fc88
Fix LDFLAGS and CFLAGS not preserving order, bug1130.
2017-02-13 18:11:40 -05:00
Wilson Snyder
0adb789238
Add --relative-includes.
2017-02-09 18:33:18 -05:00
Wilson Snyder
15082a178b
Add -FI option to force includes,msg2146.
2017-02-09 07:44:36 -05:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
c30211cb27
Add --no-decoration to remove output comments, msg2015.
2016-09-13 22:28:07 -04:00
Wilson Snyder
691de22ae3
Add --l2-name option for controlling 'v' naming, bug1050.
2016-05-07 14:01:02 -04:00
Stefan Wallentowitz
482bdab0e0
Support command-line -G/+pvalue param overrides, bug1045.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2016-03-24 19:14:15 -04:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
faf5e1de51
Internals: Remove some unneeded c_str() calls. No functional change.
2015-10-29 22:19:51 -04:00
Wilson Snyder
318ded4198
Internals: Cleanup cppcheck warnings.
2015-10-03 22:33:06 -04:00
Wilson Snyder
9a16001e51
Add --vpi flag, and fix VPI linkage, bug969.
2015-09-25 22:57:28 -04:00
Wilson Snyder
0ee5743853
Add --dump-treei-<srcfile>, bug894.
2015-03-12 19:48:04 -04:00
Wilson Snyder
486d69da5f
Add --clk and related optimizations, msg1533.
2015-03-12 19:20:46 -04:00
Wilson Snyder
751384cb5c
Fix compile error on MinGW, bug887.
2015-02-26 20:40:45 -05:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
1a3378e0f5
Add --stats-vars, bug851.
2014-12-20 08:28:31 -05:00
Wilson Snyder
87573a9fef
Part of earlier commit - no SystemPerl now for coverage.
2014-11-24 18:37:55 -05:00
Wilson Snyder
6da13c6486
Internals: Split V3Error into V3FileLine. No functional change.
2014-11-22 11:48:39 -05:00
Wilson Snyder
87a47a5ca0
Remove PSL support
2014-11-22 10:14:14 -05:00
Wilson Snyder
6d66fcaa57
Fix +define+A+B to define A and B to match other simulators, bug847.
2014-11-13 19:05:07 -05:00
Wilson Snyder
cf6d07aafa
Add optimization of operators between concats, msg1447.
2014-10-22 21:44:41 -04:00
Wilson Snyder
0eb5a0a539
Add -P to suppress `line and blanks with preprocessing, bug781.
2014-06-06 20:22:20 -04:00
Wilson Snyder
c9ed9e74f2
Add --no-trace-params.
2014-03-13 20:08:43 -04:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
801b718953
Add --trace-structs to show struct names, bug673.
2013-12-14 19:13:31 -05:00
Wilson Snyder
27686d8c2f
Add --no-order-clock-delay to work around bug613.
2013-09-30 16:52:43 -04:00
Wilson Snyder
345a5d5646
Add --pins-sc-uint and --pins-sc-biguint, bug638.
2013-04-26 21:02:32 -04:00
Jeremy Bennett
bb2822f4b5
Add --report-unoptflat, bug611.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-02-26 22:26:47 -05:00
Varun Koyyalagunta
e0edb596ea
Add duplicate clock gate optimization, msg980.
...
Experimental and disabled unless -OD or -O3 used (for now),
Please try it as may get some significant speedups.
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-02-20 20:14:15 -05:00
Wilson Snyder
238fc24684
Remove slow sync() call for NFS flushing.
2013-02-04 21:21:55 -05:00
Wilson Snyder
f07f6a26a8
cppcheck fixes
2013-02-03 13:27:37 -05:00
Wilson Snyder
a8bbf7231b
Copyright year update.
2013-01-01 09:42:59 -05:00
Wilson Snyder
7a8c425103
Add +1364-1995ext and similar language options, bug532.
2012-11-13 20:12:23 -05:00
Wilson Snyder
61e8836fbd
Add -x-initial-edge, bug570. by Jeremy Bennett; from BENNETT/initial-edge branch.
2012-11-02 19:55:34 -04:00
Wilson Snyder
9c00fd10de
Add --savable to support model save/restore.
2012-08-26 21:19:43 -04:00
Wilson Snyder
a82cdcfe48
Add --converge-limit option.
2012-05-31 18:56:31 -04:00
Wilson Snyder
c6e7d87960
Commentary - Remove author lines as amany contributors now
2012-05-24 19:19:48 -04:00
Wilson Snyder
50edef4ab2
Add Emacs indentation line. No functional change
2012-04-12 21:08:20 -04:00
Wilson Snyder
11edc9e7a7
Debug: Add --dump-treei option
2012-03-20 22:45:35 -04:00
Wilson Snyder
204fb82975
Add very experimental --xml option
2012-03-20 16:13:10 -04:00
Wilson Snyder
f13ffe2098
Internals: Merge from VHDL branch. Minor stuff, no functional change.
2012-02-11 20:40:58 -05:00
Wilson Snyder
2396181bc5
Add SYSTEMC_INCLUDE and SYSTEMC_LIBDIR
2012-01-19 20:30:41 -05:00
Wilson Snyder
c2c7c7bd9a
Copyright year update
2012-01-15 10:26:28 -05:00
Wilson Snyder
85a37ea53f
Search for user -y paths before default current directory.
2011-10-28 18:57:40 -04:00
Wilson Snyder
fb9ca54c95
Fix reporting not found modules if generate-off, bug403.
2011-10-27 20:56:38 -04:00
Wilson Snyder
df1da3dda9
Internals: Fix cppcheck warnings; no functional change intended
2011-08-04 21:58:45 -04:00
Wilson Snyder
fb70a1f4ab
Add --Wno-fatal to turn off abort on warnings.
2011-03-22 18:09:39 -04:00
Wilson Snyder
a176054118
Add --trace-max-width and --trace-max-array, bug 319.
2011-02-23 21:58:27 -05:00
Wilson Snyder
1611362c22
Add --unused-regexp
2011-01-01 19:43:22 -05:00
Wilson Snyder
71c1f00ec2
Copyright year update
2011-01-01 18:21:19 -05:00
Wilson Snyder
809e5fda8a
Ignore DECLFILENAME on library files
2010-12-29 19:34:33 -05:00
Wilson Snyder
7b83d2de49
Commentary
2010-12-26 09:40:17 -05:00
Wilson Snyder
850de5913d
With --Wall, add IFDEPTH warning on deep if statements.
2010-12-26 09:31:09 -05:00
Wilson Snyder
0837e39787
With -V, print VERILATOR_BIN env var
2010-12-17 19:40:08 -05:00
Wilson Snyder
eeb8fc2626
Add -F option to read relative option files, bug297.
2010-11-03 07:21:34 -04:00
Wilson Snyder
f99bd33f91
Support tracing/coverage of underscore signals, bug280.
2010-08-29 19:28:46 -04:00
Wilson Snyder
b1872a8e21
Internals: Add enum prefixes to reduce MSVC macro conflicts
2010-02-01 20:15:48 -05:00
Wilson Snyder
59261113d8
Internals: Remove one of many ERROR define conflicts
2010-02-01 06:40:30 -05:00
Wilson Snyder
7fd6ddc25b
Add -o option to specify executable name
2010-01-30 09:42:44 -05:00
Wilson Snyder
c49e0ac5c8
Add -CFLAGS, -LDFLAGS, <file>.a, <file>.o, and <file>.so options.
2010-01-28 19:33:02 -05:00
Wilson Snyder
11e702c430
SystemPerl is no longer required for tracing.
...
Applications must use VerilatedVcdC class in place of SpTraceVcdC.
2010-01-24 18:37:01 -05:00
Wilson Snyder
58efab5cdf
Add SystemVerilog 1800-2009 keywords
2010-01-21 21:58:45 -05:00
Wilson Snyder
6196cf09ff
Add experimental --pipe-filter to filter all Verilog input.
2010-01-20 07:15:51 -05:00
Wilson Snyder
bf860b21d7
Clock domain crossing checks
2010-01-07 16:41:19 -05:00
Wilson Snyder
729dfdfed7
Copyright year update
2010-01-05 21:15:06 -05:00
Wilson Snyder
934dc842e0
Add --bbox-unsup option to black-box unsupported UDP tables.
2009-12-16 11:45:28 -05:00
Wilson Snyder
d608fd77b9
Fix initialization of 2 state vars to zero
2009-11-23 19:08:25 -05:00
Wilson Snyder
faa5ef193b
Add --bbox-sys option to blackbox $system calls.
2009-09-16 09:28:09 -04:00