Matthew Ballance
a18fdb1c4b
Restore t_covergroup_with_sample_args_too_many_bad test
...
This test was added upstream in a364704e3 and should not have been
deleted. The driver normalizes version strings (?v=X.Y -> ?v=latest)
and 'Exiting due to...' messages, so the upstream .out file is
compatible with our branch's error output as-is.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:48 +00:00
Matthew Ballance
4eb676cb49
Convert 'if' tests to assertion macros
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:48 +00:00
github action
7475dea9f3
Apply 'make format'
2026-04-05 21:10:48 +00:00
Matthew Ballance
06d34cc4cf
Cleaned up coverpoint-bin warning around 'excessive size'
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:48 +00:00
Matthew Ballance
bcf6e6ac72
Update debug_emitv to include covergroup constructs ; update emit of covergroup debug content
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:33 +00:00
Matthew Ballance
464be2c85b
Test clean-ups, resolve an internal error masked by the checking strategy, and add 'automatic' to remove warnings
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:33 +00:00
Matthew Ballance
affe776463
t_covergroup_with_sample_args_too_many_bad: remove redundant test
...
'sample' argument count checking is generic function/task behavior
already covered by t_func_bad and similar tests. Removing this test
eliminates fragility from upstream error message/caret changes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:33 +00:00
github action
83eb65a6c3
Apply 'make format'
2026-04-05 21:10:33 +00:00
Matthew Ballance
80502fd9ee
Correct indent on coverage tests ; add required test drivers ; back out CMakeLists pch change and adjust test that required it to no longer need it
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:33 +00:00
Matthew Ballance
ff9781fc73
Update golden file for covergroup fileline fix
...
The covergroup keyword fileline fix (using $<fl>1 instead of $<fl>2)
shifts error column from the name position to the 'covergroup' keyword.
Update the golden output for t_covergroup_in_class_duplicate_bad to match.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:33 +00:00
Matthew Ballance
07f959d31d
Refactoring node locations and enums ; Delete coverpoints after V3Covergroup so they don't accidentally hit the generators
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:32 +00:00
Matthew Ballance
6c443b7662
Rename funccov tests to covergroup
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:09:39 +00:00
Matthew Ballance
c749ff09b4
Refactoring before renaming tests
...
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:09:39 +00:00
github action
43bfd85dc0
Apply 'make format'
2026-04-05 21:08:58 +00:00
Matthew Ballance
20970c7dde
Add function coverage (funccov) and covergroup support
...
Implement functional coverage collection via covergroups, coverpoints,
and cross coverage bins. Introduces V3CoverageFunctional pass and
verilated_funccov.h runtime support.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:08:09 +00:00
Wilson Snyder
9f4546fcb9
Fix constraint 'with' in parameter classes ( #7375 )
2026-04-04 21:03:44 -04:00
Wilson Snyder
33493cf5b4
Add `+verilator+solver+file` ( #7242 ).
...
Fixes #7242 .
2026-04-04 17:26:43 -04:00
Wilson Snyder
2796294396
Fix string `inside` queue ( #7373 ).
...
Fixes #7373 .
2026-04-04 14:43:06 -04:00
Wilson Snyder
94f3e16a6c
Commentary: Changes update
2026-04-04 14:42:11 -04:00
Yilou Wang
adb48046c2
Fix parameter default comparison when value contains type cast ( #6281 ) ( #7369 )
...
Fixes #6281 .
2026-04-04 11:02:20 -04:00
Wilson Snyder
de8d3c9356
Commentary: Changes update
2026-04-03 20:16:23 -04:00
Yilou Wang
efd60df2be
Fix virtual interface select from sub-interface instance ( #7203 ) ( #7370 )
...
Fixes #7203 .
2026-04-03 19:04:10 -04:00
em2machine
e7a644a3fc
Fix functions in generate block resulting in "Broken link in node" ( #7236 ) ( #7367 )
...
Fixes #7236
2026-04-03 11:19:17 -04:00
Yilou Wang
56ed47ee7c
Fix false ASSIGNIN on interface input port connections ( #7365 )
...
* add oneline fix
* Apply 'make format'
* merge test and update 2 space indents
---------
Co-authored-by: github action <action@example.com>
2026-04-02 20:44:48 +02:00
Yilou Wang
1e5c93cc51
Fix virtual interface function calls binding to wrong instance ( #7363 )
2026-04-02 10:53:01 -04:00
em2machine
32672deb6f
Fix resolving default/nondefault type parameters ( #7171 ) ( #7346 )
...
Fixes #7171
2026-04-02 10:51:11 -04:00
Geza Lore
2e151c3b74
Do not unroll simple array assignments in V3Slice ( #7359 )
...
See also #5644
2026-04-01 22:35:29 +01:00
Yilou Wang
894f6c4c58
Fix virtual interface member trigger convergence ( #5116 ) ( #7323 )
2026-04-01 21:42:42 +01:00
Geza Lore
b4a0ca8ba6
Optimize Ast read references in Dfg directly ( #7354 )
...
Introduce a new DfgAstRd vertex, which holds an AstNodeExpr that is a
reference to a variable. This enables tracking all read references in
Dfg, which both enables more optimization, and allows inlining of
expressions in place of the reference more intelligently (e.g, when the
expression is only used once, and is not in a loop). This can get rid of
20-30% of temporary variables introduced in Dfg in some designs. Note
V3Gate later got rid of a lot of those, this is a step towards making
V3Gate redundant. The more intelligent expression inlining is worth ~10%
runtime speed on some designs.
2026-04-01 10:52:56 +01:00
Wilson Snyder
dbd4823323
Fix error on illegal nand/nor binary operators ( #7353 ).
...
Fixes #7353 .
2026-03-31 18:35:27 -04:00
Wilson Snyder
62ffe43a82
Fix port assignment to large arrays ( #6904 ).
...
Fixes #6904 .
2026-03-30 19:09:23 -04:00
Wilson Snyder
6aa1690745
Tests: Add t_inst_port_reverse ( #5877 )
2026-03-30 19:09:22 -04:00
Wilson Snyder
2458819794
Commentary: Changes update
2026-03-30 19:09:13 -04:00
Yilou Wang
04f410622b
Fix wait() hang when interface with combinational logic using process calls and VIF function ( #7342 )
2026-03-30 15:34:32 +01:00
Yilou Wang
bf453361f6
Support consecutive repetition [*N] in SVA properties ( #7311 )
2026-03-30 07:01:33 -04:00
Artur Bieniek
55958efbe1
Fix false sensitivity of signals to unrelated interface members
2026-03-30 09:42:51 +01:00
Wilson Snyder
be6780e44b
Tests: Add t_interface_twoports ( #5676 )
2026-03-29 21:02:12 -04:00
Wilson Snyder
d55790c91b
Tests: Add t_interface_update ( #2765 )
2026-03-29 20:52:29 -04:00
Wilson Snyder
86eb6f060f
Tests: Update t_disable_inside ( #6591 )
2026-03-29 20:34:19 -04:00
Wilson Snyder
600eb7ec86
Internals: Favor std::swap. No functional change.
2026-03-29 20:33:06 -04:00
Wilson Snyder
5036af3d37
Commentary: Refer to latest standard where can
2026-03-29 18:06:12 -04:00
Wei-Lun Chiu
092d3d4de0
Support map() method for associative and wildcard arrays ( #7344 )
2026-03-29 04:00:52 -04:00
Wilson Snyder
e0b4d5ad44
Fix lost `$stop` on implied assertion `$error` failures.
2026-03-28 10:57:59 -04:00
Wilson Snyder
8d109e85d0
Fix missing quotes on VPI error signal names
2026-03-27 21:44:11 -04:00
Wilson Snyder
087dae2a5d
Commentary: Changes update
2026-03-27 21:41:52 -04:00
Nick Brereton
f66df9e70e
Fix `disable iff` imply-delay statement linking ( #7337 )
2026-03-27 14:31:03 -04:00
Yilou Wang
ba9a7aaa66
Fix static initialization order for packages with class hierarchies ( #7324 )
2026-03-27 12:53:45 -04:00
Yilou Wang
55e5f01758
Support SVA goto repetition [->N] in concurrent assertions ( #7310 )
2026-03-27 10:31:15 -04:00
Geza Lore
f12cdac8da
Optimize muxes in DfgPeephole
2026-03-27 07:50:05 +00:00
Geza Lore
2759f2ab16
Optimize comparisons with identical operands in Dfg
2026-03-27 07:50:05 +00:00