Ignore:
Timestamp:
Mar 7, 2014, 10:29:22 AM (10 years ago)
Author:
cfuguet
Message:

TSAR FAULT TOLERANCE BRANCH

  • Introducing replicated ROMs in cluster to contain the distributed boot procedure.
  • Erasing ROM in the IO network
Location:
branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/metadata/tsar_iob_cluster.sd

    r550 r658  
    4545
    4646        Uses('caba:vci_xicu',
     47              cell_size          = parameter.Reference('vci_data_width_int')),
     48
     49                Uses('caba:vci_simple_rom',
    4750              cell_size          = parameter.Reference('vci_data_width_int')),
    4851
  • branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h

    r648 r658  
    2121#include "mips32.h"
    2222#include "vci_simple_ram.h"
     23#include "vci_simple_rom.h"
    2324#include "vci_xicu.h"
    2425#include "dspin_local_crossbar.h"
     
    102103      VciSignals<vci_param_int> signal_int_vci_tgt_memc;
    103104      VciSignals<vci_param_int> signal_int_vci_tgt_xicu;
     105      VciSignals<vci_param_int> signal_int_vci_tgt_brom;
    104106      VciSignals<vci_param_int> signal_int_vci_tgt_mdma;
    105107      VciSignals<vci_param_int> signal_int_vci_tgt_iobx;
     
    118120      DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_xicu_t;
    119121      DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_xicu_t;
     122      DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_brom_t;
     123      DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_brom_t;
    120124      DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_mdma_t;
    121125      DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_mdma_t;
     
    179183      VciIntDspinTargetWrapperType*    mdma_int_wt;
    180184
     185      VciSimpleRom<vci_param_int>*     brom;
     186      VciIntDspinTargetWrapperType*    brom_int_wt;
     187
    181188      DspinLocalCrossbar<dspin_int_cmd_width>* int_xbar_cmd_d;
    182189      DspinLocalCrossbar<dspin_int_rsp_width>* int_xbar_rsp_d;
     
    225232         size_t int_mdma_tgtid;
    226233         size_t int_iobx_tgtid;
     234         size_t int_brom_tgtid;
    227235         size_t int_proc_srcid;
    228236         size_t int_mdma_srcid;
  • branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp

    r648 r658  
    160160         params.x_width + params.y_width + params.l_width);
    161161
     162   ///////////   LOCAL ROM
     163   brom = new VciSimpleRom<vci_param_int>(
     164         "brom",
     165         IntTab(cluster_id, params.int_brom_tgtid),
     166         params.mt_int,
     167         params.loader,
     168         params.x_width + params.y_width);
     169
     170   std::ostringstream s_wt_brom;
     171   s_wt_brom << "brom_wt_" << params.x_id << "_" << params.y_id;
     172   brom_int_wt = new VciIntDspinTargetWrapperType (
     173         s_wt_brom.str().c_str(),
     174         params.x_width + params.y_width + params.l_width);
     175
    162176   ///////////   XICU
    163177   std::ostringstream s_xicu;
     
    201215   ///////////  Direct LOCAL_XBAR(S)
    202216   size_t nb_direct_initiators = params.nb_procs + 1;
    203    size_t nb_direct_targets    = 3;
     217   size_t nb_direct_targets    = 4;
    204218   if ((cluster_id == cluster_iob0) or (cluster_id == cluster_iob1))
    205219   {
    206220      nb_direct_initiators = params.nb_procs + 2;
    207       nb_direct_targets    = 4;
     221      nb_direct_targets    = 5;
    208222   }
    209223
     
    462476   int_xbar_cmd_d->p_local_out[params.int_xicu_tgtid](
    463477         signal_int_dspin_cmd_xicu_t);
     478   int_xbar_cmd_d->p_local_out[params.int_brom_tgtid](
     479         signal_int_dspin_cmd_brom_t);
    464480   int_xbar_cmd_d->p_local_out[params.int_mdma_tgtid](
    465481         signal_int_dspin_cmd_mdma_t);
     
    490506   int_xbar_rsp_d->p_local_in[params.int_xicu_tgtid](
    491507         signal_int_dspin_rsp_xicu_t);
     508   int_xbar_rsp_d->p_local_in[params.int_brom_tgtid](
     509         signal_int_dspin_rsp_brom_t);
    492510   int_xbar_rsp_d->p_local_in[params.int_mdma_tgtid](
    493511         signal_int_dspin_rsp_mdma_t);
     
    609627   memc_ram_wi->p_vci       (signal_ram_vci_ini_memc);
    610628
     629   //////////////////////////////////// BROM
     630   brom->p_clk              (this->p_clk);
     631   brom->p_resetn           (this->p_resetn);
     632   brom->p_vci              (signal_int_vci_tgt_brom);
     633
     634   //wrapper to INT network
     635   brom_int_wt->p_clk       (this->p_clk);
     636   brom_int_wt->p_resetn    (this->p_resetn);
     637   brom_int_wt->p_dspin_cmd (signal_int_dspin_cmd_brom_t);
     638   brom_int_wt->p_dspin_rsp (signal_int_dspin_rsp_brom_t);
     639   brom_int_wt->p_vci       (signal_int_vci_tgt_brom);
     640
    611641   //////////////////////////////////// XRAM
    612642   xram->p_clk              (this->p_clk);
     
    726756   delete xicu;
    727757   delete xicu_int_wt;
     758   delete brom;
     759   delete brom_int_wt;
    728760   delete mdma;
    729761   delete mdma_int_wt;
Note: See TracChangeset for help on using the changeset viewer.