You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
16.6 Boolean expressions: “Elements of dynamic arrays, queues, and associative arrays that are sampled for assertion expression evaluation may get removed from the array or the array may get resized before the assertion expression is evaluated. These specific array elements sampled for assertion expression evaluation shall continue to exist within the scope of the assertion until the assertion expression evaluation completes.”
Many tools are slow to adopt this IEEE 1800 requirement. Several imposed restrictions on the use of queues within assertions, and some prohibited them entirely, likely due to performance concerns.
So avoid usage of q.pop_front in SVA expressions
e.g.
($rose(a) |-> (q.pop_front == 8'h08)
The text was updated successfully, but these errors were encountered:
Rule suggested by Ben Cohen:
IEEE LRM 1800 states:
Many tools are slow to adopt this IEEE 1800 requirement. Several imposed restrictions on the use of queues within assertions, and some prohibited them entirely, likely due to performance concerns.
So avoid usage of q.pop_front in SVA expressions
e.g.
($rose(a) |-> (q.pop_front == 8'h08)
The text was updated successfully, but these errors were encountered: