Artur Bieniek
d4e4b1d795
Optimize assertion control queries ( #8547 )
2026-09-30 11:32:56 -04:00
Geza Lore
02546791da
Internals: Remove V3LinkDot::linkDotArrayed ( #8495 )
...
Follow up to #8476 and #8493 , now that elaboration fully expands
instance arrays, linkDotArrayed's only remaining purpose was to name
AstBegin blocks created after V3Width.
Fix up earlier passes to name all Begin blocks they create, or avoid
creating AstBegin in the first place if possible.
One warning about assigning to a modport input of a generic interface
port had to move into LinkLValue (previously this only used to be
reported by linkDotArrayed, as the type/modportness only resolved in
V3Param, and the lvalueness is subsequently only known in LinkLValue).
Then remove linkDotArrayed and simplify V3LinkDot.cpp
2026-09-24 22:41:24 +01:00
Wilson Snyder
3d386f8fa5
Internals: Add VL_DO_DANGLING in some missing places. No functional change intended.
2026-09-23 18:27:40 -04:00
Artur Bieniek
e2caf971de
Fix NFA rings for bounded SVA delays ( #8371 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-09-16 17:52:28 -04:00
Artur Bieniek
6a57cf10f4
Obtimize NBA assertions by keeping all writers before readers ( #8326 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-09-14 10:29:27 -04:00
Artur Bieniek
b06bd46dc9
Avoid duplicate lookup in NFA property recursion guard ( #8321 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-09-10 20:46:54 +02:00
Artur Bieniek
5b24226b3b
Avoid unnecessary per-vertex allocations in NFA lowering ( #8319 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-09-10 20:21:37 +02:00
Artur Bieniek
557c21a337
Support multiplicity in SVA shapes that use NFA rings ( #8267 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-09-10 10:39:35 -04:00
Wilson Snyder
f694e9e1e8
Revert NFA assertion outcomes ( #7946 revert) ( #8258 )
2026-09-01 11:15:05 -04:00
Matthew Ballance
9474a01d54
Add definitions for odr-used constexpr, as required by C++14 ( #8256 )
2026-08-31 10:38:18 -04:00
Yilou Wang
c81be029a6
Fix NFA assertion scheduling to fix outcome counts ( #7946 )
2026-08-29 15:53:08 -04:00
Artur Bieniek
7f9333723f
Fix sampled-value functions output on the first cycle ( #8162 )
2026-08-26 10:30:59 -04:00
Artur Bieniek
69f42ea480
Support s_until/s_until_with in property expression ( #8220 )
2026-08-25 10:26:43 -04:00
Artur Bieniek
f6d56c6440
Optimize consecutive repetiton and goto repetition using ring-buffer ( #8096 )
2026-08-25 08:26:46 -04:00
Artur Bieniek
3dbfa7708f
Add NEVERMATCH warning when an SVA sequence can never match ( #8176 ) ( #8183 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-22 08:31:23 +02:00
Artur Bieniek
f7c087468d
Support overlong within sequences as never-matching ( #8177 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-20 15:20:54 -04:00
Artur Bieniek
8c2b7410f0
Optimize NFA delay-ring edge traversal, drop complexity to linear ( #8145 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-19 04:02:11 -04:00
Artur Bieniek
06ee8b7261
Use unsigned in NFA, guard against overflow using V3Width. ( #8152 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-19 08:05:05 +02:00
Yilou Wang
8a29360ade
Fix NFA assertion crash and mis-counted property if/case ( #8074 )
2026-08-18 18:30:38 +02:00
Artur Bieniek
0b50390359
Fix COVERIGN on SVA goto repetition ( #8118 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-14 13:52:10 -04:00
Artur Bieniek
95721f5040
Optimize NFA ring buffer clear operation using lazy invalidation ( #8101 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-13 18:54:57 -04:00
Artur Bieniek
73bcf5e0db
Fix NFA range ring outgoing bit selection ( #8061 repair) ( #8092 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-12 12:28:32 -04:00
Artur Bieniek
e962efca12
Fix untyped dtype error on sampling functions with property arguments ( #8060 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-12 05:16:48 -04:00
Artur Bieniek
490bd38962
Optimize bounded always properties using ring buffers ( #8061 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-10 08:45:50 -04:00
Artur Bieniek
1a4bcac666
Support weak/strong keywords in property expressions ( #8054 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-06 07:48:00 +01:00
Artur Bieniek
b1ec180a3b
NFA simplification: do not pass arguments which values are derivable ( #8053 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-05 12:40:12 -04:00
Artur Bieniek
e4b6bac50a
Fix mid-range consecutive repetition rejects ( #8041 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-08-04 17:50:33 +01:00
Artur Bieniek
796d5174f3
Fix sampled-value clocks in repeated assertions ( #7944 )
2026-07-16 13:07:53 -04:00
Yilou Wang
ec124a0905
Fix mid-window disable iff ( #7792 ) ( #7869 )
...
Fixes #7792
2026-07-11 20:44:56 -04:00
Artur Bieniek
6c20fdb7bd
Optimize assertion NFAs using bit-vector ring buffers ( #7885 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-07-07 19:26:50 -04:00
Artur Bieniek
a5f4d40901
Fix range delays with parameter bounds ( #7882 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-07-06 13:13:11 -04:00
Yilou Wang
8ed0acf1ec
Support a sequence used as an event control ( #7797 ) ( #7846 )
2026-07-06 13:12:01 -04:00
Yilou Wang
3853301367
Fix disable iff ignored when its condition is held continuously true ( #7841 )
2026-06-26 06:00:44 -04:00
Yilou Wang
000afcf52d
Support variable-length intersect in SVA sequences ( #7835 )
2026-06-25 04:41:53 -07:00
Artur Bieniek
87bebbb732
Support global $assertcontrol ( #7807 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-06-22 18:51:41 -04:00
Yilou Wang
a5a16cfbfd
Support unbounded always [m:$] and strong s_always liveness ( #7798 )
2026-06-18 11:17:09 -04:00
Yilou Wang
3a4377d39e
Support clocking event on a sequence declaration body ( #7598 ) ( #7793 )
...
Fixes #7598 .
2026-06-17 17:57:18 -04:00
Artur Bieniek
7061c1f04d
Fix not failing assertion when RHS of a range window rejects once ( #7773 )
2026-06-15 15:32:11 -04:00
Yilou Wang
077558a9b0
Support cover sequence statement ( #7764 )
2026-06-15 08:36:21 -04:00
Artur Bieniek
dab6889f1e
Support assert property 'default disable iff` ( #4848 ) ( #7723 )
2026-06-12 10:40:38 -04:00
Artur Bieniek
a3827182c0
Support s_until and s_until_with (IEEE1800-2023 16.12.12) ( #7722 )
...
Signed-off-by: Artur Bieniek <[email protected] >
2026-06-08 14:08:04 -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
Yilou Wang
86799ace5d
Fix wrong false assert for property local variables with cycle-delayed consequents ( #7587 ) ( #7651 )
...
* Fix wrong false assert in property local variable with cycle-delayed consequent
* factor helper for 100 line cov
* add return, should be 100 line cov now
2026-05-25 20:13:27 +08:00
Yilou Wang
00c9e58006
Fix internal error on consecutive repetition with N > 256 ( #7552 ) ( #7603 )
2026-05-17 21:54:10 -04:00
Yilou Wang
f9427c6d5f
Support property abort operators (accept_on, reject_on) ( #7578 )
2026-05-15 08:38:38 -04:00
Yilou Wang
b0d58bbcef
Support SVA goto repetition with range [->M:N] ( #7569 )
2026-05-11 07:07:51 -04:00
Yilou Wang
bc1acc8aa3
Support followed-by operators #-# and #=# in properties ( #7523 )
2026-05-04 08:10:37 -04:00
Yilou Wang
8011f9a796
Internals: V3AssertNfa: hoist sampled(propp) into a per-property temp ( #7502 ) ( #7525 )
...
Fixes #7502 .
2026-05-02 12:13:58 -04:00
Yilou Wang
bb1bfabab3
Fix internal error on multi-cycle SVA under default clocking ( #7472 ) ( #7506 )
2026-04-28 06:50:16 -04:00