//: version "1.6i" module part2(res, ps2, ps1); //: interface /sz:(85, 40) /bd:[ Ti0>ps1[3:0](54/85) Ti1>ps2[3:0](19/85) Bo0ps1[5:0](68/88) Ti1>ps2[5:0](21/88) Bo0b0(18/74) Ti1>a0(51/74) Bo00 Ti1>0 Bo0<1 Bo1<1 Bo2<1 Bo3<1 ] concat g13 (.I0(w5), .I1(w6), .I2(w9), .I3(w15), .Z(w3)); //: @(233,234) /sn:0 /R:3 /w:[ 0 0 0 0 5 ] /dr:1 //: switch g34 (w14) @(481,395) /sn:0 /R:2 /w:[ 0 ] /st:0 //: dip g37 (w22) @(342,79) /sn:0 /w:[ 0 ] /st:0 concat g1 (.I0(w26), .I1(w20), .I2(w1), .I3(w0), .Z(w45)); //: @(451,108) /sn:0 /R:1 /w:[ 1 1 1 1 0 ] /dr:0 part1 g11 (.a0(w20), .b0(w16), .s0(w13), .c0(w32), .s1(w33), .c1(w34)); //: @(442, 155) /sz:(74, 43) /sn:0 /p:[ Ti0>0 Ti1>0 Bo0<1 Bo1<1 Bo2<1 Bo3<1 ] concat g16 (.I0(w13), .I1(w32), .I2(w33), .I3(w34), .Z(w35)); //: @(477,233) /sn:0 /R:3 /w:[ 0 0 0 0 5 ] /dr:1 led g10 (.I(w3)); //: @(166,190) /sn:0 /R:1 /w:[ 0 ] /type:1 part3 g28 (.ps1(w17), .ps2(w18), .res(w4)); //: @(353, 339) /sz:(88, 40) /sn:0 /p:[ Ti0>5 Ti1>3 Bo0<3 ] led g27 (.I(w17)); //: @(457,281) /sn:0 /R:1 /w:[ 3 ] /type:1 led g19 (.I(w40)); //: @(551,193) /sn:0 /R:1 /w:[ 0 ] /type:1 part4 g32 (.ci(w14), .ps(w4), .co(w24), .sum(w19)); //: @(370, 414) /sz:(83, 40) /sn:0 /p:[ Ti0>1 Ti1>5 Bo0<1 Bo1<1 ] //: dip g38 (w45) @(451,78) /sn:0 /w:[ 1 ] /st:7 part1 g9 (.a0(w1), .b0(w2), .s0(w7), .c0(w10), .s1(w11), .c1(w21)); //: @(319, 154) /sz:(74, 43) /sn:0 /p:[ Ti0>0 Ti1>0 Bo0<1 Bo1<1 Bo2<1 Bo3<1 ] part2 g20 (.ps2(w35), .ps1(w40), .res(w17)); //: @(489, 263) /sz:(85, 40) /sn:0 /p:[ Ti0>3 Ti1>5 Bo0<0 ] led g15 (.I(w12)); //: @(294,185) /sn:0 /R:1 /w:[ 0 ] /type:1 led g31 (.I(w4)); //: @(324,416) /sn:0 /R:2 /w:[ 0 ] /type:1 //: joint g25 (w3) @(233, 246) /w:[ 2 4 1 -1 ] led g17 (.I(w35)); //: @(419,186) /sn:0 /R:1 /w:[ 0 ] /type:1 //: joint g29 (w17) @(479, 322) /w:[ 1 2 4 -1 ] concat g14 (.I0(w7), .I1(w10), .I2(w11), .I3(w21), .Z(w12)); //: @(356,231) /sn:0 /R:3 /w:[ 0 0 0 0 3 ] /dr:1 //: joint g24 (w12) @(313, 247) /w:[ 2 1 4 -1 ] //: joint g21 (w40) @(565, 250) /w:[ 2 1 4 -1 ] led g36 (.I(w24)); //: @(396,483) /sn:0 /R:2 /w:[ 0 ] /type:0 part2 g23 (.ps2(w3), .ps1(w12), .res(w18)); //: @(235, 260) /sz:(85, 40) /sn:0 /p:[ Ti0>3 Ti1>5 Bo0<0 ] led g26 (.I(w18)); //: @(211,275) /sn:0 /R:1 /w:[ 5 ] /type:1 //: joint g22 (w35) @(477, 250) /w:[ 2 4 1 -1 ] led g35 (.I(w19)); //: @(432,481) /sn:0 /R:2 /w:[ 0 ] /type:1 concat g0 (.I0(w25), .I1(w16), .I2(w2), .I3(w8), .Z(w22)); //: @(342,106) /sn:0 /R:1 /w:[ 0 1 1 1 1 ] /dr:0 concat g18 (.I0(w36), .I1(w37), .I2(w38), .I3(w39), .Z(w40)); //: @(612,232) /sn:0 /R:3 /w:[ 0 0 0 0 3 ] /dr:1 part1 g12 (.a0(w26), .b0(w25), .s0(w36), .c0(w37), .s1(w38), .c1(w39)); //: @(575, 154) /sz:(74, 43) /sn:0 /p:[ Ti0>0 Ti1>1 Bo0<1 Bo1<1 Bo2<1 Bo3<1 ] //: joint g30 (w18) @(284, 324) /w:[ 2 1 4 -1 ] //: joint g33 (w4) @(396, 397) /w:[ -1 2 1 4 ] endmodule module part4(co, sum, ci, ps); //: interface /sz:(40, 40) /bd:[ ] output co; //: /sn:0 {0}(307,253)(322,253)(322,216)(347,216){1} input [9:0] ps; //: /sn:0 {0}(127,258)(168,258){1} input ci; //: /sn:0 {0}(206,217)(254,217)(254,235){1} output [3:0] sum; //: /sn:0 {0}(307,263)(357,263)(357,262)(361,262){1} wire [4:0] w0; //: /sn:0 {0}(238,248)(211,248)(211,253)(174,253){1} wire [4:0] w2; //: /sn:0 {0}(174,263)(213,263)(213,268)(238,268){1} wire [4:0] w5; //: /sn:0 /dp:1 {0}(301,258)(267,258){1} //: enddecls mux g4 (.I0(w0), .I1(w2), .S(!ci), .Z(w5)); //: @(254,258) /sn:0 /R:1 /w:[ 0 1 1 1 ] //: output g3 (co) @(344,216) /sn:0 /w:[ 1 ] //: output g2 (sum) @(358,262) /sn:0 /w:[ 1 ] //: input g1 (ci) @(204,217) /sn:0 /w:[ 0 ] concat g6 (.I0(sum), .I1(co), .Z(w5)); //: @(302,258) /sn:0 /R:2 /w:[ 0 0 0 ] /dr:1 concat g5 (.I0(w2), .I1(w0), .Z(ps)); //: @(169,258) /sn:0 /R:2 /w:[ 0 1 1 ] /dr:1 //: input g0 (ps) @(125,258) /sn:0 /w:[ 0 ] endmodule