Re: [sv-ac] Mantis 1698

From: Thomas Thatcher <Thomas.Thatcher_at_.....>
Date: Tue Jan 29 2008 - 12:50:02 PST
Hi Ed,

What we could say is that the LOGICAL equivalent is
always @clk past_variable <= $sampled(x);

The timing is different, and in addition, that @clk is not considered an 
edge-triggered specification.  It would be inferred as a buffer, not a 
flip-flop.

Tom

Eduard Cerny wrote:
> Hi to start the discussion, I copy here the note I put on mantis 1698
> quite a while ago. Could that be used?
> 
> ---
> Regardless where $past(x,,,@clk) is called from, the RTL equivalent is
> 
> always @clk past_variable <= $sampled(x);
> 
> and executes in the active region.
> 
> If $past is called from active, reactive or observed regions, replace
> the call by $sampled(past_variable).
> 
> In synthesized code which executes in the active region, use the
> past_variable directly. Provided that the model follows synthesis rules
> and is not racy, the behavior should be equivalent to that in the
> original model using $past.
> 
> The other functions, $rose, $fell and $stable would follow. 
> 
> ----
> 
> Best...
> ed
> 

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

This archive was generated by hypermail 2.1.8 : Tue Jan 29 2008 - 13:18:55 PST