Re: [sv-ac] SVA: Intialization of local variables in properties and sequences

From: <VhdlCohen_at_.....>
Date: Thu Feb 24 2005 - 16:19:45 PST
John, 
If we can put that equivalence in the spec, then I agree.  
I really did not think of that equivalence, and tried to simplified matters.  I actually prefer not to have the static requirement.  
In that case, we should define, as you eloquently stated, the meaning of a default assignment in the context of the property expression (i.e., the "(1'b1, list of default_assignments) ##0" 
Thanks for the good suggestion. 
Ben 
In a message dated 2/24/2005 6:50:55 PM Eastern Standard Time, John Havlicek <john.havlicek@freescale.com> writes:

>Ben:
>
>Why is it important for the local variable initializations to be
>static?  If 
>
>   property P (a, b, c); 
>    int v_a=a; 
>    int v_b=0; 
>      @ (posedge clk) (b, v_b=b, v_a+=1) [* 0:10] 
>         ##1 c; 
>   endproperty : P
>
>is equivalent to 
>
>   property P (a, b, c); 
>    int v_a; 
>    int v_b; 
>      @ (posedge clk) 
>         (1'b1, v_b = 0, v_a = a) 
>         ##0 (b, v_b=b, v_a+=1) [* 0:10] 
>         ##1 c; 
>   endproperty : P
>
>then it doesn't matter whether the actual argument passed to "a" is
>static.
>
>Best regards,
>
>John H.
>
>
>> 
>> As addressed previously, I would like to see the capability to initialize local variables in properties and sequence declarations.   The initializations must be STATIC. 
>> This would bring it in line with other initialization of variables in the code, and would simplify coding.  For example: 
>> property P (a, b, c); 
>>  int v_a=a; // actual argument for "a" MUST be STATIC
>>  int v_b=0; // initialized, but value not used in this example
>>    @ (posedge clk) (b, v_b=b, v_a+=1) [* 0:10] 
>>       ##1 c; 
>> endproperty : P
>> assert property (P(5, m, n));
>> 
>


--  
Received on Thu Feb 24 16:19:55 2005

This archive was generated by hypermail 2.1.8 : Thu Feb 24 2005 - 16:19:59 PST