[sv-ac] question about using sampled value functions in async aborts

From: Kulshrestha, Manisha <Manisha_Kulshrestha_at_.....>
Date: Wed May 28 2008 - 11:35:49 PDT
Hi,

 

Here is an example from the LRM (D4) where $rose is being used in the
expression in disable iff. Suppose a is true all the time. As per mantis
1698 and some other new mantis items related to sampled value functions,
the value of $rose will become true one simulation tick after b changes
(if b becomes 1 and $past on b was 0). Since simulation tick is going to
be a very low number and may depend on simulation resolution, this
property may abort at different times in different simulators. Does that
sound reasonable ?

 

assert property ( @(posedge clk)

disable iff (a && $rose(b, @(posedge clk))) trigger |=> test_expr );

 

A similar thing will happen with accept_on and reject_on as they use
sampled value of the expression. 

Somehow usage of sampled values in asynchronous aborts seems little bit
odd. Suppose reset signal goes high at clock edge, it will not have any
impact on the property evaluation till the next simulation tick.

It may depend on the simulator's resolution, when a property passes or
fails.

 

I remember we wanted to avoid glitches so we introduced sampled values
in accept_on and reject_on. But I have some concerns about the side
effect of that.

 

What do you guys think ?

 

Thanks.

Manisha


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Wed May 28 11:43:47 2008

This archive was generated by hypermail 2.1.8 : Wed May 28 2008 - 11:44:47 PDT