module array_mux ( input array_wr_csn, input [15:0] array_wr_raddr, input array_rd_csn, input [15:0] array_rd_raddr, input array_ref_csn, input [15:0] array_ref_raddr, input [1:0] array_mux_sel, output reg array_csn, output reg [15:0] array_raddr ); always @(*) begin case (array_mux_sel) 2'b01: begin array_csn = array_ref_csn; array_raddr = array_ref_raddr; end 2'b10: begin array_csn = array_wr_csn; array_raddr = array_wr_raddr; end 2'b11: begin array_csn = array_rd_csn; array_raddr = array_rd_raddr; end default: begin array_csn = 1'b1; array_raddr = 16'd0; end endcase end endmodule