@@ -149,8 +149,7 @@ module recovery_executor
149
149
logic [15 : 0 ] csr_length;
150
150
logic csr_writeable;
151
151
152
- logic payload_available_d, payload_available_q;
153
- logic payload_available_write;
152
+ logic payload_available_q;
154
153
assign payload_available_o = payload_available_q;
155
154
156
155
// ....................................................
@@ -755,22 +754,11 @@ module recovery_executor
755
754
//
756
755
// De-assertion:
757
756
// 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
771
757
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;
774
762
775
763
// Image activation logic.
776
764
assign image_activated_o = (hwif_rec_i.RECOVERY_CTRL .ACTIVATE_REC_IMG .value == 8'h0F );
0 commit comments