property = BandRising(check=..., window=..., nRisingMin=1, nRisingMax=2).y;
In any (sliding) time window of length window, the number or rising edges of the Boolean input check (= nRising) must be ≥ parameter nRisingMin and ≤ parameter nRisingMax. Whenever this property is fulfilled, Property output y = Satisfied. If this property is not fulfilled at the end of a sliding time window, Property output y = Violated (exception: before the end of the first time window, y = Undecided provided nRising ≤ nRisingMax):
y = if nRising ≥ nRisingMin and nRising ≤ nRisingMax then Satisfied else (if first and nRising ≤ nRisingMax then Undecided else Violated);
Violated, Undecided, and Satisfied are elements of enumeration Property.
The property is demonstrated with the following example calling the block as:
results in
simulation result |