Assertion to check pulse 2 inside pulse 1

In reply to syed taahir ahmed:
Restating your requirements:

  1. Following the rise of “a”, “a” should be stable for 10 to 100 cycles.
  2. “a” represents an envelope in which a single pulse “b” should occur once.

  initial 
    ap_b_in_a: assert property(@ (posedge clk) 
       $rose(a)[->1] |-> a[*10:100]  intersect b[->1] ##1 b==0[*1:$]);  
     

Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact Home - My cvcblr


  1. SVA Alternative for Complex Assertions
    Verification Horizons - March 2018 Issue | Verification Academy
  2. SVA: Package for dynamic and range delays and repeats | Verification Academy
  3. SVA in a UVM Class-based Environment
    SVA in a UVM Class-based Environment | Verification Horizons | Verification Academy