Index: trunk/platforms/caba-vdspin-vci_synthetic_initiator/top.cpp
===================================================================
--- trunk/platforms/caba-vdspin-vci_synthetic_initiator/top.cpp	(revision 133)
+++ trunk/platforms/caba-vdspin-vci_synthetic_initiator/top.cpp	(revision 179)
@@ -16,6 +16,6 @@
 
 // MESH SIZE
-#define X_MAX           8
-#define Y_MAX           8
+#define X_MAX           2
+#define Y_MAX           2
 #define N_CLUSTERS      X_MAX*Y_MAX
 // FLIT_WIDTH
@@ -50,4 +50,6 @@
 // DEBUG MODE : 0 OFF, 1 only the initiators and the targets, 2 only network
 #define DEBUG		0
+// LOAD wanted
+#define LOAD		450
 
 
@@ -61,4 +63,16 @@
 	using soclib::common::uint32_log2;
 
+	int ncycles;
+	uint32_t rho_a;
+	uint32_t rho_b;
+
+	if(argc == 4){
+	  ncycles = std::atoi(argv[1]);
+	  rho_a = std::atoi(argv[2]);
+	  rho_b = std::atoi(argv[3]);
+	} else {
+	  std::cout << "Usage : simulation_cycles packet_rate broadcast_period" << std::endl;
+	  exit(1);
+	}
 	// Define VCI parameters
 	typedef soclib::caba::VciParams<cell_width,
@@ -89,6 +103,4 @@
 	}
 
-
-//	std::cout << maptab0 << std::endl;
 
 	sc_clock	signal_clk("clk");
@@ -160,12 +172,8 @@
 			std::ostringstream	str0;
 			std::ostringstream	str1;
-			str0 << "Initiator_c0_" << (i*Y_MAX+j) ;
-			str1 << "Initiator_c1_" << (i*Y_MAX+j) ;
-			new(&initiator_c0[Y_MAX*i+j]) soclib::caba::VciSyntheticInitiator<vci_param> (str0.str().c_str() , maptab0, IntTab((i*Y_MAX+j) ,0), PACKET_LENGTH, 0, 16, X_MAX, Y_MAX);  
-			if( (i == X_MAX-1) && (j == Y_MAX-1)){
-				new(&initiator_c1[Y_MAX*i+j]) soclib::caba::VciSyntheticInitiator<vci_param> (str1.str().c_str() , maptab1, IntTab((i*Y_MAX+j) ,0), PACKET_LENGTH, 0, 16, X_MAX, Y_MAX, 2000, 0, X_MAX, 0, Y_MAX); 
-			} else {
-				new(&initiator_c1[Y_MAX*i+j]) soclib::caba::VciSyntheticInitiator<vci_param> (str1.str().c_str() , maptab1, IntTab((i*Y_MAX+j),0), PACKET_LENGTH, 0, 16, X_MAX, Y_MAX); 
-			}
+			str0 << "Initiator_c0_" << i << "_" << j ;
+			str1 << "Initiator_c1_" << i << "_" << j ;
+			new(&initiator_c0[Y_MAX*i+j]) soclib::caba::VciSyntheticInitiator<vci_param> (str0.str().c_str() , maptab0, IntTab((i*Y_MAX+j) ,0), PACKET_LENGTH, 0, 100, X_MAX, Y_MAX);  
+			new(&initiator_c1[Y_MAX*i+j]) soclib::caba::VciSyntheticInitiator<vci_param> (str1.str().c_str() , maptab1, IntTab((i*Y_MAX+j) ,0), PACKET_LENGTH, rho_b, 100, X_MAX, Y_MAX, rho_a, 0, X_MAX, 0, Y_MAX); 
 		}
 
@@ -306,12 +314,6 @@
 	//             Simulation Loop                //
 	////////////////////////////////////////////////
-	int ncycles;
-
-
-	if(argc == 2){
-	  ncycles = std::atoi(argv[1]);
-	} else {
-	  exit(1);
-	}
+
+
 	sc_start(sc_core::sc_time(0, SC_NS));
 	signal_resetn = false;
