Index: anches/v5/platforms/tsarv5_generic_mmu/hard_config.h
===================================================================
--- /branches/v5/platforms/tsarv5_generic_mmu/hard_config.h	(revision 369)
+++ 	(revision )
@@ -1,6 +1,0 @@
-#define	CLUSTER_X		2
-#define CLUSTER_Y		2
-#define NB_PROCS_MAX	2
-#define NB_TTYS			12
-#define NB_DMAS_MAX		2
-#define NB_NICS			2
Index: /branches/v5/platforms/tsarv5_generic_mmu/top.cpp
===================================================================
--- /branches/v5/platforms/tsarv5_generic_mmu/top.cpp	(revision 369)
+++ /branches/v5/platforms/tsarv5_generic_mmu/top.cpp	(revision 370)
@@ -134,5 +134,5 @@
 //////////////////////i/////////////////////////////////////
 
-#include "hard_config.h"
+#include "giet_vm/hard_config.h"
 
 ////////////////////////////////////////////////////////////
@@ -173,6 +173,6 @@
 #define MAX_FROZEN_CYCLES     10000
 
-#define TRACE_MEMC_ID         1000000
-#define TRACE_PROC_ID         1000000
+#define TRACE_MEMC_ID         0
+#define TRACE_PROC_ID         0
 
 /////////////////////////////////////////////////////////
@@ -569,5 +569,5 @@
                 x_width,
                 y_width,
-                4,            // l_id width,
+                srcid_width - x_width - y_width,            // l_id width,
                 MEMC_TGTID,
                 XICU_TGTID,
@@ -731,5 +731,70 @@
          std::cout << "****************** cycle " << std::dec << n ;
          std::cout << " ************************************************" << std::endl;
