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/] [src_verilator/] [topology/] [custom/] [custom1_noc.h] - Blame information for rev 54

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 48 alirezamon
 
2
 
3
 
4
//Connect R0 input ports 1 to  R14 output ports 3
5 54 alirezamon
void single_r2r0(void){conect_r2r(1,0,1,2,6,3);}
6 48 alirezamon
//Connect R0 input ports 2 to  R13 output ports 3
7 54 alirezamon
void single_r2r1(void){conect_r2r(1,0,2,2,5,3);}
8 48 alirezamon
//Connect R1 input ports 1 to  R7 output ports 3
9 54 alirezamon
void single_r2r2(void){conect_r2r(1,1,1,2,3,3);}
10 48 alirezamon
//Connect R1 input ports 2 to  R2 output ports 2
11 54 alirezamon
void single_r2r3(void){conect_r2r(1,1,2,1,2,2);}
12 48 alirezamon
//Connect R2 input ports 1 to  R15 output ports 2
13 54 alirezamon
void single_r2r4(void){conect_r2r(1,2,1,2,7,2);}
14 48 alirezamon
//Connect R2 input ports 2 to  R1 output ports 2
15 54 alirezamon
void single_r2r5(void){conect_r2r(1,2,2,1,1,2);}
16 48 alirezamon
//Connect R3 input ports 1 to  R15 output ports 3
17 54 alirezamon
void single_r2r6(void){conect_r2r(1,3,1,2,7,3);}
18 48 alirezamon
//Connect R3 input ports 2 to  R4 output ports 2
19 54 alirezamon
void single_r2r7(void){conect_r2r(1,3,2,2,0,2);}
20 48 alirezamon
//Connect R4 input ports 1 to  R9 output ports 2
21 54 alirezamon
void single_r2r8(void){conect_r2r(2,0,1,3,1,2);}
22 48 alirezamon
//Connect R4 input ports 2 to  R3 output ports 2
23 54 alirezamon
void single_r2r9(void){conect_r2r(2,0,2,1,3,2);}
24 48 alirezamon
//Connect R4 input ports 3 to  R6 output ports 3
25 54 alirezamon
void single_r2r10(void){conect_r2r(2,0,3,2,2,3);}
26 48 alirezamon
//Connect R5 input ports 1 to  R11 output ports 4
27 54 alirezamon
void single_r2r11(void){conect_r2r(2,1,1,3,3,4);}
28 48 alirezamon
//Connect R5 input ports 2 to  R6 output ports 2
29 54 alirezamon
void single_r2r12(void){conect_r2r(2,1,2,2,2,2);}
30 48 alirezamon
//Connect R5 input ports 3 to  R13 output ports 2
31 54 alirezamon
void single_r2r13(void){conect_r2r(2,1,3,2,5,2);}
32 48 alirezamon
//Connect R6 input ports 1 to  R9 output ports 3
33 54 alirezamon
void single_r2r14(void){conect_r2r(2,2,1,3,1,3);}
34 48 alirezamon
//Connect R6 input ports 2 to  R5 output ports 2
35 54 alirezamon
void single_r2r15(void){conect_r2r(2,2,2,2,1,2);}
36 48 alirezamon
//Connect R6 input ports 3 to  R4 output ports 3
37 54 alirezamon
void single_r2r16(void){conect_r2r(2,2,3,2,0,3);}
38 48 alirezamon
//Connect R7 input ports 1 to  R12 output ports 3
39 54 alirezamon
void single_r2r17(void){conect_r2r(2,3,1,2,4,3);}
40 48 alirezamon
//Connect R7 input ports 2 to  R14 output ports 2
41 54 alirezamon
void single_r2r18(void){conect_r2r(2,3,2,2,6,2);}
42 48 alirezamon
//Connect R7 input ports 3 to  R1 output ports 1
43 54 alirezamon
void single_r2r19(void){conect_r2r(2,3,3,1,1,1);}
44 48 alirezamon
//Connect R12 input ports 1 to  R8 output ports 4
45 54 alirezamon
void single_r2r20(void){conect_r2r(2,4,1,3,0,4);}
46 48 alirezamon
//Connect R12 input ports 2 to  R10 output ports 3
47 54 alirezamon
void single_r2r21(void){conect_r2r(2,4,2,3,2,3);}
48 48 alirezamon
//Connect R12 input ports 3 to  R7 output ports 1
49 54 alirezamon
void single_r2r22(void){conect_r2r(2,4,3,2,3,1);}
50 48 alirezamon
//Connect R13 input ports 1 to  R8 output ports 2
51 54 alirezamon
void single_r2r23(void){conect_r2r(2,5,1,3,0,2);}
52 48 alirezamon
//Connect R13 input ports 2 to  R5 output ports 3
53 54 alirezamon
void single_r2r24(void){conect_r2r(2,5,2,2,1,3);}
54 48 alirezamon
//Connect R13 input ports 3 to  R0 output ports 2
55 54 alirezamon
void single_r2r25(void){conect_r2r(2,5,3,1,0,2);}
56 48 alirezamon
//Connect R14 input ports 1 to  R8 output ports 3
57 54 alirezamon
void single_r2r26(void){conect_r2r(2,6,1,3,0,3);}
58 48 alirezamon
//Connect R14 input ports 2 to  R7 output ports 2
59 54 alirezamon
void single_r2r27(void){conect_r2r(2,6,2,2,3,2);}
60 48 alirezamon
//Connect R14 input ports 3 to  R0 output ports 1
61 54 alirezamon
void single_r2r28(void){conect_r2r(2,6,3,1,0,1);}
62 48 alirezamon
//Connect R15 input ports 1 to  R10 output ports 4
63 54 alirezamon
void single_r2r29(void){conect_r2r(2,7,1,3,2,4);}
64 48 alirezamon
//Connect R15 input ports 2 to  R2 output ports 1
65 54 alirezamon
void single_r2r30(void){conect_r2r(2,7,2,1,2,1);}
66 48 alirezamon
//Connect R15 input ports 3 to  R3 output ports 1
67 54 alirezamon
void single_r2r31(void){conect_r2r(2,7,3,1,3,1);}
68 48 alirezamon
//Connect R8 input ports 1 to  R11 output ports 1
69 54 alirezamon
void single_r2r32(void){conect_r2r(3,0,1,3,3,1);}
70 48 alirezamon
//Connect R8 input ports 2 to  R13 output ports 1
71 54 alirezamon
void single_r2r33(void){conect_r2r(3,0,2,2,5,1);}
72 48 alirezamon
//Connect R8 input ports 3 to  R14 output ports 1
73 54 alirezamon
void single_r2r34(void){conect_r2r(3,0,3,2,6,1);}
74 48 alirezamon
//Connect R8 input ports 4 to  R12 output ports 1
75 54 alirezamon
void single_r2r35(void){conect_r2r(3,0,4,2,4,1);}
76 48 alirezamon
//Connect R9 input ports 1 to  R11 output ports 3
77 54 alirezamon
void single_r2r36(void){conect_r2r(3,1,1,3,3,3);}
78 48 alirezamon
//Connect R9 input ports 2 to  R4 output ports 1
79 54 alirezamon
void single_r2r37(void){conect_r2r(3,1,2,2,0,1);}
80 48 alirezamon
//Connect R9 input ports 3 to  R6 output ports 1
81 54 alirezamon
void single_r2r38(void){conect_r2r(3,1,3,2,2,1);}
82 48 alirezamon
//Connect R9 input ports 4 to  R10 output ports 2
83 54 alirezamon
void single_r2r39(void){conect_r2r(3,1,4,3,2,2);}
84 48 alirezamon
//Connect R10 input ports 1 to  R11 output ports 2
85 54 alirezamon
void single_r2r40(void){conect_r2r(3,2,1,3,3,2);}
86 48 alirezamon
//Connect R10 input ports 2 to  R9 output ports 4
87 54 alirezamon
void single_r2r41(void){conect_r2r(3,2,2,3,1,4);}
88 48 alirezamon
//Connect R10 input ports 3 to  R12 output ports 2
89 54 alirezamon
void single_r2r42(void){conect_r2r(3,2,3,2,4,2);}
90 48 alirezamon
//Connect R10 input ports 4 to  R15 output ports 1
91 54 alirezamon
void single_r2r43(void){conect_r2r(3,2,4,2,7,1);}
92 48 alirezamon
//Connect R11 input ports 1 to  R8 output ports 1
93 54 alirezamon
void single_r2r44(void){conect_r2r(3,3,1,3,0,1);}
94 48 alirezamon
//Connect R11 input ports 2 to  R10 output ports 1
95 54 alirezamon
void single_r2r45(void){conect_r2r(3,3,2,3,2,1);}
96 48 alirezamon
//Connect R11 input ports 3 to  R9 output ports 1
97 54 alirezamon
void single_r2r46(void){conect_r2r(3,3,3,3,1,1);}
98 48 alirezamon
//Connect R11 input ports 4 to  R5 output ports 1
99 54 alirezamon
void single_r2r47(void){conect_r2r(3,3,4,2,1,1);}
100 48 alirezamon
 
