gem5  v21.1.0.2
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
gem5::ruby::garnet::flit Class Reference

#include <flit.hh>

Inheritance diagram for gem5::ruby::garnet::flit:
gem5::ruby::garnet::Credit

Public Member Functions

 flit ()
 
 flit (int id, int vc, int vnet, RouteInfo route, int size, MsgPtr msg_ptr, int MsgSize, uint32_t bWidth, Tick curTime)
 
virtual ~flit ()
 
int get_outport ()
 
int get_size ()
 
Tick get_enqueue_time ()
 
Tick get_dequeue_time ()
 
int get_id ()
 
Tick get_time ()
 
int get_vnet ()
 
int get_vc ()
 
RouteInfo get_route ()
 
MsgPtrget_msg_ptr ()
 
flit_type get_type ()
 
std::pair< flit_stage, Tickget_stage ()
 
Tick get_src_delay ()
 
void set_outport (int port)
 
void set_time (Tick time)
 
void set_vc (int vc)
 
void set_route (RouteInfo route)
 
void set_src_delay (Tick delay)
 
void set_dequeue_time (Tick time)
 
void set_enqueue_time (Tick time)
 
void increment_hops ()
 
virtual void print (std::ostream &out) const
 
bool is_stage (flit_stage stage, Tick time)
 
void advance_stage (flit_stage t_stage, Tick newTime)
 
bool functionalWrite (Packet *pkt)
 
virtual flitserialize (int ser_id, int parts, uint32_t bWidth)
 
virtual flitdeserialize (int des_id, int num_flits, uint32_t bWidth)
 

Static Public Member Functions

static bool greater (flit *n1, flit *n2)
 

Public Attributes

uint32_t m_width
 
int msgSize
 

Protected Attributes

int m_id
 
int m_vnet
 
int m_vc
 
RouteInfo m_route
 
int m_size
 
Tick m_enqueue_time
 
Tick m_dequeue_time
 
Tick m_time
 
flit_type m_type
 
MsgPtr m_msg_ptr
 
int m_outport
 
Tick src_delay
 
std::pair< flit_stage, Tickm_stage
 

Detailed Description

Definition at line 50 of file flit.hh.

Constructor & Destructor Documentation

◆ flit() [1/2]

gem5::ruby::garnet::flit::flit ( )
inline

Definition at line 53 of file flit.hh.

Referenced by deserialize(), and serialize().

◆ flit() [2/2]

gem5::ruby::garnet::flit::flit ( int  id,
int  vc,
int  vnet,
RouteInfo  route,
int  size,
MsgPtr  msg_ptr,
int  MsgSize,
uint32_t  bWidth,
Tick  curTime 
)

◆ ~flit()

virtual gem5::ruby::garnet::flit::~flit ( )
inlinevirtual

Definition at line 57 of file flit.hh.

Member Function Documentation

◆ advance_stage()

void gem5::ruby::garnet::flit::advance_stage ( flit_stage  t_stage,
Tick  newTime 
)
inline

◆ deserialize()

flit * gem5::ruby::garnet::flit::deserialize ( int  des_id,
int  num_flits,
uint32_t  bWidth 
)
virtual

◆ functionalWrite()

bool gem5::ruby::garnet::flit::functionalWrite ( Packet pkt)

Definition at line 127 of file flit.cc.

References gem5::ruby::Message::functionalWrite(), and m_msg_ptr.

◆ get_dequeue_time()

Tick gem5::ruby::garnet::flit::get_dequeue_time ( )
inline

Definition at line 62 of file flit.hh.

References m_dequeue_time.

Referenced by gem5::ruby::garnet::NetworkInterface::incrementStats().

◆ get_enqueue_time()

Tick gem5::ruby::garnet::flit::get_enqueue_time ( )
inline

Definition at line 61 of file flit.hh.

References m_enqueue_time.

Referenced by gem5::ruby::garnet::NetworkInterface::incrementStats().

◆ get_id()

int gem5::ruby::garnet::flit::get_id ( )
inline

Definition at line 63 of file flit.hh.

References m_id.

Referenced by gem5::ruby::garnet::NetworkBridge::flitisizeAndSend(), and greater().

◆ get_msg_ptr()

MsgPtr& gem5::ruby::garnet::flit::get_msg_ptr ( )
inline

◆ get_outport()

int gem5::ruby::garnet::flit::get_outport ( )
inline

Definition at line 59 of file flit.hh.

References m_outport.

Referenced by gem5::ruby::garnet::CrossbarSwitch::wakeup().

◆ get_route()

RouteInfo gem5::ruby::garnet::flit::get_route ( )
inline

◆ get_size()

int gem5::ruby::garnet::flit::get_size ( )
inline

Definition at line 60 of file flit.hh.

References m_size.

◆ get_src_delay()

Tick gem5::ruby::garnet::flit::get_src_delay ( )
inline

Definition at line 71 of file flit.hh.

References src_delay.

Referenced by gem5::ruby::garnet::NetworkInterface::incrementStats().

◆ get_stage()

std::pair<flit_stage, Tick> gem5::ruby::garnet::flit::get_stage ( )
inline

Definition at line 70 of file flit.hh.

References m_stage.

◆ get_time()

Tick gem5::ruby::garnet::flit::get_time ( )
inline

Definition at line 64 of file flit.hh.

