Assertions - signal stability until a certain signal posedge

Your assertion looks OK unless you want the stability when PREADY==1.
2 options

 
property stable_paddr;
    @(posedge PCLK)
    disable iff (!PRESETn)
    $changed(PADDR) |=> 
        strong(first_match($stable(PADDR) [*1:$] ##1 $rose(PREADY)) ##0 $stable(PADDR));
  endproperty

// you can also consider the use of the s_unti_with

property stable_paddr2; // 
    @(posedge PCLK)
    disable iff (!PRESETn)
    $changed(PADDR) |=> 
               $stable(PADDR) s_until_with PREADY ##0 $stable(PADDR);
  endproperty


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

  • SVA Handbook 4th Edition, 2016 ISBN 978-1518681448
  • A Pragmatic Approach to VMM Adoption 2006 ISBN 0-9705394-9-5
  • Using PSL/SUGAR for Formal and Dynamic Verification 2nd Edition, 2004, ISBN 0-9705394-6-0
  • Real Chip Design and Verification Using Verilog and VHDL, 2002 isbn 978-1539769712
  • Component Design by Example ", 2001 ISBN 0-9705394-0-1
  • VHDL Coding Styles and Methodologies, 2nd Edition, 1999 ISBN 0-7923-8474-1
  • VHDL Answers to Frequently Asked Questions, 2nd Edition ISBN 0-7923-8115

  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