|
MatchLib
|
Wormhole Router with virtual channels. More...
#include <WHVCRouter.h>
Public Types | |
| enum | { num_lports = BaseClass::num_lports , num_rports = BaseClass::num_rports , num_ports = BaseClass::num_ports , num_vchannels = BaseClass::num_vchannels , log_num_rports = BaseClass::log_num_rports , log_num_ports = BaseClass::log_num_ports , log_num_vchannels = BaseClass::log_num_vchannels , dest_width_per_hop = log_num_rports + num_lports , dest_width = MaxHops * dest_width_per_hop } |
| typedef WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType > | BaseClass |
| typedef FlitType | Flit_t |
Public Types inherited from WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType > | |
| enum | |
| typedef FlitType | Flit_t |
Public Member Functions | |
| WHVCSourceRouter (sc_module_name name_) | |
| NVUINTW (num_ports) out_dest[num_ports][num_vchannels] | |
| NVUINTW (num_ports) out_stall | |
| void | inputvc_arbiter (NVUINTW(log_num_vchannels) vcin[num_ports], NVUINTW(num_ports) &in_valid) |
| void | compute_route (Flit_t flit_in[num_ports], NVUINTW(log_num_vchannels) vcin[num_ports], NVUINTW(num_ports) in_valid) |
| void | flit_output (bool is_push[num_ports], NVUINTW(log_num_vchannels) vcout[num_ports]) |
| void | arbitration (Flit_t flit_in[num_ports], NVUINTW(num_ports) in_valid, NVUINTW(log_num_vchannels) vcin[num_ports], NVUINTW(num_ports) valid[num_ports], NVUINTW(num_ports) select[num_ports], NVUINTW(log_num_ports) select_id[num_ports]) |
| void | reset () |
| void | run () |
Public Member Functions inherited from WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType > | |
| typedef | NVUINTW (log_buffersizeplus1) Credit_t |
| typedef | NVUINTW (1) Credit_ret_t |
| SC_HAS_PROCESS (WHVCRouterBase) | |
| WHVCRouterBase (sc_module_name name_) | |
| void | receive_credit () |
| void | send_credit () |
| void | fill_ififo () |
| void | peek_ififo (Flit_t flit_in[num_ports], NVUINTW(log_num_vchannels) vcin[num_ports], NVUINTW(num_ports) in_valid) |
| void | crossbar_traversal (Flit_t flit_in[num_ports], bool is_push[num_ports], NVUINTW(log_num_ports) select_id[num_ports], NVUINTW(log_num_vchannels) vcin[num_ports], NVUINTW(log_num_vchannels) vcout[num_ports]) |
| void | process () |
Public Attributes | |
| Arbiter< num_ports > | arbiter [num_ports] |
| bool | is_get_new_packet [num_ports *num_vchannels] |
Public Attributes inherited from WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType > | |
| Connections::In< Flit_t > | in_port [num_ports] |
| Connections::Out< Flit_t > | out_port [num_ports] |
| Connections::In< Credit_ret_t > | in_credit [num_ports *num_vchannels] |
| Connections::Out< Credit_ret_t > | out_credit [num_ports *num_vchannels] |
| sc_in_clk | clk |
| sc_in< bool > | rst |
| FIFO< Flit_t, buffersize, num_ports *num_vchannels > | ififo |
| Credit_t | credit_recv [num_ports *num_vchannels] |
| Credit_t | credit_send [num_ports *num_vchannels] |
| Flit_t | flit_out [num_ports] |
Static Public Attributes | |
| static const int | kDebugLevel = 2 |
Static Public Attributes inherited from WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType > | |
| static const int | kDebugLevel |
Wormhole Router with virtual channels.
| NumLPorts | Number of local ingress/egress ports |
| NumRports | Number of remote ports |
| NumVchannels | Number of virtual channels |
| BufferSize | Buffersize of input fifo |
| FlitType | Indicates the Flit type |
| MaxHops | Indicates Max. number of hops for SourceRouting |
Definition at line 257 of file WHVCRouter.h.
| typedef WHVCRouterBase<NumLPorts, NumRports, NumVchannels, BufferSize, FlitType> WHVCSourceRouter< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType, MaxHops >::BaseClass |
Definition at line 260 of file WHVCRouter.h.
| typedef FlitType WHVCSourceRouter< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType, MaxHops >::Flit_t |
Definition at line 262 of file WHVCRouter.h.
| anonymous enum |
Definition at line 263 of file WHVCRouter.h.
|
inline |
Definition at line 275 of file WHVCRouter.h.
|
inline |
Definition at line 291 of file WHVCRouter.h.
|
inline |
Definition at line 327 of file WHVCRouter.h.
|
inline |
Definition at line 359 of file WHVCRouter.h.
|
inline |
Definition at line 387 of file WHVCRouter.h.
|
inlinevirtual |
Reimplemented from WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType >.
Definition at line 524 of file WHVCRouter.h.
|
inlinevirtual |
Reimplemented from WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType >.
Definition at line 532 of file WHVCRouter.h.
|
static |
Definition at line 261 of file WHVCRouter.h.
| Arbiter<num_ports> WHVCSourceRouter< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType, MaxHops >::arbiter[num_ports] |
Definition at line 279 of file WHVCRouter.h.
| bool WHVCSourceRouter< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType, MaxHops >::is_get_new_packet[num_ports *num_vchannels] |
Definition at line 289 of file WHVCRouter.h.