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 56

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

powered by: WebSVN 2.1.0

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