Changeset 851 for branches/reconfiguration/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp
- Timestamp:
- Oct 20, 2014, 12:16:17 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/reconfiguration/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp
r806 r851 295 295 296 296 ////////////// INT ROUTER(S) 297 std::ostringstream s_int_router_cmd; 298 s_int_router_cmd << "router_cmd_" << x_id << "_" << y_id; 299 int_router_cmd = new VirtualDspinRouter<dspin_int_cmd_width>( 300 s_int_router_cmd.str().c_str(), 301 x_id,y_id, // coordinate in the mesh 302 x_width, y_width, // x & y fields width 303 3, // nb virtual channels 304 4, 4); // input & output fifo depths 305 306 std::ostringstream s_int_router_rsp; 307 s_int_router_rsp << "router_rsp_" << x_id << "_" << y_id; 308 int_router_rsp = new VirtualDspinRouter<dspin_int_rsp_width>( 309 s_int_router_rsp.str().c_str(), 310 x_id,y_id, // router coordinates in mesh 311 x_width, y_width, // x & y fields width 312 2, // nb virtual channels 313 4, 4); // input & output fifo depths 297 int_router_cmd = new DspinRouter<dspin_int_cmd_width>*[3]; 298 for (int k = 0; k < 3; k++) 299 { 300 std::ostringstream s_int_router_cmd; 301 s_int_router_cmd << "router_cmd_" << x_id << "_" << y_id << "_" << k; 302 int_router_cmd[k] = new DspinRouter<dspin_int_cmd_width>( 303 s_int_router_cmd.str().c_str(), 304 x_id, y_id, 305 x_width, y_width, 306 4, 4, 307 (k == 1)); 308 } 309 310 int_router_rsp = new DspinRouter<dspin_int_rsp_width>*[2]; 311 for (int k = 0; k < 2; k++) 312 { 313 std::ostringstream s_int_router_rsp; 314 s_int_router_rsp << "router_rsp_" << x_id << "_" << y_id << "_" << k; 315 int_router_rsp[k] = new DspinRouter<dspin_int_rsp_width>( 316 s_int_router_rsp.str().c_str(), 317 x_id, y_id, 318 x_width, y_width, 319 4, 4, 320 false); 321 } 314 322 315 323 ////////////// XRAM … … 416 424 417 425 //////////////////////// internal CMD & RSP routers 418 int_router_cmd->p_clk (this->p_clk); 419 int_router_cmd->p_resetn (this->p_resetn); 420 int_router_rsp->p_clk (this->p_clk); 421 int_router_rsp->p_resetn (this->p_resetn); 422 423 for (int i = 0; i < 4; i++) 424 { 425 for(int k = 0; k < 3; k++) 426 for(int k = 0; k < 3; k++) 427 { 428 int_router_cmd[k]->p_clk (this->p_clk); 429 int_router_cmd[k]->p_resetn (this->p_resetn); 430 for (int i = 0; i < 4; i++) 426 431 { 427 int_router_cmd ->p_out[i][k] (this->p_dspin_int_cmd_out[i][k]);428 int_router_cmd ->p_in[i][k] (this->p_dspin_int_cmd_in[i][k]);432 int_router_cmd[k]->p_out[i] (this->p_dspin_int_cmd_out[i][k]); 433 int_router_cmd[k]->p_in[i] (this->p_dspin_int_cmd_in[i][k]); 429 434 } 430 431 for(int k = 0; k < 2; k++) 435 } 436 437 for(int k = 0; k < 2; k++) 438 { 439 int_router_rsp[k]->p_clk (this->p_clk); 440 int_router_rsp[k]->p_resetn (this->p_resetn); 441 for (int i = 0; i < 4; i++) 432 442 { 433 int_router_rsp ->p_out[i][k] (this->p_dspin_int_rsp_out[i][k]);434 int_router_rsp ->p_in[i][k] (this->p_dspin_int_rsp_in[i][k]);443 int_router_rsp[k]->p_out[i] (this->p_dspin_int_rsp_out[i][k]); 444 int_router_rsp[k]->p_in[i] (this->p_dspin_int_rsp_in[i][k]); 435 445 } 436 446 } 437 447 438 448 // local ports 439 int_router_cmd ->p_out[4][0] (signal_int_dspin_cmd_g2l_d);440 int_router_cmd ->p_out[4][1] (signal_int_dspin_m2p_g2l_c);441 int_router_cmd ->p_out[4][2] (signal_int_dspin_clack_g2l_c);442 int_router_cmd ->p_in[4][0] (signal_int_dspin_cmd_l2g_d);443 int_router_cmd ->p_in[4][1] (signal_int_dspin_m2p_l2g_c);444 int_router_cmd ->p_in[4][2] (signal_int_dspin_clack_l2g_c);445 446 int_router_rsp ->p_out[4][0] (signal_int_dspin_rsp_g2l_d);447 int_router_rsp ->p_out[4][1] (signal_int_dspin_p2m_g2l_c);448 int_router_rsp ->p_in[4][0] (signal_int_dspin_rsp_l2g_d);449 int_router_rsp ->p_in[4][1] (signal_int_dspin_p2m_l2g_c);449 int_router_cmd[0]->p_out[4] (signal_int_dspin_cmd_g2l_d); 450 int_router_cmd[1]->p_out[4] (signal_int_dspin_m2p_g2l_c); 451 int_router_cmd[2]->p_out[4] (signal_int_dspin_clack_g2l_c); 452 int_router_cmd[0]->p_in[4] (signal_int_dspin_cmd_l2g_d); 453 int_router_cmd[1]->p_in[4] (signal_int_dspin_m2p_l2g_c); 454 int_router_cmd[2]->p_in[4] (signal_int_dspin_clack_l2g_c); 455 456 int_router_rsp[0]->p_out[4] (signal_int_dspin_rsp_g2l_d); 457 int_router_rsp[1]->p_out[4] (signal_int_dspin_p2m_g2l_c); 458 int_router_rsp[0]->p_in[4] (signal_int_dspin_rsp_l2g_d); 459 int_router_rsp[1]->p_in[4] (signal_int_dspin_p2m_l2g_c); 450 460 451 461 ///////////////////// CMD DSPIN local crossbar direct … … 654 664 } // end init 655 665 666 tmpl(/**/)::~TsarIobCluster() 667 { 668 for (int k = 0; k < 3; k++) 669 { 670 delete int_router_cmd[k]; 671 } 672 delete [] int_router_cmd; 673 674 for (int k = 0; k < 2; k++) 675 { 676 delete int_router_rsp[k]; 677 } 678 delete [] int_router_rsp; 679 } 680 656 681 }} 657 682
Note: See TracChangeset
for help on using the changeset viewer.