
module Intro_TopFF ( X, Y, Z, A, B, C, D, Clk, Clr, tms, tdi, tdo );
  input A, B, C, D, Clk, Clr, tms, tdi;
  output X, Y, Z, tdo;

initial $sdf_annotate("Intro_TopFFScanNetlist.sdf");

  wire   n16, n17, n18, toZFF_D, SRq, toXFF_D, toYFF_D, n3, n5, n6, n7, n9,
         n11, n13, n14, n15, n21, n23, n24;

  AN2D2 \SRLatch/C11  ( .A1(D), .A2(SRq), .Z(toZFF_D) );
  SDFCNQD0 \FF_X/QReg_reg  ( .D(toXFF_D), .SI(tdi), .SE(tms), .CP(Clk), .CDN(
        n3), .Q(n16) );
  SDFCNQD0 \FF_Z/QReg_reg  ( .D(toZFF_D), .SI(n17), .SE(tms), .CP(Clk), .CDN(
        n3), .Q(n18) );
  INVD1 U3 ( .I(Clr), .ZN(n3) );
  SDFCNQD1 \FF_Y/QReg_reg  ( .D(toYFF_D), .SI(n16), .SE(tms), .CP(Clk), .CDN(
        n3), .Q(n17) );
  CKBD0 U10 ( .CLK(n13), .C(n7) );
  CKND16 U11 ( .CLK(n7), .CN(Y) );
  CKBD0 U12 ( .CLK(n14), .C(n9) );
  CKND16 U13 ( .CLK(n21), .CN(Z) );
  CKBD0 U14 ( .CLK(n15), .C(n11) );
  CKND16 U15 ( .CLK(n11), .CN(X) );
  OAI21D1 U16 ( .A1(B), .A2(C), .B(n5), .ZN(SRq) );
  XNR2D1 U17 ( .A1(SRq), .A2(n6), .ZN(toXFF_D) );
  ND2D1 U18 ( .A1(B), .A2(A), .ZN(n6) );
  INVD1 U19 ( .I(toZFF_D), .ZN(n5) );
  CKND0 U21 ( .CLK(n17), .CN(n13) );
  CKND0 U22 ( .CLK(n24), .CN(n14) );
  NR2XD0 U23 ( .A1(toXFF_D), .A2(n5), .ZN(toYFF_D) );
  CKND0 U24 ( .CLK(n16), .CN(n15) );
  CKBD0 U20 ( .CLK(n14), .C(n21) );
  CKND16 U25 ( .CLK(n9), .CN(tdo) );
  INVD0 U26 ( .I(n18), .ZN(n23) );
  INVD0 U27 ( .I(n23), .ZN(n24) );
endmodule

