Changeset 447 for branches/v5/platforms


Ignore:
Timestamp:
Jul 18, 2013, 4:12:05 PM (11 years ago)
Author:
cfuguet
Message:

Adding tsar_generic_xbar platform in branches/v5/platforms:

  • This platform contains a third local crossbar interconnect for the CLACK network.
  • It works only in a monocluster topology
Location:
branches/v5/platforms/tsar_generic_xbar
Files:
4 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/v5/platforms/tsar_generic_xbar/Makefile

    r389 r447  
    11simul.x: top.cpp top.desc
    2         soclib-cc -j8 -P -p top.desc -I. -o simul.x
     2        soclib-cc -P -p top.desc -I. -o simul.x
    33
    44clean:
    55        soclib-cc -x -p top.desc -I.
    6         rm -rf *.o *.x tty*
     6        rm -rf *.o *.x term*
  • branches/v5/platforms/tsar_generic_xbar/top.cpp

    r438 r447  
    142142//////////////////////i/////////////////////////////////////
    143143
    144 #include "giet_vm/hard_config.h"
     144#include "hard_config.h"
    145145
    146146////////////////////////////////////////////////////////////
     
    166166
    167167#define BDEV_SECTOR_SIZE      512
    168 #define BDEV_IMAGE_NAME       "giet_vm/display/images.raw"
     168#define BDEV_IMAGE_NAME       "images.raw"
    169169
    170170#define NIC_RX_NAME           "giet_vm/nic/rx_packets.txt"
     
    181181//////////////////////i/////////////////////////////////////
    182182
    183 #define SOFT_NAME        "giet_vm/soft.elf"
     183#define SOFT_NAME             "soft.elf"
    184184
    185185////////////////////////////////////////////////////////////
     
    249249
    250250   char     soft_name[256]   = SOFT_NAME;          // pathname to binary code
    251    size_t   ncycles          = 1000000000;         // simulated cycles
     251   uint64_t ncycles          = 100000000000;       // simulated cycles
    252252   char     disk_name[256]   = BDEV_IMAGE_NAME;    // pathname to the disk image
    253253   char     nic_rx_name[256] = NIC_RX_NAME;        // pathname to the rx packets file
     
    743743   signal_resetn = true;
    744744
    745    for (size_t n = 1; n < ncycles; n++)
     745   for (uint64_t n = 1; n < ncycles; n++)
    746746   {
    747747      // Monitor a specific address for L1 & L2 caches
  • branches/v5/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/include/tsar_xbar_cluster.h

    r436 r447  
    6969    DspinSignals<dspin_cmd_width>   signal_dspin_m2p_l2g_c;
    7070    DspinSignals<dspin_cmd_width>   signal_dspin_m2p_g2l_c;
     71    DspinSignals<dspin_cmd_width>   signal_dspin_clack_l2g_c;
     72    DspinSignals<dspin_cmd_width>   signal_dspin_clack_g2l_c;
    7173    DspinSignals<dspin_rsp_width>   signal_dspin_rsp_l2g_d;
    7274    DspinSignals<dspin_rsp_width>   signal_dspin_rsp_g2l_d;
     
    115117    // Coherence DSPIN signals to local crossbar
    116118    DspinSignals<dspin_cmd_width>     signal_dspin_m2p_memc;
     119    DspinSignals<dspin_cmd_width>     signal_dspin_clack_memc;
    117120    DspinSignals<dspin_rsp_width>     signal_dspin_p2m_memc;
    118121    DspinSignals<dspin_cmd_width>     signal_dspin_m2p_proc[8];
     122    DspinSignals<dspin_cmd_width>     signal_dspin_clack_proc[8];
    119123    DspinSignals<dspin_rsp_width>     signal_dspin_p2m_proc[8];
    120124
     
    198202    DspinLocalCrossbar<dspin_cmd_width>*          xbar_m2p_c;
    199203    DspinLocalCrossbar<dspin_rsp_width>*          xbar_p2m_c;
     204    DspinLocalCrossbar<dspin_cmd_width>*          xbar_clack_c;
    200205
    201206    VirtualDspinRouter<dspin_cmd_width>*          router_cmd;
  • branches/v5/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/src/tsar_xbar_cluster.cpp

    r435 r447  
    148148                     8,                                  // TRANSACTION TABLE DEPTH
    149149                     8,                                  // UPDATE TABLE DEPTH
     150                     8,                                  // INVALIDATE TABLE DEPTH
    150151                     debug_start_cycle,
    151152                     memc_debug_ok );
     
    267268                     false,                        // don't use local routing table
    268269                     false );                      // no broadcast
     270
     271    /////////////////////////////////////////////////////////////////////////////
     272    xbar_clack_c = new DspinLocalCrossbar<dspin_cmd_width>(
     273                     "xbar_clack_c",
     274                     mtd,                          // mapping table
     275                     x_id, y_id,                   // cluster coordinates
     276                     x_width, y_width, l_width,
     277                     1,                            // number of local sources
     278                     nb_procs,                     // number of local targets
     279                     1, 1,                         // fifo depths
     280                     true,                         // CMD
     281                     false,                        // don't use local routing table
     282                     false);                       // broadcast
    269283
    270284    /////////////////////////////////////////////////////////////////////////////
     
    470484    std::cout << "  - M2P Coherence crossbar connected" << std::endl;
    471485
     486    ////////////////////// CLACK DSPIN local crossbar coherence
     487    xbar_clack_c->p_clk                          (this->p_clk);
     488    xbar_clack_c->p_resetn                       (this->p_resetn);
     489    xbar_clack_c->p_global_out                   (signal_dspin_clack_l2g_c);
     490    xbar_clack_c->p_global_in                    (signal_dspin_clack_g2l_c);
     491    xbar_clack_c->p_local_in[0]                  (signal_dspin_clack_memc);
     492    for (size_t p = 0; p < nb_procs; p++)
     493        xbar_clack_c->p_local_out[p]               (signal_dspin_clack_proc[p]);
     494
     495    std::cout << "  - Clack Coherence crossbar connected" << std::endl;
     496
    472497    ////////////////////////// P2M DSPIN local crossbar coherence
    473498    xbar_p2m_c->p_clk                            (this->p_clk);
     
    488513        proc[p]->p_resetn                   (this->p_resetn);
    489514        proc[p]->p_vci                      (signal_vci_ini_proc[p]);
    490         proc[p]->p_dspin_in                 (signal_dspin_m2p_proc[p]);
    491         proc[p]->p_dspin_out                (signal_dspin_p2m_proc[p]);
     515        proc[p]->p_dspin_m2p                (signal_dspin_m2p_proc[p]);
     516        proc[p]->p_dspin_p2m                (signal_dspin_p2m_proc[p]);
     517        proc[p]->p_dspin_clack              (signal_dspin_clack_proc[p]);
    492518        proc[p]->p_irq[0]                   (signal_proc_it[p]);
    493519        for ( size_t j = 1 ; j < 6 ; j++)
     
    546572    memc->p_vci_ixr                    (signal_vci_xram);
    547573    memc->p_vci_tgt                    (signal_vci_tgt_memc);
    548     memc->p_dspin_in                   (signal_dspin_p2m_memc);
    549     memc->p_dspin_out                  (signal_dspin_m2p_memc);
     574    memc->p_dspin_p2m                  (signal_dspin_p2m_memc);
     575    memc->p_dspin_m2p                  (signal_dspin_m2p_memc);
     576    memc->p_dspin_clack                (signal_dspin_clack_memc);
    550577
    551578    // wrapper MEMC
Note: See TracChangeset for help on using the changeset viewer.