// Generated by CIRCT firtool-1.151.0 module ShiftQueue( input clock, reset, output io_enq_ready, input io_enq_valid, input [33:0] io_enq_bits_pc, input [31:0] io_enq_bits_data, input io_enq_bits_xcpt_pf_inst, io_enq_bits_xcpt_ae_inst, io_enq_bits_replay, io_deq_ready, output io_deq_valid, output [33:0] io_deq_bits_pc, output [31:0] io_deq_bits_data, output io_deq_bits_xcpt_pf_inst, io_deq_bits_xcpt_ae_inst, io_deq_bits_replay, output [4:0] io_mask ); reg valid_0; reg valid_1; reg valid_2; reg valid_3; reg valid_4; reg [33:0] elts_0_pc; reg [31:0] elts_0_data; reg elts_0_xcpt_pf_inst; reg elts_0_xcpt_ae_inst; reg elts_0_replay; reg [33:0] elts_1_pc; reg [31:0] elts_1_data; reg elts_1_xcpt_pf_inst; reg elts_1_xcpt_ae_inst; reg elts_1_replay; reg [33:0] elts_2_pc; reg [31:0] elts_2_data; reg elts_2_xcpt_pf_inst; reg elts_2_xcpt_ae_inst; reg elts_2_replay; reg [33:0] elts_3_pc; reg [31:0] elts_3_data; reg elts_3_xcpt_pf_inst; reg elts_3_xcpt_ae_inst; reg elts_3_replay; reg [33:0] elts_4_pc; reg [31:0] elts_4_data; reg elts_4_xcpt_pf_inst; reg elts_4_xcpt_ae_inst; reg elts_4_replay; always @(posedge clock) begin automatic logic _valid_4_T_4; _valid_4_T_4 = ~valid_4 & io_enq_valid; if (reset) begin valid_0 <= 1'h0; valid_1 <= 1'h0; valid_2 <= 1'h0; valid_3 <= 1'h0; valid_4 <= 1'h0; end else begin valid_0 <= io_deq_ready ? valid_1 | _valid_4_T_4 & valid_0 : _valid_4_T_4 | valid_0; valid_1 <= io_deq_ready ? valid_2 | _valid_4_T_4 & valid_1 : _valid_4_T_4 & valid_0 | valid_1; valid_2 <= io_deq_ready ? valid_3 | _valid_4_T_4 & valid_2 : _valid_4_T_4 & valid_1 | valid_2; valid_3 <= io_deq_ready ? valid_4 | _valid_4_T_4 & valid_3 : _valid_4_T_4 & valid_2 | valid_3; valid_4 <= io_deq_ready ? _valid_4_T_4 & valid_4 : _valid_4_T_4 & valid_3 | valid_4; end if (io_deq_ready ? valid_1 | _valid_4_T_4 & valid_0 : _valid_4_T_4 & ~valid_0) begin elts_0_pc <= valid_1 ? elts_1_pc : io_enq_bits_pc; elts_0_data <= valid_1 ? elts_1_data : io_enq_bits_data; elts_0_xcpt_pf_inst <= valid_1 ? elts_1_xcpt_pf_inst : io_enq_bits_xcpt_pf_inst; elts_0_xcpt_ae_inst <= valid_1 ? elts_1_xcpt_ae_inst : io_enq_bits_xcpt_ae_inst; elts_0_replay <= valid_1 ? elts_1_replay : io_enq_bits_replay; end if (io_deq_ready ? valid_2 | _valid_4_T_4 & valid_1 : _valid_4_T_4 & valid_0 & ~valid_1) begin elts_1_pc <= valid_2 ? elts_2_pc : io_enq_bits_pc; elts_1_data <= valid_2 ? elts_2_data : io_enq_bits_data; elts_1_xcpt_pf_inst <= valid_2 ? elts_2_xcpt_pf_inst : io_enq_bits_xcpt_pf_inst; elts_1_xcpt_ae_inst <= valid_2 ? elts_2_xcpt_ae_inst : io_enq_bits_xcpt_ae_inst; elts_1_replay <= valid_2 ? elts_2_replay : io_enq_bits_replay; end if (io_deq_ready ? valid_3 | _valid_4_T_4 & valid_2 : _valid_4_T_4 & valid_1 & ~valid_2) begin elts_2_pc <= valid_3 ? elts_3_pc : io_enq_bits_pc; elts_2_data <= valid_3 ? elts_3_data : io_enq_bits_data; elts_2_xcpt_pf_inst <= valid_3 ? elts_3_xcpt_pf_inst : io_enq_bits_xcpt_pf_inst; elts_2_xcpt_ae_inst <= valid_3 ? elts_3_xcpt_ae_inst : io_enq_bits_xcpt_ae_inst; elts_2_replay <= valid_3 ? elts_3_replay : io_enq_bits_replay; end if (io_deq_ready ? valid_4 | _valid_4_T_4 & valid_3 : _valid_4_T_4 & valid_2 & ~valid_3) begin elts_3_pc <= valid_4 ? elts_4_pc : io_enq_bits_pc; elts_3_data <= valid_4 ? elts_4_data : io_enq_bits_data; elts_3_xcpt_pf_inst <= valid_4 ? elts_4_xcpt_pf_inst : io_enq_bits_xcpt_pf_inst; elts_3_xcpt_ae_inst <= valid_4 ? elts_4_xcpt_ae_inst : io_enq_bits_xcpt_ae_inst; elts_3_replay <= valid_4 ? elts_4_replay : io_enq_bits_replay; end if (io_deq_ready ? _valid_4_T_4 & valid_4 : _valid_4_T_4 & valid_3) begin elts_4_pc <= io_enq_bits_pc; elts_4_data <= io_enq_bits_data; elts_4_xcpt_pf_inst <= io_enq_bits_xcpt_pf_inst; elts_4_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst; elts_4_replay <= io_enq_bits_replay; end end // always @(posedge) assign io_enq_ready = ~valid_4; assign io_deq_valid = io_enq_valid | valid_0; assign io_deq_bits_pc = valid_0 ? elts_0_pc : io_enq_bits_pc; assign io_deq_bits_data = valid_0 ? elts_0_data : io_enq_bits_data; assign io_deq_bits_xcpt_pf_inst = valid_0 ? elts_0_xcpt_pf_inst : io_enq_bits_xcpt_pf_inst; assign io_deq_bits_xcpt_ae_inst = valid_0 ? elts_0_xcpt_ae_inst : io_enq_bits_xcpt_ae_inst; assign io_deq_bits_replay = valid_0 ? elts_0_replay : io_enq_bits_replay; assign io_mask = {valid_4, valid_3, valid_2, valid_1, valid_0}; endmodule