
module Synch4DFF ( CountOut, ClockIn, ClearIn );
  output [3:0] CountOut;
  input ClockIn, ClearIn;
  wire   n20, n21, n22, n23, wireToD1, wireToD2, wireToD3, n1, n2, n5, n7, n9,
         n11, n13, n14, n15, n16, n17, n18, n19;

  DFCNQD1 \FF_Bit0/QReg_reg  ( .D(n2), .CP(ClockIn), .CDN(n1), .Q(n23) );
  DFCNQD1 \FF_Bit2/QReg_reg  ( .D(wireToD2), .CP(ClockIn), .CDN(n1), .Q(n21)
         );
  DFCNQD1 \FF_Bit1/QReg_reg  ( .D(wireToD1), .CP(ClockIn), .CDN(n1), .Q(n22)
         );
  DFCNQD1 \FF_Bit3/QReg_reg  ( .D(wireToD3), .CP(ClockIn), .CDN(n1), .Q(n20)
         );
  CKBD0 U8 ( .CLK(n7), .C(n5) );
  CKND16 U9 ( .CLK(n5), .CN(CountOut[3]) );
  CKBD0 U10 ( .CLK(n15), .C(n7) );
  XNR2D1 U11 ( .A1(n15), .A2(n18), .ZN(wireToD3) );
  CKND16 U12 ( .CLK(n14), .CN(CountOut[1]) );
  CKBD0 U13 ( .CLK(n17), .C(n14) );
  CKBD0 U14 ( .CLK(n13), .C(n9) );
  CKND16 U15 ( .CLK(n9), .CN(CountOut[0]) );
  CKBD0 U16 ( .CLK(n16), .C(n11) );
  CKND16 U17 ( .CLK(n11), .CN(CountOut[2]) );
  CKBXD0 U18 ( .I(n2), .Z(n13) );
  CKND0 U19 ( .CLK(n21), .CN(n16) );
  CKND0 U20 ( .CLK(n22), .CN(n17) );
  CKND0 U21 ( .CLK(n20), .CN(n15) );
  INR2D0 U22 ( .A1(n21), .B1(n19), .ZN(n18) );
  XNR2D0 U23 ( .A1(n19), .A2(n21), .ZN(wireToD2) );
  CKND2D0 U24 ( .A1(n22), .A2(n23), .ZN(n19) );
  XNR2D0 U25 ( .A1(n22), .A2(n2), .ZN(wireToD1) );
  CKND0 U26 ( .CLK(n23), .CN(n2) );
  CKND0 U27 ( .CLK(ClearIn), .CN(n1) );
endmodule