101 54 alirezamon
 
102
//Connect R0 input ports 0 to  T0 output ports 0
103
void single_r2e0(void) {connect_r2e(1,0,0,0);}
104
//Connect R1 input ports 0 to  T1 output ports 0
105
void single_r2e1(void) {connect_r2e(1,1,0,1);}
106
//Connect R2 input ports 0 to  T2 output ports 0
107
void single_r2e2(void) {connect_r2e(1,2,0,2);}
108
//Connect R3 input ports 0 to  T3 output ports 0
109
void single_r2e3(void) {connect_r2e(1,3,0,3);}
110
//Connect R4 input ports 0 to  T4 output ports 0
111
void single_r2e4(void) {connect_r2e(2,0,0,4);}
112
//Connect R5 input ports 0 to  T5 output ports 0
113
void single_r2e5(void) {connect_r2e(2,1,0,5);}
114
//Connect R6 input ports 0 to  T6 output ports 0
115
void single_r2e6(void) {connect_r2e(2,2,0,6);}
116
//Connect R7 input ports 0 to  T7 output ports 0
117
void single_r2e7(void) {connect_r2e(2,3,0,7);}
118
//Connect R12 input ports 0 to  T8 output ports 0
119
void single_r2e8(void) {connect_r2e(2,4,0,8);}
120
//Connect R13 input ports 0 to  T9 output ports 0
121
void single_r2e9(void) {connect_r2e(2,5,0,9);}
122
//Connect R14 input ports 0 to  T10 output ports 0
123
void single_r2e10(void) {connect_r2e(2,6,0,10);}
124
//Connect R15 input ports 0 to  T11 output ports 0
125
void single_r2e11(void) {connect_r2e(2,7,0,11);}
126
//Connect R8 input ports 0 to  T12 output ports 0
127
void single_r2e12(void) {connect_r2e(3,0,0,12);}
128
//Connect R9 input ports 0 to  T13 output ports 0
129
void single_r2e13(void) {connect_r2e(3,1,0,13);}
130
//Connect R10 input ports 0 to  T14 output ports 0
131
void single_r2e14(void) {connect_r2e(3,2,0,14);}
132
//Connect R11 input ports 0 to  T15 output ports 0
133
void single_r2e15(void) {connect_r2e(3,3,0,15);}
134
 
