RE: [sv-ec] event control on class member of event type

From: Vreugdenhil, Gordon <gordon_vreugdenhil_at_.....>
Date: Tue Aug 25 2009 - 08:58:02 PDT
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