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 >, 0, WormHole > Class Template Reference

Deserializer for Wormhole router without input buffer. More...

#include <nvhls_serdes.h>

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

Public Types

enum  { width = 0 }
 

Public Member Functions

 NVUINTW (log_num_flits) num_flits_received
 
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
 

Static Public Attributes

static const int header_data_width = flit_t::data_width - packet_t::dest_width
 
static const int num_flits = (((packet_t::data_width-header_data_width) % flit_t::data_width) == 0) ? ((packet_t::data_width-header_data_width) / flit_t::data_width) : ((packet_t::data_width-header_data_width) / flit_t::data_width+1)
 
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>
class deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, 0, WormHole >

Deserializer for Wormhole router without input buffer.

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

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 632 of file nvhls_serdes.h.

Constructor & Destructor Documentation

◆ deserializer()

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

Definition at line 643 of file nvhls_serdes.h.

Member Function Documentation

◆ Process()

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

Definition at line 660 of file nvhls_serdes.h.

Member Data Documentation

◆ clk

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

Definition at line 627 of file nvhls_serdes.h.

◆ rst

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

Definition at line 628 of file nvhls_serdes.h.

◆ out_packet

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

Definition at line 630 of file nvhls_serdes.h.

◆ in_flit

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

Definition at line 631 of file nvhls_serdes.h.

◆ buffer

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

Definition at line 634 of file nvhls_serdes.h.

◆ header_data_width

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

Definition at line 635 of file nvhls_serdes.h.

◆ num_flits

template<int PacketDataWidth, int DestWidthPerHop, int MaxHops, int PacketIdWidth, int FlitDataWidth, class FlitId >
const int deserializer< Packet< PacketDataWidth, DestWidthPerHop, MaxHops, PacketIdWidth >, Flit< FlitDataWidth, 0, 0, PacketIdWidth, FlitId, WormHole >, 0, WormHole >::num_flits = (((packet_t::data_width-header_data_width) % flit_t::data_width) == 0) ? ((packet_t::data_width-header_data_width) / flit_t::data_width) : ((packet_t::data_width-header_data_width) / flit_t::data_width+1)
static

Definition at line 637 of file nvhls_serdes.h.

◆ log_num_flits

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

Definition at line 638 of file nvhls_serdes.h.


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