blob: c1faec310cef3db25029e5755278947c50ea204a [file] [log] [blame]
Andrew Attwood1d1e8c32021-11-26 15:05:07 +00001// SPDX-FileCopyrightText:
2// 2021 Nguyen Dao
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16// SPDX-License-Identifier: Apache-2.0
nguyendao-uom4b10c632021-11-25 11:23:15 +000017module RegFile (N1BEG, N2BEG, N2BEGb, N4BEG, NN4BEG, N1END, N2MID, N2END, N4END, NN4END, E1BEG, E2BEG, E2BEGb, EE4BEG, E6BEG, E1END, E2MID, E2END, EE4END, E6END, S1BEG, S2BEG, S2BEGb, S4BEG, SS4BEG, S1END, S2MID, S2END, S4END, SS4END, W1BEG, W2BEG, W2BEGb, WW4BEG, W6BEG, W1END, W2MID, W2END, WW4END, W6END, UserCLK, UserCLKo, FrameData, FrameData_O, FrameStrobe, FrameStrobe_O);
18 parameter MaxFramesPerCol = 20;
19 parameter FrameBitsPerRow = 32;
20 parameter NoConfigBits = 414;
21 // NORTH
22 output [3:0] N1BEG; //wires:4 X_offset:0 Y_offset:1 source_name:N1BEG destination_name:N1END
23 output [7:0] N2BEG; //wires:8 X_offset:0 Y_offset:1 source_name:N2BEG destination_name:N2MID
24 output [7:0] N2BEGb; //wires:8 X_offset:0 Y_offset:1 source_name:N2BEGb destination_name:N2END
25 output [15:0] N4BEG; //wires:4 X_offset:0 Y_offset:4 source_name:N4BEG destination_name:N4END
26 output [15:0] NN4BEG; //wires:4 X_offset:0 Y_offset:4 source_name:NN4BEG destination_name:NN4END
27 input [3:0] N1END; //wires:4 X_offset:0 Y_offset:1 source_name:N1BEG destination_name:N1END
28 input [7:0] N2MID; //wires:8 X_offset:0 Y_offset:1 source_name:N2BEG destination_name:N2MID
29 input [7:0] N2END; //wires:8 X_offset:0 Y_offset:1 source_name:N2BEGb destination_name:N2END
30 input [15:0] N4END; //wires:4 X_offset:0 Y_offset:4 source_name:N4BEG destination_name:N4END
31 input [15:0] NN4END; //wires:4 X_offset:0 Y_offset:4 source_name:NN4BEG destination_name:NN4END
32 // EAST
33 output [3:0] E1BEG; //wires:4 X_offset:1 Y_offset:0 source_name:E1BEG destination_name:E1END
34 output [7:0] E2BEG; //wires:8 X_offset:1 Y_offset:0 source_name:E2BEG destination_name:E2MID
35 output [7:0] E2BEGb; //wires:8 X_offset:1 Y_offset:0 source_name:E2BEGb destination_name:E2END
36 output [15:0] EE4BEG; //wires:4 X_offset:4 Y_offset:0 source_name:EE4BEG destination_name:EE4END
37 output [11:0] E6BEG; //wires:2 X_offset:6 Y_offset:0 source_name:E6BEG destination_name:E6END
38 input [3:0] E1END; //wires:4 X_offset:1 Y_offset:0 source_name:E1BEG destination_name:E1END
39 input [7:0] E2MID; //wires:8 X_offset:1 Y_offset:0 source_name:E2BEG destination_name:E2MID
40 input [7:0] E2END; //wires:8 X_offset:1 Y_offset:0 source_name:E2BEGb destination_name:E2END
41 input [15:0] EE4END; //wires:4 X_offset:4 Y_offset:0 source_name:EE4BEG destination_name:EE4END
42 input [11:0] E6END; //wires:2 X_offset:6 Y_offset:0 source_name:E6BEG destination_name:E6END
43 // SOUTH
44 output [3:0] S1BEG; //wires:4 X_offset:0 Y_offset:-1 source_name:S1BEG destination_name:S1END
45 output [7:0] S2BEG; //wires:8 X_offset:0 Y_offset:-1 source_name:S2BEG destination_name:S2MID
46 output [7:0] S2BEGb; //wires:8 X_offset:0 Y_offset:-1 source_name:S2BEGb destination_name:S2END
47 output [15:0] S4BEG; //wires:4 X_offset:0 Y_offset:-4 source_name:S4BEG destination_name:S4END
48 output [15:0] SS4BEG; //wires:4 X_offset:0 Y_offset:-4 source_name:SS4BEG destination_name:SS4END
49 input [3:0] S1END; //wires:4 X_offset:0 Y_offset:-1 source_name:S1BEG destination_name:S1END
50 input [7:0] S2MID; //wires:8 X_offset:0 Y_offset:-1 source_name:S2BEG destination_name:S2MID
51 input [7:0] S2END; //wires:8 X_offset:0 Y_offset:-1 source_name:S2BEGb destination_name:S2END
52 input [15:0] S4END; //wires:4 X_offset:0 Y_offset:-4 source_name:S4BEG destination_name:S4END
53 input [15:0] SS4END; //wires:4 X_offset:0 Y_offset:-4 source_name:SS4BEG destination_name:SS4END
54 // WEST
55 output [3:0] W1BEG; //wires:4 X_offset:-1 Y_offset:0 source_name:W1BEG destination_name:W1END
56 output [7:0] W2BEG; //wires:8 X_offset:-1 Y_offset:0 source_name:W2BEG destination_name:W2MID
57 output [7:0] W2BEGb; //wires:8 X_offset:-1 Y_offset:0 source_name:W2BEGb destination_name:W2END
58 output [15:0] WW4BEG; //wires:4 X_offset:-4 Y_offset:0 source_name:WW4BEG destination_name:WW4END
59 output [11:0] W6BEG; //wires:2 X_offset:-6 Y_offset:0 source_name:W6BEG destination_name:W6END
60 input [3:0] W1END; //wires:4 X_offset:-1 Y_offset:0 source_name:W1BEG destination_name:W1END
61 input [7:0] W2MID; //wires:8 X_offset:-1 Y_offset:0 source_name:W2BEG destination_name:W2MID
62 input [7:0] W2END; //wires:8 X_offset:-1 Y_offset:0 source_name:W2BEGb destination_name:W2END
63 input [15:0] WW4END; //wires:4 X_offset:-4 Y_offset:0 source_name:WW4BEG destination_name:WW4END
64 input [11:0] W6END; //wires:2 X_offset:-6 Y_offset:0 source_name:W6BEG destination_name:W6END
65 // Tile IO ports from BELs
66 input UserCLK;
67 output UserCLKo;
68 input [FrameBitsPerRow-1:0] FrameData; //CONFIG_PORT this is a keyword needed to connect the tile to the bitstream frame register
69 output [FrameBitsPerRow-1:0] FrameData_O;
70 input [MaxFramesPerCol-1:0] FrameStrobe; //CONFIG_PORT this is a keyword needed to connect the tile to the bitstream frame register
71 output [MaxFramesPerCol-1:0] FrameStrobe_O;
72 //global
73
74
75//signal declarations
76//BEL ports (e.g., slices)
77 wire D0;
78 wire D1;
79 wire D2;
80 wire D3;
81 wire W_ADR0;
82 wire W_ADR1;
83 wire W_ADR2;
84 wire W_ADR3;
85 wire W_ADR4;
86 wire W_en;
87 wire A_ADR0;
88 wire A_ADR1;
89 wire A_ADR2;
90 wire A_ADR3;
91 wire A_ADR4;
92 wire B_ADR0;
93 wire B_ADR1;
94 wire B_ADR2;
95 wire B_ADR3;
96 wire B_ADR4;
97 wire AD0;
98 wire AD1;
99 wire AD2;
100 wire AD3;
101 wire BD0;
102 wire BD1;
103 wire BD2;
104 wire BD3;
105//jump wires
106 wire [4-1:0] J2MID_ABa_BEG;
107 wire [4-1:0] J2MID_CDa_BEG;
108 wire [4-1:0] J2MID_EFa_BEG;
109 wire [4-1:0] J2MID_GHa_BEG;
110 wire [4-1:0] J2MID_ABb_BEG;
111 wire [4-1:0] J2MID_CDb_BEG;
112 wire [4-1:0] J2MID_EFb_BEG;
113 wire [4-1:0] J2MID_GHb_BEG;
114 wire [4-1:0] J2END_AB_BEG;
115 wire [4-1:0] J2END_CD_BEG;
116 wire [4-1:0] J2END_EF_BEG;
117 wire [4-1:0] J2END_GH_BEG;
118 wire [8-1:0] JN2BEG;
119 wire [8-1:0] JE2BEG;
120 wire [8-1:0] JS2BEG;
121 wire [8-1:0] JW2BEG;
122 wire [4-1:0] J_l_AB_BEG;
123 wire [4-1:0] J_l_CD_BEG;
124 wire [4-1:0] J_l_EF_BEG;
125 wire [4-1:0] J_l_GH_BEG;
126//internal configuration data signal to daisy-chain all BELs (if any and in the order they are listed in the fabric.csv)
127 wire [NoConfigBits-1:0] ConfigBits;
128 wire [NoConfigBits-1:0] ConfigBits_N;
129
130// Cascading of routing for wires spanning more than one tile
131 wire [FrameBitsPerRow-1:0] FrameData_i;
132 wire [FrameBitsPerRow-1:0] FrameData_O_i;
133 assign FrameData_O_i = FrameData_i;
134
135 my_buf data_inbuf_0 (
136 .A(FrameData[0]),
137 .X(FrameData_i[0])
138 );
139
140 my_buf data_inbuf_1 (
141 .A(FrameData[1]),
142 .X(FrameData_i[1])
143 );
144
145 my_buf data_inbuf_2 (
146 .A(FrameData[2]),
147 .X(FrameData_i[2])
148 );
149
150 my_buf data_inbuf_3 (
151 .A(FrameData[3]),
152 .X(FrameData_i[3])
153 );
154
155 my_buf data_inbuf_4 (
156 .A(FrameData[4]),
157 .X(FrameData_i[4])
158 );
159
160 my_buf data_inbuf_5 (
161 .A(FrameData[5]),
162 .X(FrameData_i[5])
163 );
164
165 my_buf data_inbuf_6 (
166 .A(FrameData[6]),
167 .X(FrameData_i[6])
168 );
169
170 my_buf data_inbuf_7 (
171 .A(FrameData[7]),
172 .X(FrameData_i[7])
173 );
174
175 my_buf data_inbuf_8 (
176 .A(FrameData[8]),
177 .X(FrameData_i[8])
178 );
179
180 my_buf data_inbuf_9 (
181 .A(FrameData[9]),
182 .X(FrameData_i[9])
183 );
184
185 my_buf data_inbuf_10 (
186 .A(FrameData[10]),
187 .X(FrameData_i[10])
188 );
189
190 my_buf data_inbuf_11 (
191 .A(FrameData[11]),
192 .X(FrameData_i[11])
193 );
194
195 my_buf data_inbuf_12 (
196 .A(FrameData[12]),
197 .X(FrameData_i[12])
198 );
199
200 my_buf data_inbuf_13 (
201 .A(FrameData[13]),
202 .X(FrameData_i[13])
203 );
204
205 my_buf data_inbuf_14 (
206 .A(FrameData[14]),
207 .X(FrameData_i[14])
208 );
209
210 my_buf data_inbuf_15 (
211 .A(FrameData[15]),
212 .X(FrameData_i[15])
213 );
214
215 my_buf data_inbuf_16 (
216 .A(FrameData[16]),
217 .X(FrameData_i[16])
218 );
219
220 my_buf data_inbuf_17 (
221 .A(FrameData[17]),
222 .X(FrameData_i[17])
223 );
224
225 my_buf data_inbuf_18 (
226 .A(FrameData[18]),
227 .X(FrameData_i[18])
228 );
229
230 my_buf data_inbuf_19 (
231 .A(FrameData[19]),
232 .X(FrameData_i[19])
233 );
234
235 my_buf data_inbuf_20 (
236 .A(FrameData[20]),
237 .X(FrameData_i[20])
238 );
239
240 my_buf data_inbuf_21 (
241 .A(FrameData[21]),
242 .X(FrameData_i[21])
243 );
244
245 my_buf data_inbuf_22 (
246 .A(FrameData[22]),
247 .X(FrameData_i[22])
248 );
249
250 my_buf data_inbuf_23 (
251 .A(FrameData[23]),
252 .X(FrameData_i[23])
253 );
254
255 my_buf data_inbuf_24 (
256 .A(FrameData[24]),
257 .X(FrameData_i[24])
258 );
259
260 my_buf data_inbuf_25 (
261 .A(FrameData[25]),
262 .X(FrameData_i[25])
263 );
264
265 my_buf data_inbuf_26 (
266 .A(FrameData[26]),
267 .X(FrameData_i[26])
268 );
269
270 my_buf data_inbuf_27 (
271 .A(FrameData[27]),
272 .X(FrameData_i[27])
273 );
274
275 my_buf data_inbuf_28 (
276 .A(FrameData[28]),
277 .X(FrameData_i[28])
278 );
279
280 my_buf data_inbuf_29 (
281 .A(FrameData[29]),
282 .X(FrameData_i[29])
283 );
284
285 my_buf data_inbuf_30 (
286 .A(FrameData[30]),
287 .X(FrameData_i[30])
288 );
289
290 my_buf data_inbuf_31 (
291 .A(FrameData[31]),
292 .X(FrameData_i[31])
293 );
294
295 my_buf data_outbuf_0 (
296 .A(FrameData_O_i[0]),
297 .X(FrameData_O[0])
298 );
299
300 my_buf data_outbuf_1 (
301 .A(FrameData_O_i[1]),
302 .X(FrameData_O[1])
303 );
304
305 my_buf data_outbuf_2 (
306 .A(FrameData_O_i[2]),
307 .X(FrameData_O[2])
308 );
309
310 my_buf data_outbuf_3 (
311 .A(FrameData_O_i[3]),
312 .X(FrameData_O[3])
313 );
314
315 my_buf data_outbuf_4 (
316 .A(FrameData_O_i[4]),
317 .X(FrameData_O[4])
318 );
319
320 my_buf data_outbuf_5 (
321 .A(FrameData_O_i[5]),
322 .X(FrameData_O[5])
323 );
324
325 my_buf data_outbuf_6 (
326 .A(FrameData_O_i[6]),
327 .X(FrameData_O[6])
328 );
329
330 my_buf data_outbuf_7 (
331 .A(FrameData_O_i[7]),
332 .X(FrameData_O[7])
333 );
334
335 my_buf data_outbuf_8 (
336 .A(FrameData_O_i[8]),
337 .X(FrameData_O[8])
338 );
339
340 my_buf data_outbuf_9 (
341 .A(FrameData_O_i[9]),
342 .X(FrameData_O[9])
343 );
344
345 my_buf data_outbuf_10 (
346 .A(FrameData_O_i[10]),
347 .X(FrameData_O[10])
348 );
349
350 my_buf data_outbuf_11 (
351 .A(FrameData_O_i[11]),
352 .X(FrameData_O[11])
353 );
354
355 my_buf data_outbuf_12 (
356 .A(FrameData_O_i[12]),
357 .X(FrameData_O[12])
358 );
359
360 my_buf data_outbuf_13 (
361 .A(FrameData_O_i[13]),
362 .X(FrameData_O[13])
363 );
364
365 my_buf data_outbuf_14 (
366 .A(FrameData_O_i[14]),
367 .X(FrameData_O[14])
368 );
369
370 my_buf data_outbuf_15 (
371 .A(FrameData_O_i[15]),
372 .X(FrameData_O[15])
373 );
374
375 my_buf data_outbuf_16 (
376 .A(FrameData_O_i[16]),
377 .X(FrameData_O[16])
378 );
379
380 my_buf data_outbuf_17 (
381 .A(FrameData_O_i[17]),
382 .X(FrameData_O[17])
383 );
384
385 my_buf data_outbuf_18 (
386 .A(FrameData_O_i[18]),
387 .X(FrameData_O[18])
388 );
389
390 my_buf data_outbuf_19 (
391 .A(FrameData_O_i[19]),
392 .X(FrameData_O[19])
393 );
394
395 my_buf data_outbuf_20 (
396 .A(FrameData_O_i[20]),
397 .X(FrameData_O[20])
398 );
399
400 my_buf data_outbuf_21 (
401 .A(FrameData_O_i[21]),
402 .X(FrameData_O[21])
403 );
404
405 my_buf data_outbuf_22 (
406 .A(FrameData_O_i[22]),
407 .X(FrameData_O[22])
408 );
409
410 my_buf data_outbuf_23 (
411 .A(FrameData_O_i[23]),
412 .X(FrameData_O[23])
413 );
414
415 my_buf data_outbuf_24 (
416 .A(FrameData_O_i[24]),
417 .X(FrameData_O[24])
418 );
419
420 my_buf data_outbuf_25 (
421 .A(FrameData_O_i[25]),
422 .X(FrameData_O[25])
423 );
424
425 my_buf data_outbuf_26 (
426 .A(FrameData_O_i[26]),
427 .X(FrameData_O[26])
428 );
429
430 my_buf data_outbuf_27 (
431 .A(FrameData_O_i[27]),
432 .X(FrameData_O[27])
433 );
434
435 my_buf data_outbuf_28 (
436 .A(FrameData_O_i[28]),
437 .X(FrameData_O[28])
438 );
439
440 my_buf data_outbuf_29 (
441 .A(FrameData_O_i[29]),
442 .X(FrameData_O[29])
443 );
444
445 my_buf data_outbuf_30 (
446 .A(FrameData_O_i[30]),
447 .X(FrameData_O[30])
448 );
449
450 my_buf data_outbuf_31 (
451 .A(FrameData_O_i[31]),
452 .X(FrameData_O[31])
453 );
454
455 wire [MaxFramesPerCol-1:0] FrameStrobe_i;
456 wire [MaxFramesPerCol-1:0] FrameStrobe_O_i;
457 assign FrameStrobe_O_i = FrameStrobe_i;
458
459 my_buf strobe_inbuf_0 (
460 .A(FrameStrobe[0]),
461 .X(FrameStrobe_i[0])
462 )
463;
464 my_buf strobe_inbuf_1 (
465 .A(FrameStrobe[1]),
466 .X(FrameStrobe_i[1])
467 )
468;
469 my_buf strobe_inbuf_2 (
470 .A(FrameStrobe[2]),
471 .X(FrameStrobe_i[2])
472 )
473;
474 my_buf strobe_inbuf_3 (
475 .A(FrameStrobe[3]),
476 .X(FrameStrobe_i[3])
477 )
478;
479 my_buf strobe_inbuf_4 (
480 .A(FrameStrobe[4]),
481 .X(FrameStrobe_i[4])
482 )
483;
484 my_buf strobe_inbuf_5 (
485 .A(FrameStrobe[5]),
486 .X(FrameStrobe_i[5])
487 )
488;
489 my_buf strobe_inbuf_6 (
490 .A(FrameStrobe[6]),
491 .X(FrameStrobe_i[6])
492 )
493;
494 my_buf strobe_inbuf_7 (
495 .A(FrameStrobe[7]),
496 .X(FrameStrobe_i[7])
497 )
498;
499 my_buf strobe_inbuf_8 (
500 .A(FrameStrobe[8]),
501 .X(FrameStrobe_i[8])
502 )
503;
504 my_buf strobe_inbuf_9 (
505 .A(FrameStrobe[9]),
506 .X(FrameStrobe_i[9])
507 )
508;
509 my_buf strobe_inbuf_10 (
510 .A(FrameStrobe[10]),
511 .X(FrameStrobe_i[10])
512 )
513;
514 my_buf strobe_inbuf_11 (
515 .A(FrameStrobe[11]),
516 .X(FrameStrobe_i[11])
517 )
518;
519 my_buf strobe_inbuf_12 (
520 .A(FrameStrobe[12]),
521 .X(FrameStrobe_i[12])
522 )
523;
524 my_buf strobe_inbuf_13 (
525 .A(FrameStrobe[13]),
526 .X(FrameStrobe_i[13])
527 )
528;
529 my_buf strobe_inbuf_14 (
530 .A(FrameStrobe[14]),
531 .X(FrameStrobe_i[14])
532 )
533;
534 my_buf strobe_inbuf_15 (
535 .A(FrameStrobe[15]),
536 .X(FrameStrobe_i[15])
537 )
538;
539 my_buf strobe_inbuf_16 (
540 .A(FrameStrobe[16]),
541 .X(FrameStrobe_i[16])
542 )
543;
544 my_buf strobe_inbuf_17 (
545 .A(FrameStrobe[17]),
546 .X(FrameStrobe_i[17])
547 )
548;
549 my_buf strobe_inbuf_18 (
550 .A(FrameStrobe[18]),
551 .X(FrameStrobe_i[18])
552 )
553;
554 my_buf strobe_inbuf_19 (
555 .A(FrameStrobe[19]),
556 .X(FrameStrobe_i[19])
557 )
558;
559 my_buf strobe_outbuf_0 (
560 .A(FrameStrobe_O_i[0]),
561 .X(FrameStrobe_O[0])
562 )
563;
564 my_buf strobe_outbuf_1 (
565 .A(FrameStrobe_O_i[1]),
566 .X(FrameStrobe_O[1])
567 )
568;
569 my_buf strobe_outbuf_2 (
570 .A(FrameStrobe_O_i[2]),
571 .X(FrameStrobe_O[2])
572 )
573;
574 my_buf strobe_outbuf_3 (
575 .A(FrameStrobe_O_i[3]),
576 .X(FrameStrobe_O[3])
577 )
578;
579 my_buf strobe_outbuf_4 (
580 .A(FrameStrobe_O_i[4]),
581 .X(FrameStrobe_O[4])
582 )
583;
584 my_buf strobe_outbuf_5 (
585 .A(FrameStrobe_O_i[5]),
586 .X(FrameStrobe_O[5])
587 )
588;
589 my_buf strobe_outbuf_6 (
590 .A(FrameStrobe_O_i[6]),
591 .X(FrameStrobe_O[6])
592 )
593;
594 my_buf strobe_outbuf_7 (
595 .A(FrameStrobe_O_i[7]),
596 .X(FrameStrobe_O[7])
597 )
598;
599 my_buf strobe_outbuf_8 (
600 .A(FrameStrobe_O_i[8]),
601 .X(FrameStrobe_O[8])
602 )
603;
604 my_buf strobe_outbuf_9 (
605 .A(FrameStrobe_O_i[9]),
606 .X(FrameStrobe_O[9])
607 )
608;
609 my_buf strobe_outbuf_10 (
610 .A(FrameStrobe_O_i[10]),
611 .X(FrameStrobe_O[10])
612 )
613;
614 my_buf strobe_outbuf_11 (
615 .A(FrameStrobe_O_i[11]),
616 .X(FrameStrobe_O[11])
617 )
618;
619 my_buf strobe_outbuf_12 (
620 .A(FrameStrobe_O_i[12]),
621 .X(FrameStrobe_O[12])
622 )
623;
624 my_buf strobe_outbuf_13 (
625 .A(FrameStrobe_O_i[13]),
626 .X(FrameStrobe_O[13])
627 )
628;
629 my_buf strobe_outbuf_14 (
630 .A(FrameStrobe_O_i[14]),
631 .X(FrameStrobe_O[14])
632 )
633;
634 my_buf strobe_outbuf_15 (
635 .A(FrameStrobe_O_i[15]),
636 .X(FrameStrobe_O[15])
637 )
638;
639 my_buf strobe_outbuf_16 (
640 .A(FrameStrobe_O_i[16]),
641 .X(FrameStrobe_O[16])
642 )
643;
644 my_buf strobe_outbuf_17 (
645 .A(FrameStrobe_O_i[17]),
646 .X(FrameStrobe_O[17])
647 )
648;
649 my_buf strobe_outbuf_18 (
650 .A(FrameStrobe_O_i[18]),
651 .X(FrameStrobe_O[18])
652 )
653;
654 my_buf strobe_outbuf_19 (
655 .A(FrameStrobe_O_i[19]),
656 .X(FrameStrobe_O[19])
657 )
658;
659 wire [15:0] N4END_i;
660 wire [11:0] N4BEG_i;
661 assign N4BEG_i[15-4:0] = N4END_i[15:4];
662
663 my_buf N4END_inbuf_0 (
664 .A(N4END[4]),
665 .X(N4END_i[4])
666 );
667
668 my_buf N4END_inbuf_1 (
669 .A(N4END[5]),
670 .X(N4END_i[5])
671 );
672
673 my_buf N4END_inbuf_2 (
674 .A(N4END[6]),
675 .X(N4END_i[6])
676 );
677
678 my_buf N4END_inbuf_3 (
679 .A(N4END[7]),
680 .X(N4END_i[7])
681 );
682
683 my_buf N4END_inbuf_4 (
684 .A(N4END[8]),
685 .X(N4END_i[8])
686 );
687
688 my_buf N4END_inbuf_5 (
689 .A(N4END[9]),
690 .X(N4END_i[9])
691 );
692
693 my_buf N4END_inbuf_6 (
694 .A(N4END[10]),
695 .X(N4END_i[10])
696 );
697
698 my_buf N4END_inbuf_7 (
699 .A(N4END[11]),
700 .X(N4END_i[11])
701 );
702
703 my_buf N4END_inbuf_8 (
704 .A(N4END[12]),
705 .X(N4END_i[12])
706 );
707
708 my_buf N4END_inbuf_9 (
709 .A(N4END[13]),
710 .X(N4END_i[13])
711 );
712
713 my_buf N4END_inbuf_10 (
714 .A(N4END[14]),
715 .X(N4END_i[14])
716 );
717
718 my_buf N4END_inbuf_11 (
719 .A(N4END[15]),
720 .X(N4END_i[15])
721 );
722
723 my_buf N4BEG_outbuf_0 (
724 .A(N4BEG_i[0]),
725 .X(N4BEG[0])
726 );
727
728 my_buf N4BEG_outbuf_1 (
729 .A(N4BEG_i[1]),
730 .X(N4BEG[1])
731 );
732
733 my_buf N4BEG_outbuf_2 (
734 .A(N4BEG_i[2]),
735 .X(N4BEG[2])
736 );
737
738 my_buf N4BEG_outbuf_3 (
739 .A(N4BEG_i[3]),
740 .X(N4BEG[3])
741 );
742
743 my_buf N4BEG_outbuf_4 (
744 .A(N4BEG_i[4]),
745 .X(N4BEG[4])
746 );
747
748 my_buf N4BEG_outbuf_5 (
749 .A(N4BEG_i[5]),
750 .X(N4BEG[5])
751 );
752
753 my_buf N4BEG_outbuf_6 (
754 .A(N4BEG_i[6]),
755 .X(N4BEG[6])
756 );
757
758 my_buf N4BEG_outbuf_7 (
759 .A(N4BEG_i[7]),
760 .X(N4BEG[7])
761 );
762
763 my_buf N4BEG_outbuf_8 (
764 .A(N4BEG_i[8]),
765 .X(N4BEG[8])
766 );
767
768 my_buf N4BEG_outbuf_9 (
769 .A(N4BEG_i[9]),
770 .X(N4BEG[9])
771 );
772
773 my_buf N4BEG_outbuf_10 (
774 .A(N4BEG_i[10]),
775 .X(N4BEG[10])
776 );
777
778 my_buf N4BEG_outbuf_11 (
779 .A(N4BEG_i[11]),
780 .X(N4BEG[11])
781 );
782
783 wire [15:0] NN4END_i;
784 wire [11:0] NN4BEG_i;
785 assign NN4BEG_i[15-4:0] = NN4END_i[15:4];
786
787 my_buf NN4END_inbuf_0 (
788 .A(NN4END[4]),
789 .X(NN4END_i[4])
790 );
791
792 my_buf NN4END_inbuf_1 (
793 .A(NN4END[5]),
794 .X(NN4END_i[5])
795 );
796
797 my_buf NN4END_inbuf_2 (
798 .A(NN4END[6]),
799 .X(NN4END_i[6])
800 );
801
802 my_buf NN4END_inbuf_3 (
803 .A(NN4END[7]),
804 .X(NN4END_i[7])
805 );
806
807 my_buf NN4END_inbuf_4 (
808 .A(NN4END[8]),
809 .X(NN4END_i[8])
810 );
811
812 my_buf NN4END_inbuf_5 (
813 .A(NN4END[9]),
814 .X(NN4END_i[9])
815 );
816
817 my_buf NN4END_inbuf_6 (
818 .A(NN4END[10]),
819 .X(NN4END_i[10])
820 );
821
822 my_buf NN4END_inbuf_7 (
823 .A(NN4END[11]),
824 .X(NN4END_i[11])
825 );
826
827 my_buf NN4END_inbuf_8 (
828 .A(NN4END[12]),
829 .X(NN4END_i[12])
830 );
831
832 my_buf NN4END_inbuf_9 (
833 .A(NN4END[13]),
834 .X(NN4END_i[13])
835 );
836
837 my_buf NN4END_inbuf_10 (
838 .A(NN4END[14]),
839 .X(NN4END_i[14])
840 );
841
842 my_buf NN4END_inbuf_11 (
843 .A(NN4END[15]),
844 .X(NN4END_i[15])
845 );
846
847 my_buf NN4BEG_outbuf_0 (
848 .A(NN4BEG_i[0]),
849 .X(NN4BEG[0])
850 );
851
852 my_buf NN4BEG_outbuf_1 (
853 .A(NN4BEG_i[1]),
854 .X(NN4BEG[1])
855 );
856
857 my_buf NN4BEG_outbuf_2 (
858 .A(NN4BEG_i[2]),
859 .X(NN4BEG[2])
860 );
861
862 my_buf NN4BEG_outbuf_3 (
863 .A(NN4BEG_i[3]),
864 .X(NN4BEG[3])
865 );
866
867 my_buf NN4BEG_outbuf_4 (
868 .A(NN4BEG_i[4]),
869 .X(NN4BEG[4])
870 );
871
872 my_buf NN4BEG_outbuf_5 (
873 .A(NN4BEG_i[5]),
874 .X(NN4BEG[5])
875 );
876
877 my_buf NN4BEG_outbuf_6 (
878 .A(NN4BEG_i[6]),
879 .X(NN4BEG[6])
880 );
881
882 my_buf NN4BEG_outbuf_7 (
883 .A(NN4BEG_i[7]),
884 .X(NN4BEG[7])
885 );
886
887 my_buf NN4BEG_outbuf_8 (
888 .A(NN4BEG_i[8]),
889 .X(NN4BEG[8])
890 );
891
892 my_buf NN4BEG_outbuf_9 (
893 .A(NN4BEG_i[9]),
894 .X(NN4BEG[9])
895 );
896
897 my_buf NN4BEG_outbuf_10 (
898 .A(NN4BEG_i[10]),
899 .X(NN4BEG[10])
900 );
901
902 my_buf NN4BEG_outbuf_11 (
903 .A(NN4BEG_i[11]),
904 .X(NN4BEG[11])
905 );
906
907 wire [15:0] EE4END_i;
908 wire [11:0] EE4BEG_i;
909 assign EE4BEG_i[15-4:0] = EE4END_i[15:4];
910
911 my_buf EE4END_inbuf_0 (
912 .A(EE4END[4]),
913 .X(EE4END_i[4])
914 );
915
916 my_buf EE4END_inbuf_1 (
917 .A(EE4END[5]),
918 .X(EE4END_i[5])
919 );
920
921 my_buf EE4END_inbuf_2 (
922 .A(EE4END[6]),
923 .X(EE4END_i[6])
924 );
925
926 my_buf EE4END_inbuf_3 (
927 .A(EE4END[7]),
928 .X(EE4END_i[7])
929 );
930
931 my_buf EE4END_inbuf_4 (
932 .A(EE4END[8]),
933 .X(EE4END_i[8])
934 );
935
936 my_buf EE4END_inbuf_5 (
937 .A(EE4END[9]),
938 .X(EE4END_i[9])
939 );
940
941 my_buf EE4END_inbuf_6 (
942 .A(EE4END[10]),
943 .X(EE4END_i[10])
944 );
945
946 my_buf EE4END_inbuf_7 (
947 .A(EE4END[11]),
948 .X(EE4END_i[11])
949 );
950
951 my_buf EE4END_inbuf_8 (
952 .A(EE4END[12]),
953 .X(EE4END_i[12])
954 );
955
956 my_buf EE4END_inbuf_9 (
957 .A(EE4END[13]),
958 .X(EE4END_i[13])
959 );
960
961 my_buf EE4END_inbuf_10 (
962 .A(EE4END[14]),
963 .X(EE4END_i[14])
964 );
965
966 my_buf EE4END_inbuf_11 (
967 .A(EE4END[15]),
968 .X(EE4END_i[15])
969 );
970
971 my_buf EE4BEG_outbuf_0 (
972 .A(EE4BEG_i[0]),
973 .X(EE4BEG[0])
974 );
975
976 my_buf EE4BEG_outbuf_1 (
977 .A(EE4BEG_i[1]),
978 .X(EE4BEG[1])
979 );
980
981 my_buf EE4BEG_outbuf_2 (
982 .A(EE4BEG_i[2]),
983 .X(EE4BEG[2])
984 );
985
986 my_buf EE4BEG_outbuf_3 (
987 .A(EE4BEG_i[3]),
988 .X(EE4BEG[3])
989 );
990
991 my_buf EE4BEG_outbuf_4 (
992 .A(EE4BEG_i[4]),
993 .X(EE4BEG[4])
994 );
995
996 my_buf EE4BEG_outbuf_5 (
997 .A(EE4BEG_i[5]),
998 .X(EE4BEG[5])
999 );
1000
1001 my_buf EE4BEG_outbuf_6 (
1002 .A(EE4BEG_i[6]),
1003 .X(EE4BEG[6])
1004 );
1005
1006 my_buf EE4BEG_outbuf_7 (
1007 .A(EE4BEG_i[7]),
1008 .X(EE4BEG[7])
1009 );
1010
1011 my_buf EE4BEG_outbuf_8 (
1012 .A(EE4BEG_i[8]),
1013 .X(EE4BEG[8])
1014 );
1015
1016 my_buf EE4BEG_outbuf_9 (
1017 .A(EE4BEG_i[9]),
1018 .X(EE4BEG[9])
1019 );
1020
1021 my_buf EE4BEG_outbuf_10 (
1022 .A(EE4BEG_i[10]),
1023 .X(EE4BEG[10])
1024 );
1025
1026 my_buf EE4BEG_outbuf_11 (
1027 .A(EE4BEG_i[11]),
1028 .X(EE4BEG[11])
1029 );
1030
1031 wire [11:0] E6END_i;
1032 wire [9:0] E6BEG_i;
1033 assign E6BEG_i[11-2:0] = E6END_i[11:2];
1034
1035 my_buf E6END_inbuf_0 (
1036 .A(E6END[2]),
1037 .X(E6END_i[2])
1038 );
1039
1040 my_buf E6END_inbuf_1 (
1041 .A(E6END[3]),
1042 .X(E6END_i[3])
1043 );
1044
1045 my_buf E6END_inbuf_2 (
1046 .A(E6END[4]),
1047 .X(E6END_i[4])
1048 );
1049
1050 my_buf E6END_inbuf_3 (
1051 .A(E6END[5]),
1052 .X(E6END_i[5])
1053 );
1054
1055 my_buf E6END_inbuf_4 (
1056 .A(E6END[6]),
1057 .X(E6END_i[6])
1058 );
1059
1060 my_buf E6END_inbuf_5 (
1061 .A(E6END[7]),
1062 .X(E6END_i[7])
1063 );
1064
1065 my_buf E6END_inbuf_6 (
1066 .A(E6END[8]),
1067 .X(E6END_i[8])
1068 );
1069
1070 my_buf E6END_inbuf_7 (
1071 .A(E6END[9]),
1072 .X(E6END_i[9])
1073 );
1074
1075 my_buf E6END_inbuf_8 (
1076 .A(E6END[10]),
1077 .X(E6END_i[10])
1078 );
1079
1080 my_buf E6END_inbuf_9 (
1081 .A(E6END[11]),
1082 .X(E6END_i[11])
1083 );
1084
1085 my_buf E6BEG_outbuf_0 (
1086 .A(E6BEG_i[0]),
1087 .X(E6BEG[0])
1088 );
1089
1090 my_buf E6BEG_outbuf_1 (
1091 .A(E6BEG_i[1]),
1092 .X(E6BEG[1])
1093 );
1094
1095 my_buf E6BEG_outbuf_2 (
1096 .A(E6BEG_i[2]),
1097 .X(E6BEG[2])
1098 );
1099
1100 my_buf E6BEG_outbuf_3 (
1101 .A(E6BEG_i[3]),
1102 .X(E6BEG[3])
1103 );
1104
1105 my_buf E6BEG_outbuf_4 (
1106 .A(E6BEG_i[4]),
1107 .X(E6BEG[4])
1108 );
1109
1110 my_buf E6BEG_outbuf_5 (
1111 .A(E6BEG_i[5]),
1112 .X(E6BEG[5])
1113 );
1114
1115 my_buf E6BEG_outbuf_6 (
1116 .A(E6BEG_i[6]),
1117 .X(E6BEG[6])
1118 );
1119
1120 my_buf E6BEG_outbuf_7 (
1121 .A(E6BEG_i[7]),
1122 .X(E6BEG[7])
1123 );
1124
1125 my_buf E6BEG_outbuf_8 (
1126 .A(E6BEG_i[8]),
1127 .X(E6BEG[8])
1128 );
1129
1130 my_buf E6BEG_outbuf_9 (
1131 .A(E6BEG_i[9]),
1132 .X(E6BEG[9])
1133 );
1134
1135 wire [15:0] S4END_i;
1136 wire [11:0] S4BEG_i;
1137 assign S4BEG_i[15-4:0] = S4END_i[15:4];
1138
1139 my_buf S4END_inbuf_0 (
1140 .A(S4END[4]),
1141 .X(S4END_i[4])
1142 );
1143
1144 my_buf S4END_inbuf_1 (
1145 .A(S4END[5]),
1146 .X(S4END_i[5])
1147 );
1148
1149 my_buf S4END_inbuf_2 (
1150 .A(S4END[6]),
1151 .X(S4END_i[6])
1152 );
1153
1154 my_buf S4END_inbuf_3 (
1155 .A(S4END[7]),
1156 .X(S4END_i[7])
1157 );
1158
1159 my_buf S4END_inbuf_4 (
1160 .A(S4END[8]),
1161 .X(S4END_i[8])
1162 );
1163
1164 my_buf S4END_inbuf_5 (
1165 .A(S4END[9]),
1166 .X(S4END_i[9])
1167 );
1168
1169 my_buf S4END_inbuf_6 (
1170 .A(S4END[10]),
1171 .X(S4END_i[10])
1172 );
1173
1174 my_buf S4END_inbuf_7 (
1175 .A(S4END[11]),
1176 .X(S4END_i[11])
1177 );
1178
1179 my_buf S4END_inbuf_8 (
1180 .A(S4END[12]),
1181 .X(S4END_i[12])
1182 );
1183
1184 my_buf S4END_inbuf_9 (
1185 .A(S4END[13]),
1186 .X(S4END_i[13])
1187 );
1188
1189 my_buf S4END_inbuf_10 (
1190 .A(S4END[14]),
1191 .X(S4END_i[14])
1192 );
1193
1194 my_buf S4END_inbuf_11 (
1195 .A(S4END[15]),
1196 .X(S4END_i[15])
1197 );
1198
1199 my_buf S4BEG_outbuf_0 (
1200 .A(S4BEG_i[0]),
1201 .X(S4BEG[0])
1202 );
1203
1204 my_buf S4BEG_outbuf_1 (
1205 .A(S4BEG_i[1]),
1206 .X(S4BEG[1])
1207 );
1208
1209 my_buf S4BEG_outbuf_2 (
1210 .A(S4BEG_i[2]),
1211 .X(S4BEG[2])
1212 );
1213
1214 my_buf S4BEG_outbuf_3 (
1215 .A(S4BEG_i[3]),
1216 .X(S4BEG[3])
1217 );
1218
1219 my_buf S4BEG_outbuf_4 (
1220 .A(S4BEG_i[4]),
1221 .X(S4BEG[4])
1222 );
1223
1224 my_buf S4BEG_outbuf_5 (
1225 .A(S4BEG_i[5]),
1226 .X(S4BEG[5])
1227 );
1228
1229 my_buf S4BEG_outbuf_6 (
1230 .A(S4BEG_i[6]),
1231 .X(S4BEG[6])
1232 );
1233
1234 my_buf S4BEG_outbuf_7 (
1235 .A(S4BEG_i[7]),
1236 .X(S4BEG[7])
1237 );
1238
1239 my_buf S4BEG_outbuf_8 (
1240 .A(S4BEG_i[8]),
1241 .X(S4BEG[8])
1242 );
1243
1244 my_buf S4BEG_outbuf_9 (
1245 .A(S4BEG_i[9]),
1246 .X(S4BEG[9])
1247 );
1248
1249 my_buf S4BEG_outbuf_10 (
1250 .A(S4BEG_i[10]),
1251 .X(S4BEG[10])
1252 );
1253
1254 my_buf S4BEG_outbuf_11 (
1255 .A(S4BEG_i[11]),
1256 .X(S4BEG[11])
1257 );
1258
1259 wire [15:0] SS4END_i;
1260 wire [11:0] SS4BEG_i;
1261 assign SS4BEG_i[15-4:0] = SS4END_i[15:4];
1262
1263 my_buf SS4END_inbuf_0 (
1264 .A(SS4END[4]),
1265 .X(SS4END_i[4])
1266 );
1267
1268 my_buf SS4END_inbuf_1 (
1269 .A(SS4END[5]),
1270 .X(SS4END_i[5])
1271 );
1272
1273 my_buf SS4END_inbuf_2 (
1274 .A(SS4END[6]),
1275 .X(SS4END_i[6])
1276 );
1277
1278 my_buf SS4END_inbuf_3 (
1279 .A(SS4END[7]),
1280 .X(SS4END_i[7])
1281 );
1282
1283 my_buf SS4END_inbuf_4 (
1284 .A(SS4END[8]),
1285 .X(SS4END_i[8])
1286 );
1287
1288 my_buf SS4END_inbuf_5 (
1289 .A(SS4END[9]),
1290 .X(SS4END_i[9])
1291 );
1292
1293 my_buf SS4END_inbuf_6 (
1294 .A(SS4END[10]),
1295 .X(SS4END_i[10])
1296 );
1297
1298 my_buf SS4END_inbuf_7 (
1299 .A(SS4END[11]),
1300 .X(SS4END_i[11])
1301 );
1302
1303 my_buf SS4END_inbuf_8 (
1304 .A(SS4END[12]),
1305 .X(SS4END_i[12])
1306 );
1307
1308 my_buf SS4END_inbuf_9 (
1309 .A(SS4END[13]),
1310 .X(SS4END_i[13])
1311 );
1312
1313 my_buf SS4END_inbuf_10 (
1314 .A(SS4END[14]),
1315 .X(SS4END_i[14])
1316 );
1317
1318 my_buf SS4END_inbuf_11 (
1319 .A(SS4END[15]),
1320 .X(SS4END_i[15])
1321 );
1322
1323 my_buf SS4BEG_outbuf_0 (
1324 .A(SS4BEG_i[0]),
1325 .X(SS4BEG[0])
1326 );
1327
1328 my_buf SS4BEG_outbuf_1 (
1329 .A(SS4BEG_i[1]),
1330 .X(SS4BEG[1])
1331 );
1332
1333 my_buf SS4BEG_outbuf_2 (
1334 .A(SS4BEG_i[2]),
1335 .X(SS4BEG[2])
1336 );
1337
1338 my_buf SS4BEG_outbuf_3 (
1339 .A(SS4BEG_i[3]),
1340 .X(SS4BEG[3])
1341 );
1342
1343 my_buf SS4BEG_outbuf_4 (
1344 .A(SS4BEG_i[4]),
1345 .X(SS4BEG[4])
1346 );
1347
1348 my_buf SS4BEG_outbuf_5 (
1349 .A(SS4BEG_i[5]),
1350 .X(SS4BEG[5])
1351 );
1352
1353 my_buf SS4BEG_outbuf_6 (
1354 .A(SS4BEG_i[6]),
1355 .X(SS4BEG[6])
1356 );
1357
1358 my_buf SS4BEG_outbuf_7 (
1359 .A(SS4BEG_i[7]),
1360 .X(SS4BEG[7])
1361 );
1362
1363 my_buf SS4BEG_outbuf_8 (
1364 .A(SS4BEG_i[8]),
1365 .X(SS4BEG[8])
1366 );
1367
1368 my_buf SS4BEG_outbuf_9 (
1369 .A(SS4BEG_i[9]),
1370 .X(SS4BEG[9])
1371 );
1372
1373 my_buf SS4BEG_outbuf_10 (
1374 .A(SS4BEG_i[10]),
1375 .X(SS4BEG[10])
1376 );
1377
1378 my_buf SS4BEG_outbuf_11 (
1379 .A(SS4BEG_i[11]),
1380 .X(SS4BEG[11])
1381 );
1382
1383 wire [15:0] WW4END_i;
1384 wire [11:0] WW4BEG_i;
1385 assign WW4BEG_i[15-4:0] = WW4END_i[15:4];
1386
1387 my_buf WW4END_inbuf_0 (
1388 .A(WW4END[4]),
1389 .X(WW4END_i[4])
1390 );
1391
1392 my_buf WW4END_inbuf_1 (
1393 .A(WW4END[5]),
1394 .X(WW4END_i[5])
1395 );
1396
1397 my_buf WW4END_inbuf_2 (
1398 .A(WW4END[6]),
1399 .X(WW4END_i[6])
1400 );
1401
1402 my_buf WW4END_inbuf_3 (
1403 .A(WW4END[7]),
1404 .X(WW4END_i[7])
1405 );
1406
1407 my_buf WW4END_inbuf_4 (
1408 .A(WW4END[8]),
1409 .X(WW4END_i[8])
1410 );
1411
1412 my_buf WW4END_inbuf_5 (
1413 .A(WW4END[9]),
1414 .X(WW4END_i[9])
1415 );
1416
1417 my_buf WW4END_inbuf_6 (
1418 .A(WW4END[10]),
1419 .X(WW4END_i[10])
1420 );
1421
1422 my_buf WW4END_inbuf_7 (
1423 .A(WW4END[11]),
1424 .X(WW4END_i[11])
1425 );
1426
1427 my_buf WW4END_inbuf_8 (
1428 .A(WW4END[12]),
1429 .X(WW4END_i[12])
1430 );
1431
1432 my_buf WW4END_inbuf_9 (
1433 .A(WW4END[13]),
1434 .X(WW4END_i[13])
1435 );
1436
1437 my_buf WW4END_inbuf_10 (
1438 .A(WW4END[14]),
1439 .X(WW4END_i[14])
1440 );
1441
1442 my_buf WW4END_inbuf_11 (
1443 .A(WW4END[15]),
1444 .X(WW4END_i[15])
1445 );
1446
1447 my_buf WW4BEG_outbuf_0 (
1448 .A(WW4BEG_i[0]),
1449 .X(WW4BEG[0])
1450 );
1451
1452 my_buf WW4BEG_outbuf_1 (
1453 .A(WW4BEG_i[1]),
1454 .X(WW4BEG[1])
1455 );
1456
1457 my_buf WW4BEG_outbuf_2 (
1458 .A(WW4BEG_i[2]),
1459 .X(WW4BEG[2])
1460 );
1461
1462 my_buf WW4BEG_outbuf_3 (
1463 .A(WW4BEG_i[3]),
1464 .X(WW4BEG[3])
1465 );
1466
1467 my_buf WW4BEG_outbuf_4 (
1468 .A(WW4BEG_i[4]),
1469 .X(WW4BEG[4])
1470 );
1471
1472 my_buf WW4BEG_outbuf_5 (
1473 .A(WW4BEG_i[5]),
1474 .X(WW4BEG[5])
1475 );
1476
1477 my_buf WW4BEG_outbuf_6 (
1478 .A(WW4BEG_i[6]),
1479 .X(WW4BEG[6])
1480 );
1481
1482 my_buf WW4BEG_outbuf_7 (
1483 .A(WW4BEG_i[7]),
1484 .X(WW4BEG[7])
1485 );
1486
1487 my_buf WW4BEG_outbuf_8 (
1488 .A(WW4BEG_i[8]),
1489 .X(WW4BEG[8])
1490 );
1491
1492 my_buf WW4BEG_outbuf_9 (
1493 .A(WW4BEG_i[9]),
1494 .X(WW4BEG[9])
1495 );
1496
1497 my_buf WW4BEG_outbuf_10 (
1498 .A(WW4BEG_i[10]),
1499 .X(WW4BEG[10])
1500 );
1501
1502 my_buf WW4BEG_outbuf_11 (
1503 .A(WW4BEG_i[11]),
1504 .X(WW4BEG[11])
1505 );
1506
1507 wire [11:0] W6END_i;
1508 wire [9:0] W6BEG_i;
1509 assign W6BEG_i[11-2:0] = W6END_i[11:2];
1510
1511 my_buf W6END_inbuf_0 (
1512 .A(W6END[2]),
1513 .X(W6END_i[2])
1514 );
1515
1516 my_buf W6END_inbuf_1 (
1517 .A(W6END[3]),
1518 .X(W6END_i[3])
1519 );
1520
1521 my_buf W6END_inbuf_2 (
1522 .A(W6END[4]),
1523 .X(W6END_i[4])
1524 );
1525
1526 my_buf W6END_inbuf_3 (
1527 .A(W6END[5]),
1528 .X(W6END_i[5])
1529 );
1530
1531 my_buf W6END_inbuf_4 (
1532 .A(W6END[6]),
1533 .X(W6END_i[6])
1534 );
1535
1536 my_buf W6END_inbuf_5 (
1537 .A(W6END[7]),
1538 .X(W6END_i[7])
1539 );
1540
1541 my_buf W6END_inbuf_6 (
1542 .A(W6END[8]),
1543 .X(W6END_i[8])
1544 );
1545
1546 my_buf W6END_inbuf_7 (
1547 .A(W6END[9]),
1548 .X(W6END_i[9])
1549 );
1550
1551 my_buf W6END_inbuf_8 (
1552 .A(W6END[10]),
1553 .X(W6END_i[10])
1554 );
1555
1556 my_buf W6END_inbuf_9 (
1557 .A(W6END[11]),
1558 .X(W6END_i[11])
1559 );
1560
1561 my_buf W6BEG_outbuf_0 (
1562 .A(W6BEG_i[0]),
1563 .X(W6BEG[0])
1564 );
1565
1566 my_buf W6BEG_outbuf_1 (
1567 .A(W6BEG_i[1]),
1568 .X(W6BEG[1])
1569 );
1570
1571 my_buf W6BEG_outbuf_2 (
1572 .A(W6BEG_i[2]),
1573 .X(W6BEG[2])
1574 );
1575
1576 my_buf W6BEG_outbuf_3 (
1577 .A(W6BEG_i[3]),
1578 .X(W6BEG[3])
1579 );
1580
1581 my_buf W6BEG_outbuf_4 (
1582 .A(W6BEG_i[4]),
1583 .X(W6BEG[4])
1584 );
1585
1586 my_buf W6BEG_outbuf_5 (
1587 .A(W6BEG_i[5]),
1588 .X(W6BEG[5])
1589 );
1590
1591 my_buf W6BEG_outbuf_6 (
1592 .A(W6BEG_i[6]),
1593 .X(W6BEG[6])
1594 );
1595
1596 my_buf W6BEG_outbuf_7 (
1597 .A(W6BEG_i[7]),
1598 .X(W6BEG[7])
1599 );
1600
1601 my_buf W6BEG_outbuf_8 (
1602 .A(W6BEG_i[8]),
1603 .X(W6BEG[8])
1604 );
1605
1606 my_buf W6BEG_outbuf_9 (
1607 .A(W6BEG_i[9]),
1608 .X(W6BEG[9])
1609 );
1610
1611 clk_buf inst_clk_buf(.A(UserCLK), .X(UserCLKo));
1612
1613// configuration storage latches
1614 RegFile_ConfigMem Inst_RegFile_ConfigMem (
1615 .FrameData(FrameData),
1616 .FrameStrobe(FrameStrobe),
1617 .ConfigBits(ConfigBits),
1618 .ConfigBits_N(ConfigBits_N)
1619 );
1620
1621//BEL component instantiations
1622 RegFile_32x4 Inst_RegFile_32x4 (
1623 .D0(D0),
1624 .D1(D1),
1625 .D2(D2),
1626 .D3(D3),
1627 .W_ADR0(W_ADR0),
1628 .W_ADR1(W_ADR1),
1629 .W_ADR2(W_ADR2),
1630 .W_ADR3(W_ADR3),
1631 .W_ADR4(W_ADR4),
1632 .W_en(W_en),
1633 .A_ADR0(A_ADR0),
1634 .A_ADR1(A_ADR1),
1635 .A_ADR2(A_ADR2),
1636 .A_ADR3(A_ADR3),
1637 .A_ADR4(A_ADR4),
1638 .B_ADR0(B_ADR0),
1639 .B_ADR1(B_ADR1),
1640 .B_ADR2(B_ADR2),
1641 .B_ADR3(B_ADR3),
1642 .B_ADR4(B_ADR4),
1643 .AD0(AD0),
1644 .AD1(AD1),
1645 .AD2(AD2),
1646 .AD3(AD3),
1647 .BD0(BD0),
1648 .BD1(BD1),
1649 .BD2(BD2),
1650 .BD3(BD3),
1651 //I/O primitive pins go to tile top level module (not further parsed)
1652 .UserCLK(UserCLK),
1653 .ConfigBits(ConfigBits[2-1:0])
1654 );
1655
1656
1657//switch matrix component instantiation
1658 RegFile_switch_matrix Inst_RegFile_switch_matrix (
1659 .N1END0(N1END[0]),
1660 .N1END1(N1END[1]),
1661 .N1END2(N1END[2]),
1662 .N1END3(N1END[3]),
1663 .N2MID0(N2MID[0]),
1664 .N2MID1(N2MID[1]),
1665 .N2MID2(N2MID[2]),
1666 .N2MID3(N2MID[3]),
1667 .N2MID4(N2MID[4]),
1668 .N2MID5(N2MID[5]),
1669 .N2MID6(N2MID[6]),
1670 .N2MID7(N2MID[7]),
1671 .N2END0(N2END[0]),
1672 .N2END1(N2END[1]),
1673 .N2END2(N2END[2]),
1674 .N2END3(N2END[3]),
1675 .N2END4(N2END[4]),
1676 .N2END5(N2END[5]),
1677 .N2END6(N2END[6]),
1678 .N2END7(N2END[7]),
1679 .N4END0(N4END[0]),
1680 .N4END1(N4END[1]),
1681 .N4END2(N4END[2]),
1682 .N4END3(N4END[3]),
1683 .NN4END0(NN4END[0]),
1684 .NN4END1(NN4END[1]),
1685 .NN4END2(NN4END[2]),
1686 .NN4END3(NN4END[3]),
1687 .E1END0(E1END[0]),
1688 .E1END1(E1END[1]),
1689 .E1END2(E1END[2]),
1690 .E1END3(E1END[3]),
1691 .E2MID0(E2MID[0]),
1692 .E2MID1(E2MID[1]),
1693 .E2MID2(E2MID[2]),
1694 .E2MID3(E2MID[3]),
1695 .E2MID4(E2MID[4]),
1696 .E2MID5(E2MID[5]),
1697 .E2MID6(E2MID[6]),
1698 .E2MID7(E2MID[7]),
1699 .E2END0(E2END[0]),
1700 .E2END1(E2END[1]),
1701 .E2END2(E2END[2]),
1702 .E2END3(E2END[3]),
1703 .E2END4(E2END[4]),
1704 .E2END5(E2END[5]),
1705 .E2END6(E2END[6]),
1706 .E2END7(E2END[7]),
1707 .EE4END0(EE4END[0]),
1708 .EE4END1(EE4END[1]),
1709 .EE4END2(EE4END[2]),
1710 .EE4END3(EE4END[3]),
1711 .E6END0(E6END[0]),
1712 .E6END1(E6END[1]),
1713 .S1END0(S1END[0]),
1714 .S1END1(S1END[1]),
1715 .S1END2(S1END[2]),
1716 .S1END3(S1END[3]),
1717 .S2MID0(S2MID[0]),
1718 .S2MID1(S2MID[1]),
1719 .S2MID2(S2MID[2]),
1720 .S2MID3(S2MID[3]),
1721 .S2MID4(S2MID[4]),
1722 .S2MID5(S2MID[5]),
1723 .S2MID6(S2MID[6]),
1724 .S2MID7(S2MID[7]),
1725 .S2END0(S2END[0]),
1726 .S2END1(S2END[1]),
1727 .S2END2(S2END[2]),
1728 .S2END3(S2END[3]),
1729 .S2END4(S2END[4]),
1730 .S2END5(S2END[5]),
1731 .S2END6(S2END[6]),
1732 .S2END7(S2END[7]),
1733 .S4END0(S4END[0]),
1734 .S4END1(S4END[1]),
1735 .S4END2(S4END[2]),
1736 .S4END3(S4END[3]),
1737 .SS4END0(SS4END[0]),
1738 .SS4END1(SS4END[1]),
1739 .SS4END2(SS4END[2]),
1740 .SS4END3(SS4END[3]),
1741 .W1END0(W1END[0]),
1742 .W1END1(W1END[1]),
1743 .W1END2(W1END[2]),
1744 .W1END3(W1END[3]),
1745 .W2MID0(W2MID[0]),
1746 .W2MID1(W2MID[1]),
1747 .W2MID2(W2MID[2]),
1748 .W2MID3(W2MID[3]),
1749 .W2MID4(W2MID[4]),
1750 .W2MID5(W2MID[5]),
1751 .W2MID6(W2MID[6]),
1752 .W2MID7(W2MID[7]),
1753 .W2END0(W2END[0]),
1754 .W2END1(W2END[1]),
1755 .W2END2(W2END[2]),
1756 .W2END3(W2END[3]),
1757 .W2END4(W2END[4]),
1758 .W2END5(W2END[5]),
1759 .W2END6(W2END[6]),
1760 .W2END7(W2END[7]),
1761 .WW4END0(WW4END[0]),
1762 .WW4END1(WW4END[1]),
1763 .WW4END2(WW4END[2]),
1764 .WW4END3(WW4END[3]),
1765 .W6END0(W6END[0]),
1766 .W6END1(W6END[1]),
1767 .AD0(AD0),
1768 .AD1(AD1),
1769 .AD2(AD2),
1770 .AD3(AD3),
1771 .BD0(BD0),
1772 .BD1(BD1),
1773 .BD2(BD2),
1774 .BD3(BD3),
1775 .J2MID_ABa_END0(J2MID_ABa_BEG[0]),
1776 .J2MID_ABa_END1(J2MID_ABa_BEG[1]),
1777 .J2MID_ABa_END2(J2MID_ABa_BEG[2]),
1778 .J2MID_ABa_END3(J2MID_ABa_BEG[3]),
1779 .J2MID_CDa_END0(J2MID_CDa_BEG[0]),
1780 .J2MID_CDa_END1(J2MID_CDa_BEG[1]),
1781 .J2MID_CDa_END2(J2MID_CDa_BEG[2]),
1782 .J2MID_CDa_END3(J2MID_CDa_BEG[3]),
1783 .J2MID_EFa_END0(J2MID_EFa_BEG[0]),
1784 .J2MID_EFa_END1(J2MID_EFa_BEG[1]),
1785 .J2MID_EFa_END2(J2MID_EFa_BEG[2]),
1786 .J2MID_EFa_END3(J2MID_EFa_BEG[3]),
1787 .J2MID_GHa_END0(J2MID_GHa_BEG[0]),
1788 .J2MID_GHa_END1(J2MID_GHa_BEG[1]),
1789 .J2MID_GHa_END2(J2MID_GHa_BEG[2]),
1790 .J2MID_GHa_END3(J2MID_GHa_BEG[3]),
1791 .J2MID_ABb_END0(J2MID_ABb_BEG[0]),
1792 .J2MID_ABb_END1(J2MID_ABb_BEG[1]),
1793 .J2MID_ABb_END2(J2MID_ABb_BEG[2]),
1794 .J2MID_ABb_END3(J2MID_ABb_BEG[3]),
1795 .J2MID_CDb_END0(J2MID_CDb_BEG[0]),
1796 .J2MID_CDb_END1(J2MID_CDb_BEG[1]),
1797 .J2MID_CDb_END2(J2MID_CDb_BEG[2]),
1798 .J2MID_CDb_END3(J2MID_CDb_BEG[3]),
1799 .J2MID_EFb_END0(J2MID_EFb_BEG[0]),
1800 .J2MID_EFb_END1(J2MID_EFb_BEG[1]),
1801 .J2MID_EFb_END2(J2MID_EFb_BEG[2]),
1802 .J2MID_EFb_END3(J2MID_EFb_BEG[3]),
1803 .J2MID_GHb_END0(J2MID_GHb_BEG[0]),
1804 .J2MID_GHb_END1(J2MID_GHb_BEG[1]),
1805 .J2MID_GHb_END2(J2MID_GHb_BEG[2]),
1806 .J2MID_GHb_END3(J2MID_GHb_BEG[3]),
1807 .J2END_AB_END0(J2END_AB_BEG[0]),
1808 .J2END_AB_END1(J2END_AB_BEG[1]),
1809 .J2END_AB_END2(J2END_AB_BEG[2]),
1810 .J2END_AB_END3(J2END_AB_BEG[3]),
1811 .J2END_CD_END0(J2END_CD_BEG[0]),
1812 .J2END_CD_END1(J2END_CD_BEG[1]),
1813 .J2END_CD_END2(J2END_CD_BEG[2]),
1814 .J2END_CD_END3(J2END_CD_BEG[3]),
1815 .J2END_EF_END0(J2END_EF_BEG[0]),
1816 .J2END_EF_END1(J2END_EF_BEG[1]),
1817 .J2END_EF_END2(J2END_EF_BEG[2]),
1818 .J2END_EF_END3(J2END_EF_BEG[3]),
1819 .J2END_GH_END0(J2END_GH_BEG[0]),
1820 .J2END_GH_END1(J2END_GH_BEG[1]),
1821 .J2END_GH_END2(J2END_GH_BEG[2]),
1822 .J2END_GH_END3(J2END_GH_BEG[3]),
1823 .JN2END0(JN2BEG[0]),
1824 .JN2END1(JN2BEG[1]),
1825 .JN2END2(JN2BEG[2]),
1826 .JN2END3(JN2BEG[3]),
1827 .JN2END4(JN2BEG[4]),
1828 .JN2END5(JN2BEG[5]),
1829 .JN2END6(JN2BEG[6]),
1830 .JN2END7(JN2BEG[7]),
1831 .JE2END0(JE2BEG[0]),
1832 .JE2END1(JE2BEG[1]),
1833 .JE2END2(JE2BEG[2]),
1834 .JE2END3(JE2BEG[3]),
1835 .JE2END4(JE2BEG[4]),
1836 .JE2END5(JE2BEG[5]),
1837 .JE2END6(JE2BEG[6]),
1838 .JE2END7(JE2BEG[7]),
1839 .JS2END0(JS2BEG[0]),
1840 .JS2END1(JS2BEG[1]),
1841 .JS2END2(JS2BEG[2]),
1842 .JS2END3(JS2BEG[3]),
1843 .JS2END4(JS2BEG[4]),
1844 .JS2END5(JS2BEG[5]),
1845 .JS2END6(JS2BEG[6]),
1846 .JS2END7(JS2BEG[7]),
1847 .JW2END0(JW2BEG[0]),
1848 .JW2END1(JW2BEG[1]),
1849 .JW2END2(JW2BEG[2]),
1850 .JW2END3(JW2BEG[3]),
1851 .JW2END4(JW2BEG[4]),
1852 .JW2END5(JW2BEG[5]),
1853 .JW2END6(JW2BEG[6]),
1854 .JW2END7(JW2BEG[7]),
1855 .J_l_AB_END0(J_l_AB_BEG[0]),
1856 .J_l_AB_END1(J_l_AB_BEG[1]),
1857 .J_l_AB_END2(J_l_AB_BEG[2]),
1858 .J_l_AB_END3(J_l_AB_BEG[3]),
1859 .J_l_CD_END0(J_l_CD_BEG[0]),
1860 .J_l_CD_END1(J_l_CD_BEG[1]),
1861 .J_l_CD_END2(J_l_CD_BEG[2]),
1862 .J_l_CD_END3(J_l_CD_BEG[3]),
1863 .J_l_EF_END0(J_l_EF_BEG[0]),
1864 .J_l_EF_END1(J_l_EF_BEG[1]),
1865 .J_l_EF_END2(J_l_EF_BEG[2]),
1866 .J_l_EF_END3(J_l_EF_BEG[3]),
1867 .J_l_GH_END0(J_l_GH_BEG[0]),
1868 .J_l_GH_END1(J_l_GH_BEG[1]),
1869 .J_l_GH_END2(J_l_GH_BEG[2]),
1870 .J_l_GH_END3(J_l_GH_BEG[3]),
1871 .N1BEG0(N1BEG[0]),
1872 .N1BEG1(N1BEG[1]),
1873 .N1BEG2(N1BEG[2]),
1874 .N1BEG3(N1BEG[3]),
1875 .N2BEG0(N2BEG[0]),
1876 .N2BEG1(N2BEG[1]),
1877 .N2BEG2(N2BEG[2]),
1878 .N2BEG3(N2BEG[3]),
1879 .N2BEG4(N2BEG[4]),
1880 .N2BEG5(N2BEG[5]),
1881 .N2BEG6(N2BEG[6]),
1882 .N2BEG7(N2BEG[7]),
1883 .N2BEGb0(N2BEGb[0]),
1884 .N2BEGb1(N2BEGb[1]),
1885 .N2BEGb2(N2BEGb[2]),
1886 .N2BEGb3(N2BEGb[3]),
1887 .N2BEGb4(N2BEGb[4]),
1888 .N2BEGb5(N2BEGb[5]),
1889 .N2BEGb6(N2BEGb[6]),
1890 .N2BEGb7(N2BEGb[7]),
1891 .N4BEG0(N4BEG[12]),
1892 .N4BEG1(N4BEG[13]),
1893 .N4BEG2(N4BEG[14]),
1894 .N4BEG3(N4BEG[15]),
1895 .NN4BEG0(NN4BEG[12]),
1896 .NN4BEG1(NN4BEG[13]),
1897 .NN4BEG2(NN4BEG[14]),
1898 .NN4BEG3(NN4BEG[15]),
1899 .E1BEG0(E1BEG[0]),
1900 .E1BEG1(E1BEG[1]),
1901 .E1BEG2(E1BEG[2]),
1902 .E1BEG3(E1BEG[3]),
1903 .E2BEG0(E2BEG[0]),
1904 .E2BEG1(E2BEG[1]),
1905 .E2BEG2(E2BEG[2]),
1906 .E2BEG3(E2BEG[3]),
1907 .E2BEG4(E2BEG[4]),
1908 .E2BEG5(E2BEG[5]),
1909 .E2BEG6(E2BEG[6]),
1910 .E2BEG7(E2BEG[7]),
1911 .E2BEGb0(E2BEGb[0]),
1912 .E2BEGb1(E2BEGb[1]),
1913 .E2BEGb2(E2BEGb[2]),
1914 .E2BEGb3(E2BEGb[3]),
1915 .E2BEGb4(E2BEGb[4]),
1916 .E2BEGb5(E2BEGb[5]),
1917 .E2BEGb6(E2BEGb[6]),
1918 .E2BEGb7(E2BEGb[7]),
1919 .EE4BEG0(EE4BEG[12]),
1920 .EE4BEG1(EE4BEG[13]),
1921 .EE4BEG2(EE4BEG[14]),
1922 .EE4BEG3(EE4BEG[15]),
1923 .E6BEG0(E6BEG[10]),
1924 .E6BEG1(E6BEG[11]),
1925 .S1BEG0(S1BEG[0]),
1926 .S1BEG1(S1BEG[1]),
1927 .S1BEG2(S1BEG[2]),
1928 .S1BEG3(S1BEG[3]),
1929 .S2BEG0(S2BEG[0]),
1930 .S2BEG1(S2BEG[1]),
1931 .S2BEG2(S2BEG[2]),
1932 .S2BEG3(S2BEG[3]),
1933 .S2BEG4(S2BEG[4]),
1934 .S2BEG5(S2BEG[5]),
1935 .S2BEG6(S2BEG[6]),
1936 .S2BEG7(S2BEG[7]),
1937 .S2BEGb0(S2BEGb[0]),
1938 .S2BEGb1(S2BEGb[1]),
1939 .S2BEGb2(S2BEGb[2]),
1940 .S2BEGb3(S2BEGb[3]),
1941 .S2BEGb4(S2BEGb[4]),
1942 .S2BEGb5(S2BEGb[5]),
1943 .S2BEGb6(S2BEGb[6]),
1944 .S2BEGb7(S2BEGb[7]),
1945 .S4BEG0(S4BEG[12]),
1946 .S4BEG1(S4BEG[13]),
1947 .S4BEG2(S4BEG[14]),
1948 .S4BEG3(S4BEG[15]),
1949 .SS4BEG0(SS4BEG[12]),
1950 .SS4BEG1(SS4BEG[13]),
1951 .SS4BEG2(SS4BEG[14]),
1952 .SS4BEG3(SS4BEG[15]),
1953 .W1BEG0(W1BEG[0]),
1954 .W1BEG1(W1BEG[1]),
1955 .W1BEG2(W1BEG[2]),
1956 .W1BEG3(W1BEG[3]),
1957 .W2BEG0(W2BEG[0]),
1958 .W2BEG1(W2BEG[1]),
1959 .W2BEG2(W2BEG[2]),
1960 .W2BEG3(W2BEG[3]),
1961 .W2BEG4(W2BEG[4]),
1962 .W2BEG5(W2BEG[5]),
1963 .W2BEG6(W2BEG[6]),
1964 .W2BEG7(W2BEG[7]),
1965 .W2BEGb0(W2BEGb[0]),
1966 .W2BEGb1(W2BEGb[1]),
1967 .W2BEGb2(W2BEGb[2]),
1968 .W2BEGb3(W2BEGb[3]),
1969 .W2BEGb4(W2BEGb[4]),
1970 .W2BEGb5(W2BEGb[5]),
1971 .W2BEGb6(W2BEGb[6]),
1972 .W2BEGb7(W2BEGb[7]),
1973 .WW4BEG0(WW4BEG[12]),
1974 .WW4BEG1(WW4BEG[13]),
1975 .WW4BEG2(WW4BEG[14]),
1976 .WW4BEG3(WW4BEG[15]),
1977 .W6BEG0(W6BEG[10]),
1978 .W6BEG1(W6BEG[11]),
1979 .D0(D0),
1980 .D1(D1),
1981 .D2(D2),
1982 .D3(D3),
1983 .W_ADR0(W_ADR0),
1984 .W_ADR1(W_ADR1),
1985 .W_ADR2(W_ADR2),
1986 .W_ADR3(W_ADR3),
1987 .W_ADR4(W_ADR4),
1988 .W_en(W_en),
1989 .A_ADR0(A_ADR0),
1990 .A_ADR1(A_ADR1),
1991 .A_ADR2(A_ADR2),
1992 .A_ADR3(A_ADR3),
1993 .A_ADR4(A_ADR4),
1994 .B_ADR0(B_ADR0),
1995 .B_ADR1(B_ADR1),
1996 .B_ADR2(B_ADR2),
1997 .B_ADR3(B_ADR3),
1998 .B_ADR4(B_ADR4),
1999 .J2MID_ABa_BEG0(J2MID_ABa_BEG[0]),
2000 .J2MID_ABa_BEG1(J2MID_ABa_BEG[1]),
2001 .J2MID_ABa_BEG2(J2MID_ABa_BEG[2]),
2002 .J2MID_ABa_BEG3(J2MID_ABa_BEG[3]),
2003 .J2MID_CDa_BEG0(J2MID_CDa_BEG[0]),
2004 .J2MID_CDa_BEG1(J2MID_CDa_BEG[1]),
2005 .J2MID_CDa_BEG2(J2MID_CDa_BEG[2]),
2006 .J2MID_CDa_BEG3(J2MID_CDa_BEG[3]),
2007 .J2MID_EFa_BEG0(J2MID_EFa_BEG[0]),
2008 .J2MID_EFa_BEG1(J2MID_EFa_BEG[1]),
2009 .J2MID_EFa_BEG2(J2MID_EFa_BEG[2]),
2010 .J2MID_EFa_BEG3(J2MID_EFa_BEG[3]),
2011 .J2MID_GHa_BEG0(J2MID_GHa_BEG[0]),
2012 .J2MID_GHa_BEG1(J2MID_GHa_BEG[1]),
2013 .J2MID_GHa_BEG2(J2MID_GHa_BEG[2]),
2014 .J2MID_GHa_BEG3(J2MID_GHa_BEG[3]),
2015 .J2MID_ABb_BEG0(J2MID_ABb_BEG[0]),
2016 .J2MID_ABb_BEG1(J2MID_ABb_BEG[1]),
2017 .J2MID_ABb_BEG2(J2MID_ABb_BEG[2]),
2018 .J2MID_ABb_BEG3(J2MID_ABb_BEG[3]),
2019 .J2MID_CDb_BEG0(J2MID_CDb_BEG[0]),
2020 .J2MID_CDb_BEG1(J2MID_CDb_BEG[1]),
2021 .J2MID_CDb_BEG2(J2MID_CDb_BEG[2]),
2022 .J2MID_CDb_BEG3(J2MID_CDb_BEG[3]),
2023 .J2MID_EFb_BEG0(J2MID_EFb_BEG[0]),
2024 .J2MID_EFb_BEG1(J2MID_EFb_BEG[1]),
2025 .J2MID_EFb_BEG2(J2MID_EFb_BEG[2]),
2026 .J2MID_EFb_BEG3(J2MID_EFb_BEG[3]),
2027 .J2MID_GHb_BEG0(J2MID_GHb_BEG[0]),
2028 .J2MID_GHb_BEG1(J2MID_GHb_BEG[1]),
2029 .J2MID_GHb_BEG2(J2MID_GHb_BEG[2]),
2030 .J2MID_GHb_BEG3(J2MID_GHb_BEG[3]),
2031 .J2END_AB_BEG0(J2END_AB_BEG[0]),
2032 .J2END_AB_BEG1(J2END_AB_BEG[1]),
2033 .J2END_AB_BEG2(J2END_AB_BEG[2]),
2034 .J2END_AB_BEG3(J2END_AB_BEG[3]),
2035 .J2END_CD_BEG0(J2END_CD_BEG[0]),
2036 .J2END_CD_BEG1(J2END_CD_BEG[1]),
2037 .J2END_CD_BEG2(J2END_CD_BEG[2]),
2038 .J2END_CD_BEG3(J2END_CD_BEG[3]),
2039 .J2END_EF_BEG0(J2END_EF_BEG[0]),
2040 .J2END_EF_BEG1(J2END_EF_BEG[1]),
2041 .J2END_EF_BEG2(J2END_EF_BEG[2]),
2042 .J2END_EF_BEG3(J2END_EF_BEG[3]),
2043 .J2END_GH_BEG0(J2END_GH_BEG[0]),
2044 .J2END_GH_BEG1(J2END_GH_BEG[1]),
2045 .J2END_GH_BEG2(J2END_GH_BEG[2]),
2046 .J2END_GH_BEG3(J2END_GH_BEG[3]),
2047 .JN2BEG0(JN2BEG[0]),
2048 .JN2BEG1(JN2BEG[1]),
2049 .JN2BEG2(JN2BEG[2]),
2050 .JN2BEG3(JN2BEG[3]),
2051 .JN2BEG4(JN2BEG[4]),
2052 .JN2BEG5(JN2BEG[5]),
2053 .JN2BEG6(JN2BEG[6]),
2054 .JN2BEG7(JN2BEG[7]),
2055 .JE2BEG0(JE2BEG[0]),
2056 .JE2BEG1(JE2BEG[1]),
2057 .JE2BEG2(JE2BEG[2]),
2058 .JE2BEG3(JE2BEG[3]),
2059 .JE2BEG4(JE2BEG[4]),
2060 .JE2BEG5(JE2BEG[5]),
2061 .JE2BEG6(JE2BEG[6]),
2062 .JE2BEG7(JE2BEG[7]),
2063 .JS2BEG0(JS2BEG[0]),
2064 .JS2BEG1(JS2BEG[1]),
2065 .JS2BEG2(JS2BEG[2]),
2066 .JS2BEG3(JS2BEG[3]),
2067 .JS2BEG4(JS2BEG[4]),
2068 .JS2BEG5(JS2BEG[5]),
2069 .JS2BEG6(JS2BEG[6]),
2070 .JS2BEG7(JS2BEG[7]),
2071 .JW2BEG0(JW2BEG[0]),
2072 .JW2BEG1(JW2BEG[1]),
2073 .JW2BEG2(JW2BEG[2]),
2074 .JW2BEG3(JW2BEG[3]),
2075 .JW2BEG4(JW2BEG[4]),
2076 .JW2BEG5(JW2BEG[5]),
2077 .JW2BEG6(JW2BEG[6]),
2078 .JW2BEG7(JW2BEG[7]),
2079 .J_l_AB_BEG0(J_l_AB_BEG[0]),
2080 .J_l_AB_BEG1(J_l_AB_BEG[1]),
2081 .J_l_AB_BEG2(J_l_AB_BEG[2]),
2082 .J_l_AB_BEG3(J_l_AB_BEG[3]),
2083 .J_l_CD_BEG0(J_l_CD_BEG[0]),
2084 .J_l_CD_BEG1(J_l_CD_BEG[1]),
2085 .J_l_CD_BEG2(J_l_CD_BEG[2]),
2086 .J_l_CD_BEG3(J_l_CD_BEG[3]),
2087 .J_l_EF_BEG0(J_l_EF_BEG[0]),
2088 .J_l_EF_BEG1(J_l_EF_BEG[1]),
2089 .J_l_EF_BEG2(J_l_EF_BEG[2]),
2090 .J_l_EF_BEG3(J_l_EF_BEG[3]),
2091 .J_l_GH_BEG0(J_l_GH_BEG[0]),
2092 .J_l_GH_BEG1(J_l_GH_BEG[1]),
2093 .J_l_GH_BEG2(J_l_GH_BEG[2]),
2094 .J_l_GH_BEG3(J_l_GH_BEG[3]),
2095 .ConfigBits(ConfigBits[414-1:2]),
2096 .ConfigBits_N(ConfigBits_N[414-1:2])
2097 );
2098
2099endmodule