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] - 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;
 
}
 

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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