Old stuff/ecole_etude_fac_de_pau/licence_3/archi/test2.v
(Deskargatu)
//: version "1.8.6"
module soustr(s, b, a);
//: interface /sz:(40, 40) /bd:[ ]
supply0 w7; //: /sn:0 {0}(816,234)(816,230)(805,230){1}
supply1 [8:0] w45; //: /sn:0 {0}(361,639)(361,649)(396,649)(396,619){1}
input [7:0] b; //: /sn:0 {0}(171,287)(161,287)(161,297)(171,297)(171,309)(313,309)(313,322)(398,322){1}
//: {2}(402,322)(606,322){3}
//: {4}(400,320)(400,298)(389,298){5}
supply1 w14; //: /sn:0 {0}(715,275)(715,306)(760,306)(760,294)(775,294)(775,304){1}
supply0 w0; //: /sn:0 {0}(788,407)(799,407)(799,409){1}
supply1 w24; //: /sn:0 {0}(852,143)(852,165)(831,165)(831,175){1}
supply0 w44; //: /sn:0 {0}(388,605)(360,605)(360,615){1}
output [7:0] s; //: /sn:0 /dp:1 {0}(93,407)(255,407)(255,363)(339,363){1}
//: {2}(343,363)(349,363)(349,362)(353,362){3}
//: {4}(341,361)(341,298)(373,298){5}
supply0 w33; //: /sn:0 {0}(753,113)(753,100)(768,100)(768,103){1}
//: {2}(770,105)(821,105)(821,175){3}
//: {4}(766,105)(765,105)(765,113){5}
//: {6}(767,115)(811,115)(811,175){7}
//: {8}(765,117)(765,121){9}
//: {10}(767,123)(801,123)(801,175){11}
//: {12}(765,125)(765,133){13}
//: {14}(767,135)(791,135)(791,175){15}
//: {16}(765,137)(765,146){17}
//: {18}(767,148)(781,148)(781,175){19}
//: {20}(765,150)(765,151)(758,151)(758,155){21}
//: {22}(760,157)(771,157)(771,175){23}
//: {24}(758,159)(758,166)(761,166)(761,175){25}
supply0 w5; //: /sn:0 {0}(566,278)(566,268)(581,268)(581,312)(606,312){1}
input [7:0] a; //: /sn:0 /dp:1 {0}(232,189)(215,189)(215,217)(318,217)(318,198)(341,198){1}
//: {2}(345,198)(460,198){3}
//: {4}(343,196)(343,137)(374,137){5}
wire w32; //: /sn:0 {0}(589,453)(628,453)(628,438)(629,438){1}
//: {2}(633,438)(636,438){3}
//: {4}(640,438)(644,438){5}
//: {6}(648,438)(650,438){7}
//: {8}(654,438)(656,438){9}
//: {10}(660,438)(661,438){11}
//: {12}(665,438)(667,438){13}
//: {14}(671,438)(684,438){15}
//: {16}(669,440)(669,523)(585,523){17}
//: {18}(663,440)(663,513)(585,513){19}
//: {20}(658,440)(658,503)(585,503){21}
//: {22}(652,440)(652,493)(586,493){23}
//: {24}(646,440)(646,483)(585,483){25}
//: {26}(638,440)(638,473)(587,473){27}
//: {28}(631,440)(631,463)(588,463){29}
wire [7:0] w6; //: /sn:0 {0}(476,198)(672,198){1}
wire w61; //: /sn:0 {0}(552,621)(518,621)(518,623)(485,623){1}
wire w46; //: /sn:0 {0}(585,498)(692,498){1}
//: {2}(696,498)(723,498){3}
//: {4}(694,500)(694,648)(571,648){5}
wire [8:0] w16; //: /sn:0 {0}(748,393)(748,317)(612,317){1}
wire w4; //: /sn:0 {0}(700,438)(703,438){1}
//: {2}(707,438)(710,438){3}
//: {4}(714,438)(723,438){5}
//: {6}(712,436)(712,428)(541,428)(541,593)(485,593){7}
//: {8}(705,440)(705,583)(659,583){9}
//: {10}(655,583)(652,583){11}
//: {12}(648,583)(647,583){13}
//: {14}(643,583)(642,583){15}
//: {16}(638,583)(636,583){17}
//: {18}(632,583)(627,583){19}
//: {20}(623,583)(618,583){21}
//: {22}(614,583)(609,583)(609,603)(575,603){23}
//: {24}(616,585)(616,613)(574,613){25}
//: {26}(625,585)(625,623)(573,623){27}
//: {28}(634,585)(634,633)(571,633){29}
//: {30}(640,585)(640,643)(572,643){31}
//: {32}(645,585)(645,653)(571,653){33}
//: {34}(650,585)(650,663)(571,663){35}
//: {36}(657,585)(657,673)(571,673){37}
wire [7:0] w15; //: /sn:0 {0}(797,216)(797,200)(796,200)(796,181){1}
wire w38; //: /sn:0 {0}(361,517)(361,497)(351,497)(351,477)(361,477){1}
wire w69; //: /sn:0 {0}(415,144)(389,144)(389,152)(380,152){1}
wire [7:0] w51; //: /sn:0 {0}(393,486)(371,486)(371,517){1}
wire [7:0] w3; //: /sn:0 {0}(781,245)(781,294)(785,294)(785,304){1}
wire w37; //: /sn:0 {0}(587,468)(685,468){1}
//: {2}(689,468)(713,468)(713,468)(723,468){3}
//: {4}(687,470)(687,618)(573,618){5}
wire w66; //: /sn:0 {0}(415,129)(393,129)(393,122)(380,122){1}
wire w64; //: /sn:0 {0}(550,671)(517,671)(517,673)(485,673){1}
wire w34; //: /sn:0 {0}(588,458)(679,458){1}
//: {2}(683,458)(713,458)(713,458)(723,458){3}
//: {4}(681,460)(681,608)(574,608){5}
wire w63; //: /sn:0 {0}(415,124)(403,124)(403,112)(380,112){1}
wire w43; //: /sn:0 {0}(586,488)(690,488){1}
//: {2}(694,488)(723,488){3}
//: {4}(692,490)(692,638)(572,638){5}
wire [8:0] w21; //: /sn:0 {0}(729,478)(764,478)(764,422){1}
wire w54; //: /sn:0 {0}(564,521)(486,521){1}
wire w67; //: /sn:0 {0}(415,134)(389,134)(389,132)(380,132){1}
wire w31; //: /sn:0 {0}(486,451)(568,451){1}
wire w58; //: /sn:0 {0}(550,631)(517,631)(517,633)(485,633){1}
wire w28; //: /sn:0 {0}(486,471)(566,471){1}
wire w23; //: /sn:0 {0}(550,661)(517,661)(517,663)(485,663){1}
wire [8:0] w41; //: /sn:0 {0}(366,523)(366,560)(412,560)(412,590){1}
wire [8:0] w36; //: /sn:0 {0}(479,633)(428,633)(428,619){1}
wire w65; //: /sn:0 {0}(338,278)(324,278)(324,178)(466,178){1}
//: {2}(468,176)(468,171){3}
//: {4}(468,167)(468,136)(436,136){5}
//: {6}(466,169)(376,169)(376,377)(361,377)(361,367){7}
//: {8}(468,180)(468,193){9}
wire w35; //: /sn:0 {0}(554,601)(519,601)(519,603)(485,603){1}
wire w40; //: /sn:0 {0}(585,478)(687,478){1}
//: {2}(691,478)(713,478)(713,478)(723,478){3}
//: {4}(689,480)(689,628)(571,628){5}
wire w30; //: /sn:0 {0}(589,448)(674,448){1}
//: {2}(678,448)(723,448){3}
//: {4}(676,450)(676,598)(575,598){5}
wire w71; //: /sn:0 {0}(415,154)(389,154)(389,172)(380,172){1}
wire w68; //: /sn:0 {0}(415,139)(389,139)(389,142)(380,142){1}
wire w22; //: /sn:0 {0}(436,605)(454,605)(454,597){1}
wire [7:0] w53; //: /sn:0 {0}(409,486)(416,486)(416,415){1}
wire [7:0] w59; //: /sn:0 {0}(369,362)(419,362)(419,394){1}
wire w62; //: /sn:0 {0}(415,119)(411,119)(411,102)(380,102){1}
wire w57; //: /sn:0 {0}(354,278)(366,278)(366,313)(381,313)(381,303){1}
wire w49; //: /sn:0 {0}(585,508)(696,508){1}
//: {2}(700,508)(723,508){3}
//: {4}(698,510)(698,658)(571,658){5}
wire w11; //: /sn:0 {0}(486,511)(564,511){1}
wire [8:0] w12; //: /sn:0 {0}(780,393)(780,310){1}
wire w70; //: /sn:0 {0}(415,149)(389,149)(389,162)(380,162){1}
wire [7:0] w10; //: /sn:0 {0}(688,198)(765,198)(765,216){1}
wire w27; //: /sn:0 {0}(551,641)(518,641)(518,643)(485,643){1}
wire w13; //: /sn:0 {0}(757,230)(735,230)(735,221){1}
wire w52; //: /sn:0 {0}(585,518)(699,518){1}
//: {2}(703,518)(723,518){3}
//: {4}(701,520)(701,668)(571,668){5}
wire w48; //: /sn:0 {0}(564,501)(486,501){1}
wire [7:0] w47; //: /sn:0 {0}(421,415)(421,486)(480,486){1}
wire w29; //: /sn:0 {0}(486,461)(567,461){1}
wire w9; //: /sn:0 {0}(740,407)(723,407)(723,398){1}
wire w42; //: /sn:0 {0}(564,481)(486,481){1}
wire w50; //: /sn:0 {0}(550,651)(517,651)(517,653)(485,653){1}
wire w26; //: /sn:0 {0}(486,491)(565,491){1}
wire w39; //: /sn:0 {0}(553,611)(519,611)(519,613)(485,613){1}
//: enddecls
and g61 (.I0(w37), .I1(w4), .Z(w61)); //: @(562,621) /sn:0 /R:2 /w:[ 5 27 0 ]
//: supply0 g4 (w33) @(753,119) /sn:0 /w:[ 0 ]
//: joint g8 (w33) @(768, 105) /w:[ 2 1 4 -1 ]
//: supply0 g34 (w5) @(566,284) /sn:0 /w:[ 0 ]
not g37 (.I(w4), .Z(w32)); //: @(694,438) /sn:0 /R:2 /w:[ 0 15 ]
//: joint g51 (w32) @(663, 438) /w:[ 12 -1 11 18 ]
and g55 (.I0(w30), .I1(w4), .Z(w35)); //: @(564,601) /sn:0 /R:2 /w:[ 5 23 0 ]
and g58 (.I0(w43), .I1(w4), .Z(w27)); //: @(561,641) /sn:0 /R:2 /w:[ 5 31 0 ]
or g86 (.I0(w53), .I1(w47), .Z(w59)); //: @(419,404) /sn:0 /R:1 /w:[ 1 0 1 ]
//: joint g13 (a) @(343, 198) /w:[ 2 4 1 -1 ]
//: output g3 (s) @(96,407) /sn:0 /R:2 /w:[ 0 ]
not g89 (.I(w65), .Z(w57)); //: @(344,278) /sn:0 /w:[ 0 0 ]
//: joint g65 (w4) @(625, 583) /w:[ 19 -1 20 26 ]
//: joint g76 (w46) @(694, 498) /w:[ 2 -1 1 4 ]
//: joint g77 (w49) @(698, 508) /w:[ 2 -1 1 4 ]
//: comment g2 /dolink:0 /link:"" @(457,409) /sn:0 /R:3
//: /line:"si le chiffre resultat est positif"
//: /end
and g59 (.I0(w49), .I1(w4), .Z(w23)); //: @(560,661) /sn:0 /R:2 /w:[ 5 35 0 ]
//: joint g72 (w34) @(681, 458) /w:[ 2 -1 1 4 ]
//: input g1 (b) @(173,287) /sn:0 /R:2 /w:[ 0 ]
//: joint g64 (w4) @(616, 583) /w:[ 21 -1 22 24 ]
//: comment g16 /dolink:0 /link:"" @(443,687) /sn:0 /R:3
//: /line:"si le chiffre resultat est negatif"
//: /end
led g11 (.I(w9)); //: @(723,391) /sn:0 /w:[ 1 ] /type:0
//: joint g28 (w33) @(765, 123) /w:[ 10 9 -1 12 ]
//: joint g50 (w32) @(658, 438) /w:[ 10 -1 9 20 ]
//: joint g78 (w52) @(701, 518) /w:[ 2 -1 1 4 ]
led g87 (.I(w38)); //: @(368,477) /sn:0 /R:3 /w:[ 1 ] /type:0
//: comment g10 /dolink:0 /link:"" @(823,395) /sn:0 /R:3
//: /line:"addition du chiffre + le complement a2"
//: /end
//: supply1 g32 (w14) @(726,275) /sn:0 /w:[ 0 ]
//: supply0 g19 (w7) @(816,240) /sn:0 /w:[ 0 ]
//: joint g27 (w33) @(765, 135) /w:[ 14 13 -1 16 ]
and g38 (.I0(w30), .I1(w32), .Z(w31)); //: @(578,451) /sn:0 /R:2 /w:[ 0 0 1 ]
//: joint g69 (w4) @(650, 583) /w:[ 11 -1 12 34 ]
concat g53 (.I0(w54), .I1(w11), .I2(w48), .I3(w26), .I4(w42), .I5(w28), .I6(w29), .I7(w31), .Z(w47)); //: @(481,486) /sn:0 /R:2 /w:[ 1 0 1 0 1 0 0 0 1 ] /dr:1
and g57 (.I0(w46), .I1(w4), .Z(w50)); //: @(560,651) /sn:0 /R:2 /w:[ 5 33 0 ]
//: joint g75 (w43) @(692, 488) /w:[ 2 -1 1 4 ]
concat g9 (.I0(w71), .I1(w70), .I2(w69), .I3(w68), .I4(w67), .I5(w66), .I6(w63), .I7(w62), .Z(a)); //: @(375,137) /sn:0 /R:2 /w:[ 1 1 1 1 1 1 1 1 5 ] /dr:1
concat g31 (.I0(w3), .I1(w14), .Z(w12)); //: @(780,309) /sn:0 /R:3 /w:[ 1 1 1 ] /dr:1
add g15 (.A(w10), .B(w15), .S(w3), .CI(w7), .CO(w13)); //: @(781,232) /sn:0 /w:[ 1 0 0 1 0 ]
led g20 (.I(w13)); //: @(735,214) /sn:0 /w:[ 1 ] /type:0
//: joint g71 (w30) @(676, 448) /w:[ 2 -1 1 4 ]
and g39 (.I0(w34), .I1(w32), .Z(w29)); //: @(577,461) /sn:0 /R:2 /w:[ 0 29 1 ]
//: joint g67 (w4) @(640, 583) /w:[ 15 -1 16 30 ]
//: joint g68 (w4) @(645, 583) /w:[ 13 -1 14 32 ]
and g43 (.I0(w46), .I1(w32), .Z(w48)); //: @(574,501) /sn:0 /R:2 /w:[ 0 21 0 ]
//: joint g48 (w32) @(646, 438) /w:[ 6 -1 5 24 ]
not g17 (.I(w6), .Z(w10)); //: @(678,198) /sn:0 /w:[ 1 0 ]
//: joint g25 (w33) @(758, 157) /w:[ 22 21 -1 24 ]
//: joint g29 (w33) @(765, 115) /w:[ 6 5 -1 8 ]
and g62 (.I0(w52), .I1(w4), .Z(w64)); //: @(560,671) /sn:0 /R:2 /w:[ 5 37 0 ]
//: joint g73 (w37) @(687, 468) /w:[ 2 -1 1 4 ]
bufif1 g88 (.Z(s), .I(b), .E(w57)); //: @(383,298) /sn:0 /R:2 /w:[ 5 5 1 ]
and g42 (.I0(w43), .I1(w32), .Z(w26)); //: @(575,491) /sn:0 /R:2 /w:[ 0 23 1 ]
//: joint g52 (w32) @(669, 438) /w:[ 14 -1 13 16 ]
//: joint g63 (w4) @(705, 438) /w:[ 2 -1 1 8 ]
concat g83 (.I0(w51), .I1(w38), .Z(w41)); //: @(366,522) /sn:0 /R:3 /w:[ 1 0 0 ] /dr:1
//: joint g74 (w40) @(689, 478) /w:[ 2 -1 1 4 ]
and g56 (.I0(w34), .I1(w4), .Z(w39)); //: @(563,611) /sn:0 /R:2 /w:[ 5 25 0 ]
add g14 (.A(w16), .B(w12), .S(w21), .CI(w0), .CO(w9)); //: @(764,409) /sn:0 /w:[ 0 0 1 0 0 ]
//: joint g80 (w4) @(712, 438) /w:[ 4 6 3 -1 ]
concat g79 (.I0(w64), .I1(w23), .I2(w50), .I3(w27), .I4(w58), .I5(w61), .I6(w39), .I7(w35), .I8(w4), .Z(w36)); //: @(480,633) /sn:0 /R:2 /w:[ 1 1 1 1 1 1 1 1 7 0 ] /dr:1
and g44 (.I0(w49), .I1(w32), .Z(w11)); //: @(574,511) /sn:0 /R:2 /w:[ 0 19 1 ]
//: joint g47 (w32) @(638, 438) /w:[ 4 -1 3 26 ]
//: joint g94 (w65) @(468, 169) /w:[ -1 4 6 3 ]
//: joint g95 (s) @(341, 363) /w:[ 2 4 1 -1 ]
concat g21 (.I0(w24), .I1(w33), .I2(w33), .I3(w33), .I4(w33), .I5(w33), .I6(w33), .I7(w33), .Z(w15)); //: @(796,180) /sn:0 /R:3 /w:[ 1 3 7 11 15 19 23 25 1 ] /dr:1
//: supply0 g84 (w44) @(360,621) /sn:0 /w:[ 1 ]
led g85 (.I(w22)); //: @(454,590) /sn:0 /w:[ 1 ] /type:0
bufif1 g92 (.Z(s), .I(w59), .E(w65)); //: @(363,362) /sn:0 /R:2 /w:[ 3 0 7 ]
//: supply1 g23 (w24) @(863,143) /sn:0 /w:[ 0 ]
and g41 (.I0(w40), .I1(w32), .Z(w42)); //: @(574,481) /sn:0 /R:2 /w:[ 0 25 0 ]
add g81 (.A(w36), .B(w45), .S(w41), .CI(w44), .CO(w22)); //: @(412,603) /sn:0 /R:2 /w:[ 1 1 1 0 0 ]
and g40 (.I0(w37), .I1(w32), .Z(w28)); //: @(576,471) /sn:0 /R:2 /w:[ 0 27 1 ]
and g60 (.I0(w40), .I1(w4), .Z(w58)); //: @(560,631) /sn:0 /R:2 /w:[ 5 29 0 ]
bufif1 g54 (.Z(w6), .I(a), .E(w65)); //: @(466,198) /sn:0 /w:[ 0 3 9 ]
//: joint g93 (b) @(400, 322) /w:[ 2 4 1 -1 ]
//: joint g26 (w33) @(765, 148) /w:[ 18 17 -1 20 ]
concat g35 (.I0(w52), .I1(w49), .I2(w46), .I3(w43), .I4(w40), .I5(w37), .I6(w34), .I7(w30), .I8(w4), .Z(w21)); //: @(728,478) /sn:0 /w:[ 3 3 3 3 3 3 3 3 5 0 ] /dr:0
and g45 (.I0(w52), .I1(w32), .Z(w54)); //: @(574,521) /sn:0 /R:2 /w:[ 0 17 0 ]
//: joint g46 (w32) @(631, 438) /w:[ 2 -1 1 28 ]
//: joint g70 (w4) @(657, 583) /w:[ 9 -1 10 36 ]
not g90 (.I(w51), .Z(w53)); //: @(399,486) /sn:0 /w:[ 0 0 ]
or g22 (.I0(w62), .I1(w63), .I2(w66), .I3(w67), .I4(w68), .I5(w69), .I6(w70), .I7(w71), .Z(w65)); //: @(426,136) /sn:0 /w:[ 0 0 0 0 0 0 0 0 5 ]
//: input g0 (a) @(234,189) /sn:0 /R:2 /w:[ 0 ]
//: supply1 g82 (w45) @(372,639) /sn:0 /w:[ 0 ]
//: joint g66 (w4) @(634, 583) /w:[ 17 -1 18 28 ]
//: comment g18 /dolink:0 /link:"" @(631,213) /sn:0 /R:3
//: /line:"complement a2"
//: /end
//: supply0 g12 (w0) @(799,415) /sn:0 /w:[ 1 ]
concat g33 (.I0(b), .I1(w5), .Z(w16)); //: @(611,317) /sn:0 /w:[ 3 1 1 ] /dr:0
//: joint g91 (w65) @(468, 178) /w:[ -1 2 1 8 ]
//: joint g49 (w32) @(652, 438) /w:[ 8 -1 7 22 ]
endmodule
module ramme(val, rw, adr, s);
//: interface /sz:(40, 40) /bd:[ ]
supply0 w0; //: /sn:0 /dp:1 {0}(367,425)(367,435)(352,435)(352,424)(301,424)(301,459){1}
input [7:0] val; //: /sn:0 {0}(477,399)(566,399)(566,388)(544,388){1}
input rw; //: /sn:0 {0}(470,316)(446,316){1}
//: {2}(442,316)(376,316){3}
//: {4}(374,314)(374,294)(366,294){5}
//: {6}(374,318)(374,343){7}
//: {8}(372,345)(333,345)(333,461)(342,461){9}
//: {10}(374,347)(374,362)(374,362)(374,375){11}
//: {12}(444,318)(444,343){13}
input [2:0] adr; //: /sn:0 {0}(356,398)(295,398){1}
output [7:0] s; //: /sn:0 {0}(452,348)(538,348)(538,349)(549,349){1}
wire w6; //: /sn:0 {0}(358,461)(381,461)(381,425){1}
wire [7:0] w7; //: /sn:0 {0}(461,399)(428,399){1}
//: {2}(426,397)(426,348)(436,348){3}
//: {4}(424,399)(407,399)(407,398)(391,398){5}
wire w10; //: /sn:0 {0}(469,404)(469,414)(496,414)(496,316)(486,316){1}
//: enddecls
bufif1 g8 (.Z(w7), .I(val), .E(w10)); //: @(471,399) /sn:0 /R:2 /w:[ 0 0 0 ]
//: supply0 g4 (w0) @(301,465) /sn:0 /w:[ 1 ]
//: joint g3 (rw) @(374, 316) /w:[ 3 4 -1 6 ]
not g2 (.I(rw), .Z(w6)); //: @(348,461) /sn:0 /w:[ 9 0 ]
bufif1 g1 (.Z(s), .I(w7), .E(rw)); //: @(442,348) /sn:0 /w:[ 0 3 13 ]
//: joint g11 (w7) @(426, 399) /w:[ 1 2 4 -1 ]
//: input g10 (val) @(542,388) /sn:0 /w:[ 1 ]
//: input g19 (rw) @(364,294) /sn:0 /w:[ 5 ]
//: joint g6 (rw) @(444, 316) /w:[ 1 -1 2 12 ]
//: input g7 (adr) @(293,398) /sn:0 /w:[ 1 ]
//: output g15 (s) @(546,349) /sn:0 /w:[ 1 ]
not g5 (.I(rw), .Z(w10)); //: @(476,316) /sn:0 /w:[ 0 1 ]
ram g0 (.A(adr), .D(w7), .WE(rw), .OE(w6), .CS(w0)); //: @(374,399) /sn:0 /w:[ 0 5 11 1 0 ]
//: joint g12 (rw) @(374, 345) /w:[ -1 7 8 10 ]
endmodule
module tempo(b, a1, clk);
//: interface /sz:(40, 40) /bd:[ ]
output b; //: /sn:0 {0}(817,265)(817,227)(833,227)(833,209){1}
input a1; //: /sn:0 /dp:1 {0}(106,90)(106,60)(80,60)(80,28)(70,28){1}
input clk; //: /sn:0 {0}(83,109)(73,109)(73,124)(131,124){1}
//: {2}(135,124)(198,124)(198,123){3}
//: {4}(200,121)(258,121){5}
//: {6}(262,121)(319,121){7}
//: {8}(323,121)(381,121){9}
//: {10}(385,121)(438,121)(438,199)(492,199){11}
//: {12}(496,199)(552,199){13}
//: {14}(556,199)(619,199)(619,198){15}
//: {16}(621,196)(679,196){17}
//: {18}(683,196)(740,196){19}
//: {20}(744,196)(804,196)(804,186)(814,186){21}
//: {22}(742,194)(742,180)(748,180){23}
//: {24}(681,194)(681,182)(691,182){25}
//: {26}(619,194)(619,184)(629,184){27}
//: {28}(554,197)(554,184)(564,184){29}
//: {30}(494,197)(494,184)(504,184){31}
//: {32}(494,201)(494,252)(505,252)(505,242){33}
//: {34}(383,119)(383,111)(393,111){35}
//: {36}(321,119)(321,105)(327,105){37}
//: {38}(260,119)(260,107)(270,107){39}
//: {40}(198,119)(198,109)(208,109){41}
//: {42}(133,122)(133,109)(143,109){43}
wire s2; //: /sn:0 {0}(710,205)(710,215)(725,215)(725,151)(771,151)(771,161){1}
wire s0; //: /sn:0 {0}(583,207)(583,217)(598,217)(598,155)(652,155)(652,165){1}
wire s6; //: /sn:0 {0}(162,132)(162,142)(177,142)(177,80)(231,80)(231,90){1}
wire s8; //: /sn:0 {0}(346,128)(346,138)(361,138)(361,82)(416,82)(416,92){1}
wire s3; //: /sn:0 {0}(767,203)(767,213)(782,213)(782,157)(837,157)(837,167){1}
wire s1; //: /sn:0 {0}(648,207)(648,217)(663,217)(663,153)(714,153)(714,163){1}
wire s4; //: /sn:0 {0}(227,132)(227,142)(242,142)(242,78)(293,78)(293,88){1}
wire s5; //: /sn:0 {0}(289,130)(289,140)(304,140)(304,76)(350,76)(350,86){1}
wire s7; //: /sn:0 {0}(102,132)(102,142)(117,142)(117,80)(166,80)(166,90){1}
wire s; //: /sn:0 {0}(523,207)(523,217)(538,217)(538,155)(587,155)(587,165){1}
wire a; //: /sn:0 {0}(412,134)(412,144)(427,144)(427,85)(500,85)(500,155)(527,155)(527,165){1}
//: enddecls
d_latch g4 (.e0(s1), .clk(clk), .s(s2)); //: @(692, 164) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>25 Bo0<0 ]
//: joint g8 (clk) @(681, 196) /w:[ 18 24 17 -1 ]
d_latch g3 (.e0(s0), .clk(clk), .s(s1)); //: @(630, 166) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>27 Bo0<0 ]
//: joint g13 (clk) @(494, 199) /w:[ 12 30 11 32 ]
d_latch g2 (.e0(s), .clk(clk), .s(s0)); //: @(565, 166) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>29 Bo0<0 ]
//: joint g1 (clk) @(554, 199) /w:[ 14 28 13 -1 ]
//: output g11 (b) @(817,262) /sn:0 /R:3 /w:[ 0 ]
//: input g16 (a1) @(68,28) /sn:0 /w:[ 1 ]
//: joint g10 (clk) @(383, 121) /w:[ 10 34 9 -1 ]
d_latch g19 (.e0(s7), .clk(clk), .s(s6)); //: @(144, 91) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>43 Bo0<0 ]
d_latch g6 (.e0(s3), .clk(clk), .s(b)); //: @(815, 168) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>21 Bo0<1 ]
//: joint g7 (clk) @(619, 196) /w:[ 16 26 -1 15 ]
//: joint g9 (clk) @(742, 196) /w:[ 20 22 19 -1 ]
d_latch g15 (.e0(s4), .clk(clk), .s(s5)); //: @(271, 89) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>39 Bo0<0 ]
//: joint g20 (clk) @(198, 121) /w:[ 4 40 -1 3 ]
d_latch g17 (.e0(s6), .clk(clk), .s(s4)); //: @(209, 91) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>41 Bo0<0 ]
d_latch g25 (.e0(a1), .clk(clk), .s(s7)); //: @(84, 91) /sz:(40, 40) /sn:0 /p:[ Ti0>0 Li0>0 Bo0<0 ]
d_latch g5 (.e0(s2), .clk(clk), .s(s3)); //: @(749, 162) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>23 Bo0<0 ]
//: joint g14 (clk) @(260, 121) /w:[ 6 38 5 -1 ]
d_latch g21 (.e0(s8), .clk(clk), .s(a)); //: @(394, 93) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>35 Bo0<0 ]
d_latch g24 (.e0(s5), .clk(clk), .s(s8)); //: @(328, 87) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>37 Bo0<0 ]
d_latch g0 (.e0(a), .clk(clk), .s(s)); //: @(505, 166) /sz:(40, 40) /sn:0 /p:[ Ti0>1 Li0>31 Bo0<0 ]
//: joint g22 (clk) @(321, 121) /w:[ 8 36 7 -1 ]
//: input g12 (clk) @(505,240) /sn:0 /R:3 /w:[ 33 ]
//: joint g18 (clk) @(133, 124) /w:[ 2 42 1 -1 ]
endmodule
module additi(s, b, a);
//: interface /sz:(40, 40) /bd:[ ]
input [7:0] b; //: /sn:0 {0}(390,101)(438,101)(438,154)(334,154)(334,181){1}
supply0 w0; //: /sn:0 {0}(342,195)(401,195)(401,219){1}
output [7:0] s; //: /sn:0 {0}(326,294)(318,294)(318,210){1}
input [7:0] a; //: /sn:0 {0}(168,100)(197,100)(197,154)(302,154)(302,181){1}
wire w2; //: /sn:0 {0}(294,195)(200,195)(200,207)(210,207){1}
//: enddecls
led g4 (.I(w2)); //: @(217,207) /sn:0 /R:3 /w:[ 1 ] /type:0
//: output g3 (s) @(323,294) /sn:0 /w:[ 0 ]
//: input g2 (b) @(388,101) /sn:0 /w:[ 0 ]
//: input g1 (a) @(166,100) /sn:0 /w:[ 0 ]
//: supply0 g5 (w0) @(401,225) /sn:0 /w:[ 1 ]
add g0 (.A(a), .B(b), .S(s), .CI(w0), .CO(w2)); //: @(318,197) /sn:0 /w:[ 1 1 1 0 0 ]
endmodule
module unite_centrale(used, b, s, a, ope);
//: interface /sz:(40, 40) /bd:[ ]
input [7:0] b; //: /sn:0 {0}(93,216)(103,216)(103,268)(303,268){1}
output used; //: /sn:0 /dp:1 {0}(528,106)(623,106)(623,185)(517,185){1}
input [2:0] ope; //: /sn:0 {0}(317,-79)(317,-52){1}
output [7:0] s; //: /sn:0 {0}(788,356)(875,356){1}
//: {2}(877,354)(877,343){3}
//: {4}(877,339)(877,247)(927,247){5}
//: {6}(875,341)(768,341){7}
//: {8}(877,358)(877,360)(877,360)(877,394){9}
//: {10}(875,396)(811,396)(811,396)(823,396){11}
//: {12}(877,398)(877,454)(844,454){13}
input [7:0] a; //: /sn:0 {0}(94,194)(224,194)(224,258)(303,258){1}
wire [7:0] w32; //: /sn:0 {0}(641,396)(807,396){1}
wire [15:0] w16; //: /sn:0 {0}(507,239)(490,239)(490,303)(368,303){1}
wire [7:0] w14; //: /sn:0 {0}(513,234)(563,234)(563,231)(596,231){1}
wire w56; //: /sn:0 {0}(430,140)(430,90)(390,90){1}
//: {2}(386,90)(306,90)(306,-10)(290,-10){3}
//: {4}(288,-12)(288,-13)(307,-13)(307,-46){5}
//: {6}(288,-8)(288,7)(288,7)(288,24){7}
//: {8}(388,92)(388,119)(388,119)(388,139){9}
wire [7:0] w4; //: /sn:0 {0}(596,249)(567,249)(567,244)(513,244){1}
wire [15:0] w3; //: /sn:0 {0}(309,263)(346,263)(346,301){1}
//: {2}(348,303)(352,303){3}
//: {4}(346,305)(346,316){5}
//: {6}(348,318)(372,318){7}
//: {8}(346,320)(346,387){9}
//: {10}(348,389)(376,389)(376,389)(407,389){11}
//: {12}(346,391)(346,446)(428,446){13}
wire [15:0] w34; //: /sn:0 {0}(444,446)(509,446){1}
wire [15:0] w31; //: /sn:0 {0}(423,389)(515,389){1}
wire [7:0] w23; //: /sn:0 {0}(521,384)(599,384){1}
wire [7:0] w20; //: /sn:0 {0}(531,294)(588,294)(588,291)(596,291){1}
wire [7:0] w25; //: /sn:0 {0}(515,451)(586,451)(586,464)(596,464){1}
wire w8; //: /sn:0 {0}(496,188)(427,188)(427,190)(417,190){1}
//: {2}(415,188)(415,161){3}
//: {4}(415,192)(415,258){5}
//: {6}(417,260)(815,260)(815,391){7}
//: {8}(415,262)(415,354){9}
//: {10}(413,356)(403,356)(403,350)(315,350)(315,312){11}
//: {12}(415,358)(415,384){13}
wire [7:0] w22; //: /sn:0 {0}(521,394)(589,394)(589,406)(599,406){1}
wire w17; //: /sn:0 {0}(333,40)(333,49)(391,49){1}
//: {2}(395,49)(435,49)(435,140){3}
//: {4}(393,51)(393,96)(393,96)(393,139){5}
wire w11; //: /sn:0 {0}(496,193)(447,193)(447,198)(437,198){1}
//: {2}(435,196)(435,161){3}
//: {4}(435,200)(435,230){5}
//: {6}(437,232)(836,232)(836,449){7}
//: {8}(435,234)(435,335)(436,335)(436,419){9}
//: {10}(434,421)(308,421)(308,389){11}
//: {12}(436,423)(436,441){13}
wire [7:0] w49; //: /sn:0 {0}(752,341)(707,341)(707,243)(638,243){1}
wire w12; //: /sn:0 {0}(366,40)(366,119){1}
//: {2}(368,121)(440,121)(440,140){3}
//: {4}(364,121)(343,121)(343,139){5}
wire w2; //: /sn:0 {0}(317,-46)(317,-29)(333,-29)(333,-12){1}
//: {2}(335,-10)(336,-10){3}
//: {4}(340,-10)(415,-10)(415,140){5}
//: {6}(338,-8)(338,139){7}
//: {8}(333,-8)(333,24){9}
wire w10; //: /sn:0 {0}(288,40)(288,71)(287,71)(287,79){1}
//: {2}(289,81)(410,81)(410,140){3}
//: {4}(287,83)(287,113)(333,113)(333,139){5}
wire w48; //: /sn:0 {0}(338,160)(338,166)(360,166)(360,174){1}
//: {2}(362,176)(372,176)(372,178)(496,178){3}
//: {4}(360,178)(360,208){5}
//: {6}(358,210)(336,210)(336,203){7}
//: {8}(360,212)(360,252){9}
//: {10}(362,254)(582,254)(582,305)(770,305)(770,311)(760,311)(760,336){11}
//: {12}(360,256)(360,298){13}
wire w52; //: /sn:0 {0}(393,160)(393,181){1}
//: {2}(395,183)(496,183){3}
//: {4}(393,185)(393,233){5}
//: {6}(391,235)(334,235)(334,233){7}
//: {8}(393,237)(393,269)(392,269){9}
//: {10}(388,269)(380,269)(380,313){11}
//: {12}(390,271)(390,309)(780,309)(780,351){13}
wire [7:0] w33; //: /sn:0 {0}(638,454)(828,454){1}
wire [15:0] w29; //: /sn:0 {0}(388,318)(514,318)(514,299)(525,299){1}
wire [7:0] w47; //: /sn:0 {0}(772,356)(673,356)(673,302)(638,302){1}
wire w50; //: /sn:0 {0}(398,139)(398,-15){1}
//: {2}(400,-17)(420,-17)(420,140){3}
//: {4}(398,-19)(398,-17)(368,-17){5}
//: {6}(366,-19)(366,-20)(327,-20)(327,-46){7}
//: {8}(366,-15)(366,3)(366,3)(366,24){9}
wire [7:0] w9; //: /sn:0 {0}(531,304)(586,304)(586,314)(596,314){1}
wire [7:0] w26; //: /sn:0 {0}(515,441)(586,441)(586,447)(596,447){1}
//: enddecls
multt g8 (.b(w25), .a(w26), .s(w33)); //: @(597, 434) /sz:(40, 40) /sn:0 /p:[ Li0>1 Li1>1 Ro0<0 ]
divv g4 (.b(w9), .a(w20), .s(w47)); //: @(597, 284) /sz:(40, 40) /sn:0 /p:[ Li0>1 Li1>1 Ro0<1 ]
//: joint g58 (w8) @(415, 190) /w:[ 1 2 -1 4 ]
//: joint g13 (w50) @(366, -17) /w:[ 5 6 -1 8 ]
and g3 (.I0(w12), .I1(w17), .I2(w56), .Z(w11)); //: @(435,151) /sn:0 /R:3 /w:[ 3 3 0 3 ]
bufif1 g55 (.Z(s), .I(w47), .E(w52)); //: @(778,356) /sn:0 /w:[ 0 0 13 ]
//: joint g37 (w11) @(435, 232) /w:[ 6 5 -1 8 ]
//: joint g34 (w2) @(338, -10) /w:[ 4 -1 3 6 ]
//: joint g76 (s) @(877, 356) /w:[ -1 2 1 8 ]
additi g2 (.b(w4), .a(w14), .s(w49)); //: @(597, 217) /sz:(40, 40) /sn:0 /p:[ Li0>0 Li1>1 Ro0<1 ]
//: joint g59 (w11) @(435, 198) /w:[ 1 2 -1 4 ]
and g1 (.I0(w50), .I1(w2), .I2(w10), .Z(w8)); //: @(415,151) /sn:0 /R:3 /w:[ 3 5 3 3 ]
bufif1 g64 (.Z(s), .I(w33), .E(w11)); //: @(834,454) /sn:0 /w:[ 13 1 7 ]
//: joint g11 (w2) @(333, -10) /w:[ 2 1 -1 8 ]
bufif1 g16 (.Z(w16), .I(w3), .E(w48)); //: @(358,303) /sn:0 /w:[ 1 3 13 ]
//: output g50 (used) @(531,106) /sn:0 /R:2 /w:[ 0 ]
//: joint g78 (s) @(877, 396) /w:[ -1 9 10 12 ]
bufif1 g28 (.Z(w29), .I(w3), .E(w52)); //: @(378,318) /sn:0 /w:[ 0 7 11 ]
//: joint g10 (w48) @(360, 254) /w:[ 10 9 -1 12 ]
//: joint g32 (w56) @(388, 90) /w:[ 1 -1 2 8 ]
concat g19 (.I0(w50), .I1(w2), .I2(w56), .Z(ope)); //: @(317,-51) /sn:0 /R:1 /w:[ 7 0 5 1 ] /dr:0
bufif1 g27 (.Z(w31), .I(w3), .E(w8)); //: @(413,389) /sn:0 /w:[ 0 11 13 ]
and g6 (.I0(w50), .I1(w17), .I2(w56), .Z(w52)); //: @(393,150) /sn:0 /R:3 /w:[ 0 5 9 0 ]
led g38 (.I(w48)); //: @(336,196) /sn:0 /w:[ 7 ] /type:0
//: joint g7 (w56) @(288, -10) /w:[ 3 4 -1 6 ]
bufif1 g57 (.Z(s), .I(w32), .E(w8)); //: @(813,396) /sn:0 /w:[ 11 1 7 ]
bufif1 g53 (.Z(s), .I(w49), .E(w48)); //: @(758,341) /sn:0 /w:[ 7 0 11 ]
soustr g9 (.b(w22), .a(w23), .s(w32)); //: @(600, 376) /sz:(40, 40) /sn:0 /p:[ Li0>1 Li1>1 Ro0<0 ]
//: joint g31 (w50) @(398, -17) /w:[ 2 4 -1 1 ]
not g20 (.I(w56), .Z(w10)); //: @(288,30) /sn:0 /R:3 /w:[ 7 0 ]
//: input g15 (b) @(91,216) /sn:0 /w:[ 0 ]
led g39 (.I(w52)); //: @(334,226) /sn:0 /w:[ 7 ] /type:0
led g43 (.I(w11)); //: @(308,382) /sn:0 /w:[ 11 ] /type:0
//: output g48 (s) @(924,247) /sn:0 /w:[ 5 ]
concat g17 (.I0(b), .I1(a), .Z(w3)); //: @(308,263) /sn:0 /w:[ 1 1 0 ] /dr:0
concat g25 (.I0(w22), .I1(w23), .Z(w31)); //: @(516,389) /sn:0 /R:2 /w:[ 0 0 1 ] /dr:1
bufif1 g29 (.Z(w34), .I(w3), .E(w11)); //: @(434,446) /sn:0 /w:[ 0 13 13 ]
or g52 (.I0(w48), .I1(w52), .I2(w8), .I3(w11), .Z(used)); //: @(507,185) /sn:0 /w:[ 3 3 0 0 1 ]
led g42 (.I(w8)); //: @(315,305) /sn:0 /w:[ 11 ] /type:0
//: joint g56 (w52) @(393, 183) /w:[ 2 1 -1 4 ]
and g5 (.I0(w12), .I1(w2), .I2(w10), .Z(w48)); //: @(338,150) /sn:0 /R:3 /w:[ 5 7 5 0 ]
//: input g14 (a) @(92,194) /sn:0 /w:[ 0 ]
//: joint g44 (w48) @(360, 210) /w:[ -1 5 6 8 ]
//: joint g47 (w11) @(436, 421) /w:[ -1 9 10 12 ]
not g21 (.I(w50), .Z(w12)); //: @(366,30) /sn:0 /R:3 /w:[ 9 0 ]
concat g24 (.I0(w9), .I1(w20), .Z(w29)); //: @(526,299) /sn:0 /R:2 /w:[ 0 0 1 ] /dr:1
//: joint g36 (w8) @(415, 260) /w:[ 6 5 -1 8 ]
concat g23 (.I0(w4), .I1(w14), .Z(w16)); //: @(508,239) /sn:0 /R:2 /w:[ 1 0 0 ] /dr:1
//: joint g41 (w3) @(346, 389) /w:[ 10 9 -1 12 ]
//: joint g54 (w48) @(360, 176) /w:[ 2 1 -1 4 ]
//: joint g40 (w3) @(346, 318) /w:[ 6 5 -1 8 ]
//: joint g35 (w12) @(366, 121) /w:[ 2 1 4 -1 ]
//: joint g22 (w10) @(287, 81) /w:[ 2 1 -1 4 ]
not g0 (.I(w2), .Z(w17)); //: @(333,30) /sn:0 /R:3 /w:[ 9 0 ]
concat g26 (.I0(w25), .I1(w26), .Z(w34)); //: @(510,446) /sn:0 /R:2 /w:[ 0 0 1 ] /dr:1
//: joint g45 (w52) @(393, 235) /w:[ -1 5 6 8 ]
//: joint g46 (w8) @(415, 356) /w:[ -1 9 10 12 ]
//: joint g12 (w52) @(390, 269) /w:[ 9 -1 10 12 ]
//: input g18 (ope) @(317,-81) /sn:0 /R:3 /w:[ 0 ]
//: joint g30 (w17) @(393, 49) /w:[ 2 -1 1 4 ]
//: joint g33 (w3) @(346, 303) /w:[ 2 1 -1 4 ]
//: joint g49 (s) @(877, 341) /w:[ -1 4 6 3 ]
endmodule
module multt(s, b, a);
//: interface /sz:(40, 40) /bd:[ ]
input [7:0] b; //: /sn:0 /dp:1 {0}(235,159)(235,122)(279,122)(279,97)(263,97){1}
output [7:0] s; //: /sn:0 {0}(219,188)(219,271)(245,271){1}
input [7:0] a; //: /sn:0 /dp:1 {0}(203,159)(203,124)(148,124)(148,97)(138,97){1}
//: enddecls
//: output g3 (s) @(242,271) /sn:0 /w:[ 1 ]
mult g2 (.A(a), .B(b), .P(s)); //: @(219,175) /sn:0 /w:[ 0 0 0 ]
//: input g1 (b) @(261,97) /sn:0 /w:[ 1 ]
//: input g0 (a) @(136,97) /sn:0 /w:[ 1 ]
endmodule
module processeur; //: root_module
supply1 w4; //: /sn:0 {0}(-262,-528)(-262,-454){1}
supply1 w19; //: /sn:0 {0}(-426,-506)(-426,-485)(-395,-485)(-395,-500)(-407,-500)(-407,-540){1}
supply0 w51; //: /sn:0 {0}(-577,-40)(-577,-46){1}
supply0 w31; //: /sn:0 {0}(-716,-48)(-731,-48)(-731,-44)(-742,-44){1}
//: {2}(-744,-46)(-744,-49)(-744,-49)(-744,-52){3}
//: {4}(-742,-54)(-728,-54)(-728,-58)(-716,-58){5}
//: {6}(-746,-54)(-756,-54)(-756,-42){7}
//: {8}(-744,-42)(-744,-36){9}
//: {10}(-742,-34)(-728,-34)(-728,-38)(-716,-38){11}
//: {12}(-744,-32)(-744,-26){13}
//: {14}(-742,-24)(-728,-24)(-728,-28)(-716,-28){15}
//: {16}(-744,-22)(-744,-18)(-716,-18){17}
supply1 w27; //: /sn:0 /dp:1 {0}(14,-443)(18,-443)(18,-466){1}
wire [7:0] w6; //: /sn:0 /dp:1 {0}(-372,-349)(-372,-389){1}
//: {2}(-370,-391)(-275,-391){3}
//: {4}(-374,-391)(-476,-391){5}
//: {6}(-478,-393)(-478,-617)(-429,-617)(-429,-610){7}
//: {8}(-478,-389)(-478,-245){9}
wire w7; //: /sn:0 {0}(-831,-456)(-714,-456){1}
//: {2}(-710,-456)(-703,-456)(-681,-456)(-613,-456){3}
//: {4}(-712,-454)(-712,-352){5}
//: {6}(-710,-350)(-704,-350){7}
//: {8}(-712,-348)(-712,-289)(-673,-289){9}
wire [7:0] b; //: /sn:0 {0}(-369,-561)(-307,-561){1}
//: {2}(-303,-561)(-248,-561){3}
//: {4}(-305,-563)(-305,-567)(-306,-567)(-306,-572){5}
wire clk1; //: /sn:0 {0}(-62,-438)(-92,-438)(-92,-509)(-169,-509){1}
//: {2}(-173,-509)(-197,-509)(-197,-509)(-379,-509){3}
//: {4}(-381,-511)(-381,-540){5}
//: {6}(-381,-507)(-381,-491){7}
//: {8}(-379,-489)(-380,-489){9}
//: {10}(-383,-489)(-388,-489)(-388,-198)(-550,-198){11}
//: {12}(-171,-507)(-171,-479)(-183,-479){13}
wire w16; //: /sn:0 {0}(-718,-334)(-725,-334)(-725,-464){1}
//: {2}(-723,-466)(-651,-466)(-651,-466)(-613,-466){3}
//: {4}(-727,-466)(-774,-466)(-774,-466)(-831,-466){5}
wire w14; //: /sn:0 {0}(-831,-416)(-815,-416){1}
//: {2}(-811,-416)(-797,-416)(-797,-416)(-633,-416){3}
//: {4}(-813,-414)(-813,7)(-799,7){5}
wire w15; //: /sn:0 {0}(-550,-115)(-557,-115){1}
//: {2}(-559,-117)(-559,-129)(-533,-129)(-533,-153)(-542,-153){3}
//: {4}(-561,-115)(-568,-115){5}
//: {6}(-570,-117)(-570,-129)(-633,-129)(-633,-17)(-612,-17){7}
//: {8}(-570,-113)(-570,-96){9}
//: {10}(-559,-113)(-559,-103)(-508,-103)(-508,-90)(-473,-90){11}
//: {12}(-469,-90)(-445,-90){13}
//: {14}(-471,-88)(-471,-80){15}
wire [7:0] w0; //: /sn:0 /dp:1 {0}(-25,-350)(-25,-389){1}
//: {2}(-25,-393)(-25,-409)(-25,-409)(-25,-427){3}
//: {4}(-27,-391)(-87,-391)(-87,-391)(-259,-391){5}
wire [7:0] w3; //: /sn:0 {0}(-857,-494)(-857,-443){1}
//: {2}(-855,-441)(-837,-441){3}
//: {4}(-859,-441)(-872,-441){5}
wire [2:0] w21; //: /sn:0 /dp:1 {0}(-607,-466)(-600,-466)(-600,-680)(-591,-680){1}
//: {2}(-587,-680)(-215,-680)(-215,-608){3}
//: {4}(-589,-682)(-589,-688){5}
wire w28; //: /sn:0 /dp:1 {0}(-520,-265)(-508,-265){1}
//: {2}(-504,-265)(-499,-265)(-499,-279){3}
//: {4}(-506,-263)(-506,-227)(-575,-227)(-575,-218){5}
wire w36; //: /sn:0 {0}(-563,-153)(-635,-153)(-635,-295)(-607,-295){1}
//: {2}(-603,-295)(-589,-295){3}
//: {4}(-587,-297)(-587,-312){5}
//: {6}(-587,-293)(-587,-288)(-580,-288){7}
//: {8}(-576,-288)(-566,-288){9}
//: {10}(-578,-286)(-578,-263)(-541,-263){11}
//: {12}(-605,-293)(-605,-284)(-611,-284){13}
wire w41; //: /sn:0 {0}(-831,-426)(-811,-426){1}
//: {2}(-807,-426)(-797,-426)(-797,-426)(-633,-426){3}
//: {4}(-809,-424)(-809,-3)(-799,-3){5}
wire w24; //: /sn:0 {0}(-596,-17)(-563,-17)(-563,-46){1}
wire w23; //: /sn:0 {0}(-446,-22)(-446,-15)(-428,-15){1}
//: {2}(-424,-15)(-417,-15)(-417,-90)(-429,-90){3}
//: {4}(-426,-13)(-426,0)(-435,0){5}
wire w20; //: /sn:0 /dp:1 {0}(-257,-454)(-257,-459)(-234,-459)(-234,-447)(-219,-447){1}
//: {2}(-215,-447)(-100,-447)(-100,-415)(28,-415){3}
//: {4}(32,-415)(41,-415)(41,-429){5}
//: {6}(30,-417)(30,-433)(14,-433){7}
//: {8}(-217,-449)(-217,-461){9}
wire [7:0] w1; //: /sn:0 {0}(-25,-448)(-25,-567){1}
//: {2}(-25,-571)(-25,-619){3}
//: {4}(-27,-569)(-37,-569)(-37,-569)(-154,-569){5}
wire [7:0] w25; //: /sn:0 {0}(-633,13)(-658,13)(-658,-31){1}
//: {2}(-658,-35)(-658,-73)(-588,-73){3}
//: {4}(-660,-33)(-670,-33)(-670,-33)(-710,-33){5}
wire [7:0] w35; //: /sn:0 {0}(-358,-89)(-358,-75)(-390,-75){1}
//: {2}(-392,-77)(-392,-112)(-478,-112)(-478,-229){3}
//: {4}(-394,-75)(-463,-75){5}
wire w8; //: /sn:0 {0}(-688,-350)(-668,-350){1}
wire [7:0] w18; //: /sn:0 {0}(-553,-73)(-529,-73){1}
//: {2}(-525,-73)(-501,-73)(-501,-27)(-491,-27){3}
//: {4}(-487,-27)(-454,-27){5}
//: {6}(-489,-29)(-489,-75)(-479,-75){7}
//: {8}(-527,-71)(-527,20)(-485,20)(-485,10){9}
wire [2:0] w30; //: /sn:0 {0}(-793,7)(-716,7){1}
wire w17; //: /sn:0 {0}(-563,-148)(-671,-148){1}
//: {2}(-673,-150)(-673,-204)(-673,-204)(-673,-231){3}
//: {4}(-671,-233)(-655,-233)(-655,-237)(-483,-237){5}
//: {6}(-673,-235)(-673,-265)(-645,-265)(-645,-334){7}
//: {8}(-643,-336)(-430,-336)(-430,-399)(-344,-399)(-344,-426)(-373,-426){9}
//: {10}(-645,-338)(-645,-345)(-647,-345){11}
//: {12}(-675,-148)(-696,-148)(-696,-126)(-685,-126)(-685,-126)(-678,-126){13}
wire [1:0] w22; //: /sn:0 {0}(-627,-421)(-503,-421)(-503,-555){1}
//: {2}(-501,-557)(-466,-557){3}
//: {4}(-505,-557)(-509,-557)(-509,-559){5}
wire w2; //: /sn:0 {0}(-652,-284)(-627,-284){1}
wire w12; //: /sn:0 {0}(-654,-436)(-831,-436){1}
wire w11; //: /sn:0 {0}(-831,-406)(-821,-406){1}
//: {2}(-817,-406)(-711,-406){3}
//: {4}(-819,-404)(-819,17)(-799,17){5}
wire w44; //: /sn:0 {0}(-673,-279)(-700,-279)(-700,-318){1}
//: {2}(-698,-320)(-673,-320)(-673,-340)(-668,-340){3}
//: {4}(-702,-320)(-722,-320){5}
wire w10; //: /sn:0 /dp:1 {0}(-219,-503)(-219,-532){1}
wire w13; //: /sn:0 {0}(-831,-446)(-654,-446){1}
wire w48; //: /sn:0 {0}(-578,-176)(-578,-158)(-563,-158){1}
wire w5; //: /sn:0 /dp:1 {0}(-541,-312)(-541,-303)(-522,-303)(-522,-288)(-542,-288){1}
//: {2}(-546,-288)(-550,-288){3}
//: {4}(-544,-286)(-544,-268)(-541,-268){5}
wire w33; //: /sn:0 /dp:1 {0}(-449,-540)(-449,-530)(-450,-530)(-450,-516){1}
//: {2}(-452,-514)(-476,-514)(-476,-491)(-465,-491){3}
//: {4}(-450,-512)(-450,-428)(-394,-428){5}
wire w29; //: /sn:0 {0}(-668,-345)(-679,-345)(-679,-334)(-691,-334){1}
//: {2}(-695,-334)(-702,-334){3}
//: {4}(-693,-332)(-693,-284)(-673,-284){5}
wire w47; //: /sn:0 {0}(-831,-476)(-773,-476)(-775,-476)(-742,-476){1}
//: {2}(-738,-476)(-613,-476){3}
//: {4}(-740,-474)(-740,-320)(-738,-320){5}
wire [1:0] w9; //: /sn:0 /dp:1 {0}(-515,-602)(-515,-595){1}
//: {2}(-513,-593)(-466,-593){3}
//: {4}(-517,-593)(-544,-593)(-544,-441)(-648,-441){5}
wire [7:0] w50; //: /sn:0 {0}(-344,-637)(-344,-595){1}
//: {2}(-342,-593)(-333,-593){3}
//: {4}(-329,-593)(-248,-593){5}
//: {6}(-331,-591)(-331,-27)(-407,-27){7}
//: {8}(-411,-27)(-438,-27){9}
//: {10}(-409,-25)(-409,11)(-399,11){11}
//: {12}(-346,-593)(-369,-593){13}
wire w26; //: /sn:0 {0}(-267,-386)(-267,-375){1}
//: {2}(-265,-373)(-202,-373)(-202,-411)(-250,-411){3}
//: {4}(-254,-411)(-315,-411)(-315,-431)(-373,-431){5}
//: {6}(-252,-409)(-252,-405)(-256,-405)(-256,-421){7}
//: {8}(-254,-423)(-248,-423)(-248,-414){9}
//: {10}(-258,-423)(-259,-423)(-259,-433){11}
//: {12}(-267,-371)(-267,-353){13}
//: enddecls
//: joint g8 (w17) @(-673, -148) /w:[ 1 2 12 -1 ]
//: joint g4 (clk1) @(-381, -509) /w:[ 3 4 -1 6 ]
bufif1 g61 (.Z(w35), .I(w18), .E(w15)); //: @(-473,-75) /sn:0 /w:[ 5 7 15 ]
//: supply1 g3 (w27) @(29,-466) /sn:0 /w:[ 1 ]
//: joint g58 (w17) @(-645, -336) /w:[ 8 10 -1 7 ]
led g55 (.I(b)); //: @(-306,-579) /sn:0 /w:[ 5 ] /type:3
led g51 (.I(w21)); //: @(-589,-695) /sn:0 /w:[ 5 ] /type:1
not g34 (.I(w15), .Z(w24)); //: @(-606,-17) /sn:0 /w:[ 7 0 ]
concat g37 (.I0(w30), .I1(w31), .I2(w31), .I3(w31), .I4(w31), .I5(w31), .Z(w25)); //: @(-711,-33) /sn:0 /w:[ 1 17 15 11 0 5 5 ] /dr:0
tempo g86 (.a1(w10), .clk(clk1), .b(w20)); //: @(-224, -502) /sz:(40, 40) /sn:0 /p:[ Ti0>0 Ri0>13 Bo0<9 ]
//: supply1 g13 (w19) @(-415,-506) /sn:0 /w:[ 0 ]
led g112 (.I(w5)); //: @(-541,-319) /sn:0 /w:[ 0 ] /type:0
//: joint g77 (w26) @(-252, -411) /w:[ 3 -1 4 6 ]
not g65 (.I(w16), .Z(w29)); //: @(-712,-334) /sn:0 /w:[ 0 3 ]
led g110 (.I(w23)); //: @(-442,0) /sn:0 /R:1 /w:[ 5 ] /type:0
//: joint g111 (w23) @(-426, -15) /w:[ 2 -1 1 4 ]
//: joint g2 (w20) @(-217, -447) /w:[ 2 8 1 -1 ]
//: joint g59 (w31) @(-744, -44) /w:[ 1 2 -1 8 ]
bufif1 g72 (.Z(w6), .I(w35), .E(w17)); //: @(-478,-235) /sn:0 /R:1 /w:[ 9 3 5 ]
register g1 (.Q(w0), .D(w1), .EN(w20), .CLR(w27), .CK(clk1)); //: @(-25,-438) /sn:0 /w:[ 3 0 7 0 0 ]
//: joint g64 (w50) @(-409, -27) /w:[ 7 -1 8 10 ]
bufif1 g16 (.Z(w6), .I(w0), .E(w26)); //: @(-265,-391) /sn:0 /R:2 /w:[ 3 5 0 ]
//: joint g11 (w1) @(-25, -569) /w:[ -1 2 4 1 ]
buf g103 (.I(w36), .Z(w5)); //: @(-560,-288) /sn:0 /w:[ 9 3 ]
led g78 (.I(w33)); //: @(-458,-491) /sn:0 /R:3 /w:[ 3 ] /type:0
//: joint g28 (w36) @(-605, -295) /w:[ 2 -1 1 12 ]
//: joint g10 (b) @(-305, -561) /w:[ 2 4 1 -1 ]
//: joint g50 (w22) @(-503, -557) /w:[ 2 -1 4 1 ]
//: joint g87 (w6) @(-478, -391) /w:[ 5 6 -1 8 ]
or g113 (.I0(w5), .I1(w36), .Z(w28)); //: @(-530,-265) /sn:0 /w:[ 5 11 0 ]
led g27 (.I(w35)); //: @(-358,-96) /sn:0 /w:[ 0 ] /type:1
concat g19 (.I0(w14), .I1(w41), .Z(w22)); //: @(-628,-421) /sn:0 /w:[ 3 3 0 ] /dr:0
//: joint g32 (w50) @(-331, -593) /w:[ 4 -1 3 6 ]
led g102 (.I(w25)); //: @(-626,13) /sn:0 /R:3 /w:[ 0 ] /type:1
//: joint g115 (w36) @(-578, -288) /w:[ 8 -1 7 10 ]
unite_centrale g6 (.ope(w21), .b(b), .a(w50), .used(w10), .s(w1)); //: @(-247, -607) /sz:(92, 74) /sn:0 /p:[ Ti0>3 Li0>3 Li1>5 Bo0<1 Ro0<5 ]
led g69 (.I(w22)); //: @(-509,-566) /sn:0 /w:[ 5 ] /type:1
//: supply0 g38 (w31) @(-756,-36) /sn:0 /w:[ 7 ]
//: joint g7 (w17) @(-673, -233) /w:[ 4 6 -1 3 ]
//: joint g119 (clk1) @(-381, -489) /w:[ 8 7 10 -1 ]
//: joint g9 (w50) @(-344, -593) /w:[ 2 1 12 -1 ]
led g53 (.I(w50)); //: @(-344,-644) /sn:0 /w:[ 0 ] /type:3
led g57 (.I(w17)); //: @(-671,-126) /sn:0 /R:3 /w:[ 13 ] /type:0
//: joint g31 (w0) @(-25, -391) /w:[ -1 2 4 1 ]
not g20 (.I(w47), .Z(w44)); //: @(-732,-320) /sn:0 /w:[ 5 5 ]
not g15 (.I(w7), .Z(w8)); //: @(-698,-350) /sn:0 /w:[ 7 0 ]
//: joint g71 (w20) @(30, -415) /w:[ 4 6 3 -1 ]
//: joint g39 (w15) @(-570, -115) /w:[ 5 6 -1 8 ]
//: joint g67 (w18) @(-527, -73) /w:[ 2 -1 1 8 ]
led g68 (.I(w3)); //: @(-857,-501) /sn:0 /w:[ 0 ] /type:1
ram g43 (.A(w25), .D(w18), .WE(w15), .OE(w24), .CS(w51)); //: @(-570,-72) /sn:0 /w:[ 3 0 9 1 1 ]
//: joint g48 (w31) @(-744, -24) /w:[ 14 13 -1 16 ]
//: joint g62 (w26) @(-256, -423) /w:[ 8 -1 10 7 ]
//: joint g29 (w16) @(-725, -466) /w:[ 2 -1 4 1 ]
regg g25 (.w(w6), .a2(w22), .a1(w9), .clear(w19), .rw(w33), .h(clk1), .s2(b), .s1(w50)); //: @(-465, -609) /sz:(95, 68) /sn:0 /p:[ Ti0>7 Li0>3 Li1>3 Bi0>1 Bi1>0 Bi2>5 Ro0<0 Ro1<13 ]
clock g17 (.Z(clk1)); //: @(-367,-488) /sn:0 /R:2 /w:[ 9 ] /omega:400 /phi:0 /duty:50
led g104 (.I(w36)); //: @(-587,-319) /sn:0 /w:[ 5 ] /type:0
//: joint g73 (w25) @(-658, -33) /w:[ -1 2 4 1 ]
//: joint g88 (clk1) @(-171, -509) /w:[ 1 -1 2 12 ]
or g106 (.I0(w48), .I1(w36), .I2(w17), .Z(w15)); //: @(-552,-153) /sn:0 /w:[ 1 0 0 3 ]
concat g63 (.I0(w11), .I1(w14), .I2(w41), .Z(w30)); //: @(-794,7) /sn:0 /w:[ 5 5 5 0 ] /dr:0
not g42 (.I(w15), .Z(w23)); //: @(-439,-90) /sn:0 /w:[ 13 3 ]
//: joint g52 (w6) @(-372, -391) /w:[ 2 -1 4 1 ]
led g107 (.I(w15)); //: @(-543,-115) /sn:0 /R:3 /w:[ 0 ] /type:0
//: joint g83 (w44) @(-700, -320) /w:[ 2 -1 4 1 ]
//: joint g109 (w36) @(-587, -295) /w:[ -1 4 3 6 ]
led g74 (.I(w20)); //: @(41,-436) /sn:0 /w:[ 5 ] /type:0
led g56 (.I(w26)); //: @(-248,-407) /sn:0 /R:2 /w:[ 9 ] /type:0
led g5 (.I(w1)); //: @(-25,-626) /sn:0 /w:[ 3 ] /type:3
bufif1 g14 (.Z(w18), .I(w50), .E(w23)); //: @(-444,-27) /sn:0 /R:2 /w:[ 5 9 0 ]
and g79 (.I0(w4), .I1(w20), .Z(w26)); //: @(-259,-443) /sn:0 /R:3 /w:[ 1 0 11 ]
//: joint g117 (w28) @(-506, -265) /w:[ 2 -1 1 4 ]
//: joint g47 (w31) @(-744, -34) /w:[ 10 9 -1 12 ]
led g80 (.I(w26)); //: @(-267,-346) /sn:0 /R:2 /w:[ 13 ] /type:0
not g94 (.I(w2), .Z(w36)); //: @(-621,-284) /sn:0 /w:[ 1 13 ]
led g44 (.I(w50)); //: @(-392,11) /sn:0 /R:3 /w:[ 11 ] /type:1
//: joint g84 (w33) @(-450, -514) /w:[ -1 1 2 4 ]
//: joint g24 (w47) @(-740, -476) /w:[ 2 -1 1 4 ]
concat g21 (.I0(w12), .I1(w13), .Z(w9)); //: @(-649,-441) /sn:0 /w:[ 0 1 5 ] /dr:0
//: dip g85 (w3) @(-910,-441) /sn:0 /R:1 /w:[ 5 ] /st:108
and g36 (.I0(w7), .I1(w29), .I2(w44), .Z(w2)); //: @(-662,-284) /sn:0 /w:[ 9 5 0 0 ]
//: joint g92 (w7) @(-712, -350) /w:[ 6 5 -1 8 ]
led g41 (.I(w18)); //: @(-485,3) /sn:0 /w:[ 9 ] /type:1
concat g23 (.I0(w7), .I1(w16), .I2(w47), .Z(w21)); //: @(-608,-466) /sn:0 /w:[ 3 3 3 0 ] /dr:0
led g116 (.I(w28)); //: @(-499,-286) /sn:0 /w:[ 3 ] /type:0
//: joint g60 (w31) @(-744, -54) /w:[ 4 -1 6 3 ]
led g54 (.I(w9)); //: @(-515,-609) /sn:0 /w:[ 0 ] /type:1
//: joint g40 (w18) @(-489, -27) /w:[ 4 6 3 -1 ]
//: joint g81 (w26) @(-267, -373) /w:[ 2 1 -1 12 ]
//: supply1 g90 (w4) @(-251,-528) /sn:0 /w:[ 0 ]
or g70 (.I0(w26), .I1(w17), .Z(w33)); //: @(-384,-428) /sn:0 /R:2 /w:[ 5 9 5 ]
//: joint g46 (w14) @(-813, -416) /w:[ 2 -1 1 4 ]
//: joint g45 (w41) @(-809, -426) /w:[ 2 -1 1 4 ]
led g35 (.I(w0)); //: @(-25,-343) /sn:0 /R:2 /w:[ 0 ] /type:3
//: joint g26 (w7) @(-712, -456) /w:[ 2 -1 1 4 ]
and g22 (.I0(w8), .I1(w29), .I2(w44), .Z(w17)); //: @(-657,-345) /sn:0 /w:[ 1 0 3 11 ]
//: joint g0 (w3) @(-857, -441) /w:[ 2 1 4 -1 ]
//: joint g120 (w15) @(-559, -115) /w:[ 1 2 4 10 ]
//: joint g114 (w5) @(-544, -288) /w:[ 1 -1 2 4 ]
//: joint g66 (w35) @(-392, -75) /w:[ 1 2 4 -1 ]
led g82 (.I(w6)); //: @(-372,-342) /sn:0 /R:2 /w:[ 0 ] /type:1
//: joint g12 (w21) @(-589, -680) /w:[ 2 4 1 -1 ]
concat g18 (.I0(w11), .I1(w14), .I2(w41), .I3(w12), .I4(w13), .I5(w7), .I6(w16), .I7(w47), .Z(w3)); //: @(-836,-441) /sn:0 /R:2 /w:[ 0 0 0 1 0 0 5 0 3 ] /dr:1
//: joint g33 (w15) @(-471, -90) /w:[ 12 -1 11 14 ]
//: joint g30 (w11) @(-819, -406) /w:[ 2 -1 1 4 ]
//: joint g91 (w29) @(-693, -334) /w:[ 1 -1 2 4 ]
//: supply0 g108 (w51) @(-577,-34) /sn:0 /w:[ 0 ]
d_latch g118 (.e0(w28), .clk(clk1), .s(w48)); //: @(-591, -217) /sz:(40, 40) /sn:0 /p:[ Ti0>5 Ri0>11 Bo0<0 ]
//: joint g49 (w9) @(-515, -593) /w:[ 2 1 4 -1 ]
endmodule
module regg(rw, clear, s2, s1, a1, a2, h, w);
//: interface /sz:(40, 40) /bd:[ ]
output [7:0] s2; //: /sn:0 {0}(518,14)(508,14)(508,29)(541,29)(541,118)(555,118)(555,154){1}
input [1:0] a2; //: /sn:0 {0}(-194,224)(-173,224)(-173,74)(602,74)(602,167)(578,167){1}
input h; //: /sn:0 {0}(567,423)(579,423){1}
//: {2}(581,421)(581,357)(555,357){3}
//: {4}(581,425)(581,464)(575,464)(575,503){5}
//: {6}(573,505)(550,505)(550,505)(512,505){7}
//: {8}(575,507)(575,531)(581,531)(581,553){9}
//: {10}(579,555)(538,555)(538,553)(476,553){11}
//: {12}(581,557)(581,617)(425,617){13}
input [7:0] w; //: /sn:0 /dp:1 {0}(557,676)(710,676)(710,589)(649,589){1}
input [1:0] a1; //: /sn:0 {0}(-183,411)(-60,411)(-60,415)(-50,415){1}
//: {2}(-48,413)(-48,145)(341,145)(341,165)(310,165){3}
//: {4}(-48,417)(-48,529)(55,529){5}
input clear; //: /sn:0 /dp:7 {0}(491,428)(316,428){1}
//: {2}(312,428)(297,428)(297,428)(253,428){3}
//: {4}(249,428)(209,428){5}
//: {6}(205,428)(186,428)(186,277)(141,277){7}
//: {8}(207,430)(207,622)(349,622){9}
//: {10}(251,430)(251,558)(400,558){11}
//: {12}(314,430)(314,510)(436,510){13}
output [7:0] s1; //: /sn:0 {0}(287,152)(287,127)(352,127)(352,18)(377,18){1}
input rw; //: /sn:0 /dp:1 {0}(68,505)(68,489)(150,489)(150,390){1}
//: {2}(152,388)(565,388)(565,691)(549,691)(549,681){3}
//: {4}(150,386)(150,287)(9,287){5}
wire [7:0] w6; //: /sn:0 {0}(269,181)(269,187){1}
//: {2}(271,189)(537,189)(537,183){3}
//: {4}(269,191)(269,220)(528,220)(528,413){5}
wire w7; //: /sn:0 {0}(334,418)(491,418){1}
wire w16; //: /sn:0 {0}(84,523)(120,523)(120,500)(319,500){1}
wire w15; //: /sn:0 {0}(307,535)(392,535)(392,548)(400,548){1}
wire w4; //: /sn:0 {0}(84,511)(108,511)(108,418)(318,418){1}
wire [7:0] w3; //: /sn:0 {0}(386,607)(386,238){1}
//: {2}(388,236)(573,236)(573,183){3}
//: {4}(384,236)(305,236)(305,181){5}
wire [7:0] w0; //: /sn:0 {0}(437,543)(437,294)(293,294)(293,211){1}
//: {2}(295,209)(561,209)(561,183){3}
//: {4}(293,207)(293,181){5}
wire w24; //: /sn:0 {0}(305,612)(349,612){1}
wire w23; //: /sn:0 {0}(289,612)(151,612)(151,547)(84,547){1}
wire [7:0] w1; //: /sn:0 /dp:1 {0}(541,676)(530,676){1}
//: {2}(528,674)(528,434){3}
//: {4}(526,676)(508,676)(508,676)(475,676){5}
//: {6}(473,674)(473,516){7}
//: {8}(471,676)(439,676){9}
//: {10}(437,674)(437,585)(437,585)(437,564){11}
//: {12}(435,676)(386,676)(386,628){13}
wire w17; //: /sn:0 {0}(84,535)(291,535){1}
wire w13; //: /sn:0 {0}(335,500)(436,500){1}
wire [7:0] w9; //: /sn:0 {0}(281,181)(281,195){1}
//: {2}(283,197)(549,197)(549,183){3}
//: {4}(281,199)(281,256)(473,256)(473,495){5}
//: enddecls
demux g8 (.I(a1), .E(rw), .Z0(w4), .Z1(w16), .Z2(w17), .Z3(w23)); //: @(68,529) /sn:0 /R:1 /w:[ 5 0 0 0 0 1 ]
mux g4 (.I0(w6), .I1(w9), .I2(w0), .I3(w3), .S(a1), .Z(s1)); //: @(287,165) /sn:0 /R:2 /w:[ 0 0 5 5 3 0 ]
//: input g3 (rw) @(7,287) /sn:0 /w:[ 5 ]
//: joint g37 (w9) @(281, 197) /w:[ 2 1 -1 4 ]
register g13 (.Q(w0), .D(w1), .EN(w15), .CLR(clear), .CK(h)); //: @(437,553) /sn:0 /R:2 /w:[ 0 11 1 11 11 ]
register g2 (.Q(w6), .D(w1), .EN(w7), .CLR(clear), .CK(h)); //: @(528,423) /sn:0 /R:2 /w:[ 5 3 1 0 0 ]
//: input g1 (clear) @(139,277) /sn:0 /w:[ 7 ]
not g11 (.I(w4), .Z(w7)); //: @(324,418) /sn:0 /w:[ 1 0 ]
//: joint g16 (clear) @(314, 428) /w:[ 1 -1 2 12 ]
mux g10 (.I0(w6), .I1(w9), .I2(w0), .I3(w3), .S(a2), .Z(s2)); //: @(555,167) /sn:0 /R:2 /w:[ 3 3 3 3 1 1 ]
//: output g32 (s2) @(515,14) /sn:0 /w:[ 0 ]
not g19 (.I(w16), .Z(w13)); //: @(325,500) /sn:0 /w:[ 1 0 ]
//: joint g27 (w1) @(437, 676) /w:[ 9 10 12 -1 ]
//: joint g6 (w1) @(528, 676) /w:[ 1 2 4 -1 ]
//: joint g38 (w0) @(293, 209) /w:[ 2 4 -1 1 ]
//: joint g7 (rw) @(150, 388) /w:[ 2 4 -1 1 ]
//: output g31 (s1) @(374,18) /sn:0 /w:[ 1 ]
//: joint g15 (h) @(581, 423) /w:[ -1 2 1 4 ]
//: joint g39 (w3) @(386, 236) /w:[ 2 -1 4 1 ]
//: input g29 (a1) @(-185,411) /sn:0 /w:[ 0 ]
//: joint g25 (w1) @(473, 676) /w:[ 5 6 8 -1 ]
//: joint g17 (clear) @(251, 428) /w:[ 3 -1 4 10 ]
bufif1 g5 (.Z(w1), .I(w), .E(rw)); //: @(551,676) /sn:0 /R:2 /w:[ 0 0 3 ]
register g14 (.Q(w3), .D(w1), .EN(w24), .CLR(clear), .CK(h)); //: @(386,617) /sn:0 /R:2 /w:[ 0 13 1 9 13 ]
//: input g21 (a2) @(-196,224) /sn:0 /w:[ 0 ]
//: joint g36 (w6) @(269, 189) /w:[ 2 1 -1 4 ]
not g24 (.I(w17), .Z(w15)); //: @(297,535) /sn:0 /w:[ 1 0 ]
//: joint g23 (h) @(581, 555) /w:[ -1 9 10 12 ]
//: input g0 (h) @(553,357) /sn:0 /w:[ 3 ]
not g26 (.I(w23), .Z(w24)); //: @(295,612) /sn:0 /w:[ 0 0 ]
//: joint g22 (h) @(575, 505) /w:[ -1 5 6 8 ]
register g12 (.Q(w9), .D(w1), .EN(w13), .CLR(clear), .CK(h)); //: @(473,505) /sn:0 /R:2 /w:[ 5 7 1 13 7 ]
//: joint g18 (clear) @(207, 428) /w:[ 5 -1 6 8 ]
//: joint g33 (a1) @(-48, 415) /w:[ -1 2 1 4 ]
//: input g30 (w) @(647,589) /sn:0 /w:[ 1 ]
endmodule
module unite_commande();
//: interface /sz:(40, 40) /bd:[ ]
supply0 w31; //: /sn:0 {0}(403,595)(372,595){1}
//: {2}(370,593)(370,590)(370,590)(370,587){3}
//: {4}(372,585)(391,585)(391,585)(403,585){5}
//: {6}(368,585)(358,585)(358,597){7}
//: {8}(370,597)(370,603){9}
//: {10}(372,605)(391,605)(391,605)(403,605){11}
//: {12}(370,607)(370,613){13}
//: {14}(372,615)(391,615)(391,615)(403,615){15}
//: {16}(370,617)(370,625)(403,625){17}
supply0 w5; //: /sn:0 {0}(500,637)(500,643)(501,643)(501,650){1}
wire w6; //: /sn:0 {0}(264,270)(325,270){1}
//: {2}(329,270)(336,270)(358,270)(459,270){3}
//: {4}(327,272)(327,376)(345,376){5}
wire w7; //: /sn:0 {0}(378,386)(370,386)(370,407)(319,407){1}
wire [7:0] b; //: /sn:0 {0}(703,165)(765,165){1}
//: {2}(769,165)(795,165){3}
//: {4}(767,163)(767,154){5}
wire [7:0] s0; //: /sn:0 {0}(691,548)(691,562)(659,562){1}
//: {2}(657,560)(657,333)(581,333)(581,102)(643,102)(643,116){3}
//: {4}(655,562)(586,562){5}
wire [1:0] w16; //: /sn:0 {0}(445,305)(569,305)(569,171){1}
//: {2}(571,169)(606,169){3}
//: {4}(567,169)(563,169)(563,167){5}
wire w14; //: /sn:0 {0}(439,310)(284,310){1}
//: {2}(280,310)(269,310)(269,310)(264,310){3}
//: {4}(282,312)(282,516)(313,516){5}
wire h; //: /sn:0 {0}(691,186)(691,211)(696,211){1}
wire w19; //: /sn:0 {0}(378,381)(364,381)(364,392)(337,392){1}
wire w15; //: /sn:0 {0}(439,300)(288,300){1}
//: {2}(284,300)(271,300)(271,300)(264,300){3}
//: {4}(286,302)(286,506)(313,506){5}
wire w4; //: /sn:0 {0}(361,376)(378,376){1}
wire [7:0] w3; //: /sn:0 {0}(258,285)(240,285){1}
//: {2}(238,283)(238,273)(238,273)(238,232){3}
//: {4}(236,285)(220,285){5}
wire w0; //: /sn:0 {0}(623,186)(623,391)(408,391){1}
//: {2}(406,389)(406,388)(406,388)(406,384){3}
//: {4}(408,382)(417,382)(417,372){5}
//: {6}(406,380)(406,381)(399,381){7}
//: {8}(406,393)(406,511){9}
wire [7:0] val; //: /sn:0 {0}(615,666)(615,673)(673,673)(673,610)(611,610){1}
wire w24; //: /sn:0 {0}(492,675)(514,675)(514,637){1}
wire w23; //: /sn:0 {0}(603,615)(603,622)(630,622)(630,547)(620,547){1}
wire w20; //: /sn:0 {0}(665,186)(665,211)(663,211){1}
wire w1; //: /sn:0 {0}(264,320)(274,320){1}
//: {2}(278,320)(361,320){3}
//: {4}(276,322)(276,526)(313,526){5}
wire [7:0] w18; //: /sn:0 {0}(595,610)(562,610){1}
//: {2}(560,608)(560,562)(570,562){3}
//: {4}(558,610)(539,610)(539,610)(524,610){5}
wire rw; //: /sn:0 {0}(604,547)(580,547){1}
//: {2}(576,547)(510,547){3}
//: {4}(508,545)(508,537)(494,537){5}
//: {6}(508,549)(508,565)(508,565)(508,561){7}
//: {8}(510,559)(517,559)(517,572)(507,572)(507,587){9}
//: {10}(506,559)(467,559)(467,675)(476,675){11}
//: {12}(578,549)(578,561)(578,561)(578,557){13}
wire [2:0] w22; //: /sn:0 {0}(319,516)(398,516){1}
wire [2:0] w17; //: /sn:0 {0}(403,635)(342,635)(342,540)(444,540)(444,516)(414,516){1}
wire [2:0] ope0; //: /sn:0 {0}(823,116)(823,58)(509,58){1}
//: {2}(507,56)(507,52)(507,52)(507,52){3}
//: {4}(505,58)(476,58)(476,260)(465,260){5}
wire w12; //: /sn:0 {0}(459,250)(301,250){1}
//: {2}(301,250)(303,250)(264,250){3}
//: {4}(299,252)(299,407)(303,407){5}
wire w11; //: /sn:0 {0}(264,280)(418,280){1}
wire [7:0] w2; //: /sn:0 {0}(895,155)(942,155)(942,507){1}
wire w10; //: /sn:0 {0}(418,290)(264,290){1}
wire [1:0] w13; //: /sn:0 {0}(424,285)(549,285)(549,133)(555,133){1}
//: {2}(559,133)(606,133){3}
//: {4}(557,135)(557,139)(557,139)(557,126){5}
wire [7:0] a; //: /sn:0 {0}(703,133)(737,133){1}
//: {2}(741,133)(795,133){3}
//: {4}(739,131)(739,126){5}
wire w9; //: /sn:0 {0}(321,392)(314,392)(314,262){1}
//: {2}(316,260)(459,260){3}
//: {4}(312,260)(264,260){5}
wire [7:0] w26; //: /sn:0 {0}(489,610)(409,610){1}
//: enddecls
bufif1 g4 (.Z(w18), .I(val), .E(w23)); //: @(605,610) /sn:0 /R:2 /w:[ 0 1 0 ]
//: switch g8 (w20) @(646,211) /sn:0 /w:[ 1 ] /st:1
//: joint g58 (w0) @(406, 391) /w:[ 1 2 -1 8 ]
led g55 (.I(b)); //: @(767,147) /sn:0 /w:[ 5 ] /type:1
led g51 (.I(ope0)); //: @(507,45) /sn:0 /w:[ 3 ] /type:1
not g13 (.I(w6), .Z(w4)); //: @(351,376) /sn:0 /w:[ 5 0 ]
unite_centrale g3 (.ope(ope0), .b(b), .a(a), .s(w2)); //: @(796, 117) /sz:(98, 70) /sn:0 /p:[ Ti0>0 Li0>3 Li1>3 Ro0<0 ]
not g34 (.I(rw), .Z(w24)); //: @(482,675) /sn:0 /w:[ 11 0 ]
concat g37 (.I0(w17), .I1(w31), .I2(w31), .I3(w31), .I4(w31), .I5(w31), .Z(w26)); //: @(408,610) /sn:0 /w:[ 0 17 15 11 0 5 1 ] /dr:0
clock g2 (.Z(h)); //: @(709,212) /sn:0 /R:2 /w:[ 1 ] /omega:100 /phi:0 /duty:50
concat g1 (.I0(w1), .I1(w14), .I2(w15), .I3(w10), .I4(w11), .I5(w6), .I6(w9), .I7(w12), .Z(w3)); //: @(259,285) /sn:0 /R:2 /w:[ 0 3 3 1 0 0 5 3 0 ] /dr:1
not g16 (.I(w12), .Z(w7)); //: @(309,407) /sn:0 /w:[ 5 1 ]
concat g11 (.I0(w14), .I1(w15), .Z(w16)); //: @(444,305) /sn:0 /w:[ 0 0 0 ] /dr:0
//: joint g50 (w16) @(569, 169) /w:[ 2 -1 4 1 ]
led g28 (.I(w0)); //: @(417,365) /sn:0 /w:[ 5 ] /type:0
concat g10 (.I0(w10), .I1(w11), .Z(w13)); //: @(423,285) /sn:0 /w:[ 0 1 0 ] /dr:0
led g27 (.I(s0)); //: @(691,541) /sn:0 /w:[ 0 ] /type:1
and g19 (.I0(w4), .I1(w19), .I2(w7), .Z(w0)); //: @(389,381) /sn:0 /w:[ 1 0 0 7 ]
//: supply0 g32 (w5) @(501,656) /sn:0 /w:[ 1 ]
concat g6 (.I0(w6), .I1(w9), .I2(w12), .Z(ope0)); //: @(464,260) /sn:0 /w:[ 3 3 0 5 ] /dr:0
//: supply0 g38 (w31) @(358,603) /sn:0 /w:[ 7 ]
led g53 (.I(a)); //: @(739,119) /sn:0 /w:[ 5 ] /type:1
regg g7 (.w(s0), .a2(w16), .a1(w13), .clear(w20), .rw(w0), .h(h), .s2(b), .s1(a)); //: @(607, 117) /sz:(95, 68) /sn:0 /p:[ Ti0>3 Li0>3 Li1>3 Bi0>0 Bi1>0 Bi2>0 Ro0<0 Ro1<0 ]
//: joint g20 (w6) @(327, 270) /w:[ 2 -1 1 4 ]
//: joint g15 (w12) @(299, 250) /w:[ 1 2 -1 4 ]
//: joint g31 (w3) @(238, 285) /w:[ 1 2 4 -1 ]
//: joint g39 (rw) @(578, 547) /w:[ 1 -1 2 12 ]
ram g43 (.A(w26), .D(w18), .WE(rw), .OE(w24), .CS(w5)); //: @(507,611) /sn:0 /w:[ 0 5 9 1 0 ]
//: joint g48 (w31) @(370, 615) /w:[ 14 13 -1 16 ]
//: joint g29 (w0) @(406, 382) /w:[ 4 3 -1 6 ]
//: joint g25 (w1) @(276, 320) /w:[ 2 -1 1 4 ]
//: joint g17 (w9) @(314, 260) /w:[ 2 -1 4 1 ]
//: joint g52 (ope0) @(507, 58) /w:[ 1 2 4 -1 ]
not g42 (.I(rw), .Z(w23)); //: @(610,547) /sn:0 /w:[ 0 1 ]
//: joint g56 (b) @(767, 165) /w:[ 2 4 1 -1 ]
//: switch g14 (rw) @(477,537) /sn:0 /w:[ 5 ] /st:1
led g5 (.I(w2)); //: @(942,514) /sn:0 /R:2 /w:[ 1 ] /type:1
//: joint g44 (rw) @(508, 559) /w:[ 8 -1 10 7 ]
//: joint g47 (w31) @(370, 605) /w:[ 10 9 -1 12 ]
//: joint g24 (w15) @(286, 300) /w:[ 1 -1 2 4 ]
bufif1 g21 (.Z(w17), .I(w22), .E(w0)); //: @(404,516) /sn:0 /w:[ 1 1 9 ]
//: joint g36 (w18) @(560, 610) /w:[ 1 2 4 -1 ]
//: joint g41 (w13) @(557, 133) /w:[ 2 -1 1 4 ]
//: joint g23 (w14) @(282, 310) /w:[ 1 -1 2 4 ]
//: joint g54 (a) @(739, 133) /w:[ 2 4 1 -1 ]
led g40 (.I(w13)); //: @(557,119) /sn:0 /w:[ 5 ] /type:1
//: dip g26 (val) @(615,656) /sn:0 /w:[ 0 ] /st:3
concat g22 (.I0(w1), .I1(w14), .I2(w15), .Z(w22)); //: @(318,516) /sn:0 /w:[ 5 5 5 0 ] /dr:0
//: dip g0 (w3) @(182,285) /sn:0 /R:1 /w:[ 5 ] /st:108
bufif1 g35 (.Z(s0), .I(w18), .E(rw)); //: @(576,562) /sn:0 /w:[ 5 3 13 ]
//: joint g45 (w31) @(370, 585) /w:[ 4 -1 6 3 ]
//: joint g46 (w31) @(370, 595) /w:[ 1 2 -1 8 ]
//: joint g12 (s0) @(657, 562) /w:[ 1 2 4 -1 ]
not g18 (.I(w9), .Z(w19)); //: @(327,392) /sn:0 /w:[ 0 1 ]
led g30 (.I(w3)); //: @(238,225) /sn:0 /w:[ 3 ] /type:1
//: joint g33 (rw) @(508, 547) /w:[ 3 4 -1 6 ]
led g49 (.I(w16)); //: @(563,160) /sn:0 /w:[ 5 ] /type:1
endmodule
module d_latch(clk, s, e0);
//: interface /sz:(40, 40) /bd:[ ]
input e0; //: /sn:0 /dp:5 {0}(43,117)(7,117)(7,74){1}
//: {2}(9,72)(17,72){3}
//: {4}(5,72)(-65,72)(-65,159)(-49,159){5}
input clk; //: /sn:0 {0}(-57,217)(-69,217)(-69,243)(-14,243){1}
//: {2}(-10,243)(6,243)(6,245)(14,245){3}
//: {4}(18,245)(48,245){5}
//: {6}(16,243)(16,208)(74,208){7}
//: {8}(-12,241)(-12,122)(9,122){9}
//: {10}(13,122)(43,122){11}
//: {12}(11,120)(11,85)(69,85){13}
output s; //: /sn:0 /dp:1 {0}(123,246)(101,246)(101,226)(141,226)(141,212)(151,212){1}
//: {2}(155,212)(239,212)(239,65)(198,65){3}
//: {4}(153,214)(153,211)(145,211){5}
wire w45; //: /sn:0 {0}(90,83)(106,83)(106,85)(119,85){1}
wire w38; //: /sn:0 /dp:1 {0}(38,195)(66,195)(66,203)(74,203){1}
wire w43; //: /sn:0 {0}(64,120)(78,120)(78,128)(118,128){1}
wire w41; //: /sn:0 {0}(95,206)(111,206)(111,208)(124,208){1}
wire w40; //: /sn:0 {0}(69,243)(83,243)(83,251)(123,251){1}
wire w44; //: /sn:0 {0}(139,126)(152,126)(152,110)(102,110)(102,90)(119,90){1}
wire w42; //: /sn:0 {0}(144,249)(157,249)(157,233)(107,233)(107,213)(124,213){1}
wire w39; //: /sn:0 {0}(33,72)(61,72)(61,80)(69,80){1}
wire e; //: /sn:0 {0}(140,88)(162,88){1}
//: {2}(166,88)(176,88)(176,103)(-19,103)(-19,195)(10,195){3}
//: {4}(14,195)(22,195){5}
//: {6}(12,197)(12,240)(48,240){7}
//: {8}(164,90)(164,101)(124,101)(124,108)(108,108)(108,123)(118,123){9}
//: enddecls
//: joint g4 (e) @(164, 88) /w:[ 2 -1 1 8 ]
and g8 (.I0(e0), .I1(clk), .Z(w43)); //: @(54,120) /sn:0 /w:[ 0 11 0 ]
//: joint g3 (s) @(153, 212) /w:[ 2 4 1 -1 ]
and g76 (.I0(w38), .I1(clk), .Z(w41)); //: @(85,206) /sn:0 /w:[ 1 7 0 ]
nor g77 (.I0(s), .I1(w40), .Z(w42)); //: @(134,249) /sn:0 /w:[ 0 1 0 ]
//: input g2 (clk) @(-55,217) /sn:0 /R:2 /w:[ 0 ]
//: output g1 (s) @(201,65) /sn:0 /R:2 /w:[ 3 ]
//: joint g11 (clk) @(-12, 243) /w:[ 2 8 1 -1 ]
//: joint g10 (e0) @(7, 72) /w:[ 2 -1 4 1 ]
nor g87 (.I0(w41), .I1(w42), .Z(s)); //: @(135,211) /sn:0 /w:[ 1 1 5 ]
and g6 (.I0(w39), .I1(clk), .Z(w45)); //: @(80,83) /sn:0 /w:[ 1 13 0 ]
not g9 (.I(e0), .Z(w39)); //: @(23,72) /sn:0 /w:[ 3 0 ]
nor g7 (.I0(w45), .I1(w44), .Z(e)); //: @(130,88) /sn:0 /w:[ 1 1 0 ]
and g75 (.I0(e), .I1(clk), .Z(w40)); //: @(59,243) /sn:0 /w:[ 7 5 0 ]
not g74 (.I(e), .Z(w38)); //: @(28,195) /sn:0 /w:[ 5 0 ]
nor g5 (.I0(e), .I1(w43), .Z(w44)); //: @(129,126) /sn:0 /w:[ 9 1 0 ]
//: joint g80 (clk) @(16, 245) /w:[ 4 6 3 -1 ]
//: input g0 (e0) @(-47,159) /sn:0 /R:2 /w:[ 5 ]
//: joint g82 (e) @(12, 195) /w:[ 4 -1 3 6 ]
//: joint g12 (clk) @(11, 122) /w:[ 10 12 9 -1 ]
endmodule
module divv(s, b, a);
//: interface /sz:(40, 40) /bd:[ ]
input [7:0] b; //: /sn:0 /dp:1 {0}(330,296)(330,260)(397,260)(397,215)(387,215){1}
output [7:0] s; //: /sn:0 {0}(313,411)(307,411)(307,374)(324,374)(324,325){1}
input [7:0] a; //: /sn:0 /dp:1 {0}(298,296)(298,268)(251,268)(251,224)(241,224){1}
wire [7:0] w0; //: /sn:0 {0}(304,344)(304,325){1}
//: enddecls
//: output g3 (s) @(310,411) /sn:0 /w:[ 0 ]
//: input g2 (b) @(385,215) /sn:0 /w:[ 1 ]
div g1 (.A(a), .B(b), .Q(s), .R(w0)); //: @(314,312) /sn:0 /w:[ 0 0 1 1 ]
//: input g0 (a) @(239,224) /sn:0 /w:[ 1 ]
endmodule