Geza Lore
6ddd92c0a1
Travis: Use workspaces and per job persistent ccache ( #2399 )
...
Change the Travis builds to use workspaces and persistent ccache
We proceed in 2 stages (as before, but using workspaces for
persistence):
1. In the 'build' stage, we clone the repo, build it and
save the whole checkout ($TRAVIS_BUILD_DIR) as a workspace
2. In the 'test' stage, rather than cloning the repo, multiple jobs
pull down the same workspace we built to run the tests from
This enables:
- Reuse of the build in multiple test jobs (this is what we used the Travis
cache for before)
- Each job having a separate persistent Travis cache, which now only
contains the ccache. This means all jobs, including 'build' and 'test'
jobs can make maximum use of ccache across runs. This drastically cuts
down build times when the ccache hits, which is very often the case for
'test' jobs. Also, the separate caches only store the objects build by
the particular job that owns the cache, so we can keep the per job
ccache small.
If the commit message contains '[travis ccache clear]', the ccache will
be cleared at the beginning of the build. This can be used to test build
complete within the 50 minute timeout imposed by Travis, even without a
persistent ccache.
2020-06-03 21:10:13 +01:00
Wilson Snyder
c3271aa891
Fix duplicate VLCOVGEN short code
2020-06-02 21:42:24 -04:00
Wilson Snyder
a57826b125
Line Coverage now tracks all statement lines, not just branch lines.
2020-05-31 15:52:17 -04:00
Michael Killough
047852eb08
Fix OpenBSD make in tests. ( #2388 )
2020-05-31 09:03:51 -04:00
Wilson Snyder
a41cdf4cfb
Tests: Add driver_verilator_flags (for verilator_ext_tests)
2020-05-30 08:19:44 -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
Geza Lore
622f59ad65
Set OPT_FAST=-Os as default ( #2374 )
2020-05-28 00:57:49 +01:00
Geza Lore
d737266f64
Add OPT_GLOBAL to use for run-time library ( #2373 )
...
This allows compiling the run-time library with optimization even when OPT_FAST is not used in order to imporove model build speed, possibly during debug cycles.
2020-05-27 01:52:08 +01:00
Geza Lore
72858175a2
Only emit VM_PARALLEL_BUILDS=1 iff --output-split caused a split.
...
Previously we set VM_PARALLEL_BUILDS=1 if the --output-split option was
provided. Now we only do it iff it actually causes a split.
2020-05-26 01:22:10 +01:00
Wilson Snyder
c9e59e767a
Tests: Add setenv method.
2020-05-23 22:24:26 -04:00
Wilson Snyder
c18b0eb122
Internal coverage: Limit parallelism to core count.
2020-05-23 09:50:04 -04:00
Todd Strader
accf5a9a17
Check if Parallel::Forker is new enough ( #2343 )
2020-05-19 14:31:13 -04:00
Wilson Snyder
1d0a726437
Update internal code coverage framework.
2020-05-16 06:15:25 -04:00
Wilson Snyder
2d11c2cbb3
Tests: Fix driver called with no tests
2020-05-15 22:33:35 -04:00
Geza Lore
27f4399c31
Fix tests failing on rerun after passing from clean. ( #2281 )
2020-04-23 21:27:06 -04:00
Geza Lore
8208fe8a0e
Fix test failures on Ubuntu 20.04 ( #2278 )
...
- Packaged SystemC lives in /usr so needed to update regex in test
driver
- Clang 10 complains about mixed named and positional initializers in
struct definitions.
2020-04-23 17:29:37 -04:00
Wilson Snyder
2b58e834ee
Tests: Rename IVERILOG define for consistency. No functional change.
2020-04-23 08:05:14 -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
Geza Lore
efacac2e3d
Tests: Ignore SystemC file paths in expected test results ( #2265 )
2020-04-18 18:56:19 -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
Wilson Snyder
8e6674066f
Tests: Clean before rerunning failing test.
2020-04-11 11:40:15 -04:00
Wilson Snyder
608d5a87d1
tests: Avoid assuming a timescale.
2020-04-07 20:55:47 -04:00
Geza Lore
0cfa828572
Fix DPI import/export to be standard compliant, #2236 .
2020-04-07 19:07:47 -04:00
Wilson Snyder
1ce360ed5b
Add SPDX license identifiers. No functional change.
2020-03-21 11:24:24 -04:00
Wilson Snyder
e6c91f59ab
Tests: Allow --numsets 2/2
2020-03-09 17:57:27 -04:00
Wilson Snyder
328fef8190
Tests: Add driver --hashset for Travis.
2020-03-07 21:38:44 -05:00
Wilson Snyder
6f49f802b1
Tests: Add fst_identical.
2020-03-07 16:59:46 -05:00
Wilson Snyder
dab1cb610a
Tests: Allow iv to run SystemVerilog tests
2020-03-05 18:12:10 -05:00
Wilson Snyder
082c9e0b1d
Tests: Add two-design trace tests.
2020-02-29 09:44:51 -05:00
Wilson Snyder
a7bd934fe3
Tests: Cleanup false used as 0. No functional change.
2020-02-29 08:56:49 -05:00
Wilson Snyder
991d81cd0a
Recommend -Os.
2020-02-27 07:46:34 -05:00
Wilson Snyder
20cc4e57d5
tests: Driver style fix.
2020-02-03 18:43:56 -05:00
Wilson Snyder
708fd36563
Tests: Show entering/exit so goto-error works on compile errors.
2020-01-24 22:40:19 -05:00
Wilson Snyder
a2911ed933
Fix shebang breaking some shells. Closes #2067 .
2020-01-09 20:01:12 -05:00
Wilson Snyder
f23fe8fd84
Update copyright year.
2020-01-06 18:05:53 -05:00
Wilson Snyder
1c643916a3
Tests: Add copy_if_golden to harness.
2019-12-10 18:53:35 -05:00
Wilson Snyder
4885bcb93c
Tests: Report core dumps on tests.
2019-11-21 18:42:40 -05:00
Matthew Ballance
7a413a121d
Tests: Fix modelsim driver, pull 5.
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-11-19 21:53:17 -05:00
Wilson Snyder
5811ec07e6
Update URLs to https://verilator.org
2019-11-07 22:33:59 -05:00
Wilson Snyder
8043a9c666
Tests: Test for bug1593.
2019-11-07 18:15:55 -05:00
Wilson Snyder
f1b10e2b4c
Improve error messages on DIDNOTSETTLE, bug1556.
2019-11-06 19:47:34 -05:00
Wilson Snyder
cc4cb4e006
Avoid internal on unsupported; make tests more stable otherwise on internal.
2019-11-04 21:11:15 -05:00
Wilson Snyder
7febeab275
Tests: Use standard verilator.mk rules for tests.
2019-11-02 11:15:58 -04:00
Wilson Snyder
40bdd85a07
Fix minor output spacing issues.
2019-10-29 23:19:59 -04:00
Todd Strader
3b33438e91
Benchmark --protect-lib runtime, bug1519.
2019-10-23 10:03:37 -04:00
Wilson Snyder
c9d000467b
Tests: Allow test-by-test verbose.
2019-10-19 07:14:13 -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
1232746395
Tests: Keep pass/unsup/skip count on retests.
2019-10-17 19:33:47 -04:00
Wilson Snyder
1852ae1cc8
Tests: Tweak driver to still print status every 15 seconds.
2019-10-16 23:17:31 -04:00
Todd Strader
af8cc9127f
driver.pl: Report possibly stalled tests.
2019-10-16 05:28:27 -04:00
Patrick Stewart
4361fb838f
Tests: Minor testbench fixes to prepare for CMake.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-10 19:48:06 -04:00
Patrick Stewart
68e5c95b82
Tests: Rename harness flag. No functional change.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-10-07 22:15:43 -04:00
Wilson Snyder
9bf6135f6d
Remove some output tabs.
2019-10-05 17:35:08 -04:00
Wilson Snyder
d472ef63e9
Internals: Cleanup some misnamed classes. No functional change.
2019-10-05 08:17:21 -04:00
Wilson Snyder
66209d1114
Tests: Less verbose status.
2019-10-01 21:32:38 -04:00
Wilson Snyder
8b6fb26272
Return good exit status on --help.
2019-09-30 23:15:10 -04:00
Wilson Snyder
9eaec3b5c1
Fix misc bad-syntax crashes, bug1530.
2019-09-30 19:48:01 -04:00
Wilson Snyder
dd4aa948ae
Tests: Have driver report ETA.
2019-09-30 19:22:36 -04:00
Todd Strader
9e64be71a7
Add XSim user run flags
2019-09-27 01:12:53 -04:00
Stefan Wallentowitz
502bd6cbd6
Tests: Set VM_PREFIX from test script.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-21 08:26:34 -04:00
Stefan Wallentowitz
96725b3431
Tests: To allow reuse of cpp files, allow to set the PLI filename.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2019-09-19 18:46:45 -04:00
Wilson Snyder
3bc260c55d
Fix make test with no VERILATOR_ROOT, bug1494.
2019-09-01 11:15:42 -04:00
Todd Strader
70cf2582d6
Add XSim support to driver.pl, bug1493.
2019-08-29 17:00:49 -04:00
Todd Strader
ec620387af
Add --dpi-hdr-only, bug1491.
2019-08-27 21:36:59 -04:00
Wilson Snyder
a13d230d8c
Tests: Less verbosity
2019-08-04 15:04:34 -04:00
Wilson Snyder
68b22a4a3d
Tests: Summarize any skips.
2019-07-30 22:20:37 -04:00
Todd Strader
43ce048f9e
Add rr support
2019-07-25 21:34:09 -04:00
Wilson Snyder
97561bf064
When showing an error, show source code.
2019-07-14 21:42:03 -04:00
Wilson Snyder
defd05bdd7
Tests: Fix driver checking threads/gcc for extended tests.
2019-07-12 19:35:10 -04:00
Wilson Snyder
33ad834106
Tests: Close some test coverage holes.
2019-06-30 22:00:18 -04:00
Wilson Snyder
ec32a9b976
Tests: Close some test coverage holes.
2019-06-30 17:38:41 -04:00
Wilson Snyder
5f27c41ee3
Test driver: Cleanup rerun flags & status.
2019-06-29 21:36:33 -04:00
Wilson Snyder
51df77099a
Test driver: With --quiet print summary every 15sec or Travis barfs.
2019-06-29 15:58:00 -04:00
Wilson Snyder
b8b7e5c978
Test driver: Add --rerun and --quiet options
2019-06-29 15:24:56 -04:00
Wilson Snyder
dddcfeb482
Test driver: Move one_test, no functional change.
2019-06-29 13:37:01 -04:00
Wilson Snyder
8d63f83177
Tests: Reduce verbosity unless use --verbose
2019-06-29 13:11:30 -04:00
Todd Strader
009f053d6e
Add initial Travis CI config
2019-06-27 11:26:25 -04:00
Wilson Snyder
84a2cd0ec7
Remove some old DIRPROJECT dead code.
2019-06-26 18:50:38 -04:00
Wilson Snyder
0edd3c9e95
Tests: Support remote test obj_
2019-06-15 16:37:58 -04:00
Wilson Snyder
f5f5cd522b
Tests: Make standard lint() to replace inconsistent compile()
2019-06-12 21:05:02 -04:00
Wilson Snyder
b23fc06388
Internals: Detab and fix spacing style issues in some include files. No functional change.
2019-05-07 23:30:24 -04:00
Wilson Snyder
f818ddc71c
Internals: Detab and fix spacing style issues in tests and scripts. No functional change.
2019-05-07 22:34:09 -04:00
Wilson Snyder
55a25674a2
Add --trace-fst-thread.
2019-05-02 20:33:05 -04:00
Wilson Snyder
6e333bd9ab
Fix test problems when missing fst2vcd, bug1417.
2019-04-10 20:51:38 -04:00
Wilson Snyder
b8ccb7a4c1
Fix maintainer test when no Parallel::Forker, msg2630.
2019-03-10 12:14:58 -04:00
Wilson Snyder
4cc47e3297
Tests: Cleanup spacing/style. No functional change.
2019-03-10 09:25:23 -04:00
Wilson Snyder
42759e4011
Fix VERILATOR_GDB being ignored, msg2860.
2019-02-12 18:20:40 -05:00
Wilson Snyder
f700a73b3e
Fix cygwin warning on fstapi, msg2770.
2019-01-20 14:16:09 -05: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
2e5919549c
Tests: Separate make_main flag from verilator_make_gcc flag.
2018-11-29 19:50:09 -05:00
Wilson Snyder
5cbf80918f
Tests: Favor golden files over long regexps. No functional change.
2018-11-03 14:59:04 -04:00
Wilson Snyder
196e3a9712
Tests: Reduce timeout when single-threaded testing.
2018-11-03 09:07:28 -04:00
Wilson Snyder
689e4cf1d3
Tests: Have files_identical fail on error
2018-11-01 21:58:39 -04:00
Wilson Snyder
6cd2bd2972
Tests: Add golden_filename.
2018-11-01 21:04:19 -04:00
Wilson Snyder
d3e1dfd3f5
Tests: Add VERILATOR_MAKE override variable.
2018-10-30 20:28:39 -04:00
Wilson Snyder
870918a788
Tests: Dump and test FST trace attributes.
2018-10-07 22:04:49 -04:00
Wilson Snyder
98b0d19363
Tests: Add enum to trace test.
2018-10-05 18:38:52 -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
Wilson Snyder
f8ae08c0c2
Internals: Fix whitespace.
2018-10-02 06:31:11 -04:00
Wilson Snyder
9d21c5441b
tests: Fix strange verilated-debug flag
2018-08-30 20:04:55 -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
ec8dbbffed
MAJOR: Add multithreaded model generation.
2018-07-22 20:54:28 -04:00
Wilson Snyder
dfe66a2b77
Fix whitespace after functions in generated files.
2018-07-18 22:42:05 -04:00
Wilson Snyder
a0b09b6450
Remove tabs inside generated files/quotes.
2018-07-18 21:25:21 -04:00
John Coiner
736bf75a50
tests: Allow cmdline args to override test args.
2018-07-05 18:52:25 -04:00
Wilson Snyder
65bb93a6c5
Add OBJCACHE envvar support to examples and generated Makefiles.
2018-06-15 07:13:18 -04:00
Wilson Snyder
fd98d231e4
Tests: Fix determinism of randomization.
2018-05-25 07:15:29 -04:00
Wilson Snyder
92649ba494
includes: Fix VL_RDTSC & misc stuff.
2018-05-24 22:17:44 -04:00
Wilson Snyder
35be80f789
Tests: Use vlt_all for any Verilator test.
2018-05-08 19:39:32 -04:00
Wilson Snyder
c29e7619eb
Tests: Support multiple scenario testing.
2018-05-07 20:42:28 -04:00
Wilson Snyder
3cd96cf558
Tests: Print error line in summary file.
2018-03-16 19:54:25 -04:00
Wilson Snyder
e07ee559a0
Tests: Fix gcc7.2 warnings.
2018-01-31 19:27:42 -05:00
Wilson Snyder
b2322ae873
Fix tracing example file output, bug1268.
2018-01-29 19:07:49 -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
78192308e1
Tests: Favor make -C over cd+make. No functional change.
2017-11-23 08:56:13 -05:00
Wilson Snyder
d542921ff7
Tests: Detect old GCC and skip unsupported tests.
2017-10-26 21:48:45 -04:00
Wilson Snyder
350932e9c0
Fix false failure on clang 3.8
2017-10-26 19:14:05 -04:00
Wilson Snyder
c17a9eb5f1
Tests: Fix driver when VERILATOR_ROOT not set.
2017-10-26 07:34:02 -04:00
John Coiner
c7cbe11ba4
Fix Ubuntu 17.10 issues, bug1223 partial.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2017-09-30 13:33:14 -04:00
Wilson Snyder
16234bb713
Tests: Call driver's run instead of private _run.
2017-09-23 08:50:39 -04:00
Wilson Snyder
691fbb0c42
Tests: Support newer VCS.
2017-09-12 18:42:58 -04:00
Wilson Snyder
074689b5de
SystemPerl mode (-sp-deprecated) has been removed.
2017-09-07 21:08:49 -04:00
Wilson Snyder
ea82bfcced
Fix GCC 6 warnings.
2017-07-06 19:07:23 -04:00
Wilson Snyder
6c87724af8
Support set_time_unit/set_time_precision in C traces, msg2261.
2017-06-20 19:33:58 -04:00
Wilson Snyder
e6d7e7e329
Version bump
2017-01-15 12:13:13 -05:00
Wilson Snyder
b738d1960a
Copyright year update
2016-01-06 20:36:41 -05:00
Wilson Snyder
b0a249f338
Fix display %u, %v, %p, %z, bug989.
2015-11-10 21:12:15 -05:00
Wilson Snyder
379bfd062f
Fix crash in commandArgsPlusMatch, bug987.
2015-10-29 21:07:49 -04:00
Wilson Snyder
b16ea8b719
Tests: With --benchmark, don't time directory change.
2015-10-21 06:54:03 -04:00
Wilson Snyder
486d69da5f
Add --clk and related optimizations, msg1533.
2015-03-12 19:20:46 -04:00
Wilson Snyder
a001babad2
Fix executable bit on driver.pl from recent change.
2015-02-11 18:14:08 -05:00
Wilson Snyder
b7df3e24b4
Tests: Support -ms for modelsim testing, bug878
2015-02-10 20:16:03 -05:00
Wilson Snyder
4c91ade61d
Copyright year update
2015-01-07 18:25:53 -05:00
Wilson Snyder
5078152292
Tests: Fix sigstop on parallel tests
2014-11-27 10:48:27 -05:00
Wilson Snyder
4a3bdc340d
Tests: Remove unneeded SystemPerl dependencies.
2014-11-23 22:18:07 -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
27af9b6b06
Fix clang warnings, bug818.
2014-09-11 21:28:53 -04:00
Wilson Snyder
adb39ceb98
Internals: cppcheck clean and add cppcheck_filtered
2014-04-29 22:59:38 -04:00
Wilson Snyder
30601c77d4
tests: Add driver --unsupported
2014-04-22 20:50:22 -04:00
Holger Waechtler
b655c17c09
Fix Mac OS-X test issues.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2014-03-29 08:30:08 -04:00
Wilson Snyder
d37709a922
test driver: Update VCDs when given HARNESS_UPDATE_GOLDEN
2014-03-08 15:34:42 -05:00
Wilson Snyder
4422de0c6c
Copyright year update.
2014-01-06 19:28:57 -05:00
Wilson Snyder
daf19e241e
Fix struct trace coredump from recent commit.
2013-12-21 06:46:48 -05:00
Rich Porter
cf9ffd16dd
tests: For icarus, exit on stop. Merge from RPORTER/vpi-vpiSize-680.
...
Signed-off-by: Wilson Snyder <wsnyder@wsnyder.org>
2013-10-11 21:34:48 -04:00
Wilson Snyder
9aba617bad
Fix --output-split-cfunc to count internal functions.
2013-09-03 19:35:32 -04:00
Wilson Snyder
6cf9468477
Fix vpi_iterate on memory words, bug655.
2013-06-13 07:58:52 -04:00
Wilson Snyder
24fcae4f49
Internals: When broken link fatal, say which rule violated
2013-05-25 17:05:22 -04:00
Wilson Snyder
99cd2818a1
Tests: Allow driver to find 't' signals when not first in file.
2013-05-23 22:00:55 -04:00