135
 
136
 
137
void (*r2r_func_ptr[48])() = {
138
single_r2r0,single_r2r1,single_r2r2,single_r2r3,single_r2r4,single_r2r5,single_r2r6,single_r2r7,single_r2r8,single_r2r9
139
,single_r2r10,single_r2r11,single_r2r12,single_r2r13,single_r2r14,single_r2r15,single_r2r16,single_r2r17,single_r2r18,single_r2r19
140
,single_r2r20,single_r2r21,single_r2r22,single_r2r23,single_r2r24,single_r2r25,single_r2r26,single_r2r27,single_r2r28,single_r2r29
141
,single_r2r30,single_r2r31,single_r2r32,single_r2r33,single_r2r34,single_r2r35,single_r2r36,single_r2r37,single_r2r38,single_r2r39
142
,single_r2r40,single_r2r41,single_r2r42,single_r2r43,single_r2r44,single_r2r45,single_r2r46,single_r2r47};
143
void (*r2e_func_ptr[16])() = {
144
single_r2e0,single_r2e1,single_r2e2,single_r2e3,single_r2e4,single_r2e5,single_r2e6,single_r2e7,single_r2e8,single_r2e9
145
,single_r2e10,single_r2e11,single_r2e12,single_r2e13,single_r2e14,single_r2e15};
146
 
