module FIFO_R_Pointer ( R_CLK, R_rst_n, R_inc, Rq2_wptr, R_empty, R_ptr, 
        R_Addr );
  input [4:0] Rq2_wptr;
  output [4:0] R_ptr;
  output [3:0] R_Addr;
  input R_CLK, R_rst_n, R_inc;
  output R_empty;
  wire   n12, Empty_Value, \Binary_R_ptr[4] , N1, \add_70/carry[4] ,
         \add_70/carry[3] , \add_70/carry[2] , \add_70/carry[1] , n2, n3, n4,
         n5, n6, n7, n8, n9, n10, n11;
  wire   [4:0] Gray_R_ptr;
  wire   [3:0] Binary_R_ptr_next;

  DFFRHQX8M \Binary_R_ptr_reg[2]  ( .D(Binary_R_ptr_next[2]), .CK(R_CLK), .RN(
        R_rst_n), .Q(R_Addr[2]) );
  DFFRHQX8M \Binary_R_ptr_reg[3]  ( .D(Binary_R_ptr_next[3]), .CK(R_CLK), .RN(
        R_rst_n), .Q(R_Addr[3]) );
  DFFRQX2M \Binary_R_ptr_reg[4]  ( .D(Gray_R_ptr[4]), .CK(R_CLK), .RN(R_rst_n), 
        .Q(\Binary_R_ptr[4] ) );
  DFFRQX2M \R_ptr_reg[4]  ( .D(Gray_R_ptr[4]), .CK(R_CLK), .RN(R_rst_n), .Q(
        R_ptr[4]) );
  DFFRQX2M \R_ptr_reg[0]  ( .D(Gray_R_ptr[0]), .CK(R_CLK), .RN(R_rst_n), .Q(
        R_ptr[0]) );
  DFFRQX2M \R_ptr_reg[1]  ( .D(Gray_R_ptr[1]), .CK(R_CLK), .RN(R_rst_n), .Q(
        R_ptr[1]) );
  DFFRQX2M \R_ptr_reg[2]  ( .D(Gray_R_ptr[2]), .CK(R_CLK), .RN(R_rst_n), .Q(
        R_ptr[2]) );
  DFFRQX2M \R_ptr_reg[3]  ( .D(Gray_R_ptr[3]), .CK(R_CLK), .RN(R_rst_n), .Q(
        R_ptr[3]) );
  DFFRHQX8M \Binary_R_ptr_reg[1]  ( .D(Binary_R_ptr_next[1]), .CK(R_CLK), .RN(
        R_rst_n), .Q(R_Addr[1]) );
  DFFSQX2M R_empty_reg ( .D(Empty_Value), .CK(R_CLK), .SN(R_rst_n), .Q(n12) );
  DFFRX2M \Binary_R_ptr_reg[0]  ( .D(Binary_R_ptr_next[0]), .CK(R_CLK), .RN(
        R_rst_n), .Q(R_Addr[0]), .QN(n2) );
  CLKBUFX20M U3 ( .A(n12), .Y(R_empty) );
  INVX2M U4 ( .A(n2), .Y(n3) );
  NOR2BX2M U5 ( .AN(Gray_R_ptr[0]), .B(Rq2_wptr[0]), .Y(n5) );
  NOR2BX2M U6 ( .AN(Rq2_wptr[0]), .B(Gray_R_ptr[0]), .Y(n4) );
  CLKXOR2X2M U7 ( .A(Gray_R_ptr[4]), .B(Binary_R_ptr_next[3]), .Y(
        Gray_R_ptr[3]) );
  CLKXOR2X2M U8 ( .A(Binary_R_ptr_next[2]), .B(Binary_R_ptr_next[1]), .Y(
        Gray_R_ptr[1]) );
  CLKXOR2X2M U9 ( .A(Binary_R_ptr_next[1]), .B(Binary_R_ptr_next[0]), .Y(
        Gray_R_ptr[0]) );
  CLKXOR2X2M U10 ( .A(Binary_R_ptr_next[3]), .B(Binary_R_ptr_next[2]), .Y(
        Gray_R_ptr[2]) );
  NOR2BX2M U11 ( .AN(R_inc), .B(R_empty), .Y(N1) );
  CLKXOR2X2M U12 ( .A(\Binary_R_ptr[4] ), .B(\add_70/carry[4] ), .Y(
        Gray_R_ptr[4]) );
  AND2X1M U13 ( .A(\add_70/carry[3] ), .B(R_Addr[3]), .Y(\add_70/carry[4] ) );
  CLKXOR2X2M U14 ( .A(R_Addr[3]), .B(\add_70/carry[3] ), .Y(
        Binary_R_ptr_next[3]) );
  AND2X1M U15 ( .A(\add_70/carry[2] ), .B(R_Addr[2]), .Y(\add_70/carry[3] ) );
  CLKXOR2X2M U16 ( .A(R_Addr[2]), .B(\add_70/carry[2] ), .Y(
        Binary_R_ptr_next[2]) );
  AND2X1M U17 ( .A(\add_70/carry[1] ), .B(R_Addr[1]), .Y(\add_70/carry[2] ) );
  CLKXOR2X2M U18 ( .A(R_Addr[1]), .B(\add_70/carry[1] ), .Y(
        Binary_R_ptr_next[1]) );
  AND2X1M U19 ( .A(n3), .B(N1), .Y(\add_70/carry[1] ) );
  CLKXOR2X2M U20 ( .A(N1), .B(n3), .Y(Binary_R_ptr_next[0]) );
  CLKXOR2X2M U21 ( .A(Rq2_wptr[2]), .B(Gray_R_ptr[2]), .Y(n11) );
  OAI2B2X1M U22 ( .A1N(Gray_R_ptr[1]), .A0(n4), .B0(Rq2_wptr[1]), .B1(n4), .Y(
        n7) );
  OAI2B2X1M U23 ( .A1N(Rq2_wptr[1]), .A0(n5), .B0(Gray_R_ptr[1]), .B1(n5), .Y(
        n6) );
  CLKNAND2X2M U24 ( .A(n7), .B(n6), .Y(n10) );
  CLKXOR2X2M U25 ( .A(Rq2_wptr[3]), .B(Gray_R_ptr[3]), .Y(n9) );
  CLKXOR2X2M U26 ( .A(Rq2_wptr[4]), .B(Gray_R_ptr[4]), .Y(n8) );
  NOR4X1M U27 ( .A(n11), .B(n10), .C(n9), .D(n8), .Y(Empty_Value) );
endmodule