Index: branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/metadata/tsar_iob_cluster.sd
===================================================================
--- branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/metadata/tsar_iob_cluster.sd	(revision 648)
+++ branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/metadata/tsar_iob_cluster.sd	(revision 658)
@@ -45,4 +45,7 @@
 
         Uses('caba:vci_xicu',
+              cell_size          = parameter.Reference('vci_data_width_int')),
+
+		Uses('caba:vci_simple_rom',
               cell_size          = parameter.Reference('vci_data_width_int')),
 
Index: branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h
===================================================================
--- branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h	(revision 648)
+++ branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h	(revision 658)
@@ -21,4 +21,5 @@
 #include "mips32.h"
 #include "vci_simple_ram.h"
+#include "vci_simple_rom.h"
 #include "vci_xicu.h"
 #include "dspin_local_crossbar.h"
@@ -102,4 +103,5 @@
       VciSignals<vci_param_int> signal_int_vci_tgt_memc;
       VciSignals<vci_param_int> signal_int_vci_tgt_xicu;
+      VciSignals<vci_param_int> signal_int_vci_tgt_brom;
       VciSignals<vci_param_int> signal_int_vci_tgt_mdma;
       VciSignals<vci_param_int> signal_int_vci_tgt_iobx;
@@ -118,4 +120,6 @@
       DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_xicu_t;
       DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_xicu_t;
+      DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_brom_t;
+      DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_brom_t;
       DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_mdma_t;
       DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_mdma_t;
@@ -179,4 +183,7 @@
       VciIntDspinTargetWrapperType*    mdma_int_wt;
 
+      VciSimpleRom<vci_param_int>*     brom;
+      VciIntDspinTargetWrapperType*    brom_int_wt;
+
       DspinLocalCrossbar<dspin_int_cmd_width>* int_xbar_cmd_d;
       DspinLocalCrossbar<dspin_int_rsp_width>* int_xbar_rsp_d;
@@ -225,4 +232,5 @@
          size_t int_mdma_tgtid;
          size_t int_iobx_tgtid;
+         size_t int_brom_tgtid;
          size_t int_proc_srcid;
          size_t int_mdma_srcid;
Index: branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp
===================================================================
--- branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp	(revision 648)
+++ branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp	(revision 658)
@@ -160,4 +160,18 @@
          params.x_width + params.y_width + params.l_width);
 
+   ///////////   LOCAL ROM
+   brom = new VciSimpleRom<vci_param_int>(
+         "brom",
+         IntTab(cluster_id, params.int_brom_tgtid),
+         params.mt_int,
+         params.loader,
+         params.x_width + params.y_width);
+
+   std::ostringstream s_wt_brom;
+   s_wt_brom << "brom_wt_" << params.x_id << "_" << params.y_id;
+   brom_int_wt = new VciIntDspinTargetWrapperType (
+         s_wt_brom.str().c_str(),
+         params.x_width + params.y_width + params.l_width);
+
    ///////////   XICU
    std::ostringstream s_xicu;
@@ -201,9 +215,9 @@
    ///////////  Direct LOCAL_XBAR(S)
    size_t nb_direct_initiators = params.nb_procs + 1;
-   size_t nb_direct_targets    = 3;
+   size_t nb_direct_targets    = 4;
    if ((cluster_id == cluster_iob0) or (cluster_id == cluster_iob1))
    {
       nb_direct_initiators = params.nb_procs + 2;
-      nb_direct_targets    = 4;
+      nb_direct_targets    = 5;
    }
 
@@ -462,4 +476,6 @@
    int_xbar_cmd_d->p_local_out[params.int_xicu_tgtid](
          signal_int_dspin_cmd_xicu_t);
+   int_xbar_cmd_d->p_local_out[params.int_brom_tgtid](
+         signal_int_dspin_cmd_brom_t);
    int_xbar_cmd_d->p_local_out[params.int_mdma_tgtid](
          signal_int_dspin_cmd_mdma_t);
@@ -490,4 +506,6 @@
    int_xbar_rsp_d->p_local_in[params.int_xicu_tgtid](
          signal_int_dspin_rsp_xicu_t);
+   int_xbar_rsp_d->p_local_in[params.int_brom_tgtid](
+         signal_int_dspin_rsp_brom_t);
    int_xbar_rsp_d->p_local_in[params.int_mdma_tgtid](
          signal_int_dspin_rsp_mdma_t);
@@ -609,4 +627,16 @@
    memc_ram_wi->p_vci       (signal_ram_vci_ini_memc);
 
+   //////////////////////////////////// BROM
+   brom->p_clk              (this->p_clk);
+   brom->p_resetn           (this->p_resetn);
+   brom->p_vci              (signal_int_vci_tgt_brom);
+
+   //wrapper to INT network
+   brom_int_wt->p_clk       (this->p_clk);
+   brom_int_wt->p_resetn    (this->p_resetn);
+   brom_int_wt->p_dspin_cmd (signal_int_dspin_cmd_brom_t);
+   brom_int_wt->p_dspin_rsp (signal_int_dspin_rsp_brom_t);
+   brom_int_wt->p_vci       (signal_int_vci_tgt_brom);
+
    //////////////////////////////////// XRAM
    xram->p_clk              (this->p_clk);
@@ -726,4 +756,6 @@
    delete xicu;
    delete xicu_int_wt;
+   delete brom;
+   delete brom_int_wt;
    delete mdma;
    delete mdma_int_wt;
