Changeset 851 for branches/reconfiguration
- Timestamp:
- Oct 20, 2014, 12:16:17 PM (10 years ago)
- Location:
- branches/reconfiguration/platforms/tsar_generic_iob/tsar_iob_cluster/caba
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/reconfiguration/platforms/tsar_generic_iob/tsar_iob_cluster/caba/metadata/tsar_iob_cluster.sd
r841 r851 78 78 dspin_rsp_width = parameter.Reference('dspin_int_rsp_width')), 79 79 80 Uses('caba: virtual_dspin_router',80 Uses('caba:dspin_router', 81 81 flit_width = parameter.Reference('dspin_int_cmd_width')), 82 82 83 Uses('caba: virtual_dspin_router',83 Uses('caba:dspin_router', 84 84 flit_width = parameter.Reference('dspin_int_rsp_width')), 85 85 -
branches/reconfiguration/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/include/tsar_iob_cluster.h
r806 r851 27 27 #include "vci_dspin_target_wrapper.h" 28 28 #include "dspin_router.h" 29 #include "virtual_dspin_router.h"30 29 #include "vci_multi_dma.h" 31 30 #include "vci_mem_cache.h" … … 164 163 DspinLocalCrossbar<dspin_int_cmd_width>* int_xbar_clack_c; 165 164 166 VirtualDspinRouter<dspin_int_cmd_width>*int_router_cmd;167 VirtualDspinRouter<dspin_int_rsp_width>*int_router_rsp;165 DspinRouter<dspin_int_cmd_width>** int_router_cmd; 166 DspinRouter<dspin_int_rsp_width>** int_router_rsp; 168 167 169 168 VciSimpleRam<vci_param_ext>* xram; … … 244 243 bool iob0_debug_ok ); 245 244 245 ~TsarIobCluster(); 246 246 247 protected: 247 248 -
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.