gem5 v24.0.0.0
|
#include <OutputUnit.hh>
Private Attributes | |
Router * | m_router |
GEM5_CLASS_VAR_USED int | m_id |
PortDirection | m_direction |
int | m_vc_per_vnet |
NetworkLink * | m_out_link |
CreditLink * | m_credit_link |
flitBuffer | outBuffer |
std::vector< OutVcState > | outVcState |
Definition at line 56 of file OutputUnit.hh.
gem5::ruby::garnet::OutputUnit::OutputUnit | ( | int | id, |
PortDirection | direction, | ||
Router * | router, | ||
uint32_t | consumerVcs ) |
Definition at line 49 of file OutputUnit.cc.
References gem5::ruby::garnet::Router::get_net_ptr(), gem5::ruby::garnet::Router::get_num_vnets(), gem5::ArmISA::i, m_router, and outVcState.
|
default |
void gem5::ruby::garnet::OutputUnit::decrement_credit | ( | int | out_vc | ) |
Definition at line 62 of file OutputUnit.cc.
References gem5::Clocked::curCycle(), DPRINTF, get_credit_count(), get_direction(), gem5::ruby::garnet::Router::get_id(), gem5::ruby::garnet::Router::getPortDirectionName(), m_credit_link, m_router, gem5::Named::name(), and outVcState.
Definition at line 176 of file OutputUnit.cc.
References gem5::ruby::garnet::flitBuffer::functionalRead(), gem5::ArmISA::mask, and outBuffer.
uint32_t gem5::ruby::garnet::OutputUnit::functionalWrite | ( | Packet * | pkt | ) |
Definition at line 182 of file OutputUnit.cc.
References gem5::ruby::garnet::flitBuffer::functionalWrite(), and outBuffer.
|
inline |
Definition at line 76 of file OutputUnit.hh.
References outVcState.
Referenced by decrement_credit(), and increment_credit().
|
inline |
Definition at line 73 of file OutputUnit.hh.
References m_direction.
Referenced by decrement_credit(), and increment_credit().
|
inline |
Definition at line 82 of file OutputUnit.hh.
References gem5::ruby::garnet::NetworkLink::get_id(), and m_out_link.
flitBuffer * gem5::ruby::garnet::OutputUnit::getOutQueue | ( | ) |
Definition at line 151 of file OutputUnit.cc.
References outBuffer.
Referenced by gem5::ruby::garnet::Router::addOutPort().
|
inline |
Definition at line 102 of file OutputUnit.hh.
References m_vc_per_vnet.
bool gem5::ruby::garnet::OutputUnit::has_credit | ( | int | out_vc | ) |
Definition at line 89 of file OutputUnit.cc.
References gem5::ruby::garnet::ACTIVE_, gem5::curTick(), and outVcState.
Referenced by gem5::ruby::garnet::SwitchAllocator::send_allowed().
bool gem5::ruby::garnet::OutputUnit::has_free_vc | ( | int | vnet | ) |
Definition at line 98 of file OutputUnit.cc.
References gem5::curTick(), is_vc_idle(), and m_vc_per_vnet.
void gem5::ruby::garnet::OutputUnit::increment_credit | ( | int | out_vc | ) |
Definition at line 74 of file OutputUnit.cc.
References gem5::Clocked::curCycle(), DPRINTF, get_credit_count(), get_direction(), gem5::ruby::garnet::Router::get_id(), gem5::ruby::garnet::Router::getPortDirectionName(), m_credit_link, m_router, gem5::Named::name(), and outVcState.
Referenced by wakeup().
void gem5::ruby::garnet::OutputUnit::insert_flit | ( | flit * | t_flit | ) |
Definition at line 169 of file OutputUnit.cc.
References gem5::Clocked::clockEdge(), gem5::ruby::garnet::flitBuffer::insert(), m_out_link, m_router, outBuffer, and gem5::ruby::Consumer::scheduleEventAbsolute().
Referenced by gem5::ruby::garnet::CrossbarSwitch::wakeup().
|
inline |
Definition at line 94 of file OutputUnit.hh.
References gem5::ruby::garnet::IDLE_, and outVcState.
Referenced by has_free_vc(), and select_free_vc().
|
inlinevirtual |
Implements gem5::ruby::Consumer.
Definition at line 66 of file OutputUnit.hh.
int gem5::ruby::garnet::OutputUnit::select_free_vc | ( | int | vnet | ) |
Definition at line 111 of file OutputUnit.cc.
References gem5::ruby::garnet::ACTIVE_, gem5::curTick(), is_vc_idle(), m_vc_per_vnet, and outVcState.
Referenced by gem5::ruby::garnet::SwitchAllocator::vc_allocate().
void gem5::ruby::garnet::OutputUnit::set_credit_link | ( | CreditLink * | credit_link | ) |
Definition at line 163 of file OutputUnit.cc.
References m_credit_link.
Referenced by gem5::ruby::garnet::Router::addOutPort().
void gem5::ruby::garnet::OutputUnit::set_out_link | ( | NetworkLink * | link | ) |
Definition at line 157 of file OutputUnit.cc.
References m_out_link.
Referenced by gem5::ruby::garnet::Router::addOutPort().
|
inline |
Definition at line 88 of file OutputUnit.hh.
References outVcState, and state.
Referenced by wakeup().
|
virtual |
Implements gem5::ruby::Consumer.
Definition at line 133 of file OutputUnit.cc.
References gem5::ruby::garnet::NetworkLink::consumeLink(), gem5::curTick(), gem5::ruby::garnet::flit::get_vc(), gem5::ruby::garnet::IDLE_, increment_credit(), gem5::ruby::garnet::Credit::is_free_signal(), gem5::ruby::garnet::NetworkLink::isReady(), m_credit_link, gem5::ruby::Consumer::scheduleEvent(), and set_vc_state().
|
private |
Definition at line 116 of file OutputUnit.hh.
Referenced by decrement_credit(), increment_credit(), set_credit_link(), and wakeup().
|
private |
Definition at line 113 of file OutputUnit.hh.
Referenced by get_direction().
|
private |
Definition at line 112 of file OutputUnit.hh.
|
private |
Definition at line 115 of file OutputUnit.hh.
Referenced by get_outlink_id(), insert_flit(), and set_out_link().
|
private |
Definition at line 111 of file OutputUnit.hh.
Referenced by decrement_credit(), increment_credit(), insert_flit(), and OutputUnit().
|
private |
Definition at line 114 of file OutputUnit.hh.
Referenced by getVcsPerVnet(), has_free_vc(), and select_free_vc().
|
private |
Definition at line 119 of file OutputUnit.hh.
Referenced by functionalRead(), functionalWrite(), getOutQueue(), and insert_flit().
|
private |
Definition at line 121 of file OutputUnit.hh.
Referenced by decrement_credit(), get_credit_count(), has_credit(), increment_credit(), is_vc_idle(), OutputUnit(), select_free_vc(), and set_vc_state().