RE: [sv-ac] SV-AC #1550 - $sampled

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Sat Dec 16 2006 - 04:51:18 PST
Hillel,

I agree, so I will finally split the mantis item. Also, my last proposal
hass another problem - if the variable x in $past(x) is updated in the
reactive region and the clock in active region, then tha history
register would get updated only on the next clock tick, or so it seems
to me.  So, perhaps the calling context dependent form might still be
better.

Regards,
ed


> -----Original Message-----
> From: Miller Hillel-R53776 [mailto:r53776@freescale.com] 
> Sent: Saturday, December 16, 2006 2:49 AM
> To: Eduard Cerny; sv-ac@eda-stds.org
> Subject: RE: [sv-ac] SV-AC #1550 - $sampled
> 
> Ed,
> 
> I was wondering if we could refer to the $past as an implicit, so that
> it would not need this $sampled in the formulation. It would then be
> consistent with the net primitive from all perspectives.
> 
> In addition.
> 
> If we are going to discuss a synthesizable equivalent form, I 
> would like
> a more formal formulation. This will allow us to see the consistency
> from all perspectives.
> 
> 1. Needs to specify the $past with more then 1 clock cycle.
> 2. Initialization of auxilary variables used to implement the $past.
> 3. Forms for $rose and $fell.
> 4. $past activated on different variable types. Does $past 
> return a type
> equivalent to the type of its input variable?
> 
> Thanks
> 
> Hillel Miller>
> 
> 
> -----Original Message-----
> From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of
> Eduard Cerny
> Sent: Saturday, December 16, 2006 12:15 AM
> To: sv-ac@eda-stds.org
> Subject: [sv-ac] SV-AC #1550 - $sampled
> 
> Hello,
> 
> I have not yet split the item into two, as agreed upon during the last
> meeting. The reason is that I think that the proposal $past can be
> changed so that we could resolve it all under 1550. I added 
> the proposal
> for $past in yet another bug note. It contains the following text:
> 
> ---
> The problem with the proposal in the preceding bug note was that if a
> task contained a reference to $past and it was called from both active
> and reactive region, the implementation was not unique. I think that
> this can be corrected as follows:
> 
> 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 would always execute in the active region,
> just remove $sampled from any of the calls. Provided that the model
> follows synthesis rules and is not racy, the behavior should be
> equivalent to that in the original model using $past. 
> ---
> 
> If you do not see a problem with this kind of formulation, I 
> would work
> it into the official proposal.
> 
> Best regards,
> ed
> 
> 
> 
Received on Sat Dec 16 04:51:29 2006

This archive was generated by hypermail 2.1.8 : Sat Dec 16 2006 - 04:51:48 PST