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

From: Gordon Vreugdenhil <gordonv_at_.....>
Date: Sun Mar 09 2008 - 21:11:24 PDT
Korchemny, Dmitry wrote:
> Hi Gord,
> 
> I am not sure I understand your question: the description of immediate
> and concurrent assertions exists already in LRM 2005, deferred
> assertions were introduced by Mantis 2005 in a close cooperation with
> SV-BC, and assertions in checkers are regular concurrent assertions.

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.

Is that not the case?

Gord.

> To summarize, immediate assertions act as an if statement, deferred
> assertions are roughly speaking immediate assertions reported once at
> the end of the simulation to avoid glitches (the subtlety here is that
> the assertions in different loop iterations and in different function
> invocations are treated as different assertions - see 2005 for more
> detailed description), and concurrent assertions are temporal assertions
> using sampled values of the variables. Concurrent assertions may be
> syntactically written in procedural code, but they are not executed
> together with the simulation flow, and use the procedural context to
> infer their clock and enabling condition, e.g.,
> 
> always @(posedge clk) begin : b1
> 	if (en) begin : b2
> 		...
> 		assert property(a);
> 	end
> end
> 
> is roughly equivalent to
> 
> always @(posedge clk) begin
> 	if (en) begin
> 		...
> //		assert property(a);
> 	end
> end
> 
> assert property(@(posedge clk) en |-> a);
> 
> "Roughly" means modulo scope: the original assertion is defined in the
> scope of b2, while the rewritten assertion is defined in the scope of
> the module.
> 
> Regards,
> 
> Dmitry
> 
> -----Original Message-----
> From: owner-sv-ec@server.eda.org [mailto:owner-sv-ec@server.eda.org] On
> Behalf Of Gordon Vreugdenhil
> Sent: Thursday, March 06, 2008 7:35 AM
> To: Korchemny, Dmitry
> Cc: 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
> 
> [Korchemny, Dmitry] ...
> 
> I'd like to have a fairly concise description of the differences
> in rules for immediate assertions, deferred assertions, concurrent
> assertions, and assertions in checkers.  All in the context of
> procedural code since that is the main area where things get
> really messy.  If that cannot be summarized concisely and
> completely, it would make me wonder about the complexity of
> the resulting language and whether we aren't opening the door
> to very difficult language compositionality issues in the future.
> 
> [Korchemny, Dmitry] ...
> 
> Gord
> 

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


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Sun Mar 9 21:12:13 2008

This archive was generated by hypermail 2.1.8 : Sun Mar 09 2008 - 21:15:14 PDT