Ignore:
Timestamp:
Jul 26, 2013, 3:44:43 PM (11 years ago)
Author:
lambert
Message:

Introducing Vci_Chbuf_Dma in tsar_generic_xbar platform :

  • The number of channels of the is dma is 2* nic_channels
  • Adding one argument to the tsar_xbar_cluster for dma TGTID
  • Chbuf Dma default address is 0x00B6000000

Changing Vci_Multi_Nic default Mac address to BABEBEEF0000

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/src/tsar_xbar_cluster.cpp

    r468 r475  
    5757         size_t                             tgtid_brom,
    5858         size_t                             tgtid_mnic,
     59         size_t                             tgtid_chbuf,
    5960         size_t                             tgtid_bdev,
    6061         size_t                             memc_ways,
     
    214215    if ( io )
    215216    {
    216         nb_direct_initiators         = nb_procs + 2;
    217         nb_direct_targets            = 8;
     217        nb_direct_initiators         = nb_procs + 3;
     218        nb_direct_targets            = 9;
    218219    }
    219220
     
    350351
    351352        /////////////////////////////////////////////
     353        int mac = 0xBEEF0000;
    352354        mnic = new VciMultiNic<vci_param_int>(
    353355                     "mnic",
     
    357359                     nic_rx_name,
    358360                     nic_tx_name,
    359                      0,             // mac_4 address
    360                      0 );           // mac_2 address
     361                     mac,             // mac_4 address
     362                     0xBABE );           // mac_2 address
    361363
    362364        wt_mnic = new VciDspinTargetWrapper<vci_param_int,
     
    364366                                            dspin_rsp_width>(
    365367                     "wt_mnic",
     368                     x_width + y_width + l_width);
     369
     370        /////////////////////////////////////////////
     371        chbuf = new VciChbufDma<vci_param_int>(
     372                     "chbuf_dma",
     373                     mtd,
     374                     IntTab(cluster_id, nb_procs + 2),
     375                     IntTab(cluster_id, tgtid_chbuf),
     376                     64,
     377                     2 * nic_channels ); // Two chbuf dma channel by nic channel
     378
     379        wt_chbuf = new VciDspinTargetWrapper<vci_param_int,
     380                                            dspin_cmd_width,
     381                                            dspin_rsp_width>(
     382                     "wt_chbuf",
     383                     x_width + y_width + l_width);
     384
     385        wi_chbuf = new VciDspinInitiatorWrapper<vci_param_int,
     386                                            dspin_cmd_width,
     387                                            dspin_rsp_width>(
     388                     "wi_chbuf",
    366389                     x_width + y_width + l_width);
    367390
     
    449472        xbar_cmd_d->p_local_out[tgtid_fbuf]      (signal_dspin_cmd_fbuf_t);
    450473        xbar_cmd_d->p_local_out[tgtid_mnic]      (signal_dspin_cmd_mnic_t);
     474        xbar_cmd_d->p_local_out[tgtid_chbuf]      (signal_dspin_cmd_chbuf_t);
    451475
    452476        xbar_cmd_d->p_local_in[nb_procs+1]       (signal_dspin_cmd_bdev_i);
     477        xbar_cmd_d->p_local_in[nb_procs+2]       (signal_dspin_cmd_chbuf_i);
    453478    }
    454479
     
    477502        xbar_rsp_d->p_local_in[tgtid_fbuf]       (signal_dspin_rsp_fbuf_t);
    478503        xbar_rsp_d->p_local_in[tgtid_mnic]       (signal_dspin_rsp_mnic_t);
     504        xbar_rsp_d->p_local_in[tgtid_chbuf]       (signal_dspin_rsp_chbuf_t);
    479505
    480506        xbar_rsp_d->p_local_out[nb_procs+1]      (signal_dspin_rsp_bdev_i);
     507        xbar_rsp_d->p_local_out[nb_procs+2]      (signal_dspin_rsp_chbuf_i);
    481508    }
    482509
     
    686713        std::cout << "  - MNIC connected" << std::endl;
    687714
     715        // CHBUF
     716        chbuf->p_clk                    (this->p_clk);
     717        chbuf->p_resetn                 (this->p_resetn);
     718        chbuf->p_vci_target             (signal_vci_tgt_chbuf);
     719        chbuf->p_vci_initiator          (signal_vci_ini_chbuf);
     720        for ( size_t i=0 ; i < nic_channels * 2 ; i++ )
     721        {
     722            chbuf->p_irq[i]          (signal_irq_chbuf[i]);
     723        }
     724
     725        // wrapper tgt CHBUF
     726        wt_chbuf->p_clk                 (this->p_clk);
     727        wt_chbuf->p_resetn              (this->p_resetn);
     728        wt_chbuf->p_dspin_cmd           (signal_dspin_cmd_chbuf_t);
     729        wt_chbuf->p_dspin_rsp           (signal_dspin_rsp_chbuf_t);
     730        wt_chbuf->p_vci                 (signal_vci_tgt_chbuf);
     731
     732        // wrapper ini CHBUF
     733        wi_chbuf->p_clk                 (this->p_clk);
     734        wi_chbuf->p_resetn              (this->p_resetn);
     735        wi_chbuf->p_dspin_cmd           (signal_dspin_cmd_chbuf_i);
     736        wi_chbuf->p_dspin_rsp           (signal_dspin_rsp_chbuf_i);
     737        wi_chbuf->p_vci                 (signal_vci_ini_chbuf);
     738
     739        std::cout << "  - CHBUF connected" << std::endl;
     740
    688741        // BROM
    689742        brom->p_clk                    (this->p_clk);
Note: See TracChangeset for help on using the changeset viewer.