I don't have my LRM handy (I'm away this week) so I can't look up the section reference but there is an explicit example that shows that event assignment does NOT change the underlying sensitivity -- i.e. having: @e1; e1 = e2; -> e1; // or -> e2 does not cause the event control to trigger since the waiting process is waiting on a particular synchronization object. Although the case that you raise isn't directly addressed, given the above, I think that one should conclude that when one waits on the synch object, one remains waiting there even if the class handle changes. As you observe, there is no "value change" related to an event so different rules apply. If the class object goes away, the waiting process won't ever wake up (as with the LRM example that doesn't use class refs). Gord. -----Original Message----- From: owner-sv-ec@server.eda.org on behalf of Daniel Mlynek Sent: Tue 8/25/2009 1:36 AM To: sv-ec@server.eda.org Cc: 'Marek Nadrowski' Subject: [sv-ec] event control on class member of event type I cannot find description of such case in LRM. Event has no value in contrast to other types - so this case is quite different than event control on class member on not event type. IMHO this should be explicitly defined by the LRM. class C; event e; endclass module top; C c1=new, c2=new; always @c1.e $display("event triggered"); //what happens when c1 will change? initial begin #1 c1=c2; //here c1 changes - what about c1.e ??? #1 ->c1.e; end endmodule DANiel -- 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 Tue Aug 25 08:58:57 2009
This archive was generated by hypermail 2.1.8 : Tue Aug 25 2009 - 08:59:47 PDT