module counter_top ( clk, reset, sel_count, enable, dat_in, dat_out ); input [15:0] dat_in; output [15:0] dat_out; input clk, reset, sel_count, enable; wire \counter_i0/n32 , \counter_i0/n31 , \counter_i0/n30 , \counter_i0/n29 , \counter_i0/n28 , \counter_i0/n27 , \counter_i0/n26 , \counter_i0/n25 , \counter_i0/n24 , \counter_i0/n23 , \counter_i0/n22 , \counter_i0/n21 , \counter_i0/n20 , \counter_i0/n19 , \counter_i0/n18 , \counter_i0/n17 , \counter_i0/n16 , \counter_i0/n15 , \counter_i0/n14 , \counter_i0/n13 , \counter_i0/n12 , \counter_i0/n11 , \counter_i0/n10 , \counter_i0/n9 , \counter_i0/n8 , \counter_i0/n7 , \counter_i0/N96 , \counter_i0/N94 , \counter_i0/N92 , \counter_i0/N90 , \counter_i0/N88 , \counter_i0/N86 , \counter_i0/N84 , \counter_i0/N83 , \counter_i0/N82 , \counter_i0/N81 , \counter_i0/N80 , \counter_i0/N79 , \counter_i0/N78 , \counter_i0/N77 , \counter_i0/N76 , \counter_i0/N75 , \counter_i0/N74 , \counter_i0/N73 , \counter_i0/N72 , \counter_i0/N71 , \counter_i0/N70 , \counter_i0/N69 ; wire [15:0] dat_out_sig; MX2X1ADTL U18 ( .A(dat_in[9]), .B(dat_out_sig[9]), .S0(sel_count), .Y( dat_out[9]) ); MX2X1ADTL U19 ( .A(dat_in[8]), .B(dat_out_sig[8]), .S0(sel_count), .Y( dat_out[8]) ); MX2X1ADTL U20 ( .A(dat_in[7]), .B(dat_out_sig[7]), .S0(sel_count), .Y( dat_out[7]) ); MX2X1ADTL U21 ( .A(dat_in[6]), .B(dat_out_sig[6]), .S0(sel_count), .Y( dat_out[6]) ); MX2X1ADTL U22 ( .A(dat_in[5]), .B(dat_out_sig[5]), .S0(sel_count), .Y( dat_out[5]) ); MX2X1ADTL U23 ( .A(dat_in[4]), .B(dat_out_sig[4]), .S0(sel_count), .Y( dat_out[4]) ); MX2X1ADTL U24 ( .A(dat_in[3]), .B(dat_out_sig[3]), .S0(sel_count), .Y( dat_out[3]) ); MX2X1ADTL U25 ( .A(dat_in[2]), .B(dat_out_sig[2]), .S0(sel_count), .Y( dat_out[2]) ); MX2X1ADTL U26 ( .A(dat_in[1]), .B(dat_out_sig[1]), .S0(sel_count), .Y( dat_out[1]) ); MX2X1ADTL U27 ( .A(dat_in[15]), .B(dat_out_sig[15]), .S0(sel_count), .Y( dat_out[15]) ); MX2X1ADTL U28 ( .A(dat_in[14]), .B(dat_out_sig[14]), .S0(sel_count), .Y( dat_out[14]) ); MX2X1ADTL U29 ( .A(dat_in[13]), .B(dat_out_sig[13]), .S0(sel_count), .Y( dat_out[13]) ); MX2X1ADTL U30 ( .A(dat_in[12]), .B(dat_out_sig[12]), .S0(sel_count), .Y( dat_out[12]) ); MX2X1ADTL U31 ( .A(dat_in[11]), .B(dat_out_sig[11]), .S0(sel_count), .Y( dat_out[11]) ); MX2X1ADTL U32 ( .A(dat_in[10]), .B(dat_out_sig[10]), .S0(sel_count), .Y( dat_out[10]) ); MX2X1ADTL U33 ( .A(dat_in[0]), .B(dat_out_sig[0]), .S0(sel_count), .Y( dat_out[0]) ); CLKINVX1ADTL \counter_i0/U50 ( .A(reset), .Y(\counter_i0/n8 ) ); NOR2X1ADTL \counter_i0/U49 ( .A(dat_out_sig[0]), .B(\counter_i0/n8 ), .Y( \counter_i0/N69 ) ); NOR2X1ADTL \counter_i0/U48 ( .A(dat_out_sig[1]), .B(\counter_i0/n8 ), .Y( \counter_i0/N70 ) ); NOR2X1ADTL \counter_i0/U47 ( .A(dat_out_sig[2]), .B(\counter_i0/n8 ), .Y( \counter_i0/N71 ) ); NOR2X1ADTL \counter_i0/U46 ( .A(dat_out_sig[3]), .B(\counter_i0/n8 ), .Y( \counter_i0/N72 ) ); NOR2X1ADTL \counter_i0/U45 ( .A(dat_out_sig[4]), .B(\counter_i0/n8 ), .Y( \counter_i0/N73 ) ); NOR2X1ADTL \counter_i0/U44 ( .A(dat_out_sig[5]), .B(\counter_i0/n8 ), .Y( \counter_i0/N74 ) ); NAND4X1ADTL \counter_i0/U43 ( .A(dat_out_sig[2]), .B(dat_out_sig[1]), .C( enable), .D(dat_out_sig[0]), .Y(\counter_i0/n9 ) ); CLKINVX1ADTL \counter_i0/U42 ( .A(\counter_i0/n9 ), .Y(\counter_i0/n10 ) ); NAND3X1ADTL \counter_i0/U41 ( .A(dat_out_sig[3]), .B(\counter_i0/n10 ), .C( dat_out_sig[4]), .Y(\counter_i0/n11 ) ); NOR2BX1ADTL \counter_i0/U40 ( .AN(dat_out_sig[5]), .B(\counter_i0/n11 ), .Y(\counter_i0/n31 ) ); XNOR2X1ADTL \counter_i0/U39 ( .A(\counter_i0/n31 ), .B(dat_out_sig[6]), .Y( \counter_i0/n32 ) ); NOR2X1ADTL \counter_i0/U38 ( .A(\counter_i0/n32 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N75 ) ); AND2X1ADTL \counter_i0/U37 ( .A(dat_out_sig[6]), .B(\counter_i0/n31 ), .Y( \counter_i0/n29 ) ); XNOR2X1ADTL \counter_i0/U36 ( .A(dat_out_sig[7]), .B(\counter_i0/n29 ), .Y( \counter_i0/n30 ) ); NOR2X1ADTL \counter_i0/U35 ( .A(\counter_i0/n30 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N76 ) ); CLKNAND2X2ADTL \counter_i0/U34 ( .A(dat_out_sig[7]), .B(\counter_i0/n29 ), .Y(\counter_i0/n25 ) ); CLKINVX1ADTL \counter_i0/U33 ( .A(dat_out_sig[8]), .Y(\counter_i0/n24 ) ); XNOR2X1ADTL \counter_i0/U32 ( .A(\counter_i0/n25 ), .B(\counter_i0/n24 ), .Y(\counter_i0/n28 ) ); NOR2X1ADTL \counter_i0/U31 ( .A(\counter_i0/n28 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N77 ) ); NOR2X1ADTL \counter_i0/U30 ( .A(\counter_i0/n25 ), .B(\counter_i0/n24 ), .Y(\counter_i0/n27 ) ); XNOR2X1ADTL \counter_i0/U29 ( .A(dat_out_sig[9]), .B(\counter_i0/n27 ), .Y( \counter_i0/n26 ) ); NOR2X1ADTL \counter_i0/U28 ( .A(\counter_i0/n26 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N78 ) ); NOR3BX1ADTL \counter_i0/U27 ( .AN(dat_out_sig[9]), .B(\counter_i0/n24 ), .C(\counter_i0/n25 ), .Y(\counter_i0/n22 ) ); XNOR2X1ADTL \counter_i0/U26 ( .A(dat_out_sig[10]), .B(\counter_i0/n22 ), .Y(\counter_i0/n23 ) ); NOR2X1ADTL \counter_i0/U25 ( .A(\counter_i0/n23 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N79 ) ); CLKNAND2X2ADTL \counter_i0/U24 ( .A(dat_out_sig[10]), .B(\counter_i0/n22 ), .Y(\counter_i0/n20 ) ); XOR2X1ADTL \counter_i0/U23 ( .A(\counter_i0/n20 ), .B(dat_out_sig[11]), .Y( \counter_i0/n21 ) ); NOR2X1ADTL \counter_i0/U22 ( .A(\counter_i0/n21 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N80 ) ); NOR2BX1ADTL \counter_i0/U21 ( .AN(dat_out_sig[11]), .B(\counter_i0/n20 ), .Y(\counter_i0/n16 ) ); XNOR2X1ADTL \counter_i0/U20 ( .A(dat_out_sig[12]), .B(\counter_i0/n16 ), .Y(\counter_i0/n19 ) ); NOR2X1ADTL \counter_i0/U19 ( .A(\counter_i0/n19 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N81 ) ); CLKNAND2X2ADTL \counter_i0/U18 ( .A(dat_out_sig[12]), .B(\counter_i0/n16 ), .Y(\counter_i0/n18 ) ); XOR2X1ADTL \counter_i0/U17 ( .A(\counter_i0/n18 ), .B(dat_out_sig[13]), .Y( \counter_i0/n17 ) ); NOR2X1ADTL \counter_i0/U16 ( .A(\counter_i0/n17 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N82 ) ); NAND3X1ADTL \counter_i0/U15 ( .A(dat_out_sig[12]), .B(\counter_i0/n16 ), .C(dat_out_sig[13]), .Y(\counter_i0/n14 ) ); XOR2X1ADTL \counter_i0/U14 ( .A(\counter_i0/n14 ), .B(dat_out_sig[14]), .Y( \counter_i0/n15 ) ); NOR2X1ADTL \counter_i0/U13 ( .A(\counter_i0/n15 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N83 ) ); NAND2BX1ADTL \counter_i0/U12 ( .AN(\counter_i0/n14 ), .B(dat_out_sig[14]), .Y(\counter_i0/n13 ) ); XOR2X1ADTL \counter_i0/U11 ( .A(\counter_i0/n13 ), .B(dat_out_sig[15]), .Y( \counter_i0/n12 ) ); NOR2X1ADTL \counter_i0/U10 ( .A(\counter_i0/n12 ), .B(\counter_i0/n8 ), .Y( \counter_i0/N84 ) ); CLKNAND2X2ADTL \counter_i0/U9 ( .A(reset), .B(\counter_i0/n11 ), .Y( \counter_i0/N86 ) ); OAI2BB1X1ADTL \counter_i0/U8 ( .A0N(\counter_i0/n10 ), .A1N(dat_out_sig[3]), .B0(reset), .Y(\counter_i0/N88 ) ); CLKNAND2X2ADTL \counter_i0/U7 ( .A(reset), .B(\counter_i0/n9 ), .Y( \counter_i0/N90 ) ); AOI31X1ADTL \counter_i0/U6 ( .A0(dat_out_sig[1]), .A1(dat_out_sig[0]), .A2( enable), .B0(\counter_i0/n8 ), .Y(\counter_i0/n7 ) ); CLKINVX1ADTL \counter_i0/U5 ( .A(\counter_i0/n7 ), .Y(\counter_i0/N92 ) ); OAI2BB1X1ADTL \counter_i0/U4 ( .A0N(dat_out_sig[0]), .A1N(enable), .B0( reset), .Y(\counter_i0/N94 ) ); NAND2BX1ADTL \counter_i0/U3 ( .AN(enable), .B(reset), .Y(\counter_i0/N96 ) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[12] ( .D(\counter_i0/N81 ), .CK(clk), .Q(dat_out_sig[12]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[10] ( .D(\counter_i0/N79 ), .CK(clk), .Q(dat_out_sig[10]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[7] ( .D(\counter_i0/N76 ), .CK(clk), .Q(dat_out_sig[7]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[14] ( .D(\counter_i0/N83 ), .CK(clk), .Q(dat_out_sig[14]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[13] ( .D(\counter_i0/N82 ), .CK(clk), .Q(dat_out_sig[13]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[9] ( .D(\counter_i0/N78 ), .CK(clk), .Q(dat_out_sig[9]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[11] ( .D(\counter_i0/N80 ), .CK(clk), .Q(dat_out_sig[11]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[6] ( .D(\counter_i0/N75 ), .CK(clk), .Q(dat_out_sig[6]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[15] ( .D(\counter_i0/N84 ), .CK(clk), .Q(dat_out_sig[15]) ); DFFQXLADTL \counter_i0/dat_out_sig_reg[8] ( .D(\counter_i0/N77 ), .CK(clk), .Q(dat_out_sig[8]) ); EDFFX2ADTL \counter_i0/dat_out_sig_reg[5] ( .D(\counter_i0/N74 ), .E( \counter_i0/N86 ), .CK(clk), .Q(dat_out_sig[5]) ); EDFFX2ADTL \counter_i0/dat_out_sig_reg[4] ( .D(\counter_i0/N73 ), .E( \counter_i0/N88 ), .CK(clk), .Q(dat_out_sig[4]) ); EDFFX2ADTL \counter_i0/dat_out_sig_reg[3] ( .D(\counter_i0/N72 ), .E( \counter_i0/N90 ), .CK(clk), .Q(dat_out_sig[3]) ); EDFFX2ADTL \counter_i0/dat_out_sig_reg[2] ( .D(\counter_i0/N71 ), .E( \counter_i0/N92 ), .CK(clk), .Q(dat_out_sig[2]) ); EDFFX2ADTL \counter_i0/dat_out_sig_reg[1] ( .D(\counter_i0/N70 ), .E( \counter_i0/N94 ), .CK(clk), .Q(dat_out_sig[1]) ); EDFFX2ADTL \counter_i0/dat_out_sig_reg[0] ( .D(\counter_i0/N69 ), .E( \counter_i0/N96 ), .CK(clk), .Q(dat_out_sig[0]) ); endmodule