Ignore:
Timestamp:
Aug 26, 2014, 3:08:14 PM (8 years ago)
Author:
cfuguet
Message:

reconfiguration/tsar_generic_iob: introducing simhelper component

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/reconfiguration/platforms/tsar_generic_iob/top.cpp

    r766 r769  
    134134#include "vci_iox_network.h"
    135135#include "vci_iopic.h"
     136#include "vci_simhelper.h"
    136137
    137138#include "alloc_elems.h"
     
    303304#define IOX_MTTY_TGT_ID              4
    304305#define IOX_IOPI_TGT_ID              5
    305 #define IOX_IOB0_TGT_ID              6
    306 #define IOX_IOB1_TGT_ID              7
     306#define IOX_SIMH_TGT_ID              6
     307#define IOX_IOB0_TGT_ID              7
     308#define IOX_IOB1_TGT_ID              8
    307309
    308310#define IOX_BDEV_INI_ID              0
     
    597599            maptab_int.add(Segment(spic.str(), SEG_PIC_BASE+offset, SEG_PIC_SIZE,
    598600                        IntTab(cluster(x,y), INT_IOBX_TGT_ID), not cacheable));
     601
     602            std::ostringstream    ssim;
     603            ssim << "int_seg_simh_" << x << "_" << y;
     604            maptab_int.add(Segment(ssim.str(), SEG_SIM_BASE+offset, SEG_SIM_SIZE,
     605                        IntTab(cluster(x,y), INT_IOBX_TGT_ID), not cacheable));
    599606         }
    600607
     
    710717    maptab_iox.add(Segment("iox_seg_iopi_0", SEG_PIC_BASE + iob0_base, SEG_PIC_SIZE,
    711718                   IntTab(0, IOX_IOPI_TGT_ID), false));
     719    maptab_iox.add(Segment("iox_seg_simh_0", SEG_SIM_BASE + iob0_base, SEG_SIM_SIZE,
     720                   IntTab(0, IOX_SIMH_TGT_ID), false));
    712721
    713722    if ( cluster_iob0 != cluster_iob1 )
     
    728737        maptab_iox.add(Segment("iox_seg_iopi_1", SEG_PIC_BASE + iob1_base, SEG_PIC_SIZE,
    729738                   IntTab(0, IOX_IOPI_TGT_ID), false));
     739        maptab_iox.add(Segment("iox_seg_simh_1", SEG_SIM_BASE + iob1_base, SEG_SIM_SIZE,
     740                   IntTab(0, IOX_SIMH_TGT_ID), false));
    730741    }
    731742
     
    822833    VciSignals<vci_param_ext>         signal_vci_tgt_cdma("signal_vci_tgt_cdma");
    823834    VciSignals<vci_param_ext>         signal_vci_tgt_iopi("signal_vci_ini_iopi");
     835    VciSignals<vci_param_ext>         signal_vci_tgt_simh("signal_vci_ini_simh");
    824836
    825837   // Horizontal inter-clusters INT network DSPIN
     
    910922
    911923   const size_t nb_iox_initiators = (cluster_iob0 != cluster_iob1) ? 5 : 4;
    912    const size_t nb_iox_targets = (cluster_iob0 != cluster_iob1) ? 8 : 7;
     924   const size_t nb_iox_targets = (cluster_iob0 != cluster_iob1) ? 9 : 8;
    913925
    914926   // IOX network
     
    981993                                       32 );        // number of input HWI
    982994
     995   // Simhelper
     996   VciSimhelper<vci_param_ext>* simh;
     997   simh = new VciSimhelper<vci_param_ext>("simh",
     998                                          IntTab(0, IOX_SIMH_TGT_ID),
     999                                          maptab_iox );
     1000
    9831001   // Clusters
    9841002   TsarIobCluster<vci_param_int,
     
    11111129    iox_network->p_to_tgt[IOX_CDMA_TGT_ID]               (signal_vci_tgt_cdma);
    11121130    iox_network->p_to_tgt[IOX_IOPI_TGT_ID]               (signal_vci_tgt_iopi);
     1131    iox_network->p_to_tgt[IOX_SIMH_TGT_ID]               (signal_vci_tgt_simh);
    11131132
    11141133    if (cluster_iob0 != cluster_iob1)
     
    11861205    std::cout << "  - IOPIC connected" << std::endl;
    11871206
     1207    // Simhelper connexion
     1208    simh->p_clk(signal_clk);
     1209    simh->p_resetn(signal_resetn);
     1210    simh->p_vci(signal_vci_tgt_simh);
    11881211
    11891212    // IOB0 cluster connexion to IOX network
     
    15321555            signal_vci_ini_iopi.print_trace("[SIG]IOPI_INI");
    15331556            signal_vci_tgt_iopi.print_trace("[SIG]IOPI_TGT");
     1557
     1558            signal_vci_tgt_simh.print_trace("[SIG]SIMH_TGT");
     1559
    15341560            iox_network->print_trace();
    15351561
     
    15531579   try {
    15541580      return _main(argc, argv);
     1581   } catch (soclib::exception::RunTimeError &e) {
     1582      std::cout << "RunTimeError: " << e.what() << std::endl;
    15551583   } catch (std::exception &e) {
    15561584      std::cout << e.what() << std::endl;
Note: See TracChangeset for help on using the changeset viewer.