Geza Lore
838b8a2bec
Internals: Remove dead code, fix or sign off coverage
...
Remove/fix/signoff uncontroversial code coverage holes. Also added a
couple TODOs that should be investigated at some point
2025-10-08 08:24:06 +01:00
Wilson Snyder
1a8f9f0483
Improve `lint_off` to allow multiple messages and comments ( #2755 partial).
2025-10-07 22:49:42 -04:00
Wilson Snyder
2631af977a
Tests: Update t_lint_historical.v
2025-10-07 22:44:39 -04:00
Wilson Snyder
165622a9e9
Add NORETURN warning on functions without return values ( #6534 ).
2025-10-07 21:06:11 -04:00
Wilson Snyder
f979e459e8
Add error on ranges with tristate values ( #6534 ).
2025-10-07 20:36:50 -04:00
Wilson Snyder
bfe39ce5bc
Fix `--trace-max-width` and increase to 4096. ( #2385 ).
2025-10-07 18:50:31 -04:00
Wilson Snyder
717667034b
Fix loop exits on $finish
2025-10-06 19:19:15 -04:00
Wilson Snyder
5229ce8660
Fix error on circular structure typedef
2025-10-06 18:45:56 -04:00
Bartłomiej Chmiel
9f5d22b21f
Fix parsing of `eventually[]` and pexpr memory leaks ( #6530 )
...
* Fix parsing of eventually[]
* Fix parser memory leaks for pexpr
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2025-10-06 15:42:40 +02:00
Wilson Snyder
f09c30df35
Internals: Refector to create single V3Number::emitC. Fix some double emit issues ( #6528 ).
2025-10-04 07:23:13 -04:00
Todd Strader
defe282fe8
Fix always_ff on constant ( #6519 )
2025-10-03 13:16:12 -04:00
Geza Lore
ce0a05691b
Internals: Improve coverage flow ( #6526 )
...
See addes "Code coverage" section in docs/internals.rst
2025-10-03 17:18:24 +01:00
Geza Lore
62dbbbba85
Internals: Rename --enable-asan to --enable-dev-asan and related
2025-10-03 12:26:48 +01:00
Ryszard Rozak
2c74765246
Fix find_index methods of associative arrays ( #6525 )
...
Signed-off-by: Ryszard Rozak <rrozak@antmicro.com>
Co-authored-by: Nikolai Kumar <nkumar@mips.com>
2025-10-02 12:05:24 -04:00
Bartłomiej Chmiel
cb5c56dac4
Internals: fix assertion type dumping ( #6523 )
2025-10-02 12:03:45 -04:00
Geza Lore
4d518873d0
Fix stray net delay in parser
...
Fixes #6500
2025-10-01 10:19:39 +01:00
Szymon Gizler
e21c4fbbb5
Fix .vlt public_flat* and others to support long identifier names ( #6516 )
2025-09-30 16:55:11 -04:00
Ryszard Rozak
09518ee207
Support aliases with more operands ( #6501 )
2025-09-29 13:23:51 -04:00
Geza Lore
603f4c615a
Improve Loop unrolling ( #6480 ) ( #6493 )
...
This patch implements #6480 . All loop statements are represented using
AstLoop and AstLoopTest.
This necessitates rework of the loop unroller to handle loops of
arbitrary form. To enable this, I have split the old unroller used for
'generate for' statements and moved it into V3Param, and subsequently
rewrote V3Unroll to handle the new representation. V3Unroll can now
unroll more complex loops, including with loop conditions containing
multiple variable references or inlined functions.
Handling the more generic code also requires some restrictions. If a
loop contains any of the following, it cannot be unrolled:
- A timing control that might suspend the loop
- A non-inlined call to a non-pure function
These constructs can change the values of variables in the loop, so are
generally not safe to unroll if they are present. (We could still unroll
if all the variables needed for unrolling are automatic, however we
don't do that right now.)
These restrictions seem ok in the benchmark suite, where the new
unroller can generally unroll many more loops than before.
2025-09-29 15:25:25 +01:00
Igor Zaworski
83f4db956b
Fix side effects when using select ( #6460 )
2025-09-29 08:20:54 -04:00
Wilson Snyder
bdae48f6ae
Optimize duplicate 'if' and '?:' conditions ( #3807 ) ( #6495 )
2025-09-29 08:18:54 -04:00
Wilson Snyder
3b049ab9ee
Tests: Add t_lint_always_comb_automatic ( #2862 )
2025-09-28 21:23:15 -04:00
Wilson Snyder
21b42c4463
Fix LATCH warning with CASEINCOMPLETE ( #3301 ).
2025-09-28 21:13:42 -04:00
Wilson Snyder
ca0a679413
Format
2025-09-27 20:59:44 -04:00
Wilson Snyder
a7e6efb4c0
Internals: Some prep from branch towards multitrace ( #5813 prep)
2025-09-27 20:54:26 -04:00
Wilson Snyder
7ef3b808ea
Fix false BLKSEQ on non-edged sensitivity list ( #6492 ).
2025-09-27 20:50:32 -04:00
Wilson Snyder
b3350a4f3b
Add error on `virtual new` ( #6486 ).
2025-09-26 21:23:40 -04:00
Wilson Snyder
1761622e14
Fix unused parameterized class causing internal error ( #4013 ).
2025-09-26 20:50:47 -04:00
Ryszard Rozak
500312c050
Support for simple alias statements ( #6339 )
2025-09-26 15:19:48 +02:00
Wilson Snyder
4ad1dde723
Internals: Emit newlines for AstCStmt automatically. No functional change intended.
2025-09-26 08:25:47 -04:00
Wilson Snyder
21dbdbf69d
Tests: Auto-skip when not in root repo
2025-09-25 21:08:24 -04:00
Wilson Snyder
269476df6e
Add FUNCTIMCTL now as a named error, so can disable ( #6385 ).
2025-09-25 19:19:31 -04:00
Wilson Snyder
87224db145
Test: Update t_interface_parent_scope ( #1623 )
2025-09-25 10:50:32 -04:00
Todd Strader
aa6fbd35db
Add HIERPARAM error code ( #6456 ) ( #6484 )
2025-09-25 10:27:26 -04:00
Wilson Snyder
c9e021924f
Support class package reference on pattern keys ( #5653 ).
2025-09-25 06:52:42 -04:00
Wilson Snyder
28ee2ebb30
Fix PROTOTYPEMIS error on implicit logic ( #6482 ).
2025-09-23 22:28:21 -04:00
Wilson Snyder
fd12ab3413
Fix interface exposure with `--public-depth` or `--trace-depth` ( #5758 ).
2025-09-23 22:05:51 -04:00
Wilson Snyder
d972b7465a
Add error on function invoking time-controlling statements ( #6385 ).
2025-09-23 20:16:23 -04:00
Wilson Snyder
734e7a9526
Add error on function invoking task.
2025-09-23 19:51:34 -04:00
Artur Bieniek
f719d66129
Fix timeprecision backward assignment ( #6469 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-09-23 17:17:07 -04:00
Geza Lore
800af37975
Internals: Refactor generate construct Ast handling ( #6280 ) ( #6470 )
...
Internals: Refactor generate construct Ast handling (#6280 )
We introduce AstNodeGen, the common base class of AstGenBlock,
AstGenCase, AstGenFor, and AstGenIf, which together represent all SV
generate constructs. Subsequently remove AstNodeFor, AstNodeCase
(AstCase is now directly derived from AstNodeStmt) and adjust internals
to work on the new representation.
Output is identical modulo hashes do to changed AstNode type ids, no
functional change intended.
Step towards #6280 .
2025-09-23 19:49:01 +01:00
Ryszard Rozak
be0392a2b2
Fix splitting hierarchically referenced variables ( #6475 )
2025-09-23 10:16:49 -04:00
Wilson Snyder
b794c7c8d4
Add error on parameter values from hierarchical paths ( #1626 ) ( #6456 ).
2025-09-22 22:24:45 -04:00
Geza Lore
40ca0527db
Internal: Refactor AstAssignAlias ( #6280 ) ( #6473 )
...
Rename AstAssignAlias to AstAlias and make it derive from AstNode
instead of AstNodeStmt.
Replace AstAlias with AstAssignW in V3LinkDot::linkDotScope, which is
the last place we need to be aware of the alias construct. Using
AstAssignW dowstream enables further optimization while preserving the
same functionality.
2025-09-22 16:30:26 -04:00
Wilson Snyder
a647747260
Add IMPLICITSTATIC also on procedure variables.
2025-09-21 19:52:19 -04:00
Wilson Snyder
e0e0fb08a5
Fix missing BLKSEQ when connecting module port to array ( #2973 ).
2025-09-21 13:02:50 -04:00
Wilson Snyder
006b45526b
Tests: Rename t_lint_blkseq. No test change.
2025-09-21 12:56:01 -04:00
Wilson Snyder
9697a5ce6d
Add verilator_gantt profiling of DPI imports ( #3084 ).
2025-09-21 11:37:44 -04:00
Wilson Snyder
53b8a5b027
Add error on zero/negative unpacked dimensions ( #1642 ).
2025-09-21 09:41:58 -04:00
Wilson Snyder
ed380f08fe
Tests: Add t_forceable_public flat ( #3955 )
2025-09-20 23:06:41 -04:00