1

Waveform:-

Waveform

I did a property as:

property p1;
   a |=> (b == 1)[=2] ##1 (c == 1)[=2]
endproperty

But this property doesn't work well for this waveform, it isn't working for 3 or more "b's" before the "c's" and it isn't working for "c's" after the first "b".

I need a property that just can pass after the "a" signal just 2 "b's" and after just "2 c's" with any quantity of gaps between them.

thanks for help.

AndresM
  • 1,293
  • 10
  • 19

1 Answers1

1

You do not specify that b should not be 1 when during the pulses on c, nor do you specify that c should not be 1 during the pulses on b.

So, how about something like this:

property p1;
   a |=> ((c == 0) throughout (b == 1)[->2]) ##1 ((b == 0) throughout (c == 1)[->2]);
endproperty

The [->N] operator is the exact non-consecutive repetition operator or goto repetition operator. With goto repetition, the expression must hold in the final cycle of the match; in other words, the match is achieved as soon as the specified number of repetitions has occurred.

Matthew Taylor
  • 13,365
  • 3
  • 17
  • 44