property = MaxRisingFrequency(condition=..., check=..., freqHzMax=...).y;
In every duration where the Boolean input condition is true, the frequency of the rising edges of Boolean input check is limited by freqHzMax. Therefore, in every true condition phase the constraint shall hold:
1/T ≤ freqHzMax
where T is the time duration between two rising edges of check. The frequency 1/T is also provided as additional output signal freqHz. Once the frequency cannot be computed (outside of the true condition phase, or before the second rising edge of check in a true condition phase), it is set to freqHz = 0. If the frequency is not larger as freqHzMax, property output y is set to Satisfied. If the limit is violated, y = Violated. In all other cases, y = Undecided.
Violated, Undecided, and Satisfied are elements of enumeration Property.
This block is demonstrated with the following example where the check signal has first a frequency of 2 Hz, then of 4 Hz, and then again of 2 Hz and the maximum allowed frequency is 3 Hz:
results in
simulation result |