147
void topology_connect_r2r (int n){
148
         (*r2r_func_ptr[n])();
149 48 alirezamon
}
150
 
151 54 alirezamon
void topology_connect_r2e (int n){
152
         (*r2e_func_ptr[n])();
153
}
154
 
155
 
156
 
157 48 alirezamon
void topology_init(void){
158
        router1[0]->current_r_addr=0;
159 54 alirezamon
router1[0]->current_r_id=0;
160 48 alirezamon
router1[1]->current_r_addr=1;
161 54 alirezamon
router1[1]->current_r_id=1;
162 48 alirezamon
router1[2]->current_r_addr=2;
163 54 alirezamon
router1[2]->current_r_id=2;
164 48 alirezamon
router1[3]->current_r_addr=3;
165 54 alirezamon
router1[3]->current_r_id=3;
166 48 alirezamon
router2[0]->current_r_addr=4;
167 54 alirezamon
router2[0]->current_r_id=4;
168 48 alirezamon
router2[1]->current_r_addr=5;
169 54 alirezamon
router2[1]->current_r_id=5;
170 48 alirezamon
router2[2]->current_r_addr=6;
171 54 alirezamon
router2[2]->current_r_id=6;
172 48 alirezamon
router2[3]->current_r_addr=7;
173 54 alirezamon
router2[3]->current_r_id=7;
174 48 alirezamon
router2[4]->current_r_addr=8;
175 54 alirezamon
router2[4]->current_r_id=8;
176 48 alirezamon
router2[5]->current_r_addr=9;
177 54 alirezamon
router2[5]->current_r_id=9;
178 48 alirezamon
router2[6]->current_r_addr=10;
179 54 alirezamon
router2[6]->current_r_id=10;
180 48 alirezamon
router2[7]->current_r_addr=11;
181 54 alirezamon
router2[7]->current_r_id=11;
182 48 alirezamon
router3[0]->current_r_addr=12;
183 54 alirezamon
router3[0]->current_r_id=12;
184 48 alirezamon
router3[1]->current_r_addr=13;
185 54 alirezamon
router3[1]->current_r_id=13;
186 48 alirezamon
router3[2]->current_r_addr=14;
187 54 alirezamon
router3[2]->current_r_id=14;
188 48 alirezamon
router3[3]->current_r_addr=15;
189 54 alirezamon
router3[3]->current_r_id=15;
190
        r2r_cnt_all[0] =(r2r_cnt_table_t){.id1=0, .t1=1, .r1=0, .p1=1,.id2=10, .t2=2, .r2=6, .p2=3 };
191
        r2r_cnt_all[1] =(r2r_cnt_table_t){.id1=0, .t1=1, .r1=0, .p1=2,.id2=9, .t2=2, .r2=5, .p2=3 };
192
        r2r_cnt_all[2] =(r2r_cnt_table_t){.id1=1, .t1=1, .r1=1, .p1=1,.id2=7, .t2=2, .r2=3, .p2=3 };
193
        r2r_cnt_all[3] =(r2r_cnt_table_t){.id1=1, .t1=1, .r1=1, .p1=2,.id2=2, .t2=1, .r2=2, .p2=2 };
194
        r2r_cnt_all[4] =(r2r_cnt_table_t){.id1=2, .t1=1, .r1=2, .p1=1,.id2=11, .t2=2, .r2=7, .p2=2 };
195
        r2r_cnt_all[5] =(r2r_cnt_table_t){.id1=2, .t1=1, .r1=2, .p1=2,.id2=1, .t2=1, .r2=1, .p2=2 };
196
        r2r_cnt_all[6] =(r2r_cnt_table_t){.id1=3, .t1=1, .r1=3, .p1=1,.id2=11, .t2=2, .r2=7, .p2=3 };
197
        r2r_cnt_all[7] =(r2r_cnt_table_t){.id1=3, .t1=1, .r1=3, .p1=2,.id2=4, .t2=2, .r2=0, .p2=2 };
198
        r2r_cnt_all[8] =(r2r_cnt_table_t){.id1=4, .t1=2, .r1=0, .p1=1,.id2=13, .t2=3, .r2=1, .p2=2 };
199
        r2r_cnt_all[9] =(r2r_cnt_table_t){.id1=4, .t1=2, .r1=0, .p1=2,.id2=3, .t2=1, .r2=3, .p2=2 };
200
        r2r_cnt_all[10] =(r2r_cnt_table_t){.id1=4, .t1=2, .r1=0, .p1=3,.id2=6, .t2=2, .r2=2, .p2=3 };
201
        r2r_cnt_all[11] =(r2r_cnt_table_t){.id1=5, .t1=2, .r1=1, .p1=1,.id2=15, .t2=3, .r2=3, .p2=4 };
202
        r2r_cnt_all[12] =(r2r_cnt_table_t){.id1=5, .t1=2, .r1=1, .p1=2,.id2=6, .t2=2, .r2=2, .p2=2 };
203
        r2r_cnt_all[13] =(r2r_cnt_table_t){.id1=5, .t1=2, .r1=1, .p1=3,.id2=9, .t2=2, .r2=5, .p2=2 };
204
        r2r_cnt_all[14] =(r2r_cnt_table_t){.id1=6, .t1=2, .r1=2, .p1=1,.id2=13, .t2=3, .r2=1, .p2=3 };
205
        r2r_cnt_all[15] =(r2r_cnt_table_t){.id1=6, .t1=2, .r1=2, .p1=2,.id2=5, .t2=2, .r2=1, .p2=2 };
206
        r2r_cnt_all[16] =(r2r_cnt_table_t){.id1=6, .t1=2, .r1=2, .p1=3,.id2=4, .t2=2, .r2=0, .p2=3 };
207
        r2r_cnt_all[17] =(r2r_cnt_table_t){.id1=7, .t1=2, .r1=3, .p1=1,.id2=8, .t2=2, .r2=4, .p2=3 };
208
        r2r_cnt_all[18] =(r2r_cnt_table_t){.id1=7, .t1=2, .r1=3, .p1=2,.id2=10, .t2=2, .r2=6, .p2=2 };
209
        r2r_cnt_all[19] =(r2r_cnt_table_t){.id1=7, .t1=2, .r1=3, .p1=3,.id2=1, .t2=1, .r2=1, .p2=1 };
210
        r2r_cnt_all[20] =(r2r_cnt_table_t){.id1=8, .t1=2, .r1=4, .p1=1,.id2=12, .t2=3, .r2=0, .p2=4 };
211
        r2r_cnt_all[21] =(r2r_cnt_table_t){.id1=8, .t1=2, .r1=4, .p1=2,.id2=14, .t2=3, .r2=2, .p2=3 };
212
        r2r_cnt_all[22] =(r2r_cnt_table_t){.id1=8, .t1=2, .r1=4, .p1=3,.id2=7, .t2=2, .r2=3, .p2=1 };
213
        r2r_cnt_all[23] =(r2r_cnt_table_t){.id1=9, .t1=2, .r1=5, .p1=1,.id2=12, .t2=3, .r2=0, .p2=2 };
214
        r2r_cnt_all[24] =(r2r_cnt_table_t){.id1=9, .t1=2, .r1=5, .p1=2,.id2=5, .t2=2, .r2=1, .p2=3 };
215
        r2r_cnt_all[25] =(r2r_cnt_table_t){.id1=9, .t1=2, .r1=5, .p1=3,.id2=0, .t2=1, .r2=0, .p2=2 };
216
        r2r_cnt_all[26] =(r2r_cnt_table_t){.id1=10, .t1=2, .r1=6, .p1=1,.id2=12, .t2=3, .r2=0, .p2=3 };
217
        r2r_cnt_all[27] =(r2r_cnt_table_t){.id1=10, .t1=2, .r1=6, .p1=2,.id2=7, .t2=2, .r2=3, .p2=2 };
218
        r2r_cnt_all[28] =(r2r_cnt_table_t){.id1=10, .t1=2, .r1=6, .p1=3,.id2=0, .t2=1, .r2=0, .p2=1 };
219
        r2r_cnt_all[29] =(r2r_cnt_table_t){.id1=11, .t1=2, .r1=7, .p1=1,.id2=14, .t2=3, .r2=2, .p2=4 };
220
        r2r_cnt_all[30] =(r2r_cnt_table_t){.id1=11, .t1=2, .r1=7, .p1=2,.id2=2, .t2=1, .r2=2, .p2=1 };
221
        r2r_cnt_all[31] =(r2r_cnt_table_t){.id1=11, .t1=2, .r1=7, .p1=3,.id2=3, .t2=1, .r2=3, .p2=1 };
222
        r2r_cnt_all[32] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=1,.id2=15, .t2=3, .r2=3, .p2=1 };
