gem5  v20.1.0.0
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
flit Class Reference

#include <flit.hh>

Inheritance diagram for flit:
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 41 of file flit.hh.

Constructor & Destructor Documentation

◆ flit() [1/2]

flit::flit ( )
inline

Definition at line 44 of file flit.hh.

Referenced by deserialize(), and serialize().

◆ flit() [2/2]

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

◆ ~flit()

virtual flit::~flit ( )
inlinevirtual

Definition at line 48 of file flit.hh.

Member Function Documentation

◆ advance_stage()

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

Definition at line 83 of file flit.hh.

References m_stage.

Referenced by SwitchAllocator::arbitrate_outports(), CrossbarSwitch::wakeup(), and InputUnit::wakeup().

◆ deserialize()

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

◆ functionalWrite()

bool flit::functionalWrite ( Packet pkt)

Definition at line 118 of file flit.cc.

References Message::functionalWrite(), and m_msg_ptr.

◆ get_dequeue_time()

Tick flit::get_dequeue_time ( )
inline

Definition at line 53 of file flit.hh.

References m_dequeue_time.

Referenced by NetworkInterface::incrementStats().

◆ get_enqueue_time()

Tick flit::get_enqueue_time ( )
inline

Definition at line 52 of file flit.hh.

References m_enqueue_time.

Referenced by NetworkInterface::incrementStats().

◆ get_id()

int flit::get_id ( )
inline

Definition at line 54 of file flit.hh.

References m_id.

Referenced by NetworkBridge::flitisizeAndSend(), and greater().

◆ get_msg_ptr()

MsgPtr& flit::get_msg_ptr ( )
inline

◆ get_outport()

int flit::get_outport ( )
inline

Definition at line 50 of file flit.hh.

References m_outport.

Referenced by CrossbarSwitch::wakeup().

◆ get_route()

RouteInfo flit::get_route ( )
inline

Definition at line 58 of file flit.hh.

References m_route.

Referenced by NetworkInterface::incrementStats(), and InputUnit::wakeup().

◆ get_size()

int flit::get_size ( )
inline

Definition at line 51 of file flit.hh.

References m_size.

◆ get_src_delay()

Tick flit::get_src_delay ( )
inline

Definition at line 62 of file flit.hh.

References src_delay.

Referenced by NetworkInterface::incrementStats().

◆ get_stage()

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

Definition at line 61 of file flit.hh.

References m_stage.

◆ get_time()

Tick flit::get_time ( )
inline

Definition at line 55 of file flit.hh.

References m_time.

Referenced by greater(), and flitBuffer::isReady().

◆ get_type()

flit_type flit::get_type ( )
inline

◆ get_vc()

int flit::get_vc ( )
inline

◆ get_vnet()

int flit::get_vnet ( )
inline

◆ greater()

static bool flit::greater ( flit n1,
flit n2 
)
inlinestatic

Definition at line 90 of file flit.hh.

References get_id(), and get_time().

Referenced by flitBuffer::getTopFlit(), and flitBuffer::insert().

◆ increment_hops()

void flit::increment_hops ( )
inline

Definition at line 72 of file flit.hh.

References RouteInfo::hops_traversed, and m_route.

Referenced by InputUnit::wakeup().

◆ is_stage()

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

Definition at line 76 of file flit.hh.

References m_stage.

Referenced by VirtualChannel::need_stage(), and CrossbarSwitch::wakeup().

◆ print()

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

Reimplemented in Credit.

Definition at line 100 of file flit.cc.

References RouteInfo::dest_ni, RouteInfo::dest_router, m_id, m_route, m_size, m_time, m_type, m_vc, m_vnet, m_width, RouteInfo::src_ni, and RouteInfo::src_router.

Referenced by operator<<().

◆ serialize()

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

◆ set_dequeue_time()

void flit::set_dequeue_time ( Tick  time)
inline

Definition at line 69 of file flit.hh.

References m_dequeue_time.

Referenced by NetworkInterface::wakeup().

◆ set_enqueue_time()

void flit::set_enqueue_time ( Tick  time)
inline

Definition at line 70 of file flit.hh.

References m_enqueue_time.

Referenced by deserialize(), and serialize().

◆ set_outport()

void flit::set_outport ( int  port)
inline

Definition at line 64 of file flit.hh.

References m_outport.

Referenced by SwitchAllocator::arbitrate_outports().

◆ set_route()

void flit::set_route ( RouteInfo  route)
inline

Definition at line 67 of file flit.hh.

References m_route.

◆ set_src_delay()

void flit::set_src_delay ( Tick  delay)
inline

Definition at line 68 of file flit.hh.

References src_delay.

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

◆ set_time()

void flit::set_time ( Tick  time)
inline

◆ set_vc()

void flit::set_vc ( int  vc)
inline

Definition at line 66 of file flit.hh.

References m_vc.

Referenced by SwitchAllocator::arbitrate_outports().

Member Data Documentation

◆ m_dequeue_time

Tick flit::m_dequeue_time
protected

Definition at line 113 of file flit.hh.

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

◆ m_enqueue_time

Tick flit::m_enqueue_time
protected

Definition at line 113 of file flit.hh.

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

◆ m_id

int flit::m_id
protected

Definition at line 108 of file flit.hh.

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

◆ m_msg_ptr

MsgPtr flit::m_msg_ptr
protected

Definition at line 116 of file flit.hh.

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

◆ m_outport

int flit::m_outport
protected

Definition at line 117 of file flit.hh.

Referenced by get_outport(), and set_outport().

◆ m_route

RouteInfo flit::m_route
protected

Definition at line 111 of file flit.hh.

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

◆ m_size

int flit::m_size
protected

Definition at line 112 of file flit.hh.

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

◆ m_stage

std::pair<flit_stage, Tick> flit::m_stage
protected

Definition at line 119 of file flit.hh.

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

◆ m_time

Tick flit::m_time
protected

◆ m_type

flit_type flit::m_type
protected

Definition at line 115 of file flit.hh.

Referenced by Credit::Credit(), flit(), get_type(), Credit::print(), and print().

◆ m_vc

int flit::m_vc
protected

◆ m_vnet

int flit::m_vnet
protected

Definition at line 109 of file flit.hh.

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

◆ m_width

uint32_t flit::m_width

◆ msgSize

int flit::msgSize

Definition at line 106 of file flit.hh.

Referenced by deserialize(), flit(), NetworkBridge::flitisizeAndSend(), and serialize().

◆ src_delay

Tick flit::src_delay
protected

Definition at line 118 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 Wed Sep 30 2020 14:02:24 for gem5 by doxygen 1.8.17