Assertion question :-

Hello,

Can I please get some help in writing an assertion with this question :-

a signal can be high for m number of clocks within a window of n clocks ?
where n > m

In reply to Ashmika:


  1. a signal is high. 
  2. N widow of clocks 
  3. M signal stays. Assumption: signal stays continuously for M clock cycles. 
  
  property 
   @(posedge clk)
    $rose(signal) |->  1[*N] intersects signal[*M]
  endproperty

In reply to kddholak:

Can You elaborate it a little more ?

I know that for intersect to pass both the antecedent and consequent should start and end at the same time .

In reply to Ashmika:
The above assertion N > M.
N is the number of clock cycles. it can be done by 1[*N] number of clock cylces.
M is the number of clock cycles to stay high signal. signal[*M]
clk |…|…|…|…|…|…|…|…|
signal 0 1 1 1 1 1
1 1 1 1 1 1 …
it will match up your start,and endpoint checks