MatchLib
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole > Class Template Reference

Deserializer for Wormhole router. More...

#include <nvhls_serdes.h>

Inheritance diagram for deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >:

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_tout_packet
 
Connections::In< flit_tin_flit
 
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 = (nvhls::index_width<num_flits>::val)
 

Detailed Description

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId, int buffersize>
class deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >

Deserializer for Wormhole router.

Template Parameters
packet_tPacketType
flit_tFlitType
buffersizeBufferSize
RtypeRouterType
A Simple Example
#include <nvhls_serdes.h>
...
deserializer<packet_t, flit_t, buffersize, Wormhole> 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 486 of file nvhls_serdes.h.

Member Enumeration Documentation

◆ anonymous enum

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
anonymous enum

Definition at line 500 of file nvhls_serdes.h.

Constructor & Destructor Documentation

◆ deserializer()

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::deserializer ( sc_module_name  name)
inline

Definition at line 573 of file nvhls_serdes.h.

Member Function Documentation

◆ Process()

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
void deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::Process ( )
inline

Definition at line 514 of file nvhls_serdes.h.

Member Data Documentation

◆ clk

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
sc_in_clk deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::clk

Definition at line 495 of file nvhls_serdes.h.

◆ rst

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
sc_in<bool> deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::rst

Definition at line 496 of file nvhls_serdes.h.

◆ out_packet

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
Connections::Out<packet_t> deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::out_packet

Definition at line 498 of file nvhls_serdes.h.

◆ in_flit

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
Connections::In<flit_t> deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::in_flit

Definition at line 499 of file nvhls_serdes.h.

◆ buffer

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
packet_t deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::buffer[buffersize]

Definition at line 502 of file nvhls_serdes.h.

◆ logbufsize

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
const int deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::logbufsize = (nvhls::index_width<buffersize>::val)
static

Definition at line 503 of file nvhls_serdes.h.

◆ fifo

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
FIFO<BuffIdx, buffersize> deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::fifo

Definition at line 507 of file nvhls_serdes.h.

◆ num_flits

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
const int deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::num_flits = packet_t::data_width / flit_t::data_width
static

Definition at line 509 of file nvhls_serdes.h.

◆ log_num_flits

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
const int deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::log_num_flits = (nvhls::index_width<num_flits>::val)
static

Definition at line 510 of file nvhls_serdes.h.

◆ num_flits_received

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId , int buffersize>
deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, buffersize, WormHole >::num_flits_received[buffersize]

Definition at line 512 of file nvhls_serdes.h.


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