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