Geza Lore
2fabf50801
Use explicit ctor/dtor functions for VerilatedModules ( #6660 )
...
In order to avoid long compile times of the Syms constructor due to
having a very large number of member constructor sto call, move to using
explicit ctor/dtor functions for all but the root VerilatedModule. The
root module needs a constructor as it has non-default-constructible
members. The other modules don't.
This is only part of the fix, as in order to avoid having a default
constructor call the VerilatedModule needs to be default constructible.
I think this is now true for modules that do not contain strings or
other non trivially constructible/destructible variables.
Patch 1 of 3 to fix long compile times of the Syms module in some
scenarios.
2025-11-07 19:57:10 +00:00
Geza Lore
ffbb3229a8
Change default thread pool sizes to respect processor affinity ( #6604 )
...
Instead of using the number of processors in the host, use the number of
processors available to the process, respecting cpu affinity
assignments. Without pthreads, fall back and use the number of
processors in the host as before.
This is now applied everywhere so runing `nuamctl -C 0-3 verilator` or
`numactl -C 0-3 Vsim` should behave as if the host has 4 cores (e.g.
like in CI jobs)
2025-10-28 18:10:40 +00:00
Wilson Snyder
b652009235
Internals: Fix name of some static and thread variables. No functional change.
2025-10-27 20:49:41 -04:00
Aleksander Kiryk
94525cae5d
Fix std::process::get_randstate to not affect random stability ( #6550 ) ( #6565 )
2025-10-16 21:11:07 -04:00
Wilson Snyder
19ca140165
Improve adding model error message
2025-09-20 11:32:15 -04:00
Wilson Snyder
50dfdcb6cc
Support digits in `$sscanf` field width formats ( #6083 ).
2025-09-20 10:26:36 -04:00
Wilson Snyder
67f26508ba
Support `$sscanf %t`
2025-09-01 14:40:22 -04:00
Aleksander Kiryk
a9aa2f11b8
Improve testing on FreeBSD ( #6328 )
...
* Skip profiling tests on non-glibc platforms
* Enforce dumb terminal in tests
* Include POSIX headers whenever __unix__ macro is defined
* Treat no procfs as normal condition
* Respect MAKE variable when running make
2025-08-23 10:49:03 -04:00
Wilson Snyder
997d5ecdf1
Internals: Cleanup cppcheck c casts. No functional change intended.
2025-08-21 20:06:43 -04:00
Wilson Snyder
f71b8e6195
Internals: Fix up include/ cppcheck issues ( #6311 )
2025-08-19 21:36:52 -04:00
Wilson Snyder
fbaff52668
Change runtime to exit() instead of abort(), unless under +verilated+debug.
2025-08-05 18:43:29 -04:00
Wilson Snyder
db5b2669fc
Add current memory usage statistic ( #6192 partial)
2025-07-24 08:36:58 +02:00
Wilson Snyder
7a6775ca84
Internals: Rename memPeakUsageBytes
2025-07-17 22:16:59 -04:00
Wilson Snyder
b914cda1c7
Internals: cppcheck cleanups. No functional change.
2025-06-28 12:29:41 -04:00
Wilson Snyder
6af694b04b
Support `$timeformat` with missing arguments ( #6113 ).
2025-06-24 17:30:05 -04:00
Todd Strader
d9534ec626
Fix x assign vs init randomization ( #6075 )
2025-06-09 17:59:01 -04:00
Todd Strader
4b041c636f
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ) ( #6018 ) ( #6025 )
2025-05-27 09:31:55 -04:00
Wilson Snyder
640339ec36
Revert 'Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ).' See ( #6018 ).
...
Reverts 4581023805 plus line in Changes file
2025-05-17 20:27:03 -04:00
Todd Strader
4581023805
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 )
2025-05-16 13:54:51 -04:00
Wilson Snyder
7191a0ba8b
Internals: Favor preincrements. No functional change.
2025-05-09 21:20:35 -04:00
Wilson Snyder
0984fd045f
Change `--trace` to `--trace-vcd`.
2025-04-05 10:46:39 -04:00
Wilson Snyder
538f39edf9
Fix grammar.
2025-04-01 07:54:56 -04:00
Wilson Snyder
ed1e3ec4a2
Internals: Fix some clang-tidy issues. No functional change.
2025-03-27 21:21:37 -04:00
Wilson Snyder
ce058cc432
Fix `$fscanf` not returning -1 on EOF ( #5881 ).
2025-03-25 08:28:36 -04:00
Wilson Snyder
c508fd5d24
Internals: Remove single-statement braces. No functional change.
2025-03-19 22:55:11 -04:00
Yilou Wang
7fe51583e5
Fix foreach of assocArr inside a constraint block ( #5727 ) ( #5841 )
2025-03-11 13:32:34 -04:00
github action
bb871728c9
Apply 'make format'
2025-01-10 00:05:16 +00:00
Krzysztof Starecki
69dce205d3
Support multidimensional array access via VPI ( #2812 ) ( #5573 )
2025-01-09 19:04:26 -05:00
Wilson Snyder
8ca49d98c1
Fix %p format output for real inside struct ( #5713 ).
2025-01-03 19:15:03 -05:00
Wilson Snyder
8fbb725f34
Copyright year update.
2025-01-01 08:30:25 -05:00
Wilson Snyder
6e204ed0dd
Internals: Cleanup 'error error' on fatals
2024-12-11 08:52:41 -05:00
Krzysztof Starecki
1d06364284
Support vpiDefName ( #5572 )
2024-11-12 11:28:39 -05:00
Wilson Snyder
36888fac5d
Fix long module names crashing string handling ( #5546 ).
2024-10-22 09:25:58 -04:00
Wilson Snyder
0fe8c73d19
Fix `$fatal` to not be affected by `+verilator+error+limit` ( #5135 ).
2024-09-13 20:45:44 -04:00
Wilson Snyder
e4ff0909dc
Tests: Misc test cleanups from Python branch.
2024-09-03 21:42:06 -04:00
Bartłomiej Chmiel
7d5e19365e
Support assertcontrol directive type ( #5310 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2024-08-05 17:54:13 -04:00
Andrew Nolte
60f9e21d8c
Fix `--x-assign` to be independent from `+verilator+rand+reset` ( #5214 )
2024-07-14 17:04:00 -04:00
Bartłomiej Chmiel
11da07d3b9
Support `$assertcontrol` assertion_type ( #5236 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
Co-authored-by: Ryszard Rozak <rrozak@antmicro.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2024-07-10 05:06:13 -04:00
Wilson Snyder
f96e99542c
Internals: Fix cppcheck warnings. No functional change.
2024-06-13 21:29:03 -04:00
Wilson Snyder
6f0a36318e
Tests: Fix test stability ( #5167 update).
2024-06-11 20:55:01 -04:00
Wilson Snyder
fd1e4d9e45
Add assertion on reusing VerilatedContext ( #5167 ).
2024-06-11 19:38:58 -04:00
Ethan Sifferman
d9078df650
Fix 4-state value support for $readmem ( #5070 ) ( #5078 )
2024-05-21 17:27:32 -04:00
Arkadiusz Kozdra
739be2f782
Support constrained randomization with external solvers ( #4947 )
2024-05-17 10:38:34 -04:00
Yinan Xu
ce5cad17a8
Add increasing of stack size when possible ( #5071 ) ( #5104 )
2024-05-08 22:40:42 -04:00
Wilson Snyder
5601056ed0
Tests: Check for bad event methods
2024-04-28 13:10:25 -04:00
Wilson Snyder
1012c054e6
Fix `$system` with string argument ( #5042 ).
2024-04-11 17:31:14 -04:00
Wilson Snyder
28718f964a
Fix tracing replicated hierarchical models ( #5027 ) ( #5029 )
2024-03-30 16:00:52 -04:00
Wilson Snyder
1d486e3a59
Rename statsPrintSummary()
2024-03-30 13:19:47 -04:00
Wilson Snyder
e390d6779d
Internals: Rename threadsInModel()
2024-03-30 11:13:14 -04:00
Wilson Snyder
0114cb67ca
Fix $readmem with missing newline ( #5019 ).
2024-03-27 18:42:20 -04:00
Wilson Snyder
ea8f86dd30
Internals: Prefer '(void)' to avoid unused var. No functional change.
2024-03-27 18:07:14 -04:00
Wilson Snyder
0ff77fc352
Internals: Remove extra single-line {}. No functional change.
2024-03-27 17:57:49 -04:00
Wilson Snyder
4df9e2e0e5
Add printing summary reports ( #4909 ) ( #5018 )
2024-03-25 07:03:17 -04:00
Wilson Snyder
71d76c993c
Fix MSVC++ warnings. No functional change.
2024-03-24 10:19:26 -04:00
Wilson Snyder
38ad328956
Remove duplicate stop ignored messages
2024-03-22 19:35:42 -04:00
Wilson Snyder
ba47da6587
Internals: Move vl_timescaled_double to verilated_funcs.h. No functional change intended
2024-03-10 22:34:32 -04:00
Wilson Snyder
7694a7bf41
Fix suggestion of ulimit -s ( #4956 )
2024-03-10 11:20:25 -04:00
Wilson Snyder
11bfe7a7bb
cppcheck fixes. No functional change.
2024-03-07 19:20:00 -05:00
Wilson Snyder
3786f59e03
Change to IEEE 1800-2023 warning mentions
2024-03-02 10:15:19 -05:00
Wilson Snyder
e320b0b581
Internals: Favor const_iterators. No functional change intended.
2024-02-25 17:12:13 -05:00
Wilson Snyder
22687a6901
Internals: Use C++14 quoted literal std::string
2024-01-28 21:00:20 -05:00
Wilson Snyder
ce174743bb
Fix some MSVC warnings
2024-01-28 14:47:14 -05:00
Wilson Snyder
a84be1844f
MSVC fix, part of fix of null ( #4862 ).
2024-01-28 11:05:38 -05:00
Wilson Snyder
9ccef4180f
Fix $fwrite of null ( #4862 ).
2024-01-28 09:05:50 -05:00
Wilson Snyder
1a92502788
Add --main support for dumping coverage, and +verilator+coverage+file runtime option.
2024-01-20 12:28:49 -05:00
Wilson Snyder
89cfa0737f
Internals: Fix cppcheck warnings
2024-01-17 19:48:07 -05:00
Tim Hutt
5073f208af
Internals: Use more standard syntax for avoiding unused variable warnings ( #4826 )
2024-01-13 15:34:59 -05:00
Wilson Snyder
68e4eeb53e
Add predicted stack overflow warning ( #4799 ).
2024-01-06 16:16:14 -05:00
Wilson Snyder
0ca90257a5
Add predicted stack overflow warning ( #4799 ).
2024-01-06 16:14:58 -05:00
Wilson Snyder
e76f29e5ba
Copyright year update
2024-01-01 03:19:59 -05:00
Wilson Snyder
ca3b5fbe99
Add verilated asserts that VL_MULS_MAX_WORDS does not overflow ( #4781 ). No functional change intended.
2023-12-30 15:31:58 -05:00
Wilson Snyder
9de6612cde
Avoid shift by 32 even if later masked, to avoid sanitizer warning ( #4781 ). No functional change intended.
2023-12-30 14:46:57 -05:00
Wilson Snyder
1a43afe6f7
Fix $finish twice to no longer exit ( #4757 ).
2023-12-24 11:02:52 -05:00
Wilson Snyder
a022b672a0
Fix 0**0 with wide numbers ( #4721 ).
2023-11-26 17:11:22 -05:00
Wilson Snyder
4a10c9ef6f
Internals: Rename. No functional change.
2023-11-11 20:47:10 -05:00
Geza Lore
dc346b7ffa
Remove deprecated options ( #4663 )
2023-11-04 17:28:36 +00:00
Geza Lore
a09506a0ad
Trivial simplification of V3EmitCModel
...
Still some remains of the --threads 0 mode. Remove unnecessary complexity
from V3EmitCModel. (Also don't pretend there is an MTask in single
threaded mode, when there really isn't.)
2023-10-21 20:41:46 +01:00
Wilson Snyder
a773a52559
Cleanup some IEEE references
2023-10-19 19:26:36 -04:00
Wilson Snyder
36932d31c4
Fix C++11 missing C++14's std::make_unique.
2023-09-01 18:07:15 -04:00
Wilson Snyder
ed25aaaad9
Internals: Fix g++ std11 warning. No functional change.
2023-09-01 17:59:30 -04:00
Yinan Xu
b4b74d72f0
Add prepareClone and atClone APIs for Verilated models ( #3503 ) ( #4444 )
...
This API is used if the user copies the process using `fork`
and similar OS-level mechanisms. The `at_clone` member function
ensures that all model-allocated resources are re-allocated, such
that the copied child process/model can simulate correctly.
A typical allocated resource is the thread pool, which every model
has its own pool.
2023-08-30 07:02:55 -04:00
Ryszard Rozak
b517fb5ee3
Support some stream operations on queues ( #4292 )
2023-06-13 22:46:42 -04:00
Mariusz Glebocki
949be301de
Internals: Fix unbalanced V3LockGuard locking ( #4193 )
2023-05-13 10:32:33 -04:00
Wilson Snyder
e6f5a0495f
Fix $fscanf of decimals overflowing variables ( #4174 ).
2023-05-07 08:25:10 -04:00
Wilson Snyder
c6052830e1
Fix C++17 requirement on previous commit.
2023-05-06 20:23:35 -04:00
Wilson Snyder
a3640c1767
Support get_randstate/set_randstate class method function.
2023-05-06 19:09:19 -04:00
Kamil Rakoczy
65a484e00b
Internal: Update clang_check_annotations conditions ( #4134 )
2023-04-20 07:02:31 -04:00
Wilson Snyder
fff0eb5d88
Internals: Use standard 'result' name for return variable. No functional change.
2023-04-08 22:11:28 -04:00
Wilson Snyder
69121633cf
Support class srandom and class random stability.
2023-04-01 10:50:27 -04:00
Wilson Snyder
9b869edd90
Internals: Fix cppcheck warnings. No functional change.
2023-03-18 19:28:48 -04:00
Kamil Rakoczy
0130c2bceb
Internals: update clang attributes check report conditions ( #3997 )
2023-03-02 18:37:07 -05:00
Wilson Snyder
b1a95f642f
Support cast to numbers from strings.
2023-02-28 23:34:33 -05:00
Wilson Snyder
eb5aad94f1
Support to packed array
2023-02-05 10:18:03 -05:00
Wilson Snyder
6908e471e7
Revert: e3558d9e: Support vpiDefName ( #3906 ) ( #3931 )
2023-02-03 21:26:21 -05:00
Andrew Nolte
e3558d9e1b
Support vpiDefName ( #3906 ) ( #3931 )
2023-02-03 19:14:41 -05:00
Wilson Snyder
7855a78a0f
Support %p of union with real
2023-01-28 21:41:50 -05:00
Sören Tempel
78fe77db0f
Fix compatibility with musl libc / Alpine Linux ( #3845 )
2023-01-05 15:50:25 -05:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Wilson Snyder
3ccb2e0f2d
Fix initiation of function variables ( #3815 ).
2022-12-23 10:51:52 -05:00
Wilson Snyder
d64971ba35
Fix some MSVC warnings.
2022-12-22 12:19:09 -05:00