Wilson Snyder
c75fb4cdae
Improve format of runtime errors, especially DIDNOTCONVERGE
2026-01-08 01:01:54 -05:00
Ryszard Rozak
da14e7c4bb
Fix `disable iff` in simple properties ( #6890 )
2026-01-07 07:02:52 -08:00
Luca Colagrande
112e1e3752
Fix overlapping case item expressions ( #6825 ) ( #6886 )
2026-01-06 15:07:25 -05:00
Yangyu Chen
2ba96536e6
Add VERILATOR_NUMA_STRATEGY environment variable ( #6826 ) ( #6880 )
...
Signed-off-by: Yangyu Chen <cyy@cyyself.name>
2026-01-06 10:20:57 -05:00
Igor Zaworski
d5784b8cf2
Trigger virtual interfaces in proper place ( #6844 )
2026-01-06 07:15:33 -05:00
Veripool API Bot
ff73e117e6
Verilog format
2026-01-05 22:59:11 -05:00
Wilson Snyder
5efea48358
Tests: Apply t_dist_warn_coverage on include
2026-01-05 22:55:53 -05:00
Matthew Ballance
8c977133c6
Fix use-after-free error ( #6846 )
2026-01-05 20:06:42 -05:00
Jakub Wasilewski
72a6da5ac8
Support complex expressions as std::randomize arguments ( #6860 )
2026-01-05 14:37:36 -05:00
Yilou Wang
7023f38d12
Fix VarRef lookup for module-level variables ( #6741 ) ( #6882 )
2026-01-05 10:39:22 -05:00
Jose Drowne
883ff01d21
Tests: Add self-checking tests for tagged union features ( #6867 partial) ( #6869 )
2026-01-04 11:22:52 -04:00
Iztok Jeras
e01f0f5e67
Tests: Add interface_array_parameter_aggregate_access ( #6873 )
2026-01-01 11:16:47 -05:00
Veripool API Bot
9e466fe5c7
Verilog format
2026-01-01 11:04:57 -05:00
Ryszard Rozak
cc11ff8c53
Fix dynamic array elements passed to ref argument ( #6877 )
2026-01-01 10:21:09 -05:00
em2machine
c388e793e0
Fix MULTIDRIVEN with task and default driver ( #4045 ) ( #6858 )
2026-01-01 10:20:21 -05:00
Wilson Snyder
40cf3c4b16
Remove deprecated `--make cmake`.
2026-01-01 09:27:20 -05:00
Wilson Snyder
a7b80966ec
Remove `--xml-only`.
2026-01-01 09:23:05 -05:00
Wilson Snyder
13327fa9c0
Copyright year update.
2026-01-01 07:22:09 -05:00
Wilson Snyder
4080284e53
Fix warning lint directive ordering and consistency ( #4185 ) ( #5368 ) ( #5610 ) ( #6876 ).
2025-12-30 20:31:34 -05:00
Wilson Snyder
2025b81614
Internals: Refactor V3Error, and handle UNDRIVEN/UNSUPPORTED/WIDTH consistently ( #6874 )
2025-12-30 07:08:25 -05:00
Kaleb Barrett
aa94219531
Support vpiSigned ( #6868 ) ( #6870 )
2025-12-29 20:12:19 -05:00
Wilson Snyder
2e394c3c04
Internals: Refactor some V3Error code handling and add tests. No functional change intended.
2025-12-29 18:17:24 -05:00
Wilson Snyder
4775399716
Commentary: spelling
2025-12-28 21:30:16 -05:00
Wilson Snyder
a0798eb838
Tests: Add t_uvm_dpi not forceable check
2025-12-28 14:27:40 -05:00
Wilson Snyder
2318adabd3
Fix JSON output case statements ( #6733 ).
2025-12-26 22:43:06 -05:00
Wilson Snyder
7a2b20cff3
Fix formatting of %p to be spaceless
2025-12-26 21:45:52 -05:00
Wilson Snyder
b50e8bb9c1
Internals: Add '--debug-runtime-timeout'
2025-12-26 12:59:35 -05:00
Wilson Snyder
397e64903c
Fix typedef `::` class reference error ( #6862 ).
2025-12-24 10:01:46 -05:00
Wilson Snyder
9eba7bcd91
Tests: Commentary
2025-12-23 20:50:18 -05:00
Wilson Snyder
1b93033690
Add `--quiet-build` to suppress make/compiler informationals.
2025-12-23 19:21:42 -05:00
Wilson Snyder
3f4fe73191
Tests: Indent fixes
2025-12-23 19:20:36 -05:00
Krzysztof Bieganski
a2fcd37c08
Fix unsupported `if` virtual interface warning ( #6558 ) ( #6861 )
2025-12-23 10:12:34 -05:00
Wilson Snyder
742c0b134c
Tests: Update t_disable_task_unsup ( #6853 partial)
2025-12-21 21:26:16 -05:00
Wilson Snyder
f6b966ed16
Fix `randc` on extended class ( #6852 ).
2025-12-21 19:56:55 -05:00
Wilson Snyder
4201450a8a
Fix class reference throwing cannot detect changes error ( #6851 ).
2025-12-21 18:44:55 -05:00
Wilson Snyder
ef5ca74e94
Tests: Better handle multiline statements in t_dist_warn_coverage
2025-12-21 16:15:33 -05:00
Wilson Snyder
a6f608c616
Tests: Add t_rand_stability_class
2025-12-21 15:28:10 -05:00
Jose Drowne
c0a0f0dab9
Optimize inlining small C functions and add `-inline-cfuncs` ( #6815 )
2025-12-21 13:14:50 -05:00
github action
e6877e83fd
Apply 'make format'
2025-12-21 13:59:15 +00:00
Thomas Aldrian
361ab194ff
Internals: Modport expression parsing and tests ( #2601 partial) ( #6848 )
2025-12-21 08:58:21 -05:00
Wilson Snyder
a64b083b2a
Fix JSON missing `signed` indication ( #6845 ).
2025-12-20 22:11:09 -05:00
Wilson Snyder
2c156d6655
Tests: Reformat some recent tests to mostly verilog-format standard. No test functional change.
2025-12-20 21:46:43 -05:00
Wilson Snyder
ffa87540cc
Fix randcase under fork ( #6843 ).
2025-12-20 21:25:01 -05:00
Geza Lore
f990dd747e
Change metacomments to not enable warnings disabled in control file ( #6836 ) ( #6842 )
...
Track the location based message/feature enable bits separately for code
and control file directives. A message/feature is disabled if disabled
either in the control file, or in code directives/metacomments. That is,
enabled only if both agree should be enabled.
2025-12-20 06:33:46 -05:00
em2machine
3ceac0b37e
Fix parameterized class module parameters ( #6754 ) ( #6834 )
2025-12-19 12:57:15 -05:00
Pawel Kojma
5244766b7b
Support reduction or in constraints ( #6840 )
2025-12-19 12:37:20 -05:00
Oleh Maksymenko
a098e4894f
Fix JSON dump missing output ports ( #6751 ) ( #6831 )
2025-12-19 07:30:33 -05:00
Wilson Snyder
c2c00888d6
Fix firing array selects of events ( #6829 ).
2025-12-18 20:45:22 -05:00
Geza Lore
04a7b31b84
Fix false IMPLICITSTATIC on localparam ( #6835 )
2025-12-18 12:51:31 +00:00
Yilou Wang
41937ecbe4
Fix member select of variable without randmode ( #6800 ) ( #6833 )
2025-12-18 06:49:04 -05:00
Wilson Snyder
b90865a08a
Change `--lint-only` and `--json-only` to imply `--timing` ( #6790 ).
2025-12-17 19:24:43 -05:00
Wilson Snyder
12ff481689
REVERT 612237b7: Optimize trace code for faster compiles on repeated types ( #6707 ) ( #6832 partial).
2025-12-17 17:37:35 -05:00
Todd Strader
d10e841b56
Skip properties for expression coverage ( #6830 )
2025-12-17 13:51:40 -05:00
Yangyu Chen
bd38775ad2
V3DfgPasses: Optimize mux with UInt To OneHot ( #6822 )
...
Signed-off-by: Yangyu Chen <cyy@cyyself.name>
2025-12-17 12:07:21 -05:00
em2machine
6f43ad8607
Fix type deduction for variable parameterized classes ( #6281 ) ( #6813 )
2025-12-17 08:08:44 -05:00
github action
fe5d6b213c
Apply 'make format'
2025-12-17 02:18:36 +00:00
Wilson Snyder
7e5c5d677f
Tests: Remove old benchmarksim, should use rtlmeter instead
2025-12-16 21:17:27 -05:00
Thomas Dybdahl Ahle
5115be6e6b
Fix duplicate name error with interface initial blocks ( #6804 ) ( #6805 ).
2025-12-16 20:57:58 -05:00
Wilson Snyder
41c4f948fe
Support assert under assert ( #6146 ).
2025-12-16 20:45:31 -05:00
Luca Colagrande
a9ef4b3ff1
Fix nested struct within parameter port list ( #6818 ) ( #6824 )
2025-12-16 18:08:49 -05:00
Todd Strader
35dcf70f48
Optimize trace code for faster compiles on repeated types ( #6707 )
2025-12-16 17:52:00 -05:00
Dan Ruelas-Petrisko
394d9cf168
Support `-libmap` ( #5891 partial) ( #6764 )
2025-12-16 11:21:46 -05:00
Wilson Snyder
ef3fdbdcba
Tests: Favor --binary. No test change.
2025-12-16 08:14:25 -05:00
Geza Lore
47a4f7fb9b
Improve reusability of --dump-inputs output ( #6812 )
2025-12-16 11:08:19 +00:00
Ryszard Rozak
25f72e4305
Support force assignments to unpacked array elements of simple types (partial #4735 ) ( #6787 )
2025-12-16 08:35:59 +01:00
Krzysztof Bieganski
7e67f73844
Fix process reference giving no return statement error ( #6767 ) ( #6823 )
2025-12-15 18:09:45 -05:00
Alex Solomatnikov
8da8ca4203
Fix error on resized lvalues with warning suppressed ( #6497 ) ( #6816 )
2025-12-15 06:49:32 -05:00
Wilson Snyder
dc00bf2484
Fix 'void(' mis-throwing assertion
2025-12-13 21:43:27 -05:00
Wilson Snyder
5634795140
Improve message on cast assertion failure.
2025-12-13 20:51:13 -05:00
em2machine
aff501f5c4
Fix resolution of specialized typedefs ( #6754 ) ( #6808 )
2025-12-12 15:20:15 -05:00
em2machine
2995748d46
Fix parameterized class function ( #6659 ) ( #6802 )
2025-12-12 04:17:08 -08:00
Geza Lore
0901c91b45
Tests: Fix t_dist_attributes_bad ( #6801 )
2025-12-12 02:59:01 -08:00
Wilson Snyder
b7bc6c3c65
Tests: clang-format DPI and remove commented header
2025-12-11 21:07:00 -05:00
Yilou Wang
f097e8a34e
Fix write variable placement for global constraints ( #6740 ) ( #6750 ) ( #6797 )
2025-12-11 14:16:34 -05:00
Geza Lore
cfd22a95e2
Tests: Fix malloc.h test includes on macOS ( #6795 partial) ( #6792 )
...
Replace 'malloc.h' with the standard 'stdlib.h'.
2025-12-11 11:38:14 -05:00
Geza Lore
5bb98187fc
Tests: Fix t_vpi_hierarchy_clear on macOS ( #6793 )
2025-12-11 15:23:03 +00:00
Geza Lore
af1be26b96
Fix O(n*2) analysis in const-bit-op-tree ( #6791 )
...
Note this might miss some cases where a sub-tree within an And/Or/Xor
tree is optimizeable, but not the whole tree, but in practice this seems
to work better than the alternative of keeping a set of failed nodes and
bail early.
2025-12-11 14:32:25 +00:00
em2machine
afc4bed0f8
Fix generate function(s) inside of generate blocks ( #1011 ) ( #6789 )
2025-12-10 20:53:19 -05:00
Wilson Snyder
f9f16b438f
Tests: Imply --lint-only with test.lint()
2025-12-10 19:52:51 -05:00
Pawel Kojma
37318ab2bd
Fix input sampling of clocking block signals ( #6788 )
2025-12-10 10:59:08 -05:00
Aliaksei Chapyzhenka
3b0db630c1
Support SystemC time resolution with step 10/100 ( #6633 ) ( #6715 )
2025-12-09 19:34:29 -05:00
Wilson Snyder
075d624b29
Add SUPERNFIRST error on super.new on non-first statement ( #6784 ).
2025-12-09 19:22:59 -05:00
Ryszard Rozak
0f355c717e
Fix `disable iff` in simple properties ( #6783 )
2025-12-09 07:18:32 -05:00
Wilson Snyder
db2099a4dc
Add `-Wno-vla-cxx-extension` CLang flag, and UVM DPI tests ( #6782 )
2025-12-09 07:15:28 -05:00
Wilson Snyder
a3f913c5b1
Fix randomize call in parameterized class
2025-12-08 20:26:53 -05:00
Wilson Snyder
29ae520e69
Fix class param static not found again error ( #6768 ).
2025-12-08 20:11:28 -05:00
Wilson Snyder
bd87dfc579
Internals: Add --debug-exit-elab; remove --debug-exit-uvm*
2025-12-08 18:02:46 -05:00
em2machine
d0a5da2445
Fix typedef derived from type defined inside interface ( #3441 ) ( #6776 )
2025-12-08 15:36:21 -05:00
Geza Lore
7e55c62cac
Improve combinational cycle fixup in Dfg ( #6744 ) ( #6746 )
...
Now that we have an efficient algorithm to analyse which bits in a
combinational cycle are not dependent on the cycle, can simplify the
cycle fixup algorithms. Remove FixUpSelDrivers: this was a heuristic
to save on the expensive independent bits analysis, but itself can
cause a performance problem on certain inputs that result in a large
number of attempted fixups. Doing this simplifies the driver tracing
algorithm, and because we now only attempt to trace drivers that are
known to be independent of the cycles, it should always succeed...
Unless of course there is a mismatch between the independent bit
analysis ant the driver tracing algorithm. In such case (when we managed
to prove independence, but then fail to trace a driver), we will crash,
which is still easier to sv-bugpoint than a performance bug.
Fixes #6744
2025-12-08 18:43:21 +00:00
Geza Lore
1baa832efc
Fix reordering of function body inlined on RHS of <= NBA ( #6780 )
2025-12-08 18:42:52 +00:00
Christian Hecken
9a23711ff9
Fix stale pointers in VerilatedImpData::m_hierMap ( #6726 )
2025-12-07 15:42:29 -05:00
Wilson Snyder
ae480c5f76
Fix enum item references in class extends with parameters.
2025-12-07 15:26:52 -05:00
Wilson Snyder
8130fed777
Fix pre/post_randomize on extended classes ( #6467 ).
2025-12-07 14:14:48 -05:00
Wilson Snyder
ba9d6df20c
Fix class-in-class extends with parameters ( #6773 ).
2025-12-07 13:38:25 -05:00
Wilson Snyder
4b02e32314
Fix DPI under param class ( #6733 partial)
2025-12-07 13:30:54 -05:00
Matthew Ballance
0e03ab2a57
Fix crash when super.new() called without a base class ( #6772 )
2025-12-06 18:08:51 -05:00
Wilson Snyder
040484cc3f
Fix extern function that returns parametrized class ( #4924 ).
2025-12-06 16:16:06 -05:00
Geza Lore
5278f42025
Fix Dfg assertion on out of bounds selects
2025-12-06 15:31:27 +00:00
em2machine
c2cba8bfc6
Fix localparam type assignment from interface type parameters ( #6637 ) ( #6732 )
2025-12-06 09:42:59 -05:00
github action
ba3794a495
Apply 'make format'
2025-12-06 14:12:22 +00:00
Dan Ruelas-Petrisko
8c252952db
Support `config` instance clauses ( #5891 partial) ( #6745 )
2025-12-06 09:11:20 -05:00
Geza Lore
18dd44e970
Fix --lib-create with multi-bit clocks ( #6759 )
2025-12-05 15:21:35 +00:00
Geza Lore
df7726c40d
Fix Dfg reusing volatile variables
...
Forceable/externally written variables cannot be used as the canonical
result variable for a Dfg value as the variables value can be
inconsistent with its Dfg drivers (e.g. when forced).
2025-12-05 14:12:36 +00:00
Wilson Snyder
2f4b178957
Support parsing only of covergroup.option.option_name
2025-12-04 21:55:55 -05:00
Ryszard Rozak
f2c2daa017
Throw UNSUPPORTED on force / release statements with complex select expressions ( #6755 )
2025-12-04 14:06:47 +01:00
Yilou Wang
1fc86fd2f1
Fix randomize called within func/task ( #6144 ) ( #6753 )
...
Co-authored-by: Udaya Raj Subedi <075bei047.udaya@pcampus.edu.np>
2025-12-04 07:18:07 -05:00
Yilou Wang
22cd9bcadc
Support rand_mode in global constraint gathering ( #6740 ) ( #6752 )
2025-12-04 07:16:03 -05:00
Wilson Snyder
7957701db8
Suppress unsupported for unused constant sequences
2025-12-03 21:23:48 -05:00
Matthew Ballance
3fc70b61d0
Fix internal fault when cross-class calling with DPI ( #6735 ) ( #6742 )
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2025-12-02 22:05:59 -05:00
Wilson Snyder
9a1dba357e
Fix `randsequence return` inside function
2025-12-02 17:54:40 -05:00
Yilou Wang
e25c66de07
Support complex std::randomize patterns ( #6736 ) ( #6737 )
2025-12-01 16:26:16 -05:00
Wilson Snyder
b9b6eb61d9
Support randsequence ( #6131 )
2025-11-30 09:04:42 -05:00
Geza Lore
35615c268b
Fix Dfg independent bits analysis performance ( #6731 ) ( #6743 )
...
This removes a factor N from DfgBreakCycles, by doing the necessary data
flow analysis for the entire graph up front, and resulting the result for
all subsequent cycle fixups in the current iteration.
Fixes #6731
2025-11-29 19:01:22 +00:00
Wilson Snyder
287d8aef9e
Fix duplicate member on interface always
2025-11-29 10:24:37 -05:00
Jonathan Drolet
f2e05bc0b7
Support unpacked struct in localparam ( #6053 partial) ( #6708 )
2025-11-27 23:17:18 +04:00
Artur Bieniek
2c5ff3f63f
Fix fork scheduling semantics ( #6730 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-11-26 15:52:53 +03:00
Yilou Wang
f4654a451b
Support array reference arguments into 'std::randomize()' ( #6384 ) ( #6719 )
2025-11-26 15:50:24 +03:00
Wilson Snyder
8293a8d035
Fix multitop cross references ( #6699 ).
2025-11-26 06:09:29 -05:00
Geza Lore
7cfe9b5356
Fix --prof-exec using --lib-create
2025-11-25 10:08:03 +00:00
Christian Hecken
c267a67f68
Tests: Fix make_main traceEverOn after eval ( #6727 )
2025-11-24 07:37:49 -05:00
Wilson Snyder
201416a0c7
Tests: Misc cleanups
2025-11-23 17:14:44 -05:00
Geza Lore
6ab8d56993
Optimize combinational loops through sign extension ( #6724 )
2025-11-23 19:26:51 +00:00
Wilson Snyder
07056b11f5
Tests: add driver.py test.priority settings ( #6725 )
2025-11-23 11:57:08 -05:00
Geza Lore
6a83112380
Internals: Fix minor macOS issues
2025-11-23 11:04:51 +00:00
Dan Ruelas-Petrisko
9346b98cb6
Support `config` cell clauses ( #6717 )
2025-11-22 20:17:17 -05:00
Michael Bikovitsky
9632c614be
Fix X handling in UDPs ( #6723 )
2025-11-22 20:09:49 -05:00
Wilson Snyder
087ca15138
Support clocking output delay `1step` ( #6681 ).
2025-11-22 17:40:40 -05:00
Wilson Snyder
44102de362
Tests: Rename control files to .vc. No test function change.
2025-11-22 12:09:22 -05:00
Geza Lore
7c09985695
Tests: Fix t_dpi_arg_inout_unpack
2025-11-22 14:44:20 +00:00
Wilson Snyder
6bba9f6c40
Internals: Defer interface typedefs, and add more tests ( #3441 tests)
2025-11-21 19:42:22 -05:00
Igor Zaworski
98d0eac149
Fix of deleting linked node in V3Randomize ( #6718 )
...
Signed-off-by: Igor Zaworski <izaworski@internships.antmicro.com>
2025-11-21 07:07:50 -05:00
Jakub Wasilewski
0b8c369740
Add `sc_biguint` pragma ( #6712 )
2025-11-20 17:08:59 -05:00
github action
0703159dbc
Apply 'make format'
2025-11-20 11:39:49 +00:00
Dan Ruelas-Petrisko
a4e901135b
Support `config` default liblist ( #6714 )
2025-11-20 06:38:46 -05:00
Dan Ruelas-Petrisko
7edf6d4749
Support `--top` specifying `config` name ( #6710 )
2025-11-19 20:23:02 -05:00
Yilou Wang
00988aed70
Support General Global Constraints ( #6709 ) ( #6711 )
2025-11-19 11:08:42 -05:00
Christian Hecken
edb84f3776
Tests: Add --gdbsim to iverilog with use_libvpi ( #6701 )
...
Co-authored-by: Christian Hecken <christian.hecken@ibm.com>
2025-11-17 07:29:45 -05:00
Christian Hecken
5ef235b5ef
Tests: Add v_flags, XRUN define to xrun run flags ( #6703 )
2025-11-17 05:50:02 -05:00
Wilson Snyder
e61012e30d
Improve class extends error format
2025-11-16 21:00:13 -05:00
Wilson Snyder
eb6ce0799c
Tests ( #6698 testcase only)
2025-11-16 17:16:21 -05:00
Wilson Snyder
03e5c3b2ff
Tests: Reindent some tests. No functional change.
2025-11-16 17:13:01 -05:00
Jean-Nicolas Strauss
6454a8802e
Fix stream operator widening ( #6693 ) ( #6697 )
2025-11-15 22:52:52 -05:00
Yilou Wang
048c97f0ae
Support `std::randomize(){...}` ( #4706 ) ( #6573 )
2025-11-14 14:32:01 -05:00
Ryszard Rozak
f32095dd17
Support constexpr cycle delay in sequences ( #6691 )
2025-11-14 13:48:46 +01:00
Pawel Kojma
0dce8feead
Support parsing of dotted bins_expression ( #6683 )
2025-11-14 06:41:46 -05:00
Geza Lore
43975bcbdd
Optimize $past delayed variable reuse ( #6689 )
...
As the TODO in the original code suggested, we can re-use delayed values
of expressions if they appear in multiple $past calls.
2025-11-13 17:04:50 +00:00
Geza Lore
a1056c6ae9
Add `-param`/`-port` options to `public_flat*` control directives ( #6685 )
2025-11-13 06:59:02 -05:00
Wilson Snyder
67094f6a88
Tests: Disable t_udp_sequential until fix ( #6056 workaround)
2025-11-12 18:52:17 -05:00
Wilson Snyder
7db8bc84aa
Tests: Add more 'config' unsupported tests ( #5891 partial)
2025-11-12 18:37:09 -05:00
Geza Lore
158f51fb54
Optimize functions reading external parameters as pure ( #6684 )
2025-11-12 08:27:42 -05:00