RE: [sv-ac] usage of .triggered on a sequence

From: Jonathan Bromley <jonathan.bromley_at_.....>
Date: Fri Mar 23 2007 - 00:27:57 PDT
Manisha,
 
For regular events (which also have a .triggered method) the situation is fairly clear: 
E.triggered becomes true (value 1'b1 of type bit) when the event is emitted, and becomes
false at the end of the timestep, that is, on exit from the Postponed region.  User code
has no access to that, so it is completely safe for user code (and PLI) to assume that
E.triggered remains true throughout the timeslot and is false at the beginning of the
next timeslot, whenever that next timeslot may be.
 
I would imagine that the behaviour of SEQ.triggered should be analogous.  Certainly,
I have written code that relies on such behaviour, and it *seems* to work :-)
 
Since <anything>.triggered is just an expression of type bit, there is presumably no 
difficulty in waiting for or testing its inverse.  The semantics of wait(!E.triggered) are 
a little bizarre,  though...  continue execution without delay if E.triggered is false, 
otherwise wait until simulation time advances...  

	Currently LRM only has examples where .triggered property is checked for its positive value. E.g.
	  wait (s0.triggered) or if (s0.triggered)
	 
	Is it allowed to check for the negative value of .triggered ? E.g.
	  wait (s0.triggered == 0) or  if (s0.triggered == 0)
	 
	It is clear in the LRM when the value of .triggered becomes 1 (in Observe region) but there is no clarity on when it becomes 0 (i.e. in which region ?).
	 
	If checking for value 0 is allowed, when should a wait statement should unblock ?

 
Regards
 
Jonathan Bromley
 

-- 
This message has been scanned for viruses and 
dangerous content by MailScanner <http://www.mailscanner.info/> , and is 
believed to be clean. 

-- This message has been scanned for viruses anddangerous content by MailScanner, and isbelieved to be clean.
Received on Fri Mar 23 00:28:21 2007

This archive was generated by hypermail 2.1.8 : Fri Mar 23 2007 - 00:28:47 PDT