Ignore:
Timestamp:
May 18, 2014, 8:33:04 PM (10 years ago)
Author:
cfuguet
Message:

branches/fault-tolerance/tsar_generic_iob:

  • Introducing multi-tty component in all clusters for debug. Number of channels is set by a proprocessor contant in the tsar_iob_cluster.h file. Number of channels can be 0 if tty isn't needed.
  • Reducing number of parameters for cluster class. Using constants defined in hard_config.h instead.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/fault_tolerance/platform/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h

    r658 r695  
    3232#include "vci_cc_vcache_wrapper.h"
    3333#include "vci_io_bridge.h"
     34#include "vci_multi_tty.h"
     35#include "hard_config.h"
     36
     37///////////////////////////////////////////////////////////////////////
     38//     Number of channels for debug TTY (may be 0)
     39///////////////////////////////////////////////////////////////////////
     40#define NB_DEBUG_TTY_CHANNELS 1
     41
     42///////////////////////////////////////////////////////////////////////
     43//     TGT_ID and INI_ID port indexing for INT local interconnect
     44///////////////////////////////////////////////////////////////////////
     45
     46#define INT_MEMC_TGT_ID 0
     47#define INT_XICU_TGT_ID 1
     48#define INT_BROM_TGT_ID 2
     49#define INT_MDMA_TGT_ID 3
     50#define INT_MTTY_TGT_ID 4
     51#define INT_IOBX_TGT_ID (4 + (NB_DEBUG_TTY_CHANNELS ? 1 : 0))
     52
     53#define INT_PROC_INI_ID 0 // from 0 to 7
     54#define INT_MDMA_INI_ID NB_PROCS
     55#define INT_IOBX_INI_ID (NB_PROCS + 1)
     56
     57///////////////////////////////////////////////////////////////////////
     58//     TGT_ID and INI_ID port indexing for RAM local interconnect
     59///////////////////////////////////////////////////////////////////////
     60
     61#define RAM_XRAM_TGT_ID 0
     62
     63#define RAM_MEMC_INI_ID 0
     64#define RAM_IOBX_INI_ID 1
    3465
    3566namespace soclib { namespace caba {
     
    81112      sc_signal<bool> signal_proc_it[8];
    82113      sc_signal<bool> signal_irq_mdma[8];
     114      sc_signal<bool> signal_irq_mtty[8];
    83115      sc_signal<bool> signal_irq_memc;
    84116
     
    104136      VciSignals<vci_param_int> signal_int_vci_tgt_xicu;
    105137      VciSignals<vci_param_int> signal_int_vci_tgt_brom;
     138      VciSignals<vci_param_int> signal_int_vci_tgt_mtty;
    106139      VciSignals<vci_param_int> signal_int_vci_tgt_mdma;
    107140      VciSignals<vci_param_int> signal_int_vci_tgt_iobx;
     
    122155      DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_brom_t;
    123156      DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_brom_t;
     157      DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_mtty_t;
     158      DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_mtty_t;
    124159      DspinSignals<dspin_int_cmd_width> signal_int_dspin_cmd_mdma_t;
    125160      DspinSignals<dspin_int_rsp_width> signal_int_dspin_rsp_mdma_t;
     
    186221      VciIntDspinTargetWrapperType*    brom_int_wt;
    187222
     223      VciMultiTty<vci_param_int>*      mtty;
     224      VciIntDspinTargetWrapperType*    mtty_int_wt;
     225
    188226      DspinLocalCrossbar<dspin_int_cmd_width>* int_xbar_cmd_d;
    189227      DspinLocalCrossbar<dspin_int_rsp_width>* int_xbar_rsp_d;
     
    213251         sc_module_name insname;
    214252
    215          size_t nb_procs;
    216          size_t nb_dmas;
    217253         size_t x_id;
    218254         size_t y_id;
    219          size_t x_size;
    220          size_t y_size;
    221255
    222256         const soclib::common::MappingTable &mt_int;
    223257         const soclib::common::MappingTable &mt_ext;
    224258         const soclib::common::MappingTable &mt_iox;
    225 
    226          size_t x_width;
    227          size_t y_width;
    228          size_t l_width;
    229 
    230          size_t int_memc_tgtid;
    231          size_t int_xicu_tgtid;
    232          size_t int_mdma_tgtid;
    233          size_t int_iobx_tgtid;
    234          size_t int_brom_tgtid;
    235          size_t int_proc_srcid;
    236          size_t int_mdma_srcid;
    237          size_t int_iobx_srcid;
    238          size_t ext_xram_tgtid;
    239          size_t ext_memc_srcid;
    240          size_t ext_iobx_srcid;
    241259
    242260         size_t memc_ways;
     
    257275      };
    258276
     277      // utility functions
     278      static uint32_t clusterId(size_t x_id, size_t y_id) {
     279         return ((x_id << Y_WIDTH) | y_id);
     280      };
     281
    259282      // cluster constructor
    260283      TsarIobCluster(struct ClusterParams& params);
Note: See TracChangeset for help on using the changeset viewer.