gem5  v19.0.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Private Attributes | List of all members
VirtualChannel Class Reference

#include <VirtualChannel.hh>

Public Member Functions

 VirtualChannel (int id)
 
 ~VirtualChannel ()
 
bool need_stage (flit_stage stage, Cycles time)
 
void set_idle (Cycles curTime)
 
void set_active (Cycles curTime)
 
void set_outvc (int outvc)
 
int get_outvc ()
 
void set_outport (int outport)
 
int get_outport ()
 
Cycles get_enqueue_time ()
 
void set_enqueue_time (Cycles time)
 
VC_state_type get_state ()
 
bool isReady (Cycles curTime)
 
void insertFlit (flit *t_flit)
 
void set_state (VC_state_type m_state, Cycles curTime)
 
flitpeekTopFlit ()
 
flitgetTopFlit ()
 
uint32_t functionalWrite (Packet *pkt)
 

Private Attributes

int m_id
 
flitBufferm_input_buffer
 
std::pair< VC_state_type, Cyclesm_vc_state
 
int m_output_port
 
Cycles m_enqueue_time
 
int m_output_vc
 

Detailed Description

Definition at line 42 of file VirtualChannel.hh.

Constructor & Destructor Documentation

◆ VirtualChannel()

VirtualChannel::VirtualChannel ( int  id)

Definition at line 36 of file VirtualChannel.cc.

References ArmISA::id, IDLE_, m_id, m_input_buffer, m_output_port, m_output_vc, and m_vc_state.

◆ ~VirtualChannel()

VirtualChannel::~VirtualChannel ( )

Definition at line 47 of file VirtualChannel.cc.

References m_input_buffer.

Member Function Documentation

◆ functionalWrite()

uint32_t VirtualChannel::functionalWrite ( Packet pkt)

Definition at line 82 of file VirtualChannel.cc.

References flitBuffer::functionalWrite(), and m_input_buffer.

Referenced by getTopFlit().

◆ get_enqueue_time()

Cycles VirtualChannel::get_enqueue_time ( )
inline

Definition at line 56 of file VirtualChannel.hh.

References m_enqueue_time.

◆ get_outport()

int VirtualChannel::get_outport ( )
inline

Definition at line 54 of file VirtualChannel.hh.

References m_output_port.

◆ get_outvc()

int VirtualChannel::get_outvc ( )
inline

Definition at line 52 of file VirtualChannel.hh.

References m_output_vc.

◆ get_state()

VC_state_type VirtualChannel::get_state ( )
inline

Definition at line 58 of file VirtualChannel.hh.

References m_vc_state.

◆ getTopFlit()

flit* VirtualChannel::getTopFlit ( )
inline

Definition at line 85 of file VirtualChannel.hh.

References functionalWrite(), flitBuffer::getTopFlit(), and m_input_buffer.

◆ insertFlit()

void VirtualChannel::insertFlit ( flit t_flit)
inline

Definition at line 66 of file VirtualChannel.hh.

References flitBuffer::insert(), and m_input_buffer.

◆ isReady()

bool VirtualChannel::isReady ( Cycles  curTime)
inline

Definition at line 60 of file VirtualChannel.hh.

References flitBuffer::isReady(), and m_input_buffer.

◆ need_stage()

bool VirtualChannel::need_stage ( flit_stage  stage,
Cycles  time 
)

◆ peekTopFlit()

flit* VirtualChannel::peekTopFlit ( )
inline

Definition at line 79 of file VirtualChannel.hh.

References m_input_buffer, and flitBuffer::peekTopFlit().

◆ set_active()

void VirtualChannel::set_active ( Cycles  curTime)

Definition at line 63 of file VirtualChannel.cc.

References ACTIVE_, m_enqueue_time, and m_vc_state.

◆ set_enqueue_time()

void VirtualChannel::set_enqueue_time ( Cycles  time)
inline

Definition at line 57 of file VirtualChannel.hh.

References m_enqueue_time.

◆ set_idle()

void VirtualChannel::set_idle ( Cycles  curTime)

Definition at line 53 of file VirtualChannel.cc.

References IDLE_, INFINITE_, m_enqueue_time, m_output_port, m_output_vc, and m_vc_state.

◆ set_outport()

void VirtualChannel::set_outport ( int  outport)
inline

Definition at line 53 of file VirtualChannel.hh.

References m_output_port.

◆ set_outvc()

void VirtualChannel::set_outvc ( int  outvc)
inline

Definition at line 51 of file VirtualChannel.hh.

References m_output_vc.

◆ set_state()

void VirtualChannel::set_state ( VC_state_type  m_state,
Cycles  curTime 
)
inline

Definition at line 72 of file VirtualChannel.hh.

References m_vc_state.

Member Data Documentation

◆ m_enqueue_time

Cycles VirtualChannel::m_enqueue_time
private

Definition at line 97 of file VirtualChannel.hh.

Referenced by get_enqueue_time(), set_active(), set_enqueue_time(), and set_idle().

◆ m_id

int VirtualChannel::m_id
private

Definition at line 93 of file VirtualChannel.hh.

Referenced by VirtualChannel().

◆ m_input_buffer

flitBuffer* VirtualChannel::m_input_buffer
private

◆ m_output_port

int VirtualChannel::m_output_port
private

Definition at line 96 of file VirtualChannel.hh.

Referenced by get_outport(), set_idle(), set_outport(), and VirtualChannel().

◆ m_output_vc

int VirtualChannel::m_output_vc
private

Definition at line 98 of file VirtualChannel.hh.

Referenced by get_outvc(), set_idle(), set_outvc(), and VirtualChannel().

◆ m_vc_state

std::pair<VC_state_type, Cycles> VirtualChannel::m_vc_state
private

Definition at line 95 of file VirtualChannel.hh.

Referenced by get_state(), need_stage(), set_active(), set_idle(), set_state(), and VirtualChannel().


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

Generated on Fri Feb 28 2020 16:27:18 for gem5 by doxygen 1.8.13