RE: [sv-bc] RE: [sv-ac] RE: [sv-ec] Checkers & Formal

From: Korchemny, Dmitry <dmitry.korchemny_at_.....>
Date: Tue Mar 18 2008 - 12:01:47 PDT
Hi Gord,

Please, see my comments below.

Thanks,
Dmitry

-----Original Message-----
From: Gordon Vreugdenhil [mailto:gordonv@model.com] 
Sent: Monday, March 10, 2008 9:51 AM
To: Bresticker, Shalom
Cc: Korchemny, Dmitry; sv-bc@server.eda.org; sv-ec@server.eda.org;
sv-ac@server.eda.org
Subject: Re: [sv-bc] RE: [sv-ac] RE: [sv-ec] Checkers & Formal



Bresticker, Shalom wrote:
> Gord,
> 
> I believe that slides 19-21 of the presentation that Dmitry just sent
> address this question.


Umm, yes, it does in the sense that it agrees with my observation.
The enables are not inferred in a checker's assertions in the same
manner as a normal assertion unless the $inferred_enable is used.
Or am I reading something incorrectly?

[Korchemny, Dmitry] I sent a detailed comment in one of my previous
mails, though I illustrated it on clocks. The key point that the
inference rules are done from the checker context. Enables are not
inferred in checkers since there are no conditional statements allowed
inside them. Using $inferred_enable reflects the inference for checker
arguments, not for its assertions. E.g.,

checker mycheck (logic a, event clock, logic en = $inferred_enable);
	p: assert property (@clock a);
	...
endchecker

There is no enable inference in the assertion, only direct usage of en
is allowed. en itself is inferred when the actual argument is omitted.

 From the slides, I believe the rules are something along the
lines of the following:
    if the checker has a $inferred... default for a formal
       the inference is made at the point of instantiation
    else if the checker has a declared default
       the declared default binds at the declaration point and is used
    else
       the default of the checker's declaration context is used

I'm guessing a bit at the priority here since I haven't looked closely
enough to see if this is explicitly spelled out somewhere in the
set of related Manti.  In addition the conditions under which
combinations
of these might be errors is not clear to me (can I have $inferred_clock
and a default clocking in the declaration?).

In any case, if I am approximately correct in my understanding, my
point stands -- the comment that checker assertions are the same
is not always true.  It IS true if the $inferred... is used, but
otherwise different clocking inference applies.

Again, if I am way off base here, please correct me.  I would
really like to make sure I'm conceptualizing the relationships
here correctly.

[Korchemny, Dmitry] See my comments in this email and in the previous
one.

Gord.


> Shalom 
> 
>> Now I'm getting confused.  I thought that checker assertions 
>> were NOT always the same as a substitution in the instantiation
point.
>> In particular, that enable, etc inference is not done unless 
>> the special $.. forms were used.


> ---------------------------------------------------------------------
> Intel Israel (74) Limited
> 
> This e-mail and any attachments may contain confidential material for
> the sole use of the intended recipient(s). Any review or distribution
> by others is strictly prohibited. If you are not the intended
> recipient, please contact the sender and delete all copies.
> 

-- 
--------------------------------------------------------------------
Gordon Vreugdenhil                                503-685-0808
Model Technology (Mentor Graphics)                gordonv@model.com

---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Tue Mar 18 12:36:29 2008

This archive was generated by hypermail 2.1.8 : Tue Mar 18 2008 - 12:37:24 PDT