Here are two examples with local variables, I don't see where the problem is. Let a,b,c,d be design signals and let Z be an action. Property P1; Logic [0:2] v; ( (a ##0 (v = 1) ##1 b ##0 (1, v = 2) ##0 (1,Z)##1 c ##0 (1,v = 3)) or (d [*3] ##0 (1,v = 3)) ) |-> (v==4); endproperty pre_action (P1,Z) = (a ##0 (v = 1) ##1 b ##0 (1, v = 1). Live_tightP(P1,Z) = live_loose(P1, Z) = (a ##0 (v = 1) ##1 b ##0 (1, v = 1)) intersect LVP(P1). ----------------------------------------------------------- Property P2; Logic [0:2] v; ( (a ##0 (v = 1) ##1 b ##0 (1, v = 2) ##0 (1,Z)##1 c ##0 (1,v = 3)) intersect (d [*3] ##0 (1,v = 3)) ) |-> (v==4); endproperty pre_action (P2,Z) = (a ##0 (v = 1) ##1 b ##0 (1, v = 1). live_tight (P2, Z) = ( (a ##0 (v = 1) ##1 b ##0 (1, v = 2)) intersect LV((d [*3] ##0 (1,v = 3))) ) intersect LVP(P2) live_loose(P2, Z) = (a ##0 (v = 1) ##1 b ##0 (1, v = 1)) intersect LVP(P1). -----------------------------------------------------------Received on Sat Feb 11 13:10:45 2006
This archive was generated by hypermail 2.1.8 : Sat Feb 11 2006 - 13:11:49 PST