//: version "1.8.6" module main; //: root_module supply1 w36; //: /sn:0 {0}(174,80)(174,98)(181,98){1} supply0 w17; //: /sn:0 {0}(138,295)(153,295){1} //: {2}(155,293)(155,217){3} //: {4}(155,213)(155,137)(138,137){5} //: {6}(153,215)(138,215){7} //: {8}(155,297)(155,301){9} supply1 w27; //: /sn:0 {0}(467,58)(467,72)(483,72)(483,71){1} //: {2}(485,69)(490,69){3} //: {4}(481,69)(478,69){5} wire w32; //: /sn:0 /dp:1 {0}(484,28)(548,28)(548,95)(532,95)(532,85){1} wire [7:0] w6; //: /sn:0 {0}(503,299)(513,299)(513,371)(402,371){1} //: {2}(400,369)(400,297)(335,297){3} //: {4}(398,371)(301,371){5} //: {6}(299,369)(299,356){7} //: {8}(297,371)(-9,371)(-9,273){9} //: {10}(-7,271)(99,271)(99,280){11} //: {12}(-9,269)(-9,193){13} //: {14}(-7,191)(99,191)(99,200){15} //: {16}(-9,189)(-9,110)(99,110)(99,122){17} wire [7:0] w7; //: /sn:0 {0}(306,270)(306,295){1} //: {2}(308,297)(319,297){3} //: {4}(304,297)(278,297)(278,291){5} wire w16; //: /sn:0 {0}(121,90)(162,90)(162,125){1} //: {2}(160,127)(138,127){3} //: {4}(162,129)(162,203){5} //: {6}(160,205)(138,205){7} //: {8}(162,207)(162,285)(138,285){9} wire [7:0] w14; //: /sn:0 {0}(99,143)(99,177){1} //: {2}(101,179)(115,179){3} //: {4}(97,179)(69,179)(69,173){5} wire [7:0] w15; //: /sn:0 {0}(99,221)(99,255){1} //: {2}(101,257)(115,257){3} //: {4}(97,257)(69,257)(69,251){5} wire w4; //: /sn:0 /dp:1 {0}(498,253)(565,253)(565,235)(559,235){1} wire [1:0] w19; //: /sn:0 {0}(304,47)(21,47)(21,65){1} wire w38; //: /sn:0 {0}(27,94)(27,290)(38,290){1} //: {2}(42,290)(62,290){3} //: {4}(40,292)(40,297)(40,297)(40,299){5} wire w3; //: /sn:0 {0}(450,253)(427,253)(427,248){1} wire [7:0] w0; //: /sn:0 {0}(490,239)(490,179)(292,179){1} //: {2}(288,179)(286,179){3} //: {4}(284,177)(284,172)(314,172)(314,159){5} //: {6}(282,179)(187,179){7} //: {8}(183,179)(131,179){9} //: {10}(185,181)(185,255){11} //: {12}(183,257)(131,257){13} //: {14}(185,259)(185,337)(131,337){15} //: {16}(290,181)(290,241){17} wire w34; //: /sn:0 {0}(441,26)(448,26)(448,12){1} wire w21; //: /sn:0 {0}(3,94)(3,132)(38,132){1} //: {2}(42,132)(62,132){3} //: {4}(40,134)(40,141){5} wire w31; //: /sn:0 /dp:1 {0}(484,23)(559,23)(559,105)(520,105)(520,85){1} wire w28; //: /sn:0 /dp:1 {0}(123,252)(123,247)(141,247){1} //: {2}(145,247)(199,247)(199,114){3} //: {4}(143,245)(143,239){5} wire [7:0] w20; //: /sn:0 {0}(99,301)(99,335){1} //: {2}(101,337)(115,337){3} //: {4}(97,337)(69,337)(69,331){5} wire w23; //: /sn:0 {0}(39,94)(39,121)(341,121)(341,23)(420,23){1} wire w1; //: /sn:0 /dp:1 {0}(327,292)(327,281)(341,281){1} //: {2}(345,281)(356,281)(356,277){3} //: {4}(343,279)(343,227)(508,227)(508,85){5} wire [1:0] w18; //: /sn:0 {0}(304,77)(205,77)(205,85){1} wire w8; //: /sn:0 /dp:1 {0}(123,174)(123,169)(138,169){1} //: {2}(142,169)(187,169)(187,114){3} //: {4}(140,167)(140,163){5} wire w35; //: /sn:0 {0}(15,94)(15,210)(39,210){1} //: {2}(43,210)(62,210){3} //: {4}(41,212)(41,220){5} wire w30; //: /sn:0 {0}(451,-9)(451,-15)(465,-15)(465,5)(473,5)(473,-4){1} wire w22; //: /sn:0 /dp:1 {0}(223,114)(223,128)(348,128)(348,28)(420,28){1} wire [1:0] w11; //: /sn:0 {0}(313,36)(514,36)(514,56){1} wire [7:0] w2; //: /sn:0 {0}(418,134)(418,155){1} //: {2}(416,157)(388,157)(388,152){3} //: {4}(418,159)(418,212){5} //: {6}(420,214)(458,214)(458,239){7} //: {8}(416,214)(322,214)(322,241){9} wire w10; //: /sn:0 {0}(-31,69)(-20,69)(-20,78)(-3,78){1} wire w33; //: /sn:0 {0}(463,26)(453,26)(453,12){1} wire [7:0] w5; //: /sn:0 /dp:1 {0}(444,289)(444,299)(472,299){1} //: {2}(476,299)(487,299){3} //: {4}(474,297)(474,268){5} wire w29; //: /sn:0 /dp:1 {0}(123,332)(123,326)(139,326){1} //: {2}(143,326)(211,326)(211,114){3} //: {4}(141,324)(141,319){5} wire w9; //: /sn:0 /dp:1 {0}(495,294)(495,277)(511,277){1} //: {2}(515,277)(524,277)(524,273){3} //: {4}(513,275)(513,110)(496,110)(496,85){5} wire [7:0] w26; //: /sn:0 {0}(309,6)(309,24){1} //: {2}(307,26)(294,26)(294,37)(279,37)(279,24){3} //: {4}(309,28)(309,35){5} //: {6}(309,36)(309,46){7} //: {8}(309,47)(309,76){9} //: {10}(309,77)(309,99){11} //: enddecls led g8 (.I(w8)); //: @(140,156) /sn:0 /w:[ 5 ] /type:0 led g61 (.I(w2)); //: @(388,145) /sn:0 /w:[ 3 ] /type:1 //: switch g4 (w4) @(542,235) /sn:0 /w:[ 1 ] /st:0 //: comment g58 /dolink:0 /link:"" @(518,322) /sn:0 //: /line:"Arithmetic" //: /end //: comment g55 /dolink:0 /link:"" @(179,129) /sn:0 //: /line:"Register" //: /line:"Output" //: /end //: joint g51 (w17) @(155, 215) /w:[ -1 4 6 3 ] //: comment g37 /dolink:0 /link:"" @(374,92) /sn:0 //: /line:"Constant Load" //: /end led g34 (.I(w0)); //: @(314,152) /sn:0 /w:[ 5 ] /type:1 //: comment g3 /dolink:0 /link:"" @(517,206) /sn:0 //: /line:"Carry-In" //: /end //: joint g13 (w5) @(474, 299) /w:[ 2 4 1 -1 ] //: comment g86 /dolink:0 /link:"" @(-71,84) /sn:0 //: /line:"Write!" //: /end led g89 (.I(w21)); //: @(40,148) /sn:0 /R:2 /w:[ 5 ] /type:0 //: comment g77 /dolink:0 /link:"" @(489,-21) /sn:0 /R:1 //: /line:"Error LED" //: /end or g76 (.I0(w31), .I1(w32), .Z(w33)); //: @(473,26) /sn:0 /R:2 /w:[ 0 0 0 ] //: comment g65 /dolink:0 /link:"" @(265,-35) /sn:0 //: /line:"Instruction" //: /end //: dip g2 (w2) @(418,124) /sn:0 /w:[ 0 ] /st:3 //: comment g59 /dolink:0 /link:"" @(463,241) /sn:0 //: /line:"Add" //: /end //: joint g72 (w9) @(513, 277) /w:[ 2 4 1 -1 ] led g1 (.I(w5)); //: @(444,282) /sn:0 /w:[ 0 ] /type:1 led g64 (.I(w26)); //: @(279,17) /sn:0 /w:[ 3 ] /type:1 led g16 (.I(w1)); //: @(356,270) /sn:0 /w:[ 3 ] /type:0 //: joint g11 (w7) @(306, 297) /w:[ 2 1 4 -1 ] demux g78 (.I(w18), .E(w36), .Z0(w8), .Z1(w28), .Z2(w29), .Z3(w22)); //: @(205,98) /sn:0 /w:[ 1 1 3 3 3 0 ] //: comment g50 /dolink:0 /link:"" @(81,49) /sn:0 //: /line:"Register" //: /line:"/Clear" //: /end bufif1 g28 (.Z(w0), .I(w15), .E(w28)); //: @(121,257) /sn:0 /w:[ 13 3 0 ] bufif1 g10 (.Z(w6), .I(w7), .E(w1)); //: @(325,297) /sn:0 /w:[ 3 3 0 ] led g87 (.I(w38)); //: @(40,306) /sn:0 /R:2 /w:[ 5 ] /type:0 //: joint g32 (w0) @(185, 179) /w:[ 7 -1 8 10 ] register g27 (.Q(w15), .D(w6), .EN(w17), .CLR(w16), .CK(w35)); //: @(99,210) /sn:0 /w:[ 0 15 7 7 3 ] register g19 (.Q(w14), .D(w6), .EN(w17), .CLR(w16), .CK(w21)); //: @(99,132) /sn:0 /w:[ 0 17 5 3 3 ] //: supply1 g69 (w27) @(478,58) /sn:0 /w:[ 0 ] bufif1 g38 (.Z(w0), .I(w20), .E(w29)); //: @(121,337) /sn:0 /w:[ 15 3 0 ] mult g6 (.A(w0), .B(w2), .P(w7)); //: @(306,257) /sn:0 /w:[ 17 9 0 ] or g75 (.I0(w34), .I1(w33), .Z(w30)); //: @(451,1) /sn:0 /R:1 /w:[ 1 1 0 ] //: frame g57 @(253,197) /sn:0 /wi:334 /ht:122 /tx:"" //: switch g53 (w16) @(104,90) /sn:0 /w:[ 0 ] /st:1 led g9 (.I(w7)); //: @(278,284) /sn:0 /w:[ 5 ] /type:1 //: joint g7 (w2) @(418, 214) /w:[ 6 5 8 -1 ] led g71 (.I(w9)); //: @(524,266) /sn:0 /w:[ 3 ] /type:0 bufif1 g20 (.Z(w0), .I(w14), .E(w8)); //: @(121,179) /sn:0 /w:[ 9 3 0 ] //: joint g15 (w6) @(400, 371) /w:[ 1 2 4 -1 ] led g31 (.I(w35)); //: @(41,227) /sn:0 /R:2 /w:[ 5 ] /type:0 tran g68(.Z(w11), .I(w26[1:0])); //: @(307,36) /sn:0 /R:2 /w:[ 0 6 5 ] /ss:1 //: joint g67 (w26) @(309, 26) /w:[ -1 1 2 4 ] register g39 (.Q(w20), .D(w6), .EN(w17), .CLR(w16), .CK(w38)); //: @(99,290) /sn:0 /w:[ 0 11 0 9 3 ] //: supply0 g48 (w17) @(155,307) /sn:0 /w:[ 9 ] led g43 (.I(w20)); //: @(69,324) /sn:0 /w:[ 5 ] /type:1 led g73 (.I(w30)); //: @(473,-11) /sn:0 /w:[ 1 ] /type:0 //: joint g17 (w1) @(343, 281) /w:[ 2 4 1 -1 ] //: joint g62 (w2) @(418, 157) /w:[ -1 1 2 4 ] //: joint g29 (w15) @(99, 257) /w:[ 2 1 4 -1 ] //: joint g25 (w0) @(290, 179) /w:[ 1 -1 2 16 ] //: joint g88 (w38) @(40, 290) /w:[ 2 -1 1 4 ] led g42 (.I(w28)); //: @(143,232) /sn:0 /w:[ 5 ] /type:0 demux g63 (.I(w11), .E(w27), .Z0(w9), .Z1(w1), .Z2(w31), .Z3(w32)); //: @(514,69) /sn:0 /w:[ 1 3 5 5 1 1 ] //: joint g52 (w17) @(155, 295) /w:[ -1 2 1 8 ] led g83 (.I(w29)); //: @(141,312) /sn:0 /w:[ 5 ] /type:0 or g74 (.I0(w23), .I1(w22), .Z(w34)); //: @(431,26) /sn:0 /w:[ 1 1 0 ] //: frame g56 @(-28,43) /sn:0 /wi:269 /ht:306 /tx:"" led g14 (.I(w6)); //: @(299,349) /sn:0 /w:[ 7 ] /type:1 led g5 (.I(w3)); //: @(427,241) /sn:0 /w:[ 1 ] /type:0 tran g80(.Z(w18), .I(w26[5:4])); //: @(307,77) /sn:0 /R:2 /w:[ 0 10 9 ] /ss:0 //: supply1 g79 (w36) @(185,80) /sn:0 /w:[ 0 ] //: joint g47 (w16) @(162, 127) /w:[ -1 1 2 4 ] //: joint g44 (w0) @(185, 257) /w:[ -1 11 12 14 ] //: switch g94 (w10) @(-48,69) /sn:0 /w:[ 0 ] /st:0 //: comment g85 /dolink:0 /link:"" @(492,114) /sn:0 //: /line:"Arithmetic" //: /line:"Operation" //: /end //: joint g84 (w29) @(141, 326) /w:[ 2 4 1 -1 ] //: comment g36 /dolink:0 /link:"" @(293,179) /sn:0 //: /line:"Arithmetic Input" //: /end //: joint g24 (w14) @(99, 179) /w:[ 2 1 4 -1 ] //: comment g21 /dolink:0 /link:"" @(292,373) /sn:0 //: /line:"Arithmetic Output" //: /end //: comment g92 /dolink:0 /link:"" @(84,203) /sn:0 //: /line:"reg1" //: /end //: joint g41 (w20) @(99, 337) /w:[ 2 1 4 -1 ] led g23 (.I(w14)); //: @(69,166) /sn:0 /w:[ 5 ] /type:1 //: comment g60 /dolink:0 /link:"" @(297,242) /sn:0 //: /line:"Mul" //: /end //: comment g54 /dolink:0 /link:"" @(-8,96) /sn:0 //: /line:"Register" //: /line:"Input" //: /end demux g81 (.I(w19), .E(w10), .Z0(w21), .Z1(w35), .Z2(w38), .Z3(w23)); //: @(21,78) /sn:0 /w:[ 1 1 0 0 0 0 ] //: joint g40 (w35) @(41, 210) /w:[ 2 -1 1 4 ] //: comment g93 /dolink:0 /link:"" @(83,283) /sn:0 //: /line:"reg2" //: /end //: joint g26 (w8) @(140, 169) /w:[ 2 4 1 -1 ] //: joint g70 (w27) @(483, 69) /w:[ 2 -1 4 1 ] //: comment g46 /dolink:0 /link:"" @(-27,25) /sn:0 //: /line:"Registers" //: /end //: joint g45 (w6) @(-9, 271) /w:[ 10 12 -1 9 ] //: joint g35 (w0) @(284, 179) /w:[ 3 4 6 -1 ] add g0 (.A(w2), .B(w0), .S(w5), .CI(w4), .CO(w3)); //: @(474,255) /sn:0 /w:[ 7 0 5 0 0 ] tran g22(.Z(w19), .I(w26[7:6])); //: @(307,47) /sn:0 /R:2 /w:[ 0 8 7 ] /ss:0 //: joint g90 (w21) @(40, 132) /w:[ 2 -1 1 4 ] //: joint g82 (w28) @(143, 247) /w:[ 2 4 1 -1 ] //: dip g66 (w26) @(309,-4) /sn:0 /w:[ 0 ] /st:16 //: joint g18 (w6) @(299, 371) /w:[ 5 6 8 -1 ] bufif1 g12 (.Z(w6), .I(w5), .E(w9)); //: @(493,299) /sn:0 /w:[ 0 3 0 ] //: joint g33 (w6) @(-9, 191) /w:[ 14 16 -1 13 ] led g30 (.I(w15)); //: @(69,244) /sn:0 /w:[ 5 ] /type:1 //: comment g91 /dolink:0 /link:"" @(84,125) /sn:0 //: /line:"reg0" //: /end //: joint g49 (w16) @(162, 205) /w:[ -1 5 6 8 ] endmodule