Wilson Snyder
72d2cff0a1
C++11: Use member declaration initalizations. No functional change intended.
2020-08-16 11:44:06 -04:00
Wilson Snyder
c0127599df
C++11: Use nullptr. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
7c54a451a9
C++11: Remove pre-c11 VL_OVERRIDE etc. No functional change.
2020-08-16 11:44:05 -04:00
Wilson Snyder
9927e8b3ee
clang-format uses C++11 style. No functional change.
2020-08-15 09:48:08 -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
Geza Lore
7342cf278a
Travis: Add 32-bit build on focal
2020-06-28 20:11:22 +01:00
Wilson Snyder
6de78d58fa
Add new UNSUPPORTED error code to replace most previous Unsupported: messages.
2020-06-09 19:20:16 -04:00
Wilson Snyder
d84c7df38f
Internals: Reformat V3Options. No functional change.
2020-06-08 22:17:30 -04:00
Wilson Snyder
6e2d8df9e5
Tests: Add --debug-exit-parse
2020-06-08 22:10:55 -04:00
Wilson Snyder
c5d61da5d2
Internal coverage: Fix coverage of tests that abort. No functional change intended.
2020-06-05 08:00:22 -04:00
Wilson Snyder
3243651c63
Internals: Fix misc internal coverage holes. No functional change intended.
2020-06-04 21:40:40 -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
Geza Lore
9712ceedd7
Internals: Remove empty statements. No functional change intended.
...
Remove stray semicolons, mostly by capturing them in macros accurately.
This removes a ton on lint warnings from CLion.
2020-05-30 19:13:18 +01: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
Geza Lore
7b683fe258
Use sane --output-split values by default to help large builds
...
--output-split is now on by default with value 20000.
--output-split-cfuncs and --output-split-ctrace now defaults to the
value of --output-split unless explicitly specified.
2020-05-26 01:22:10 +01:00
Wilson Snyder
17e7da77f0
Misc internal coverage improvements.
2020-05-16 18:02:54 -04:00
Wilson Snyder
29695adf70
Fix 10s/100s timeunits.
2020-05-11 08:15:52 -04:00
Wilson Snyder
6e7ee23644
Internals: Code cleanups.
2020-05-09 15:00:46 -04:00
Geza Lore
849487da23
Modify --build to be a standalone option ( #2294 )
...
- Issue an error when --build is used together with --make
- When given --build, always use GNU Make to perform the build
- Update documentation (examples were good as they were)
- Remove the broken t_flag_build_cmake test
Fixes #2280
2020-04-30 12:54:50 +01:00
Wilson Snyder
df52e481fb
Collected minor output code cleanups.
2020-04-23 21:22:47 -04:00
Wilson Snyder
f93ae707e0
Tests: Add bad option test.
2020-04-23 19:56:26 -04: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
50535a1894
Internals: cppcheck 1.90 fixes. No functional change intended.
2020-04-05 18:57:47 -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
5d9d1cc09f
Internals: Favor const_iterator (in a few obvious spots, more needed). No functional change.
2020-03-15 18:34:09 -04:00
Wilson Snyder
57068b95ef
Internals: Move code, no functional change.
2020-03-15 13:39:36 -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
609a5dc26d
Fix cppcheck warnings. No functional change intended.
2020-02-03 23:21:56 -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
09199f79a6
Internals: Add VL_DO_CLEAR delete protections. No functional change intended.
2020-01-18 10:29:49 -05:00
Wilson Snyder
af38e8d387
Improve error on > 127 char modnames. #2106 .
2020-01-14 07:33:12 -05:00
Wilson Snyder
1234c83953
Fix some C++11 requirements.
2020-01-10 07:07:21 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Kuba Ober
ac1cdf7cdf
Implement APIs missing on Windows. ( #12 )
2019-12-28 19:44:24 +03:00
Kuba Ober
4a31b69f84
Decrease the number of chained if-else blocks to fix MSVC build. Pull ( #7 )
...
MSVC has a limit of 128 blocks in a chain.
2019-12-20 20:07:50 -05:00
Kuba Ober
ee184f3f39
Fix strcasecmp for windows, bug1651.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-12-20 06:58:05 -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
99455a16bf
Fix // in filenames, bug1610.
2019-11-20 21:23:03 -05:00
Wilson Snyder
47b5e36e60
Add -Wpedantic for compliance testing.
2019-11-16 11:59:21 -05:00
Wilson Snyder
f87107e757
Tests etc: Cleanup some clang-format suggestions. No functional change.
2019-11-09 20:35:12 -05:00
Wilson Snyder
cf9f466f0a
Fix false uninit warning
2019-11-09 18:42:18 -05:00
Wilson Snyder
2eda38c4d1
Update URLs to https://verilator.org
2019-11-07 22:41:34 -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
Yves Mathieu
baa6a2c31a
Support quoted arguments in -f files, bug1535.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-24 07:33:19 -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
Wilson Snyder
a7c2037b7a
Add --generate-key.
2019-10-09 18:53:30 -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
Wilson Snyder
fa904f386c
Commentary - Spelling fixes
2019-09-09 07:50:21 -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
Todd Strader
43ce048f9e
Add rr support
2019-07-25 21:34:09 -04:00
Wilson Snyder
a4820fc700
Misc minor error cleanups from show-source branch.
2019-07-14 20:59:56 -04:00
Wilson Snyder
6c5cc885a6
Internals: Cleanup FileLine constructors. No functional change intended.
2019-07-10 22:04:58 -04:00
Wilson Snyder
ec32a9b976
Tests: Close some test coverage holes.
2019-06-30 17:38:41 -04:00
Wilson Snyder
a58e7d94ec
Error continuation lines no longer have %Error prefix.
2019-05-30 20:30:59 -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
Todd Strader
d0fbdfac07
Add --quiet-exit, bug1436.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-05-14 06:47:51 -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
15af706286
Fix crash due to cygwin bug in getline, bug1349.
2018-11-26 19:09:08 -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
Wilson Snyder
595419b370
Internals: Sort includes for clang-tidy. No functional change intended.
2018-10-14 07:04:18 -04:00
Wilson Snyder
e8b8b33ff6
Internals: Cleanup find with chars for clang-tidy. No functional change.
2018-10-13 22:28:59 -04:00
Wilson Snyder
4cd01bc99a
Deprecate --trace-lxt2.
2018-10-06 14:13:38 -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
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
02f18fc21b
Merge from master
2018-03-15 23:31:59 -04:00
Wilson Snyder
2d580e6939
Support IEEE 1800-2017 as default language.
2018-03-12 22:26:34 -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
John Coiner
a7a790416e
Internals: Fix passing bool as int. No functional change.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2018-02-27 07:16:16 -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
a0b2727c59
Use power-of-two number of members to align structs
2017-12-11 19:16:49 -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
b90f383cfe
Add --threads option through to makefiles, unadvertised for now.
2017-10-21 16:41:43 -04:00
Wilson Snyder
cc0b780412
Internals: More use of unordered_map/set. No functional change intended.
2017-10-18 18:22:58 -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
3d1012b73b
Allow disabling BLKLOOPINIT (Intentionally undocumented), part of last commit
2017-10-01 23:36:19 -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
cf6a69da27
Internals: Fix some cast and fallthrough warnings. No functional change
2017-09-14 23:27:06 -04:00
Wilson Snyder
074689b5de
SystemPerl mode (-sp-deprecated) has been removed.
2017-09-07 21:08:49 -04:00
Wilson Snyder
70daadf987
Fix cpp-check warnings; support XML format 2
2017-07-06 20:25:59 -04:00
Wilson Snyder
447d803800
Fix internal clang warnings.
2017-05-24 23:51:15 -04:00
Wilson Snyder
8943ad5966
internals: Remove extra newlines on v3fatalSrc. No functional change.
2017-04-28 20:09:27 -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
cd61b1d045
Usage check.
2016-07-30 10:05:55 -04:00
Wilson Snyder
6b32bb635d
Change --l2-name default to remove 'v' naming.
2016-05-07 14:10:33 -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
7abc220fb3
Fix C++ 2014 compile warnings. No functional change.
2015-10-04 13:41:45 -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
d0653f72e2
Fix very long module names, bug937.
2015-09-19 20:12:35 -04:00
Wilson Snyder
7578ef889f
Fix .c files to be treated as .cpp, bug930.
2015-06-09 07:28:51 -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
8323092a0c
Fix cppcheck warnings. No functional change.
2015-02-09 21:05:27 -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
9837b40330
Remove SystemPerl tests
2014-11-27 08:30:54 -05:00
Wilson Snyder
9ec35a2348
New verilator_coverage and infrastructure to replace SystemPerl's vcoverage.
2014-11-23 21:06:10 -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
6cf50e6579
Fix string corruption, bug780.
2014-06-08 21:36:18 -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
3b43556c41
Internals: Remove dead NEW_ORDERING code.
2014-03-31 20:29:35 -04:00