Commit Graph

4934 Commits

Author SHA1 Message Date
Matthew Ballance 199cb3dc14 Increase dump coverage
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 23:35:45 +00:00
Matthew Ballance f81f93c898 Fix whitespace issues
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
github action 71bc885db5 Apply 'make format' 2026-04-05 21:10:49 +00:00
Matthew Ballance e710f1b6b3 Improve code coverage and add coverage report production to more tests
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance f1389497c1 Checkpoint on closing coverage holes
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance d5f8790d1c Combine/minimize cross and transition tests
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance 8b40d7a407 Update t_vlcov_covergroup to produce its own data instead of relying on a cached file
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance ae7258f365 Adjust code patterns based on PR feedback
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
github action 07db7608b1 Apply 'make format' 2026-04-05 21:10:49 +00:00
Matthew Ballance 7e87abb4fd Fix t_debug_emitv golden file: update while-loop emit after upstream unroll change
Upstream commit 7607f0e7f changed how while loops over queue.size() are
emitted, adding an __Vrepeat0 temporary variable.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance 5b3f5e3f75 Fix golden file: update BASICDTYPE 'logic' to 'bit' after upstream four-state cleanup
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance 9f4ba736ef Added verilator_coverage test for covergroups
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance 47d5f536bc Add coverage report output for covergroup
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
github action 73332329be Apply 'make format' 2026-04-05 21:10:49 +00:00
Matthew Ballance 2c371c88bd Update unsupported and clean up warnings
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance cbf6c64d05 Update format of unsupported messages for consistency
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:49 +00:00
Matthew Ballance ad89a6c8f4 Aligned with C++14 and fixed a couple non-ascii characters
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:48 +00:00
Matthew Ballance a30e729852 Refactor loops in V3Active ; add three tests to vlt_all, so they run with threading
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:48 +00:00
Matthew Ballance 1ec09f9d2d Remove low-value tests ; Rename tests to better-align with their purpose ; Move to using coverage.dat to assess correctness
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2026-04-05 21:10:48 +00:00
Matthew Ballance e5594e9c6c Fix constifyParamsEdit regression in visit(AstInsideRange*)
The original code called V3Const::constifyParamsEdit() in
V3Width::visit(AstInsideRange*) to fold negative bin bounds
(e.g., NEGATE(100) -> -100) for covergroup bins. Since
constifyParamsEdit uses m_required=true, it errored on any
non-constant expression -- breaking the upstream test
t_constraint_array_index_simple which uses a foreach loop
variable 'i' in an inside constraint expression.

Fix: Remove the unconditional constifyParamsEdit calls from
V3Width::visit(AstInsideRange*). Instead:
- In V3Width: when m_vup is null (covergroup bin context,
  not an expression context), use constifyEdit (m_required=false)
  to fold constant arithmetic before iterating children.
- In V3Covergroup: call constifyEdit at the two sites that
  cast InsideRange bounds to AstConst for bin expansion.

This moves the covergroup-specific concern to the right layer
(V3Covergroup) while keeping V3Width safe for all contexts.

Also update golden files for t_covergroup_trans_3value,
t_covergroup_trans_restart, and t_covergroup_with_sample_args_too_many_bad
whose line numbers shifted by 1 due to the SPDX copyright header
additions in the previous commit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:48 +00:00
Matthew Ballance 4c4d3e91bc Add missing SPDX-FileCopyrightText headers to covergroup test files
All new covergroup test files were missing the canonical
SPDX-FileCopyrightText line required by t_dist_copyright.
Add it above the existing SPDX-License-Identifier line in each file.
Also canonicalize t_covergroup_with_sample_args_too_many_bad.py to
use SPDX form instead of prose copyright comment.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:48 +00:00
Matthew Ballance ae10856ec0 Update golden files after rebase onto upstream/master
Upstream commit 07ed6aef5 'Tests: Verilog format' reformatted several
Verilog test files, shifting line/column numbers in compiler output.
Also pick up upstream's improved 'Too many arguments' error message
which now includes the declaration location.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-05 21:10:48 +00:00
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