I think that values assigned in initial blocks should not be used as the sampled value. that assignment happens at time 0+. The default or declaration assigned value should be used. ed > -----Original Message----- > From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On > Behalf Of Doron Bustan > Sent: Thursday, January 25, 2007 9:40 AM > To: Miller Hillel-R53776 > Cc: Havlicek John-r8aaau; sv-ac@eda-stds.org > Subject: Re: [sv-ac] reminder to vote on mantis 1550 > > That rise another issue that I was not aware of. > Since assertions use sampled values, it means that on time 0 > they use the default variables values, even if they are assigned > to different values in initial blocks. Is that what we want? > > Doron > > Miller Hillel-R53776 wrote: > > >John, > > > >I am not sure we should make such an inconsistency it sounds > troubling. > > > >However, the reason why static variable declarartion > assignments cannot > >be used, is that it cannot be used by an outer module reference. If I > >want to influence the initial value of a $ function that is > dependent on > >a module's reg, how would this be done. Would I need to > rewrite the code > >with the declaration assignment? > > > >Maybe we need an additional construct for initializing the $sampled > >value of a variable at the same time as assignment declaration. > > > >Thanks > > > > > > > > > > > >Hillel Miller> > > > > > >-----Original Message----- > >From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] On > Behalf Of John > >Havlicek > >Sent: Thursday, January 25, 2007 3:42 AM > >To: sv-ac@eda-stds.org > >Subject: Re: [sv-ac] reminder to vote on mantis 1550 > > > >Hillel & Ed: > > > >I think there are several things going on here. > > > >First, based on 9.3.1, I think that the declaration assignments for > >static variables execute as part of > > > > initialize the values of all nets and variables > > > >Then the initialization events are scheduled into the time 0 slot. > >This does not mean that any assignments from an initial block are > >performed yet. > > > >Then, assuming that there is some event, we execute the time 0 slot. > > > >Then the preponed region of the time 0 slot is executed. > > > >Thus, the declaration assignments for static variables will influence > >the preponed values in the time 0 slot. > > > >If $sampled refers to a static variable with declaration assignment, > >then I think that in the time 0 slot the value from the declaration > >assignment should be used rather than the default initial > value for the > >type of the variable. > > > >The statement in the proposal that $sampled returns the > default intial > >value (presumably of the type) of its argument in the time 0 > slot could > >therefore be inconsistent with the statement that $sampled > returns the > >preponed value of its argument in the current time slot, and should > >probably either be removed or clarified. > > > >I think that according to 9.3.1, assignments in an initial > block will be > >scheduled for the active region of the time 0 slot. These > assignments > >do not, I believe, affect the preponed values in the time 0 > slot. If we > >consider $sampled always to return the preponed value, then initial > >block assignments will not affect $sampled in the time 0 slot. > > > >Hillel, are you asking for the defintion of $sampled to be > influenced by > >initial block assignments in the time 0 slot? If so, then the > >definition of $sampled needs to be changed to distinguish the time 0 > >slot from all the other time slots. I would like to see a strong > >rationale for such an inconsistency, one that explains, > e.g., why static > >variables with declaration assignments cannot be used. > > > >Best regards, > > > >John H. > > > > > > > >>Content-class: urn:content-classes:message > >>X-MimeOLE: Produced By Microsoft Exchange V6.5 > >>X-OriginalArrivalTime: 24 Jan 2007 18:30:41.0689 (UTC) > >>FILETIME=[C0BB0090:01C73FE5] > >>Date: Wed, 24 Jan 2007 11:30:36 -0700 > >>X-MS-Has-Attach: > >>X-MS-TNEF-Correlator: > >>Thread-Topic: [sv-ac] reminder to vote on mantis 1550 > >>Thread-Index: > >>Acc/JcA24JDBTV1VQc2QjprTXfKfWwAlgkfgAAIJ6XAAA6aw4AAEm8jwAAAfAlA= > >>From: "Miller Hillel-R53776" <r53776@freescale.com> > >> > >>This is a multi-part message in MIME format. > >> > >>------_=_NextPart_001_01C73FE5.C5169280 > >>Content-Type: text/plain; > >> charset="us-ascii" > >>Content-Transfer-Encoding: quoted-printable > >> > >>Still what is wrong with the proposal to use the value after > >>initialization at time 0? Where does this break consistency? > >> > >>________________________________ > >> > >>From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com]=20 > >>Sent: Wednesday, January 24, 2007 8:27 PM > >>To: Miller Hillel-R53776; Eduard Cerny; Havlicek John-r8aaau; > >>sv-ac@eda-stds.org > >>Subject: RE: [sv-ac] reminder to vote on mantis 1550 > >> > >> > >>Hi Hillel, > >>=20 > >>apart from the uesr initialization, what is really the problem with > >>the current definition? Yes, it can happen when there is a clocking > >>event at time 0, or if you have $past with longer number of > clocks to > >>go back, etc. > >>=20 > >>Best regards, > >>ed > >>=20 > >>PS the forced initialization can be a feature of a tool, > not the LRM. > >>=20 > >> > >> > >>________________________________ > >> > >> From: Miller Hillel-R53776 [mailto:r53776@freescale.com]=20 > >> Sent: Wednesday, January 24, 2007 1:14 PM > >> To: Eduard Cerny; Havlicek John-r8aaau; sv-ac@eda-stds.org > >> Subject: RE: [sv-ac] reminder to vote on mantis 1550 > >>=09 > >>=09 > >> Ed, > >> =20 > >> What $ functions use $sampled values which are to be before time > >> > >> > >0? > > > > > >> =20 > >> Does this happen when there is a "clocking event" at time > >> > >> > >zero?=20 > > > > > >> =20 > >> Why can't we take the route of using the values after > >> > >> > >initialization > > > > > >>as the $sampled value in the first preponed region at time 0? What > >>does this break? > >> =20 > >> There also needs to be away to allow the user to control the > >>initialization of the $functions at time Zero. This could > be needed if > >> > >> > > > > > > > >>a counter example is produced by a formal tool that needs to be > >>replayed in simulation. If the $sampled at the first > preponed region > >>is from the time 0 initilization stage then this is doable. > >> =20 > >> Thanks > >> Hillel > >> =20 > >> =20 > >> =20 > >>________________________________ > >> > >> From: Eduard Cerny [mailto:Eduard.Cerny@synopsys.com]=20 > >> Sent: Wednesday, January 24, 2007 4:31 PM > >> To: Miller Hillel-R53776; Havlicek John-r8aaau; > >> > >> > >sv-ac@eda-stds.org > > > > > >> Subject: RE: [sv-ac] reminder to vote on mantis 1550 > >>=09 > >>=09 > >> Hello Hillel, > >> But the functions use $sampled values which are to be before > >> > >> > >time 0. > > > > > >>Hence the initialization to the default value of the type. > What else > >>would you suggest?ed > >> =20 > >> > >> > >>________________________________ > >> > >> From: owner-sv-ac@eda.org [mailto:owner-sv-ac@eda.org] > >> > >> > >On Behalf Of > > > > > >>Miller Hillel-R53776 > >> Sent: Wednesday, January 24, 2007 8:53 AM > >> To: Havlicek John-r8aaau; sv-ac@eda-stds.org > >> Subject: RE: [sv-ac] reminder to vote on mantis 1550 > >> =09 > >> =09 > >> > >> Hi, > >> > >> I vote no even though I am not elligible. The reason is > >> > >> > >that it is > > > > > >>not clear what the intialized values are of the $ functions. > >> > >> The current schedular code shows an initialization > >> > >> > >process, before > > > > > >>going into the first preponed area (see below). This means that the > >>initial value of an expression is determined by its > initilization at > >>time slot 0 and not by its default type value as specified in the > >>proposal. > >> > >> execute_simulation { > >> > >> T =3D 0; > >> > >> initialize the values of all nets and variables; > >> > >> schedule all initialization events into time 0 slot; > >> > >> while (some time slot is nonempty) { > >> > >> move to the next future nonempty time slot and set T;=20 > >> > >> execute_time_slot (T); > >> > >> } > >> > >> } > >> > >> Hillel Miller> > >> > >> > >> > >> > > > >-- > >This message has been scanned for viruses and dangerous content by > >MailScanner, and is believed to be clean. > > > > > > > > > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Thu Jan 25 06:51:49 2007
This archive was generated by hypermail 2.1.8 : Thu Jan 25 2007 - 06:52:04 PST