OpenCores
URL https://opencores.org/ocsvn/an-fpga-implementation-of-low-latency-noc-based-mpsoc/an-fpga-implementation-of-low-latency-noc-based-mpsoc/trunk

Subversion Repositories an-fpga-implementation-of-low-latency-noc-based-mpsoc

[/] [an-fpga-implementation-of-low-latency-noc-based-mpsoc/] [trunk/] [mpsoc/] [rtl/] [src_topolgy/] [custom1/] [custom1_noc.sv] - Blame information for rev 54

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 48 alirezamon
 
2
/**************************************************************************
3
**      WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
4
**      OVERWRITTEN AND LOST. Rename this file if you wish to do any modification.
5
****************************************************************************/
6
 
7
 
8
/**********************************************************************
9
**      File: /home/alireza/work/git/hca_git/ProNoC/mpsoc/rtl/src_topolgy/custom1/custom1_noc.sv
10
**
11 54 alirezamon
**      Copyright (C) 2014-2021  Alireza Monemi
12 48 alirezamon
**
13 54 alirezamon
**      This file is part of ProNoC 2.0.0
14 48 alirezamon
**
15
**      ProNoC ( stands for Prototype Network-on-chip)  is free software:
16
**      you can redistribute it and/or modify it under the terms of the GNU
17
**      Lesser General Public License as published by the Free Software Foundation,
18
**      either version 2 of the License, or (at your option) any later version.
19
**
20
**      ProNoC is distributed in the hope that it will be useful, but WITHOUT
21
**      ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
22
**      or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
23
**      Public License for more details.
24
**
25
**      You should have received a copy of the GNU Lesser General Public
26
**      License along with ProNoC. If not, see .
27
******************************************************************************/
28
 
