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/] [Tcustom1Rcustom_conventional_routing.v] - 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/Tcustom1Rcustom_conventional_routing.v
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 <http:**www.gnu.org/licenses/>.
27
******************************************************************************/
28
module Tcustom1Rcustom_conventional_routing  #(
29
        parameter RAw = 3,
30
        parameter EAw = 3,
31
        parameter DSTPw=4
32
)
33
(
34
        dest_e_addr,
35
        src_e_addr,
36
        destport
37
);
38
 
39
        input   [EAw-1   :0] dest_e_addr;
40
        input   [EAw-1   :0] src_e_addr;
41
        output reg [DSTPw-1 :0] destport;
42
 
43
 
44
        always@(*)begin
45
                destport=0;
46
                case(src_e_addr) //source address of each individual NI is fixed. So this CASE will be optimized by the synthesizer for each endpoint. 
47
                0: begin
48
                        case(dest_e_addr)
49
                        1,2,3,7,10: begin
50
                                destport= 1;
51
                        end
52
                        4,5,6,8,9,11,12,13,14,15: begin
53
                                destport= 2;
54
                        end
55
 
56
                        default: begin
57
                                destport= {DSTPw{1'bX}};
58
                        end
59
                        endcase
60
                end//0
61
                1: begin
62
                        case(dest_e_addr)
63
                        0,4,7,8,9,10,12,15: begin
64
                                destport= 1;
65
                        end
66
                        2,3,5,6,11,13,14: begin
67
                                destport= 2;
68
                        end
69
 
70
                        default: begin
71
                                destport= {DSTPw{1'bX}};
72
                        end
73
                        endcase
74
                end//1
75
                2: begin
76
                        case(dest_e_addr)
77
                        3,4,5,6,8,11,13,14,15: begin
78
                                destport= 1;
79
                        end
80
                        0,1,7,9,10,12: begin
81
                                destport= 2;
82
                        end
83
 
84
                        default: begin
85
                                destport= {DSTPw{1'bX}};
86
                        end
87
                        endcase
88
                end//2
89
                3: begin
90
                        case(dest_e_addr)
91
                        2,10,11,12: begin
92
                                destport= 1;
93
                        end
94
                        0,1,4,5,6,7,8,9,13,14,15: begin
95
                                destport= 2;
96
                        end
97
 
98
                        default: begin
99
                                destport= {DSTPw{1'bX}};
100
                        end
101
                        endcase
102
                end//3
103
                4: begin
104
                        case(dest_e_addr)
105
                        1,6,7,8,10,13: begin
106
                                destport= 1;
107
                        end
108
                        3: begin
109
                                destport= 2;
110
                        end
111
                        0,2,5,9,11,12,14,15: begin
112
                                destport= 3;
113
                        end
114
 
115
                        default: begin
116
                                destport= {DSTPw{1'bX}};
117
                        end
118
                        endcase
119
                end//4
120
                5: begin
121
                        case(dest_e_addr)
122
                        1,7,8,10,11,12,15: begin
123
                                destport= 1;
124
                        end
125
                        2,3,4,6,13,14: begin
126
                                destport= 2;
127
                        end
128
                        0,9: begin
129
                                destport= 3;
130
                        end
131
 
132
                        default: begin
133
                                destport= {DSTPw{1'bX}};
134
                        end
135
                        endcase
136
                end//5
137
                6: begin
138
                        case(dest_e_addr)
139
                        3,4,13: begin
140
                                destport= 1;
141
                        end
142
                        0,1,2,5,7,8,9,10,11,12,14,15: begin
143
                                destport= 2;
144
                        end
145
 
146
                        default: begin
147
                                destport= {DSTPw{1'bX}};
148
                        end
149
                        endcase
150
                end//6
151
                7: begin
152
                        case(dest_e_addr)
153
                        2,3,4,5,6,8,9,11,12,13,14,15: begin
154
                                destport= 1;
155
                        end
156
                        0,10: begin
157
                                destport= 2;
158
                        end
159
                        1: begin
160
                                destport= 3;
161
                        end
162
 
163
                        default: begin
164
                                destport= {DSTPw{1'bX}};
165
                        end
166
                        endcase
167
                end//7
168
                8: begin
169
                        case(dest_e_addr)
170
                        0,4,5,9,10,12: begin
171
                                destport= 1;
172
                        end
173
                        2,3,6,11,13,14,15: begin
174
                                destport= 2;
175
                        end
176
                        1,7: begin
177
                                destport= 3;
178
                        end
179
 
180
                        default: begin
181
                                destport= {DSTPw{1'bX}};
182
                        end
183
                        endcase
184
                end//8
185
                9: begin
186
                        case(dest_e_addr)
187
                        1,7,8,10,12: begin
188
                                destport= 1;
189
                        end
190
                        2,3,4,5,6,11,13,14,15: begin
191
                                destport= 2;
192
                        end
193
                        0: begin
194
                                destport= 3;
195
                        end
196
 
197
                        default: begin
198
                                destport= {DSTPw{1'bX}};
199
                        end
200
                        endcase
201
                end//9
202
                10: begin
203
                        case(dest_e_addr)
204
                        2,3,4,5,6,8,9,11,12,13,14,15: begin
205
                                destport= 1;
206
                        end
207
                        1,7: begin
208
                                destport= 2;
209
                        end
210
                        0: begin
211
                                destport= 3;
212
                        end
213
 
214
                        default: begin
215
                                destport= {DSTPw{1'bX}};
216
                        end
217
                        endcase
218
                end//10
219
                11: begin
220
                        case(dest_e_addr)
221
                        0,1,4,5,6,7,8,9,10,12,13,14,15: begin
222
                                destport= 1;
223
                        end
224
                        2: begin
225
                                destport= 2;
226
                        end
227
                        3: begin
228
                                destport= 3;
229
                        end
230
 
231
                        default: begin
232
                                destport= {DSTPw{1'bX}};
233
                        end
234
                        endcase
235
                end//11
236
                12: begin
237
                        case(dest_e_addr)
238
                        2,3,4,5,6,11,13,14,15: begin
239
                                destport= 1;
240
                        end
241
                        0,9: begin
242
                                destport= 2;
243
                        end
244
                        1,7,10: begin
245
                                destport= 3;
246
                        end
247
                        8: begin
248
                                destport= 4;
249
                        end
250
 
251
                        default: begin
252
                                destport= {DSTPw{1'bX}};
253
                        end
254
                        endcase
255
                end//12
256
                13: begin
257
                        case(dest_e_addr)
258
                        3,4: begin
259
                                destport= 2;
260
                        end
261
                        6: begin
262
                                destport= 3;
263
                        end
264
                        0,1,2,5,7,8,9,10,11,12,14,15: begin
265
                                destport= 4;
266
                        end
267
 
268
                        default: begin
269
                                destport= {DSTPw{1'bX}};
270
                        end
271
                        endcase
272
                end//13
273
                14: begin
274
                        case(dest_e_addr)
275
                        5,9,12,15: begin
276
                                destport= 1;
277
                        end
278
                        3,4,6,13: begin
279
                                destport= 2;
280
                        end
281
                        0,1,7,8,10: begin
282
                                destport= 3;
283
                        end
284
                        2,11: begin
285
                                destport= 4;
286
                        end
287
 
288
                        default: begin
289
                                destport= {DSTPw{1'bX}};
290
                        end
291
                        endcase
292
                end//14
293
                15: begin
294
                        case(dest_e_addr)
295
                        1,7,8,10,12: begin
296
                                destport= 1;
297
                        end
298
                        2,11,14: begin
299
                                destport= 2;
300
                        end
301
                        3,4,6,13: begin
302
                                destport= 3;
303
                        end
304
                        0,5,9: begin
305
                                destport= 4;
306
                        end
307
 
308
                        default: begin
309
                                destport= {DSTPw{1'bX}};
310
                        end
311
                        endcase
312
                end//15
313
 
314
                default: begin
315
                        destport= {DSTPw{1'bX}};
316
                end
317
                endcase
318
        end
319
 
320
 
321
 
322
endmodule
323
 

powered by: WebSVN 2.1.0

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