
module Latches ( Qsimple, Qclear, QpreClear, D, ena1, ena2, clr, pre );
  input D, ena1, ena2, clr, pre;
  output Qsimple, Qclear, QpreClear;
  wire   n12, n13, n14, N6, N7, n1, n2, n3, n5, n7, n9, n10, n11;

  LHQD1 QsimpleReg_reg ( .E(ena1), .D(D), .Q(n12) );
  LHQD1 QpreClearReg_reg ( .E(N6), .D(N7), .Q(n14) );
  LNCNQD1 QclearReg_reg ( .D(D), .EN(ena1), .CDN(n1), .Q(n13) );
  CKBD0 U7 ( .CLK(n9), .C(n3) );
  CKND16 U8 ( .CLK(n3), .CN(Qclear) );
  CKBD0 U9 ( .CLK(n10), .C(n5) );
  CKND16 U10 ( .CLK(n5), .CN(QpreClear) );
  CKBD0 U11 ( .CLK(n11), .C(n7) );
  CKND16 U12 ( .CLK(n7), .CN(Qsimple) );
  AOI21D1 U13 ( .A1(pre), .A2(n2), .B(n1), .ZN(N7) );
  ND2D1 U14 ( .A1(ena2), .A2(D), .ZN(n2) );
  INVD1 U15 ( .I(clr), .ZN(n1) );
  IND3D1 U16 ( .A1(ena2), .B1(pre), .B2(clr), .ZN(N6) );
  CKND0 U17 ( .CLK(n13), .CN(n9) );
  CKND0 U18 ( .CLK(n14), .CN(n10) );
  CKND0 U19 ( .CLK(n12), .CN(n11) );
endmodule

