Subject: Re: [sv-ac] Re: nonblocking assignment in clocking block.
From: Adam Krolnik (krolnik@lsil.com)
Date: Fri Sep 19 2003 - 14:11:07 PDT
Hi Surrendra;
You wrote:
>> 3. Use of always blocks is better to model additional logic.
>You can do this as long as you don't need temporal functions and ended.
Now I'm confused.
Arturo is proposing the ability to test a property/sequence for success
(and failure?) - Isn't the ended method call the same thing?
So, if one can write
wait (aproperty.triggered) // Arturo's current proposal
Then why can't someone write:
always @(posedge clk)
begin
if (aproperty.ended)
inprogress <= 1'b1;
...
Also, why in a procedural block with a defined clock (by the rules for clock inferring)
could you not use the $past or $sampled functions?
Any variables set in a clocking domain are executed in the reactive region,
after the properties have been evaluated. It would seem that one could
use always blocks/code just as effectively.
I still think only supporting a nonblocking assignment is too minimalistic of a
proposal at a language design level. It would be a fine restriction in a
quarterly released tool though :)
Arturo:
I would be interested in refining the EXT-7 Proposal to define the difference between
.ended and .triggered and possible add a .failed and possibly a method to
tell how many threads of a property are executing (or if any are executing.)
Thanks Surrendra, Arturo;
Adam Krolnik
Verification Mgr.
LSI Logic Corp.
Co-author "Assertion Based Design"
This archive was generated by hypermail 2b28 : Fri Sep 19 2003 - 14:12:00 PDT