Changeset 693 for trunk/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp
- Timestamp:
- May 17, 2014, 11:54:12 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/platforms/tsar_generic_iob/tsar_iob_cluster/caba/source/src/tsar_iob_cluster.cpp
r607 r693 149 149 debug_start_cycle, 150 150 proc_debug_ok); 151 152 std::ostringstream s_wi_proc;153 s_wi_proc << "proc_wi_" << x_id << "_" << y_id << "_" << p;154 proc_wi[p] = new VciDspinInitiatorWrapper<vci_param_int,155 dspin_int_cmd_width,156 dspin_int_rsp_width>(157 s_wi_proc.str().c_str(),158 x_width + y_width + l_width);159 151 } 160 152 … … 182 174 memc_debug_ok ); 183 175 184 std::ostringstream s_wt_memc;185 s_wt_memc << "memc_wt_" << x_id << "_" << y_id;186 memc_int_wt = new VciDspinTargetWrapper<vci_param_int,187 dspin_int_cmd_width,188 dspin_int_rsp_width>(189 s_wt_memc.str().c_str(),190 x_width + y_width + l_width);191 192 176 std::ostringstream s_wi_memc; 193 177 s_wi_memc << "memc_wi_" << x_id << "_" << y_id; … … 210 194 nb_procs); // number of output IRQs 211 195 212 std::ostringstream s_wt_xicu;213 s_wt_xicu << "xicu_wt_" << x_id << "_" << y_id;214 xicu_int_wt = new VciDspinTargetWrapper<vci_param_int,215 dspin_int_cmd_width,216 dspin_int_rsp_width>(217 s_wt_xicu.str().c_str(),218 x_width + y_width + l_width);219 220 196 //////////// MDMA 221 197 std::ostringstream s_mdma; … … 229 205 nb_dmas); // number of IRQs 230 206 231 std::ostringstream s_wt_mdma;232 s_wt_mdma << "mdma_wt_" << x_id << "_" << y_id;233 mdma_int_wt = new VciDspinTargetWrapper<vci_param_int,234 dspin_int_cmd_width,235 dspin_int_rsp_width>(236 s_wt_mdma.str().c_str(),237 x_width + y_width + l_width);238 239 std::ostringstream s_wi_mdma;240 s_wi_mdma << "mdma_wi_" << x_id << "_" << y_id;241 mdma_int_wi = new VciDspinInitiatorWrapper<vci_param_int,242 dspin_int_cmd_width,243 dspin_int_rsp_width>(244 s_wi_mdma.str().c_str(),245 x_width + y_width + l_width);246 247 207 /////////// Direct LOCAL_XBAR(S) 248 208 size_t nb_direct_initiators = nb_procs + 1; … … 254 214 } 255 215 256 std::ostringstream s_int_xbar_ cmd_d;257 s_int_xbar_ cmd_d << "int_xbar_cmd_d_" << x_id << "_" << y_id;258 int_xbar_ cmd_d = new DspinLocalCrossbar<dspin_int_cmd_width>(259 s_int_xbar_ cmd_d.str().c_str(),216 std::ostringstream s_int_xbar_d; 217 s_int_xbar_d << "int_xbar_cmd_d_" << x_id << "_" << y_id; 218 int_xbar_d = new VciLocalCrossbar<vci_param_int>( 219 s_int_xbar_d.str().c_str(), 260 220 mt_int, // mapping table 261 x_id, y_id, // cluster coordinates 262 x_width, y_width, l_width, 263 nb_direct_initiators, // number of local of sources 264 nb_direct_targets, // number of local dests 265 2, 2, // fifo depths 266 true, // CMD crossbar 267 true, // use routing table 268 false ); // no broacast 269 270 std::ostringstream s_int_xbar_rsp_d; 271 s_int_xbar_rsp_d << "int_xbar_rsp_d_" << x_id << "_" << y_id; 272 int_xbar_rsp_d = new DspinLocalCrossbar<dspin_int_rsp_width>( 273 s_int_xbar_rsp_d.str().c_str(), 274 mt_int, // mapping table 275 x_id, y_id, // cluster coordinates 276 x_width, y_width, l_width, 277 nb_direct_targets, // number of local sources 278 nb_direct_initiators, // number of local dests 279 2, 2, // fifo depths 280 false, // RSP crossbar 281 false, // don't use routing table 282 false ); // no broacast 221 cluster_id, // cluster id 222 nb_direct_initiators, // number of local initiators 223 nb_direct_targets, // number of local targets 224 0 ); // default target 225 226 std::ostringstream s_int_dspin_ini_wrapper_gate_d; 227 s_int_dspin_ini_wrapper_gate_d << "int_dspin_ini_wrapper_gate_d_" 228 << x_id << "_" << y_id; 229 int_wi_gate_d = new VciDspinInitiatorWrapper<vci_param_int, 230 dspin_int_cmd_width, 231 dspin_int_rsp_width>( 232 s_int_dspin_ini_wrapper_gate_d.str().c_str(), 233 x_width + y_width + l_width); 234 235 std::ostringstream s_int_dspin_tgt_wrapper_gate_d; 236 s_int_dspin_tgt_wrapper_gate_d << "int_dspin_tgt_wrapper_gate_d_" 237 << x_id << "_" << y_id; 238 int_wt_gate_d = new VciDspinTargetWrapper<vci_param_int, 239 dspin_int_cmd_width, 240 dspin_int_rsp_width>( 241 s_int_dspin_tgt_wrapper_gate_d.str().c_str(), 242 x_width + y_width + l_width); 243 283 244 284 245 //////////// Coherence LOCAL_XBAR(S) … … 430 391 iob_debug_ok ); 431 392 432 std::ostringstream s_iob_int_wi;433 s_iob_int_wi << "iob_int_wi_" << x_id << "_" << y_id;434 iob_int_wi = new VciDspinInitiatorWrapper<vci_param_int,435 dspin_int_cmd_width,436 dspin_int_rsp_width>(437 s_iob_int_wi.str().c_str(),438 x_width + y_width + l_width);439 440 std::ostringstream s_iob_int_wt;441 s_iob_int_wt << "iob_int_wt_" << x_id << "_" << y_id;442 iob_int_wt = new VciDspinTargetWrapper<vci_param_int,443 dspin_int_cmd_width,444 dspin_int_rsp_width>(445 s_iob_int_wt.str().c_str(),446 x_width + y_width + l_width);447 448 393 std::ostringstream s_iob_ram_wi; 449 394 s_iob_ram_wi << "iob_ram_wi_" << x_id << "_" << y_id; … … 500 445 501 446 ///////////////////// CMD DSPIN local crossbar direct 502 int_xbar_cmd_d->p_clk (this->p_clk); 503 int_xbar_cmd_d->p_resetn (this->p_resetn); 504 int_xbar_cmd_d->p_global_out (signal_int_dspin_cmd_l2g_d); 505 int_xbar_cmd_d->p_global_in (signal_int_dspin_cmd_g2l_d); 506 507 int_xbar_cmd_d->p_local_out[memc_int_tgtid] (signal_int_dspin_cmd_memc_t); 508 int_xbar_cmd_d->p_local_out[xicu_int_tgtid] (signal_int_dspin_cmd_xicu_t); 509 int_xbar_cmd_d->p_local_out[mdma_int_tgtid] (signal_int_dspin_cmd_mdma_t); 510 511 int_xbar_cmd_d->p_local_in[mdma_int_srcid] (signal_int_dspin_cmd_mdma_i); 512 447 int_xbar_d->p_clk (this->p_clk); 448 int_xbar_d->p_resetn (this->p_resetn); 449 int_xbar_d->p_initiator_to_up (signal_int_vci_l2g); 450 int_xbar_d->p_target_to_up (signal_int_vci_g2l); 451 452 int_xbar_d->p_to_target[memc_int_tgtid] (signal_int_vci_tgt_memc); 453 int_xbar_d->p_to_target[xicu_int_tgtid] (signal_int_vci_tgt_xicu); 454 int_xbar_d->p_to_target[mdma_int_tgtid] (signal_int_vci_tgt_mdma); 455 int_xbar_d->p_to_initiator[mdma_int_srcid] (signal_int_vci_ini_mdma); 513 456 for (size_t p = 0; p < nb_procs; p++) 514 int_xbar_cmd_d->p_local_in[proc_int_srcid+p] (signal_int_dspin_cmd_proc_i[p]);457 int_xbar_d->p_to_initiator[proc_int_srcid + p] (signal_int_vci_ini_proc[p]); 515 458 516 459 if ( (cluster_id == cluster_iob0) or (cluster_id == cluster_iob1) ) 517 460 { 518 int_xbar_cmd_d->p_local_out[iobx_int_tgtid] (signal_int_dspin_cmd_iobx_t); 519 int_xbar_cmd_d->p_local_in[iobx_int_srcid] (signal_int_dspin_cmd_iobx_i); 520 } 521 522 //////////////////////// RSP DSPIN local crossbar direct 523 int_xbar_rsp_d->p_clk (this->p_clk); 524 int_xbar_rsp_d->p_resetn (this->p_resetn); 525 int_xbar_rsp_d->p_global_out (signal_int_dspin_rsp_l2g_d); 526 int_xbar_rsp_d->p_global_in (signal_int_dspin_rsp_g2l_d); 527 528 int_xbar_rsp_d->p_local_in[memc_int_tgtid] (signal_int_dspin_rsp_memc_t); 529 int_xbar_rsp_d->p_local_in[xicu_int_tgtid] (signal_int_dspin_rsp_xicu_t); 530 int_xbar_rsp_d->p_local_in[mdma_int_tgtid] (signal_int_dspin_rsp_mdma_t); 531 532 int_xbar_rsp_d->p_local_out[mdma_int_srcid] (signal_int_dspin_rsp_mdma_i); 533 534 for (size_t p = 0; p < nb_procs; p++) 535 int_xbar_rsp_d->p_local_out[proc_int_srcid+p] (signal_int_dspin_rsp_proc_i[p]); 536 537 if ( (cluster_id == cluster_iob0) or (cluster_id == cluster_iob1) ) 538 { 539 int_xbar_rsp_d->p_local_in[iobx_int_tgtid] (signal_int_dspin_rsp_iobx_t); 540 int_xbar_rsp_d->p_local_out[iobx_int_srcid] (signal_int_dspin_rsp_iobx_i); 541 } 542 461 int_xbar_d->p_to_target[iobx_int_tgtid] (signal_int_vci_tgt_iobx); 462 int_xbar_d->p_to_initiator[iobx_int_srcid] (signal_int_vci_ini_iobx); 463 } 464 465 int_wi_gate_d->p_clk (this->p_clk); 466 int_wi_gate_d->p_resetn (this->p_resetn); 467 int_wi_gate_d->p_vci (signal_int_vci_l2g); 468 int_wi_gate_d->p_dspin_cmd (signal_int_dspin_cmd_l2g_d); 469 int_wi_gate_d->p_dspin_rsp (signal_int_dspin_rsp_g2l_d); 470 471 int_wt_gate_d->p_clk (this->p_clk); 472 int_wt_gate_d->p_resetn (this->p_resetn); 473 int_wt_gate_d->p_vci (signal_int_vci_g2l); 474 int_wt_gate_d->p_dspin_cmd (signal_int_dspin_cmd_g2l_d); 475 int_wt_gate_d->p_dspin_rsp (signal_int_dspin_rsp_l2g_d); 476 543 477 ////////////////////// M2P DSPIN local crossbar coherence 544 478 int_xbar_m2p_c->p_clk (this->p_clk); … … 582 516 proc[p]->p_irq[j] (signal_false); 583 517 } 584 585 proc_wi[p]->p_clk (this->p_clk);586 proc_wi[p]->p_resetn (this->p_resetn);587 proc_wi[p]->p_dspin_cmd (signal_int_dspin_cmd_proc_i[p]);588 proc_wi[p]->p_dspin_rsp (signal_int_dspin_rsp_proc_i[p]);589 proc_wi[p]->p_vci (signal_int_vci_ini_proc[p]);590 518 } 591 519 … … 605 533 xicu->p_hwi[i] (signal_false); 606 534 } 607 608 // wrapper XICU609 xicu_int_wt->p_clk (this->p_clk);610 xicu_int_wt->p_resetn (this->p_resetn);611 xicu_int_wt->p_dspin_cmd (signal_int_dspin_cmd_xicu_t);612 xicu_int_wt->p_dspin_rsp (signal_int_dspin_rsp_xicu_t);613 xicu_int_wt->p_vci (signal_int_vci_tgt_xicu);614 535 615 536 ///////////////////////////////////// MEMC … … 623 544 memc->p_irq (signal_irq_memc); 624 545 625 // wrapper to INT network626 memc_int_wt->p_clk (this->p_clk);627 memc_int_wt->p_resetn (this->p_resetn);628 memc_int_wt->p_dspin_cmd (signal_int_dspin_cmd_memc_t);629 memc_int_wt->p_dspin_rsp (signal_int_dspin_rsp_memc_t);630 memc_int_wt->p_vci (signal_int_vci_tgt_memc);631 632 546 // wrapper to RAM network 633 547 memc_ram_wi->p_clk (this->p_clk); … … 656 570 for (size_t i=0 ; i<nb_dmas ; i++) 657 571 mdma->p_irq[i] (signal_irq_mdma[i]); 658 659 // target wrapper660 mdma_int_wt->p_clk (this->p_clk);661 mdma_int_wt->p_resetn (this->p_resetn);662 mdma_int_wt->p_dspin_cmd (signal_int_dspin_cmd_mdma_t);663 mdma_int_wt->p_dspin_rsp (signal_int_dspin_rsp_mdma_t);664 mdma_int_wt->p_vci (signal_int_vci_tgt_mdma);665 666 // initiator wrapper667 mdma_int_wi->p_clk (this->p_clk);668 mdma_int_wi->p_resetn (this->p_resetn);669 mdma_int_wi->p_dspin_cmd (signal_int_dspin_cmd_mdma_i);670 mdma_int_wi->p_dspin_rsp (signal_int_dspin_rsp_mdma_i);671 mdma_int_wi->p_vci (signal_int_vci_ini_mdma);672 572 673 573 //////////////////////////// RAM network CMD & RSP routers … … 710 610 iob_ram_wi->p_dspin_rsp (*(this->p_dspin_iob_rsp_in)); 711 611 iob_ram_wi->p_vci (signal_ram_vci_ini_iobx); 712 713 // initiator wrapper to INT network714 iob_int_wi->p_clk (this->p_clk);715 iob_int_wi->p_resetn (this->p_resetn);716 iob_int_wi->p_dspin_cmd (signal_int_dspin_cmd_iobx_i);717 iob_int_wi->p_dspin_rsp (signal_int_dspin_rsp_iobx_i);718 iob_int_wi->p_vci (signal_int_vci_ini_iobx);719 720 // target wrapper to INT network721 iob_int_wt->p_clk (this->p_clk);722 iob_int_wt->p_resetn (this->p_resetn);723 iob_int_wt->p_dspin_cmd (signal_int_dspin_cmd_iobx_t);724 iob_int_wt->p_dspin_rsp (signal_int_dspin_rsp_iobx_t);725 iob_int_wt->p_vci (signal_int_vci_tgt_iobx);726 612 } 727 613
Note: See TracChangeset
for help on using the changeset viewer.