Nick Brereton
26c85d4495
Fix `$bits` on unpacked structs ( #4521 ) ( #7796 )
...
Fixes #4521 .
2026-06-17 17:56:48 -04:00
Geza Lore
5ab2bf1ec4
Optimize input combinational logic by change detection ( #7784 )
...
When a lot of combinational logic is driven from top level inputs,
work can be wasted evaluating that logic if the top level inputs don't
change.
This change adds an optimization by performing a change detect on the
top level inputs, and evaluate 'ico' logic only if the top level input
actually changed. This especially helps with --hierarchical/--lib-create
which runs the 'ico' of each sub-model in the eval settle loop.
This was observed to yield 40%+ run-time speedup on some partitioned
designs.
The added change detection is cheap, so it is emitted even if the 'ico'
region is small, and is on by default.
The optimization is only sound if the model itself does not write to the
top level inputs (otherwise the 'previous value' variables would be out
of sync, which are not updated by internal writes.). If we can detect a
top level input is written within the design, then for that input, we
fall back on always running the relevant logic. With --vpi we cannot
prove safety statically, so --vpi will disable this optimisation unless
explicitly enabled. (In which case it's the user's responsibility to not
write to top level inputs via the VPI.)
2026-06-15 05:42:00 +01:00
Nick Brereton
87d2610674
Support unpacked struct stream ( #7767 )
2026-06-12 17:32:01 -04:00
pawelktk
75993ca9ea
Support assoc array methods with wide value types ( #7680 )
2026-06-10 09:39:43 -04:00
Artur Bieniek
a3827182c0
Support `s_until` and `s_until_with` (IEEE1800-2023 16.12.12) ( #7722 )
...
Signed-off-by: Artur Bieniek <abieniek@antmicro.com>
2026-06-08 14:08:04 -04:00
Marco Bartoli
2db34818b3
Fix parameter values in coverage bins widths ( #7732 ) ( #7734 )
...
Fixes #7732 .
2026-06-07 20:47:43 -04:00
Matthew Ballance
2886291eba
Support covergroups, coverpoints, and bins ( #784 ) ( #7117 )
...
Fixes #784 .
2026-06-05 09:35:01 -04:00
Todd Strader
7bd41bfbb9
Fix MULTIDRIVEN in generates ( #7709 )
2026-06-03 19:50:56 -04:00
Nick Brereton
bbd8d927ee
Support printing enum names for %p and %s ( #5523 ) ( #7338 repair) ( #7521 ) ( #7527 )
2026-06-03 14:55:00 -04:00
Krzysztof Bieganski
7664bbb3ef
Support generic interface arrays ( #7604 )
2026-06-02 22:28:50 -04:00
Igor Zaworski
fe4adfe273
Support process::self().srand() ( #7695 )
2026-06-02 12:00:27 -04:00
Yilou Wang
39b9901032
Support weak `until` / `until_with` property operators ( #7290 ) ( #7548 ) ( #7685 )
...
Fixes #7290 . Fixes #7685 .
2026-06-01 14:50:13 -04:00
Artur Bieniek
45fae00064
Fix width of unsized literal in property expression ( #7668 )
2026-05-28 15:10:25 -04:00
Benjamin Collier
69b3c5f6d1
Support streaming on queues ( #7597 )
2026-05-20 19:14:02 -04:00
Greg Davill
57ce373e99
Fix array pattern concatenation ( #7401 ) ( #7402 )
2026-05-17 09:49:32 -04:00
Yilou Wang
f9427c6d5f
Support property abort operators (accept_on, reject_on) ( #7578 )
2026-05-15 08:38:38 -04:00
Krzysztof Bieganski
3381d656c7
Support calling interface functions without parens ( #7584 )
...
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2026-05-13 08:15:32 -04:00
Jakub Michalski
05f6db7970
Optimize emitting to_string() for compiler speedup ( #7468 )
...
Signed-off-by: Jakub Michalski <jmichalski@antmicro.com>
2026-05-12 09:49:21 -04:00
Yilou Wang
b0d58bbcef
Support SVA goto repetition with range `[->M:N]` ( #7569 )
2026-05-11 07:07:51 -04:00
Artur Bieniek
c69c11b2db
Support procedural continuous assign/deassign ( #7493 )
2026-05-08 19:01:11 -04:00
Yilou Wang
8eca6b8fe7
Fix regression rejecting boolean `!x` inside sequence expressions ( #7549 ) ( #7551 )
...
Fixes #7549 .
2026-05-08 18:34:28 -04:00
Bartłomiej Chmiel
4e349971d3
Support `s_eventually` ( #7291 ) ( #7508 )
2026-05-04 09:57:03 -04:00
Igor Zaworski
25d4827bd5
Internals: Four state pre-pull (types) ( #7520 )
2026-04-30 16:56:15 -04:00
Wilson Snyder
dd75c4cd1b
Revert: 21020ea2: Support printing enum names for %p and %s ( #5523 revert) ( #7338 revert) ( #7521 test)
2026-04-30 10:29:47 -04:00
Nick Brereton
21020ea2d1
Support printing enum names for %p and %s ( #5523 ) ( #7338 )
2026-04-30 07:15:38 -04:00
Yilou Wang
76c1b26e3b
Support `obj.randomize(null)` ( #7487 ) ( #7509 )
2026-04-28 15:31:08 -04:00
Yilou Wang
c8893b64de
Support `always` / `always[m:n]` / `s_always[m:n]` property operators ( #7482 )
2026-04-27 08:20:34 -04:00
em2machine
b1d3d63e9f
Fix for unction argument expects a class refetence ( #7483 ) ( #7489 )
...
Fixes #7483 .
2026-04-24 10:31:57 +02:00
Yilou Wang
51eb5346c8
Support sequence within operator ( #7461 )
2026-04-23 05:47:24 +02:00
Kamil Danecki
3587ac48a4
Fix modification of members of object with const handle ( #7433 )
...
Signed-off-by: Kamil Danecki <kdanecki@internships.antmicro.com>
2026-04-16 09:43:12 -04:00
Wilson Snyder
7e3400b37d
Fix virtual interface implied comparison with null ( #7421 ).
...
Fixes #7421 .
2026-04-14 07:25:02 -04:00
Wilson Snyder
fac07970e6
Improve too-small cast warning to show size
2026-04-12 18:12:41 -04:00
Ryszard Rozak
4da31b0418
Support 'until' property (partial #7290 ) ( #7399 )
2026-04-10 08:17:54 -04:00
Yilou Wang
854e80c3c2
Support nonconsecutive repetition [=N] in sequence expressions ( #7397 )
2026-04-09 18:28:28 -04:00
Yilou Wang
e63c4f563e
Support consecutive repetition [*N:M], [+], and [*] in sequence expressions ( #7379 )
2026-04-08 10:26:03 -04:00
Yilou Wang
141fe8bdad
Support sequence intersect operator ( #7374 )
2026-04-08 09:31:54 +02:00
Artur Bieniek
8c11d0d0bd
Support rise/fall delays ( #7368 )
...
Signed-off-by: Artur Bieniek <abieniek@antmicro.com>
2026-04-07 06:44:52 -04:00
Yilou Wang
dfb7b034a5
Support sequence 'throughout' operator ( #7378 )
2026-04-06 17:12:22 -04:00
Wilson Snyder
2796294396
Fix string `inside` queue ( #7373 ).
...
Fixes #7373 .
2026-04-04 14:43:06 -04:00
Yilou Wang
3b454a6f60
Internals: Add isNonPackedArray(). No functional change. ( #7334 prep)
2026-04-04 14:31:09 -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
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
894f6c4c58
Fix virtual interface member trigger convergence ( #5116 ) ( #7323 )
2026-04-01 21:42:42 +01:00
Yilou Wang
bf453361f6
Support consecutive repetition [*N] in SVA properties ( #7311 )
2026-03-30 07:01:33 -04:00
Wilson Snyder
600eb7ec86
Internals: Favor std::swap. No functional change.
2026-03-29 20:33:06 -04:00
Wei-Lun Chiu
092d3d4de0
Support map() method for associative and wildcard arrays ( #7344 )
2026-03-29 04:00:52 -04:00
Wilson Snyder
31757df229
Internals: clangtidy cleanups. No functional change intended ( #7343 )
2026-03-27 23:14:18 -04:00
Yilou Wang
55e5f01758
Support SVA goto repetition [->N] in concurrent assertions ( #7310 )
2026-03-27 10:31:15 -04:00
github action
37a316f0f8
Apply 'make format'
2026-03-26 17:28:43 +00:00
Eunseo Song
f369a629c7
Improve E_UNSUPPORTED warning messages ( #7329 )
2026-03-26 13:25:30 -04:00