Szymon Gizler
e21c4fbbb5
Fix .vlt public_flat* and others to support long identifier names ( #6516 )
2025-09-30 16:55:11 -04:00
Geza Lore
b902e4bcf5
Reduce memory use of statistic collection ( #6513 )
2025-09-30 07:06:57 -04:00
Wilson Snyder
c5f3192588
Change default `--expand-limit` to 256 ( #3419 ). ( #6489 )
2025-09-30 06:53:10 -04:00
Geza Lore
e04f51ebd2
Internals: Change AstAssignVarScope into AstAliasScope ( #6280 ) ( #6512 )
...
Rename and make it derive from AstNode instead of AstNodeAssign.
Small step towards #6280 . No functional change.
2025-09-30 06:40:17 +01:00
Geza Lore
283810cbf7
Internals: Make AstNodeBlock an AstNodeStmt ( #6280 ) ( #6511 )
...
Small step towards #6280 . No functional change.
2025-09-30 06:39:51 +01:00
Wilson Snyder
0640ddba80
Commentary: Changes update
2025-09-29 21:11:29 -04:00
Wilson Snyder
0865bee500
Commentary: Fix html build ( #6502 )
2025-09-29 21:11:22 -04:00
Geza Lore
202a53f4f6
Internals: Parse ++/-- in statement position as AstStmtExpr ( #6280 ) ( #6510 )
...
Small step towards #6280 . No functional change.
2025-09-29 21:01:40 +02:00
Ryszard Rozak
09518ee207
Support aliases with more operands ( #6501 )
2025-09-29 13:23:51 -04:00
Geza Lore
5cd8bd0356
Remove use of VL_INLINE_OPT macro ( #6507 )
2025-09-29 18:07:36 +01:00
Geza Lore
5247e40659
CI: Add 60 minute timeout to RTLMeter compile and run steps ( #6506 )
...
The default timeout for a job in GitHub Actions is 6 hours, which is
both too long, but more importantly, when reached the job is 'cancelled'
instead of 'failed'. Use the new `--timeout` option on `rtlmeter run`
instead to add a 60 minute timeout to compile and execute steps. (This
is ~3x longer than recent worst runs in the CI)
2025-09-29 17:37:06 +01: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
Geza Lore
5c72b45975
Internals: Clean up V3Branch ( #6505 )
...
No functional change
2025-09-29 14:51:37 +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
Krzysztof Bieganski
7e854a9e63
Internals: Simplify SystemC-related timing code ( #6503 )
2025-09-29 07:12:35 -04:00
Geza Lore
98786e609a
CI: Fix write permissions in format job
...
Fixes #6496
2025-09-29 07:49:54 +01:00
Wilson Snyder
5a5c38e478
Format
2025-09-28 21:26:21 -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
8c7c6c594a
Internals: Rename VStringSet/VStringList. No functional change.
2025-09-27 20:51:37 -04:00
Wilson Snyder
7ef3b808ea
Fix false BLKSEQ on non-edged sensitivity list ( #6492 ).
2025-09-27 20:50:32 -04:00
Wilson Snyder
3b623dc12e
Internals: Refactor to create VCMethod ( #3715 ). No functional change intended.
2025-09-27 08:22:17 -04:00
Wilson Snyder
89cd5417ef
Internals: Refactor to create V3AstAttr.h ( #6491 ). No functional change intended.
2025-09-27 08:19:57 -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
Wilson Snyder
ebee20c47d
Commentary: Changes update
2025-09-26 20:49:27 -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
62880c125e
Fix configure misdetecting C++14 ( #6488 ).
2025-09-26 08:24:34 -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
Geza Lore
63f5f5c328
Internals: Remove redundant AstNode methods ( #6481 )
...
AstNode::isFirstInMyListOfStatements
AstNode::isStandaloneBodyStmt
2025-09-24 09:53:39 +02: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
Wilson Snyder
90bc1daa9d
Commentary: Changes update
2025-09-23 19:50:43 -04:00
Wilson Snyder
4e00539308
Fix MISINDENT on SweRV verilator_ext_tests with GenBlock ( #6470 repair)
2025-09-23 19:49:57 -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
Fabian Keßler-Schulz
df187c4406
Fix Windows compilation of Verilator with spaces in the path ( #6477 )
2025-09-23 14:25:25 -04:00
Geza Lore
6f250b3f8d
Internals: Make AstNode::{is/as/cast} available to client code ( #6478 )
...
As opposed to VN_{IS/AS/CAST} these are usable in templated code.
2025-09-23 16:39:18 +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