Skip to content

Commit 0b72449

Browse files
committed
recovery: refactor payload_available logic
Signed-off-by: Karol Gugala <[email protected]>
1 parent c4e33bb commit 0b72449

File tree

1 file changed

+5
-17
lines changed

1 file changed

+5
-17
lines changed

src/recovery/recovery_executor.sv

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -149,8 +149,7 @@ module recovery_executor
149149
logic [15:0] csr_length;
150150
logic csr_writeable;
151151

152-
logic payload_available_d, payload_available_q;
153-
logic payload_available_write;
152+
logic payload_available_q;
154153
assign payload_available_o = payload_available_q;
155154

156155
// ....................................................
@@ -755,22 +754,11 @@ module recovery_executor
755754
//
756755
// De-assertion:
757756
// The payload_available signal must reset if recovery FIFO indicates empty.
758-
always_comb begin : payload_available
759-
payload_available_d = 1'b0;
760-
payload_available_write = 1'b0;
761-
if (~payload_available_q && (indirect_rx_full_i | (image_activated_o && ~indirect_rx_empty_i)))
762-
begin
763-
payload_available_d = 1'b1;
764-
payload_available_write = 1'b1;
765-
end
766-
if ( payload_available_q && indirect_rx_empty_i) begin
767-
payload_available_d = 1'b0;
768-
payload_available_write = 1'b1;
769-
end
770-
end : payload_available
771757
always_ff @(posedge clk_i or negedge rst_ni)
772-
if (!rst_ni) payload_available_q <= '0;
773-
else payload_available_q <= payload_available_write ? payload_available_d : payload_available_q;
758+
if (!rst_ni) payload_available_q <= 1'b0;
759+
else if (indirect_rx_full_i | (image_activated_o && ~indirect_rx_empty_i)) payload_available_q <= 1'b1;
760+
else if (indirect_rx_empty_i) payload_available_q <= 1'b0;
761+
else payload_available_q <= payload_available_q;
774762

775763
// Image activation logic.
776764
assign image_activated_o = (hwif_rec_i.RECOVERY_CTRL.ACTIVATE_REC_IMG.value == 8'h0F);

0 commit comments

Comments
 (0)