⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csa_float_multiplier_dc.v

📁 新型的浮点乘法器 用csa来实现可以用在浮点乘法器的地方
💻 V
📖 第 1 页 / 共 5 页
字号:
  INVX1 U271 ( .A(n110), .Y(n108) );
  AOI21X1 U272 ( .A0(n138), .A1(n19), .B0(n145), .Y(n147) );
  INVX1 U273 ( .A(n143), .Y(n145) );
  AOI21X1 U274 ( .A0(n74), .A1(n82), .B0(n81), .Y(n83) );
  INVX1 U275 ( .A(n79), .Y(n81) );
  AOI21X1 U276 ( .A0(n92), .A1(n13), .B0(n99), .Y(n101) );
  INVX1 U277 ( .A(n97), .Y(n99) );
  NOR2BX1 U278 ( .AN(n48), .B(n53), .Y(n55) );
  XOR2X1 U279 ( .A(n181), .B(n177), .Y(SUM[17]) );
  NAND2X1 U280 ( .A(n17), .B(n133), .Y(n177) );
  INVX1 U281 ( .A(n134), .Y(n17) );
  XNOR2X1 U282 ( .A(n78), .B(n171), .Y(SUM[11]) );
  NAND2X1 U283 ( .A(n82), .B(n79), .Y(n171) );
  OAI21XL U284 ( .A0(n64), .A1(n77), .B0(n76), .Y(n78) );
  INVX1 U285 ( .A(n75), .Y(n77) );
  XNOR2X1 U286 ( .A(n85), .B(n172), .Y(SUM[12]) );
  NAND2X1 U287 ( .A(n12), .B(n86), .Y(n172) );
  OAI21XL U288 ( .A0(n64), .A1(n84), .B0(n83), .Y(n85) );
  INVX1 U289 ( .A(n87), .Y(n12) );
  XNOR2X1 U290 ( .A(n103), .B(n174), .Y(SUM[14]) );
  NAND2X1 U291 ( .A(n14), .B(n104), .Y(n174) );
  OAI21XL U292 ( .A0(n64), .A1(n102), .B0(n101), .Y(n103) );
  INVX1 U293 ( .A(n105), .Y(n14) );
  XNOR2X1 U294 ( .A(n123), .B(n176), .Y(SUM[16]) );
  NAND2X1 U295 ( .A(n16), .B(n124), .Y(n176) );
  OAI21XL U296 ( .A0(n64), .A1(n122), .B0(n121), .Y(n123) );
  INVX1 U297 ( .A(n125), .Y(n16) );
  XNOR2X1 U298 ( .A(n114), .B(n175), .Y(SUM[15]) );
  NAND2X1 U299 ( .A(n15), .B(n115), .Y(n175) );
  OAI21XL U300 ( .A0(n64), .A1(n113), .B0(n112), .Y(n114) );
  INVX1 U301 ( .A(n118), .Y(n15) );
  XNOR2X1 U302 ( .A(n96), .B(n173), .Y(SUM[13]) );
  NAND2X1 U303 ( .A(n13), .B(n97), .Y(n173) );
  OAI21XL U304 ( .A0(n64), .A1(n95), .B0(n94), .Y(n96) );
  XNOR2X1 U305 ( .A(n142), .B(n179), .Y(SUM[19]) );
  NAND2X1 U306 ( .A(n19), .B(n143), .Y(n179) );
  OAI21XL U307 ( .A0(n181), .A1(n141), .B0(n140), .Y(n142) );
  INVX1 U308 ( .A(n139), .Y(n141) );
  XNOR2X1 U309 ( .A(n67), .B(n170), .Y(SUM[10]) );
  NAND2X1 U310 ( .A(n10), .B(n68), .Y(n170) );
  OAI21XL U311 ( .A0(n64), .A1(n66), .B0(n65), .Y(n67) );
  INVX1 U312 ( .A(n69), .Y(n10) );
  XNOR2X1 U313 ( .A(n135), .B(n178), .Y(SUM[18]) );
  NAND2X1 U314 ( .A(n18), .B(n136), .Y(n178) );
  OAI21XL U315 ( .A0(n181), .A1(n134), .B0(n133), .Y(n135) );
  INVX1 U316 ( .A(n137), .Y(n18) );
  XNOR2X1 U317 ( .A(n149), .B(n180), .Y(SUM[20]) );
  NAND2X1 U318 ( .A(n20), .B(n150), .Y(n180) );
  OAI21XL U319 ( .A0(n181), .A1(n148), .B0(n147), .Y(n149) );
  INVX1 U320 ( .A(n151), .Y(n20) );
  XNOR2X1 U321 ( .A(n29), .B(n164), .Y(SUM[4]) );
  NAND2X1 U322 ( .A(n4), .B(n30), .Y(n164) );
  OAI21XL U323 ( .A0(n26), .A1(n28), .B0(n27), .Y(n29) );
  INVX1 U324 ( .A(n31), .Y(n4) );
  XNOR2X1 U325 ( .A(n35), .B(n165), .Y(SUM[5]) );
  XOR2X1 U326 ( .A(n64), .B(n169), .Y(SUM[9]) );
  NAND2X1 U327 ( .A(n9), .B(n65), .Y(n169) );
  INVX1 U328 ( .A(n66), .Y(n9) );
  XOR2X1 U329 ( .A(n49), .B(n167), .Y(SUM[7]) );
  NAND2X1 U330 ( .A(n7), .B(n50), .Y(n167) );
  XOR2X1 U331 ( .A(n26), .B(n163), .Y(SUM[3]) );
  NAND2X1 U332 ( .A(n3), .B(n27), .Y(n163) );
  INVX1 U333 ( .A(n28), .Y(n3) );
  XOR2X1 U334 ( .A(n40), .B(n166), .Y(SUM[6]) );
  NAND2X1 U335 ( .A(n6), .B(n41), .Y(n166) );
  AOI21X1 U336 ( .A0(n35), .A1(n5), .B0(n38), .Y(n40) );
  INVX1 U337 ( .A(n42), .Y(n6) );
  XOR2X1 U338 ( .A(n56), .B(n168), .Y(SUM[8]) );
  NAND2X1 U339 ( .A(n8), .B(n57), .Y(n168) );
  AOI21X1 U340 ( .A0(n35), .A1(n55), .B0(n54), .Y(n56) );
  INVX1 U341 ( .A(n58), .Y(n8) );
  INVX1 U342 ( .A(n25), .Y(n26) );
  INVX1 U343 ( .A(n144), .Y(n19) );
  INVX1 U344 ( .A(n80), .Y(n82) );
  INVX1 U345 ( .A(n98), .Y(n13) );
  INVX1 U346 ( .A(n37), .Y(n5) );
  NAND2X1 U347 ( .A(n139), .B(n153), .Y(n155) );
  AOI21X1 U348 ( .A0(n153), .A1(n138), .B0(n152), .Y(n154) );
  NAND2X1 U349 ( .A(A[11]), .B(B[11]), .Y(n79) );
  NAND2X1 U350 ( .A(A[5]), .B(B[5]), .Y(n36) );
  NAND2X1 U351 ( .A(A[13]), .B(B[13]), .Y(n97) );
  NAND2X1 U352 ( .A(A[19]), .B(B[19]), .Y(n143) );
  NOR2X1 U353 ( .A(A[17]), .B(B[17]), .Y(n134) );
  NOR2X1 U354 ( .A(A[18]), .B(B[18]), .Y(n137) );
  NOR2X1 U355 ( .A(A[8]), .B(B[8]), .Y(n58) );
  NOR2X1 U356 ( .A(A[20]), .B(B[20]), .Y(n151) );
  NAND2X1 U357 ( .A(A[3]), .B(B[3]), .Y(n27) );
  NAND2X1 U358 ( .A(A[9]), .B(B[9]), .Y(n65) );
  NAND2X1 U359 ( .A(A[17]), .B(B[17]), .Y(n133) );
  NAND2X1 U360 ( .A(A[15]), .B(B[15]), .Y(n115) );
  NAND2X1 U361 ( .A(A[7]), .B(B[7]), .Y(n50) );
  NOR2X1 U362 ( .A(A[2]), .B(B[2]), .Y(n24) );
  NOR2X1 U363 ( .A(A[13]), .B(B[13]), .Y(n98) );
  NOR2X1 U364 ( .A(A[11]), .B(B[11]), .Y(n80) );
  NOR2X1 U365 ( .A(A[5]), .B(B[5]), .Y(n37) );
  NOR2X1 U366 ( .A(A[19]), .B(B[19]), .Y(n144) );
  NAND2X1 U367 ( .A(A[10]), .B(B[10]), .Y(n68) );
  NAND2X1 U368 ( .A(A[2]), .B(B[2]), .Y(n23) );
  NAND2X1 U369 ( .A(A[12]), .B(B[12]), .Y(n86) );
  NAND2X1 U370 ( .A(A[14]), .B(B[14]), .Y(n104) );
  NAND2X1 U371 ( .A(A[16]), .B(B[16]), .Y(n124) );
  NAND2X1 U372 ( .A(A[18]), .B(B[18]), .Y(n136) );
  NAND2X1 U373 ( .A(A[4]), .B(B[4]), .Y(n30) );
  NAND2X1 U374 ( .A(A[8]), .B(B[8]), .Y(n57) );
  NAND2X1 U375 ( .A(A[20]), .B(B[20]), .Y(n150) );
  ADDHXL U376 ( .A(A[24]), .B(n159), .S(SUM[24]), .CO(SUM[25]) );
  XOR2X1 U377 ( .A(n162), .B(n21), .Y(SUM[2]) );
  NAND2X1 U378 ( .A(n2), .B(n23), .Y(n162) );
  INVX1 U379 ( .A(n24), .Y(n2) );
  NAND2X1 U380 ( .A(A[1]), .B(B[1]), .Y(n21) );
  BUFX3 U381 ( .A(B[0]), .Y(SUM[0]) );