223
        r2r_cnt_all[33] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=2,.id2=9, .t2=2, .r2=5, .p2=1 };
224
        r2r_cnt_all[34] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=3,.id2=10, .t2=2, .r2=6, .p2=1 };
225
        r2r_cnt_all[35] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=4,.id2=8, .t2=2, .r2=4, .p2=1 };
226
        r2r_cnt_all[36] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=1,.id2=15, .t2=3, .r2=3, .p2=3 };
227
        r2r_cnt_all[37] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=2,.id2=4, .t2=2, .r2=0, .p2=1 };
228
        r2r_cnt_all[38] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=3,.id2=6, .t2=2, .r2=2, .p2=1 };
229
        r2r_cnt_all[39] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=4,.id2=14, .t2=3, .r2=2, .p2=2 };
230
        r2r_cnt_all[40] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=1,.id2=15, .t2=3, .r2=3, .p2=2 };
231
        r2r_cnt_all[41] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=2,.id2=13, .t2=3, .r2=1, .p2=4 };
232
        r2r_cnt_all[42] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=3,.id2=8, .t2=2, .r2=4, .p2=2 };
233
        r2r_cnt_all[43] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=4,.id2=11, .t2=2, .r2=7, .p2=1 };
234
        r2r_cnt_all[44] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=1,.id2=12, .t2=3, .r2=0, .p2=1 };
235
        r2r_cnt_all[45] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=2,.id2=14, .t2=3, .r2=2, .p2=1 };
236
        r2r_cnt_all[46] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=3,.id2=13, .t2=3, .r2=1, .p2=1 };
237
        r2r_cnt_all[47] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=4,.id2=5, .t2=2, .r2=1, .p2=1 };
238 48 alirezamon
 
239 54 alirezamon
        R2R_TABLE_SIZ=48;
240
 
241 48 alirezamon
}

powered by: WebSVN 2.1.0

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