VERIFICATION ASYNCHRONOUS FIFO CUMMINGS

In reply to ben@SystemVerilog.us:
Made a correction; needed the fork -join_none


// Data integrity check 
  property p_read_data_integrity; 
    @(posedge clk_rcv25)
      rd_25 |=>  rdata_from_q==rdata;
  endproperty : p_read_data_integrity
  ap_read_data_integrity : assert property (p_read_data_integrity);
// Assertion is equivalent to 
// Updated 1/27/2023  See my paper rb.gy/mu4ttk
// 
always @(posedge clk_rcv25) 
   if(rd_25) fork 
               do_check();
             join_none
task automatic do_check(); 
   @(posedge clk_rcv25) assert(rdata_from_q==rdata);