endmodule


module csa_mult_8m24_0 ( a, b, product );
  input [23:0] a;
  input [7:0] b;
  output [31:0] product;
  wire   \c2_o[30] , \c2_o[29] , \c2_o[28] , \c2_o[27] , \c2_o[26] ,
         \c2_o[25] , \c2_o[24] , \c2_o[23] , \c2_o[22] , \c2_o[21] ,
         \c2_o[20] , \c2_o[19] , \c2_o[18] , \c2_o[17] , \c2_o[16] ,
         \c2_o[15] , \c2_o[14] , \c2_o[13] , \c2_o[12] , \c2_o[11] ,
         \c2_o[10] , \c2_o[9] , \c2_o[8] , \c2_o[7] , \c2_o[6] , \c2_o[5] ,
         \c2_o[4] , \c2_o[3] , \c2_o[2] , \c2_o[1] , \c2_o[0] , n83, n84, n85,
         n86, n87, n88, n89, n90, n91, n92, n93, n94, n95, n96, n97, n98, n99,
         n100, n101, n102, n103, n104, n105, n106, n107, n108, n109, n110,
         n111, n112, n113, n114, n115, n116, n117, n118, n119, n120, n121,
         n122, n123, n124, n125, n126, n127, n128, n129, n130, n131, n132,
         n133, n134, n135, n136, n137, n138, n139, n140, n141, n142, n143,
         n144, n145, n146, n147, n148, n149, n150, n151, n152, n153, n154,
         n155, n156, n157, n158, n159, n160, n161, n162, n163, n164, n165,
         n166, n167, n168, n169, n170, n171, n172, n173, n174, n175, n176,
         n177, n178, n179, n180, n181, n182, n183, n184, n185, n186, n187,
         n188, n189, n190, n191, n192, n193, n194, n195, n196, n197, n198,
         n199, n200, n201, n202, n203, n204, n205, n206, n207, n208, n209,
         n210, n211, n212, n213, n214, n215, n216, n217, n218, n219, n220,
         n221, n222, n223, n224, n225, n226, n227, n228, n229, n230, n231,
         n232, n233, n234, n235, n236, n237, n238, n239, n240, n241, n242,
         n243, n244, n245, n246, n247;
  wire   [25:0] a_triple;
  wire   [25:0] a_in;
  wire   [25:0] b_in;
  wire   [25:0] c_in;
  wire   [25:0] d_in;
  wire   [29:0] s1_o;
  wire   [29:0] c1_o;
  wire   [31:0] s2_o;
  wire   SYNOPSYS_UNCONNECTED__0;

  csa3_30_0 csa3_30 ( .a1({1'b0, 1'b0, 1'b0, 1'b0, a_in}), .a2({1'b0, 1'b0, 
        b_in, 1'b0, 1'b0}), .a3({c_in, 1'b0, 1'b0, 1'b0, 1'b0}), .s(s1_o), .c(
        c1_o) );
  csa3_32_0 csa3_32 ( .a1({1'b0, 1'b0, s1_o}), .a2({1'b0, c1_o, 1'b0}), .a3({
        d_in, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0, 1'b0}), .s(s2_o), .c({
        SYNOPSYS_UNCONNECTED__0, \c2_o[30] , \c2_o[29] , \c2_o[28] , 
        \c2_o[27] , \c2_o[26] , \c2_o[25] , \c2_o[24] , \c2_o[23] , \c2_o[22] , 
        \c2_o[21] , \c2_o[20] , \c2_o[19] , \c2_o[18] , \c2_o[17] , \c2_o[16] , 
        \c2_o[15] , \c2_o[14] , \c2_o[13] , \c2_o[12] , \c2_o[11] , \c2_o[10] , 
        \c2_o[9] , \c2_o[8] , \c2_o[7] , \c2_o[6] , \c2_o[5] , \c2_o[4] , 
        \c2_o[3] , \c2_o[2] , \c2_o[1] , \c2_o[0] }) );
  INVX1 U185 ( .A(n93), .Y(n92) );
  INVX1 U186 ( .A(n91), .Y(n90) );
  INVX1 U187 ( .A(n88), .Y(n87) );
  INVX1 U188 ( .A(n117), .Y(n116) );
  INVX1 U189 ( .A(n115), .Y(n114) );
  INVX1 U190 ( .A(n103), .Y(n102) );
  INVX1 U191 ( .A(n99), .Y(n98) );
  INVXL U192 ( .A(a[6]), .Y(n101) );
  INVX1 U193 ( .A(n97), .Y(n96) );
  INVX1 U194 ( .A(n95), .Y(n94) );
  INVX1 U195 ( .A(n113), .Y(n112) );
  INVX1 U196 ( .A(n111), .Y(n110) );
  INVX1 U197 ( .A(a[2]), .Y(n93) );
  INVX1 U198 ( .A(a[4]), .Y(n97) );
  INVX1 U199 ( .A(n119), .Y(n118) );
  INVX1 U200 ( .A(n121), .Y(n120) );
  AOI2BB2X1 U201 ( .A0N(n160), .A1N(n101), .B0(n98), .B1(n83), .Y(n143) );
  AOI2BB2X1 U202 ( .A0N(n188), .A1N(n101), .B0(n98), .B1(n84), .Y(n171) );
  AOI2BB2XL U203 ( .A0N(n216), .A1N(n101), .B0(n98), .B1(n85), .Y(n199) );
  AOI2BB2XL U204 ( .A0N(n244), .A1N(n101), .B0(n98), .B1(n86), .Y(n227) );
  OAI2BB1X1 U205 ( .A0N(a_triple[12]), .A1N(n219), .B0(n205), .Y(b_in[12]) );
  INVXL U206 ( .A(a[15]), .Y(n119) );
  INVXL U207 ( .A(a[13]), .Y(n115) );
  INVXL U208 ( .A(a[10]), .Y(n109) );
  INVXL U209 ( .A(a[12]), .Y(n113) );
  INVXL U210 ( .A(a[14]), .Y(n117) );
  INVXL U211 ( .A(a[16]), .Y(n121) );
  INVXL U212 ( .A(a[8]), .Y(n105) );
  INVXL U213 ( .A(a[7]), .Y(n103) );
  INVXL U214 ( .A(a[1]), .Y(n91) );
  INVXL U215 ( .A(a[9]), .Y(n107) );
  INVXL U216 ( .A(a[11]), .Y(n111) );
  INVXL U217 ( .A(a[3]), .Y(n95) );
  INVXL U218 ( .A(a[22]), .Y(n133) );
  INVXL U219 ( .A(a[21]), .Y(n131) );
  INVXL U220 ( .A(a[23]), .Y(n135) );
  INVXL U221 ( .A(a[20]), .Y(n129) );
  INVXL U222 ( .A(a[19]), .Y(n127) );
  INVXL U223 ( .A(a[0]), .Y(n88) );
  INVXL U224 ( .A(a[18]), .Y(n125) );
  INVXL U225 ( .A(a[17]), .Y(n123) );
  OAI2BB1X1 U226 ( .A0N(a_triple[24]), .A1N(n219), .B0(n218), .Y(b_in[24]) );
  NAND2X1 U227 ( .A(n134), .B(n85), .Y(n218) );
  OAI2BB1X1 U228 ( .A0N(a_triple[24]), .A1N(n191), .B0(n190), .Y(c_in[24]) );
  NAND2X1 U229 ( .A(n134), .B(n84), .Y(n190) );
  OAI2BB1X1 U230 ( .A0N(a_triple[24]), .A1N(n247), .B0(n246), .Y(a_in[24]) );
  NAND2X1 U231 ( .A(n134), .B(n86), .Y(n246) );
  AND2X2 U232 ( .A(a_triple[25]), .B(n219), .Y(b_in[25]) );
  AND2X2 U233 ( .A(a_triple[25]), .B(n191), .Y(c_in[25]) );
  AND2X2 U234 ( .A(a_triple[25]), .B(n247), .Y(a_in[25]) );
  OAI2BB1X1 U235 ( .A0N(a_triple[24]), .A1N(n163), .B0(n162), .Y(d_in[24]) );
  NAND2X1 U236 ( .A(n134), .B(n83), .Y(n162) );
  AND2X2 U237 ( .A(a_triple[25]), .B(n163), .Y(d_in[25]) );
  OAI22X1 U238 ( .A0(n192), .A1(n89), .B0(n216), .B1(n88), .Y(b_in[0]) );
  OAI22X1 U239 ( .A0(n220), .A1(n89), .B0(n244), .B1(n88), .Y(a_in[0]) );
  INVX1 U240 ( .A(n220), .Y(n247) );
  INVX1 U241 ( .A(n192), .Y(n219) );
  OAI2BB1X1 U242 ( .A0N(a_triple[15]), .A1N(n219), .B0(n208), .Y(b_in[15]) );
  AOI2BB2X1 U243 ( .A0N(n216), .A1N(n119), .B0(n116), .B1(n85), .Y(n208) );
  AOI2BB2X1 U244 ( .A0N(n216), .A1N(n113), .B0(n110), .B1(n85), .Y(n205) );
  OAI2BB1X1 U245 ( .A0N(a_triple[16]), .A1N(n219), .B0(n209), .Y(b_in[16]) );
  AOI2BB2X1 U246 ( .A0N(n216), .A1N(n121), .B0(n118), .B1(n85), .Y(n209) );
  OAI2BB1X1 U247 ( .A0N(a_triple[10]), .A1N(n219), .B0(n203), .Y(b_in[10]) );
  AOI2BB2X1 U248 ( .A0N(n216), .A1N(n109), .B0(n106), .B1(n85), .Y(n203) );
  OAI2BB1X1 U249 ( .A0N(a_triple[13]), .A1N(n219), .B0(n206), .Y(b_in[13]) );
  AOI2BB2X1 U250 ( .A0N(n216), .A1N(n115), .B0(n112), .B1(n85), .Y(n206) );
  OAI2BB1X1 U251 ( .A0N(a_triple[23]), .A1N(n219), .B0(n217), .Y(b_in[23]) );
  AOI2BB2X1 U252 ( .A0N(n216), .A1N(n135), .B0(n132), .B1(n85), .Y(n217) );
  OAI2BB1X1 U253 ( .A0N(a_triple[14]), .A1N(n219), .B0(n207), .Y(b_in[14]) );
  AOI2BB2X1 U254 ( .A0N(n216), .A1N(n117), .B0(n114), .B1(n85), .Y(n207) );
  OAI2BB1X1 U255 ( .A0N(a_triple[11]), .A1N(n219), .B0(n204), .Y(b_in[11]) );
  AOI2BB2X1 U256 ( .A0N(n216), .A1N(n111), .B0(n108), .B1(n85), .Y(n204) );
  OAI2BB1X1 U257 ( .A0N(a_triple[18]), .A1N(n219), .B0(n211), .Y(b_in[18]) );
  AOI2BB2X1 U258 ( .A0N(n216), .A1N(n125), .B0(n122), .B1(n85), .Y(n211) );
  OAI2BB1X1 U259 ( .A0N(a_triple[1]), .A1N(n219), .B0(n194), .Y(b_in[1]) );
  AOI2BB2X1 U260 ( .A0N(n216), .A1N(n91), .B0(n87), .B1(n85), .Y(n194) );
  OAI2BB1X1 U261 ( .A0N(a_triple[17]), .A1N(n219), .B0(n210), .Y(b_in[17]) );
  AOI2BB2X1 U262 ( .A0N(n216), .A1N(n123), .B0(n120), .B1(n85), .Y(n210) );
  OAI2BB1X1 U263 ( .A0N(a_triple[3]), .A1N(n219), .B0(n196), .Y(b_in[3]) );
  AOI2BB2X1 U264 ( .A0N(n216), .A1N(n95), .B0(n92), .B1(n85), .Y(n196) );
  OAI2BB1X1 U265 ( .A0N(a_triple[4]), .A1N(n219), .B0(n197), .Y(b_in[4]) );
  AOI2BB2X1 U266 ( .A0N(n216), .A1N(n97), .B0(n94), .B1(n85), .Y(n197) );
  OAI2BB1X1 U267 ( .A0N(a_triple[22]), .A1N(n219), .B0(n215), .Y(b_in[22]) );
  AOI2BB2X1 U268 ( .A0N(n216), .A1N(n133), .B0(n130), .B1(n85), .Y(n215) );
  OAI2BB1X1 U269 ( .A0N(a_triple[19]), .A1N(n219), .B0(n212), .Y(b_in[19]) );
  AOI2BB2X1 U270 ( .A0N(n216), .A1N(n127), .B0(n124), .B1(n85), .Y(n212) );
  OAI2BB1X1 U271 ( .A0N(a_triple[20]), .A1N(n219), .B0(n213), .Y(b_in[20]) );
  AOI2BB2X1 U272 ( .A0N(n216), .A1N(n129), .B0(n126), .B1(n85), .Y(n213) );
  OAI2BB1X1 U273 ( .A0N(a_triple[2]), .A1N(n219), .B0(n195), .Y(b_in[2]) );
  AOI2BB2X1 U274 ( .A0N(n216), .A1N(n93), .B0(n90), .B1(n85), .Y(n195) );
  OAI2BB1X1 U275 ( .A0N(a_triple[8]), .A1N(n219), .B0(n201), .Y(b_in[8]) );
  AOI2BB2X1 U276 ( .A0N(n216), .A1N(n105), .B0(n102), .B1(n85), .Y(n201) );
  OAI2BB1X1 U277 ( .A0N(a_triple[7]), .A1N(n219), .B0(n200), .Y(b_in[7]) );
  AOI2BB2X1 U278 ( .A0N(n216), .A1N(n103), .B0(n100), .B1(n85), .Y(n200) );
  OAI2BB1X1 U279 ( .A0N(a_triple[6]), .A1N(n219), .B0(n199), .Y(b_in[6]) );
  OAI2BB1X1 U280 ( .A0N(a_triple[9]), .A1N(n219), .B0(n202), .Y(b_in[9]) );
  A

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -