Ignore:
Timestamp:
Jul 23, 2013, 5:01:49 PM (11 years ago)
Author:
cfuguet
Message:

Modifications in branches/v5 vci_mem_cache:

  • Replacing the third router CLACK by a third virtual channel in the new virtual_dspin_router supporting several virtual channels.

The third channel has been added in the COMMAND router.

File:
1 edited

Legend:

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

    r448 r466  
    8585{
    8686    // Vectors of ports definition
    87     p_cmd_in        = alloc_elems<DspinInput<dspin_cmd_width> >("p_cmd_in", 2, 4);
    88     p_cmd_out       = alloc_elems<DspinOutput<dspin_cmd_width> >("p_cmd_out", 2, 4);
    89     p_rsp_in        = alloc_elems<DspinInput<dspin_rsp_width> >("p_rsp_in", 2, 4);
    90     p_rsp_out       = alloc_elems<DspinOutput<dspin_rsp_width> >("p_rsp_out", 2, 4);
    91     p_clack_in      = alloc_elems<DspinInput<dspin_cmd_width> >("p_clack_in", 4);
    92     p_clack_out     = alloc_elems<DspinOutput<dspin_cmd_width> >("p_clack_out", 4);
     87    p_cmd_in        = alloc_elems<DspinInput<dspin_cmd_width> >("p_cmd_in", 4, 3);
     88    p_cmd_out       = alloc_elems<DspinOutput<dspin_cmd_width> >("p_cmd_out", 4, 3);
     89    p_rsp_in        = alloc_elems<DspinInput<dspin_rsp_width> >("p_rsp_in", 4, 2);
     90    p_rsp_out       = alloc_elems<DspinOutput<dspin_rsp_width> >("p_rsp_out", 4, 2);
    9391
    9492    /////////////////////////////////////////////////////////////////////////////
     
    289287                     x_id,y_id,                    // coordinate in the mesh
    290288                     x_width, y_width,             // x & y fields width
     289                     3,                            // nb virtual channels
    291290                     4,4);                         // input & output fifo depths
    292291
     
    296295                     x_id,y_id,                    // coordinates in mesh
    297296                     x_width, y_width,             // x & y fields width
    298                      4,4);                         // input & output fifo depths
    299 
    300     /////////////////////////////////////////////////////////////////////////////
    301     router_clack = new DspinRouter<dspin_cmd_width>(
    302                      "router_clack",
    303                      x_id,y_id,                    // coordinates in mesh
    304                      x_width, y_width,             // x & y fields width
     297                     2,                            // nb virtual channels
    305298                     4,4);                         // input & output fifo depths
    306299
     
    403396    router_rsp->p_clk                        (this->p_clk);
    404397    router_rsp->p_resetn                     (this->p_resetn);
    405     router_clack->p_clk                      (this->p_clk);
    406     router_clack->p_resetn                   (this->p_resetn);
    407 
    408     for (int x = 0; x < 2; x++)
    409     {
    410         for(int y = 0; y < 4; y++)
     398
     399    for(int i = 0; i < 4; i++)
     400    {
     401        for (int k = 0; k < 3; k++)
    411402        {
    412             router_cmd->p_out[x][y]          (this->p_cmd_out[x][y]);
    413             router_cmd->p_in[x][y]           (this->p_cmd_in[x][y]);
    414             router_rsp->p_out[x][y]          (this->p_rsp_out[x][y]);
    415             router_rsp->p_in[x][y]           (this->p_rsp_in[x][y]);
     403            router_cmd->p_out[i][k]          (this->p_cmd_out[i][k]);
     404            router_cmd->p_in[i][k]           (this->p_cmd_in[i][k]);
    416405        }
    417     }
    418 
    419     for(int x = 0; x < 4; x++)
    420     {
    421        router_clack->p_out[x]                (this->p_clack_out[x]);
    422        router_clack->p_in[x]                 (this->p_clack_in[x]);
    423     }
    424 
    425     router_cmd->p_out[0][4]                  (signal_dspin_cmd_g2l_d);
    426     router_cmd->p_out[1][4]                  (signal_dspin_m2p_g2l_c);
    427     router_cmd->p_in[0][4]                   (signal_dspin_cmd_l2g_d);
    428     router_cmd->p_in[1][4]                   (signal_dspin_m2p_l2g_c);
    429 
    430     router_rsp->p_out[0][4]                  (signal_dspin_rsp_g2l_d);
    431     router_rsp->p_out[1][4]                  (signal_dspin_p2m_g2l_c);
    432     router_rsp->p_in[0][4]                   (signal_dspin_rsp_l2g_d);
    433     router_rsp->p_in[1][4]                   (signal_dspin_p2m_l2g_c);
    434 
    435     router_clack->p_out[4]                   (signal_dspin_clack_g2l_c);
    436     router_clack->p_in[4]                    (signal_dspin_clack_l2g_c);
     406
     407        for (int k = 0; k < 2; k++)
     408        {
     409            router_rsp->p_out[i][k]          (this->p_rsp_out[i][k]);
     410            router_rsp->p_in[i][k]           (this->p_rsp_in[i][k]);
     411        }
     412    }
     413
     414    router_cmd->p_out[4][0]                  (signal_dspin_cmd_g2l_d);
     415    router_cmd->p_out[4][1]                  (signal_dspin_m2p_g2l_c);
     416    router_cmd->p_out[4][2]                  (signal_dspin_clack_g2l_c);
     417    router_cmd->p_in[4][0]                   (signal_dspin_cmd_l2g_d);
     418    router_cmd->p_in[4][1]                   (signal_dspin_m2p_l2g_c);
     419    router_cmd->p_in[4][2]                   (signal_dspin_clack_l2g_c);
     420
     421    router_rsp->p_out[4][0]                  (signal_dspin_rsp_g2l_d);
     422    router_rsp->p_out[4][1]                  (signal_dspin_p2m_g2l_c);
     423    router_rsp->p_in[4][0]                   (signal_dspin_rsp_l2g_d);
     424    router_rsp->p_in[4][1]                   (signal_dspin_p2m_l2g_c);
    437425
    438426
Note: See TracChangeset for help on using the changeset viewer.