Geza Lore
8f13bc0477
Improve conditional merging to preserve branch prediction
2025-10-20 20:01:48 +01:00
Geza Lore
f73dde6dd9
Fix hierarchical with parametrized instances under hier block ( #6572 )
2025-10-20 19:26:13 +01:00
Todd Strader
ffd7ec1007
Fix DFG synthesis non-determinism ( #6557 ) ( #6568 )
2025-10-20 16:16:36 +01:00
Bartłomiej Chmiel
9bd30baba4
Fix $finish inside fork blocks ( #6555 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
2025-10-20 10:16:05 -04:00
Geza Lore
61c64e4a3b
Internals: Make AstCExpr always cleanOut ( #6280 ) ( #6570 )
...
There was exactly one place in V3Task, handling DPI arguments when we
relied on cleanOut of AstCExpr being false for masking. Made that code
do the relevant masking via a few new run-time functions, which also
eliminates some special cases in the relevant V3Task functions.
2025-10-19 09:44:33 +01:00
Geza Lore
4ef6f00423
Fix single element unpacked array DPI parameters
2025-10-18 17:21:21 +01:00
Igor Zaworski
5c412e5e81
Support impure expressions in `inside` ( #6562 )
2025-10-17 09:08:57 -04:00
Ryszard Rozak
af2327aaf4
Fix hierarchical references with parameterized modules and interfaces ( #5649 ) ( #6566 )
2025-10-17 09:06:46 -04:00
Igor Zaworski
96ed725278
Support `case` impure expressions ( #6563 )
2025-10-17 09:00:32 -04:00
Geza Lore
3d5d2db64b
Tests: Remove unused JSON dumps
...
These seem to have been accidentally comitted
2025-10-17 09:03:12 +01:00
Aleksander Kiryk
94525cae5d
Fix std::process::get_randstate to not affect random stability ( #6550 ) ( #6565 )
2025-10-16 21:11:07 -04:00
Geza Lore
982c7fb058
Remove obsolete DepSet from output file names ( #6564 )
2025-10-16 20:34:09 -04:00
Geza Lore
794247450f
Internals: Simplify AstScopeName ( #6280 )
...
Reduce reliance on AstText where not necessary.
2025-10-15 09:14:51 +01:00
Geza Lore
0c712d7c60
Internals: Refactor `systemc_* section handling ( #6280 )
2025-10-15 09:14:51 +01:00
Artur Bieniek
cefcf836fd
Fix signal code reporting ( #6554 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-10-14 07:04:53 -04:00
Geza Lore
eb53bca6fd
Internals: Make AstAssignW a procedural statement ( #6280 ) ( #6556 )
...
Initial idea was to remodel AssignW as Assign under Alway. Trying that
uncovered some issues, the most difficult of them was that a delay
attached to a continuous assignment behaves differently from a delay
attached to a blocking assignment statement, so we need to keep the
knowledge of which flavour an assignment was until V3Timing.
So instead of removing AstAssignW, we always wrap it in an AstAlways,
with a special `keyword()` type. This makes it into a proper procedural
statement, which is almost equivalent to AstAssign, except for the case
when they contain a delay. We still gain the benefits of #6280 and can
simplify some code. Every AstNodeStmt should now be under an
AstNodeProcedure - which we should rename to AstProcess, or an
AstNodeFTask). As a result, V3Table can now handle AssignW for free.
Also uncovered and fixed a bug in handling intra-assignment delays if
a function is present on the RHS of an AssignW.
There is more work to be done towards #6280 , and potentially simplifying
AssignW handing, but this is the minimal change required to tick it off
the TODO list for #6280 .
2025-10-14 09:05:19 +01:00
Wilson Snyder
958d096e7f
Improve some error message formats
2025-10-13 20:30:47 -04:00
Wilson Snyder
9dfc050fb5
Fix '' with multiple format strings
2025-10-13 19:47:08 -04:00
Wilson Snyder
b99b3d7b9c
Tests: Reformat t_display
2025-10-13 19:44:57 -04:00
Artur Bieniek
16fdd0e93c
Fiix fault on operations on uninitialized strings ( #6520 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-10-13 07:29:23 -04:00
Wilson Snyder
01157d414b
Optimize constant string arguments before Emit, and cleanup V3EmitV
2025-10-12 20:09:03 -04:00
Wilson Snyder
eae1e5bdf2
Internals/Tests: Cleanup some missing dev coverage items
2025-10-11 20:58:03 -04:00
Wilson Snyder
71941cc673
Fix incorrect nested interface-class error ( #6549 ).
2025-10-11 19:07:37 -04:00
Wilson Snyder
fac4ed49af
Commentary: Changes update
2025-10-11 19:05:44 -04:00
Wilson Snyder
8785086bc8
Internals/Tests: Add `--debug-preproc-passthru` to cleanup some missing dev coverage items
2025-10-11 14:15:04 -04:00
Wilson Snyder
6e8bd3da19
Internals/Tests: Cleanup some missing dev coverage items
2025-10-11 12:54:55 -04:00
Wilson Snyder
078275034d
Internals: Parse randsequence but still unsupported ( #6131 partial)
2025-10-11 10:47:46 -04:00
Bartłomiej Chmiel
31e73f1645
Support simple cycle delay sequence expressions inside assertion properties ( #6508 )
...
Signed-off-by: Bartłomiej Chmiel <bchmiel@antmicro.com>
Co-authored-by: Wilson Snyder <wsnyder@wsnyder.org>
2025-10-10 16:16:15 +02:00
Igor Zaworski
2ac7cf51a9
Optimization of typedef params ( #6543 ) ( #6547 )
2025-10-10 10:05:47 -04:00
Wilson Snyder
4f1d8a1b15
Tests: Revert bad expect test
2025-10-10 07:59:55 -04:00
Artur Bieniek
a7f4ff7b06
Tests: Set higher timeout with ASAN ( #6546 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-10-10 06:37:53 -04:00
Wilson Snyder
3027f67b6f
Internals/Tests: Cleanup some missing dev coverage items
2025-10-09 22:33:04 -04:00
Wilson Snyder
802ba0c2bf
Internals: Add assert to dev coverage exclusion
2025-10-09 22:33:04 -04:00
Wilson Snyder
41b05cb1f8
Fix intent error on quoted strings ( #6544 ).
2025-10-09 21:24:27 -04:00
Wilson Snyder
3306ed146b
Internals: Use multi-character puts. No functional change intended.
2025-10-09 21:23:11 -04:00
Wilson Snyder
fb4951d2df
Commentary: Changes update
2025-10-09 21:22:24 -04:00
Geza Lore
9dc0cf5a7c
Internals: Use a V3Graph for the hierarchical plan ( #6545 )
...
I stared this because the emitted makefiles for hierarchical verilation
were non-deterministic (iterating unordered_map indexed by pointers).
Then I realized that the V3HierPlan is just a dependency graph encoded
in a slightly idiosyncratic way. We do have a data structure to use for
that instead.
With that the output should always be deterministic + have nicer dumps.
2025-10-09 21:41:23 +02:00
Geza Lore
e63d486422
Internals: Fix coverage exclusion
2025-10-09 16:58:06 +01:00
Igor Zaworski
1a91ab02cf
Fix passing typedef value as parameter ( #6543 )
2025-10-09 10:08:06 -04:00
Geza Lore
7b4ad29260
Testing: Ignore non-deterministic tests in `make test-snap`
...
Added tests with expectedly unstable output to ignore list for
`make test-snap` and `make test-diff`.
2025-10-09 10:34:31 +01:00
Geza Lore
e33b24fad2
Fix Dfg circular driver tracing with partial assignments
2025-10-09 09:31:19 +01:00
Geza Lore
49c51af841
Deprecate '--make cmake' option ( #6540 )
2025-10-08 09:40:17 -04:00
Artur Bieniek
222a3655ba
[ #84482 ] Fix inconsistent force assignment ( #6541 )
...
Signed-off-by: Artur Bieniek <abieniek@internships.antmicro.com>
2025-10-08 09:39:50 -04:00
Geza Lore
c8c53f9a18
Tests: Remove sanitize option and parameter
...
Fixes #6536
2025-10-08 08:51:42 +01:00
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
9d6f127a4e
Internals: Fix extra spaces in emit. No functional change.
2025-10-07 19:22:16 -04:00