Commit Graph

5678 Commits

Author SHA1 Message Date
Yilou Wang a3e7fc89af final refining 2025-10-23 16:23:31 +02:00
Yilou Wang 8a85bf6c81 refine the code and improve the branch coverage 2025-10-22 22:15:06 +02:00
Yilou Wang 514a1c6050 rm IS_RANDOMIZED_INLINE_GLOBAL 2025-10-22 17:29:17 +02:00
github action a4d3ccacbf Apply 'make format' 2025-10-22 14:30:44 +00:00
Yilou Wang 3dddb90fc5 try to improve the coverage 2025-10-22 16:29:30 +02:00
github action 6ae6b7817e Apply 'make format' 2025-10-22 08:19:15 +00:00
Yilou Wang 0b8a7171ef refine and fix 2025-10-22 10:18:02 +02:00
github action 6cd4d84c7e Apply 'make format' 2025-10-20 20:53:32 +00:00
Yilou Wang 69281ab33c var_naming and revert 2025-10-20 22:52:06 +02:00
Yilou Wang 64d48e4879
Merge branch 'master' into new_branch_for_global_rand 2025-10-19 11:59:03 +02:00
github action d5ec5a0eb0 Apply 'make format' 2025-10-19 09:57:28 +00:00
Yilou Wang 7c8d5a7468 naming adjustment and leak-error fixing 2025-10-19 11:55:59 +02: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 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
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
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
Yilou Wang 2679c8a235 leaked node fix 2025-10-12 15:53:28 +02: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
Yilou Wang 36a94a4fc5 fix leaked node 2025-10-11 23:24:14 +02:00
github action 0adb467cea Apply 'make format' 2025-10-11 20:12:38 +00:00
Yilou Wang 87e1381ffe fix cpp style 2025-10-11 22:11:29 +02: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
github action feb8934185 Apply 'make format' 2025-10-11 15:57:28 +00:00
Yilou Wang 468d6fec0f remove debug cout messages 2025-10-11 17:52:47 +02:00
Yilou Wang c29e2601cb fix normal randomize case 2025-10-11 17:44:20 +02:00
Yilou Wang 76a60df6fd temp store 2025-10-11 17:34:48 +02: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 3027f67b6f Internals/Tests: Cleanup some missing dev coverage items 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
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
github action f9487374b5 Apply 'make format' 2025-10-09 18:32:39 +00:00
Yilou Wang 591d74c5d8 add tests 2025-10-09 20:31:04 +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
Yilou Wang b69e0569cf remove redundant debug info and modify comments 2025-10-09 16:02:59 +02:00
github action 809fba224b Apply 'make format' 2025-10-09 13:31:58 +00:00