RE: [sv-ac] New 1900 proposal: Feedback

From: Korchemny, Dmitry <dmitry.korchemny_at_.....>
Date: Sun Aug 26 2007 - 08:57:21 PDT
Hi Tom,

Please, see my answers below.

Thanks,
Dmitry

-----Original Message-----
From: owner-sv-ac@server.eda.org [mailto:owner-sv-ac@server.eda.org] On
Behalf Of Thomas Thatcher
Sent: Friday, August 24, 2007 12:51 AM
To: sv-ac@server.eda-stds.org
Subject: [sv-ac] New 1900 proposal: Feedback

Hello Everyone,

I saw that there was a new proposal for Mantis 1900 uploaded on Aug 20.
I
have a couple of feedback items:

First, in the list of constructs that may appear in the checker, an
initial
block is included, but not a final block.  I believe this is an
oversight, and
shouldn't be too much trouble to include.  This allows checks to occur
at the
end of simulation.

[Korchemny, Dmitry] As far as I understood the discussion results in one
of the last SV-AC meetings, it was decided to limit the initial proposal
for checkers with concurrent assertions and free variable assignments
only. The reason for doing that was that introducing the checkers is a
major feature, and allowing the common SV code to appear in the checker
is unrealistic to be accepted in the window of the current PAR.
Therefore the proposal describes a limited version only, but this
proposal has been written with further enhancements in mind, so that it
can be enhanced to include other usable things: regular variables,
immediate assertions, etc.

Neither concurrent assertions nor free variable assignments are
permitted inside a final procedure (=block), that is why the final
blocks have not been included into this proposal.

It's not specifically mentioned, by immediate assertions may be included
too,
correct?  They will be very good for checks in the final block.

[Korchemny, Dmitry] See my previous comment.

On page 5:
> * If a free variable is declared with an initial value, this value is
only valid until its first clocked
> assignment is triggered. If it has both an initial value and a
continuous assignment, that is an SAR
> violation, and thus illegal. If it has an initial value and no clocked
or continuous assignment, then it
> has that initial value at the start of simulation, but is assigned a
nondeterminstic value at the first
> global clock edge.
  ^^^^^^
Should this be "inferred clock edge"?

[Korchemny, Dmitry] I think this should be a global clock: in this case
the transition relation includes the initialization only, all subsequent
values are undefined.

What happens if I don't have a global clock definition?

[Korchemny, Dmitry] This shall be illegal. One of the reasons of
introducing the global clock was support of free variables. Note
however, that such corner cases are typical for formal verification when
building an abstract model. If checkers are wanted for simulation, all
the free variables will typically be fully assigned; in the latter case
they do not rely on the global clock.

Next, I have a question.  Would there be a way to use the result of a
checker
to control another checker?

If I am writing a series of complicated checkers,
I might want to encapsulate common functionality in a checker, then
instantiate that checker in the top-level checker that I am writing.
The
results of the common checker would be used to enable or otherwise
control
assertions or other checkers instantiated within the top-level checker.

Currently, checkers as defined in this proposal have no outputs, so the
only
way I see to do this would be through cross-module references.

[Korchemny, Dmitry] I agree. The only way to use a value produced by a
checker described in the current proposal is through XMR. To allow
output checker arguments requires some more thought and discussion, and
we will try to find an appropriate way to do this. Then we'll update our
proposal accordingly.

Thanks,

Tom
-- 
------------------
Thomas J. Thatcher
Sun Microsystems
408-616-5589
------------------


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sun Aug 26 08:57:45 2007

This archive was generated by hypermail 2.1.8 : Sun Aug 26 2007 - 08:58:18 PDT