- Timestamp:
- Nov 22, 2013, 3:01:18 PM (11 years ago)
- Location:
- trunk/modules/dspin_router_tsar/caba/source
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/modules/dspin_router_tsar/caba/source/include/dspin_router_tsar.h
r549 r578 28 28 29 29 //////////////////////////////////////////////////////////////////////////////// 30 // This component implements a variant of the standard (SocLib) 30 // This component implements a variant of the standard (SocLib) DSPIN router: 31 31 // The routing function has been modified to handle the special case of 32 32 // cluster_iob0 (containing component IOB0) and cluster_iob1 (containing … … 95 95 const size_t in_fifo_depth, // input fifo depth 96 96 const size_t out_fifo_depth, // output fifo depth 97 const size_t cluster_iob0,// cluster containing IOB098 const size_t cluster_iob1,// cluster containing IOB099 const size_t l_width, // local field width in first flit100 const size_t iob_local_id ); // IOB local index97 const bool is_iob0, // cluster containing IOB0 98 const bool is_iob1, // cluster containing IOB0 99 const bool is_rsp, // only response router is modified 100 const size_t l_width); // local srcid width 101 101 private: 102 102 … … 132 132 bool m_is_iob0; 133 133 bool m_is_iob1; 134 size_t m_iob_local_id;134 bool m_is_rsp; 135 135 136 136 // methods -
trunk/modules/dspin_router_tsar/caba/source/src/dspin_router_tsar.cpp
r549 r578 35 35 // between the IOB and MEMC initiators. 36 36 // This component contains the following modifications: 37 // - 4 extra constructor arguments,37 // - 4 new constructor arguments 38 38 // - 6 new member variables 39 39 // - a modified routing function … … 60 60 const size_t in_fifo_depth, // input fifo depth 61 61 const size_t out_fifo_depth, // output fifo depth 62 const size_t cluster_iob0, // cluster containing IOB0 63 const size_t cluster_iob1, // cluster containing IOB0 64 const size_t l_width, // local field width in first flit 65 const size_t iob_local_id ) // IOB local index 62 63 const bool is_iob0, // cluster contains iob0 64 const bool is_iob1, // cluster contains iob1 65 const bool is_rsp, // only response router is modified 66 const size_t l_width) // local field srcid width 66 67 : soclib::caba::BaseModule(name), 67 68 … … 91 92 m_l_mask( (0x1 << l_width) - 1 ), 92 93 93 m_is_iob0( cluster_iob0 == ((x<<y_width) + y)),94 m_is_iob1( cluster_iob1 == ((x<<y_width) + y)),95 m_i ob_local_id( iob_local_id)94 m_is_iob0( is_iob0 ), 95 m_is_iob1( is_iob1 ), 96 m_is_rsp( is_rsp ) 96 97 97 98 { … … 138 139 else // handling IOB0 & IOB1 special cases 139 140 { 140 if ( (m_is_iob0)and (ldest > 0xA)) return DSPIN_WEST;141 else if ( (m_is_iob1)and (ldest > 0xA)) return DSPIN_EAST;142 else return DSPIN_LOCAL;141 if (m_is_rsp and m_is_iob0 and (ldest > 0xA)) return DSPIN_WEST; 142 else if (m_is_rsp and m_is_iob1 and (ldest > 0xA)) return DSPIN_EAST; 143 else return DSPIN_LOCAL; 143 144 } 144 145 } // end route()
Note: See TracChangeset
for help on using the changeset viewer.