Trigger event
edge(b)
edge(b)
takes a scalar boolean expression b
as
input. It returns true, and triggers an event, when and only when
the input argument changes value from false to true. The return data
type of edge
is event
. Event
data type is a special category of boolean type, which returns true
only instantaneously, and returns false otherwise.
The following graphic illustrates the difference between boolean and event data types.
edge(b)
returns true only when b
changes
from false to true.
You use the edge
operator to define event
predicates in when
clauses. For more information,
see events
.
edge(b)
returns true when b
changes
from false to true, that is, triggers an event on the rising edge
of condition b
.
To trigger an event on the falling edge of condition b
,
use edge(~b)
.
To trigger an event both on the rising edge and on the falling
edge of condition b
, use edge(b)||edge(~b)
as
the event predicate in the when
clause. For more
information on data derivation rules between boolean and event data
types, see Event Data Type and edge Operator.
To trigger an event at a specific time, for example, 2 seconds
after the start of simulation, use edge(time>{2.0,'s'})
.