Wilson Snyder
9180eebdba
Internals: MSVC cleanups
2026-03-19 22:48:12 -04:00
Wilson Snyder
94f8181cff
Fix null assignment to virtual interfaces ( #5974 ) ( #5990 ). [Maxim Fonarev]
...
Fixes #5974 .
Co-authored-by: Maksim Fonarev <fonarickm@yandex.ru>
2026-03-19 20:29:02 -04:00
Yilou Wang
a0a684109f
Support modport export/import task prototypes and out-of-block definitions ( #7277 )
2026-03-18 19:20:34 -04:00
Yilou Wang
b8ca9292a4
Fix StreamR LHS assertion when source is narrower than destination ( #7276 ) ( #7282 )
2026-03-18 15:15:27 -04:00
Igor Zaworski
907e775aa6
Internals: Add `--fourstate` flag and FUTURE warning ( #7279 )
2026-03-18 13:45:36 -04:00
em2machine
a2154e9119
Fix interface derived types passed as parameters to generate loop module instantiation ( #7273 )
2026-03-18 09:26:55 -04:00
Yilou Wang
3bb0ea63ad
Fix queue slice LHS assignment being silently discarded ( #7270 )
2026-03-17 15:10:49 -04:00
Yilou Wang
8925762077
Fix rand_mode(0) on sub-object members not preventing solver write-back ( #7272 )
2026-03-17 15:09:14 -04:00
Yilou Wang
316fb02c60
Support assignment patterns as comparison operands ( #7269 )
...
* Support assignment patterns as EQ/NEQ comparison operands
* Apply 'make format'
* update the .out file
* add both-sides case
---------
Co-authored-by: github action <action@example.com>
2026-03-17 19:36:54 +01:00
Yilou Wang
ef5281ab73
Fix false illegally-wrapped-around error for signed enums whose auto-incremented values cross zero. ( #7268 )
2026-03-17 19:36:24 +01:00
Yilou Wang
d57324e5fb
Support dynamic array .size in inline randomize() with constraints ( #7258 ) ( #7266 )
2026-03-16 18:48:36 -04:00
Yilou Wang
be0f4a507e
Fix shift width mismatch in constraint solver SMT emission ( #5420 ) ( #7265 )
2026-03-16 18:48:09 -04:00
Yilou Wang
bf792f1809
Fix array reduction in constraints crashing with class inheritance ( #7226 ) ( #7263 )
2026-03-16 16:36:48 -04:00
Alex Zhou
651f223387
Fix false recursive definition error ( #6769 ) ( #7118 )
2026-03-16 07:31:35 -04:00
Wilson Snyder
602ee384de
Support $sformat with runtime format string ( #7212 ). ( #7257 )
...
Fixes #7212 .
2026-03-14 22:43:56 -04:00
Yangyu Chen
bb5a9dc247
Support jemalloc as the default allocator on Linux ( #7250 )
...
Add jemalloc as an alternative malloc implementation for the Verilator
binary. When both tcmalloc and jemalloc are available, jemalloc is
preferred due to its better performance on RTLMeter.
The new --enable-jemalloc flag (default=check) mirrors the existing
--enable-tcmalloc behavior: auto-detected at configure time, supports
both static and dynamic linking, and is disabled when --enable-dev-asan
is active.
2026-03-13 17:08:15 -04:00
Yilou Wang
7cd49a8028
Support dist and solve...before inside foreach constraints ( #7245 ) ( #7253 )
2026-03-13 11:05:18 -04:00
Artur Bieniek
c0d0180918
Fix `final` asserts and $stop ( #7249 )
2026-03-12 13:09:54 -04:00
Yilou Wang
c74eee5123
Fix rand variable used as array index in constraint evaluated as constant ( #7238 ) ( #7247 )
2026-03-12 10:12:53 -04:00
Wilson Snyder
08c6d5bde5
Improve some display error handling ( #7212 prep)
2026-03-12 07:49:21 -04:00
Wilson Snyder
f2fdc57366
Fix --hierarchical dropping arguments in -f/-F files ( #7240 ).
2026-03-12 07:25:32 -04:00
Wilson Snyder
d87035d187
Commentary: Fix non-grammar
2026-03-11 19:53:23 -04:00
Geza Lore
be429ce956
Fix tracing of typedefed 1D packed arrays with --trace-structs ( #7237 )
...
Used to incorrectly unroll 1D packed arrays of 'bit' or 'logic' into
elements when using --trace-structs if the array element type was given
via a typedef. Keep them as a single signal instead.
2026-03-11 12:46:13 +00:00
Yilou Wang
f351882cf0
Fix enum range constraints missing for rand variables in sub-objects ( #7230 ) ( #7235 )
2026-03-11 07:21:40 -04:00
Rahul Behl
cd8818ca23
Fix randomize size+element queue constraints ( #5582 ) ( #7225 )
2026-03-11 06:51:32 -04:00
Pawel Kojma
4e6eafd994
Allow constant expressions without parentheses in PATHPULSE$ declaration ( #7199 )
2026-03-11 06:01:33 -04:00
Yilou Wang
5bf1d060c9
Fix internal error when derived class calls this.randomize() with inherited rand members ( #7229 ) ( #7234 )
2026-03-10 19:03:18 -04:00
Yilou Wang
3ba9077726
Fix soft cross-object constraint priority inversion ( #7228 ) ( #7233 )
...
Emit nested constraint setup tasks in depth-first order (deepest first)
so outer-scope soft constraints get higher priority per IEEE 18.5.13.
2026-03-10 19:02:15 -04:00
Wilson Snyder
a7a5c9f548
Improve not-found message to show cwd
2026-03-10 08:55:51 -04:00
Rahul Behl
2046879beb
V3Randomize: Fix dist operator inside ConstraintIf blocks ( #7221 ) ( #7224 )
...
The lowerDistConstraints() function was not recursing into ConstraintIf
nodes, causing dist operators inside if-else blocks to remain unlowered
and trigger an internal error when ConstraintExprVisitor encountered them.
Fix by adding recursive handling of ConstraintIf nodes in lowerDistConstraints:
- Check for AstConstraintIf nodes before AstConstraintExpr
- Recursively process thensp() and elsesp() branches
- This ensures all dist operators are lowered regardless of nesting
Test case: t_randomize_dist_conditional.v demonstrates conditional dist:
constraint c {
if (randd) {
x dist { 8'd0 := 1, 8'd255 := 3 }; // 25% / 75%
} else {
x dist { 8'd0 := 3, 8'd255 := 1 }; // 75% / 25%
}
}
Fixes #7221
2026-03-10 07:06:00 +00:00
em2machine
1b2b8afdc1
Fix wrong $bits() for parameterized interface struct typedefs ( #7218 ) ( #7219 )
2026-03-09 22:32:13 -04:00
Christian Hecken
9c5f4e2483
Internals: Extend VerilatedVar to hold force control signal pointers ( #7217 )
2026-03-08 15:53:32 -04:00
Wilson Snyder
3097df46fa
Change `--converge-limit` default to 10000 ( #7209 ).
...
Fixes #7209 .
2026-03-07 09:05:37 -05:00
Wilson Snyder
68d6dd7eee
Internals: Add UASSERT to avoid error fault on sv-tests regress-sv_sv_import_hier_fail1_iv
2026-03-07 09:03:42 -05:00
Wilson Snyder
4d369e4262
Fix --debug-inputs for .vlt files
2026-03-07 08:01:27 -05:00
em2machine
bef5c1f475
Fix static function not found from parameterized extends class ( #7204 ) ( #7208 )
2026-03-06 16:23:02 -05:00
Rahul Behl
efa53189ea
Support constraint `with` item.index array reduction ( #7198 )
2026-03-06 05:14:55 -05:00
Geza Lore
cedec65c39
Change array tracing to always dump left index to right index ( #7205 )
...
Also add array bounds and struct/union member counts to trace pushPrefix
(not used by vcd/fst/saif). Together these improve consistency in some
waveform formats.
2026-03-06 09:32:08 +00:00
Wilson Snyder
b89d29cab9
* Support procedural concurrent assertion simple cases ( #6944 ).
...
Fixes #6944 .
2026-03-05 20:03:48 -05:00
github action
fb00eb3bc6
Apply 'make format'
2026-03-05 21:06:48 +00:00
Julian Carrier
45a5e72509
Fix recursive default assignment for subarrays ( #4589 ) ( #7202 )
2026-03-05 16:05:54 -05:00
Geza Lore
4f4d48e9d7
Fix library/hier_block tracing when top name is empty ( #7200 )
2026-03-05 08:44:41 -05:00
Ryszard Rozak
258629634c
Support force assignments to array elements of real type ( #7048 )
2026-03-05 08:37:20 -05:00
Nick Brereton
e5ad9b3a4b
Support Z non-blocking assignment ( #7192 ) ( #496 ) ( #7197 )
2026-03-04 22:39:05 -05:00
Wilson Snyder
572f50126b
Improve function call argument error to show target function (rewording)
2026-03-04 20:22:25 -05:00
Wilson Snyder
c93f5256d4
Fix string cast on array call
2026-03-04 20:12:10 -05:00
Wilson Snyder
1bf2ea7643
Improve function call argument error to show target function
2026-03-04 19:01:01 -05:00
Igor Zaworski
7acd73fede
Fix super constructor calls with local variables, by using init functions ( #6214 ) ( #6933 )
2026-03-04 17:55:55 -05:00
em2machine
c34cd6ddf1
Fix missing scope when calling package function ( #7128 repair) ( #7188 ) ( #7190 )
2026-03-04 15:37:55 -05:00
Rahul Behl
9a5c1d27c8
Support array reduction methods with 'with' clause in constraints ( #6455 ) ( #6999 )
2026-03-04 12:01:35 -05:00