References m_time.

Referenced by greater(), and gem5::ruby::garnet::flitBuffer::isReady().

◆ get_type()

flit_type gem5::ruby::garnet::flit::get_type ( )
inline

◆ get_vc()

int gem5::ruby::garnet::flit::get_vc ( )
inline

◆ get_vnet()

int gem5::ruby::garnet::flit::get_vnet ( )
inline

◆ greater()

static bool gem5::ruby::garnet::flit::greater ( flit n1,
flit n2 
)
inlinestatic

Definition at line 99 of file flit.hh.

References get_id(), and get_time().

◆ increment_hops()

void gem5::ruby::garnet::flit::increment_hops ( )
inline

◆ is_stage()

bool gem5::ruby::garnet::flit::is_stage ( flit_stage  stage,
Tick  time 
)
inline

◆ print()

void gem5::ruby::garnet::flit::print ( std::ostream &  out) const
virtual

◆ serialize()

flit * gem5::ruby::garnet::flit::serialize ( int  ser_id,
int  parts,
uint32_t  bWidth 
)
virtual

◆ set_dequeue_time()

void gem5::ruby::garnet::flit::set_dequeue_time ( Tick  time)
inline

Definition at line 78 of file flit.hh.

References m_dequeue_time.

Referenced by gem5::ruby::garnet::NetworkInterface::wakeup().

◆ set_enqueue_time()

void gem5::ruby::garnet::flit::set_enqueue_time ( Tick  time)
inline

Definition at line 79 of file flit.hh.

References m_enqueue_time.

Referenced by deserialize(), and serialize().

◆ set_outport()

void gem5::ruby::garnet::flit::set_outport ( int  port)
inline

Definition at line 73 of file flit.hh.

References m_outport.

Referenced by gem5::ruby::garnet::SwitchAllocator::arbitrate_outports().

◆ set_route()

void gem5::ruby::garnet::flit::set_route ( RouteInfo  route)
inline

Definition at line 76 of file flit.hh.

References m_route.

◆ set_src_delay()

void gem5::ruby::garnet::flit::set_src_delay ( Tick  delay)
inline

Definition at line 77 of file flit.hh.

References src_delay.

Referenced by deserialize(), gem5::ruby::garnet::NetworkInterface::flitisizeMessage(), and serialize().

◆ set_time()

void gem5::ruby::garnet::flit::set_time ( Tick  time)
inline

◆ set_vc()

void gem5::ruby::garnet::flit::set_vc ( int  vc)
inline

Definition at line 75 of file flit.hh.

References m_vc.

Referenced by gem5::ruby::garnet::SwitchAllocator::arbitrate_outports().

Member Data Documentation

◆ m_dequeue_time

Tick gem5::ruby::garnet::flit::m_dequeue_time
protected

Definition at line 122 of file flit.hh.

Referenced by flit(), get_dequeue_time(), and set_dequeue_time().

◆ m_enqueue_time

Tick gem5::ruby::garnet::flit::m_enqueue_time
protected

Definition at line 122 of file flit.hh.

Referenced by deserialize(), flit(), get_enqueue_time(), serialize(), and set_enqueue_time().

◆ m_id

int gem5::ruby::garnet::flit::m_id
protected

Definition at line 117 of file flit.hh.

Referenced by deserialize(), flit(), get_id(), print(), and serialize().

◆ m_msg_ptr

MsgPtr gem5::ruby::garnet::flit::m_msg_ptr
protected

Definition at line 125 of file flit.hh.

Referenced by deserialize(), flit(), functionalWrite(), get_msg_ptr(), and serialize().

◆ m_outport

int gem5::ruby::garnet::flit::m_outport
protected

Definition at line 126 of file flit.hh.

Referenced by get_outport(), and set_outport().

◆ m_route

RouteInfo gem5::ruby::garnet::flit::m_route
protected

Definition at line 120 of file flit.hh.

Referenced by deserialize(), flit(), get_route(), increment_hops(), print(), serialize(), and set_route().

◆ m_size

int gem5::ruby::garnet::flit::m_size
protected

Definition at line 121 of file flit.hh.

Referenced by flit(), get_size(), and print().

◆ m_stage

std::pair<flit_stage, Tick> gem5::ruby::garnet::flit::m_stage
protected

Definition at line 128 of file flit.hh.

Referenced by advance_stage(), flit(), get_stage(), and is_stage().

◆ m_time

Tick gem5::ruby::garnet::flit::m_time
protected

◆ m_type

flit_type gem5::ruby::garnet::flit::m_type
protected

◆ m_vc

int gem5::ruby::garnet::flit::m_vc
protected

◆ m_vnet

int gem5::ruby::garnet::flit::m_vnet
protected

Definition at line 118 of file flit.hh.

Referenced by deserialize(), flit(), get_vnet(), print(), and serialize().

◆ m_width

uint32_t gem5::ruby::garnet::flit::m_width

◆ msgSize

int gem5::ruby::garnet::flit::msgSize

◆ src_delay

Tick gem5::ruby::garnet::flit::src_delay
protected

Definition at line 127 of file flit.hh.

Referenced by deserialize(), get_src_delay(), serialize(), and set_src_delay().


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

Generated on Tue Sep 21 2021 12:32:10 for gem5 by doxygen 1.8.17