📄 csa_float_multiplier_dc.v
字号:
module selector_DW01_add_0 ( A, B, CI, SUM, CO );
input [8:0] A;
input [8:0] B;
output [8:0] SUM;
input CI;
output CO;
wire \carry[7] , \carry[6] , \carry[5] , \carry[4] , \carry[3] ,
\carry[2] , \carry[1] ;
ADDFX2 U1_1 ( .A(A[1]), .B(B[1]), .CI(\carry[1] ), .S(SUM[1]), .CO(
\carry[2] ) );
ADDFX2 U1_2 ( .A(A[2]), .B(B[2]), .CI(\carry[2] ), .S(SUM[2]), .CO(
\carry[3] ) );
ADDFX2 U1_3 ( .A(A[3]), .B(B[3]), .CI(\carry[3] ), .S(SUM[3]), .CO(
\carry[4] ) );
ADDFX2 U1_4 ( .A(A[4]), .B(B[4]), .CI(\carry[4] ), .S(SUM[4]), .CO(
\carry[5] ) );
ADDFX2 U1_5 ( .A(A[5]), .B(B[5]), .CI(\carry[5] ), .S(SUM[5]), .CO(
\carry[6] ) );
ADDFX2 U1_6 ( .A(A[6]), .B(B[6]), .CI(\carry[6] ), .S(SUM[6]), .CO(
\carry[7] ) );
ADDFX2 U1_7 ( .A(A[7]), .B(B[7]), .CI(\carry[7] ), .S(SUM[7]), .CO(SUM[8])
);
AND2X1 U1 ( .A(A[0]), .B(B[0]), .Y(\carry[1] ) );
XOR2X1 U2 ( .A(B[0]), .B(A[0]), .Y(SUM[0]) );
endmodule
module selector ( A_in, B_in, clk, rst_n, man_a, man_b, exp_out, sign, zero );
input [31:0] A_in;
input [31:0] B_in;
output [23:0] man_a;
output [23:0] man_b;
output [8:0] exp_out;
input clk, rst_n;
output sign, zero;
wire sign_a, sign_b, N131, N132, N133, N134, N135, N136, N137, N138, N139,
n4, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19,
n20, n21, n22, n23, n24, n25, n27, n28;
wire [7:0] exp_a;
wire [7:0] exp_b;
wire [31:0] A_reg;
wire [31:0] B_reg;
DFFTRX1 \man_a_reg[22] ( .D(A_in[22]), .CK(clk), .RN(rst_n), .Q(man_a[22]),
.QN() );
DFFTRX1 \man_a_reg[21] ( .D(A_in[21]), .CK(clk), .RN(rst_n), .Q(man_a[21]),
.QN() );
DFFTRX1 \man_a_reg[20] ( .D(A_in[20]), .CK(clk), .RN(rst_n), .Q(man_a[20]),
.QN() );
DFFTRX1 \man_a_reg[19] ( .D(A_in[19]), .CK(clk), .RN(rst_n), .Q(man_a[19]),
.QN() );
DFFTRX1 \man_a_reg[18] ( .D(A_in[18]), .CK(clk), .RN(rst_n), .Q(man_a[18]),
.QN() );
DFFTRX1 \man_a_reg[17] ( .D(A_in[17]), .CK(clk), .RN(rst_n), .Q(man_a[17]),
.QN() );
DFFTRX1 \man_a_reg[16] ( .D(A_in[16]), .CK(clk), .RN(rst_n), .Q(man_a[16]),
.QN() );
DFFTRX1 \man_b_reg[0] ( .D(B_in[0]), .CK(clk), .RN(rst_n), .Q(man_b[0]),
.QN() );
DFFHQX1 \man_a_reg[23] ( .D(rst_n), .CK(clk), .Q(man_a[23]) );
DFFHQX1 \man_b_reg[23] ( .D(rst_n), .CK(clk), .Q(man_b[23]) );
DFFTRX1 \man_a_reg[15] ( .D(A_in[15]), .CK(clk), .RN(rst_n), .Q(man_a[15]),
.QN() );
DFFTRX1 \man_a_reg[14] ( .D(A_in[14]), .CK(clk), .RN(rst_n), .Q(man_a[14]),
.QN() );
DFFTRX1 \man_a_reg[13] ( .D(A_in[13]), .CK(clk), .RN(rst_n), .Q(man_a[13]),
.QN() );
DFFTRX1 \man_a_reg[12] ( .D(A_in[12]), .CK(clk), .RN(rst_n), .Q(man_a[12]),
.QN() );
DFFTRX1 \man_a_reg[11] ( .D(A_in[11]), .CK(clk), .RN(rst_n), .Q(man_a[11]),
.QN() );
DFFTRX1 \man_a_reg[10] ( .D(A_in[10]), .CK(clk), .RN(rst_n), .Q(man_a[10]),
.QN() );
DFFTRX1 \man_a_reg[9] ( .D(A_in[9]), .CK(clk), .RN(rst_n), .Q(man_a[9]),
.QN() );
DFFTRX1 \man_a_reg[8] ( .D(A_in[8]), .CK(clk), .RN(rst_n), .Q(man_a[8]),
.QN() );
DFFTRX1 \man_a_reg[7] ( .D(A_in[7]), .CK(clk), .RN(rst_n), .Q(man_a[7]),
.QN() );
DFFTRX1 \man_a_reg[5] ( .D(A_in[5]), .CK(clk), .RN(rst_n), .Q(man_a[5]),
.QN() );
DFFTRX1 \man_a_reg[4] ( .D(A_in[4]), .CK(clk), .RN(rst_n), .Q(man_a[4]),
.QN() );
DFFTRX1 \man_a_reg[3] ( .D(A_in[3]), .CK(clk), .RN(rst_n), .Q(man_a[3]),
.QN() );
DFFTRX1 \man_a_reg[2] ( .D(A_in[2]), .CK(clk), .RN(rst_n), .Q(man_a[2]),
.QN() );
DFFTRX1 \man_a_reg[1] ( .D(A_in[1]), .CK(clk), .RN(rst_n), .Q(man_a[1]),
.QN() );
DFFTRX1 \man_a_reg[0] ( .D(A_in[0]), .CK(clk), .RN(rst_n), .Q(man_a[0]),
.QN() );
DFFTRX1 \man_b_reg[22] ( .D(B_in[22]), .CK(clk), .RN(rst_n), .Q(man_b[22]),
.QN() );
DFFTRX1 \man_b_reg[21] ( .D(B_in[21]), .CK(clk), .RN(rst_n), .Q(man_b[21]),
.QN() );
DFFTRX1 \man_b_reg[20] ( .D(B_in[20]), .CK(clk), .RN(rst_n), .Q(man_b[20]),
.QN() );
DFFTRX1 \man_b_reg[19] ( .D(B_in[19]), .CK(clk), .RN(rst_n), .Q(man_b[19]),
.QN() );
DFFTRX1 \man_b_reg[18] ( .D(B_in[18]), .CK(clk), .RN(rst_n), .Q(man_b[18]),
.QN() );
DFFTRX1 \man_b_reg[17] ( .D(B_in[17]), .CK(clk), .RN(rst_n), .Q(man_b[17]),
.QN() );
DFFTRX1 \man_b_reg[16] ( .D(B_in[16]), .CK(clk), .RN(rst_n), .Q(man_b[16]),
.QN() );
DFFTRX1 \man_b_reg[15] ( .D(B_in[15]), .CK(clk), .RN(rst_n), .Q(man_b[15]),
.QN() );
DFFTRX1 \man_b_reg[14] ( .D(B_in[14]), .CK(clk), .RN(rst_n), .Q(man_b[14]),
.QN() );
DFFTRX1 \man_b_reg[13] ( .D(B_in[13]), .CK(clk), .RN(rst_n), .Q(man_b[13]),
.QN() );
DFFTRX1 \man_b_reg[12] ( .D(B_in[12]), .CK(clk), .RN(rst_n), .Q(man_b[12]),
.QN() );
DFFTRX1 \man_b_reg[11] ( .D(B_in[11]), .CK(clk), .RN(rst_n), .Q(man_b[11]),
.QN() );
DFFTRX1 \man_b_reg[10] ( .D(B_in[10]), .CK(clk), .RN(rst_n), .Q(man_b[10]),
.QN() );
DFFTRX1 \man_b_reg[9] ( .D(B_in[9]), .CK(clk), .RN(rst_n), .Q(man_b[9]),
.QN() );
DFFTRX1 \man_b_reg[8] ( .D(B_in[8]), .CK(clk), .RN(rst_n), .Q(man_b[8]),
.QN() );
DFFTRX1 \man_b_reg[7] ( .D(B_in[7]), .CK(clk), .RN(rst_n), .Q(man_b[7]),
.QN() );
DFFTRX1 \man_b_reg[6] ( .D(B_in[6]), .CK(clk), .RN(rst_n), .Q(man_b[6]),
.QN() );
DFFTRX1 \man_b_reg[5] ( .D(B_in[5]), .CK(clk), .RN(rst_n), .Q(man_b[5]),
.QN() );
DFFTRX1 \man_b_reg[4] ( .D(B_in[4]), .CK(clk), .RN(rst_n), .Q(man_b[4]),
.QN() );
DFFTRX1 \man_b_reg[3] ( .D(B_in[3]), .CK(clk), .RN(rst_n), .Q(man_b[3]),
.QN() );
DFFTRX1 \man_b_reg[2] ( .D(B_in[2]), .CK(clk), .RN(rst_n), .Q(man_b[2]),
.QN() );
DFFTRX1 \man_b_reg[1] ( .D(B_in[1]), .CK(clk), .RN(rst_n), .Q(man_b[1]),
.QN() );
DFFTRX1 \man_a_reg[6] ( .D(A_in[6]), .CK(clk), .RN(rst_n), .Q(man_a[6]),
.QN() );
NOR2BX1 U38 ( .AN(N139), .B(n28), .Y(exp_out[8]) );
NOR2BX1 U39 ( .AN(N138), .B(n28), .Y(exp_out[7]) );
NOR2BX1 U40 ( .AN(N137), .B(n28), .Y(exp_out[6]) );
NOR2BX1 U41 ( .AN(n4), .B(n28), .Y(zero) );
OAI22X1 U42 ( .A0(n6), .A1(n7), .B0(n8), .B1(n9), .Y(n4) );
NAND4X1 U43 ( .A(n22), .B(n23), .C(n24), .D(n25), .Y(n6) );
NAND4X1 U44 ( .A(n18), .B(n19), .C(n20), .D(n21), .Y(n7) );
NOR2BX1 U45 ( .AN(N136), .B(n28), .Y(exp_out[5]) );
NOR2BX1 U46 ( .AN(N135), .B(n28), .Y(exp_out[4]) );
NOR2BX1 U47 ( .AN(N134), .B(n28), .Y(exp_out[3]) );
NOR2BX1 U48 ( .AN(N133), .B(n28), .Y(exp_out[2]) );
NOR2BX1 U49 ( .AN(N132), .B(n28), .Y(exp_out[1]) );
INVX1 U50 ( .A(rst_n), .Y(n28) );
NOR4X1 U51 ( .A(A_reg[23]), .B(A_reg[22]), .C(A_reg[21]), .D(A_reg[20]), .Y(
n13) );
NOR4X1 U52 ( .A(A_reg[9]), .B(A_reg[8]), .C(A_reg[7]), .D(A_reg[6]), .Y(n17)
);
NOR4X1 U53 ( .A(B_reg[23]), .B(B_reg[22]), .C(B_reg[21]), .D(B_reg[20]), .Y(
n21) );
NOR4X1 U54 ( .A(B_reg[9]), .B(B_reg[8]), .C(B_reg[7]), .D(B_reg[6]), .Y(n25)
);
NOR4X1 U55 ( .A(B_reg[1]), .B(B_reg[19]), .C(B_reg[18]), .D(B_reg[17]), .Y(
n20) );
NOR4X1 U56 ( .A(B_reg[5]), .B(B_reg[4]), .C(B_reg[3]), .D(B_reg[31]), .Y(n24) );
NOR4X1 U57 ( .A(B_reg[16]), .B(B_reg[15]), .C(B_reg[14]), .D(B_reg[13]), .Y(
n19) );
NOR4X1 U58 ( .A(B_reg[30]), .B(B_reg[2]), .C(B_reg[29]), .D(B_reg[28]), .Y(
n23) );
NOR4X1 U59 ( .A(B_reg[12]), .B(B_reg[11]), .C(B_reg[10]), .D(B_reg[0]), .Y(
n18) );
NOR4X1 U60 ( .A(B_reg[27]), .B(B_reg[26]), .C(B_reg[25]), .D(B_reg[24]), .Y(
n22) );
NAND4X1 U61 ( .A(n14), .B(n15), .C(n16), .D(n17), .Y(n8) );
NOR4X1 U62 ( .A(A_reg[27]), .B(A_reg[26]), .C(A_reg[25]), .D(A_reg[24]), .Y(
n14) );
NOR4X1 U63 ( .A(A_reg[30]), .B(A_reg[2]), .C(A_reg[29]), .D(A_reg[28]), .Y(
n15) );
NOR4X1 U64 ( .A(A_reg[5]), .B(A_reg[4]), .C(A_reg[3]), .D(A_reg[31]), .Y(n16) );
NAND4X1 U65 ( .A(n10), .B(n11), .C(n12), .D(n13), .Y(n9) );
NOR4X1 U66 ( .A(A_reg[12]), .B(A_reg[11]), .C(A_reg[10]), .D(A_reg[0]), .Y(
n10) );
NOR4X1 U67 ( .A(A_reg[16]), .B(A_reg[15]), .C(A_reg[14]), .D(A_reg[13]), .Y(
n11) );
NOR4X1 U68 ( .A(A_reg[1]), .B(A_reg[19]), .C(A_reg[18]), .D(A_reg[17]), .Y(
n12) );
NOR2BX1 U69 ( .AN(N131), .B(n28), .Y(exp_out[0]) );
AND2X2 U70 ( .A(n27), .B(rst_n), .Y(sign) );
XOR2X1 U71 ( .A(sign_b), .B(sign_a), .Y(n27) );
DFFTRX1 \exp_b_reg[1] ( .D(B_in[24]), .CK(clk), .RN(rst_n), .Q(exp_b[1]),
.QN() );
DFFTRX1 \exp_a_reg[1] ( .D(A_in[24]), .CK(clk), .RN(rst_n), .Q(exp_a[1]),
.QN() );
DFFTRX1 \exp_a_reg[0] ( .D(A_in[23]), .CK(clk), .RN(rst_n), .Q(exp_a[0]),
.QN() );
DFFTRX1 \exp_b_reg[0] ( .D(B_in[23]), .CK(clk), .RN(rst_n), .Q(exp_b[0]),
.QN() );
DFFTRX1 sign_a_reg ( .D(A_in[31]), .CK(clk), .RN(rst_n), .Q(sign_a), .QN()
);
DFFTRX1 \exp_b_reg[7] ( .D(B_in[30]), .CK(clk), .RN(rst_n), .Q(exp_b[7]),
.QN() );
DFFTRX1 \exp_b_reg[6] ( .D(B_in[29]), .CK(clk), .RN(rst_n), .Q(exp_b[6]),
.QN() );
DFFTRX1 \exp_b_reg[5] ( .D(B_in[28]), .CK(clk), .RN(rst_n), .Q(exp_b[5]),
.QN() );
DFFTRX1 \exp_b_reg[4] ( .D(B_in[27]), .CK(clk), .RN(rst_n), .Q(exp_b[4]),
.QN() );
DFFTRX1 \exp_b_reg[3] ( .D(B_in[26]), .CK(clk), .RN(rst_n), .Q(exp_b[3]),
.QN() );
DFFTRX1 \exp_b_reg[2] ( .D(B_in[25]), .CK(clk), .RN(rst_n), .Q(exp_b[2]),
.QN() );
DFFTRX1 \A_reg_reg[31] ( .D(A_in[31]), .CK(clk), .RN(rst_n), .Q(A_reg[31]),
.QN() );
DFFTRX1 \A_reg_reg[28] ( .D(A_in[28]), .CK(clk), .RN(rst_n), .Q(A_reg[28]),
.QN() );
DFFTRX1 \A_reg_reg[24] ( .D(A_in[24]), .CK(clk), .RN(rst_n), .Q(A_reg[24]),
.QN() );
DFFTRX1 \A_reg_reg[20] ( .D(A_in[20]), .CK(clk), .RN(rst_n), .Q(A_reg[20]),
.QN() );
DFFTRX1 \A_reg_reg[17] ( .D(A_in[17]), .CK(clk), .RN(rst_n), .Q(A_reg[17]),
.QN() );
DFFTRX1 \A_reg_reg[13] ( .D(A_in[13]), .CK(clk), .RN(rst_n), .Q(A_reg[13]),
.QN() );
DFFTRX1 \A_reg_reg[6] ( .D(A_in[6]), .CK(clk), .RN(rst_n), .Q(A_reg[6]),
.QN() );
DFFTRX1 \A_reg_reg[0] ( .D(A_in[0]), .CK(clk), .RN(rst_n), .Q(A_reg[0]),
.QN() );
DFFTRX1 \B_reg_reg[31] ( .D(B_in[31]), .CK(clk), .RN(rst_n), .Q(B_reg[31]),
.QN() );
DFFTRX1 \B_reg_reg[28] ( .D(B_in[28]), .CK(clk), .RN(rst_n), .Q(B_reg[28]),
.QN() );
DFFTRX1 \B_reg_reg[24] ( .D(B_in[24]), .CK(clk), .RN(rst_n), .Q(B_reg[24]),
.QN() );
DFFTRX1 \B_reg_reg[20] ( .D(B_in[20]), .CK(clk), .RN(rst_n), .Q(B_reg[20]),
.QN() );
DFFTRX1 \B_reg_reg[17] ( .D(B_in[17]), .CK(clk), .RN(rst_n), .Q(B_reg[17]),
.QN() );
DFFTRX1 \B_reg_reg[13] ( .D(B_in[13]), .CK(clk), .RN(rst_n), .Q(B_reg[13]),
.QN() );
DFFTRX1 \B_reg_reg[6] ( .D(B_in[6]), .CK(clk), .RN(rst_n), .Q(B_reg[6]),
.QN() );
DFFTRX1 \B_reg_reg[0] ( .D(B_in[0]), .CK(clk), .RN(rst_n), .Q(B_reg[0]),
.QN() );
DFFTRX1 \A_reg_reg[26] ( .D(A_in[26]), .CK(clk), .RN(rst_n), .Q(A_reg[26]),
.QN() );
DFFTRX1 \A_reg_reg[22] ( .D(A_in[22]), .CK(clk), .RN(rst_n), .Q(A_reg[22]),
.QN() );
DFFTRX1 \A_reg_reg[19] ( .D(A_in[19]), .CK(clk), .RN(rst_n), .Q(A_reg[19]),
.QN() );
DFFTRX1 \A_reg_reg[15] ( .D(A_in[15]), .CK(clk), .RN(rst_n), .Q(A_reg[15]),
.QN() );
DFFTRX1 \A_reg_reg[11] ( .D(A_in[11]), .CK(clk), .RN(rst_n), .Q(A_reg[11]),
.QN() );
DFFTRX1 \A_reg_reg[8] ( .D(A_in[8]), .CK(clk), .RN(rst_n), .Q(A_reg[8]),
.QN() );
DFFTRX1 \A_reg_reg[4] ( .D(A_in[4]), .CK(clk), .RN(rst_n), .Q(A_reg[4]),
.QN() );
DFFTRX1 \A_reg_reg[2] ( .D(A_in[2]), .CK(clk), .RN(rst_n), .Q(A_reg[2]),
.QN() );
DFFTRX1 \B_reg_reg[26] ( .D(B_in[26]), .CK(clk), .RN(rst_n), .Q(B_reg[26]),
.QN() );
DFFTRX1 \B_reg_reg[22] ( .D(B_in[22]), .CK(clk), .RN(rst_n), .Q(B_reg[22]),
.QN() );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -