[sv-ac] 1599 review

From: Lisa Piper <piper_at_.....>
Date: Fri Jun 01 2007 - 13:41:04 PDT
	Hi Bassam and John,

	I re-reviewed this and still have comments, but I think my
comments may be going beyond the intent of this proposal which was to
incorporate 805 related changes.  We might want to create a different
proposal to address #4 below.  I think comment #1 and #2 need to be
addressed in this proposal  and then it is ready for vote.    #3 and #4
need to be addressed but perhaps in a separate proposal.

1.	In 16.14.3, why wouldn't we also add the disabled evaluation
counter?  Once you specify a vpi to count it,  you might as well have it
here too.
2.	in 39.5.3, there is no definition and example of the
vipAssertKillCovered. 
3.	in 38.4.2, the cbAssertionDisable states that the "assertion is
disabled" (e.g. as a result of a control action, ...)    Should this be
"assertion reaches the disabled state" like the ones above.  Same
applies to the other control action callbacks.  
4.	Now I am confused!  I looked at the link to control action
(38.5.2) and see the vpi assertion control actions.  I always thought
this referenced the $asserton/off/kill of section 19.10.   In fact, the
vpiAssertionKill is not the same definition as $assertkill.  $assertkill
(and vpiAssertionSysKill also) disables all subsequent attempts while
vpiAssertionKill only kills the one in progress but leaves it enabled.
I would think all of these would have a consistent definition and that
all forms of assertion control (38.5.1, 38.5.2, and 19.10)  would impact
the assertion states/counters consistently. Another disconnect is that
the vipAssertionKill also says that it does not reset the state used by
the assertion, whereas other descriptions presumably do (since this is
not mentioned). Also, if I do an assertkill, I know that I should get a
callback on the cbAssertionKill, but it is not clear if I should also
get one on cbAssertionDisable.  I would think yes assuming that
assertions are disabled after a kill, but I'm not sure that would be
desired. (this assumes that assertions are disabled after a kill)


My view is that there should be a set of states that are defined for an
assertion attempt.  Create a bubble diagram that shows all state
transitions possible, including all 3 types of control mechanisms as
well as normal assertion evaluation progress.  For each state, define
the state of variables (default initial or current value), and what
counters get incremented on the transition to the state,  

1.	initial: 
2.	active:  enabled but has not reached another state
3.	vacuous
4.	success
5.	disabled 
6.	off
7.	killed
8.	reset 

Then it becomes easy to clearly define all the controls consistently,
and it becomes clear what the differences are (e.g. is reset state
different from killed state, does a system kill do the same as a VPI
assertion kill as a VPI system kill).  It is difficult to determine.
This clarity will help ensure consistency across tools.  I would also
like to show scheduling implications on this diagram if possible.

Lisa


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Fri Jun 1 23:14:45 2007

This archive was generated by hypermail 2.1.8 : Fri Jun 01 2007 - 23:15:09 PDT