MatchLib
All Classes Namespaces Files Functions Modules Pages
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
deserializer< packet_t, flit_t, buffersize, Rtype > Class Template Reference

Deserializer for store-forward router. More...

#include <nvhls_serdes.h>

Inheritance diagram for deserializer< packet_t, flit_t, buffersize, Rtype >:

Public Types

enum  { width = 0 }
 

Public Member Functions

typedef NVUINTW (logbufsize) BuffIdx
 
void Process ()
 
 SC_HAS_PROCESS (deserializer)
 
 deserializer (sc_module_name name)
 

Public Attributes

sc_in_clk clk
 
sc_in< bool > rst
 
Connections::Out< packet_t > out_packet
 
Connections::In< flit_t > in_flit
 
flit_t flit_reg
 
packet_t buffer [buffersize]
 
FIFO< BuffIdx, buffersize > fifo
 
 num_flits_received [buffersize]
 

Static Public Attributes

static const int logbufsize = (nvhls::index_width<buffersize>::val)
 
static const int num_flits = packet_t::data_width / flit_t::data_width
 
static const int log_num_flits
 

Detailed Description

template<typename packet_t, typename flit_t, int buffersize, RouterType Rtype = StoreForward>
class deserializer< packet_t, flit_t, buffersize, Rtype >

Deserializer for store-forward router.

Template Parameters
packet_tPacketType
flit_tFlitType
buffersizeBufferSize
RtypeRouterType
Overview
Converts a sequence of flits into a packet
A Simple Example
#include <nvhls_serdes.h>
...
deserializer<packet_t, flit_t, buffersize, StoreForward> deserializer_inst;
Connections::In<Packet_t> in_packet;
Connections::Out<Flit_t> out_flit;
...
deserializer_inst.clk(clk);
deserializer_inst.rst(rst);
deserializer_inst.in_packet(in_packet);
deserializer_inst.out_flit(out_flit);
...

Definition at line 349 of file nvhls_serdes.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
anonymous enum

Definition at line 356 of file nvhls_serdes.h.

Constructor & Destructor Documentation

◆ deserializer()

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
deserializer< packet_t, flit_t, buffersize, Rtype >::deserializer ( sc_module_name  name)
inline

Definition at line 375 of file nvhls_serdes.h.

Member Function Documentation

◆ Process()

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype>
void deserializer< packet_t, flit_t, buffersize, Rtype >::Process ( )

Definition at line 388 of file nvhls_serdes.h.

Member Data Documentation

◆ clk

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
sc_in_clk deserializer< packet_t, flit_t, buffersize, Rtype >::clk

Definition at line 351 of file nvhls_serdes.h.

◆ rst

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
sc_in<bool> deserializer< packet_t, flit_t, buffersize, Rtype >::rst

Definition at line 352 of file nvhls_serdes.h.

◆ out_packet

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
Connections::Out<packet_t> deserializer< packet_t, flit_t, buffersize, Rtype >::out_packet

Definition at line 354 of file nvhls_serdes.h.

◆ in_flit

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
Connections::In<flit_t> deserializer< packet_t, flit_t, buffersize, Rtype >::in_flit

Definition at line 355 of file nvhls_serdes.h.

◆ flit_reg

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
flit_t deserializer< packet_t, flit_t, buffersize, Rtype >::flit_reg

Definition at line 357 of file nvhls_serdes.h.

◆ buffer

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
packet_t deserializer< packet_t, flit_t, buffersize, Rtype >::buffer[buffersize]

Definition at line 359 of file nvhls_serdes.h.

◆ logbufsize

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
const int deserializer< packet_t, flit_t, buffersize, Rtype >::logbufsize = (nvhls::index_width<buffersize>::val)
static

Definition at line 360 of file nvhls_serdes.h.

◆ fifo

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
FIFO<BuffIdx, buffersize> deserializer< packet_t, flit_t, buffersize, Rtype >::fifo

Definition at line 364 of file nvhls_serdes.h.

◆ num_flits

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
const int deserializer< packet_t, flit_t, buffersize, Rtype >::num_flits = packet_t::data_width / flit_t::data_width
static

Definition at line 366 of file nvhls_serdes.h.

◆ log_num_flits

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
const int deserializer< packet_t, flit_t, buffersize, Rtype >::log_num_flits
static
Initial value:
=
Compute index width of a constant.
Definition nvhls_int.h:285

Definition at line 367 of file nvhls_serdes.h.

◆ num_flits_received

template<typename packet_t , typename flit_t , int buffersize, RouterType Rtype = StoreForward>
deserializer< packet_t, flit_t, buffersize, Rtype >::num_flits_received[buffersize]

Definition at line 370 of file nvhls_serdes.h.


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