MatchLib
Public Types | Public Member Functions | Public Attributes | List of all members
WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType > Class Template Reference
Inheritance diagram for WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType >:
WHVCSourceRouter< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType, MaxHops >

Public Types

enum  {
  num_lports = NumLPorts, num_rports = NumRports, num_ports = num_lports + num_rports, num_vchannels = NumVchannels,
  log_num_vchannels = nvhls::index_width<num_vchannels>::val, log_num_lports = nvhls::index_width<num_lports>::val, log_num_rports = nvhls::index_width<num_rports>::val, log_num_ports = nvhls::index_width<num_ports>::val,
  buffersize = BufferSize, log_buffersize = nvhls::index_width<buffersize>::val, log_buffersizeplus1 = nvhls::index_width<buffersize + 1>::val
}
 
typedef FlitType Flit_t
 

Public Member Functions

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])
 
virtual void reset ()
 
virtual void run ()
 
void process ()
 

Public Attributes

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]
 

Detailed Description

template<int NumLPorts, int NumRports, int NumVchannels, int BufferSize, typename FlitType = Flit<64, 0, 0, 0, FlitId2bit, WormHole>>
class WHVCRouterBase< NumLPorts, NumRports, NumVchannels, BufferSize, FlitType >

Definition at line 50 of file WHVCRouter.h.


The documentation for this class was generated from the following file: