RE: [sv-ac] proposal for 1498

From: Korchemny, Dmitry <dmitry.korchemny_at_.....>
Date: Mon Jun 19 2006 - 18:35:56 PDT
Hi John,

I see a problem in defining a property status as disabled. I think that
from the formal point of view each property should either pass or fail
on infinite words. Otherwise, it will impose an unnecessary burden on
formal tools to check whether a property has succeeded because of reset.
Of course, vacuity checks are important for FV, but they should not be
compulsory.  Wouldn't it be easier to leave the formal semantics as is,
but to define when action block should be performed?

I think that coverage should not report property failures at all, thus
the only question remains for pass action execution of assertions. They
may be controlled with $assertdisabledon/off from Manisha's proposal.

Thanks,
Dmitry

-----Original Message-----
From: John Havlicek [mailto:john.havlicek@freescale.com] 
Sent: Friday, June 16, 2006 3:27 PM
To: Korchemny, Dmitry
Cc: sv-ac@verilog.org
Subject: proposal for 1498

Hi Dmitry:

I looked over your proposal for 1498 and noticed a couple of 
things in relation to Manisha's proposal for 0805.

In Manisha's proposal, the result of a disabled attempt is
neither pass nor fail.  This treatment of the disabled attempt
is involved with preventing the following undesirable things:

1. Pass action block executing on disabled attempt.
2. Disabled coverage property attempt counting as a hit.
3. Disabled assert property attempt counting as a non-vacuous
   success.

In 1498, you propose to introduce accepton and rejecton in the 
formal semantics and translate "disable iff" either into accepton
(in the case of an assert property) or "rejecton" (in the case of
a cover property).

Your proposal would say, I think, that a disabled assert property 
attempt is a vacuous success, while a disabled cover property 
attempt is a failure.

Manisha's proposal says that the disabled attempts are separate
from successes and failures.

Manisha points out that by saying that disabled attempts are neither
successes nor failures, less LRM text needs to be changes to 
avoid undesirables 1-3 above.  I think this also will make it easier
to teach users how to understand for which attempts the action blocks 
execute.

But then in the formal semantics I think we must not transform
"disable iff" into accetpon or rejecton.  Instead, we need a separate
definition like the following:

   Let u be the longest prefix of w such that no letter of u satisfies
b.
   Then 
   
      w |= disable iff (b) P  iff  u\bot^\omega |= P
      w |/= disable iff (b) P  iff  u\top^\omega |/= P
   
   Otherwise evaluation of "disable iff (b) P" on w is disabled.

[This definition is in the spirit of the current formal semantics 
and does not attempt to solve the known problems with the \top,\bot
approach to reset semantics on unsatisfiable formulas.]

And, as I pointed out before, this means that "disable iff" needs
to be kept always at the top level [unless, e.g., a 3-state inductive 
semantics is defined].

Best regards,

John H.
Received on Mon Jun 19 18:36:02 2006

This archive was generated by hypermail 2.1.8 : Mon Jun 19 2006 - 18:36:11 PDT