Wilson Snyder
00c3bafe7d
Tests: With --gdbsim build with ggdb
2021-02-25 19:20:11 -05:00
Wilson Snyder
e44563fddc
Tests: Use vl_time_stamp64 where reasonable
2021-02-16 20:14:30 -05:00
Wilson Snyder
ae311200bf
Tests: Pass tool to allow ifdefs in VPI C code.
2021-02-03 19:29:24 -05:00
Wilson Snyder
828fa80afa
Tests: Add common use_libvpi for multiple simulators
2021-02-03 18:59:27 -05:00
Àlex Torregrosa
e77e4e1fe6
Improve struct scopes when dumping structs to VCD ( #2776 )
2021-02-03 14:40:21 -05:00
Wilson Snyder
ab5d4bd51d
Tests: Abstract out common test comparison
2021-01-12 18:31:23 -05:00
Wilson Snyder
bd602d0e2d
Copyright year update
2021-01-01 10:29:54 -05:00
Wilson Snyder
b8b9170f9d
Remove Unix::Processors dependency
2020-12-23 16:07:14 -05:00
Yutetsu TAKATSUKASA
ce9293fcb3
Fix memory leaks found in trace related tests ( #2708 )
...
* Fix memory leak of t_trace_cat and t_trace_cat_renew
* Fix memory leak of t_trace_c_api
* Fix memory leak in t_trace_public_func and t_trace_public_func_vlt
* Fix memory leaks in t_flat_build (and probably more).
* Use unique_ptr in testcases
2020-12-17 08:31:47 +09:00
Todd Strader
b75901b3eb
Fix VPI module tree ( #2704 )
2020-12-16 11:46:57 -05:00
Yutetsu TAKATSUKASA
d9ef4ac435
Rename --asan to --sanitize ( #2705 )
2020-12-15 21:07:27 -05:00
Yutetsu TAKATSUKASA
176cc5a196
Add --asan option that enables address sanitizer to the test driver ( #2700 )
...
* Experimentally add --vltasan which enables address sanitizer
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2020-12-16 07:33:26 +09:00
Wilson Snyder
74ef35d3b3
Support $cast and new CASTCONST warning.
2020-12-05 22:58:36 -05:00
Wilson Snyder
b49be06a5a
Tests: Standard wording.
2020-11-12 18:50:05 -05:00
Wilson Snyder
7e5f562500
Tests: Use internal sed as external croaks on binary.
2020-10-14 09:30:15 -04:00
Wilson Snyder
069eb97eca
SystemC 2.3.0 or newer (SYSTEMC_VERSION >= 20111121) is now required.
2020-08-29 10:45:47 -04:00
Wilson Snyder
698e0fbbd1
configure: Try compiler flags to get to C++11 ( #2502 )
2020-08-17 07:40:07 -04:00
Geza Lore
09806d7576
Update fstapi.c to latest (fix undefined thread behaviour)
2020-06-30 19:50:41 +01:00
Geza Lore
7342cf278a
Travis: Add 32-bit build on focal
2020-06-28 20:11:22 +01:00
Geza Lore
378d947702
Travis: Add FreeBSD build + portability fixes
2020-06-28 15:37:24 +01:00
Wilson Snyder
5a622fd9db
Tests: Temporary fix for ( #2407 )
2020-06-05 07:28:51 -04:00
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