Re: [sv-ac] reminder to vote on mantis 1550

From: Doron Bustan <dbustan_at_.....>
Date: Thu Jan 25 2007 - 06:40:19 PST
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