29 54 alirezamon
`include "pronoc_def.v"
30
 
31 48 alirezamon
module   custom1_noc
32
        import pronoc_pkg::*;
33
        (
34
        reset,
35
        clk,
36
        //T0,
37
        T0_chan_in,
38
        T0_chan_out,
39 54 alirezamon
        T0_router_event,
40 48 alirezamon
        //T1,
41
        T1_chan_in,
42
        T1_chan_out,
43 54 alirezamon
        T1_router_event,
44 48 alirezamon
        //T2,
45
        T2_chan_in,
46
        T2_chan_out,
47 54 alirezamon
        T2_router_event,
48 48 alirezamon
        //T3,
49
        T3_chan_in,
50
        T3_chan_out,
51 54 alirezamon
        T3_router_event,
52 48 alirezamon
        //T4,
53
        T4_chan_in,
54
        T4_chan_out,
55 54 alirezamon
        T4_router_event,
56 48 alirezamon
        //T5,
57
        T5_chan_in,
58
        T5_chan_out,
59 54 alirezamon
        T5_router_event,
60 48 alirezamon
        //T6,
61
        T6_chan_in,
62
        T6_chan_out,
63 54 alirezamon
        T6_router_event,
64 48 alirezamon
        //T7,
65
        T7_chan_in,
66
        T7_chan_out,
67 54 alirezamon
        T7_router_event,
68 48 alirezamon
        //T8,
69
        T8_chan_in,
70
        T8_chan_out,
71 54 alirezamon
        T8_router_event,
72 48 alirezamon
        //T9,
73
        T9_chan_in,
74
        T9_chan_out,
75 54 alirezamon
        T9_router_event,
76 48 alirezamon
        //T10,
77
        T10_chan_in,
78
        T10_chan_out,
79 54 alirezamon
        T10_router_event,
80 48 alirezamon
        //T11,
81
        T11_chan_in,
82
        T11_chan_out,
83 54 alirezamon
        T11_router_event,
84 48 alirezamon
        //T12,
85
        T12_chan_in,
86
        T12_chan_out,
87 54 alirezamon
        T12_router_event,
88 48 alirezamon
        //T13,
89
        T13_chan_in,
90
        T13_chan_out,
91 54 alirezamon
        T13_router_event,
92 48 alirezamon
        //T14,
93
        T14_chan_in,
94
        T14_chan_out,
95 54 alirezamon
        T14_router_event,
96 48 alirezamon
        //T15,
97
        T15_chan_in,
98 54 alirezamon
        T15_chan_out,
99
        T15_router_event
100 48 alirezamon
);
101
 
102
         function integer log2;
103
      input integer number; begin
104
         log2=(number <=1) ? 1: 0;
105
         while(2**log2
106
            log2=log2+1;
107
         end
108
      end
109
    endfunction // log2
110
 
111
        localparam
112
                NE = 16,
113
                NR = 16,
114
                RAw=log2(NR);
115
 
116
 
117
 
118
 
119
    input reset,clk;
120
 
121
 
122
        /*******************
123
        *               T0
124
        *******************/
125
        input  smartflit_chanel_t T0_chan_in;
126
        output smartflit_chanel_t T0_chan_out;
127 54 alirezamon
        output router_event_t T0_router_event;
128 48 alirezamon
 
129
        /*******************
130
        *               T1
131
        *******************/
132
        input  smartflit_chanel_t T1_chan_in;
133
        output smartflit_chanel_t T1_chan_out;
134 54 alirezamon
        output router_event_t T1_router_event;
135 48 alirezamon
 
136
        /*******************
137
        *               T2
138
        *******************/
139
        input  smartflit_chanel_t T2_chan_in;
140
        output smartflit_chanel_t T2_chan_out;
141 54 alirezamon
        output router_event_t T2_router_event;
142 48 alirezamon
 
143
        /*******************
144
        *               T3
145
        *******************/
146
        input  smartflit_chanel_t T3_chan_in;
147
        output smartflit_chanel_t T3_chan_out;
148 54 alirezamon
        output router_event_t T3_router_event;
149 48 alirezamon
 
150
        /*******************
151
        *               T4
152
        *******************/
153
        input  smartflit_chanel_t T4_chan_in;
154
        output smartflit_chanel_t T4_chan_out;
155 54 alirezamon
        output router_event_t T4_router_event;
156 48 alirezamon
 
157
        /*******************
158
        *               T5
159
        *******************/
160
        input  smartflit_chanel_t T5_chan_in;
161
        output smartflit_chanel_t T5_chan_out;
162 54 alirezamon
        output router_event_t T5_router_event;
163 48 alirezamon
 
164
        /*******************
165
        *               T6
166
        *******************/
167
        input  smartflit_chanel_t T6_chan_in;
168
        output smartflit_chanel_t T6_chan_out;
169 54 alirezamon
        output router_event_t T6_router_event;
170 48 alirezamon
 
171
        /*******************
172
        *               T7
173
        *******************/
174
        input  smartflit_chanel_t T7_chan_in;
175
        output smartflit_chanel_t T7_chan_out;
176 54 alirezamon
        output router_event_t T7_router_event;
177 48 alirezamon
 
178
        /*******************
179
        *               T8
180
        *******************/
181
        input  smartflit_chanel_t T8_chan_in;
182
        output smartflit_chanel_t T8_chan_out;
183 54 alirezamon
        output router_event_t T8_router_event;
184 48 alirezamon
 
185
        /*******************
186
        *               T9
187
        *******************/
188
        input  smartflit_chanel_t T9_chan_in;
189
        output smartflit_chanel_t T9_chan_out;
190 54 alirezamon
        output router_event_t T9_router_event;
191 48 alirezamon
 
192
        /*******************
193
        *               T10
194
        *******************/
195
        input  smartflit_chanel_t T10_chan_in;
196
        output smartflit_chanel_t T10_chan_out;
197 54 alirezamon
        output router_event_t T10_router_event;
198 48 alirezamon
 
199
        /*******************
200
        *               T11
201
        *******************/
202
        input  smartflit_chanel_t T11_chan_in;
203
        output smartflit_chanel_t T11_chan_out;
204 54 alirezamon
        output router_event_t T11_router_event;
205 48 alirezamon
 
206
        /*******************
207
        *               T12
208
        *******************/
209
        input  smartflit_chanel_t T12_chan_in;
210
        output smartflit_chanel_t T12_chan_out;
211 54 alirezamon
        output router_event_t T12_router_event;
212 48 alirezamon
 
213
        /*******************
214
        *               T13
215
        *******************/
216
        input  smartflit_chanel_t T13_chan_in;
217
        output smartflit_chanel_t T13_chan_out;
218 54 alirezamon
        output router_event_t T13_router_event;
219 48 alirezamon
 
220
        /*******************
221
        *               T14
222
        *******************/
223
        input  smartflit_chanel_t T14_chan_in;
224
        output smartflit_chanel_t T14_chan_out;
225 54 alirezamon
        output router_event_t T14_router_event;
226 48 alirezamon
 
227
        /*******************
228
        *               T15
229
        *******************/
230
        input  smartflit_chanel_t T15_chan_in;
231
        output smartflit_chanel_t T15_chan_out;
232 54 alirezamon
        output router_event_t T15_router_event;
233 48 alirezamon
 
234
        /*******************
235
        *               R0
236
        *******************/
237
        wire R0_clk;
238
        wire R0_reset;
239
 
240
        wire [RAw-1 :  0] R0_current_r_addr;
241
 
242
        smartflit_chanel_t    R0_chan_in   [3-1 : 0];
243
        smartflit_chanel_t    R0_chan_out  [3-1 : 0];
244 54 alirezamon
        router_event_t R0_router_event [3-1 : 0];
245 48 alirezamon
 
246
 
247
        /*******************
248
        *               R1
249
        *******************/
250
        wire R1_clk;
251
        wire R1_reset;
252
 
253
        wire [RAw-1 :  0] R1_current_r_addr;
254
 
255
        smartflit_chanel_t    R1_chan_in   [3-1 : 0];
256
        smartflit_chanel_t    R1_chan_out  [3-1 : 0];
257 54 alirezamon
        router_event_t R1_router_event [3-1 : 0];
258 48 alirezamon
 
259
 
260
        /*******************
261
        *               R2
262
        *******************/
263
        wire R2_clk;
264
        wire R2_reset;
265
 
266
        wire [RAw-1 :  0] R2_current_r_addr;
267
 
268
        smartflit_chanel_t    R2_chan_in   [3-1 : 0];
269
        smartflit_chanel_t    R2_chan_out  [3-1 : 0];
270 54 alirezamon
        router_event_t R2_router_event [3-1 : 0];
271 48 alirezamon
 
272
 
273
        /*******************
274
        *               R3
275
        *******************/
276
        wire R3_clk;
277
        wire R3_reset;
278
 
279
        wire [RAw-1 :  0] R3_current_r_addr;
280
 
281
        smartflit_chanel_t    R3_chan_in   [3-1 : 0];
282
        smartflit_chanel_t    R3_chan_out  [3-1 : 0];
283 54 alirezamon
        router_event_t R3_router_event [3-1 : 0];
284 48 alirezamon
 
285
 
286
        /*******************
287
        *               R4
288
        *******************/
289
        wire R4_clk;
290
        wire R4_reset;
291
 
292
        wire [RAw-1 :  0] R4_current_r_addr;
293
 
294
        smartflit_chanel_t    R4_chan_in   [4-1 : 0];
295
        smartflit_chanel_t    R4_chan_out  [4-1 : 0];
296 54 alirezamon
        router_event_t R4_router_event [4-1 : 0];
297 48 alirezamon
 
298
 
299
        /*******************
300
        *               R5
301
        *******************/
302
        wire R5_clk;
303
        wire R5_reset;
304
 
305
        wire [RAw-1 :  0] R5_current_r_addr;
306
 
307
        smartflit_chanel_t    R5_chan_in   [4-1 : 0];
308
        smartflit_chanel_t    R5_chan_out  [4-1 : 0];
309 54 alirezamon
        router_event_t R5_router_event [4-1 : 0];
310 48 alirezamon
 
311
 
312
        /*******************
313
        *               R6
314
        *******************/
315
        wire R6_clk;
316
        wire R6_reset;
317
 
318
        wire [RAw-1 :  0] R6_current_r_addr;
319
 
320
        smartflit_chanel_t    R6_chan_in   [4-1 : 0];
321
        smartflit_chanel_t    R6_chan_out  [4-1 : 0];
322 54 alirezamon
        router_event_t R6_router_event [4-1 : 0];
323 48 alirezamon
 
324
 
325
        /*******************
326
        *               R7
327
        *******************/
328
        wire R7_clk;
329
        wire R7_reset;
330
 
331
        wire [RAw-1 :  0] R7_current_r_addr;
332
 
333
        smartflit_chanel_t    R7_chan_in   [4-1 : 0];
334
        smartflit_chanel_t    R7_chan_out  [4-1 : 0];
335 54 alirezamon
        router_event_t R7_router_event [4-1 : 0];
336 48 alirezamon
 
337
 
338
        /*******************
339
        *               R12
340
        *******************/
341
        wire R12_clk;
342
        wire R12_reset;
343
 
344
        wire [RAw-1 :  0] R12_current_r_addr;
345
 
346
        smartflit_chanel_t    R12_chan_in   [4-1 : 0];
347
        smartflit_chanel_t    R12_chan_out  [4-1 : 0];
348 54 alirezamon
        router_event_t R12_router_event [4-1 : 0];
349 48 alirezamon
 
350
 
351
        /*******************
352
        *               R13
353
        *******************/
354
        wire R13_clk;
355
        wire R13_reset;
356
 
357
        wire [RAw-1 :  0] R13_current_r_addr;
358
 
359
        smartflit_chanel_t    R13_chan_in   [4-1 : 0];
360
        smartflit_chanel_t    R13_chan_out  [4-1 : 0];
361 54 alirezamon
        router_event_t R13_router_event [4-1 : 0];
362 48 alirezamon
 
363
 
364
        /*******************
365
        *               R14
366
        *******************/
367
        wire R14_clk;
368
        wire R14_reset;
369
 
370
        wire [RAw-1 :  0] R14_current_r_addr;
371
 
372
        smartflit_chanel_t    R14_chan_in   [4-1 : 0];
373
        smartflit_chanel_t    R14_chan_out  [4-1 : 0];
374 54 alirezamon
        router_event_t R14_router_event [4-1 : 0];
375 48 alirezamon
 
376
 
377
        /*******************
378
        *               R15
379
        *******************/
380
        wire R15_clk;
381
        wire R15_reset;
382
 
383
        wire [RAw-1 :  0] R15_current_r_addr;
384
 
385
        smartflit_chanel_t    R15_chan_in   [4-1 : 0];
386
        smartflit_chanel_t    R15_chan_out  [4-1 : 0];
387 54 alirezamon
        router_event_t R15_router_event [4-1 : 0];
388 48 alirezamon
 
389
 
390
        /*******************
391
        *               R8
392
        *******************/
393
        wire R8_clk;
394
        wire R8_reset;
395
 
396
        wire [RAw-1 :  0] R8_current_r_addr;
397
 
398
        smartflit_chanel_t    R8_chan_in   [5-1 : 0];
399
        smartflit_chanel_t    R8_chan_out  [5-1 : 0];
400 54 alirezamon
        router_event_t R8_router_event [5-1 : 0];
401 48 alirezamon
 
402
 
403
        /*******************
404
        *               R9
405
        *******************/
406
        wire R9_clk;
407
        wire R9_reset;
408
 
409
        wire [RAw-1 :  0] R9_current_r_addr;
410
 
411
        smartflit_chanel_t    R9_chan_in   [5-1 : 0];
412
        smartflit_chanel_t    R9_chan_out  [5-1 : 0];
413 54 alirezamon
        router_event_t R9_router_event [5-1 : 0];
414 48 alirezamon
 
415
 
416
        /*******************
417
        *               R10
418
        *******************/
419
        wire R10_clk;
420
        wire R10_reset;
421
 
422
        wire [RAw-1 :  0] R10_current_r_addr;
423
 
424
        smartflit_chanel_t    R10_chan_in   [5-1 : 0];
425
        smartflit_chanel_t    R10_chan_out  [5-1 : 0];
426 54 alirezamon
        router_event_t R10_router_event [5-1 : 0];
427 48 alirezamon
 
428
 
429
        /*******************
430
        *               R11
431
        *******************/
432
        wire R11_clk;
433
        wire R11_reset;
434
 
435
        wire [RAw-1 :  0] R11_current_r_addr;
436
 
437
        smartflit_chanel_t    R11_chan_in   [5-1 : 0];
438
        smartflit_chanel_t    R11_chan_out  [5-1 : 0];
439 54 alirezamon
        router_event_t R11_router_event [5-1 : 0];
440 48 alirezamon
 
441
 
442
 
443
 
444
        /*******************
445
        *               R0
446
        *******************/
447
        router_top #(
448
                .P(3)
449
        )
450
        R0
451
        (
452
                .clk(R0_clk),
453
                .reset(R0_reset),
454 54 alirezamon
                .current_r_id(0),
455 48 alirezamon
                .current_r_addr  (R0_current_r_addr),
456
                .chan_in   (R0_chan_in),
457 54 alirezamon
                .chan_out  (R0_chan_out),
458
                .router_event (R0_router_event)
459 48 alirezamon
        );
460
 
461
                assign R0_clk = clk;
462
                assign R0_reset = reset;
463
                assign R0_current_r_addr = 0;
464
//Connect R0 port 0 to  T0 port 0
465
                assign R0_chan_in [0]  = T0_chan_in;
466
                assign T0_chan_out = R0_chan_out [0];
467 54 alirezamon
                assign T0_router_event = R0_router_event [0];
468 48 alirezamon
//Connect R0 port 1 to  R14 port 3
469
                assign R0_chan_in [1]   = R14_chan_out [3];
470
//Connect R0 port 2 to  R13 port 3
471
                assign R0_chan_in [2]   = R13_chan_out [3];
472
 
473
        /*******************
474
        *               R1
475
        *******************/
476
        router_top #(
477
                .P(3)
478
        )
479
        R1
480
        (
481
                .clk(R1_clk),
482
                .reset(R1_reset),
483 54 alirezamon
                .current_r_id(1),
484 48 alirezamon
                .current_r_addr  (R1_current_r_addr),
485
                .chan_in   (R1_chan_in),
486 54 alirezamon
                .chan_out  (R1_chan_out),
487
                .router_event (R1_router_event)
488 48 alirezamon
        );
489
 
490
                assign R1_clk = clk;
491
                assign R1_reset = reset;
492
                assign R1_current_r_addr = 1;
493
//Connect R1 port 0 to  T1 port 0
494
                assign R1_chan_in [0]  = T1_chan_in;
495
                assign T1_chan_out = R1_chan_out [0];
496 54 alirezamon
                assign T1_router_event = R1_router_event [0];
497 48 alirezamon
//Connect R1 port 1 to  R7 port 3
498
                assign R1_chan_in [1]   = R7_chan_out [3];
499
//Connect R1 port 2 to  R2 port 2
500
                assign R1_chan_in [2]   = R2_chan_out [2];
501
 
502
        /*******************
503
        *               R2
504
        *******************/
505
        router_top #(
506
                .P(3)
507
        )
508
        R2
509
        (
510
                .clk(R2_clk),
511
                .reset(R2_reset),
512 54 alirezamon
                .current_r_id(2),
513 48 alirezamon
                .current_r_addr  (R2_current_r_addr),
514
                .chan_in   (R2_chan_in),
515 54 alirezamon
                .chan_out  (R2_chan_out),
516
                .router_event (R2_router_event)
517 48 alirezamon
        );
518
 
519
                assign R2_clk = clk;
520
                assign R2_reset = reset;
521
                assign R2_current_r_addr = 2;
522
//Connect R2 port 0 to  T2 port 0
523
                assign R2_chan_in [0]  = T2_chan_in;
524
                assign T2_chan_out = R2_chan_out [0];
525 54 alirezamon
                assign T2_router_event = R2_router_event [0];
526 48 alirezamon
//Connect R2 port 1 to  R15 port 2
527
                assign R2_chan_in [1]   = R15_chan_out [2];
528
//Connect R2 port 2 to  R1 port 2
529
                assign R2_chan_in [2]   = R1_chan_out [2];
530
 
531
        /*******************
532
        *               R3
533
        *******************/
534
        router_top #(
535
                .P(3)
536
        )
537
        R3
538
        (
539
                .clk(R3_clk),
540
                .reset(R3_reset),
541 54 alirezamon
                .current_r_id(3),
542 48 alirezamon
                .current_r_addr  (R3_current_r_addr),
543
                .chan_in   (R3_chan_in),
544 54 alirezamon
                .chan_out  (R3_chan_out),
545
                .router_event (R3_router_event)
546 48 alirezamon
        );
547
 
548
                assign R3_clk = clk;
549
                assign R3_reset = reset;
550
                assign R3_current_r_addr = 3;
551
//Connect R3 port 0 to  T3 port 0
552
                assign R3_chan_in [0]  = T3_chan_in;
553
                assign T3_chan_out = R3_chan_out [0];
554 54 alirezamon
                assign T3_router_event = R3_router_event [0];
555 48 alirezamon
//Connect R3 port 1 to  R15 port 3
556
                assign R3_chan_in [1]   = R15_chan_out [3];
557
//Connect R3 port 2 to  R4 port 2
558
                assign R3_chan_in [2]   = R4_chan_out [2];
559
 
560
        /*******************
561
        *               R4
562
        *******************/
563
        router_top #(
564
                .P(4)
565
        )
566
        R4
567
        (
568
                .clk(R4_clk),
569
                .reset(R4_reset),
570 54 alirezamon
                .current_r_id(4),
571 48 alirezamon
                .current_r_addr  (R4_current_r_addr),
572
                .chan_in   (R4_chan_in),
573 54 alirezamon
                .chan_out  (R4_chan_out),
574
                .router_event (R4_router_event)
575 48 alirezamon
        );
576
 
577
                assign R4_clk = clk;
578
                assign R4_reset = reset;
579
                assign R4_current_r_addr = 4;
580
//Connect R4 port 0 to  T4 port 0
581
                assign R4_chan_in [0]  = T4_chan_in;
582
                assign T4_chan_out = R4_chan_out [0];
583 54 alirezamon
                assign T4_router_event = R4_router_event [0];
584 48 alirezamon
//Connect R4 port 1 to  R9 port 2
585
                assign R4_chan_in [1]   = R9_chan_out [2];
586
//Connect R4 port 2 to  R3 port 2
587
                assign R4_chan_in [2]   = R3_chan_out [2];
588
//Connect R4 port 3 to  R6 port 3
589
                assign R4_chan_in [3]   = R6_chan_out [3];
590
 
591
        /*******************
592
        *               R5
593
        *******************/
594
        router_top #(
595
                .P(4)
596
        )
597
        R5
598
        (
599
                .clk(R5_clk),
600
                .reset(R5_reset),
601 54 alirezamon
                .current_r_id(5),
602 48 alirezamon
                .current_r_addr  (R5_current_r_addr),
603
                .chan_in   (R5_chan_in),
604 54 alirezamon
                .chan_out  (R5_chan_out),
605
                .router_event (R5_router_event)
606 48 alirezamon
        );
607
 
608
                assign R5_clk = clk;
609
                assign R5_reset = reset;
610
                assign R5_current_r_addr = 5;
611
//Connect R5 port 0 to  T5 port 0
612
                assign R5_chan_in [0]  = T5_chan_in;
613
                assign T5_chan_out = R5_chan_out [0];
614 54 alirezamon
                assign T5_router_event = R5_router_event [0];
615 48 alirezamon
//Connect R5 port 1 to  R11 port 4
616
                assign R5_chan_in [1]   = R11_chan_out [4];
617
//Connect R5 port 2 to  R6 port 2
618
                assign R5_chan_in [2]   = R6_chan_out [2];
619
//Connect R5 port 3 to  R13 port 2
620
                assign R5_chan_in [3]   = R13_chan_out [2];
621
 
622
        /*******************
623
        *               R6
624
        *******************/
625
        router_top #(
626
                .P(4)
627
        )
628
        R6
629
        (
630
                .clk(R6_clk),
631
                .reset(R6_reset),
632 54 alirezamon
                .current_r_id(6),
633 48 alirezamon
                .current_r_addr  (R6_current_r_addr),
634
                .chan_in   (R6_chan_in),
635 54 alirezamon
                .chan_out  (R6_chan_out),
636
                .router_event (R6_router_event)
637 48 alirezamon
        );
638
 
639
                assign R6_clk = clk;
640
                assign R6_reset = reset;
641
                assign R6_current_r_addr = 6;
642
//Connect R6 port 0 to  T6 port 0
643
                assign R6_chan_in [0]  = T6_chan_in;
644
                assign T6_chan_out = R6_chan_out [0];
645 54 alirezamon
                assign T6_router_event = R6_router_event [0];
646 48 alirezamon
//Connect R6 port 1 to  R9 port 3
647
                assign R6_chan_in [1]   = R9_chan_out [3];
648
//Connect R6 port 2 to  R5 port 2
649
                assign R6_chan_in [2]   = R5_chan_out [2];
650
//Connect R6 port 3 to  R4 port 3
651
                assign R6_chan_in [3]   = R4_chan_out [3];
652
 
653
        /*******************
654
        *               R7
655
        *******************/
656
        router_top #(
657
                .P(4)
658
        )
659
        R7
660
        (
661
                .clk(R7_clk),
662
                .reset(R7_reset),
663 54 alirezamon
                .current_r_id(7),
664 48 alirezamon
                .current_r_addr  (R7_current_r_addr),
665
                .chan_in   (R7_chan_in),
666 54 alirezamon
                .chan_out  (R7_chan_out),
667
                .router_event (R7_router_event)
668 48 alirezamon
        );
669
 
670
                assign R7_clk = clk;
671
                assign R7_reset = reset;
672
                assign R7_current_r_addr = 7;
673
//Connect R7 port 0 to  T7 port 0
674
                assign R7_chan_in [0]  = T7_chan_in;
675
                assign T7_chan_out = R7_chan_out [0];
676 54 alirezamon
                assign T7_router_event = R7_router_event [0];
677 48 alirezamon
//Connect R7 port 1 to  R12 port 3
678
                assign R7_chan_in [1]   = R12_chan_out [3];
679
//Connect R7 port 2 to  R14 port 2
680
                assign R7_chan_in [2]   = R14_chan_out [2];
681
//Connect R7 port 3 to  R1 port 1
682
                assign R7_chan_in [3]   = R1_chan_out [1];
683
 
684
        /*******************
685
        *               R12
686
        *******************/
687
        router_top #(
688
                .P(4)
689
        )
690
        R12
691
        (
692
                .clk(R12_clk),
693
                .reset(R12_reset),
694 54 alirezamon
                .current_r_id(8),
695 48 alirezamon
                .current_r_addr  (R12_current_r_addr),
696
                .chan_in   (R12_chan_in),
697 54 alirezamon
                .chan_out  (R12_chan_out),
698
                .router_event (R12_router_event)
699 48 alirezamon
        );
700
 
701
                assign R12_clk = clk;
702
                assign R12_reset = reset;
703
                assign R12_current_r_addr = 8;
704
//Connect R12 port 0 to  T8 port 0
705
                assign R12_chan_in [0]  = T8_chan_in;
706
                assign T8_chan_out = R12_chan_out [0];
707 54 alirezamon
                assign T8_router_event = R12_router_event [0];
708 48 alirezamon
//Connect R12 port 1 to  R8 port 4
709
                assign R12_chan_in [1]   = R8_chan_out [4];
710
//Connect R12 port 2 to  R10 port 3
711
                assign R12_chan_in [2]   = R10_chan_out [3];
712
//Connect R12 port 3 to  R7 port 1
713
                assign R12_chan_in [3]   = R7_chan_out [1];
714
 
715
        /*******************
716
        *               R13
717
        *******************/
718
        router_top #(
719
                .P(4)
720
        )
721
        R13
722
        (
723
                .clk(R13_clk),
724
                .reset(R13_reset),
725 54 alirezamon
                .current_r_id(9),
726 48 alirezamon
                .current_r_addr  (R13_current_r_addr),
727
                .chan_in   (R13_chan_in),
728 54 alirezamon
                .chan_out  (R13_chan_out),
729
                .router_event (R13_router_event)
730 48 alirezamon
        );
731
 
732
                assign R13_clk = clk;
733
                assign R13_reset = reset;
734
                assign R13_current_r_addr = 9;
735
//Connect R13 port 0 to  T9 port 0
736
                assign R13_chan_in [0]  = T9_chan_in;
737
                assign T9_chan_out = R13_chan_out [0];
738 54 alirezamon
                assign T9_router_event = R13_router_event [0];
739 48 alirezamon
//Connect R13 port 1 to  R8 port 2
740
                assign R13_chan_in [1]   = R8_chan_out [2];
741
//Connect R13 port 2 to  R5 port 3
742
                assign R13_chan_in [2]   = R5_chan_out [3];
743
//Connect R13 port 3 to  R0 port 2
744
                assign R13_chan_in [3]   = R0_chan_out [2];
745
 
746
        /*******************
747
        *               R14
748
        *******************/
749
        router_top #(
750
                .P(4)
751
        )
752
        R14
753
        (
754
                .clk(R14_clk),
755
                .reset(R14_reset),
756 54 alirezamon
                .current_r_id(10),
757 48 alirezamon
                .current_r_addr  (R14_current_r_addr),
758
                .chan_in   (R14_chan_in),
759 54 alirezamon
                .chan_out  (R14_chan_out),
760
                .router_event (R14_router_event)
761 48 alirezamon
        );
762
 
763
                assign R14_clk = clk;
764
                assign R14_reset = reset;
765
                assign R14_current_r_addr = 10;
766
//Connect R14 port 0 to  T10 port 0
767
                assign R14_chan_in [0]  = T10_chan_in;
768
                assign T10_chan_out = R14_chan_out [0];
769 54 alirezamon
                assign T10_router_event = R14_router_event [0];
770 48 alirezamon
//Connect R14 port 1 to  R8 port 3
771
                assign R14_chan_in [1]   = R8_chan_out [3];
772
//Connect R14 port 2 to  R7 port 2
773
                assign R14_chan_in [2]   = R7_chan_out [2];
774
//Connect R14 port 3 to  R0 port 1
775
                assign R14_chan_in [3]   = R0_chan_out [1];
776
 
777
        /*******************
778
        *               R15
779
        *******************/
780
        router_top #(
781
                .P(4)
782
        )
783
        R15
784
        (
785
                .clk(R15_clk),
786
                .reset(R15_reset),
787 54 alirezamon
                .current_r_id(11),
788 48 alirezamon
                .current_r_addr  (R15_current_r_addr),
789
                .chan_in   (R15_chan_in),
790 54 alirezamon
                .chan_out  (R15_chan_out),
791
                .router_event (R15_router_event)
792 48 alirezamon
        );
793
 
794
                assign R15_clk = clk;
795
                assign R15_reset = reset;
796
                assign R15_current_r_addr = 11;
797
//Connect R15 port 0 to  T11 port 0
798
                assign R15_chan_in [0]  = T11_chan_in;
799
                assign T11_chan_out = R15_chan_out [0];
800 54 alirezamon
                assign T11_router_event = R15_router_event [0];
801 48 alirezamon
//Connect R15 port 1 to  R10 port 4
802
                assign R15_chan_in [1]   = R10_chan_out [4];
803
//Connect R15 port 2 to  R2 port 1
804
                assign R15_chan_in [2]   = R2_chan_out [1];
805
//Connect R15 port 3 to  R3 port 1
806
                assign R15_chan_in [3]   = R3_chan_out [1];
807
 
808
        /*******************
809
        *               R8
810
        *******************/
811
        router_top #(
812
                .P(5)
813
        )
814
        R8
815
        (
816
                .clk(R8_clk),
817
                .reset(R8_reset),
818 54 alirezamon
                .current_r_id(12),
819 48 alirezamon
                .current_r_addr  (R8_current_r_addr),
820
                .chan_in   (R8_chan_in),
821 54 alirezamon
                .chan_out  (R8_chan_out),
822
                .router_event (R8_router_event)
823 48 alirezamon
        );
824
 
825
                assign R8_clk = clk;
826
                assign R8_reset = reset;
827
                assign R8_current_r_addr = 12;
828
//Connect R8 port 0 to  T12 port 0
829
                assign R8_chan_in [0]  = T12_chan_in;
830
                assign T12_chan_out = R8_chan_out [0];
831 54 alirezamon
                assign T12_router_event = R8_router_event [0];
832 48 alirezamon
//Connect R8 port 1 to  R11 port 1
833
                assign R8_chan_in [1]   = R11_chan_out [1];
834
//Connect R8 port 2 to  R13 port 1
835
                assign R8_chan_in [2]   = R13_chan_out [1];
836
//Connect R8 port 3 to  R14 port 1
837
                assign R8_chan_in [3]   = R14_chan_out [1];
838
//Connect R8 port 4 to  R12 port 1
839
                assign R8_chan_in [4]   = R12_chan_out [1];
840
 
841
        /*******************
842
        *               R9
843
        *******************/
844
        router_top #(
845
                .P(5)
846
        )
847
        R9
848
        (
849
                .clk(R9_clk),
850
                .reset(R9_reset),
851 54 alirezamon
                .current_r_id(13),
852 48 alirezamon
                .current_r_addr  (R9_current_r_addr),
853
                .chan_in   (R9_chan_in),
854 54 alirezamon
                .chan_out  (R9_chan_out),
855
                .router_event (R9_router_event)
856 48 alirezamon
        );
857
 
858
                assign R9_clk = clk;
859
                assign R9_reset = reset;
860
                assign R9_current_r_addr = 13;
861
//Connect R9 port 0 to  T13 port 0
862
                assign R9_chan_in [0]  = T13_chan_in;
863
                assign T13_chan_out = R9_chan_out [0];
864 54 alirezamon
                assign T13_router_event = R9_router_event [0];
865 48 alirezamon
//Connect R9 port 1 to  R11 port 3
866
                assign R9_chan_in [1]   = R11_chan_out [3];
867
//Connect R9 port 2 to  R4 port 1
868
                assign R9_chan_in [2]   = R4_chan_out [1];
869
//Connect R9 port 3 to  R6 port 1
870
                assign R9_chan_in [3]   = R6_chan_out [1];
871
//Connect R9 port 4 to  R10 port 2
872
                assign R9_chan_in [4]   = R10_chan_out [2];
873
 
874
        /*******************
875
        *               R10
876
        *******************/
877
        router_top #(
878
                .P(5)
879
        )
880
        R10
881
        (
882
                .clk(R10_clk),
883
                .reset(R10_reset),
884 54 alirezamon
                .current_r_id(14),
885 48 alirezamon
                .current_r_addr  (R10_current_r_addr),
886
                .chan_in   (R10_chan_in),
887 54 alirezamon
                .chan_out  (R10_chan_out),
888
                .router_event (R10_router_event)
889 48 alirezamon
        );
890
 
891
                assign R10_clk = clk;
892
                assign R10_reset = reset;
893
                assign R10_current_r_addr = 14;
894
//Connect R10 port 0 to  T14 port 0
895
                assign R10_chan_in [0]  = T14_chan_in;
896
                assign T14_chan_out = R10_chan_out [0];
897 54 alirezamon
                assign T14_router_event = R10_router_event [0];
898 48 alirezamon
//Connect R10 port 1 to  R11 port 2
899
                assign R10_chan_in [1]   = R11_chan_out [2];
900
//Connect R10 port 2 to  R9 port 4
901
                assign R10_chan_in [2]   = R9_chan_out [4];
902
//Connect R10 port 3 to  R12 port 2
903
                assign R10_chan_in [3]   = R12_chan_out [2];
904
//Connect R10 port 4 to  R15 port 1
905
                assign R10_chan_in [4]   = R15_chan_out [1];
906
 
907
        /*******************
908
        *               R11
909
        *******************/
910
        router_top #(
911
                .P(5)
912
        )
913
        R11
914
        (
915
                .clk(R11_clk),
916
                .reset(R11_reset),
917 54 alirezamon
                .current_r_id(15),
918 48 alirezamon
                .current_r_addr  (R11_current_r_addr),
919
                .chan_in   (R11_chan_in),
920 54 alirezamon
                .chan_out  (R11_chan_out),
921
                .router_event (R11_router_event)
922 48 alirezamon
        );
923
 
924
                assign R11_clk = clk;
925
                assign R11_reset = reset;
926
                assign R11_current_r_addr = 15;
927
//Connect R11 port 0 to  T15 port 0
928
                assign R11_chan_in [0]  = T15_chan_in;
929
                assign T15_chan_out = R11_chan_out [0];
930 54 alirezamon
                assign T15_router_event = R11_router_event [0];
931 48 alirezamon
//Connect R11 port 1 to  R8 port 1
932
                assign R11_chan_in [1]   = R8_chan_out [1];
933
//Connect R11 port 2 to  R10 port 1
934
                assign R11_chan_in [2]   = R10_chan_out [1];
935
//Connect R11 port 3 to  R9 port 1
936
                assign R11_chan_in [3]   = R9_chan_out [1];
937
//Connect R11 port 4 to  R5 port 1
938
                assign R11_chan_in [4]   = R5_chan_out [1];
939
 
940
 
941
 
942
 
943
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.