[flash_ctrl] Fix assertion for read verify check
- Fixes #10855
Signed-off-by: Timothy Chen <timothytim@google.com>
diff --git a/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv b/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
index acbbf1f..ff3d91f 100644
--- a/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
+++ b/hw/ip/flash_ctrl/rtl/flash_ctrl_lcmgr.sv
@@ -815,13 +815,15 @@
// assertion
`ifdef INC_ASSERT
- logic [DataWidth-1:0] rma_data;
+ logic [DataWidth-1:0] rma_data_q, rma_data;
always_ff @(posedge clk_i) begin
if (rma_start && rvalid_i && rready_o) begin
- rma_data <= {rma_data[(DataWidth-1) -: BusWidth], rdata_i};
+ rma_data_q <= rma_data;
end
end
+ assign rma_data = {rdata_i, rma_data_q[DataWidth-1 : BusWidth]};
+
// check the rma programmed value actually matches what was read back
`ASSERT(ProgRdVerify_A, rma_start & rd_cnt_en & done_i |-> prog_data == rma_data)