gem5 v25.0.0.1
Loading...
Searching...
No Matches
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 packet_id, 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 getPacketID ()
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 functionalRead (Packet *pkt, WriteMask &mask)
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_packet_id
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 gem5::ruby::garnet::Credit::Credit(), deserialize(), greater(), and serialize().

◆ flit() [2/2]

gem5::ruby::garnet::flit::flit ( int packet_id,
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

◆ functionalRead()

bool gem5::ruby::garnet::flit::functionalRead ( Packet * pkt,
WriteMask & mask )

Definition at line 129 of file flit.cc.

References gem5::ruby::Message::functionalRead(), m_msg_ptr, and gem5::ArmISA::mask.

◆ functionalWrite()

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

Definition at line 136 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 64 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 72 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 71 of file flit.hh.

References m_stage.

◆ get_time()

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

Definition at line 65 of file flit.hh.

References m_time.

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

◆ get_type()

◆ get_vc()

◆ get_vnet()

◆ getPacketID()

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

Definition at line 63 of file flit.hh.

References m_packet_id.

◆ greater()

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

Definition at line 100 of file flit.hh.

References flit(), get_id(), and get_time().

◆ increment_hops()

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

Definition at line 82 of file flit.hh.

References m_route.

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

◆ 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

Reimplemented in gem5::ruby::garnet::Credit.

Definition at line 110 of file flit.cc.

References m_id, m_packet_id, m_route, m_size, m_time, m_type, m_vc, m_vnet, and m_width.

Referenced by gem5::ruby::garnet::operator<<().

◆ 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 79 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 80 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 74 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 77 of file flit.hh.

References m_route.

◆ set_src_delay()

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

Definition at line 78 of file flit.hh.

References src_delay.

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

◆ set_time()

◆ set_vc()

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

Definition at line 76 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 125 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 125 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 120 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 128 of file flit.hh.

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

◆ m_outport

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

Definition at line 129 of file flit.hh.

Referenced by get_outport(), and set_outport().

◆ m_packet_id

int gem5::ruby::garnet::flit::m_packet_id
protected

Definition at line 119 of file flit.hh.

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

◆ m_route

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

Definition at line 123 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 124 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 131 of file flit.hh.

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

◆ m_time

◆ m_type

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

◆ m_vc

◆ m_vnet

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

Definition at line 121 of file flit.hh.

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

◆ m_width

◆ msgSize

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

◆ src_delay

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

Definition at line 130 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 Sat Oct 18 2025 08:07:02 for gem5 by doxygen 1.14.0