RE: [sv-ac] mantis 1550

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Thu Nov 02 2006 - 12:12:02 PST
Hi Stu,

I guess the question was related to the following: what happens if you
write @($smapled(x)) where will it be scheduled. In my view and if I
understood what Arturo wrote, if $sampled changed for the current time
step and the event control is is in a module, it will unblock in active
region, if it is in program it will unblock in reactive region.

ed


> -----Original Message-----
> From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On 
> Behalf Of Stuart Sutherland
> Sent: Thursday, November 02, 2006 2:55 PM
> To: sv-ac@eda-stds.org
> Subject: RE: [sv-ac] mantis 1550
> 
> 
> This message thread has me confused.  I do not understand how 
> a "sampled"
> value can have an "update" event.  From my user point of 
> view, I expect
> $sampled and $past simply return to me the STABLE value of a 
> signal as it
> exists in the Preponed region of the specified time step.  It 
> makes no sense
> for a STABLE value to need an update event!
> 
> I use currently use $sampled in pass/fail action blocks as a 
> way to print
> the Preponed sampled values used by an assertion to determine 
> if a sequence
> passed or failed.  If you now tell me that the sampled value can be a
> changing value, then $sampled and $past become completely worthless.
> 
> Furthermore, if I am reading the message thread correctly, 
> there seems to be
> discussion about acting on changes in the Postponed region.  
> This region is
> very clearly defined as the point in a time step where all 
> activity for that
> time step has been processed, and NO MORE EVENT ACTIVITY CAN 
> OCCUR.  Once
> simulation reaches the Postponed region, there are no more 
> iterations within
> the time step to process the affects of changes, and changes 
> are strictly
> prohibited.  It is a read-only region.  
> 
> Can someone please explain to me what the AC committee is trying to
> accomplish by looking for changes on a $sampled or $past value?  
>  
> Stu
> ~~~~~~~~~~~~~~~~~~~~~~~~~
> Stuart Sutherland
> stuart@sutherland-hdl.com
> +1-503-692-0898
>   
> 
> > -----Original Message-----
> > From: owner-sv-ac@server.eda.org 
> > [mailto:owner-sv-ac@server.eda.org] On Behalf Of Arturo Salz
> > Sent: Thursday, November 02, 2006 11:18 AM
> > To: Eduard Cerny; john.havlicek@freescale.com; 
> > sv-ac@server.eda-stds.org
> > Subject: RE: [sv-ac] mantis 1550
> > 
> > I believe a more accurate statement would be:
> > 
> > "Sampled values such as those returned by the $sampled and $past
> > functions are updated in the Postponed region"
> > 
> > However, currently writing something like
> > 	always @($time) ...
> > will not work as expected. If we expect $sampled and $past to 
> > behave in
> > this manner then they must be defined that way explicitly.
> > 
> > 	Arturo
> > 
> > -----Original Message-----
> > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On Behalf Of
> > Eduard Cerny
> > Sent: Thursday, November 02, 2006 9:51 AM
> > To: john.havlicek@freescale.com; sv-ac@eda-stds.org
> > Subject: RE: [sv-ac] mantis 1550
> > 
> > Hi John,
> > 
> > I will try to put something like that in the text...
> > 
> > ed 
> > 
> > > -----Original Message-----
> > > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On 
> > > Behalf Of John Havlicek
> > > Sent: Thursday, November 02, 2006 12:47 PM
> > > To: sv-ac@eda-stds.org
> > > Subject: Re: [sv-ac] mantis 1550
> > > 
> > > Hi Ed:
> > > 
> > > Can we have a clear statement somewhere in 17.7.3 that 
> says that the
> > > return values of all of the sampled value functions change 
> > only in the
> > > postponed region?
> > > 
> > > Also, can we have a statement that update events due to changes in
> > > sampled value functions are scheduled in the appropriate 
> > region of the
> > > next time slot?  [It is still not clear to me that all 
> these will go
> > > to the active region -- maybe some will go, e.g., to the reactive
> > > region.]
> > > 
> > > If the redundancy is the bottleneck, one could say 
> > something like, "It
> > > follows from the scheduling semantics (Section 9) that <blah 
> > > blah blah>."
> > > 
> > > Best regards,
> > > 
> > > John H.
> > > 
> > > > X-MimeOLE: Produced By Microsoft Exchange V6.5.7226.0
> > > > Content-class: urn:content-classes:message
> > > > Date: Thu, 2 Nov 2006 07:58:41 -0800
> > > > Thread-Topic: [sv-ac] mantis 1550
> > > > Thread-Index: Acb+j4hFCYP8sfsBR0avmxNqtXjgewABQSDgAADLaVA=
> > > > From: "Eduard Cerny" <Eduard.Cerny@synopsys.com>
> > > > X-OriginalArrivalTime: 02 Nov 2006 15:58:42.0631 (UTC) 
> > > FILETIME=[C50FED70:01C6FE97]
> > > > 
> > > > That's what I had in mind and tried to explain.
> > > > ed=20
> > > > 
> > > > > -----Original Message-----
> > > > > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On=20
> > > > > Behalf Of Rich, Dave
> > > > > Sent: Thursday, November 02, 2006 10:53 AM
> > > > > To: john.havlicek@freescale.com; sv-ac@eda-stds.org
> > > > > Subject: RE: [sv-ac] mantis 1550
> > > > >=20
> > > > > I think the semantics of the return value of these 
> > function is no
> > > > > different then the simple Verilog system function $time.=20
> > > > >=20
> > > > > You have to distinguish between the values returned by=20
> > > > > references to the
> > > > > function versus evaluation events scheduled by a 
> > > processes waiting on
> > > > > the event expression. This is somewhat harder to put into=20
> > > > > words than to
> > > > > actually implement it.
> > > > >=20
> > > > > I think it is OK to say that the value that will be 
> > > returned by the
> > > > > function is updated in the postponed region because no one=20
> > > > > can schedule
> > > > > a call in that region. You can also say that an 
> update event is
> > > > > scheduled for the active region of the next time slot.
> > > > >=20
> > > > > Dave
> > > > >=20
> > > > >=20
> > > > > > -----Original Message-----
> > > > > > From: owner-sv-ac@server.eda.org 
> > > [mailto:owner-sv-ac@server.eda.org]
> > > > > On
> > > > > > Behalf Of John Havlicek
> > > > > > Sent: Thursday, November 02, 2006 6:59 AM
> > > > > > To: sv-ac@server.eda-stds.org
> > > > > > Subject: [sv-ac] mantis 1550
> > > > > >=20
> > > > > > Hi Ed:
> > > > > >=20
> > > > > > In general, I like the semantics for $sampled and $past 
> > > in your 1550
> > > > > > proposal, but I have some concerns that make me vote 
> > > "no" at this
> > > > > > time.
> > > > > >=20
> > > > > > 1. I don't think we have yet clarified when the return=20
> > > > > values of these
> > > > > >    functions change.  You say that $sampled is stable 
> > > throughout the
> > > > > >    simulator timestep and that $past changes in the=20
> > > > > postponed region.
> > > > > >=20
> > > > > >    Can the return value of $past really change in the 
> > postponed
> > > > > region?
> > > > > >=20
> > > > > >    I think it is bad if there can be calls/references 
> > > to any of the
> > > > > >    sampled value functions between the point that the 
> > > return value
> > > > > >    of one changes and the point that the return value 
> > of another
> > > > > >    changes in the same timestep.
> > > > > >=20
> > > > > > 2. A related question is that of the semantics of 
> > > events that refer
> > > > > >    to sampled value functions.  The intuition seems to 
> > > be that the
> > > > > >    return values of sampled value functions change "in 
> > > between" the
> > > > > >    simulation timesteps, so when do we schedule 
> something like
> > > > > >=20
> > > > > >       @($sampled(p)) S1
> > > > > >=20
> > > > > >    when written in various contexts (e.g., in a 
> module, in=20
> > > > > a program)?
> > > > > >=20
> > > > > >=20
> > > > > > 3. I would like to see $rose, $fell, and $stable 
> > > defined in terms of
> > > > > >    $sampled and $past.  I think this should be easy.
> > > > > >=20
> > > > > > We may need to get some SV-BC or other help with 
> > items 1 and 2.
> > > > > >=20
> > > > > > Best regards,
> > > > > >=20
> > > > > > John H.
> > > > >=20
> > > > >=20
> > > 
> > 
> > 
> > 
> 
> 
Received on Thu Nov 2 12:12:10 2006

This archive was generated by hypermail 2.1.8 : Thu Nov 02 2006 - 12:12:20 PST