SVA Assertion - address does not change while request is asserted

I have to write an assertion for the functionality that addr does not change (is stable) while req is asserted

Will the following assertion work optimally or is there a better way to write it

assert property (@(posedge clk) req == 1 |=> $stable(addr));

Thanks

In reply to verification_engineer_smart:
Depends on your requirements for stable


addr. 0.0.8.8.0
req.  0.0.1.
 req == 1 |=> $stable(addr)
----------
addr. 0.8.8.0
req.  0.0.1.
 req == 1 |-> $stable(addr)

// if 1st cycle is of interest 
  ##1 req == 1 |-> $stable(addr)

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

  1. SVA Package: Dynamic and range delays and repeats SVA: Package for dynamic and range delays and repeats | Verification Academy
  2. Free books: Component Design by Example FREE BOOK: Component Design by Example … A Step-by-Step Process Using VHDL with UART as Vehicle | Verification Academy
    Real Chip Design and Verification Using Verilog and VHDL($3) Amazon.com
  3. Papers: