Ignore:
Timestamp:
Sep 17, 2014, 1:17:56 PM (10 years ago)
Author:
cfuguet
Message:

reconf/tsar_generic_iob: Using the new P_WIDTH constant

  • This constant is used in the clusters to compute the procesor id which now is: (((x << Y_WIDTH) + y) << P_WIDTH) + lpid
  • Introducing the p_width constant in the arch.py files
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/reconfiguration/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h

    r748 r806  
    11//////////////////////////////////////////////////////////////////////////////
    22// File: tsar_iob_cluster.h
    3 // Author: Alain Greiner 
     3// Author: Alain Greiner
    44// Copyright: UPMC/LIP6
    55// Date : april 2013
     
    3737
    3838///////////////////////////////////////////////////////////////////////////
    39 template<typename vci_param_int, 
     39template<typename vci_param_int,
    4040         typename vci_param_ext,
    41          size_t   dspin_int_cmd_width, 
     41         size_t   dspin_int_cmd_width,
    4242         size_t   dspin_int_rsp_width,
    4343         size_t   dspin_ram_cmd_width,
    4444         size_t   dspin_ram_rsp_width>
    45 class TsarIobCluster 
     45class TsarIobCluster
    4646///////////////////////////////////////////////////////////////////////////
    4747    : public soclib::caba::BaseModule
     
    5656    // Thes two ports are used to connect IOB to IOX nework in top cell
    5757    soclib::caba::VciInitiator<vci_param_ext>*         p_vci_iob_iox_ini;
    58     soclib::caba::VciTarget<vci_param_ext>*            p_vci_iob_iox_tgt; 
     58    soclib::caba::VciTarget<vci_param_ext>*            p_vci_iob_iox_tgt;
    5959
    6060    // These arrays of ports are used to connect the INT & RAM networks in top cell
     
    7474    sc_signal<bool>                       signal_irq_mdma[8];
    7575    sc_signal<bool>                       signal_irq_memc;
    76    
     76
    7777    // INT network DSPIN signals between DSPIN routers and DSPIN local_crossbars
    78     DspinSignals<dspin_int_cmd_width>     signal_int_dspin_cmd_l2g_d; 
    79     DspinSignals<dspin_int_cmd_width>     signal_int_dspin_cmd_g2l_d; 
     78    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_cmd_l2g_d;
     79    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_cmd_g2l_d;
    8080    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_m2p_l2g_c;
    81     DspinSignals<dspin_int_cmd_width>     signal_int_dspin_m2p_g2l_c; 
     81    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_m2p_g2l_c;
    8282    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_clack_l2g_c;
    8383    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_clack_g2l_c;
    84     DspinSignals<dspin_int_rsp_width>     signal_int_dspin_rsp_l2g_d; 
    85     DspinSignals<dspin_int_rsp_width>     signal_int_dspin_rsp_g2l_d; 
     84    DspinSignals<dspin_int_rsp_width>     signal_int_dspin_rsp_l2g_d;
     85    DspinSignals<dspin_int_rsp_width>     signal_int_dspin_rsp_g2l_d;
    8686    DspinSignals<dspin_int_rsp_width>     signal_int_dspin_p2m_l2g_c;
    8787    DspinSignals<dspin_int_rsp_width>     signal_int_dspin_p2m_g2l_c;
    8888
    8989    // INT network VCI signals between VCI components and VCI local crossbar
    90     VciSignals<vci_param_int>             signal_int_vci_ini_proc[8]; 
    91     VciSignals<vci_param_int>             signal_int_vci_ini_mdma; 
    92     VciSignals<vci_param_int>             signal_int_vci_ini_iobx; 
     90    VciSignals<vci_param_int>             signal_int_vci_ini_proc[8];
     91    VciSignals<vci_param_int>             signal_int_vci_ini_mdma;
     92    VciSignals<vci_param_int>             signal_int_vci_ini_iobx;
    9393
    9494    VciSignals<vci_param_int>             signal_int_vci_tgt_memc;
     
    101101    VciSignals<vci_param_int>             signal_int_vci_g2l;
    102102
    103     // Coherence DSPIN signals between DSPIN local crossbars and CC components 
     103    // Coherence DSPIN signals between DSPIN local crossbars and CC components
    104104    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_m2p_memc;
    105105    DspinSignals<dspin_int_cmd_width>     signal_int_dspin_clack_memc;
     
    115115
    116116    // RAM network DSPIN signals between VCI/DSPIN wrappers, RAM dspin crossbar
    117     // and routers 
     117    // and routers
    118118    DspinSignals<dspin_ram_cmd_width>     signal_ram_dspin_cmd_xram_t;
    119119    DspinSignals<dspin_ram_rsp_width>     signal_ram_dspin_rsp_xram_t;
     
    126126    DspinSignals<dspin_ram_cmd_width>     signal_ram_dspin_cmd_false;
    127127    DspinSignals<dspin_ram_rsp_width>     signal_ram_dspin_rsp_false;
    128  
     128
    129129    //////////////////////////////////////
    130130    // Hardwate Components (pointers)
    131131    //////////////////////////////////////
    132     VciCcVCacheWrapper<vci_param_int, 
     132    VciCcVCacheWrapper<vci_param_int,
    133133                       dspin_int_cmd_width,
    134134                       dspin_int_rsp_width,
     
    136136
    137137    VciMemCache<vci_param_int,
    138                 vci_param_ext, 
    139                 dspin_int_rsp_width, 
     138                vci_param_ext,
     139                dspin_int_rsp_width,
    140140                dspin_int_cmd_width>*                 memc;
    141141
     
    151151
    152152    VciLocalCrossbar<vci_param_int>*                  int_xbar_d;
    153    
     153
    154154    VciDspinInitiatorWrapper<vci_param_int,
    155155                             dspin_int_cmd_width,
     
    172172                          dspin_ram_cmd_width,
    173173                          dspin_ram_rsp_width>*       xram_ram_wt;
    174    
     174
    175175    DspinRouter<dspin_ram_cmd_width>*                 ram_router_cmd;
    176176    DspinRouter<dspin_ram_rsp_width>*                 ram_router_rsp;
     
    178178    DspinLocalCrossbar<dspin_ram_cmd_width>*          ram_xbar_cmd;
    179179    DspinLocalCrossbar<dspin_ram_rsp_width>*          ram_xbar_rsp;
    180    
     180
    181181
    182182    // IO Network Components (not instanciated in all clusters)
     
    191191    // cluster constructor
    192192    TsarIobCluster( sc_module_name                     insname,
    193                     size_t                             nb_procs,   
    194                     size_t                             nb_dmas, 
     193                    size_t                             nb_procs,
     194                    size_t                             nb_dmas,
    195195                    size_t                             x,             // x coordinate
    196196                    size_t                             y,             // y coordinate
    197                     size_t                             xmax,
    198                     size_t                             ymax,
     197                    size_t                             x_size,
     198                    size_t                             y_size,
     199
     200                    size_t                             p_width,       // pid field bits
    199201
    200202                    const soclib::common::MappingTable &mt_int,
     
    226228                    size_t                             memc_sets,
    227229                    size_t                             l1_i_ways,
    228                     size_t                             l1_i_sets, 
     230                    size_t                             l1_i_sets,
    229231                    size_t                             l1_d_ways,
    230                     size_t                             l1_d_sets,   
    231                     size_t                             xram_latency, 
     232                    size_t                             l1_d_sets,
     233                    size_t                             xram_latency,
    232234                    size_t                             xcu_nb_inputs,
    233235
     
    236238                    const Loader                       &loader,       // loader for XRAM
    237239
    238                     uint32_t                           frozen_cycles, 
     240                    uint32_t                           frozen_cycles,
    239241                    uint32_t                           start_debug_cycle,
    240                     bool                               memc_debug_ok, 
    241                     bool                               proc_debug_ok, 
    242                     bool                               iob0_debug_ok ); 
     242                    bool                               memc_debug_ok,
     243                    bool                               proc_debug_ok,
     244                    bool                               iob0_debug_ok );
    243245
    244246  protected:
     
    247249
    248250    void init();
    249  
     251
    250252
    251253};
Note: See TracChangeset for help on using the changeset viewer.