Index: trunk/platforms/tsar_generic_leti/tsar_leti_cluster/caba/source/include/tsar_leti_cluster.h
===================================================================
--- trunk/platforms/tsar_generic_leti/tsar_leti_cluster/caba/source/include/tsar_leti_cluster.h	(revision 628)
+++ trunk/platforms/tsar_generic_leti/tsar_leti_cluster/caba/source/include/tsar_leti_cluster.h	(revision 692)
@@ -22,4 +22,5 @@
 #include "vci_simple_ram.h"
 #include "vci_xicu.h"
+#include "vci_local_crossbar.h"
 #include "dspin_local_crossbar.h"
 #include "vci_dspin_initiator_wrapper.h"
@@ -44,5 +45,5 @@
 
     // Used in destructor
-    size_t n_procs;
+    size_t m_nprocs;
 
     // Ports
@@ -75,14 +76,14 @@
     DspinSignals<dspin_cmd_width>   signal_dspin_cmd_l2g_d;
     DspinSignals<dspin_cmd_width>   signal_dspin_cmd_g2l_d;
+    DspinSignals<dspin_rsp_width>   signal_dspin_rsp_l2g_d;
+    DspinSignals<dspin_rsp_width>   signal_dspin_rsp_g2l_d;
     DspinSignals<dspin_cmd_width>   signal_dspin_m2p_l2g_c;
     DspinSignals<dspin_cmd_width>   signal_dspin_m2p_g2l_c;
     DspinSignals<dspin_cmd_width>   signal_dspin_clack_l2g_c;
     DspinSignals<dspin_cmd_width>   signal_dspin_clack_g2l_c;
-    DspinSignals<dspin_rsp_width>   signal_dspin_rsp_l2g_d;
-    DspinSignals<dspin_rsp_width>   signal_dspin_rsp_g2l_d;
     DspinSignals<dspin_rsp_width>   signal_dspin_p2m_l2g_c;
     DspinSignals<dspin_rsp_width>   signal_dspin_p2m_g2l_c;
 
-    // Direct VCI signals to VCI/DSPIN wrappers
+    // Direct VCI signals
     VciSignals<vci_param_int>       signal_vci_ini_proc[4];
     VciSignals<vci_param_int>       signal_vci_ini_mdma;
@@ -100,32 +101,6 @@
     VciSignals<vci_param_int>       signal_vci_tgt_simh;
 
-    // Direct DSPIN signals to local crossbars
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_proc_i[4];
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_proc_i[4];
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_mdma_i;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_mdma_i;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_bdev_i;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_bdev_i;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_chbuf_i;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_chbuf_i;
-
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_memc_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_memc_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_xicu_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_xicu_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_mdma_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_mdma_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_mtty_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_mtty_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_bdev_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_bdev_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_fbuf_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_fbuf_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_mnic_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_mnic_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_chbuf_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_chbuf_t;
-    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_simh_t;
-    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_simh_t;
+    VciSignals<vci_param_int>       signal_vci_g2l;
+    VciSignals<vci_param_int>       signal_vci_l2g;
 
     // Coherence DSPIN signals to local crossbar
@@ -147,8 +122,4 @@
                        GdbServer<Mips32ElIss> >*  proc[4];
 
-    VciDspinInitiatorWrapper<vci_param_int,
-                             dspin_cmd_width,
-                             dspin_rsp_width>*    wi_proc[4];
-
     VciMemCache<vci_param_int,
                 vci_param_ext,
@@ -156,13 +127,5 @@
                 dspin_cmd_width>*                 memc;
 
-    VciDspinTargetWrapper<vci_param_int,
-                          dspin_cmd_width,
-                          dspin_rsp_width>*       wt_memc;
-
     VciXicu<vci_param_int>*                       xicu;
-
-    VciDspinTargetWrapper<vci_param_int,
-                          dspin_cmd_width,
-                          dspin_rsp_width>*       wt_xicu;
 
     VciSimpleRam<vci_param_ext>*                  xram;
@@ -170,20 +133,16 @@
     VciMultiTty<vci_param_int>*                   mtty;
 
-    VciDspinTargetWrapper<vci_param_int,
-                          dspin_cmd_width,
-                          dspin_rsp_width>*       wt_mtty;
+    VciBlockDeviceTsar<vci_param_int>*            bdev;
 
-    VciBlockDeviceTsar<vci_param_int>*            bdev;
+    VciLocalCrossbar<vci_param_int>*              xbar_cmd;
 
     VciDspinInitiatorWrapper<vci_param_int,
                              dspin_cmd_width,
-                             dspin_rsp_width>*    wi_bdev;
+                             dspin_rsp_width>*    wi_gate;
 
     VciDspinTargetWrapper<vci_param_int,
                           dspin_cmd_width,
-                          dspin_rsp_width>*       wt_bdev;
+                          dspin_rsp_width>*       wt_gate;
 
-    DspinLocalCrossbar<dspin_cmd_width>*          xbar_cmd;
-    DspinLocalCrossbar<dspin_rsp_width>*          xbar_rsp;
     DspinLocalCrossbar<dspin_cmd_width>*          xbar_m2p;
     DspinLocalCrossbar<dspin_rsp_width>*          xbar_p2m;
