//: version "1.6" module foo(Z, C, B, A); //: interface /sz:(40, 40) /bd:[ ] input B; //: /sn:0 /dp:1 {0}(159,163)(150,163)(150,198)(83,198){1} input A; //: /sn:0 /dp:1 {0}(159,158)(151,158)(151,123)(126,123){1} //: {2}(124,121)(124,97)(219,97){3} //: {4}(122,123)(81,123){5} output Z; //: /sn:0 {0}(386,225)(311,225){1} input C; //: /sn:0 {0}(83,257)(232,257)(232,227)(242,227){1} wire w3; //: /sn:0 {0}(235,97)(245,97){1} wire w0; //: /sn:0 /dp:1 {0}(242,222)(232,222)(232,161)(180,161){1} wire w1; //: /sn:0 /dp:1 {0}(295,225)(263,225){1} //: enddecls //: joint g8 (A) @(124, 123) /w:[ 1 2 4 -1 ] and g4 (.I0(A), .I1(B), .Z(w0)); //: @(170,161) /sn:0 /w:[ 0 0 1 ] //: output g3 (Z) @(383,225) /sn:0 /w:[ 0 ] //: input g2 (C) @(81,257) /sn:0 /w:[ 0 ] //: input g1 (B) @(81,198) /sn:0 /w:[ 1 ] not g6 (.I(w1), .Z(Z)); //: @(301,225) /sn:0 /w:[ 0 1 ] buf g7 (.I(A), .Z(w3)); //: @(225,97) /sn:0 /w:[ 3 0 ] xor g5 (.I0(w0), .I1(C), .Z(w1)); //: @(253,225) /sn:0 /w:[ 0 1 1 ] //: input g0 (A) @(79,123) /sn:0 /w:[ 5 ] endmodule module main; //: root_module supply0 w16; //: /sn:0 /dp:1 {0}(521,477)(497,477)(497,491){1} supply1 w9; //: /sn:0 /dp:1 {0}(597,472)(613,472){1} //: {2}(615,470)(615,448){3} //: {4}(615,474)(615,482)(597,482){5} wire w6; //: /sn:0 {0}(210,221)(236,221){1} //: {2}(240,221)(268,221)(268,120)(345,120){3} //: {4}(238,223)(238,300)(555,300){5} wire w7; //: /sn:0 /dp:1 {0}(621,279)(621,298)(605,298){1} //: {2}(601,298)(576,298){3} //: {4}(603,300)(603,417)(582,417){5} wire w14; //: /sn:0 /dp:1 {0}(188,148)(167,148)(167,123)(157,123){1} wire [7:0] w15; //: /sn:0 /dp:1 {0}(558,467)(558,432){1} wire w4; //: /sn:0 /dp:1 {0}(555,295)(542,295)(542,253)(524,253){1} wire w3; //: /sn:0 /dp:1 {0}(116,172)(75,172)(75,159){1} //: {2}(75,155)(75,125)(136,125){3} //: {4}(73,157)(56,157){5} wire w0; //: /sn:0 {0}(61,214)(73,214){1} //: {2}(75,212)(75,177)(116,177){3} //: {4}(75,216)(75,223)(128,223){5} //: {6}(132,223)(189,223){7} //: {8}(130,225)(130,255)(503,255){9} wire w1; //: /sn:0 /dp:1 {0}(189,218)(169,218)(169,177){1} //: {2}(171,175)(335,175)(335,146)(345,146){3} //: {4}(169,173)(169,153)(188,153){5} //: {6}(167,175)(137,175){7} wire w8; //: /sn:0 {0}(54,97)(94,97){1} wire w18; //: /sn:0 {0}(532,195)(542,195){1} wire [7:0] w12; //: /sn:0 {0}(512,364)(512,393)(542,393)(542,403){1} wire w11; //: /sn:0 {0}(534,417)(524,417){1} wire w2; //: /sn:0 /dp:1 {0}(503,250)(479,250)(479,197){1} //: {2}(481,195)(516,195){3} //: {4}(479,193)(479,106)(445,106){5} wire w10; //: /sn:0 {0}(345,96)(243,96)(243,151)(209,151){1} wire w13; //: /sn:0 {0}(110,97)(122,97)(122,120)(136,120){1} wire [7:0] w5; //: /sn:0 /dp:1 {0}(574,403)(574,393)(655,393)(655,520)(558,520)(558,488){1} //: enddecls and g8 (.I0(w2), .I1(w0), .Z(w4)); //: @(514,253) /sn:0 /w:[ 0 9 1 ] //: joint g4 (w0) @(75, 214) /w:[ -1 2 1 4 ] //: dip g13 (w12) @(512,354) /sn:0 /w:[ 0 ] /st:0 nand g3 (.I0(w1), .I1(w0), .Z(w6)); //: @(200,221) /sn:0 /w:[ 0 7 0 ] //: switch g2 (w0) @(44,214) /sn:0 /w:[ 0 ] /st:0 //: switch g1 (w3) @(39,157) /sn:0 /w:[ 5 ] /st:0 add g11 (.A(w12), .B(w5), .S(w15), .CI(w7), .CO(w11)); //: @(558,419) /sn:0 /w:[ 1 0 1 5 0 ] xor g16 (.I0(w13), .I1(w3), .Z(w14)); //: @(147,123) /sn:0 /w:[ 1 3 1 ] and g10 (.I0(w4), .I1(w6), .Z(w7)); //: @(566,298) /sn:0 /w:[ 0 5 3 ] register g19 (.Q(w5), .D(w15), .EN(w9), .CLR(w9), .CK(w16)); //: @(558,477) /sn:0 /w:[ 1 0 5 0 0 ] //: joint g6 (w3) @(75, 157) /w:[ -1 2 4 1 ] //: joint g9 (w0) @(130, 223) /w:[ 6 -1 5 8 ] //: joint g7 (w1) @(169, 175) /w:[ 2 4 6 1 ] //: supply1 g20 (w9) @(626,448) /sn:0 /w:[ 3 ] //: joint g15 (w7) @(603, 298) /w:[ 1 -1 2 4 ] not g17 (.I(w8), .Z(w13)); //: @(100,97) /sn:0 /w:[ 1 0 ] //: joint g25 (w2) @(479, 195) /w:[ 2 4 -1 1 ] and g5 (.I0(!w14), .I1(w1), .Z(w10)); //: @(199,151) /sn:0 /w:[ 0 5 1 ] foo g14 (.C(w1), .B(w6), .A(w10), .Z(w2)); //: @(346, 66) /sz:(98, 98) /sn:0 /p:[ Li0>3 Li1>3 Li2>0 Ri0>5 ] //: joint g21 (w9) @(615, 472) /w:[ -1 2 1 4 ] buf g24 (.I(w2), .Z(w18)); //: @(522,195) /sn:0 /w:[ 3 0 ] //: joint g23 (w6) @(238, 221) /w:[ 2 -1 1 4 ] //: supply0 g22 (w16) @(497,497) /sn:0 /w:[ 1 ] and g0 (.I0(w3), .I1(w0), .Z(w1)); //: @(127,175) /sn:0 /w:[ 0 3 7 ] led g12 (.I(w7)); //: @(621,272) /sn:0 /w:[ 0 ] /type:0 //: switch g18 (w8) @(37,97) /sn:0 /w:[ 0 ] /st:0 endmodule