[prim_fifo/fpv] This adds an FPV testbench for sync FIFOs

This adds an FPV testbench that tests differently parameterized FIFOs:
 - a depth 0 pass through FIFO
 - depth 1, 7, 8, 15, 16 pass through FIFOs
 - depth 1, 7, 8, 15, 16 non-pass through FIFOs

Data/depth value checks are enabled up to depth 8 in order to constrain
the runtime.

Signed-off-by: Michael Schaffner <msf@opentitan.org>
diff --git a/hw/ip/prim/rtl/prim_fifo_sync.sv b/hw/ip/prim/rtl/prim_fifo_sync.sv
index 310b222..f0fa99a 100644
--- a/hw/ip/prim/rtl/prim_fifo_sync.sv
+++ b/hw/ip/prim/rtl/prim_fifo_sync.sv
@@ -141,4 +141,13 @@
   end // block: gen_normal_fifo
 
 
+  //////////////////////
+  // Known Assertions //
+  //////////////////////
+
+  `ASSERT(DataKnown_A, rvalid |-> !$isunknown(rdata), clk_i, !rst_ni)
+  `ASSERT_KNOWN(DepthKnown_A, depth, clk_i, !rst_ni)
+  `ASSERT_KNOWN(RvalidKnown_A, rvalid, clk_i, !rst_ni)
+  `ASSERT_KNOWN(WreadyKnown_A, wready, clk_i, !rst_ni)
+
 endmodule