Wilson Snyder
e012f7c79d
Fix segmentation fault on context destruction ( #8265 ).
...
Fixes #8265 .
2026-09-02 08:00:32 -04:00
Szymon Gizler
be83d1393d
Fix continuing on wait(0) ( #7372 ) ( #8231 )
2026-08-31 13:06:23 -04:00
Paul Rigge
2954756190
Fix VL_MULS_* UB on signed int overflow ( #8247 ) ( #8248 )
2026-08-28 14:53:22 -04:00
Jakub Wasilewski
2f856971ed
Add Unigen2 constrained randomization algorithm ( #8042 )
...
Signed-off-by: Jakub Wasilewski <[email protected] >
2026-08-27 08:33:14 -04:00
Geza Lore
8546d5db06
Internals: Move the eval loop into the runtime library ( #8225 )
...
The loops modelling the SystemVerilog scheduling regions are no longer
generated. They now live in 'VerilatedEvalLoop' in the runtime library.
The generated model holds one as a member, passing itself to it, and
exposes each evaluation entry point to it as a pure virtual method on
VerilatedModel. The model's 'eval' and 'eval_step' remain the top level
entry points, and are backward compatible.
V3Sched no longer emits '_eval' or '_eval_settle', etc.. Instead every
evaluation entry point called from the runtime is enumerated by 'VEval',
Scheduling creates all entry points, for all scheduling regions, even if
they are empty, and the runtime eval loop calls everything
unconditionally. If regions are empty, this is simply a call to an empty
function. This will hurt performance on very small models, but should
not be noticeable on anything meaningful, so it is likely best to keep
to reduce complexity.
A scheduling entry points evaluate a single iteration and returns
whether it did any work, they are effectively the previous
`_eval_phase_*` functions.
2026-08-27 07:53:02 -04:00
Aliaksei Chapyzhenka
5e4151e3e0
Internals: Add WASI (wasm32-wasip1) build support ( #8216 ) ( #8217 )
2026-08-25 19:13:07 -04:00
Yilou Wang
8cbaf505ee
Fix solver session stability to avoid breaking randomize ( #7991 )
2026-08-25 13:13:59 -04:00
Yilou Wang
67cbc36ef0
Fix randomize misreading solver replies and applying partial models (Part3a of #7991 ) ( #8136 )
2026-08-24 18:14:06 -04:00
Wilson Snyder
fd319beb8a
Internals: Cleanup code duplication. No functional change intended.
2026-08-21 16:51:19 -04:00
Wilson Snyder
99c26d3994
Update linfstwriter from upstream ( #7193 prep) ( #8181 )
2026-08-21 16:35:15 +02:00
Andrii
e717c513e9
Fix null pointer dereference in killQueue ( #8171 )
...
Signed-off-by: Andrii Andrieiev <[email protected] >
2026-08-20 10:55:45 +02:00
Geza Lore
94a63dd407
Fix streaming concatenation uninitialized RMW access ( #8143 )
2026-08-18 12:03:51 +02:00
Kornel Uriasz
74d12c5b5e
Fix 'get-value' for empty constrained arrays ( #8138 )
...
Signed-off-by: Kornel Uriasz <[email protected] >
2026-08-18 10:05:00 +02:00
Sunimali Rathnayake
2d8d8add42
Fix public table offsets larger than 32 bits ( #8135 )
2026-08-18 08:06:53 +02:00
Yilou Wang
ace84ef2b3
Fix simulation hang when the solver stops answering (Part2 of #7991 ) ( #8129 )
2026-08-17 13:01:41 +02:00
Matthew Ballance
a3553e7bee
Add runtime support for covergroup cross-points ( #7847 )
2026-08-16 15:33:38 -04:00
Wilson Snyder
d6b206cc7d
Internals: Cleanup some VPI messages and fix test coverage
2026-08-14 19:47:45 -04:00
Demin Han
743e0f4a82
Fix the clang compilation using pch ( #8105 )
...
Signed-off-by: Demin Han <[email protected] >
2026-08-14 12:19:28 -04:00
Adam Kostrzewski
649598c74c
Fix unintended side-effect insertion on associative array read ( #8077 )
2026-08-14 15:23:44 +02:00
Yilou Wang
abf199cf0e
Fix randc cycling in a class that also uses solve...before (Part1 of #7991 ) ( #8055 )
2026-08-14 07:16:44 -04:00
Geza Lore
1397d5d01e
Optimize VL_WORDS_I/VL_BYTES_I ( #8095 )
2026-08-13 14:44:04 -04:00
github action
098f375e9d
Apply 'make format' [ci skip]
2026-08-12 23:13:40 +00:00
Sumanth Kadiyala and Sumanth Kadiyala
44fe96b2da
Add +verilator+assert+lock to ignore RTL assert control statements ( #8086 )
...
Co-authored-by: Sumanth Kadiyala <[email protected] >
2026-08-12 19:13:02 -04:00
Bartłomiej Chmiel
121fc62aff
Fix VPI cbValueChange for 1-bit select ( #8063 )
2026-08-10 07:52:18 -04:00
Tyrone Marhguy
86fa00416d
Fix Linux peak memory stat to use VmHWM ( #8022 ) ( #8070 )
2026-08-09 15:37:57 -04:00
Yilou Wang
925a6640d1
Fix queued $finish/$stop request thread ordering ( #7946 prep) ( #7952 )
2026-08-04 01:46:54 -04:00
BRDR LIFE
967b1bae57
Fix unique constraint crash, guards, and size ( #8018 ) ( #8018 )
2026-07-31 23:37:53 -04:00
Yilou Wang
704c5a1c96
Fix gcov dump on warnings discarding later coverage counts ( #8017 )
2026-07-31 12:08:05 -04:00
Yilou Wang
99b71a37b7
Internals: Refactor randomization next and nextPhased into shared helpers ( #7991 prep) ( #8009 ). No functional change intended.
2026-07-30 21:41:37 -04:00
Artur Bieniek
b70696fc0a
Fix $finish continuing event loop ( #7267 ) ( #7950 )
...
Fixes #7267 ,
2026-07-30 21:39:21 -04:00
github action
42e043cb01
Apply 'make format' [ci skip]
2026-07-30 10:15:15 +00:00
24bit-xjkp
c5c3c45102
Internals: Remove static inline functions in headers ( #7988 ) ( #8007 )
2026-07-30 15:44:40 +05:30
Yilou Wang
b5fa4212b0
Fix UNSATCONSTR reporting constraint indices above 9 ( #7995 )
2026-07-28 18:25:19 -04:00
Yilou Wang
f22676eea9
Fix solve-before dropping all soft constraints in randomize() ( #7963 )
2026-07-20 14:55:49 -04:00
Bartosz Skorowski
176e333774
Fix lambda parameter types in queue min and max ( #7962 )
...
Signed-off-by: Bartosz Skorowski <[email protected] >
2026-07-20 06:53:40 -04:00
Kornel Uriasz
232b2eb04c
Fix dynamic array handling in solve...before ( #7922 )
2026-07-15 10:48:54 -04:00
Nick Brereton
25377b20af
Optimize VPI symbol registration and scope construction ( #7936 )
2026-07-15 10:31:42 -04:00
Jeffrey Song
4262aea87c
Internals: Use snprintf for random unique indexes ( #7925 )
2026-07-13 11:35:22 -07:00
Yilou Wang
7ca78a75e7
Fix scoped randomize with array members under rand_mode ( #7877 )
2026-07-11 20:28:49 -07:00
Yilou Wang
ca83bc50bf
Fix solve-before over array variables failing randomization ( #7876 )
2026-07-11 20:44:37 -04:00
Adam Kostrzewski
a21bd8a417
Fix VlQueue falling into wrong template spec ( #7914 )
2026-07-09 07:33:28 -07:00
Jakub Michalski
93d0443998
Fix memory leak in VerilatedFst::close() ( #7899 )
...
Signed-off-by: Jakub Michalski <[email protected] >
2026-07-08 08:48:17 +01:00
Dragon-Git
58bd13b623
Fix heap-use-after-free in VlRNG::VlRNG() ( #7865 )
2026-07-03 06:38:48 -04:00
Pawel Kojma
b97df914dd
Fix clang++ ambiguous overload of '==' operator ( #7863 )
2026-07-03 06:37:48 -04:00
Geza Lore
1106e89c84
Optimize random initialization
...
Fetching a thread-local is relatively expensive. Random initializing
wides used to do it once or twice per word, and on short runs for
large designs can be noticeably expensive, so fetch once per variable
instead. Also remove unused VL_RAND_RESET_{Q,W} functions.
2026-07-02 16:38:14 +01:00
Jakub Michalski
506f703da5
Internals: Remove unused variables in verilated_funcs.h ( #7862 )
...
Signed-off-by: Jakub Michalski <[email protected] >
2026-07-02 07:16:42 -04:00
github action
514fa120f5
Apply 'make format' [ci skip]
2026-06-29 14:58:00 +00:00
Joshua Leahy
cf7e3f791a
Fix covergroups without --coverage ( #7848 ) ( #7849 )
...
Fixes #7848 .
2026-06-29 10:56:59 -04:00
Wilson Snyder
9448e4366c
Fix MSVC warning. No functional change.
2026-06-28 09:47:53 -04:00
Matthew Ballance
d023b3b075
Support dynamic loading of VPI extensions ( #7727 )
2026-06-28 09:28:09 -04:00