//: version "1.8.6" module main; //: root_module supply0 w14; //: /sn:0 /dp:1 {0}(359,107)(359,95)(367,95)(367,98){1} supply0 w11; //: /sn:0 {0}(385,160)(385,151)(394,151)(394,152){1} wire [7:0] w6; //: /sn:0 {0}(390,198)(454,198){1} //: {2}(458,198)(555,198){3} //: {4}(557,196)(557,129){5} //: {6}(557,200)(557,212){7} //: {8}(456,200)(456,212){9} wire [7:0] w7; //: /sn:0 {0}(541,241)(541,297){1} //: {2}(543,299)(565,299)(565,297){3} //: {4}(539,299)(501,299)(501,309){5} wire [7:0] w16; //: /sn:0 {0}(424,212)(424,147){1} //: {2}(426,145)(525,145)(525,212){3} //: {4}(424,143)(424,131){5} //: {6}(422,145)(364,145){7} wire w4; //: /sn:0 {0}(497,246)(507,246)(507,226)(464,226){1} wire [7:0] w15; //: /sn:0 {0}(126,245)(126,252){1} //: {2}(128,254)(206,254)(206,139)(227,139){3} //: {4}(124,254)(121,254)(121,243){5} wire w3; //: /sn:0 {0}(263,68)(263,325)(468,325){1} wire [7:0] w0; //: /sn:0 /dp:1 {0}(517,361)(517,364)(493,364){1} //: {2}(491,362)(491,338){3} //: {4}(489,364)(87,364)(87,314){5} //: {6}(89,312)(125,312)(125,322){7} //: {8}(87,310)(87,264){9} //: {10}(89,262)(126,262)(126,272){11} //: {12}(87,260)(87,217){13} //: {14}(89,215)(126,215)(126,224){15} //: {16}(87,213)(87,157)(125,157)(125,167){17} wire [7:0] w28; //: /sn:0 {0}(256,145)(343,145){1} wire [7:0] w20; //: /sn:0 {0}(126,293)(126,300){1} //: {2}(128,302)(213,302)(213,151)(227,151){3} //: {4}(124,302)(120,302)(120,291){5} wire w23; //: /sn:0 {0}(335,68)(335,337)(164,337){1} wire w1; //: /sn:0 {0}(104,116)(114,116)(114,143)(78,143)(78,145){1} //: {2}(80,147)(179,147)(179,193)(352,193){3} //: {4}(354,191)(354,183){5} //: {6}(354,195)(354,258)(380,258)(380,236){7} //: {8}(78,149)(78,175){9} //: {10}(80,177)(88,177){11} //: {12}(78,179)(78,232){13} //: {14}(80,234)(89,234){15} //: {16}(78,236)(78,280){17} //: {18}(80,282)(89,282){19} //: {20}(78,284)(78,332)(88,332){21} wire w25; //: /sn:0 {0}(181,127)(189,127){1} //: {2}(191,125)(191,85)(347,85){3} //: {4}(351,85)(375,85)(375,160){5} //: {6}(349,87)(349,107){7} //: {8}(191,129)(191,170){9} //: {10}(189,172)(164,172){11} //: {12}(191,174)(191,227){13} //: {14}(189,229)(165,229){15} //: {16}(191,231)(191,275){17} //: {18}(189,277)(165,277){19} //: {20}(191,279)(191,327)(164,327){21} wire w8; //: /sn:0 /dp:1 {0}(404,224)(404,226)(416,226){1} wire w17; //: /sn:0 {0}(299,68)(299,239)(165,239){1} wire w22; //: /sn:0 {0}(318,68)(318,287)(165,287){1} wire [7:0] w2; //: /sn:0 {0}(440,241)(440,297){1} //: {2}(442,299)(481,299)(481,309){3} //: {4}(438,299)(414,299)(414,296){5} wire w12; //: /sn:0 {0}(280,68)(280,182)(164,182){1} wire w10; //: /sn:0 {0}(87,51)(87,41){1} wire [1:0] w27; //: /sn:0 {0}(243,68)(243,122){1} wire [7:0] w13; //: /sn:0 {0}(125,343)(125,350){1} //: {2}(127,352)(220,352)(220,163)(227,163){3} //: {4}(123,352)(119,352)(119,342){5} wire [7:0] w29; //: /sn:0 {0}(214,64)(242,64){1} //: {2}(243,64)(262,64){3} //: {4}(263,64)(279,64){5} //: {6}(280,64)(298,64){7} //: {8}(299,64)(317,64){9} //: {10}(318,64)(334,64){11} //: {12}(335,64)(365,64){13} wire [7:0] w9; //: /sn:0 {0}(125,188)(125,197)(128,197){1} //: {2}(124,197)(121,197)(121,187){3} //: {4}(126,195)(126,198)(198,198){5} //: {6}(202,198)(369,198){7} //: {8}(200,196)(200,127)(227,127){9} //: enddecls mux g4 (.I0(w2), .I1(w7), .S(w3), .Z(w0)); //: @(491,325) /sn:0 /w:[ 3 5 1 3 ] register g8 (.Q(w20), .D(w0), .EN(!w22), .CLR(w25), .CK(w1)); //: @(126,282) /sn:0 /w:[ 0 11 1 19 19 ] //: comment g61 /dolink:0 /link:"" @(462,260) /sn:0 /R:1 //: /line:"Carry" //: /end //: switch g3 (w4) @(480,246) /sn:0 /w:[ 0 ] /st:1 //: dip g13 (w29) @(176,64) /sn:0 /R:1 /w:[ 0 ] /st:232 //: joint g34 (w13) @(125, 352) /w:[ 2 1 4 -1 ] //: joint g37 (w0) @(87, 312) /w:[ 6 8 -1 5 ] register g51 (.Q(w16), .D(w28), .EN(w14), .CLR(w25), .CK(!w1)); //: @(354,145) /sn:0 /R:1 /delay:" 1 1 1" /w:[ 7 1 0 7 5 ] //: joint g55 (w25) @(349, 85) /w:[ 4 -1 3 6 ] //: joint g58 (w1) @(354, 193) /w:[ -1 4 3 6 ] led g2 (.I(w8)); //: @(404,217) /sn:0 /w:[ 0 ] /type:0 //: switch g59 (w10) @(87,65) /sn:0 /R:1 /w:[ 0 ] /st:1 mult g1 (.A(w16), .B(w6), .P(w7)); //: @(541,228) /sn:0 /w:[ 3 7 0 ] //: joint g11 (w25) @(191, 229) /w:[ -1 13 14 16 ] //: joint g16 (w25) @(191, 277) /w:[ -1 17 18 20 ] //: joint g10 (w25) @(191, 172) /w:[ -1 9 10 12 ] //: joint g28 (w9) @(126, 197) /w:[ 2 -1 1 4 ] //: comment g50 /dolink:0 /link:"" @(138,34) /sn:0 //: /line:"Instruction" //: /line:"" //: /end led g27 (.I(w9)); //: @(121,180) /sn:0 /w:[ 3 ] /type:1 //: joint g32 (w20) @(126, 302) /w:[ 2 1 4 -1 ] //: joint g19 (w6) @(456, 198) /w:[ 2 -1 1 8 ] register g6 (.Q(w9), .D(w0), .EN(!w12), .CLR(w25), .CK(w1)); //: @(125,177) /sn:0 /w:[ 0 17 1 11 11 ] //: joint g38 (w0) @(87, 262) /w:[ 10 12 -1 9 ] register g7 (.Q(w15), .D(w0), .EN(!w17), .CLR(w25), .CK(w1)); //: @(126,234) /sn:0 /w:[ 0 15 1 15 15 ] //: switch g9 (w25) @(164,127) /sn:0 /w:[ 0 ] /st:1 //: joint g57 (w1) @(78, 147) /w:[ 2 1 -1 8 ] //: supply0 g53 (w11) @(394,158) /sn:0 /w:[ 1 ] register g15 (.Q(w13), .D(w0), .EN(!w23), .CLR(w25), .CK(w1)); //: @(125,332) /sn:0 /w:[ 0 7 1 21 21 ] led g31 (.I(w20)); //: @(120,284) /sn:0 /w:[ 5 ] /type:1 //: joint g20 (w9) @(200, 198) /w:[ 6 8 5 -1 ] //: joint g39 (w0) @(87, 215) /w:[ 14 16 -1 13 ] //: joint g43 (w1) @(78, 282) /w:[ 18 17 -1 20 ] //: comment g48 /dolink:0 /link:"" @(144,99) /sn:0 //: /line:"/Reset" //: /end //: joint g17 (w16) @(424, 145) /w:[ 2 4 6 1 ] led g25 (.I(w2)); //: @(414,289) /sn:0 /w:[ 5 ] /type:1 led g29 (.I(w15)); //: @(121,236) /sn:0 /w:[ 5 ] /type:1 //: comment g62 /dolink:0 /link:"" @(457,373) /sn:0 /R:1 //: /line:"Arithmetic" //: /end //: joint g42 (w1) @(78, 234) /w:[ 14 13 -1 16 ] //: joint g52 (w25) @(191, 127) /w:[ -1 2 1 8 ] //: comment g63 /dolink:0 /link:"" @(99,370) /sn:0 /R:1 //: /line:"Registers" //: /end tran g14(.Z(w27), .I(w29[1:0])); //: @(243,62) /sn:0 /R:1 /w:[ 0 1 2 ] /ss:1 tran g5(.Z(w3), .I(w29[3])); //: @(263,62) /sn:0 /R:1 /w:[ 0 3 4 ] /ss:1 //: supply0 g56 (w14) @(367,104) /sn:0 /w:[ 1 ] tran g44(.Z(w12), .I(w29[4])); //: @(280,62) /sn:0 /R:1 /w:[ 0 5 6 ] /ss:1 tran g47(.Z(w23), .I(w29[7])); //: @(335,62) /sn:0 /R:1 /w:[ 0 11 12 ] /ss:1 led g21 (.I(w6)); //: @(557,122) /sn:0 /w:[ 5 ] /type:1 //: joint g24 (w7) @(541, 299) /w:[ 2 1 4 -1 ] //: joint g36 (w0) @(491, 364) /w:[ 1 2 4 -1 ] led g23 (.I(w7)); //: @(565,290) /sn:0 /w:[ 3 ] /type:1 //: joint g41 (w1) @(78, 177) /w:[ 10 9 -1 12 ] //: switch g40 (w1) @(87,116) /sn:0 /w:[ 0 ] /st:1 register g54 (.Q(w6), .D(w9), .EN(w11), .CLR(w25), .CK(!w1)); //: @(380,198) /sn:0 /R:1 /delay:" 1 1 1" /w:[ 0 7 0 5 7 ] //: comment g60 /dolink:0 /link:"" @(70,37) /sn:0 /R:1 //: /line:"(delay)" //: /end add g0 (.A(w16), .B(w6), .S(w2), .CI(w4), .CO(w8)); //: @(440,228) /sn:0 /w:[ 0 9 0 1 1 ] //: joint g22 (w6) @(557, 198) /w:[ -1 4 3 6 ] //: joint g26 (w2) @(440, 299) /w:[ 2 1 4 -1 ] led g35 (.I(w0)); //: @(517,354) /sn:0 /w:[ 0 ] /type:1 tran g45(.Z(w17), .I(w29[5])); //: @(299,62) /sn:0 /R:1 /w:[ 0 7 8 ] /ss:1 tran g46(.Z(w22), .I(w29[6])); //: @(318,62) /sn:0 /R:1 /w:[ 0 9 10 ] /ss:1 mux g12 (.I0(w9), .I1(w15), .I2(w20), .I3(w13), .S(w27), .Z(w28)); //: @(243,145) /sn:0 /R:1 /delay:" 1 1" /w:[ 9 3 3 3 1 0 ] led g18 (.I(w16)); //: @(424,124) /sn:0 /w:[ 5 ] /type:1 //: joint g30 (w15) @(126, 254) /w:[ 2 1 4 -1 ] led g33 (.I(w13)); //: @(119,335) /sn:0 /w:[ 5 ] /type:1 //: comment g49 /dolink:0 /link:"" @(70,88) /sn:0 //: /line:"Clock" //: /line:"" //: /end endmodule