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.Received on Thu Jan 25 06:40:57 2007
This archive was generated by hypermail 2.1.8 : Thu Jan 25 2007 - 06:41:02 PST