In reply to hisingh:
on #1:
ack[=1] intersect 1[*5]; would be the same as those five options
!ack[*0] ##1 ack ##1 !ack[*4] or // same as: ack ##1 !ack[*4]
!ack[*1] ##1 ack ##1 !ack[*3] or
!ack[*2] ##1 ack ##1 !ack[*2] or
!ack[*3] ##1 ack ##1 !ack[*1] or
!ack[*4] ##1 ack ##1 !ack[*0] // Same as: !ack[*4] ##1 ack
(2) Is the above solution an alternative to your unique solution in :: Uniq_Ack
NO. What happens is the antecedent is a match in cycle 1, 2, 3 and ack is true in cycle 5?
The assertion for those 3 attempts would pass in t5.
The uniqueness thing that you are referring in the link checks that if you have an ack, there was only a single request for it, ulike have 3 requests satisfied by a single ack
// code from the link
always @(posedge clk) begin
if(req && !ack) req_count <= req_count + 1; // was if(req) ... * 1'b1
if(ack && !req) req_count <= req_count - 1; // was if(ack) ... - 1'b1
end
sequence s_req; @(posedge clk) $rose(req) ##[0:5] 1'b1; endsequence // endpoints at 0, 1, ..5 cycles after req
ap_ack2req: assert property(@(posedge clk) $rose(ack) |-> req_count > 0 && s_req.triggered);
Ben Cohen
http://www.systemverilog.us/ ben@systemverilog.us
** 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 | Verification Academy
- 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) https://rb.gy/cwy7nb - Papers:
- Understanding the SVA Engine,
Verification Horizons - July 2020 | Verification Academy - Reflections on Users’ Experiences with SVA
Reflections on Users’ Experiences with SVA | Verification Horizons - March 2022 | Verification Academy - SVA Alternative for Complex Assertions
Verification Horizons - March 2018 Issue | Verification Academy - SVA in a UVM Class-based Environment
SVA in a UVM Class-based Environment | Verification Horizons | Verification Academy
Udemy courses by Srinivasan Venkataramanan (http://cvcblr.com/home.html)
https://www.udemy.com/course/sva-basic/
https://www.udemy.com/course/sv-pre-uvm/