Ignore:
Timestamp:
Oct 7, 2013, 5:31:08 PM (10 years ago)
Author:
meunier
Message:

Rajout du Sim Helper dans la plateforme tsar_generic_xbar.

Location:
trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/metadata/tsar_xbar_cluster.sd

    r475 r547  
    44Module('caba:tsar_xbar_cluster',
    55    classname = 'soclib::caba::TsarXbarCluster',
    6         tmpl_parameters = [
    7                 parameter.Int('dspin_cmd_width'),
    8                 parameter.Int('dspin_rsp_width'),
     6   tmpl_parameters = [
     7      parameter.Int('dspin_cmd_width'),
     8      parameter.Int('dspin_rsp_width'),
    99        parameter.Module('vci_param_int', default = 'caba:vci_param',
    1010                          cell_size = parameter.Reference('vci_data_width_int')),
     
    1313        ],
    1414
    15         header_files = [ '../source/include/tsar_xbar_cluster.h',
     15   header_files = [ '../source/include/tsar_xbar_cluster.h',
    1616        ],
    1717
    18         implementation_files = [ '../source/src/tsar_xbar_cluster.cpp',
     18   implementation_files = [ '../source/src/tsar_xbar_cluster.cpp',
    1919        ],
    2020
    21         uses = [
    22                 Uses('caba:base_module'),
    23                 Uses('common:mapping_table'),
    24                 Uses('common:iss2'),
     21   uses = [
     22      Uses('caba:base_module'),
     23      Uses('common:mapping_table'),
     24      Uses('common:iss2'),
    2525             
    26                 Uses('caba:vci_cc_vcache_wrapper',
     26      Uses('caba:vci_cc_vcache_wrapper',
    2727              cell_size       = parameter.Reference('vci_data_width_int'),
    2828              dspin_in_width  = parameter.Reference('dspin_cmd_width'),
     
    3131              gdb_iss_t       = 'common:mips32el'),
    3232
    33                 Uses('caba:vci_mem_cache',
     33      Uses('caba:vci_mem_cache',
    3434              memc_cell_size_int = parameter.Reference('vci_data_width_int'),
    3535              memc_cell_size_ext = parameter.Reference('vci_data_width_ext'),
     
    3737              dspin_out_width = parameter.Reference('dspin_cmd_width')),
    3838
    39                 Uses('caba:vci_simple_rom',
     39      Uses('caba:vci_simple_rom',
    4040              cell_size       = parameter.Reference('vci_data_width_int')),
    4141
    42                 Uses('caba:vci_simple_ram',
     42      Uses('caba:vci_simple_ram',
    4343              cell_size       = parameter.Reference('vci_data_width_ext')),
    4444
    45         Uses('caba:vci_xicu',
     45      Uses('caba:vci_simple_ram',
    4646              cell_size       = parameter.Reference('vci_data_width_int')),
    4747
    48         Uses('caba:dspin_local_crossbar',
     48      Uses('caba:vci_xicu',
     49              cell_size       = parameter.Reference('vci_data_width_int')),
     50
     51      Uses('caba:dspin_local_crossbar',
    4952              flit_width      = parameter.Reference('dspin_cmd_width')),
    5053
    51         Uses('caba:dspin_local_crossbar',
     54      Uses('caba:dspin_local_crossbar',
    5255              flit_width      = parameter.Reference('dspin_rsp_width')),
    5356
    54         Uses('caba:virtual_dspin_router',
     57      Uses('caba:virtual_dspin_router',
    5558              flit_width      = parameter.Reference('dspin_cmd_width')),
    5659
    57         Uses('caba:virtual_dspin_router',
     60      Uses('caba:virtual_dspin_router',
    5861              flit_width      = parameter.Reference('dspin_rsp_width')),
    5962
    60         Uses('caba:vci_multi_tty',
     63      Uses('caba:vci_multi_tty',
    6164              cell_size       = parameter.Reference('vci_data_width_int')),
    6265
    63         Uses('caba:vci_framebuffer',
     66      Uses('caba:vci_framebuffer',
    6467              cell_size       = parameter.Reference('vci_data_width_int')),
    6568
    66         Uses('caba:vci_multi_nic',
     69      Uses('caba:vci_multi_nic',
    6770              cell_size       = parameter.Reference('vci_data_width_int')),
    6871
    69         Uses('caba:vci_chbuf_dma',
     72      Uses('caba:vci_chbuf_dma',
    7073              cell_size       = parameter.Reference('vci_data_width_int')),
    7174
    72                 Uses('caba:vci_block_device_tsar',
     75      Uses('caba:vci_block_device_tsar',
    7376              cell_size       = parameter.Reference('vci_data_width_int')),
    7477
    75                 Uses('caba:vci_multi_dma',
     78      Uses('caba:vci_multi_dma',
    7679              cell_size       = parameter.Reference('vci_data_width_int')),
    7780
    78         Uses('caba:vci_dspin_target_wrapper',
     81      Uses('caba:vci_dspin_target_wrapper',
    7982              cell_size       = parameter.Reference('vci_data_width_int')),
    8083
    81         Uses('caba:vci_dspin_initiator_wrapper',
     84      Uses('caba:vci_dspin_initiator_wrapper',
    8285              cell_size       = parameter.Reference('vci_data_width_int')),
    8386
    84                 Uses('common:elf_file_loader'),
    85                 ],
     87      Uses('caba:vci_simhelper',
     88              cell_size       = parameter.Reference('vci_data_width_int')),
    8689
    87         ports = [
    88                 Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
    89                 Port('caba:clock_in', 'p_clk', auto = 'clock'),
    90                 Port('caba:dspin_output', 'p_cmd_out', [4, 3],
     90      Uses('common:elf_file_loader'),
     91      ],
     92
     93   ports = [
     94      Port('caba:bit_in', 'p_resetn', auto = 'resetn'),
     95      Port('caba:clock_in', 'p_clk', auto = 'clock'),
     96      Port('caba:dspin_output', 'p_cmd_out', [4, 3],
    9197              dspin_data_size = parameter.Reference('dspin_cmd_width')),
    92                 Port('caba:dspin_input', 'p_cmd_in', [4, 3],
     98      Port('caba:dspin_input', 'p_cmd_in', [4, 3],
    9399              dspin_data_size = parameter.Reference('dspin_cmd_width')),
    94                 Port('caba:dspin_output', 'p_rsp_out', [4, 2],
     100      Port('caba:dspin_output', 'p_rsp_out', [4, 2],
    95101              dspin_data_size = parameter.Reference('dspin_rsp_width')),
    96                 Port('caba:dspin_input', 'p_rsp_in', [4, 2],
     102      Port('caba:dspin_input', 'p_rsp_in', [4, 2],
    97103              dspin_data_size = parameter.Reference('dspin_rsp_width')),
    98                 ],
     104      ],
    99105)
    100106
  • trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/include/tsar_xbar_cluster.h

    r508 r547  
    3535#include "vci_mem_cache.h"
    3636#include "vci_cc_vcache_wrapper.h"
     37#include "vci_simhelper.h"
    3738
    3839namespace soclib { namespace caba {
     
    9697    VciSignals<vci_param_int>       signal_vci_tgt_mnic;
    9798    VciSignals<vci_param_int>       signal_vci_tgt_chbuf;
     99    VciSignals<vci_param_int>       signal_vci_tgt_simh;
    98100
    99101    // Direct DSPIN signals to local crossbars
     
    125127    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_chbuf_t;
    126128    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_chbuf_t;
     129    DspinSignals<dspin_cmd_width>     signal_dspin_cmd_simh_t;
     130    DspinSignals<dspin_rsp_width>     signal_dspin_rsp_simh_t;
    127131
    128132    // Coherence DSPIN signals to local crossbar
     
    187191                          dspin_rsp_width>*       wt_mtty;
    188192
     193    VciSimhelper<vci_param_int>*                  simhelper;
     194
     195    VciDspinTargetWrapper<vci_param_int,
     196                          dspin_cmd_width,
     197                          dspin_rsp_width>*       wt_simhelper;
     198
     199
    189200    VciFrameBuffer<vci_param_int>*                fbuf;
    190201
     
    193204                          dspin_rsp_width>*       wt_fbuf;
    194205
    195     VciMultiNic<vci_param_int>*                   mnic;
     206    // for almos
     207    VciSimpleRom<vci_param_int>*                   mnic;
    196208
    197209    VciDspinTargetWrapper<vci_param_int,
     
    249261                     size_t                             tgtid_chbuf,
    250262                     size_t                             tgtid_bdev,
     263                     size_t                             tgtid_simh,
    251264                     size_t                             memc_ways,
    252265                     size_t                             memc_sets,
  • trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/src/tsar_xbar_cluster.cpp

    r512 r547  
    5959         size_t                             tgtid_chbuf,
    6060         size_t                             tgtid_bdev,
     61         size_t                             tgtid_simh,
    6162         size_t                             memc_ways,
    6263         size_t                             memc_sets,
     
    222223    {
    223224        nb_direct_initiators         = nb_procs + 3;
    224         nb_direct_targets            = 9;
     225        nb_direct_targets            = 10;
    225226    }
    226227
     
    357358
    358359        /////////////////////////////////////////////
    359         int mac = 0xBEEF0000;
    360         mnic = new VciMultiNic<vci_param_int>(
    361                      "mnic",
    362                      IntTab(cluster_id, tgtid_mnic),
    363                      mtd,
    364                      nic_channels,
    365                      nic_rx_name,
    366                      nic_tx_name,
    367                      mac,             // mac_4 address
    368                      0xBABE );           // mac_2 address
     360        // Commented for almos; we don't want the nic; replaced by a rom
     361        //int mac = 0xBEEF0000;
     362        //mnic = new VciMultiNic<vci_param_int>(
     363        //             "mnic",
     364        //             IntTab(cluster_id, tgtid_mnic),
     365        //             mtd,
     366        //             nic_channels,
     367        //             nic_rx_name,
     368        //             nic_tx_name,
     369        //             mac,             // mac_4 address
     370        //             0xBABE );           // mac_2 address
     371        mnic = new VciSimpleRom<vci_param_int>(
     372                    "mnic",
     373                    IntTab(cluster_id, tgtid_mnic),
     374                    mtd,
     375                    loader);
    369376
    370377        wt_mnic = new VciDspinTargetWrapper<vci_param_int,
     
    414421                     "wt_mtty",
    415422                     x_width + y_width + l_width);
     423
     424        simhelper = new VciSimhelper<vci_param_int>(
     425                     "sim_helper",
     426                     IntTab(cluster_id, tgtid_simh),
     427                     mtd);
     428
     429        wt_simhelper = new VciDspinTargetWrapper<vci_param_int,
     430                                                 dspin_cmd_width,
     431                                                 dspin_rsp_width>(
     432                     "wt_simhelper",
     433                     x_width + y_width + l_width);
    416434    }
    417435
     
    479497        xbar_cmd_d->p_local_out[tgtid_mnic]      (signal_dspin_cmd_mnic_t);
    480498        xbar_cmd_d->p_local_out[tgtid_chbuf]     (signal_dspin_cmd_chbuf_t);
     499        xbar_cmd_d->p_local_out[tgtid_simh]      (signal_dspin_cmd_simh_t);
    481500
    482501        xbar_cmd_d->p_local_in[nb_procs + 1]     (signal_dspin_cmd_bdev_i);
     
    509528        xbar_rsp_d->p_local_in[tgtid_mnic]       (signal_dspin_rsp_mnic_t);
    510529        xbar_rsp_d->p_local_in[tgtid_chbuf]      (signal_dspin_rsp_chbuf_t);
     530        xbar_rsp_d->p_local_in[tgtid_simh]       (signal_dspin_rsp_simh_t);
    511531
    512532        xbar_rsp_d->p_local_out[nb_procs + 1]    (signal_dspin_rsp_bdev_i);
     
    706726        for (size_t i = 0; i < nic_channels; i++)
    707727        {
    708             mnic->p_rx_irq[i]          (signal_irq_mnic_rx[i]);
    709             mnic->p_tx_irq[i]          (signal_irq_mnic_tx[i]);
     728            //mnic->p_rx_irq[i]          (signal_irq_mnic_rx[i]);
     729            //mnic->p_tx_irq[i]          (signal_irq_mnic_tx[i]);
    710730        }
    711731
     
    774794        wt_mtty->p_dspin_rsp           (signal_dspin_rsp_mtty_t);
    775795        wt_mtty->p_vci                 (signal_vci_tgt_mtty);
     796
     797
     798        // Sim Helper
     799        simhelper->p_clk               (this->p_clk);
     800        simhelper->p_resetn            (this->p_resetn);
     801        simhelper->p_vci               (signal_vci_tgt_simh);
     802       
     803        // wrapper tgt Sim Helper
     804        wt_simhelper->p_clk            (this->p_clk);
     805        wt_simhelper->p_resetn         (this->p_resetn);
     806        wt_simhelper->p_dspin_cmd      (signal_dspin_cmd_simh_t);
     807        wt_simhelper->p_dspin_rsp      (signal_dspin_rsp_simh_t);
     808        wt_simhelper->p_vci            (signal_vci_tgt_simh);
    776809
    777810        std::cout << "  - MTTY connected" << std::endl;
     
    831864        delete mtty;
    832865        delete wt_mtty;
     866        delete simhelper;
     867        delete wt_simhelper;
    833868    }
    834869}
Note: See TracChangeset for help on using the changeset viewer.