Changeset 468 for trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba
- Timestamp:
- Jul 24, 2013, 8:47:40 AM (11 years ago)
- Location:
- trunk/platforms/tsar_generic_xbar
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_xbar
-
Property
svn:mergeinfo
set to
/branches/v5/platforms/tsar_generic_xbar merged eligible
-
Property
svn:mergeinfo
set to
-
trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/metadata/tsar_xbar_cluster.sd
r437 r468 57 57 Uses('caba:virtual_dspin_router', 58 58 flit_width = parameter.Reference('dspin_rsp_width')), 59 59 60 60 Uses('caba:vci_multi_tty', 61 61 cell_size = parameter.Reference('vci_data_width_int')), … … 85 85 Port('caba:bit_in', 'p_resetn', auto = 'resetn'), 86 86 Port('caba:clock_in', 'p_clk', auto = 'clock'), 87 Port('caba:dspin_output', 'p_cmd_out', [ 2, 4],87 Port('caba:dspin_output', 'p_cmd_out', [4, 3], 88 88 dspin_data_size = parameter.Reference('dspin_cmd_width')), 89 Port('caba:dspin_input', 'p_cmd_in', [ 2, 4],89 Port('caba:dspin_input', 'p_cmd_in', [4, 3], 90 90 dspin_data_size = parameter.Reference('dspin_cmd_width')), 91 Port('caba:dspin_output', 'p_rsp_out', [ 2, 4],91 Port('caba:dspin_output', 'p_rsp_out', [4, 2], 92 92 dspin_data_size = parameter.Reference('dspin_rsp_width')), 93 Port('caba:dspin_input', 'p_rsp_in', [ 2, 4],93 Port('caba:dspin_input', 'p_rsp_in', [4, 2], 94 94 dspin_data_size = parameter.Reference('dspin_rsp_width')), 95 95 ], -
trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/include/tsar_xbar_cluster.h
r436 r468 69 69 DspinSignals<dspin_cmd_width> signal_dspin_m2p_l2g_c; 70 70 DspinSignals<dspin_cmd_width> signal_dspin_m2p_g2l_c; 71 DspinSignals<dspin_cmd_width> signal_dspin_clack_l2g_c; 72 DspinSignals<dspin_cmd_width> signal_dspin_clack_g2l_c; 71 73 DspinSignals<dspin_rsp_width> signal_dspin_rsp_l2g_d; 72 74 DspinSignals<dspin_rsp_width> signal_dspin_rsp_g2l_d; … … 115 117 // Coherence DSPIN signals to local crossbar 116 118 DspinSignals<dspin_cmd_width> signal_dspin_m2p_memc; 119 DspinSignals<dspin_cmd_width> signal_dspin_clack_memc; 117 120 DspinSignals<dspin_rsp_width> signal_dspin_p2m_memc; 118 121 DspinSignals<dspin_cmd_width> signal_dspin_m2p_proc[8]; 122 DspinSignals<dspin_cmd_width> signal_dspin_clack_proc[8]; 119 123 DspinSignals<dspin_rsp_width> signal_dspin_p2m_proc[8]; 120 124 … … 198 202 DspinLocalCrossbar<dspin_cmd_width>* xbar_m2p_c; 199 203 DspinLocalCrossbar<dspin_rsp_width>* xbar_p2m_c; 204 DspinLocalCrossbar<dspin_cmd_width>* xbar_clack_c; 200 205 201 206 VirtualDspinRouter<dspin_cmd_width>* router_cmd; -
trunk/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/src/tsar_xbar_cluster.cpp
r465 r468 85 85 { 86 86 // Vectors of ports definition 87 p_cmd_in = alloc_elems<DspinInput<dspin_cmd_width> >("p_cmd_in", 4, 2);88 p_cmd_out = alloc_elems<DspinOutput<dspin_cmd_width> >("p_cmd_out", 4, 2);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 89 p_rsp_in = alloc_elems<DspinInput<dspin_rsp_width> >("p_rsp_in", 4, 2); 90 90 p_rsp_out = alloc_elems<DspinOutput<dspin_rsp_width> >("p_rsp_out", 4, 2); … … 148 148 8, // TRANSACTION TABLE DEPTH 149 149 8, // UPDATE TABLE DEPTH 150 8, // INVALIDATE TABLE DEPTH 150 151 debug_start_cycle, 151 152 memc_debug_ok ); … … 269 270 270 271 ///////////////////////////////////////////////////////////////////////////// 272 xbar_clack_c = new DspinLocalCrossbar<dspin_cmd_width>( 273 "xbar_clack_c", 274 mtd, // mapping table 275 x_id, y_id, // cluster coordinates 276 x_width, y_width, l_width, 277 1, // number of local sources 278 nb_procs, // number of local targets 279 1, 1, // fifo depths 280 true, // CMD 281 false, // don't use local routing table 282 false); // broadcast 283 284 ///////////////////////////////////////////////////////////////////////////// 271 285 router_cmd = new VirtualDspinRouter<dspin_cmd_width>( 272 286 "router_cmd", 273 287 x_id,y_id, // coordinate in the mesh 274 288 x_width, y_width, // x & y fields width 275 2, // nb virtual channels289 3, // nb virtual channels 276 290 4,4); // input & output fifo depths 277 291 … … 385 399 for(int i = 0; i < 4; i++) 386 400 { 387 for (int k = 0; k < 2; k++)401 for (int k = 0; k < 3; k++) 388 402 { 389 403 router_cmd->p_out[i][k] (this->p_cmd_out[i][k]); 390 404 router_cmd->p_in[i][k] (this->p_cmd_in[i][k]); 405 } 406 407 for (int k = 0; k < 2; k++) 408 { 391 409 router_rsp->p_out[i][k] (this->p_rsp_out[i][k]); 392 410 router_rsp->p_in[i][k] (this->p_rsp_in[i][k]); … … 396 414 router_cmd->p_out[4][0] (signal_dspin_cmd_g2l_d); 397 415 router_cmd->p_out[4][1] (signal_dspin_m2p_g2l_c); 416 router_cmd->p_out[4][2] (signal_dspin_clack_g2l_c); 398 417 router_cmd->p_in[4][0] (signal_dspin_cmd_l2g_d); 399 418 router_cmd->p_in[4][1] (signal_dspin_m2p_l2g_c); 419 router_cmd->p_in[4][2] (signal_dspin_clack_l2g_c); 400 420 401 421 router_rsp->p_out[4][0] (signal_dspin_rsp_g2l_d); … … 403 423 router_rsp->p_in[4][0] (signal_dspin_rsp_l2g_d); 404 424 router_rsp->p_in[4][1] (signal_dspin_p2m_l2g_c); 425 405 426 406 427 std::cout << " - CMD & RSP routers connected" << std::endl; … … 473 494 std::cout << " - M2P Coherence crossbar connected" << std::endl; 474 495 496 ////////////////////// CLACK DSPIN local crossbar coherence 497 xbar_clack_c->p_clk (this->p_clk); 498 xbar_clack_c->p_resetn (this->p_resetn); 499 xbar_clack_c->p_global_out (signal_dspin_clack_l2g_c); 500 xbar_clack_c->p_global_in (signal_dspin_clack_g2l_c); 501 xbar_clack_c->p_local_in[0] (signal_dspin_clack_memc); 502 for (size_t p = 0; p < nb_procs; p++) 503 xbar_clack_c->p_local_out[p] (signal_dspin_clack_proc[p]); 504 505 std::cout << " - Clack Coherence crossbar connected" << std::endl; 506 475 507 ////////////////////////// P2M DSPIN local crossbar coherence 476 508 xbar_p2m_c->p_clk (this->p_clk); … … 491 523 proc[p]->p_resetn (this->p_resetn); 492 524 proc[p]->p_vci (signal_vci_ini_proc[p]); 493 proc[p]->p_dspin_in (signal_dspin_m2p_proc[p]); 494 proc[p]->p_dspin_out (signal_dspin_p2m_proc[p]); 525 proc[p]->p_dspin_m2p (signal_dspin_m2p_proc[p]); 526 proc[p]->p_dspin_p2m (signal_dspin_p2m_proc[p]); 527 proc[p]->p_dspin_clack (signal_dspin_clack_proc[p]); 495 528 proc[p]->p_irq[0] (signal_proc_it[p]); 496 529 for ( size_t j = 1 ; j < 6 ; j++) … … 549 582 memc->p_vci_ixr (signal_vci_xram); 550 583 memc->p_vci_tgt (signal_vci_tgt_memc); 551 memc->p_dspin_in (signal_dspin_p2m_memc); 552 memc->p_dspin_out (signal_dspin_m2p_memc); 584 memc->p_dspin_p2m (signal_dspin_p2m_memc); 585 memc->p_dspin_m2p (signal_dspin_m2p_memc); 586 memc->p_dspin_clack (signal_dspin_clack_memc); 553 587 554 588 // wrapper MEMC
Note: See TracChangeset
for help on using the changeset viewer.