[sv-ac] RE: sv-ac 1531

From: Eduard Cerny <Eduard.Cerny_at_.....>
Date: Fri Jul 14 2006 - 07:06:21 PDT
But figuring out all the cases that may  or may not be legal need not be
easy. 
Yet, such a static variable is useful when used with caution. Could we
just state that if there is a point in time when a non-deterministic
choice arises (a WAW, RAW/WAR hazard) then the property is illegal?
Without having to enumerate the possible cases?

ed


> -----Original Message-----
> From: Doron Bustan [mailto:dbustan@freescale.com] 
> Sent: Friday, July 14, 2006 9:48 AM
> To: Eduard Cerny
> Cc: sv-ac@eda-stds.org
> Subject: Re: sv-ac 1531
> 
>  From practical point of view I don't think that it should be 
> possible 
> for two
> different tools to give different results for the same pure SVA 
> assertion. If you choose
> to use tasks to create side affects, that should be at your own risk.
> 
>  From theoretical point of view, for every assertion A and 
> computation W
> there should be a clear status of whether the computation 
> satisfies the 
> property.
> There is a refinement for weak and strong satisfaction, but 
> that is also 
> deterministic.
> This definition should be used in simulation, formal, emulation etc.
> 
> Doron
> 
> Eduard Cerny wrote:
> 
> >Doron,
> >
> >I would be for leaving the semantics as loose as possible, in other
> >words, if the user writes to a global variable from two parallel
> >processes, there is nothing in the language to stop him/her. 
> Why do we
> >have to policy it in the assertios? As I said earlier, if I 
> use tasks, I
> >can do this today, but it is cumbersome. 
> >
> >ed
> > 
> >
> >  
> >
> >>-----Original Message-----
> >>From: Doron Bustan [mailto:dbustan@freescale.com] 
> >>Sent: Thursday, July 13, 2006 6:27 PM
> >>To: Eduard Cerny
> >>Cc: sv-ac@eda-stds.org
> >>Subject: sv-ac 1531
> >>
> >>Ed,
> >>
> >>we need a  definition of a semantic for static local variables.
> >>In particular it make sense to define different flow rules
> >>for static local variables.
> >>
> >>for example
> >>
> >>property p1;
> >>logic [3:0] v;
> >>
> >>((a, v = 1) or (b, v=2)) ##1 (v == 1);
> >>endproperty
> >>
> >>is legal, but
> >>
> >>property p2;
> >>static logic [3:0] v;
> >>
> >>((a, v = 1) or (b, v=2)) ##1 (v == 1);
> >>endproperty
> >>
> >>probably should not be legal, because the value of v flowing 
> >>out of ((a, 
> >>v = 1) or (b, v=2)) is undefined.
> >>
> >>BTW, I think that initialization should be in a separate proposal.
> >>
> >>Doron
> >>    
> >>
> >
> >  
> >
> 
> 
Received on Fri Jul 14 07:06:26 2006

This archive was generated by hypermail 2.1.8 : Fri Jul 14 2006 - 07:06:29 PDT