Ignore:
Timestamp:
Sep 19, 2012, 10:55:24 AM (12 years ago)
Author:
alain
Message:

Introducing a network controller (vci_multi_nic) in the I0 cluster.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsarv4_generic_mmu/tsarv4_cluster_mmu/caba/source/src/tsarv4_cluster_mmu.cpp

    r261 r263  
    4848         size_t                             tgtid_memc,
    4949         size_t                             tgtid_xicu,
     50         size_t                             tgtid_mdma,
    5051         size_t                             tgtid_fbuf,
    5152         size_t                             tgtid_mtty,
    5253         size_t                             tgtid_brom,
     54         size_t                             tgtid_mnic,
    5355         size_t                             tgtid_bdev,
    54          size_t                             tgtid_mdma,
    5556         size_t                             memc_ways,
    5657         size_t                             memc_sets,
     
    6566         char*                              disk_name,
    6667         size_t                             block_size,
     68         size_t                             nic_channels,
     69         char*                              nic_rx_name,
     70         char*                              nic_tx_name,
     71         uint32_t                           nic_timeout,
    6772         const Loader                      &loader,
    6873         uint32_t                           frozen_cycles,
     
    182187    {
    183188        nb_direct_initiators         = nb_procs + 2;
    184         nb_direct_targets            = 7;
     189        nb_direct_targets            = 8;
    185190    }
    186191    std::ostringstream sd;
     
    208213    std::cout << "  - building wrappers in cluster_" << x_id << "_" << y_id << std::endl;
    209214
    210     // direct initiator wrapper
    211215    std::ostringstream wid;
    212216    wid << "iniwrapperd_" << x_id << "_" << y_id;
     
    216220                     4);                           // rsp fifo depth
    217221
    218     // direct target wrapper
    219222    std::ostringstream wtd;
    220223    wtd << "tgtwrapperd_" << x_id << "_" << y_id;
     
    224227                     4);                           // rsp fifo depth
    225228
    226     // coherence initiator wrapper
    227229    std::ostringstream wic;
    228230    wic << "iniwrapperc_" << x_id << "_" << y_id;
     
    232234                     4);                           // rsp fifo depth
    233235
    234     // coherence target wrapper
    235236    std::ostringstream wtc;
    236237    wtc << "tgtwrapperc_" << x_id << "_" << y_id;
     
    252253    std::cout << "  - building rsprouter_" << x_id << "_" << y_id << std::endl;
    253254
    254     // RSP router
    255255    std::ostringstream srsp;
    256256    srsp << "rsprouter_" << x_id << "_" << y_id;
     
    291291                        64);            // burst size
    292292
     293        std::cout << "  - building mnic" << std::endl;
     294
     295        mnic = new VciMultiNic<vci_param>(
     296                        "mnic",
     297                        IntTab(cluster_id, tgtid_mnic),
     298                        mtd,
     299                        nic_channels,
     300                        nic_rx_name,
     301                        nic_tx_name,
     302                        nic_timeout);
     303
    293304        std::cout << "  - building mtty" << std::endl;
    294305
     
    391402        xbard->p_to_target[tgtid_bdev]      (signal_vci_tgt_d_bdev);
    392403        xbard->p_to_target[tgtid_fbuf]      (signal_vci_tgt_d_fbuf);
     404        xbard->p_to_target[tgtid_mnic]      (signal_vci_tgt_d_mnic);
    393405
    394406        xbard->p_to_initiator[nb_procs+1]   (signal_vci_ini_d_bdev);
     
    471483    xram->p_clk                         (this->p_clk);
    472484    xram->p_resetn                      (this->p_resetn);
    473     xram->p_vci                                 (signal_vci_xram);
     485    xram->p_vci                               (signal_vci_xram);
    474486
    475487    std::cout << "  - XRAM connected" << std::endl;
     
    492504         {
    493505        // BDEV           
    494              bdev->p_clk                        (this->p_clk);
    495         bdev->p_resetn                          (this->p_resetn);
    496         bdev->p_irq                             (signal_irq_bdev);
    497         bdev->p_vci_target                      (signal_vci_tgt_d_bdev);
    498         bdev->p_vci_initiator                   (signal_vci_ini_d_bdev);
     506             bdev->p_clk                    (this->p_clk);
     507        bdev->p_resetn                 (this->p_resetn);
     508        bdev->p_irq                    (signal_irq_bdev);
     509        bdev->p_vci_target             (signal_vci_tgt_d_bdev);
     510        bdev->p_vci_initiator          (signal_vci_ini_d_bdev);
    499511
    500512        std::cout << "  - BDEV connected" << std::endl;
    501513
    502514        // FBUF
    503         fbuf->p_clk                             (this->p_clk);
    504         fbuf->p_resetn                          (this->p_resetn);
    505         fbuf->p_vci                             (signal_vci_tgt_d_fbuf);
     515        fbuf->p_clk                    (this->p_clk);
     516        fbuf->p_resetn                 (this->p_resetn);
     517        fbuf->p_vci                    (signal_vci_tgt_d_fbuf);
    506518
    507519        std::cout << "  - FBUF connected" << std::endl;
    508520
     521        // MNIC
     522        mnic->p_clk                    (this->p_clk);
     523        mnic->p_resetn                 (this->p_resetn);
     524        mnic->p_vci                    (signal_vci_tgt_d_mnic);
     525        for ( size_t i=0 ; i<nic_channels ; i++ )
     526        {
     527            mnic->p_rx_irq[i]          (signal_irq_mnic_rx[i]);
     528            mnic->p_tx_irq[i]          (signal_irq_mnic_tx[i]);
     529        }
     530
     531        std::cout << "  - MNIC connected" << std::endl;
     532
    509533        // BROM
    510         brom->p_clk                             (this->p_clk);
    511         brom->p_resetn                          (this->p_resetn);
    512         brom->p_vci                             (signal_vci_tgt_d_brom);
     534        brom->p_clk                    (this->p_clk);
     535        brom->p_resetn                 (this->p_resetn);
     536        brom->p_vci                    (signal_vci_tgt_d_brom);
    513537
    514538        std::cout << "  - BROM connected" << std::endl;
    515539
    516540        // MTTY
    517         mtty->p_clk                             (this->p_clk);
    518         mtty->p_resetn                          (this->p_resetn);
    519         mtty->p_vci                             (signal_vci_tgt_d_mtty);
     541        mtty->p_clk                    (this->p_clk);
     542        mtty->p_resetn                 (this->p_resetn);
     543        mtty->p_vci                    (signal_vci_tgt_d_mtty);
    520544        for ( size_t i=0 ; i<nb_ttys ; i++ )
    521545        {
    522             mtty->p_irq[i]                      (signal_irq_mtty[i]);
     546            mtty->p_irq[i]              (signal_irq_mtty[i]);
    523547        }
    524548
Note: See TracChangeset for help on using the changeset viewer.