module bsg_locking_arb_fixed
(
  clk_i,
  ready_i,
  unlock_i,
  reqs_i,
  grants_o
);

  input [15:0] reqs_i;
  output [15:0] grants_o;
  input clk_i;
  input ready_i;
  input unlock_i;
  wire [15:0] grants_o,not_req_mask_r,req_mask_r;
  wire _0_net_,_1_net__15_,_1_net__14_,_1_net__13_,_1_net__12_,_1_net__11_,_1_net__10_,
  _1_net__9_,_1_net__8_,_1_net__7_,_1_net__6_,_1_net__5_,_1_net__4_,_1_net__3_,
  _1_net__2_,_1_net__1_,_1_net__0_,_2_net__15_,_2_net__14_,_2_net__13_,_2_net__12_,
  _2_net__11_,_2_net__10_,_2_net__9_,_2_net__8_,_2_net__7_,_2_net__6_,_2_net__5_,
  _2_net__4_,_2_net__3_,_2_net__2_,_2_net__1_,_2_net__0_,N0,N1,N2,N3,N4,N5,N6,N7,N8,
  N9,N10,N11,N12,N13,N14,N15,N16,N17,N18,N19,N20,N21,N22,N23,N24,N25,N26,N27,N28,
  N29;

  bsg_dff_reset_en_width_p16
  req_words_reg
  (
    .clk_i(clk_i),
    .reset_i(unlock_i),
    .en_i(_0_net_),
    .data_i({ _1_net__15_, _1_net__14_, _1_net__13_, _1_net__12_, _1_net__11_, _1_net__10_, _1_net__9_, _1_net__8_, _1_net__7_, _1_net__6_, _1_net__5_, _1_net__4_, _1_net__3_, _1_net__2_, _1_net__1_, _1_net__0_ }),
    .data_o(not_req_mask_r)
  );


  bsg_arb_fixed_inputs_p16_lo_to_hi_p0
  fixed_arb
  (
    .ready_i(ready_i),
    .reqs_i({ _2_net__15_, _2_net__14_, _2_net__13_, _2_net__12_, _2_net__11_, _2_net__10_, _2_net__9_, _2_net__8_, _2_net__7_, _2_net__6_, _2_net__5_, _2_net__4_, _2_net__3_, _2_net__2_, _2_net__1_, _2_net__0_ }),
    .grants_o(grants_o)
  );

  assign _1_net__15_ = ~grants_o[15];
  assign _1_net__14_ = ~grants_o[14];
  assign _1_net__13_ = ~grants_o[13];
  assign _1_net__12_ = ~grants_o[12];
  assign _1_net__11_ = ~grants_o[11];
  assign _1_net__10_ = ~grants_o[10];
  assign _1_net__9_ = ~grants_o[9];
  assign _1_net__8_ = ~grants_o[8];
  assign _1_net__7_ = ~grants_o[7];
  assign _1_net__6_ = ~grants_o[6];
  assign _1_net__5_ = ~grants_o[5];
  assign _1_net__4_ = ~grants_o[4];
  assign _1_net__3_ = ~grants_o[3];
  assign _1_net__2_ = ~grants_o[2];
  assign _1_net__1_ = ~grants_o[1];
  assign _1_net__0_ = ~grants_o[0];
  assign _0_net_ = N14 & N29;
  assign N14 = N13 & req_mask_r[0];
  assign N13 = N12 & req_mask_r[1];
  assign N12 = N11 & req_mask_r[2];
  assign N11 = N10 & req_mask_r[3];
  assign N10 = N9 & req_mask_r[4];
  assign N9 = N8 & req_mask_r[5];
  assign N8 = N7 & req_mask_r[6];
  assign N7 = N6 & req_mask_r[7];
  assign N6 = N5 & req_mask_r[8];
  assign N5 = N4 & req_mask_r[9];
  assign N4 = N3 & req_mask_r[10];
  assign N3 = N2 & req_mask_r[11];
  assign N2 = N1 & req_mask_r[12];
  assign N1 = N0 & req_mask_r[13];
  assign N0 = req_mask_r[15] & req_mask_r[14];
  assign N29 = N28 | grants_o[0];
  assign N28 = N27 | grants_o[1];
  assign N27 = N26 | grants_o[2];
  assign N26 = N25 | grants_o[3];
  assign N25 = N24 | grants_o[4];
  assign N24 = N23 | grants_o[5];
  assign N23 = N22 | grants_o[6];
  assign N22 = N21 | grants_o[7];
  assign N21 = N20 | grants_o[8];
  assign N20 = N19 | grants_o[9];
  assign N19 = N18 | grants_o[10];
  assign N18 = N17 | grants_o[11];
  assign N17 = N16 | grants_o[12];
  assign N16 = N15 | grants_o[13];
  assign N15 = grants_o[15] | grants_o[14];
  assign req_mask_r[15] = ~not_req_mask_r[15];
  assign req_mask_r[14] = ~not_req_mask_r[14];
  assign req_mask_r[13] = ~not_req_mask_r[13];
  assign req_mask_r[12] = ~not_req_mask_r[12];
  assign req_mask_r[11] = ~not_req_mask_r[11];
  assign req_mask_r[10] = ~not_req_mask_r[10];
  assign req_mask_r[9] = ~not_req_mask_r[9];
  assign req_mask_r[8] = ~not_req_mask_r[8];
  assign req_mask_r[7] = ~not_req_mask_r[7];
  assign req_mask_r[6] = ~not_req_mask_r[6];
  assign req_mask_r[5] = ~not_req_mask_r[5];
  assign req_mask_r[4] = ~not_req_mask_r[4];
  assign req_mask_r[3] = ~not_req_mask_r[3];
  assign req_mask_r[2] = ~not_req_mask_r[2];
  assign req_mask_r[1] = ~not_req_mask_r[1];
  assign req_mask_r[0] = ~not_req_mask_r[0];
  assign _2_net__15_ = reqs_i[15] & req_mask_r[15];
  assign _2_net__14_ = reqs_i[14] & req_mask_r[14];
  assign _2_net__13_ = reqs_i[13] & req_mask_r[13];
  assign _2_net__12_ = reqs_i[12] & req_mask_r[12];
  assign _2_net__11_ = reqs_i[11] & req_mask_r[11];
  assign _2_net__10_ = reqs_i[10] & req_mask_r[10];
  assign _2_net__9_ = reqs_i[9] & req_mask_r[9];
  assign _2_net__8_ = reqs_i[8] & req_mask_r[8];
  assign _2_net__7_ = reqs_i[7] & req_mask_r[7];
  assign _2_net__6_ = reqs_i[6] & req_mask_r[6];
  assign _2_net__5_ = reqs_i[5] & req_mask_r[5];
  assign _2_net__4_ = reqs_i[4] & req_mask_r[4];
  assign _2_net__3_ = reqs_i[3] & req_mask_r[3];
  assign _2_net__2_ = reqs_i[2] & req_mask_r[2];
  assign _2_net__1_ = reqs_i[1] & req_mask_r[1];
  assign _2_net__0_ = reqs_i[0] & req_mask_r[0];

endmodule