-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFase2_Tarea8_CLA.v~
295 lines (286 loc) · 15.6 KB
/
Fase2_Tarea8_CLA.v~
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
//: version "1.8.7"
module main; //: root_module
wire w32; //: /sn:0 {0}(632,402)(726,402)(726,194){1}
//: {2}(728,192)(785,192)(785,146)(773,146){3}
//: {4}(724,192)(688,192)(688,194)(680,194){5}
wire w16; //: /sn:0 {0}(196,256)(196,322){1}
//: {2}(198,324)(228,324)(228,322){3}
//: {4}(196,326)(196,347)(219,347)(219,355){5}
wire w14; //: /sn:0 {0}(75,27)(94,27)(94,130){1}
wire w4; //: /sn:0 {0}(571,254)(571,306)(512,306)(512,325){1}
//: {2}(514,327)(537,327)(537,339)(552,339)(552,329){3}
//: {4}(512,329)(512,355){5}
wire w19; //: /sn:0 {0}(246,66)(267,66)(267,139){1}
wire w15; //: /sn:0 {0}(241,256)(241,297){1}
//: {2}(243,299)(257,299)(257,306)(272,306)(272,296){3}
//: {4}(241,301)(241,329)(262,329)(262,355){5}
wire w0; //: /sn:0 /dp:1 {0}(439,289)(439,299)(458,299)(458,256){1}
wire w3; //: /sn:0 {0}(609,254)(609,287)(607,287)(607,320){1}
//: {2}(609,322)(675,322)(675,356)(691,356)(691,346){3}
//: {4}(607,324)(607,347)(549,347)(549,355){5}
wire w34; //: /sn:0 {0}(301,355)(301,327)(334,327)(334,196)(326,196){1}
//: {2}(324,194)(324,184)(323,184)(323,173){3}
//: {4}(322,196)(312,196){5}
wire w21; //: /sn:0 {0}(68,247)(68,326){1}
//: {2}(70,328)(104,328)(104,314){3}
//: {4}(68,330)(68,347)(99,347)(99,355){5}
wire w20; //: /sn:0 {0}(372,67)(380,67)(380,139){1}
wire w23; //: /sn:0 {0}(111,247)(111,295)(127,295)(127,285){1}
wire w24; //: /sn:0 {0}(350,31)(441,31)(441,139){1}
wire w1; //: /sn:0 /dp:1 {0}(639,295)(639,305)(652,305)(652,254){1}
wire w25; //: /sn:0 {0}(552,72)(574,72)(574,137){1}
wire w18; //: /sn:0 {0}(185,85)(206,85)(206,139){1}
wire w8; //: /sn:0 {0}(22,65)(33,65)(33,130){1}
wire w35; //: /sn:0 {0}(159,355)(159,187)(158,187){1}
//: {2}(156,185)(156,175)(150,175)(150,142){3}
//: {4}(154,187)(139,187){5}
wire w22; //: /sn:0 {0}(23,247)(23,293){1}
//: {2}(25,295)(49,295)(49,288){3}
//: {4}(23,297)(23,347)(46,347)(46,355){5}
wire w17; //: /sn:0 {0}(284,256)(284,300)(304,300)(304,290){1}
wire w2; //: /sn:0 /dp:1 {0}(-42,385)(-42,395)(-9,395){1}
wire w10; //: /sn:0 {0}(370,256)(370,304){1}
//: {2}(372,306)(388,306)(388,293){3}
//: {4}(370,308)(370,315)(360,315)(360,355){5}
wire w33; //: /sn:0 {0}(436,355)(436,320)(504,320)(504,198){1}
//: {2}(504,194)(504,184)(498,184)(498,154){3}
//: {4}(502,196)(486,196){5}
wire w9; //: /sn:0 {0}(415,256)(415,299)(401,299)(401,334){1}
//: {2}(403,336)(409,336)(409,349)(424,349)(424,339){3}
//: {4}(401,338)(401,355){5}
wire w26; //: /sn:0 {0}(552,32)(635,32)(635,137){1}
//: enddecls
//: switch g8 (w8) @(5,65) /sn:0 /w:[ 0 ] /st:0
CarryLookahead_Logic g4 (.G0(w3), .P0(w4), .G1(w9), .P1(w10), .G2(w15), .P2(w16), .G3(w21), .P3(w22), .Cin(w32), .C3(w35), .C2(w34), .C1(w33), .Cout(w2)); //: @(-8, 356) /sz:(639, 96) /sn:0 /p:[ Ti0>5 Ti1>5 Ti2>5 Ti3>5 Ti4>5 Ti5>5 Ti6>5 Ti7>5 Ri0>0 To0<0 To1<0 To2<0 Lo0<1 ]
PFA_v1 g3 (.A(w8), .B(w14), .C(w35), .S(w23), .P(w22), .G(w21)); //: @(12, 131) /sz:(126, 115) /sn:0 /p:[ Ti0>1 Ti1>1 Ri0>5 Bo0<0 Bo1<0 Bo2<0 ]
led g34 (.I(w15)); //: @(272,289) /sn:0 /w:[ 3 ] /type:0
//: joint g37 (w16) @(196, 324) /w:[ 2 1 -1 4 ]
//: switch g13 (w24) @(333,31) /sn:0 /w:[ 0 ] /st:0
PFA_v1 g2 (.A(w18), .B(w19), .C(w34), .S(w17), .P(w16), .G(w15)); //: @(185, 140) /sz:(126, 115) /sn:0 /p:[ Ti0>1 Ti1>1 Ri0>5 Bo0<0 Bo1<0 Bo2<0 ]
PFA_v1 g1 (.A(w20), .B(w24), .C(w33), .S(w0), .P(w10), .G(w9)); //: @(359, 140) /sz:(126, 115) /sn:0 /p:[ Ti0>1 Ti1>1 Ri0>5 Bo0<1 Bo1<0 Bo2<0 ]
led g16 (.I(w33)); //: @(498,147) /sn:0 /w:[ 3 ] /type:0
//: switch g11 (w19) @(229,66) /sn:0 /w:[ 0 ] /st:1
//: switch g10 (w18) @(168,85) /sn:0 /w:[ 0 ] /st:0
led g28 (.I(w4)); //: @(552,322) /sn:0 /w:[ 3 ] /type:0
//: joint g19 (w34) @(324, 196) /w:[ 1 2 4 -1 ]
led g32 (.I(w10)); //: @(388,286) /sn:0 /w:[ 3 ] /type:0
//: joint g27 (w3) @(607, 322) /w:[ 2 1 -1 4 ]
//: joint g6 (w32) @(726, 192) /w:[ 2 -1 4 1 ]
led g38 (.I(w21)); //: @(104,307) /sn:0 /w:[ 3 ] /type:0
//: switch g9 (w14) @(58,27) /sn:0 /w:[ 0 ] /st:0
led g7 (.I(w2)); //: @(-42,378) /sn:0 /w:[ 0 ] /type:0
//: joint g31 (w9) @(401, 336) /w:[ 2 1 -1 4 ]
led g20 (.I(w35)); //: @(150,135) /sn:0 /w:[ 3 ] /type:0
//: switch g15 (w26) @(535,32) /sn:0 /w:[ 0 ] /st:0
//: joint g39 (w21) @(68, 328) /w:[ 2 1 -1 4 ]
//: joint g17 (w33) @(504, 196) /w:[ -1 2 4 1 ]
//: joint g29 (w4) @(512, 327) /w:[ 2 1 -1 4 ]
led g25 (.I(w1)); //: @(639,288) /sn:0 /w:[ 0 ] /type:0
//: switch g14 (w25) @(535,72) /sn:0 /w:[ 0 ] /st:1
//: switch g5 (w32) @(756,146) /sn:0 /w:[ 3 ] /st:1
led g24 (.I(w0)); //: @(439,282) /sn:0 /w:[ 0 ] /type:0
led g36 (.I(w16)); //: @(228,315) /sn:0 /w:[ 3 ] /type:0
//: joint g21 (w35) @(156, 187) /w:[ 1 2 4 -1 ]
led g23 (.I(w17)); //: @(304,283) /sn:0 /w:[ 1 ] /type:0
//: joint g41 (w22) @(23, 295) /w:[ 2 1 -1 4 ]
led g40 (.I(w22)); //: @(49,281) /sn:0 /w:[ 3 ] /type:0
led g26 (.I(w3)); //: @(691,339) /sn:0 /w:[ 3 ] /type:0
//: joint g35 (w15) @(241, 299) /w:[ 2 1 -1 4 ]
led g22 (.I(w23)); //: @(127,278) /sn:0 /w:[ 1 ] /type:0
PFA_v1 g0 (.A(w25), .B(w26), .C(w32), .S(w1), .P(w4), .G(w3)); //: @(553, 138) /sz:(126, 115) /sn:0 /p:[ Ti0>1 Ti1>1 Ri0>5 Bo0<1 Bo1<0 Bo2<0 ]
led g18 (.I(w34)); //: @(323,166) /sn:0 /w:[ 3 ] /type:0
//: switch g12 (w20) @(355,67) /sn:0 /w:[ 0 ] /st:1
led g30 (.I(w9)); //: @(424,332) /sn:0 /w:[ 3 ] /type:0
//: joint g33 (w10) @(370, 306) /w:[ 2 1 -1 4 ]
endmodule
module CLL(C0, P2, P1, G1, G0, P3, G3, C3, G2, C2, C1, C4, P0);
//: interface /sz:(40, 40) /bd:[ ]
input G2; //: /sn:0 {0}(386,5)(342,5)(342,99)(-50,99){1}
//: {2}(-52,97)(-52,-213){3}
//: {4}(-52,101)(-52,237)(240,237){5}
input C0; //: /sn:0 {0}(118,-214)(118,-192){1}
//: {2}(120,-190)(135,-190)(135,-199)(229,-199){3}
//: {4}(118,-188)(118,-138){5}
//: {6}(120,-136)(131,-136)(131,-119)(229,-119){7}
//: {8}(118,-134)(118,-49){9}
//: {10}(120,-47)(134,-47)(134,-40)(239,-40){11}
//: {12}(118,-45)(118,134)(183,134)(183,141)(243,141){13}
input P1; //: /sn:0 {0}(243,151)(7,151)(7,140)(-8,140){1}
//: {2}(-10,138)(-10,2){3}
//: {4}(-8,0)(103,0)(103,10)(236,10){5}
//: {6}(-10,-2)(-10,-28){7}
//: {8}(-8,-30)(239,-30){9}
//: {10}(-10,-32)(-10,-91){11}
//: {12}(-8,-93)(3,-93)(3,-71)(229,-71){13}
//: {14}(-10,-95)(-10,-115){15}
//: {16}(-8,-117)(99,-117)(99,-109)(229,-109){17}
//: {18}(-10,-119)(-10,-214){19}
//: {20}(-10,142)(-10,175)(1,175)(1,185)(240,185){21}
output C3; //: /sn:0 {0}(407,-3)(448,-3){1}
input G0; //: /sn:0 {0}(75,-217)(75,-155){1}
//: {2}(77,-153)(155,-153)(155,-154)(379,-154){3}
//: {4}(75,-151)(75,-78){5}
//: {6}(77,-76)(229,-76){7}
//: {8}(75,-74)(75,3){9}
//: {10}(77,5)(236,5){11}
//: {12}(75,7)(75,180)(240,180){13}
output C4; //: /sn:0 {0}(411,192)(459,192){1}
output C2; //: /sn:0 {0}(402,-101)(441,-101)(441,-100)(451,-100){1}
input P3; //: /sn:0 {0}(240,223)(-112,223)(-112,214)(-121,214){1}
//: {2}(-123,212)(-123,186){3}
//: {4}(-121,184)(-112,184)(-112,195)(240,195){5}
//: {6}(-123,182)(-123,157){7}
//: {8}(-121,155)(-106,155)(-106,161)(243,161){9}
//: {10}(-123,153)(-123,-212){11}
//: {12}(-123,216)(-123,242)(240,242){13}
input G1; //: /sn:0 {0}(381,-96)(231,-96)(231,-90)(27,-90){1}
//: {2}(25,-92)(25,-214){3}
//: {4}(25,-88)(25,27){5}
//: {6}(27,29)(39,29)(39,50)(238,50){7}
//: {8}(25,31)(25,207)(127,207)(127,213)(240,213){9}
input G3; //: /sn:0 {0}(-151,-212)(-151,266)(318,266)(318,202)(390,202){1}
output C1; //: /sn:0 {0}(400,-156)(445,-156){1}
input P0; //: /sn:0 {0}(239,-35)(144,-35)(144,-32)(58,-32){1}
//: {2}(56,-34)(56,-119){3}
//: {4}(58,-121)(69,-121)(69,-114)(229,-114){5}
//: {6}(56,-123)(56,-184){7}
//: {8}(58,-186)(140,-186)(140,-194)(229,-194){9}
//: {10}(56,-188)(56,-217){11}
//: {12}(56,-30)(56,140)(73,140)(73,146)(243,146){13}
input P2; //: /sn:0 {0}(240,190)(-67,190)(-67,177)(-76,177){1}
//: {2}(-78,175)(-78,154)(-80,154)(-80,134){3}
//: {4}(-78,132)(17,132)(17,125)(63,125)(63,156)(243,156){5}
//: {6}(-80,130)(-80,78)(-79,78)(-79,40){7}
//: {8}(-77,38)(-48,38)(-48,55)(238,55){9}
//: {10}(-77,38)(-79,38)(-79,19){11}
//: {12}(-77,17)(-65,17)(-65,15)(236,15){13}
//: {14}(-79,15)(-79,-15){15}
//: {16}(-77,-17)(60,-17)(60,-25)(239,-25){17}
//: {18}(-79,-19)(-79,-212){19}
//: {20}(-78,179)(-78,208)(60,208)(60,218)(240,218){21}
wire w14; //: /sn:0 {0}(257,10)(378,10)(378,-5)(386,-5){1}
wire w20; //: /sn:0 {0}(264,151)(384,151)(384,182)(390,182){1}
wire w23; //: /sn:0 {0}(261,187)(377,187)(377,192)(390,192){1}
wire w8; //: /sn:0 {0}(250,-73)(371,-73)(371,-101)(381,-101){1}
wire w17; //: /sn:0 {0}(259,53)(378,53)(378,0)(386,0){1}
wire w11; //: /sn:0 {0}(260,-33)(379,-33)(379,-10)(386,-10){1}
wire w2; //: /sn:0 {0}(250,-196)(335,-196)(335,-159)(379,-159){1}
wire w5; //: /sn:0 {0}(250,-114)(372,-114)(372,-106)(381,-106){1}
wire w29; //: /sn:0 {0}(261,240)(380,240)(380,197)(390,197){1}
wire w26; //: /sn:0 {0}(261,218)(360,218)(360,187)(390,187){1}
//: enddecls
//: input g8 (C0) @(118,-216) /sn:0 /R:3 /w:[ 0 ]
//: input g4 (P2) @(-79,-214) /sn:0 /R:3 /w:[ 19 ]
//: input g3 (P1) @(-10,-216) /sn:0 /R:3 /w:[ 19 ]
//: joint g34 (P1) @(-10, -93) /w:[ 12 14 -1 11 ]
//: joint g37 (P0) @(56, -32) /w:[ 1 2 -1 12 ]
and g13 (.I0(G0), .I1(P1), .I2(P2), .Z(w14)); //: @(247,10) /sn:0 /w:[ 11 5 13 0 ]
//: input g2 (G1) @(25,-216) /sn:0 /R:3 /w:[ 3 ]
//: input g1 (G0) @(75,-219) /sn:0 /R:3 /w:[ 0 ]
and g16 (.I0(G0), .I1(P1), .I2(P2), .I3(P3), .Z(w23)); //: @(251,187) /sn:0 /w:[ 13 21 0 5 0 ]
and g11 (.I0(G0), .I1(P1), .Z(w8)); //: @(240,-73) /sn:0 /w:[ 7 13 0 ]
and g10 (.I0(C0), .I1(P0), .I2(P1), .Z(w5)); //: @(240,-114) /sn:0 /w:[ 7 5 17 0 ]
//: joint g50 (P3) @(-123, 155) /w:[ 8 10 -1 7 ]
//: joint g28 (P0) @(56, -186) /w:[ 8 10 -1 7 ]
or g19 (.I0(w2), .I1(G0), .Z(C1)); //: @(390,-156) /sn:0 /w:[ 1 3 0 ]
//: joint g32 (P1) @(-10, -117) /w:[ 16 18 -1 15 ]
//: joint g27 (C0) @(118, -190) /w:[ 2 1 -1 4 ]
//: input g6 (P3) @(-123,-214) /sn:0 /R:3 /w:[ 11 ]
//: joint g38 (P1) @(-10, -30) /w:[ 8 10 -1 7 ]
and g9 (.I0(C0), .I1(P0), .Z(w2)); //: @(240,-196) /sn:0 /w:[ 3 9 0 ]
//: input g7 (G3) @(-151,-214) /sn:0 /R:3 /w:[ 0 ]
//: joint g57 (P3) @(-123, 214) /w:[ 1 2 -1 12 ]
//: joint g53 (P2) @(-78, 177) /w:[ 1 2 -1 20 ]
//: joint g31 (P0) @(56, -121) /w:[ 4 6 -1 3 ]
or g20 (.I0(w5), .I1(w8), .I2(G1), .Z(C2)); //: @(392,-101) /sn:0 /w:[ 1 1 0 0 ]
and g15 (.I0(C0), .I1(P0), .I2(P1), .I3(P2), .I4(P3), .Z(w20)); //: @(254,151) /sn:0 /w:[ 13 13 0 5 9 0 ]
//: joint g39 (P2) @(-79, -17) /w:[ 16 18 -1 15 ]
//: joint g43 (G1) @(25, 29) /w:[ 6 5 -1 8 ]
//: joint g48 (P1) @(-10, 140) /w:[ 1 2 -1 20 ]
and g17 (.I0(G1), .I1(P2), .I2(P3), .Z(w26)); //: @(251,218) /sn:0 /w:[ 9 21 0 0 ]
//: joint g29 (G0) @(75, -153) /w:[ 2 1 -1 4 ]
//: output g25 (C3) @(445,-3) /sn:0 /w:[ 1 ]
//: joint g42 (P2) @(-79, 17) /w:[ 12 14 -1 11 ]
and g14 (.I0(G1), .I1(P2), .Z(w17)); //: @(249,53) /sn:0 /w:[ 7 9 0 ]
//: input g5 (G2) @(-52,-215) /sn:0 /R:3 /w:[ 3 ]
//: joint g44 (P2) @(-79, 38) /w:[ 8 -1 10 7 ]
//: output g24 (C2) @(448,-100) /sn:0 /w:[ 1 ]
//: joint g36 (C0) @(118, -47) /w:[ 10 9 -1 12 ]
or g21 (.I0(w11), .I1(w14), .I2(w17), .I3(G2), .Z(C3)); //: @(397,-3) /sn:0 /w:[ 1 1 1 0 0 ]
//: output g23 (C1) @(442,-156) /sn:0 /w:[ 1 ]
//: joint g41 (P1) @(-10, 0) /w:[ 4 6 -1 3 ]
//: joint g54 (P3) @(-123, 184) /w:[ 4 6 -1 3 ]
//: joint g40 (G0) @(75, 5) /w:[ 10 9 -1 12 ]
//: output g26 (C4) @(456,192) /sn:0 /w:[ 1 ]
//: joint g35 (G1) @(25, -90) /w:[ 1 2 -1 4 ]
or g22 (.I0(w20), .I1(w26), .I2(w23), .I3(w29), .I4(G3), .Z(C4)); //: @(401,192) /sn:0 /w:[ 1 1 1 1 1 0 ]
//: joint g45 (G2) @(-52, 99) /w:[ 1 2 -1 4 ]
//: input g0 (P0) @(56,-219) /sn:0 /R:3 /w:[ 11 ]
and g18 (.I0(G2), .I1(P3), .Z(w29)); //: @(251,240) /sn:0 /w:[ 5 13 0 ]
and g12 (.I0(C0), .I1(P0), .I2(P1), .I3(P2), .Z(w11)); //: @(250,-33) /sn:0 /w:[ 11 0 9 17 0 ]
//: joint g30 (C0) @(118, -136) /w:[ 6 5 -1 8 ]
//: joint g33 (G0) @(75, -76) /w:[ 6 5 -1 8 ]
//: joint g49 (P2) @(-80, 132) /w:[ 4 6 -1 3 ]
endmodule
module CLA(A, S, C0, C4, B);
//: interface /sz:(40, 40) /bd:[ ]
input [3:0] B; //: /sn:0 {0}(40,86)(137,86){1}
//: {2}(138,86)(301,86){3}
//: {4}(302,86)(459,86){5}
//: {6}(460,86)(621,86){7}
//: {8}(622,86)(726,86){9}
input C0; //: /sn:0 {0}(30,251)(40,251){1}
//: {2}(44,251)(52,251)(52,215)(87,215){3}
//: {4}(42,253)(42,372)(68,372){5}
input [3:0] A; //: /sn:0 {0}(42,61)(101,61){1}
//: {2}(102,61)(138,61)(138,61)(265,61){3}
//: {4}(266,61)(423,61){5}
//: {6}(424,61)(585,61){7}
//: {8}(586,61)(732,61){9}
output C4; //: /sn:0 {0}(739,372)(692,372){1}
output [3:0] S; //: /sn:0 {0}(760,529)(739,529){1}
wire w6; //: /sn:0 {0}(302,170)(302,90){1}
wire w7; //: /sn:0 {0}(266,170)(266,65){1}
wire w16; //: /sn:0 {0}(511,244)(530,244)(530,322)(488,322)(488,351){1}
wire w4; //: /sn:0 {0}(112,267)(112,309)(113,309)(113,351){1}
wire w15; //: /sn:0 {0}(433,269)(433,337)(441,337)(441,351){1}
wire w19; //: /sn:0 {0}(586,173)(586,65){1}
wire w0; //: /sn:0 {0}(138,168)(138,90){1}
wire w3; //: /sn:0 {0}(733,534)(381,534)(381,203)(353,203){1}
wire w34; //: /sn:0 {0}(556,351)(556,220)(571,220){1}
wire w21; //: /sn:0 {0}(595,272)(595,339)(596,339)(596,351){1}
wire w31; //: /sn:0 {0}(392,351)(392,217)(409,217){1}
wire w28; //: /sn:0 {0}(236,351)(236,217)(251,217){1}
wire w20; //: /sn:0 {0}(673,241)(690,241)(690,321)(645,321)(645,351){1}
wire w1; //: /sn:0 {0}(102,168)(102,65){1}
wire w8; //: /sn:0 {0}(733,524)(541,524)(541,218)(511,218){1}
wire w18; //: /sn:0 {0}(622,173)(622,90){1}
wire w2; //: /sn:0 {0}(733,544)(212,544)(212,201)(189,201){1}
wire w11; //: /sn:0 {0}(189,236)(202,236)(202,326)(160,326)(160,351){1}
wire w12; //: /sn:0 {0}(460,170)(460,90){1}
wire w10; //: /sn:0 {0}(733,514)(705,514)(705,206)(673,206){1}
wire w13; //: /sn:0 {0}(424,170)(424,65){1}
wire w5; //: /sn:0 {0}(353,238)(371,238)(371,326)(345,326)(345,351){1}
wire w9; //: /sn:0 {0}(278,269)(278,335)(284,335)(284,351){1}
//: enddecls
tran g8(.Z(w7), .I(A[1])); //: @(266,59) /sn:0 /R:1 /w:[ 1 3 4 ] /ss:1
//: input g4 (A) @(40,61) /sn:0 /w:[ 0 ]
PFA g3 (.A(w19), .B(w18), .Ci(w34), .Gi(w21), .S(w10), .Pi(w20)); //: @(572, 174) /sz:(100, 97) /sn:0 /p:[ Ti0>0 Ti1>0 Li0>1 Bo0<0 Ro0<1 Ro1<0 ]
tran g13(.Z(w18), .I(B[3])); //: @(622,84) /sn:0 /R:1 /w:[ 1 7 8 ] /ss:1
PFA g2 (.A(w13), .B(w12), .Ci(w31), .Gi(w15), .S(w8), .Pi(w16)); //: @(410, 171) /sz:(100, 97) /sn:0 /p:[ Ti0>0 Ti1>0 Li0>1 Bo0<0 Ro0<1 Ro1<0 ]
PFA g1 (.A(w7), .B(w6), .Ci(w28), .Gi(w9), .S(w3), .Pi(w5)); //: @(252, 171) /sz:(100, 97) /sn:0 /p:[ Ti0>0 Ti1>0 Li0>1 Bo0<0 Ro0<1 Ro1<0 ]
//: joint g16 (C0) @(42, 251) /w:[ 2 -1 1 4 ]
tran g11(.Z(w12), .I(B[2])); //: @(460,84) /sn:0 /R:1 /w:[ 1 5 6 ] /ss:1
tran g10(.Z(w13), .I(A[2])); //: @(424,59) /sn:0 /R:1 /w:[ 1 5 6 ] /ss:1
//: output g19 (S) @(757,529) /sn:0 /w:[ 0 ]
tran g6(.Z(w1), .I(A[0])); //: @(102,59) /sn:0 /R:1 /w:[ 1 1 2 ] /ss:1
tran g7(.Z(w0), .I(B[0])); //: @(138,84) /sn:0 /R:1 /w:[ 1 1 2 ] /ss:1
tran g9(.Z(w6), .I(B[1])); //: @(302,84) /sn:0 /R:1 /w:[ 1 3 4 ] /ss:1
//: input g15 (C0) @(28,251) /sn:0 /w:[ 0 ]
//: output g17 (C4) @(736,372) /sn:0 /w:[ 0 ]
CLL g14 (.P3(w20), .G3(w21), .P2(w16), .G2(w15), .P1(w5), .G1(w9), .P0(w11), .G0(w4), .C0(C0), .C3(w34), .C2(w31), .C1(w28), .C4(C4)); //: @(69, 352) /sz:(622, 43) /sn:0 /p:[ Ti0>1 Ti1>1 Ti2>1 Ti3>1 Ti4>1 Ti5>1 Ti6>1 Ti7>1 Li0>5 To0<0 To1<0 To2<0 Ro0<1 ]
//: input g5 (B) @(38,86) /sn:0 /w:[ 0 ]
PFA g0 (.A(w1), .B(w0), .Ci(C0), .Gi(w4), .S(w2), .Pi(w11)); //: @(88, 169) /sz:(100, 97) /sn:0 /p:[ Ti0>0 Ti1>0 Li0>3 Bo0<0 Ro0<1 Ro1<0 ]
concat g18 (.I0(w2), .I1(w3), .I2(w8), .I3(w10), .Z(S)); //: @(738,529) /sn:0 /w:[ 0 0 0 0 1 ] /dr:0
tran g12(.Z(w19), .I(A[3])); //: @(586,59) /sn:0 /R:1 /w:[ 1 7 8 ] /ss:1
endmodule