//: version "2.0-b10" //: property encoding = "iso8859-1" //: property locale = "en" //: property prefix = "_GG" //: property timingViolationMode = 2 //: property initTime = "0 ns" `timescale 1ns/1ns //: /netlistBegin main module main; //: root_module reg w6; //: /sn:0 {0}(131,-29)(156,-29)(156,-12){1} //: {2}(158,-10)(169,-10){3} //: {4}(156,-8)(156,10)(170,10){5} reg w45; //: /sn:0 {0}(66,837)(219,837){1} reg w7; //: /sn:0 {0}(169,-5)(142,-5)(142,13){1} //: {2}(144,15)(170,15){3} //: {4}(140,15)(130,15){5} reg w16; //: /sn:0 {0}(169,464)(156,464)(156,436)(141,436){1} reg w19; //: /sn:0 {0}(141,520)(155,520)(155,489)(169,489){1} reg w4; //: /sn:0 {0}(192,254)(173,254){1} //: {2}(171,252)(171,230){3} //: {4}(173,228)(192,228){5} //: {6}(171,226)(171,210){7} //: {8}(173,208)(192,208){9} //: {10}(171,206)(171,183)(192,183){11} //: {12}(171,256)(171,259){13} //: {14}(169,261)(121,261){15} //: {16}(171,263)(171,275){17} //: {18}(173,277)(192,277){19} //: {20}(171,279)(171,299){21} //: {22}(173,301)(192,301){23} //: {24}(171,303)(171,325)(192,325){25} reg w3; //: /sn:0 {0}(192,203)(159,203){1} //: {2}(157,201)(157,178)(192,178){3} //: {4}(157,205)(157,211){5} //: {6}(155,213)(121,213){7} //: {8}(157,215)(157,221){9} //: {10}(159,223)(192,223){11} //: {12}(157,225)(157,247){13} //: {14}(159,249)(192,249){15} //: {16}(157,251)(157,270){17} //: {18}(159,272)(192,272){19} //: {20}(157,274)(157,294){21} //: {22}(159,296)(192,296){23} //: {24}(157,298)(157,320)(192,320){25} reg w0; //: /sn:0 {0}(217,-20)(217,-51)(201,-51){1} reg [3:0] w34; //: /sn:0 {0}(#:116,775)(104,775){1} //: {2}(102,773)(102,660)(169,660)(169,640){3} //: {4}(100,775)(#:95,775){5} reg [3:0] w28; //: /sn:0 {0}(#:117,708)(92,708){1} //: {2}(90,706)(90,655)(106,655)(106,640){3} //: {4}(88,708)(#:81,708){5} reg w1; //: /sn:0 {0}(192,173)(146,173){1} //: {2}(142,173)(121,173){3} //: {4}(144,175)(144,196){5} //: {6}(146,198)(192,198){7} //: {8}(144,200)(144,216){9} //: {10}(146,218)(192,218){11} //: {12}(144,220)(144,242){13} //: {14}(146,244)(192,244){15} //: {16}(144,246)(144,265){17} //: {18}(146,267)(192,267){19} //: {20}(144,269)(144,289){21} //: {22}(146,291)(192,291){23} //: {24}(144,293)(144,315)(192,315){25} reg w18; //: /sn:0 {0}(169,477)(155,477)(155,478)(141,478){1} reg [3:0] w49; //: /sn:0 {0}(#:48,1000)(7,1000){1} //: {2}(5,998)(5,966)(163,966)(163,956){3} //: {4}(3,1000)(#:-1,1000){5} reg w48; //: /sn:0 {0}(249,1210)(255,1210)(255,1158){1} //: {2}(257,1156)(277,1156){3} //: {4}(253,1156)(237,1156)(237,1151)(220,1151){5} //: {6}(216,1151)(131,1151){7} //: {8}(127,1151)(68,1151){9} //: {10}(64,1151)(0,1151)(0,1165)(-7,1165){11} //: {12}(66,1153)(66,1166)(58,1166){13} //: {14}(129,1153)(129,1166)(121,1166){15} //: {16}(218,1153)(218,1167)(185,1167){17} reg [3:0] w50; //: /sn:0 {0}(#:11,1247)(17,1247){1} //: {2}(21,1247)(71,1247)(#:71,1237){3} //: {4}(#:19,1245)(19,971)(226,971)(226,956){5} wire w32; //: /sn:0 {0}(216,780)(122,780){1} wire w61; //: /sn:0 {0}(329,1088)(339,1088)(339,1077)(257,1077)(257,1061)(272,1061){1} wire w60; //: /sn:0 {0}(76,1231)(76,1218)(88,1218)(88,1200){1} //: {2}(90,1198)(108,1198)(108,1182){3} //: {4}(88,1196)(88,1182){5} wire w46; //: /sn:0 {0}(370,1050)(349,1050)(349,1009)(328,1009){1} wire w56; //: /sn:0 {0}(86,1231)(86,1223)(161,1223)(161,1201){1} //: {2}(163,1199)(172,1199)(172,1183){3} //: {4}(159,1199)(152,1199)(152,1183){5} wire w14; //: /sn:0 {0}(229,203)(213,203){1} wire w15; //: /sn:0 {0}(245,449)(245,466)(224,466){1} wire w38; //: /sn:0 {0}(219,812)(149,812)(149,723)(123,723){1} wire w51; //: /sn:0 {0}(328,987)(338,987)(338,972)(292,972)(292,945){1} wire w66; //: /sn:0 {0}(273,998)(202,998)(202,1042)(-30,1042)(-30,1152){1} wire w64; //: /sn:0 {0}(274,1099)(98,1099)(98,1153){1} wire w37; //: /sn:0 {0}(219,825)(193,825)(193,790)(122,790){1} wire w63; //: /sn:0 {0}(277,1144)(162,1144)(162,1154){1} wire w43; //: /sn:0 {0}(370,1080)(355,1080)(355,1155)(332,1155){1} wire w21; //: /sn:0 {0}(312,731)(291,731)(291,690)(270,690){1} wire w54; //: /sn:0 {0}(272,1036)(238,1036)(238,995)(54,995){1} wire w58; //: /sn:0 {0}(327,1038)(337,1038)(337,1026)(258,1026)(258,1010)(273,1010){1} wire w31; //: /sn:0 {0}(274,814)(284,814)(284,806)(202,806)(202,792)(216,792){1} wire w36; //: /sn:0 {0}(370,1070)(350,1070)(350,1110)(329,1110){1} wire w41; //: /sn:0 {0}(312,761)(297,761)(297,836)(274,836){1} wire w24; //: /sn:0 {0}(271,769)(281,769)(281,758)(199,758)(199,742)(214,742){1} wire w23; //: /sn:0 {0}(233,284)(219,284)(219,272)(213,272){1} wire w20; //: /sn:0 {0}(229,213)(225,213)(225,247){1} //: {2}(223,249)(217,249)(217,249)(213,249){3} //: {4}(225,251)(225,279)(233,279){5} wire w25; //: /sn:0 {0}(214,730)(192,730)(192,770)(122,770){1} wire w65; //: /sn:0 {0}(272,1049)(35,1049)(35,1153){1} wire w40; //: /sn:0 {0}(370,1060)(327,1060){1} wire w35; //: /sn:0 {0}(312,751)(292,751)(292,791)(271,791){1} wire w8; //: /sn:0 {0}(215,666)(138,666)(138,693)(123,693){1} wire w30; //: /sn:0 {0}(312,741)(269,741){1} wire w22; //: /sn:0 {0}(270,668)(280,668)(280,653)(234,653)(234,626){1} wire w17; //: /sn:0 {0}(229,208)(221,208)(221,223)(213,223){1} wire w59; //: /sn:0 {0}(56,1231)(56,1215)(-18,1215){1} //: {2}(-20,1213)(-20,1181){3} //: {4}(-22,1215)(-40,1215)(-40,1181){5} wire w53; //: /sn:0 {0}(274,1086)(232,1086)(232,1005)(54,1005){1} wire w62; //: /sn:0 {0}(45,1182)(45,1201){1} //: {2}(47,1203)(66,1203)(66,1231){3} //: {4}(43,1203)(25,1203)(25,1182){5} wire w57; //: /sn:0 {0}(332,1133)(342,1133)(342,1125)(260,1125)(260,1111)(274,1111){1} wire [3:0] w44; //: /sn:0 {0}(#:318,746)(326,746)(326,646)(273,646)(273,636){1} wire w12; //: /sn:0 {0}(269,719)(279,719)(279,707)(200,707)(200,691)(215,691){1} wire w11; //: /sn:0 {0}(213,178)(222,178)(222,198)(229,198){1} wire w2; //: /sn:0 {0}(190,-7)(201,-7){1} wire w10; //: /sn:0 {0}(215,679)(189,679)(189,760)(122,760){1} wire w27; //: /sn:0 {0}(214,717)(158,717)(158,703)(123,703){1} wire w13; //: /sn:0 {0}(265,448)(265,488)(224,488){1} wire w52; //: /sn:0 {0}(277,1131)(227,1131)(227,1015)(54,1015){1} wire w33; //: /sn:0 {0}(216,767)(155,767)(155,713)(123,713){1} wire w5; //: /sn:0 {0}(191,13)(201,13){1} wire [3:0] w47; //: /sn:0 {0}(#:376,1065)(384,1065)(384,965)(331,965)(331,955){1} wire w29; //: /sn:0 {0}(233,294)(227,294)(227,320)(213,320){1} wire w42; //: /sn:0 {0}(278,271)(278,286)(254,286){1} wire w9; //: /sn:0 {0}(230,3)(264,3)(264,-14){1} wire w55; //: /sn:0 {0}(273,985)(54,985){1} wire w39; //: /sn:0 {0}(269,191)(269,205)(250,205){1} wire w26; //: /sn:0 {0}(233,289)(219,289)(219,296)(213,296){1} //: enddecls //: comment g61 @(203,612) /sn:0 //: /line:"=" //: /end //: SWITCH g4 (w1) @(104,173) /sn:0 /w:[ 3 ] /st:0 /dn:1 //: LED g8 (w9) @(264,-21) /sn:0 /w:[ 1 ] /type:0 //: joint g86 (w62) @(45, 1203) /w:[ 2 1 4 -1 ] //: joint g58 (w28) @(90, 708) /w:[ 1 2 4 -1 ] //: SWITCH g55 (w45) @(49,837) /sn:0 /w:[ 0 ] /st:0 /dn:1 assign w44 = {w21, w30, w35, w41}; //: CONCAT g51 @(317,746) /sn:0 /w:[ 0 0 0 0 0 ] /dr:0 /tp:0 /drp:1 //: joint g37 (w4) @(171, 254) /w:[ 1 2 -1 12 ] //: joint g34 (w4) @(171, 301) /w:[ 22 21 -1 24 ] _GGAND3 #(8) g13 (.I0(w1), .I1(w3), .I2(w4), .Z(w20)); //: @(203,249) /sn:0 /w:[ 15 15 0 3 ] //: comment g3 @(-37,132) /sn:0 //: /line:"A B Cin S Cout" //: /line:"0 0 0 0 0" //: /line:"0 0 1 1 0" //: /line:"0 1 0 1 0" //: /line:"0 1 1 0 1" //: /line:"1 0 0 1 0" //: /line:"1 0 1 0 1" //: /line:"1 1 0 0 1" //: /line:"1 1 1 1 1" //: /end //: SWITCH B (w7) @(113,15) /w:[ 5 ] /st:0 /dn:0 //: joint g89 (w48) @(129, 1151) /w:[ 7 -1 8 14 ] //: DIP g77 (w49) @(-39,1000) /sn:0 /R:1 /w:[ 5 ] /st:10 /dn:0 //: comment g76 @(188,929) /sn:0 //: /line:"+/-" //: /line:"" //: /end //: joint g65 (w49) @(5, 1000) /w:[ 1 2 4 -1 ] _GGMUX2 #(8, 8) g2 (.I0(w2), .I1(w5), .S(w0), .Z(w9)); //: @(217,3) /sn:0 /R:1 /w:[ 1 1 0 0 ] /ss:1 /do:1 //: joint g59 (w34) @(102, 775) /w:[ 1 2 4 -1 ] //: LED g72 (w49) @(163,949) /sn:0 /w:[ 3 ] /type:3 _GGOR2 #(6) g1 (.I0(w6), .I1(w7), .Z(w5)); //: @(181,13) /sn:0 /w:[ 5 3 0 ] //: SWITCH g64 (w48) @(232,1210) /sn:0 /w:[ 0 ] /st:1 /dn:1 _GGAND3 #(8) g16 (.I0(w1), .I1(w3), .I2(!w4), .Z(w29)); //: @(203,320) /sn:0 /w:[ 25 25 25 1 ] _GGAND3 #(8) g11 (.I0(!w1), .I1(w3), .I2(!w4), .Z(w14)); //: @(203,203) /sn:0 /w:[ 7 0 9 1 ] //: SWITCH A (w6) @(114,-29) /w:[ 0 ] /st:0 /dn:0 //: joint g87 (w59) @(-20, 1215) /w:[ 1 2 4 -1 ] FA g78 (.cin(w61), .y(w65), .x(w54), .cout(w58), .sum(w40)); //: @(273, 1033) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<0 Ro1<1 ] //: LED g50 (w22) @(234,619) /sn:0 /w:[ 1 ] /type:0 //: joint g28 (w3) @(157, 203) /w:[ 1 2 -1 4 ] _GGAND3 #(8) g10 (.I0(!w1), .I1(!w3), .I2(w4), .Z(w11)); //: @(203,178) /sn:0 /w:[ 0 3 11 0 ] //: joint g32 (w3) @(157, 272) /w:[ 18 17 -1 20 ] //: joint g27 (w1) @(144, 291) /w:[ 22 21 -1 24 ] //: joint g19 (w20) @(225, 249) /w:[ -1 1 2 4 ] //: LED g69 (w50) @(226,949) /sn:0 /w:[ 5 ] /type:3 //: LED Cout (w42) @(278,264) /w:[ 0 ] /type:0 //: joint g38 (w4) @(171, 228) /w:[ 4 6 -1 3 ] //: joint g6 (w6) @(156, -10) /w:[ 2 1 -1 4 ] FA g75 (.cin(w57), .y(w64), .x(w53), .cout(w61), .sum(w36)); //: @(275, 1083) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<0 Ro1<1 ] //: LED g57 (w34) @(169,633) /sn:0 /w:[ 3 ] /type:3 assign {w8, w27, w33, w38} = w28; //: CONCAT g53 @(118,708) /sn:0 /R:2 /w:[ 1 1 1 1 0 ] /dr:1 /tp:0 /drp:0 //: SWITCH g9 (w4) @(104,261) /sn:0 /w:[ 15 ] /st:0 /dn:1 //: SWITCH g7 (w3) @(104,213) /sn:0 /w:[ 7 ] /st:0 /dn:1 FA g71 (.cin(w48), .y(w63), .x(w52), .cout(w57), .sum(w43)); //: @(278, 1128) /sz:(53, 40) /sn:0 /p:[ Li0>3 Li1>0 Li2>0 Ro0<0 Ro1<1 ] FA g20 (.cin(w19), .y(w18), .x(w16), .cout(w15), .sum(w13)); //: @(170, 461) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<1 Ro1<1 ] //: joint g31 (w3) @(157, 249) /w:[ 14 13 -1 16 ] _GGAND3 #(8) g15 (.I0(w1), .I1(!w3), .I2(w4), .Z(w26)); //: @(203,296) /sn:0 /w:[ 23 23 23 1 ] assign {w55, w54, w53, w52} = w49; //: CONCAT g68 @(49,1000) /sn:0 /R:2 /w:[ 1 1 1 1 0 ] /dr:1 /tp:0 /drp:0 //: LED g67 (w51) @(292,938) /sn:0 /w:[ 1 ] /type:0 //: joint g39 (w4) @(171, 208) /w:[ 8 10 -1 7 ] FA g48 (.cin(w45), .y(w37), .x(w38), .cout(w31), .sum(w41)); //: @(220, 809) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<0 Ro1<1 ] //: LED g43 (w15) @(245,442) /sn:0 /w:[ 0 ] /type:0 //: joint g88 (w48) @(218, 1151) /w:[ 5 -1 6 16 ] assign {w59, w62, w60, w56} = w50; //: CONCAT g73 @(71,1236) /sn:0 /R:3 /w:[ 0 3 0 0 3 ] /dr:1 /tp:0 /drp:0 //: comment g62 @(260,928) /sn:0 //: /line:"=" //: /end //: joint g29 (w3) @(157, 213) /w:[ -1 5 6 8 ] //: joint g25 (w1) @(144, 244) /w:[ 14 13 -1 16 ] _GGOR4 #(10) g17 (.I0(w11), .I1(w14), .I2(w17), .I3(w20), .Z(w39)); //: @(240,205) /sn:0 /w:[ 1 0 0 0 1 ] assign w47 = {w46, w40, w36, w43}; //: CONCAT g63 @(375,1065) /sn:0 /w:[ 0 0 0 0 0 ] /dr:0 /tp:0 /drp:1 //: DIP g52 (w34) @(57,775) /sn:0 /R:1 /w:[ 5 ] /st:0 /dn:0 //: LED g42 (w13) @(265,441) /sn:0 /w:[ 0 ] /type:0 _GGMUX2 #(8, 10) g83 (.I0(w56), .I1(~w56), .S(w48), .Z(w63)); //: @(162,1167) /sn:0 /R:2 /w:[ 3 5 17 1 ] /ss:0 /do:0 FA g74 (.cin(w58), .y(w66), .x(w55), .cout(w51), .sum(w46)); //: @(274, 982) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<0 Ro1<1 ] //: LED g56 (w28) @(106,633) /sn:0 /w:[ 3 ] /type:3 _GGAND3 #(8) g14 (.I0(!w1), .I1(w3), .I2(w4), .Z(w23)); //: @(203,272) /sn:0 /w:[ 19 19 19 1 ] //: joint g5 (w7) @(142, 15) /w:[ 2 1 4 -1 ] _GGMUX2 #(8, 10) g80 (.I0(w62), .I1(~w62), .S(w48), .Z(w65)); //: @(35,1166) /sn:0 /R:2 /w:[ 0 5 13 1 ] /ss:0 /do:0 //: LED g79 (w47) @(331,948) /sn:0 /w:[ 1 ] /type:3 FA g47 (.cin(w31), .y(w32), .x(w33), .cout(w24), .sum(w35)); //: @(217, 764) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<0 Ro1<1 ] FA g44 (.cin(w12), .y(w10), .x(w8), .cout(w22), .sum(w21)); //: @(216, 663) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<0 Ro1<1 ] //: LED Sum (w39) @(269,184) /w:[ 0 ] /type:0 //: joint g85 (w60) @(88, 1198) /w:[ 2 4 -1 1 ] _GGMUX2 #(8, 10) g84 (.I0(w59), .I1(~w59), .S(w48), .Z(w66)); //: @(-30,1165) /sn:0 /R:2 /w:[ 3 5 11 1 ] /ss:0 /do:0 //: SWITCH g21 (w16) @(124,436) /sn:0 /w:[ 1 ] /st:0 /dn:1 //: joint g36 (w4) @(171, 261) /w:[ -1 13 14 16 ] //: joint g24 (w1) @(144, 218) /w:[ 10 9 -1 12 ] //: SWITCH g41 (w19) @(124,520) /sn:0 /w:[ 0 ] /st:0 /dn:1 //: joint g23 (w1) @(144, 198) /w:[ 6 5 -1 8 ] //: joint g81 (w56) @(161, 1199) /w:[ 2 -1 4 1 ] //: comment g60 @(133,613) /sn:0 //: /line:"+" //: /line:"" //: /end assign {w10, w25, w32, w37} = w34; //: CONCAT g54 @(117,775) /sn:0 /R:2 /w:[ 1 1 1 1 0 ] /dr:1 /tp:0 /drp:0 //: SWITCH g40 (w18) @(124,478) /sn:0 /w:[ 1 ] /st:0 /dn:1 //: joint g90 (w48) @(66, 1151) /w:[ 9 -1 10 12 ] //: DIP g70 (w50) @(-27,1247) /sn:0 /R:1 /w:[ 0 ] /st:4 /dn:0 //: DIP g45 (w28) @(43,708) /sn:0 /R:1 /w:[ 5 ] /st:0 /dn:0 FA g46 (.cin(w24), .y(w25), .x(w27), .cout(w12), .sum(w30)); //: @(215, 714) /sz:(53, 40) /sn:0 /p:[ Li0>1 Li1>0 Li2>0 Ro0<0 Ro1<1 ] //: joint g35 (w4) @(171, 277) /w:[ 18 17 -1 20 ] //: joint g26 (w1) @(144, 267) /w:[ 18 17 -1 20 ] //: joint g22 (w1) @(144, 173) /w:[ 1 -1 2 4 ] _GGAND2 #(6) g0 (.I0(w6), .I1(w7), .Z(w2)); //: @(180,-7) /sn:0 /w:[ 3 0 0 ] //: joint g66 (w48) @(255, 1156) /w:[ 2 -1 4 1 ] _GGMUX2 #(8, 10) g82 (.I0(w60), .I1(~w60), .S(w48), .Z(w64)); //: @(98,1166) /sn:0 /R:2 /w:[ 3 5 15 1 ] /ss:0 /do:0 //: SWITCH ALUOP (w0) @(184,-51) /w:[ 1 ] /st:0 /dn:0 _GGOR4 #(10) g18 (.I0(w20), .I1(w23), .I2(w26), .I3(w29), .Z(w42)); //: @(244,286) /sn:0 /w:[ 5 0 0 0 1 ] _GGAND3 #(8) g12 (.I0(w1), .I1(!w3), .I2(!w4), .Z(w17)); //: @(203,223) /sn:0 /w:[ 11 11 5 1 ] //: joint g91 (w50) @(19, 1247) /w:[ 2 4 1 -1 ] //: joint g33 (w3) @(157, 296) /w:[ 22 21 -1 24 ] //: joint g30 (w3) @(157, 223) /w:[ 10 9 -1 12 ] //: LED g49 (w44) @(273,629) /sn:0 /w:[ 1 ] /type:3 endmodule //: /netlistEnd //: /netlistBegin FA module FA(cout, sum, cin, y, x); //: interface /sz:(53, 40) /bd:[ Li0>x(4/41) Li1>y(17/41) Li2>cin(29/41) Ro0