Igor Zaworski
446bec3d1a
Fix event triggering ( #6932 )
2026-02-11 10:35:59 -08:00
Yilou Wang
e41436bd4a
Support inherited and nested pre/post_randomize callbacks ( #7049 ) ( #7053 )
2026-02-11 09:33:57 -08:00
Yilou Wang
554fcef627
Fix rand_mode()/constraint_mode() when used as function arguments ( #7051 ) ( #7055 )
2026-02-11 09:33:09 -08:00
Yilou Wang
996a4b6e1a
Fix constraint_mode()/rand_mode() in constructor being overwritten by init code ( #7054 )
2026-02-11 09:32:08 -08:00
Yilou Wang
84350859e0
Support System Functions in Constraint Blocks ( #7028 ) ( #7036 )
2026-02-11 05:19:25 -08:00
Pawel Kojma
5d12ae3a2f
Fix non-member identifiers used inside constraints ( #7033 )
2026-02-11 05:18:24 -08:00
Yilou Wang
22dc437dbb
Support std::randomize() for queue, dynamic array, and associative array variables ( #7044 )
2026-02-10 18:24:25 -08:00
Wilson Snyder
67bff893bf
Fix whitespace
2026-02-10 20:17:22 -05:00
Yilou Wang
2bb807a931
Fix Inline foreach constraints on dynamic arrays of class objects ( #7030 ) ( #7037 )
2026-02-10 15:22:31 -08:00
Geza Lore
a031dd1a22
Fix tracing without module inlining to match with inlining ( #7041 )
...
This is an attempt to generate an identical trace file scope hierarchy
both with and without -fno-inline. Primarily because it's needed for
testing in upcoming patch, but also improves consitency prior to #7001
2026-02-10 21:05:41 +00:00
Yilou Wang
925543676e
Fix rand_mode() on nested object variables causes Z3 solver error ( #7031 ) ( #7034 )
2026-02-10 13:59:09 -05:00
Yilou Wang
8791e6c5f2
Support constraint_mode() on static constraints ( #7027 ) ( #7038 )
2026-02-10 13:58:35 -05:00
Ryszard Rozak
6303eb45ce
Fix multidim dynamic array elements passed to ref argument ( #7023 )
2026-02-10 08:46:04 +01:00
Igor Zaworski
a660fa54a7
Fix unique constraint in derived class ( #7022 )
2026-02-09 09:56:38 -05:00
github action
a28bd5a085
Apply 'make format'
2026-02-09 03:48:11 +00:00
Leela Pakanati
e36838ad8e
Fix tristate enables for -fno-inline ( #7016 ) ( #7019 )
2026-02-08 22:47:09 -05:00
Wilson Snyder
5a236dd35d
Change INITIALSTATIC to also report on processes, per IEEE ( #7020 )
2026-02-08 20:47:12 -05:00
Wilson Snyder
ba194f3790
Tests: Avoid implied static variables, to avoid future warning
2026-02-08 18:20:28 -05:00
Wilson Snyder
9ba625225d
Internals: Minor cleanups preparing for initialization fixes. No functional change.
2026-02-08 17:54:04 -05:00
Wilson Snyder
8700617fae
Internals: Cleanup CRESET verilog and other misc fixes
2026-02-08 17:53:56 -05:00
Wilson Snyder
e12c62c070
Change JSON dumps to not include booleans that are false ( #6977 ).
...
Fixes #6977 .
2026-02-08 07:59:55 -05:00
Wilson Snyder
0c83594e1e
Fix variable conflict when multiple cells with unused input defaults
2026-02-07 18:11:55 -05:00
Wilson Snyder
bbb231dfe2
Internals: Minor cleanups preparing for initialization fixes. No functional change.
2026-02-07 14:16:12 -05:00
Geza Lore
bb0e1c8c61
Optimize temporary insertion for concatenations in Dfg ( #7013 )
...
Add a new Dfg pass 'pushDownSel'. This will try to move selects through
a tree of concatenations in order to eliminate temporary nodes holding
intermediate concatenation results. This can get rid of a lot of
variables when packed arrays are assigned in parts (e.g. bit-wise).
2026-02-07 18:06:12 +00:00
github action
abdac02b50
Apply 'make format'
2026-02-07 15:07:33 +00:00
Leela Pakanati
8922794088
Tests: Add test cases for interface array access with loop variable index ( #1418 tests) ( #7011 )
2026-02-07 10:06:37 -05:00
Igor Zaworski
dc26dd601d
Fix internal error - virtual interface not found ( #7010 )
2026-02-06 22:20:10 +00:00
Pawel Kojma
9a8538fafa
Support signed multiplication in constraints ( #7008 )
2026-02-06 10:14:54 -05:00
github action
60b52a4986
Apply 'make format'
2026-02-06 11:39:13 +00:00
Leela Pakanati
b14d65a787
Support modport expression syntax + nested ( #2601 ) ( #5581 ) ( #7005 )
2026-02-06 06:38:16 -05:00
Leela Pakanati
2215d01d6b
Fix hierarchical interface/modport issues ( #5941 ) ( #6997 )
2026-02-05 22:15:30 -05:00
Veripool API Bot
b82f6beffb
Verilog format
2026-02-05 17:45:24 -05:00
Wilson Snyder
9fab6bfcf0
Tests: Fix t_assert_elab_p.py reruns
2026-02-05 17:42:39 -05:00
Wilson Snyder
1adedd0bfa
Tests: Cover deassign
2026-02-05 12:57:26 -05:00
Geza Lore
4e9792c34c
Fix C++ types of non-inlined module ports ( #7002 )
...
We use special C++ types for ports, e.g. SystemC types in --sc mode, and native C arrays for unpacked arrays in --cc mode. These types are not substitutable for internal types, e.g. VlUnpacked, however all the runtime primitives expect internal types.
I think the intention was to use these special IO types only for top level ports, but the current implementation also uses them for the ports of all non-inlined modules. This means the output C++ will not compile if such a port is passed to a runtime primitive (e.g. array 'sort' as in the new test) or DPI import.
Changed to use the special IO types only on the top level ports.
Note these are likely still broken if attempting to invoke on a top level port (we might be saved by wrapTop, but later optimizations might eliminate the intermediary)
2026-02-05 14:49:07 +00:00
github action
55eaa64386
Apply 'make format'
2026-02-04 21:27:14 +00:00
Leela Pakanati
57c3b8e51b
Support nested interface as port connection ( #5066 ) ( #6986 )
2026-02-04 16:26:20 -05:00
Oleh Maksymenko
229a696ab8
Add decoded Verilog name in JSON output ( #6919 ) ( #6995 )
2026-02-04 07:08:33 -05:00
Wilson Snyder
1dd80996cd
Fix some error capitalization
2026-02-03 19:57:23 -05:00
Wilson Snyder
aaa5c5e857
Tests: t_dist_warn_coverage.py: Understand wildcards ( #6994 comment)
2026-02-03 19:51:23 -05:00
Christian Hecken
3c680ba5a4
Tests: Fix LCOV_EXCL matching in fully commented lines ( #6994 )
2026-02-03 19:03:43 -05:00
Krzysztof Bieganski
ad85d89817
Support `foreach` with nested dots ( #6991 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2026-02-03 08:44:18 -05:00
Wilson Snyder
76c4ae5683
Add back LICENSE file due to ( f4pga/actions#49 )
2026-02-02 19:34:10 -05:00
Wilson Snyder
bb979a00c8
Fix `$stacktrace` to decode through internal-c++filt ( #6985 ).
2026-02-02 19:01:24 -05:00
Wilson Snyder
9083b238e5
Tests: Fix execute file permissions. No test change.
2026-02-02 08:28:46 -05:00
github action
268f5c3367
Apply 'make format'
2026-02-02 03:38:19 +00:00
Leela Pakanati
b2fa3fb54e
Fix parameterized class typedef as interface type parameter ( #6983 ) ( #6984 )
2026-02-01 22:37:29 -05:00
Wilson Snyder
407fc74195
Internals: Use Var::isConst to allow constant substitution
2026-02-01 21:06:26 -05:00
Rodrigo Batista de Moraes
c1e343d9cf
Fix variable randomization to better differ by seed ( #6945 ) ( #6956 )
2026-02-01 14:53:33 -05:00
Wilson Snyder
a05cbd8382
Support structure initial values ( #6130 ).
...
Fixes #6130 .
2026-02-01 13:44:20 -05:00
Geza Lore
d3f608058f
Optimize expanded constant pool words ( #6979 )
...
Re-inline ConstPool entries in V3Subst that have been expanded into
word-wise accessed by V3Expand. This enables downstream constant folding
on the word-wise expressions.
As V3Subst now understands ConstPool entries, we can also omit expanding
straight assignments with a ConstPool entry on the RHS. This allows the
C++ compiler to see the memcpy directly.
2026-02-01 17:08:49 +00:00
Wilson Snyder
7ca113a84f
Fix non-inlined function return value clearing ( #6982 ).
2026-02-01 11:57:09 -05:00
Wilson Snyder
1b2e13a0d8
Tests: Improve t_uvm_hello.v
2026-02-01 11:42:32 -05:00
Wilson Snyder
b9b0bf2e19
Tests: Rename some long-named test, no test change
2026-02-01 11:39:33 -05:00
Geza Lore
bef709a235
Optimize wide word shifts by multiple of word size ( #6970 )
...
V3Expand wide SHIFTL and SHIFTR if the shift amount is know and is a
multiple of VL_EDATA_SIZE. This case results in each word requiring a
simple copy from the original, or store of a constant zero, which
subsequent V3Subst can then eliminate.
2026-02-01 05:07:57 +00:00
Wilson Snyder
07ce0ac2ea
Internals: Move CReset under Assign ( #6978 )
2026-01-31 21:27:36 -05:00
Geza Lore
d9234501e0
Optimize concatenations that produce unused bits in DFG ( #6971 )
...
Concatenations that are only used by Sel expressions that do not consume
some bits on the edges can be narrowed to not compute the unused bits.
E.g.: `{a[4:0], b[4:0]}[5:4]` -> `{a[0], b[4]}[1:0]`
This is a superset or the PUSH_SEL_THROUGH_CONCAT DFG pattern, which is
removed.
2026-01-31 17:28:14 +00:00
Geza Lore
f472c2da6e
Change metacomment extra underscore error to warning ( #6968 )
...
Used to throw a hard v3error on stray underscores in metacomments.
Issue a BADVLTPRAGMA that can be turned off instead.
2026-01-31 15:16:20 +00:00
Pawel Kojma
b9ef4a6c48
Add parsing of coverpoint identifier in place of covergroup range list ( #6961 )
2026-01-30 07:05:57 -05:00
Wilson Snyder
996ae35a1b
Fix associative array of events causes C++ compile error ( #6962 ).
2026-01-29 20:38:50 -05:00
Wilson Snyder
5547833dde
Add UNSUPPORTED error on IEEE complex ports ( #2844 partial)
2026-01-28 19:14:10 -05:00
Wilson Snyder
913cf07491
Improve converge-limit error message
2026-01-28 18:32:50 -05:00
Pawel Kojma
30e6cd9092
Fix accessing non-rand struct member in constraints ( #6960 )
2026-01-28 07:33:16 -05:00
Geza Lore
76949f00d3
Internals: make test-diff macOS compatibility fix - again
2026-01-28 11:05:27 +00:00
Geza Lore
7875552354
Internals: Add stats/dump of circular logic in scheduling ( #6953 )
2026-01-28 10:45:23 +00:00
Yangyu Chen
5b84635bde
Add VerilatedContext::useNumaAssign and set on threads() call ( #6954 )
2026-01-27 11:05:28 -05:00
Wilson Snyder
7c6c6a684b
Add SPDX copyright identifiers, and get 'reuse' clean. No functional change.
2026-01-26 20:24:34 -05:00
Todd Strader
67df517bec
Fix type assignments for arrays of parameter types ( #6955 )
2026-01-26 15:50:52 -05:00
Wilson Snyder
1b9f38f78f
Fix parameterized virtual interface references that have no model references ( #4286 ).
...
Fixes #4286 .
2026-01-25 14:25:42 -05:00
Geza Lore
2ddfcbed16
Internals: make test-diff macOS compatibility fix
2026-01-25 15:40:56 +00:00
Wilson Snyder
56a089af94
Tests: Update t_attr
2026-01-24 11:08:07 -05:00
Wilson Snyder
1e7198eabb
Tests: t_fork_join_none_stmt ( #5902 test)
2026-01-24 10:56:27 -05:00
Wilson Snyder
b456d903e2
Tests: Add t_inst_array_slice ( #3433 test)
2026-01-24 10:15:08 -05:00
Wilson Snyder
07b61d3745
Fix internal error when fork under always expression ( #6911 ).
2026-01-23 22:11:04 -05:00
github action
2737a22793
Apply 'make format'
2026-01-24 03:01:38 +00:00
Cameron Waite
567fba3695
Fix null pointer dereference in class member trigger expressions ( #6946 )
2026-01-23 22:00:43 -05:00
Todd Strader
bc3c5b32dd
Fix delayed initial assignment ( #6929 )
2026-01-23 12:53:40 -05:00
Artur Bieniek
a7db9ee32f
Add error when accessing a non-static class field from a static function ( #6948 )
2026-01-23 10:18:24 -05:00
Wilson Snyder
ddbcd66722
Support `extern module` as a forward-declaration that is ignored.
2026-01-22 19:00:26 -05:00
Wilson Snyder
86cd249816
Add instance module location helper when pin not found
2026-01-21 07:50:46 -05:00
Pawel Kojma
c4dcdeab9a
Add parsing of solve-before inside foreach ( #6934 )
2026-01-20 07:14:11 -05:00
Wilson Snyder
ac4f9f013e
Fix static call after covergroup ( #6916 repair)
2026-01-18 19:58:33 -05:00
Wilson Snyder
db9bd3a792
Fix clocking unsupported tristate assign error ( #6942 ).
...
Fixes #6942 .
2026-01-18 16:28:48 -05:00
Jose Drowne
3a080ef543
Add IEEE 4-state type lint checks ( #3645 partial) ( #6895 )
2026-01-18 11:00:25 -05:00
Wilson Snyder
b7382be0b6
Fix `--top-module` with underscores ( #6940 ).
2026-01-17 20:33:02 -05:00
Wilson Snyder
b5fdcdf745
Tests: Style updates
2026-01-17 14:35:17 -05:00
Veripool API Bot
98114428cb
Verilog format
2026-01-17 14:35:17 -05:00
Jose Drowne
12080dfcb1
Internals: Add AST nodes for tagged union parsing ( #6867 partial) ( #6881 )
2026-01-17 14:15:52 -05:00
github action
26ebb14c98
Apply 'make format'
2026-01-17 17:03:54 +00:00
Wei-Lun Chiu
3b6674386c
Support unbounded '$' in inside range expressions ( #6935 ) ( #6938 )
2026-01-17 12:03:00 -05:00
github action
f6532728f6
Apply 'make format'
2026-01-17 15:35:34 +00:00
emmettifelts
e6be548f72
Fix segfault after assignment pattern XOR error ( #6928 ) ( #6931 )
2026-01-17 10:34:36 -05:00
Wilson Snyder
913cf933e9
Fix segfault in missing extends ( #6903 ).
...
Fixes #6903 .
2026-01-16 19:57:23 -05:00
Srinivasan Venkataramanan
6fc9089a77
Support `unique` constraints (on 1D static arrays) ( #6810 ) ( #6878 )
2026-01-16 08:42:09 -05:00
Igor Zaworski
550cf4462d
Fix of dynamic scheduler temporary varable locations ( #6859 ) ( #6926 )
2026-01-15 06:53:00 -05:00
Christian Hecken
8b2144a9db
Fix memory leak in vpi_put_value and vpi_get_value
...
PR #6704 introduced the getForceControlSignals function to
verilated_vpi.cpp. It returns a pair of vpiHandles. These handles were
not released, causing a memory leak. This commit fixes this, in addition
to other minor changes for speed and readability that did not make it
into #6704 .
No functional change intended.
2026-01-15 01:08:27 +01:00
Pawel Kojma
3072907ea4
Fix unpacked array concatenation function arguments ( #6900 )
2026-01-14 16:23:55 -05:00
Artur Bieniek
4563501192
Fix error when calling non-static method ( #6916 )
2026-01-14 08:40:57 -05:00
Wilson Snyder
09ca7ea8d1
Fix emitting unbounded parameters ( #6912 ).
...
Fixes #6912 .
2026-01-12 22:56:23 -05:00
Wilson Snyder
8a24897c13
Fix `foreach` with mid-index empty commas ( #6910 ).
...
Fixes #6910 .
2026-01-12 19:17:17 -05:00
Wilson Snyder
823c53fb15
Fix assignment of queue from unpacked array ( #6906 ).
...
Fixes #6906 .
2026-01-12 18:32:24 -05:00
Wilson Snyder
a3d0f16185
Fix syntax error on unsupported defparam array ( #6915 ).
2026-01-12 17:34:10 -05:00
Wilson Snyder
db8635a8ef
Commentary: Changes update
2026-01-12 17:28:04 -05:00
Yilou Wang
31f8be0b85
Support detailed failure info for constraint violations ( #6617 ) ( #6883 )
...
* logging for the unsatisfied constraints
* Apply 'make format'
* fix teh quote error in the array indexing
* Apply 'make format'
* Len change for the hash for randomity when named assertion is used
* seperate name assertion and satisfied case
* Apply 'make format'
* simply comments and display info
* refine code and fix protect case
* format
* update display in test and .out file
* add an enable flag and warning type, add a protect_id version test and update out files
* Apply 'make format'
* simplify some comments
* update out file, ready to be merged.
* update .py file to set the hash key solid
* rename and reformate the warning message to follow the verilator style
* add a nowarn test
* Apply 'make format'
* ordering
---------
Co-authored-by: Udaya Raj Subedi <075bei047.udaya@pcampus.edu.np>
Co-authored-by: github action <action@example.com>
2026-01-12 15:53:49 +01:00
Wilson Snyder
703c82cb3d
Tests: Check and fix ascending uvm_hdl_read/deposit
2026-01-11 05:08:57 -05:00
Wilson Snyder
54b130e43f
Add check for automatic variable in continuous assignment LHS
2026-01-10 18:54:27 -05:00
Wilson Snyder
8f0e4be643
Tests: Pass force/release through UVM DPI tests
2026-01-10 04:32:23 -05:00
Veripool API Bot
6de8632c28
Verilog format
2026-01-10 04:11:45 -05:00
Wilson Snyder
bc5b120156
Tests: Add include warnings to t_dist_warn_coverage
2026-01-10 04:08:08 -05:00
Christian Hecken
338afff23c
Support vpi_put/vpi_get forcing of signals ( #5933 ) ( #6704 ).
2026-01-10 03:48:46 -05:00
Wilson Snyder
e5b94046aa
Tests: t_lint_width.v update
2026-01-09 19:31:35 -05:00
Yutetsu TAKATSUKASA
b926fcb762
Improve signedness of packed array ( #6901 ) ( #6902 )
...
* Tests: Add a test whether signedness of a packed array is properly implemented.
* Fix signedness of a packed array when named type is not used.
* Fix signedness of the entire packed array.
2026-01-10 09:06:37 +09:00
Pawel Kojma
d664aec8b8
Fix segfault in V3Slice ( #6899 )
2026-01-10 06:15:01 +09:00
Wilson Snyder
3b1a7af74d
Fix WIDTHEXTEND suppression on add/sub with single-bit signal.
2026-01-09 00:25:12 -05:00
Wilson Snyder
b0fdea5535
Improve error message
2026-01-09 00:09:28 -05:00
Bartłomiej Chmiel
7e3cd8af65
Fix tracing signals with escaped dots in names ( #6897 )
2026-01-08 15:10:19 -05:00
Ryszard Rozak
97d5844f2e
Support dynamic array elements in std::randomize ( #6896 )
2026-01-08 09:02:28 -05:00
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