@@ -367,4 +369,7 @@
 	for(int t = 0; t < ncycles; t++){
 		sc_start(sc_time(1, SC_NS));
+		//initiator_c1[4].print_trace();
+		//local_ring_c1[4].print_trace();
+		//ram_c1[4].print_trace();
 #if defined(DEBUG) 
 		for(int i = 0 ; i < Y_MAX ; i++){
@@ -372,54 +377,54 @@
 #endif
 #if DEBUG==1
-				initiator_c0[i*Y_MAX+j].print_trace();
-				std::cout << std::hex;
-				std::cout << "synt_cmdval  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].cmdval.read() << std::endl;
-				std::cout << "synt_cmdack  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].cmdack.read() << std::endl;
-				std::cout << "synt_address = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].address.read() << std::endl;
-				std::cout << "synt_cmd     = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].cmd.read() << std::endl;
-				std::cout << "synt_srcid   = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].srcid.read() << std::endl;
-				std::cout << "synt_trdid   = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].trdid.read() << std::endl;
-				std::cout << "synt_plen    = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].plen.read() << std::endl;
-				std::cout << "synt_eop     = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].eop.read() << std::endl;
-				std::cout << "synt_rspval  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rspval.read() << std::endl;
-				std::cout << "synt_rspack  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rspack.read() << std::endl;
-				std::cout << "synt_rsrcid  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rsrcid.read() << std::endl;
-				std::cout << "synt_rtrdid  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rtrdid.read() << std::endl;
-				std::cout << "synt_rpktid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rpktid.read() << std::endl;
-				std::cout << "synt_rerror  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rerror.read() << std::endl;
-				std::cout << "synt_reop    = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].reop.read() << std::endl;
-				ram_c0[i*Y_MAX+j].print_trace();
-				std::cout << std::hex;
-				std::cout << "ram_cmdval  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].cmdval.read() << std::endl;
-				std::cout << "ram_address = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].address.read() << std::endl;
-				std::cout << "ram_cmd     = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].cmd.read() << std::endl;
-				std::cout << "ram_srcid   = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].srcid.read() << std::endl;
-				std::cout << "ram_trdid   = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].trdid.read() << std::endl;
-				std::cout << "ram_plen    = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].plen.read() << std::endl;
-				std::cout << "ram_eop     = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].eop.read() << std::endl;
-				std::cout << "ram_rspval  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rspval.read() << std::endl;
-				std::cout << "ram_rspack  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rspack.read() << std::endl;
-				std::cout << "ram_rsrcid  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rsrcid.read() << std::endl;
-				std::cout << "ram_rtrdid  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rtrdid.read() << std::endl;
-				std::cout << "ram_rerror  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rerror.read() << std::endl;
-				std::cout << "ram_reop    = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].reop.read() << std::endl;
-				initiator_c1[i*Y_MAX+j].print_trace();
-				std::cout << std::hex;
-				std::cout << "synt_cmdval  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].cmdval.read() << std::endl;
-				std::cout << "synt_cmdack  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].cmdack.read() << std::endl;
-				std::cout << "synt_address = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].address.read() << std::endl;
-				std::cout << "synt_cmd     = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].cmd.read() << std::endl;
-				std::cout << "synt_srcid   = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].srcid.read() << std::endl;
-				std::cout << "synt_trdid   = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].trdid.read() << std::endl;
-				std::cout << "synt_pktid   = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].pktid.read() << std::endl;
-				std::cout << "synt_plen    = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].plen.read() << std::endl;
-				std::cout << "synt_eop     = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].eop.read() << std::endl;
-				std::cout << "synt_rspval  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rspval.read() << std::endl;
-				std::cout << "synt_rspack  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rspack.read() << std::endl;
-				std::cout << "synt_rsrcid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rsrcid.read() << std::endl;
-				std::cout << "synt_rtrdid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rtrdid.read() << std::endl;
-				std::cout << "synt_rpktid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rpktid.read() << std::endl;
-				std::cout << "synt_rerror  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rerror.read() << std::endl;
-				std::cout << "synt_reop    = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].reop.read() << std::endl;
+				//initiator_c0[i*Y_MAX+j].print_trace();
+				//std::cout << std::hex;
+				//std::cout << "synt_cmdval  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].cmdval.read() << std::endl;
+				//std::cout << "synt_cmdack  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].cmdack.read() << std::endl;
+				//std::cout << "synt_address = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].address.read() << std::endl;
+				//std::cout << "synt_cmd     = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].cmd.read() << std::endl;
+				//std::cout << "synt_srcid   = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].srcid.read() << std::endl;
+				//std::cout << "synt_trdid   = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].trdid.read() << std::endl;
+				//std::cout << "synt_plen    = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].plen.read() << std::endl;
+				//std::cout << "synt_eop     = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].eop.read() << std::endl;
+				//std::cout << "synt_rspval  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rspval.read() << std::endl;
+				//std::cout << "synt_rspack  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rspack.read() << std::endl;
+				//std::cout << "synt_rsrcid  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rsrcid.read() << std::endl;
+				//std::cout << "synt_rtrdid  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rtrdid.read() << std::endl;
+				//std::cout << "synt_rpktid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rpktid.read() << std::endl;
+				//std::cout << "synt_rerror  = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].rerror.read() << std::endl;
+				//std::cout << "synt_reop    = " << signal_vci_ini_synth_c0[0][i*Y_MAX+j].reop.read() << std::endl;
+				//ram_c0[i*Y_MAX+j].print_trace();
+				//std::cout << std::hex;
+				//std::cout << "ram_cmdval  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].cmdval.read() << std::endl;
+				//std::cout << "ram_address = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].address.read() << std::endl;
+				//std::cout << "ram_cmd     = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].cmd.read() << std::endl;
+				//std::cout << "ram_srcid   = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].srcid.read() << std::endl;
+				//std::cout << "ram_trdid   = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].trdid.read() << std::endl;
+				//std::cout << "ram_plen    = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].plen.read() << std::endl;
+				//std::cout << "ram_eop     = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].eop.read() << std::endl;
+				//std::cout << "ram_rspval  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rspval.read() << std::endl;
+				//std::cout << "ram_rspack  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rspack.read() << std::endl;
+				//std::cout << "ram_rsrcid  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rsrcid.read() << std::endl;
+				//std::cout << "ram_rtrdid  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rtrdid.read() << std::endl;
+				//std::cout << "ram_rerror  = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].rerror.read() << std::endl;
+				//std::cout << "ram_reop    = " << signal_vci_ini_synth_c0[1][i*Y_MAX+j].reop.read() << std::endl;
+				//initiator_c1[i*Y_MAX+j].print_trace();
+				//std::cout << std::hex;
+				//std::cout << "synt_cmdval  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].cmdval.read() << std::endl;
+				//std::cout << "synt_cmdack  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].cmdack.read() << std::endl;
+				//std::cout << "synt_address = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].address.read() << std::endl;
+				//std::cout << "synt_cmd     = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].cmd.read() << std::endl;
+				//std::cout << "synt_srcid   = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].srcid.read() << std::endl;
+				//std::cout << "synt_trdid   = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].trdid.read() << std::endl;
+				//std::cout << "synt_pktid   = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].pktid.read() << std::endl;
+				//std::cout << "synt_plen    = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].plen.read() << std::endl;
+				//std::cout << "synt_eop     = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].eop.read() << std::endl;
+				//std::cout << "synt_rspval  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rspval.read() << std::endl;
+				//std::cout << "synt_rspack  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rspack.read() << std::endl;
+				//std::cout << "synt_rsrcid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rsrcid.read() << std::endl;
+				//std::cout << "synt_rtrdid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rtrdid.read() << std::endl;
+				//std::cout << "synt_rpktid  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rpktid.read() << std::endl;
+				//std::cout << "synt_rerror  = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].rerror.read() << std::endl;
+				//std::cout << "synt_reop    = " << signal_vci_ini_synth_c1[0][i*Y_MAX+j].reop.read() << std::endl;
 				ram_c1[i*Y_MAX+j].print_trace();
 				std::cout << std::hex;
@@ -450,14 +455,92 @@
 		}
 #endif
-		
-	}
-
+				//initiator_c1[4].print_trace();
+				//std::cout << std::hex;
+				//std::cout << "synt_cmdval  = " << signal_vci_ini_synth_c1[0][255].cmdval.read() << std::endl;
+				//std::cout << "synt_cmdack  = " << signal_vci_ini_synth_c1[0][255].cmdack.read() << std::endl;
+				//std::cout << "synt_address = " << signal_vci_ini_synth_c1[0][255].address.read() << std::endl;
+				//std::cout << "synt_cmd     = " << signal_vci_ini_synth_c1[0][255].cmd.read() << std::endl;
+				//std::cout << "synt_srcid   = " << signal_vci_ini_synth_c1[0][255].srcid.read() << std::endl;
+				//std::cout << "synt_trdid   = " << signal_vci_ini_synth_c1[0][255].trdid.read() << std::endl;
+				//std::cout << "synt_pktid   = " << signal_vci_ini_synth_c1[0][255].pktid.read() << std::endl;
+				//std::cout << "synt_plen    = " << signal_vci_ini_synth_c1[0][255].plen.read() << std::endl;
+				//std::cout << "synt_eop     = " << signal_vci_ini_synth_c1[0][255].eop.read() << std::endl;
+				//std::cout << "synt_rspval  = " << signal_vci_ini_synth_c1[0][255].rspval.read() << std::endl;
+				//std::cout << "synt_rspack  = " << signal_vci_ini_synth_c1[0][255].rspack.read() << std::endl;
+				//std::cout << "synt_rsrcid  = " << signal_vci_ini_synth_c1[0][255].rsrcid.read() << std::endl;
+				//std::cout << "synt_rtrdid  = " << signal_vci_ini_synth_c1[0][255].rtrdid.read() << std::endl;
+				//std::cout << "synt_rpktid  = " << signal_vci_ini_synth_c1[0][255].rpktid.read() << std::endl;
+				//std::cout << "synt_rerror  = " << signal_vci_ini_synth_c1[0][255].rerror.read() << std::endl;
+				//std::cout << "synt_reop    = " << signal_vci_ini_synth_c1[0][255].reop.read() << std::endl;
+				//ram_c1[4].print_trace();
+				//std::cout << std::hex;
+				//std::cout << "ram_cmdval  = " << signal_vci_ini_synth_c1[1][4].cmdval.read() << std::endl;
+				//std::cout << "ram_address = " << signal_vci_ini_synth_c1[1][4].address.read() << std::endl;
+				//std::cout << "ram_cmd     = " << signal_vci_ini_synth_c1[1][4].cmd.read() << std::endl;
+				//std::cout << "ram_srcid   = " << signal_vci_ini_synth_c1[1][4].srcid.read() << std::endl;
+				//std::cout << "ram_trdid   = " << signal_vci_ini_synth_c1[1][4].trdid.read() << std::endl;
+				//std::cout << "ram_pktid   = " << signal_vci_ini_synth_c1[1][4].pktid.read() << std::endl;
+				//std::cout << "ram_plen    = " << signal_vci_ini_synth_c1[1][4].plen.read() << std::endl;
+				//std::cout << "ram_eop     = " << signal_vci_ini_synth_c1[1][4].eop.read() << std::endl;
+				//std::cout << "ram_rspval  = " << signal_vci_ini_synth_c1[1][4].rspval.read() << std::endl;
+				//std::cout << "ram_rspack  = " << signal_vci_ini_synth_c1[1][4].rspack.read() << std::endl;
+				//std::cout << "ram_rsrcid  = " << signal_vci_ini_synth_c1[1][4].rsrcid.read() << std::endl;
+				//std::cout << "ram_rtrdid  = " << signal_vci_ini_synth_c1[1][4].rtrdid.read() << std::endl;
+				//std::cout << "ram_rpktid  = " << signal_vci_ini_synth_c1[1][4].rpktid.read() << std::endl;
+				//std::cout << "ram_rerror  = " << signal_vci_ini_synth_c1[1][4].rerror.read() << std::endl;
+				//std::cout << "ram_reop    = " << signal_vci_ini_synth_c1[1][4].reop.read() << std::endl;
+			
+			//for(int i = 0 ; i < Y_MAX ; i++){
+			//	for(int j = 0 ; j < X_MAX ; j++){
+			//		std::cout << std::dec << t << " cycles " << std::endl;
+			//		local_ring_c1[i*Y_MAX+j].print_trace();
+			//		//initiator_c1[i*Y_MAX+j].print_trace();
+			//	}
+			//}
+			//initiator_c1[4].print_trace();
+			//std::cout << std::hex;
+			//std::cout << "synt_cmdval  = " << signal_vci_ini_synth_c1[0][4].cmdval.read() << std::endl;
+			//std::cout << "synt_cmdack  = " << signal_vci_ini_synth_c1[0][4].cmdack.read() << std::endl;
+			//std::cout << "synt_address = " << signal_vci_ini_synth_c1[0][4].address.read() << std::endl;
+			//std::cout << "synt_cmd     = " << signal_vci_ini_synth_c1[0][4].cmd.read() << std::endl;
+			//std::cout << "synt_srcid   = " << signal_vci_ini_synth_c1[0][4].srcid.read() << std::endl;
+			//std::cout << "synt_trdid   = " << signal_vci_ini_synth_c1[0][4].trdid.read() << std::endl;
+			//std::cout << "synt_pktid   = " << signal_vci_ini_synth_c1[0][4].pktid.read() << std::endl;
+			//std::cout << "synt_plen    = " << signal_vci_ini_synth_c1[0][4].plen.read() << std::endl;
+			//std::cout << "synt_eop     = " << signal_vci_ini_synth_c1[0][4].eop.read() << std::endl;
+			//std::cout << "synt_rspval  = " << signal_vci_ini_synth_c1[0][4].rspval.read() << std::endl;
+			//std::cout << "synt_rspack  = " << signal_vci_ini_synth_c1[0][4].rspack.read() << std::endl;
+			//std::cout << "synt_rsrcid  = " << signal_vci_ini_synth_c1[0][4].rsrcid.read() << std::endl;
+			//std::cout << "synt_rtrdid  = " << signal_vci_ini_synth_c1[0][4].rtrdid.read() << std::endl;
+			//std::cout << "synt_rpktid  = " << signal_vci_ini_synth_c1[0][4].rpktid.read() << std::endl;
+			//std::cout << "synt_rerror  = " << signal_vci_ini_synth_c1[0][4].rerror.read() << std::endl;
+			//std::cout << "synt_reop    = " << signal_vci_ini_synth_c1[0][4].reop.read() << std::endl;
+			//local_ring_c1[4].print_trace();
+			//initiator_c1[27].print_fifo_state();
+			//if (!(t%1000000))
+			//	std::cout <<std::dec << t << " 1000000 cycles passed" << std::endl;
+
+
+	}
+
+	//double latency_c0 = 0;
+	double latency_c1 = 0;
+	double latency_bc = 0;
 	std::cout << "Results : " << std::endl;
 	for(int i = 0 ; i < Y_MAX ; i++){
 		for(int j = 0 ; j < X_MAX ; j++){
+			//initiator_c0[i*Y_MAX+j].printStats();
+			//latency_c0 += initiator_c0[i*Y_MAX+j].getLatencySingle() ;
 			initiator_c1[i*Y_MAX+j].printStats();
+			latency_c1 += initiator_c1[i*Y_MAX+j].getLatencySingle() ;
+			latency_bc += initiator_c1[i*Y_MAX+j].getLatencyBC();
+			std::cout << "bc latency " << latency_bc << std::endl;
 		}
 	}
 
+		
+	//std::cout << "Latency_c0 : " << latency_c0 << std::endl;
+	std::cout << "Latency_c1 : " << latency_c1 << std::endl;
+	std::cout << "BC latency : " << latency_bc << std::endl;
 
 	std::cout << "Simulation Ends" << std::endl;
