[prim] Fix prim_packer_fifo when ClearOnRead is false
When we take the first part of an output word, we need to zero the
existing contents.
Signed-off-by: Rupert Swarbrick <rswarbrick@lowrisc.org>
diff --git a/hw/ip/prim/rtl/prim_packer_fifo.sv b/hw/ip/prim/rtl/prim_packer_fifo.sv
index 35482c7..95c143d 100644
--- a/hw/ip/prim/rtl/prim_packer_fifo.sv
+++ b/hw/ip/prim/rtl/prim_packer_fifo.sv
@@ -107,7 +107,7 @@
depth_q;
assign data_d = clear_data ? '0 :
- load_data ? (data_q | wdata_shifted) :
+ load_data ? (wdata_shifted | (depth_q == 0 ? '0 : data_q)) :
data_q;
// set outputs