Yilou Wang
7cd49a8028
Support dist and solve...before inside foreach constraints ( #7245 ) ( #7253 )
2026-03-13 11:05:18 -04:00
Yilou Wang
e0f1f316aa
Fix randc solver hang with wide variables ( #7068 ) ( #7248 )
2026-03-13 07:53:51 -04:00
Artur Bieniek
c0d0180918
Fix `final` asserts and $stop ( #7249 )
2026-03-12 13:09:54 -04:00
Geza Lore
4b53f5f978
Tests: Consolidate format specific t_trace_* tests ( #7216 )
...
Factor out test execution into t/trace_*_common.py, which defines
a 'run' functions. All related t_trace_*py tests call this function.
Behaviour is partially encoded in the file name, which must be of the
form: t_trace_complex_<variant>_<mode>_<format>*.py, where '<variant>'
determines tracing options (default/params/structs), '<mode>' is the
compilation mode (--cc/--sc), and '<format>' determines the trace format
(vcd/fst/saif).
The part of the test name after '<format>' does not influence the test
directly and can be free form. If used, explicit 'verilator_flags2' is
passed to the 'run' function.
2026-03-12 15:21:02 +00: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
1198ee919d
Commentary: Changes update
2026-03-12 07:22:33 -04:00
Christian Hecken
b3a1a15e2b
Fix vpi_put_value release on non-continuous signal ( #7231 ) ( #7241 )
2026-03-11 22:57:13 -04:00
Wilson Snyder
cbf8d97a76
Tests: Misc string format test improvements
2026-03-11 19:58:52 -04:00
Wilson Snyder
aca2c05ad9
Tests: Fix t_dump_json to not need sensitive golden file
2026-03-11 19:58:07 -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
Wilson Snyder
db9d782061
Commentary: Changes update
2026-03-11 07:10:41 -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
Veripool API Bot
1f67080a1f
Tests: Verilog format
2026-03-09 21:39:16 -04:00
Veripool API Bot
07ed6aef53
Tests: Verilog format
2026-03-08 18:26:40 -04:00
Christian Hecken
9c5f4e2483
Internals: Extend VerilatedVar to hold force control signal pointers ( #7217 )
2026-03-08 15:53:32 -04:00
Christian Hecken
0019c12242
Fix vpi_handle_by_name generated scope retrieval ( #7187 repair) ( #7214 )
...
Co-authored-by: Christian Hecken <christian.hecken@ibm.com>
2026-03-07 20:36:29 -05:00
Wilson Snyder
3097df46fa
Change `--converge-limit` default to 10000 ( #7209 ).
...
Fixes #7209 .
2026-03-07 09:05:37 -05:00
Wilson Snyder
67ced4715d
Tests: Fix t_json_only_debugcheck to not need sensitive golden file
2026-03-07 08:35:54 -05:00
Wilson Snyder
4d369e4262
Fix --debug-inputs for .vlt files
2026-03-07 08:01:27 -05:00
Veripool API Bot
cf965464a2
Tests: Verilog format
2026-03-07 08:00:45 -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
Wilson Snyder
c2d65c2e13
* Fix class extend references between queues ( #7195 ).
...
Fixes #7195 .
2026-03-05 18:04:22 -05: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
Veripool API Bot
4ff518de61
Verilog format
2026-03-04 20:12:10 -05:00
Christian Hecken
84f3cc4f48
Add VPI array indexing support in signal names ( #7097 ) ( #7187 )
2026-03-04 19:37:06 -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
Nick Brereton
44701201ac
Support inout inside SV interface ( #3466 ) ( #7134 )
2026-03-04 09:08:07 -05:00
jalcim
7cf539cf05
Add --func-recursion-depth CLI option ( #7175 ) ( #7179 )
2026-03-04 06:46:07 -05:00
Yilou Wang
3bc73cc768
Support constraint imperfect distributions ( #6811 ) ( #7168 )
2026-03-03 11:23:14 -05:00