In reply to shakti meva:
When wr_en is high for 16 consecutive cycle then only full is going to be checked
and if full is not high then only it should give a asssertion error not on every clk when it’s checking
ap_we_full: assert property(@ (posedge clk) ( WR_EN )[*16] |-> FULL );
// Above assertion states that at every attempt there is an evaluation of that assertion.
// For every attempt, at the end point of 16 repeats of WR_EN, then FULL==1 else failure.
// We need to see your testbench
// @cycle 0 1 2 3 4 5 6 7 8 9 A B C D
// <-------------16-------------->
// <-------------16-------------->
// <-------------16-------------->
WE_EN 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
FULL x x x x x x x x x x x x x x x x 1 1 0
Pass/Fail <-------- active -----------> P // thread for non vacuous attempt @1
<-------- active -----------> P // thread for non vacuous attempt @2
<-------- active -----------> F // thread for non vacuous attempt @3
Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
For training, consulting, services: contact http://cvcblr.com/home.html
** SVA Handbook 4th Edition, 2016 ISBN 978-1518681448
…
- SVA Package: Dynamic and range delays and repeats SVA: Package for dynamic and range delays and repeats - SystemVerilog - Verification Academy
- Free books: Component Design by Example https://rb.gy/9tcbhl
Real Chip Design and Verification Using Verilog and VHDL($3) https://rb.gy/cwy7nb - Papers:
- Understanding the SVA Engine,
https://verificationacademy.com/verification-horizons/july-2020-volume-16-issue-2 - SVA Alternative for Complex Assertions
https://verificationacademy.com/news/verification-horizons-march-2018-issue - SVA in a UVM Class-based Environment
https://verificationacademy.com/verification-horizons/february-2013-volume-9-issue-1/SVA-in-a-UVM-Class-based-Environment