-
+/*
+         clusters[0][0]->proc[0]->print_trace();
+         clusters[0][0]->signal_vci_ini_proc[0].print_trace("DIRECT proc_0_0_0 vci_ini");
+         clusters[0][0]->signal_dspin_cmd_proc_i[0].print_trace("DIRECT cmd_out_proc_0_0_0");
+         clusters[0][0]->signal_dspin_rsp_proc_i[0].print_trace("DIRECT rsp_in_proc_0_0_0");
+         clusters[0][0]->signal_dspin_p2m_proc[0].print_trace("COHERENCE p2m_proc_0_0_0");
+         clusters[0][0]->signal_dspin_m2p_proc[0].print_trace("COHERENCE m2p_proc_0_0_0");
+         clusters[0][0]->memc->print_trace();
+         clusters[0][0]->signal_vci_tgt_memc.print_trace("DIRECT memc_0_0_vci_tgt");
+         clusters[0][0]->signal_dspin_cmd_memc_t.print_trace("DIRECT cmd_memc_0_0");
+         clusters[0][0]->signal_dspin_rsp_memc_t.print_trace("DIRECT rsp_memc_0_0");
+         clusters[0][0]->signal_dspin_p2m_memc.print_trace("COHERENCE p2m_memc_0_0");
+         clusters[0][0]->signal_dspin_m2p_memc.print_trace("COHERENCE m2p_memc_0_0");
+         clusters[0][0]->signal_vci_tgt_brom.print_trace("DIRECT brom vci_tgt_0_0");
+         clusters[0][0]->signal_dspin_cmd_brom_t.print_trace("DIRECT cmd_in_brom_0_0");
+         clusters[0][0]->signal_dspin_rsp_brom_t.print_trace("DIRECT rsp_out_brom_0_0");
+
+         clusters[0][1]->proc[0]->print_trace();
+         clusters[0][1]->signal_vci_ini_proc[0].print_trace("DIRECT proc_0_1_0 vci_ini");
+         clusters[0][1]->signal_dspin_cmd_proc_i[0].print_trace("DIRECT cmd_out_proc_0_1_0");
+         clusters[0][1]->signal_dspin_rsp_proc_i[0].print_trace("DIRECT rsp_in_proc_0_1_0");
+         clusters[0][1]->signal_dspin_p2m_proc[0].print_trace("COHERENCE p2m_proc_0_1_0");
+         clusters[0][1]->signal_dspin_m2p_proc[0].print_trace("COHERENCE m2p_proc_0_1_0");
+         clusters[0][1]->memc->print_trace();
+         clusters[0][1]->signal_vci_tgt_memc.print_trace("DIRECT memc_0_1_vci_tgt");
+         clusters[0][1]->signal_dspin_cmd_memc_t.print_trace("DIRECT cmd_memc_0_1");
+         clusters[0][1]->signal_dspin_rsp_memc_t.print_trace("DIRECT rsp_memc_0_1");
+         clusters[0][1]->signal_dspin_p2m_memc.print_trace("COHERENCE p2m_memc_0_1");
+         clusters[0][1]->signal_dspin_m2p_memc.print_trace("COHERENCE m2p_memc_0_1");
+         clusters[0][1]->signal_vci_tgt_brom.print_trace("DIRECT brom vci_tgt_0_1");
+         clusters[0][1]->signal_dspin_cmd_brom_t.print_trace("DIRECT cmd_in_brom_0_1");
+         clusters[0][1]->signal_dspin_rsp_brom_t.print_trace("DIRECT rsp_out_brom_0_1");
+
+         clusters[1][0]->proc[0]->print_trace();
+         clusters[1][0]->signal_vci_ini_proc[0].print_trace("DIRECT proc_1_0_0 vci_ini");
+         clusters[1][0]->signal_dspin_cmd_proc_i[0].print_trace("DIRECT cmd_out_proc_1_0_0");
+         clusters[1][0]->signal_dspin_rsp_proc_i[0].print_trace("DIRECT rsp_in_proc_1_0_0");
+         clusters[1][0]->signal_dspin_p2m_proc[0].print_trace("COHERENCE p2m_proc_1_0_0");
+         clusters[1][0]->signal_dspin_m2p_proc[0].print_trace("COHERENCE m2p_proc_1_0_0");
+         clusters[1][0]->memc->print_trace();
+         clusters[1][0]->signal_vci_tgt_memc.print_trace("DIRECT memc_1_0_vci_tgt");
+         clusters[1][0]->signal_dspin_cmd_memc_t.print_trace("DIRECT cmd_memc_1_0");
+         clusters[1][0]->signal_dspin_rsp_memc_t.print_trace("DIRECT rsp_memc_1_0");
+         clusters[1][0]->signal_dspin_p2m_memc.print_trace("COHERENCE p2m_memc_1_0");
+         clusters[1][0]->signal_dspin_m2p_memc.print_trace("COHERENCE m2p_memc_1_0");
+         clusters[1][0]->signal_vci_tgt_brom.print_trace("DIRECT brom vci_tgt_1_0");
+         clusters[1][0]->signal_dspin_cmd_brom_t.print_trace("DIRECT cmd_in_brom_1_0");
+         clusters[1][0]->signal_dspin_rsp_brom_t.print_trace("DIRECT rsp_out_brom_1_0");
+
+         clusters[1][1]->proc[0]->print_trace();
+         clusters[1][1]->signal_vci_ini_proc[0].print_trace("DIRECT proc_1_1_0 vci_ini");
+         clusters[1][1]->signal_dspin_cmd_proc_i[0].print_trace("DIRECT cmd_out_proc_1_1_0");
+         clusters[1][1]->signal_dspin_rsp_proc_i[0].print_trace("DIRECT rsp_in_proc_1_1_0");
+         clusters[1][1]->signal_dspin_p2m_proc[0].print_trace("COHERENCE p2m_proc_1_1_0");
+         clusters[1][1]->signal_dspin_m2p_proc[0].print_trace("COHERENCE m2p_proc_1_1_0");
+         clusters[1][1]->memc->print_trace();
+         clusters[1][1]->signal_vci_tgt_memc.print_trace("DIRECT memc_1_1_vci_tgt");
+         clusters[1][1]->signal_dspin_cmd_memc_t.print_trace("DIRECT cmd_memc_1_1");
+         clusters[1][1]->signal_dspin_rsp_memc_t.print_trace("DIRECT rsp_memc_1_1");
+         clusters[1][1]->signal_dspin_p2m_memc.print_trace("COHERENCE p2m_memc_1_1");
+         clusters[1][1]->signal_dspin_m2p_memc.print_trace("COHERENCE m2p_memc_1_1");
+         clusters[1][1]->signal_vci_tgt_brom.print_trace("DIRECT brom vci_tgt_1_1");
+         clusters[1][1]->signal_dspin_cmd_brom_t.print_trace("DIRECT cmd_in_brom_1_1");
+         clusters[1][1]->signal_dspin_rsp_brom_t.print_trace("DIRECT rsp_out_brom_1_1");
+*/
+/*
          // trace proc[debug_proc_id] 
          if ( debug_proc_id < (CLUSTER_X * CLUSTER_Y * NB_PROCS_MAX) )
@@ -751,5 +816,5 @@
              clusters[memc_x][memc_y]->signal_vci_tgt_memc.print_trace("memc");
          }
-
+*/
 // clusters[0][0]->signal_vci_tgt_xicu.print_trace("xicu_0_0");
 // clusters[0][1]->signal_vci_tgt_xicu.print_trace("xicu_0_1");
Index: /branches/v5/platforms/tsarv5_generic_mmu/tsarv5_cluster_mmu/caba/source/src/tsarv5_cluster_mmu.cpp
===================================================================
--- /branches/v5/platforms/tsarv5_generic_mmu/tsarv5_cluster_mmu/caba/source/src/tsarv5_cluster_mmu.cpp	(revision 369)
+++ /branches/v5/platforms/tsarv5_generic_mmu/tsarv5_cluster_mmu/caba/source/src/tsarv5_cluster_mmu.cpp	(revision 370)
@@ -124,5 +124,5 @@
 
         std::ostringstream swip;
-        swip << "wi_proc_" << x_id << "_" << y_id;
+        swip << "wi_proc_" << x_id << "_" << y_id << p;
         wi_proc[p] = new VciDspinInitiatorWrapper<vci_param,cmd_width,rsp_width>(
                      swip.str().c_str(),
@@ -284,5 +284,5 @@
                      mtd,                          // mapping table
                      x_id, y_id,                   // cluster coordinates
-                     x_width, y_width, l_width,
+                     x_width, y_width, 0,          // l_width unused on the network going from proc to memc (only X and Y identifie the cluster)
                      nb_procs,                     // number of local sources
                      1,                            // number of local dests
