Changeset 448
- Timestamp:
- Jul 18, 2013, 5:51:18 PM (11 years ago)
- Location:
- branches/v5/platforms/tsar_generic_xbar
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/v5/platforms/tsar_generic_xbar/top.cpp
r447 r448 505 505 DspinSignals<dspin_rsp_width>*** signal_dspin_h_rsp_dec = 506 506 alloc_elems<DspinSignals<dspin_rsp_width> >("signal_dspin_h_rsp_dec", XMAX-1, YMAX, 2); 507 DspinSignals<dspin_cmd_width>** signal_dspin_h_clack_inc = 508 alloc_elems<DspinSignals<dspin_cmd_width> >("signal_dspin_h_clack_inc", XMAX-1, YMAX); 509 DspinSignals<dspin_cmd_width>** signal_dspin_h_clack_dec = 510 alloc_elems<DspinSignals<dspin_cmd_width> >("signal_dspin_h_clack_dec", XMAX-1, YMAX); 507 511 508 512 // Vertical inter-clusters DSPIN signals … … 515 519 DspinSignals<dspin_rsp_width>*** signal_dspin_v_rsp_dec = 516 520 alloc_elems<DspinSignals<dspin_rsp_width> >("signal_dspin_v_rsp_dec", XMAX, YMAX-1, 2); 521 DspinSignals<dspin_cmd_width>** signal_dspin_v_clack_inc = 522 alloc_elems<DspinSignals<dspin_cmd_width> >("signal_dspin_v_clack_inc", XMAX, YMAX-1); 523 DspinSignals<dspin_cmd_width>** signal_dspin_v_clack_dec = 524 alloc_elems<DspinSignals<dspin_cmd_width> >("signal_dspin_v_clack_dec", XMAX, YMAX-1); 517 525 518 526 // Mesh boundaries DSPIN signals … … 525 533 DspinSignals<dspin_rsp_width>**** signal_dspin_false_rsp_out = 526 534 alloc_elems<DspinSignals<dspin_rsp_width> >("signal_dspin_false_rsp_out", XMAX, YMAX, 2, 4); 535 DspinSignals<dspin_cmd_width>*** signal_dspin_false_clack_in = 536 alloc_elems<DspinSignals<dspin_cmd_width> >("signal_dspin_false_clack_in", XMAX, YMAX, 4); 537 DspinSignals<dspin_cmd_width>*** signal_dspin_false_clack_out = 538 alloc_elems<DspinSignals<dspin_cmd_width> >("signal_dspin_false_clack_out", XMAX, YMAX, 4); 527 539 528 540 … … 653 665 clusters[x+1][y]->p_rsp_out[k][WEST] (signal_dspin_h_rsp_dec[x][y][k]); 654 666 } 667 clusters[x][y]->p_clack_out[EAST] (signal_dspin_h_clack_inc[x][y]); 668 clusters[x+1][y]->p_clack_in[WEST] (signal_dspin_h_clack_inc[x][y]); 669 clusters[x][y]->p_clack_in[EAST] (signal_dspin_h_clack_dec[x][y]); 670 clusters[x+1][y]->p_clack_out[WEST] (signal_dspin_h_clack_dec[x][y]); 655 671 } 656 672 } … … 672 688 clusters[x][y+1]->p_rsp_out[k][SOUTH] (signal_dspin_v_rsp_dec[x][y][k]); 673 689 } 690 clusters[x][y]->p_clack_out[NORTH] (signal_dspin_v_clack_inc[x][y]); 691 clusters[x][y+1]->p_clack_in[SOUTH] (signal_dspin_v_clack_inc[x][y]); 692 clusters[x][y]->p_clack_in[NORTH] (signal_dspin_v_clack_dec[x][y]); 693 clusters[x][y+1]->p_clack_out[SOUTH] (signal_dspin_v_clack_dec[x][y]); 674 694 } 675 695 } … … 682 702 for (size_t k = 0; k < 2; k++) 683 703 { 684 clusters[0][y]->p_cmd_in[k][WEST] 685 clusters[0][y]->p_cmd_out[k][WEST] 686 clusters[0][y]->p_rsp_in[k][WEST] 687 clusters[0][y]->p_rsp_out[k][WEST] 704 clusters[0][y]->p_cmd_in[k][WEST] (signal_dspin_false_cmd_in[0][y][k][WEST]); 705 clusters[0][y]->p_cmd_out[k][WEST] (signal_dspin_false_cmd_out[0][y][k][WEST]); 706 clusters[0][y]->p_rsp_in[k][WEST] (signal_dspin_false_rsp_in[0][y][k][WEST]); 707 clusters[0][y]->p_rsp_out[k][WEST] (signal_dspin_false_rsp_out[0][y][k][WEST]); 688 708 689 709 clusters[XMAX-1][y]->p_cmd_in[k][EAST] (signal_dspin_false_cmd_in[XMAX-1][y][k][EAST]); … … 692 712 clusters[XMAX-1][y]->p_rsp_out[k][EAST] (signal_dspin_false_rsp_out[XMAX-1][y][k][EAST]); 693 713 } 714 715 clusters[0][y]->p_clack_in[WEST] (signal_dspin_false_clack_in[0][y][WEST]); 716 clusters[0][y]->p_clack_out[WEST] (signal_dspin_false_clack_out[0][y][WEST]); 717 718 clusters[XMAX-1][y]->p_clack_in[EAST] (signal_dspin_false_clack_in[XMAX-1][y][EAST]); 719 clusters[XMAX-1][y]->p_clack_out[EAST] (signal_dspin_false_clack_out[XMAX-1][y][EAST]); 694 720 } 695 721 … … 699 725 for (size_t k = 0; k < 2; k++) 700 726 { 701 clusters[x][0]->p_cmd_in[k][SOUTH] 702 clusters[x][0]->p_cmd_out[k][SOUTH] 703 clusters[x][0]->p_rsp_in[k][SOUTH] 704 clusters[x][0]->p_rsp_out[k][SOUTH] 727 clusters[x][0]->p_cmd_in[k][SOUTH] (signal_dspin_false_cmd_in[x][0][k][SOUTH]); 728 clusters[x][0]->p_cmd_out[k][SOUTH] (signal_dspin_false_cmd_out[x][0][k][SOUTH]); 729 clusters[x][0]->p_rsp_in[k][SOUTH] (signal_dspin_false_rsp_in[x][0][k][SOUTH]); 730 clusters[x][0]->p_rsp_out[k][SOUTH] (signal_dspin_false_rsp_out[x][0][k][SOUTH]); 705 731 706 732 clusters[x][YMAX-1]->p_cmd_in[k][NORTH] (signal_dspin_false_cmd_in[x][YMAX-1][k][NORTH]); … … 709 735 clusters[x][YMAX-1]->p_rsp_out[k][NORTH] (signal_dspin_false_rsp_out[x][YMAX-1][k][NORTH]); 710 736 } 737 738 clusters[x][0]->p_clack_in[SOUTH] (signal_dspin_false_clack_in[x][0][SOUTH]); 739 clusters[x][0]->p_clack_out[SOUTH] (signal_dspin_false_clack_out[x][0][SOUTH]); 740 741 clusters[x][YMAX-1]->p_clack_in[NORTH] (signal_dspin_false_clack_in[x][YMAX-1][NORTH]); 742 clusters[x][YMAX-1]->p_clack_out[NORTH] (signal_dspin_false_clack_out[x][YMAX-1][NORTH]); 711 743 } 712 744 std::cout << "North, South, West, East connections established" << std::endl; … … 736 768 signal_dspin_false_rsp_out[x][y][k][a].read = true; 737 769 } 770 } 771 } 772 } 773 // clack network boundaries signals 774 for (size_t x = 0; x < XMAX ; x++){ 775 for (size_t y = 0; y < YMAX ; y++){ 776 for (size_t k = 0; k < 4; k++){ 777 signal_dspin_false_clack_in [x][y][k].write = false; 778 signal_dspin_false_clack_in [x][y][k].read = true; 779 signal_dspin_false_clack_out[x][y][k].write = false; 780 signal_dspin_false_clack_out[x][y][k].read = true; 738 781 } 739 782 } -
branches/v5/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/metadata/tsar_xbar_cluster.sd
r437 r448 57 57 Uses('caba:virtual_dspin_router', 58 58 flit_width = parameter.Reference('dspin_rsp_width')), 59 60 Uses('caba:dspin_router', 61 flit_width = parameter.Reference('dspin_cmd_width')), 59 62 60 63 Uses('caba:vci_multi_tty', -
branches/v5/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/include/tsar_xbar_cluster.h
r447 r448 27 27 #include "vci_dspin_target_wrapper.h" 28 28 #include "virtual_dspin_router.h" 29 #include "dspin_router.h" 29 30 #include "vci_multi_tty.h" 30 31 #include "vci_multi_nic.h" … … 54 55 soclib::caba::DspinOutput<dspin_rsp_width> **p_rsp_out; 55 56 soclib::caba::DspinInput<dspin_rsp_width> **p_rsp_in; 57 soclib::caba::DspinOutput<dspin_cmd_width> *p_clack_out; 58 soclib::caba::DspinInput<dspin_cmd_width> *p_clack_in; 56 59 57 60 // interrupt signals … … 206 209 VirtualDspinRouter<dspin_cmd_width>* router_cmd; 207 210 VirtualDspinRouter<dspin_rsp_width>* router_rsp; 211 DspinRouter<dspin_cmd_width>* router_clack; 208 212 209 213 TsarXbarCluster( sc_module_name insname, -
branches/v5/platforms/tsar_generic_xbar/tsar_xbar_cluster/caba/source/src/tsar_xbar_cluster.cpp
r447 r448 89 89 p_rsp_in = alloc_elems<DspinInput<dspin_rsp_width> >("p_rsp_in", 2, 4); 90 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); 91 93 92 94 ///////////////////////////////////////////////////////////////////////////// … … 296 298 4,4); // input & output fifo depths 297 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 305 4,4); // input & output fifo depths 306 298 307 // IO cluster components 299 308 if ( io ) … … 394 403 router_rsp->p_clk (this->p_clk); 395 404 router_rsp->p_resetn (this->p_resetn); 405 router_clack->p_clk (this->p_clk); 406 router_clack->p_resetn (this->p_resetn); 407 396 408 for (int x = 0; x < 2; x++) 397 409 { … … 405 417 } 406 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 407 425 router_cmd->p_out[0][4] (signal_dspin_cmd_g2l_d); 408 426 router_cmd->p_out[1][4] (signal_dspin_m2p_g2l_c); … … 414 432 router_rsp->p_in[0][4] (signal_dspin_rsp_l2g_d); 415 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); 437 416 438 417 439 std::cout << " - CMD & RSP routers connected" << std::endl;
Note: See TracChangeset
for help on using the changeset viewer.