Ignore:
Timestamp:
Feb 12, 2014, 9:43:49 AM (10 years ago)
Author:
alain
Message:

Introducing the vci_iopic component in the tsar_generic_leti plat-form.
This platform has been tested wit three distributed applications
running on top of the giet_tsar:

  • soft_hello_giet
  • soft_transpose_giet
  • soft_sort_giet
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_leti/tsar_leti_cluster/caba/source/include/tsar_leti_cluster.h

    r621 r628  
    2525#include "vci_dspin_initiator_wrapper.h"
    2626#include "vci_dspin_target_wrapper.h"
    27 #include "virtual_dspin_router.h"
     27#include "dspin_router.h"
    2828#include "vci_multi_tty.h"
    29 #include "vci_multi_nic.h"
    30 #include "vci_chbuf_dma.h"
    3129#include "vci_block_device_tsar.h"
    32 #include "vci_framebuffer.h"
    33 #include "vci_multi_dma.h"
    3430#include "vci_mem_cache.h"
    3531#include "vci_cc_vcache_wrapper.h"
    36 #include "vci_simhelper.h"
    3732
    3833namespace soclib { namespace caba {
     
    5449    sc_in<bool>                                     p_clk;
    5550    sc_in<bool>                                     p_resetn;
    56     soclib::caba::DspinOutput<dspin_cmd_width>      **p_cmd_out;
    57     soclib::caba::DspinInput<dspin_cmd_width>       **p_cmd_in;
    58     soclib::caba::DspinOutput<dspin_rsp_width>      **p_rsp_out;
    59     soclib::caba::DspinInput<dspin_rsp_width>       **p_rsp_in;
     51
     52    soclib::caba::DspinOutput<dspin_cmd_width>      *p_cmd_out;
     53    soclib::caba::DspinInput<dspin_cmd_width>       *p_cmd_in;
     54
     55    soclib::caba::DspinOutput<dspin_rsp_width>      *p_rsp_out;
     56    soclib::caba::DspinInput<dspin_rsp_width>       *p_rsp_in;
     57
     58    soclib::caba::DspinOutput<dspin_cmd_width>      *p_m2p_out;
     59    soclib::caba::DspinInput<dspin_cmd_width>       *p_m2p_in;
     60
     61    soclib::caba::DspinOutput<dspin_rsp_width>      *p_p2m_out;
     62    soclib::caba::DspinInput<dspin_rsp_width>       *p_p2m_in;
     63
     64    soclib::caba::DspinOutput<dspin_cmd_width>      *p_cla_out;
     65    soclib::caba::DspinInput<dspin_cmd_width>       *p_cla_in;
    6066
    6167    // interrupt signals
    6268    sc_signal<bool>         signal_false;
    63     sc_signal<bool>         signal_proc_it[8];
    64     sc_signal<bool>         signal_irq_mdma[8];
    65     sc_signal<bool>         signal_irq_mtty[23];
    66     sc_signal<bool>         signal_irq_mnic_rx[8];  // unused
    67     sc_signal<bool>         signal_irq_mnic_tx[8];  // unused
    68     sc_signal<bool>         signal_irq_chbuf[8];  // unused
     69    sc_signal<bool>         signal_proc_irq[16];
     70    sc_signal<bool>         signal_irq_mtty;
    6971    sc_signal<bool>         signal_irq_memc;
    7072    sc_signal<bool>         signal_irq_bdev;
     
    8385
    8486    // Direct VCI signals to VCI/DSPIN wrappers
    85     VciSignals<vci_param_int>       signal_vci_ini_proc[8];
     87    VciSignals<vci_param_int>       signal_vci_ini_proc[4];
    8688    VciSignals<vci_param_int>       signal_vci_ini_mdma;
    8789    VciSignals<vci_param_int>       signal_vci_ini_bdev;
     
    99101
    100102    // Direct DSPIN signals to local crossbars
    101     DspinSignals<dspin_cmd_width>     signal_dspin_cmd_proc_i[8];
    102     DspinSignals<dspin_rsp_width>     signal_dspin_rsp_proc_i[8];
     103    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_proc_i[4];
     104    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_proc_i[4];
    103105    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_mdma_i;
    104106    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_mdma_i;
     
    131133    DspinSignals<dspin_cmd_width>     signal_dspin_clack_memc;
    132134    DspinSignals<dspin_rsp_width>     signal_dspin_p2m_memc;
    133     DspinSignals<dspin_cmd_width>     signal_dspin_m2p_proc[8];
    134     DspinSignals<dspin_cmd_width>     signal_dspin_clack_proc[8];
    135     DspinSignals<dspin_rsp_width>     signal_dspin_p2m_proc[8];
     135    DspinSignals<dspin_cmd_width>     signal_dspin_m2p_proc[4];
     136    DspinSignals<dspin_cmd_width>     signal_dspin_clack_proc[4];
     137    DspinSignals<dspin_rsp_width>     signal_dspin_p2m_proc[4];
    136138
    137139    // external RAM to MEMC VCI signal
     
    143145                       dspin_cmd_width,
    144146                       dspin_rsp_width,
    145                        GdbServer<Mips32ElIss> >*  proc[8];
     147                       GdbServer<Mips32ElIss> >*  proc[4];
    146148
    147149    VciDspinInitiatorWrapper<vci_param_int,
    148150                             dspin_cmd_width,
    149                              dspin_rsp_width>*    wi_proc[8];
     151                             dspin_rsp_width>*    wi_proc[4];
    150152
    151153    VciMemCache<vci_param_int,
     
    164166                          dspin_rsp_width>*       wt_xicu;
    165167
    166     VciMultiDma<vci_param_int>*                   mdma;
    167 
    168     VciDspinInitiatorWrapper<vci_param_int,
    169                              dspin_cmd_width,
    170                              dspin_rsp_width>*    wi_mdma;
    171 
    172     VciDspinTargetWrapper<vci_param_int,
    173                           dspin_cmd_width,
    174                           dspin_rsp_width>*       wt_mdma;
    175 
    176168    VciSimpleRam<vci_param_ext>*                  xram;
    177169
     
    181173                          dspin_cmd_width,
    182174                          dspin_rsp_width>*       wt_mtty;
    183 
    184     VciSimhelper<vci_param_int>*                  simhelper;
    185 
    186     VciDspinTargetWrapper<vci_param_int,
    187                           dspin_cmd_width,
    188                           dspin_rsp_width>*       wt_simhelper;
    189 
    190     VciFrameBuffer<vci_param_int>*                fbuf;
    191 
    192     VciDspinTargetWrapper<vci_param_int,
    193                           dspin_cmd_width,
    194                           dspin_rsp_width>*       wt_fbuf;
    195 
    196     VciMultiNic<vci_param_int>*                   mnic;
    197 
    198     VciDspinTargetWrapper<vci_param_int,
    199                           dspin_cmd_width,
    200                           dspin_rsp_width>*       wt_mnic;
    201 
    202     VciChbufDma<vci_param_int>*                   chbuf;
    203 
    204     VciDspinTargetWrapper<vci_param_int,
    205                           dspin_cmd_width,
    206                           dspin_rsp_width>*       wt_chbuf;
    207 
    208     VciDspinInitiatorWrapper<vci_param_int,
    209                           dspin_cmd_width,
    210                           dspin_rsp_width>*       wi_chbuf;
    211175
    212176    VciBlockDeviceTsar<vci_param_int>*            bdev;
     
    220184                          dspin_rsp_width>*       wt_bdev;
    221185
    222     DspinLocalCrossbar<dspin_cmd_width>*          xbar_cmd_d;
    223     DspinLocalCrossbar<dspin_rsp_width>*          xbar_rsp_d;
    224     DspinLocalCrossbar<dspin_cmd_width>*          xbar_m2p_c;
    225     DspinLocalCrossbar<dspin_rsp_width>*          xbar_p2m_c;
    226     DspinLocalCrossbar<dspin_cmd_width>*          xbar_clack_c;
    227 
    228     VirtualDspinRouter<dspin_cmd_width>*          router_cmd;
    229     VirtualDspinRouter<dspin_rsp_width>*          router_rsp;
     186    DspinLocalCrossbar<dspin_cmd_width>*          xbar_cmd;
     187    DspinLocalCrossbar<dspin_rsp_width>*          xbar_rsp;
     188    DspinLocalCrossbar<dspin_cmd_width>*          xbar_m2p;
     189    DspinLocalCrossbar<dspin_rsp_width>*          xbar_p2m;
     190    DspinLocalCrossbar<dspin_cmd_width>*          xbar_cla;
     191
     192    DspinRouter<dspin_cmd_width>*                 router_cmd;
     193    DspinRouter<dspin_rsp_width>*                 router_rsp;
     194    DspinRouter<dspin_cmd_width>*                 router_m2p;
     195    DspinRouter<dspin_rsp_width>*                 router_p2m;
     196    DspinRouter<dspin_cmd_width>*                 router_cla;
    230197
    231198    TsarLetiCluster( sc_module_name                     insname,
    232199                     size_t                             nb_procs,      // processors
    233                      size_t                             nb_ttys,       // TTY terminals
    234                      size_t                             nb_dmas,       //  DMA channels
    235200                     size_t                             x,             // x coordinate
    236201                     size_t                             y,             // y coordinate
     
    244209                     size_t                             tgtid_memc,
    245210                     size_t                             tgtid_xicu,
    246                      size_t                             tgtid_mdma,
    247                      size_t                             tgtid_fbuf,
    248211                     size_t                             tgtid_mtty,
    249                      size_t                             tgtid_mnic,
    250                      size_t                             tgtid_chbuf,
    251212                     size_t                             tgtid_bdev,
    252                      size_t                             tgtid_simh,
     213                     const char*                        disk_pathname,
    253214                     size_t                             memc_ways,
    254215                     size_t                             memc_sets,
     
    258219                     size_t                             l1_d_sets,
    259220                     size_t                             xram_latency,  // external ram
    260                      bool                               io,            // I/O cluster
    261                      size_t                             xfb,           // fbf pixels
    262                      size_t                             yfb,           // fbf lines
    263                      char*                              disk_name,     // virtual disk
    264                      size_t                             block_size,    // block size
    265                      size_t                             nic_channels,  // number channels
    266                      char*                              nic_rx_name,   // filename rx
    267                      char*                              nic_tx_name,   // filename tx
    268                      uint32_t                           nic_timeout,   // cycles
    269                      size_t                             chbufdma_channels,  // number channels
    270221                     const Loader                       &loader,
    271222                     uint32_t                           frozen_cycles,
Note: See TracChangeset for help on using the changeset viewer.