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] - Rev 54
Compare with Previous | Blame | View Log
//Connect R0 input ports 1 to R14 output ports 3 void single_r2r0(void){conect_r2r(1,0,1,2,6,3);} //Connect R0 input ports 2 to R13 output ports 3 void single_r2r1(void){conect_r2r(1,0,2,2,5,3);} //Connect R1 input ports 1 to R7 output ports 3 void single_r2r2(void){conect_r2r(1,1,1,2,3,3);} //Connect R1 input ports 2 to R2 output ports 2 void single_r2r3(void){conect_r2r(1,1,2,1,2,2);} //Connect R2 input ports 1 to R15 output ports 2 void single_r2r4(void){conect_r2r(1,2,1,2,7,2);} //Connect R2 input ports 2 to R1 output ports 2 void single_r2r5(void){conect_r2r(1,2,2,1,1,2);} //Connect R3 input ports 1 to R15 output ports 3 void single_r2r6(void){conect_r2r(1,3,1,2,7,3);} //Connect R3 input ports 2 to R4 output ports 2 void single_r2r7(void){conect_r2r(1,3,2,2,0,2);} //Connect R4 input ports 1 to R9 output ports 2 void single_r2r8(void){conect_r2r(2,0,1,3,1,2);} //Connect R4 input ports 2 to R3 output ports 2 void single_r2r9(void){conect_r2r(2,0,2,1,3,2);} //Connect R4 input ports 3 to R6 output ports 3 void single_r2r10(void){conect_r2r(2,0,3,2,2,3);} //Connect R5 input ports 1 to R11 output ports 4 void single_r2r11(void){conect_r2r(2,1,1,3,3,4);} //Connect R5 input ports 2 to R6 output ports 2 void single_r2r12(void){conect_r2r(2,1,2,2,2,2);} //Connect R5 input ports 3 to R13 output ports 2 void single_r2r13(void){conect_r2r(2,1,3,2,5,2);} //Connect R6 input ports 1 to R9 output ports 3 void single_r2r14(void){conect_r2r(2,2,1,3,1,3);} //Connect R6 input ports 2 to R5 output ports 2 void single_r2r15(void){conect_r2r(2,2,2,2,1,2);} //Connect R6 input ports 3 to R4 output ports 3 void single_r2r16(void){conect_r2r(2,2,3,2,0,3);} //Connect R7 input ports 1 to R12 output ports 3 void single_r2r17(void){conect_r2r(2,3,1,2,4,3);} //Connect R7 input ports 2 to R14 output ports 2 void single_r2r18(void){conect_r2r(2,3,2,2,6,2);} //Connect R7 input ports 3 to R1 output ports 1 void single_r2r19(void){conect_r2r(2,3,3,1,1,1);} //Connect R12 input ports 1 to R8 output ports 4 void single_r2r20(void){conect_r2r(2,4,1,3,0,4);} //Connect R12 input ports 2 to R10 output ports 3 void single_r2r21(void){conect_r2r(2,4,2,3,2,3);} //Connect R12 input ports 3 to R7 output ports 1 void single_r2r22(void){conect_r2r(2,4,3,2,3,1);} //Connect R13 input ports 1 to R8 output ports 2 void single_r2r23(void){conect_r2r(2,5,1,3,0,2);} //Connect R13 input ports 2 to R5 output ports 3 void single_r2r24(void){conect_r2r(2,5,2,2,1,3);} //Connect R13 input ports 3 to R0 output ports 2 void single_r2r25(void){conect_r2r(2,5,3,1,0,2);} //Connect R14 input ports 1 to R8 output ports 3 void single_r2r26(void){conect_r2r(2,6,1,3,0,3);} //Connect R14 input ports 2 to R7 output ports 2 void single_r2r27(void){conect_r2r(2,6,2,2,3,2);} //Connect R14 input ports 3 to R0 output ports 1 void single_r2r28(void){conect_r2r(2,6,3,1,0,1);} //Connect R15 input ports 1 to R10 output ports 4 void single_r2r29(void){conect_r2r(2,7,1,3,2,4);} //Connect R15 input ports 2 to R2 output ports 1 void single_r2r30(void){conect_r2r(2,7,2,1,2,1);} //Connect R15 input ports 3 to R3 output ports 1 void single_r2r31(void){conect_r2r(2,7,3,1,3,1);} //Connect R8 input ports 1 to R11 output ports 1 void single_r2r32(void){conect_r2r(3,0,1,3,3,1);} //Connect R8 input ports 2 to R13 output ports 1 void single_r2r33(void){conect_r2r(3,0,2,2,5,1);} //Connect R8 input ports 3 to R14 output ports 1 void single_r2r34(void){conect_r2r(3,0,3,2,6,1);} //Connect R8 input ports 4 to R12 output ports 1 void single_r2r35(void){conect_r2r(3,0,4,2,4,1);} //Connect R9 input ports 1 to R11 output ports 3 void single_r2r36(void){conect_r2r(3,1,1,3,3,3);} //Connect R9 input ports 2 to R4 output ports 1 void single_r2r37(void){conect_r2r(3,1,2,2,0,1);} //Connect R9 input ports 3 to R6 output ports 1 void single_r2r38(void){conect_r2r(3,1,3,2,2,1);} //Connect R9 input ports 4 to R10 output ports 2 void single_r2r39(void){conect_r2r(3,1,4,3,2,2);} //Connect R10 input ports 1 to R11 output ports 2 void single_r2r40(void){conect_r2r(3,2,1,3,3,2);} //Connect R10 input ports 2 to R9 output ports 4 void single_r2r41(void){conect_r2r(3,2,2,3,1,4);} //Connect R10 input ports 3 to R12 output ports 2 void single_r2r42(void){conect_r2r(3,2,3,2,4,2);} //Connect R10 input ports 4 to R15 output ports 1 void single_r2r43(void){conect_r2r(3,2,4,2,7,1);} //Connect R11 input ports 1 to R8 output ports 1 void single_r2r44(void){conect_r2r(3,3,1,3,0,1);} //Connect R11 input ports 2 to R10 output ports 1 void single_r2r45(void){conect_r2r(3,3,2,3,2,1);} //Connect R11 input ports 3 to R9 output ports 1 void single_r2r46(void){conect_r2r(3,3,3,3,1,1);} //Connect R11 input ports 4 to R5 output ports 1 void single_r2r47(void){conect_r2r(3,3,4,2,1,1);} //Connect R0 input ports 0 to T0 output ports 0 void single_r2e0(void) {connect_r2e(1,0,0,0);} //Connect R1 input ports 0 to T1 output ports 0 void single_r2e1(void) {connect_r2e(1,1,0,1);} //Connect R2 input ports 0 to T2 output ports 0 void single_r2e2(void) {connect_r2e(1,2,0,2);} //Connect R3 input ports 0 to T3 output ports 0 void single_r2e3(void) {connect_r2e(1,3,0,3);} //Connect R4 input ports 0 to T4 output ports 0 void single_r2e4(void) {connect_r2e(2,0,0,4);} //Connect R5 input ports 0 to T5 output ports 0 void single_r2e5(void) {connect_r2e(2,1,0,5);} //Connect R6 input ports 0 to T6 output ports 0 void single_r2e6(void) {connect_r2e(2,2,0,6);} //Connect R7 input ports 0 to T7 output ports 0 void single_r2e7(void) {connect_r2e(2,3,0,7);} //Connect R12 input ports 0 to T8 output ports 0 void single_r2e8(void) {connect_r2e(2,4,0,8);} //Connect R13 input ports 0 to T9 output ports 0 void single_r2e9(void) {connect_r2e(2,5,0,9);} //Connect R14 input ports 0 to T10 output ports 0 void single_r2e10(void) {connect_r2e(2,6,0,10);} //Connect R15 input ports 0 to T11 output ports 0 void single_r2e11(void) {connect_r2e(2,7,0,11);} //Connect R8 input ports 0 to T12 output ports 0 void single_r2e12(void) {connect_r2e(3,0,0,12);} //Connect R9 input ports 0 to T13 output ports 0 void single_r2e13(void) {connect_r2e(3,1,0,13);} //Connect R10 input ports 0 to T14 output ports 0 void single_r2e14(void) {connect_r2e(3,2,0,14);} //Connect R11 input ports 0 to T15 output ports 0 void single_r2e15(void) {connect_r2e(3,3,0,15);} void (*r2r_func_ptr[48])() = { single_r2r0,single_r2r1,single_r2r2,single_r2r3,single_r2r4,single_r2r5,single_r2r6,single_r2r7,single_r2r8,single_r2r9 ,single_r2r10,single_r2r11,single_r2r12,single_r2r13,single_r2r14,single_r2r15,single_r2r16,single_r2r17,single_r2r18,single_r2r19 ,single_r2r20,single_r2r21,single_r2r22,single_r2r23,single_r2r24,single_r2r25,single_r2r26,single_r2r27,single_r2r28,single_r2r29 ,single_r2r30,single_r2r31,single_r2r32,single_r2r33,single_r2r34,single_r2r35,single_r2r36,single_r2r37,single_r2r38,single_r2r39 ,single_r2r40,single_r2r41,single_r2r42,single_r2r43,single_r2r44,single_r2r45,single_r2r46,single_r2r47}; void (*r2e_func_ptr[16])() = { single_r2e0,single_r2e1,single_r2e2,single_r2e3,single_r2e4,single_r2e5,single_r2e6,single_r2e7,single_r2e8,single_r2e9 ,single_r2e10,single_r2e11,single_r2e12,single_r2e13,single_r2e14,single_r2e15}; void topology_connect_r2r (int n){ (*r2r_func_ptr[n])(); } void topology_connect_r2e (int n){ (*r2e_func_ptr[n])(); } void topology_init(void){ router1[0]->current_r_addr=0; router1[0]->current_r_id=0; router1[1]->current_r_addr=1; router1[1]->current_r_id=1; router1[2]->current_r_addr=2; router1[2]->current_r_id=2; router1[3]->current_r_addr=3; router1[3]->current_r_id=3; router2[0]->current_r_addr=4; router2[0]->current_r_id=4; router2[1]->current_r_addr=5; router2[1]->current_r_id=5; router2[2]->current_r_addr=6; router2[2]->current_r_id=6; router2[3]->current_r_addr=7; router2[3]->current_r_id=7; router2[4]->current_r_addr=8; router2[4]->current_r_id=8; router2[5]->current_r_addr=9; router2[5]->current_r_id=9; router2[6]->current_r_addr=10; router2[6]->current_r_id=10; router2[7]->current_r_addr=11; router2[7]->current_r_id=11; router3[0]->current_r_addr=12; router3[0]->current_r_id=12; router3[1]->current_r_addr=13; router3[1]->current_r_id=13; router3[2]->current_r_addr=14; router3[2]->current_r_id=14; router3[3]->current_r_addr=15; router3[3]->current_r_id=15; r2r_cnt_all[0] =(r2r_cnt_table_t){.id1=0, .t1=1, .r1=0, .p1=1,.id2=10, .t2=2, .r2=6, .p2=3 }; r2r_cnt_all[1] =(r2r_cnt_table_t){.id1=0, .t1=1, .r1=0, .p1=2,.id2=9, .t2=2, .r2=5, .p2=3 }; r2r_cnt_all[2] =(r2r_cnt_table_t){.id1=1, .t1=1, .r1=1, .p1=1,.id2=7, .t2=2, .r2=3, .p2=3 }; r2r_cnt_all[3] =(r2r_cnt_table_t){.id1=1, .t1=1, .r1=1, .p1=2,.id2=2, .t2=1, .r2=2, .p2=2 }; r2r_cnt_all[4] =(r2r_cnt_table_t){.id1=2, .t1=1, .r1=2, .p1=1,.id2=11, .t2=2, .r2=7, .p2=2 }; r2r_cnt_all[5] =(r2r_cnt_table_t){.id1=2, .t1=1, .r1=2, .p1=2,.id2=1, .t2=1, .r2=1, .p2=2 }; r2r_cnt_all[6] =(r2r_cnt_table_t){.id1=3, .t1=1, .r1=3, .p1=1,.id2=11, .t2=2, .r2=7, .p2=3 }; r2r_cnt_all[7] =(r2r_cnt_table_t){.id1=3, .t1=1, .r1=3, .p1=2,.id2=4, .t2=2, .r2=0, .p2=2 }; r2r_cnt_all[8] =(r2r_cnt_table_t){.id1=4, .t1=2, .r1=0, .p1=1,.id2=13, .t2=3, .r2=1, .p2=2 }; r2r_cnt_all[9] =(r2r_cnt_table_t){.id1=4, .t1=2, .r1=0, .p1=2,.id2=3, .t2=1, .r2=3, .p2=2 }; r2r_cnt_all[10] =(r2r_cnt_table_t){.id1=4, .t1=2, .r1=0, .p1=3,.id2=6, .t2=2, .r2=2, .p2=3 }; r2r_cnt_all[11] =(r2r_cnt_table_t){.id1=5, .t1=2, .r1=1, .p1=1,.id2=15, .t2=3, .r2=3, .p2=4 }; r2r_cnt_all[12] =(r2r_cnt_table_t){.id1=5, .t1=2, .r1=1, .p1=2,.id2=6, .t2=2, .r2=2, .p2=2 }; r2r_cnt_all[13] =(r2r_cnt_table_t){.id1=5, .t1=2, .r1=1, .p1=3,.id2=9, .t2=2, .r2=5, .p2=2 }; r2r_cnt_all[14] =(r2r_cnt_table_t){.id1=6, .t1=2, .r1=2, .p1=1,.id2=13, .t2=3, .r2=1, .p2=3 }; r2r_cnt_all[15] =(r2r_cnt_table_t){.id1=6, .t1=2, .r1=2, .p1=2,.id2=5, .t2=2, .r2=1, .p2=2 }; r2r_cnt_all[16] =(r2r_cnt_table_t){.id1=6, .t1=2, .r1=2, .p1=3,.id2=4, .t2=2, .r2=0, .p2=3 }; r2r_cnt_all[17] =(r2r_cnt_table_t){.id1=7, .t1=2, .r1=3, .p1=1,.id2=8, .t2=2, .r2=4, .p2=3 }; r2r_cnt_all[18] =(r2r_cnt_table_t){.id1=7, .t1=2, .r1=3, .p1=2,.id2=10, .t2=2, .r2=6, .p2=2 }; r2r_cnt_all[19] =(r2r_cnt_table_t){.id1=7, .t1=2, .r1=3, .p1=3,.id2=1, .t2=1, .r2=1, .p2=1 }; r2r_cnt_all[20] =(r2r_cnt_table_t){.id1=8, .t1=2, .r1=4, .p1=1,.id2=12, .t2=3, .r2=0, .p2=4 }; r2r_cnt_all[21] =(r2r_cnt_table_t){.id1=8, .t1=2, .r1=4, .p1=2,.id2=14, .t2=3, .r2=2, .p2=3 }; r2r_cnt_all[22] =(r2r_cnt_table_t){.id1=8, .t1=2, .r1=4, .p1=3,.id2=7, .t2=2, .r2=3, .p2=1 }; r2r_cnt_all[23] =(r2r_cnt_table_t){.id1=9, .t1=2, .r1=5, .p1=1,.id2=12, .t2=3, .r2=0, .p2=2 }; r2r_cnt_all[24] =(r2r_cnt_table_t){.id1=9, .t1=2, .r1=5, .p1=2,.id2=5, .t2=2, .r2=1, .p2=3 }; r2r_cnt_all[25] =(r2r_cnt_table_t){.id1=9, .t1=2, .r1=5, .p1=3,.id2=0, .t2=1, .r2=0, .p2=2 }; r2r_cnt_all[26] =(r2r_cnt_table_t){.id1=10, .t1=2, .r1=6, .p1=1,.id2=12, .t2=3, .r2=0, .p2=3 }; r2r_cnt_all[27] =(r2r_cnt_table_t){.id1=10, .t1=2, .r1=6, .p1=2,.id2=7, .t2=2, .r2=3, .p2=2 }; r2r_cnt_all[28] =(r2r_cnt_table_t){.id1=10, .t1=2, .r1=6, .p1=3,.id2=0, .t2=1, .r2=0, .p2=1 }; r2r_cnt_all[29] =(r2r_cnt_table_t){.id1=11, .t1=2, .r1=7, .p1=1,.id2=14, .t2=3, .r2=2, .p2=4 }; r2r_cnt_all[30] =(r2r_cnt_table_t){.id1=11, .t1=2, .r1=7, .p1=2,.id2=2, .t2=1, .r2=2, .p2=1 }; r2r_cnt_all[31] =(r2r_cnt_table_t){.id1=11, .t1=2, .r1=7, .p1=3,.id2=3, .t2=1, .r2=3, .p2=1 }; r2r_cnt_all[32] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=1,.id2=15, .t2=3, .r2=3, .p2=1 }; r2r_cnt_all[33] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=2,.id2=9, .t2=2, .r2=5, .p2=1 }; r2r_cnt_all[34] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=3,.id2=10, .t2=2, .r2=6, .p2=1 }; r2r_cnt_all[35] =(r2r_cnt_table_t){.id1=12, .t1=3, .r1=0, .p1=4,.id2=8, .t2=2, .r2=4, .p2=1 }; r2r_cnt_all[36] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=1,.id2=15, .t2=3, .r2=3, .p2=3 }; r2r_cnt_all[37] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=2,.id2=4, .t2=2, .r2=0, .p2=1 }; r2r_cnt_all[38] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=3,.id2=6, .t2=2, .r2=2, .p2=1 }; r2r_cnt_all[39] =(r2r_cnt_table_t){.id1=13, .t1=3, .r1=1, .p1=4,.id2=14, .t2=3, .r2=2, .p2=2 }; r2r_cnt_all[40] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=1,.id2=15, .t2=3, .r2=3, .p2=2 }; r2r_cnt_all[41] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=2,.id2=13, .t2=3, .r2=1, .p2=4 }; r2r_cnt_all[42] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=3,.id2=8, .t2=2, .r2=4, .p2=2 }; r2r_cnt_all[43] =(r2r_cnt_table_t){.id1=14, .t1=3, .r1=2, .p1=4,.id2=11, .t2=2, .r2=7, .p2=1 }; r2r_cnt_all[44] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=1,.id2=12, .t2=3, .r2=0, .p2=1 }; r2r_cnt_all[45] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=2,.id2=14, .t2=3, .r2=2, .p2=1 }; r2r_cnt_all[46] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=3,.id2=13, .t2=3, .r2=1, .p2=1 }; r2r_cnt_all[47] =(r2r_cnt_table_t){.id1=15, .t1=3, .r1=3, .p1=4,.id2=5, .t2=2, .r2=1, .p2=1 }; R2R_TABLE_SIZ=48; }