[prim/fifo_async] Add assertions on pointers

Check that pointers are correctly gray coded by checking for one bit
transitions.

Signed-off-by: Tom Roberts <tomroberts@lowrisc.org>
diff --git a/hw/ip/prim/rtl/prim_fifo_async.sv b/hw/ip/prim/rtl/prim_fifo_async.sv
index d6ff80c..1f4be40 100644
--- a/hw/ip/prim/rtl/prim_fifo_async.sv
+++ b/hw/ip/prim/rtl/prim_fifo_async.sv
@@ -257,6 +257,10 @@
 
   end
 
-  // TODO: assertions on full, empty, gray transitions
+  // TODO: assertions on full, empty
+  `ASSERT(GrayWptr_A, $countones(fifo_wptr_gray_q ^ $past(fifo_wptr_gray_q)) <= 1,
+          clk_wr_i, !rst_wr_ni)
+  `ASSERT(GrayRptr_A, $countones(fifo_rptr_gray_q ^ $past(fifo_rptr_gray_q)) <= 1,
+          clk_rd_i, !rst_rd_ni)
 
 endmodule