|
gem5
v21.2.1.1
|
#include <InputUnit.hh>
Public Member Functions | |
| InputUnit (int id, PortDirection direction, Router *router) | |
| ~InputUnit ()=default | |
| void | wakeup () |
| void | print (std::ostream &out) const |
| PortDirection | get_direction () |
| void | set_vc_idle (int vc, Tick curTime) |
| void | set_vc_active (int vc, Tick curTime) |
| void | grant_outport (int vc, int outport) |
| void | grant_outvc (int vc, int outvc) |
| int | get_outport (int invc) |
| int | get_outvc (int invc) |
| Tick | get_enqueue_time (int invc) |
| void | increment_credit (int in_vc, bool free_signal, Tick curTime) |
| flit * | peekTopFlit (int vc) |
| flit * | getTopFlit (int vc) |
| bool | need_stage (int vc, flit_stage stage, Tick time) |
| bool | isReady (int invc, Tick curTime) |
| flitBuffer * | getCreditQueue () |
| void | set_in_link (NetworkLink *link) |
| int | get_inlink_id () |
| void | set_credit_link (CreditLink *credit_link) |
| double | get_buf_read_activity (unsigned int vnet) const |
| double | get_buf_write_activity (unsigned int vnet) const |
| uint32_t | functionalWrite (Packet *pkt) |
| void | resetStats () |
Public Member Functions inherited from gem5::ruby::Consumer | |
| Consumer (ClockedObject *_em) | |
| virtual | ~Consumer () |
| virtual void | storeEventInfo (int info) |
| bool | alreadyScheduled (Tick time) |
| ClockedObject * | getObject () |
| void | scheduleEventAbsolute (Tick timeAbs) |
| void | scheduleEvent (Cycles timeDelta) |
Private Attributes | |
| Router * | m_router |
| int | m_id |
| PortDirection | m_direction |
| int | m_vc_per_vnet |
| NetworkLink * | m_in_link |
| CreditLink * | m_credit_link |
| flitBuffer | creditQueue |
| std::vector< VirtualChannel > | virtualChannels |
| std::vector< double > | m_num_buffer_writes |
| std::vector< double > | m_num_buffer_reads |
Definition at line 55 of file InputUnit.hh.
| gem5::ruby::garnet::InputUnit::InputUnit | ( | int | id, |
| PortDirection | direction, | ||
| Router * | router | ||
| ) |
Definition at line 47 of file InputUnit.cc.
References gem5::ruby::garnet::Router::get_num_vcs(), gem5::ArmISA::i, m_num_buffer_reads, m_num_buffer_writes, m_router, m_vc_per_vnet, and virtualChannels.
|
default |
| uint32_t gem5::ruby::garnet::InputUnit::functionalWrite | ( | Packet * | pkt | ) |
Definition at line 156 of file InputUnit.cc.
References virtualChannels.
|
inline |
Definition at line 150 of file InputUnit.hh.
References m_num_buffer_reads.
|
inline |
Definition at line 152 of file InputUnit.hh.
References m_num_buffer_writes.
|
inline |
Definition at line 64 of file InputUnit.hh.
References m_direction.
|
inline |
Definition at line 103 of file InputUnit.hh.
References virtualChannels.
Referenced by gem5::ruby::garnet::SwitchAllocator::send_allowed().
|
inline |
Definition at line 142 of file InputUnit.hh.
References gem5::ruby::garnet::NetworkLink::get_id(), and m_in_link.
|
inline |
Definition at line 91 of file InputUnit.hh.
References virtualChannels.
Referenced by gem5::ruby::garnet::SwitchAllocator::arbitrate_inports().
|
inline |
Definition at line 97 of file InputUnit.hh.
References virtualChannels.
|
inline |
Definition at line 134 of file InputUnit.hh.
References creditQueue.
Referenced by gem5::ruby::garnet::Router::addInPort().
|
inline |
Definition at line 117 of file InputUnit.hh.
References virtualChannels.
|
inline |
|
inline |
Definition at line 85 of file InputUnit.hh.
References virtualChannels.
Referenced by gem5::ruby::garnet::SwitchAllocator::vc_allocate().
| void gem5::ruby::garnet::InputUnit::increment_credit | ( | int | in_vc, |
| bool | free_signal, | ||
| Tick | curTime | ||
| ) |
Definition at line 145 of file InputUnit.cc.
References gem5::Clocked::clockEdge(), creditQueue, DPRINTF, gem5::ruby::garnet::Router::get_id(), gem5::ruby::garnet::flitBuffer::insert(), m_credit_link, m_router, gem5::Named::name(), and gem5::ruby::Consumer::scheduleEventAbsolute().
|
inline |
Definition at line 129 of file InputUnit.hh.
References virtualChannels.
|
inline |
Definition at line 123 of file InputUnit.hh.
References virtualChannels.
Referenced by gem5::ruby::garnet::SwitchAllocator::check_for_wakeup().
|
inline |
Definition at line 111 of file InputUnit.hh.
References virtualChannels.
|
inlinevirtual |
Implements gem5::ruby::Consumer.
Definition at line 62 of file InputUnit.hh.
| void gem5::ruby::garnet::InputUnit::resetStats | ( | ) |
Definition at line 167 of file InputUnit.cc.
References gem5::ArmISA::j, m_num_buffer_reads, and m_num_buffer_writes.
|
inline |
Definition at line 145 of file InputUnit.hh.
References m_credit_link.
Referenced by gem5::ruby::garnet::Router::addInPort().
|
inline |
Definition at line 137 of file InputUnit.hh.
References m_in_link.
Referenced by gem5::ruby::garnet::Router::addInPort().
|
inline |
|
inline |
Definition at line 67 of file InputUnit.hh.
References virtualChannels.
|
virtual |
Implements gem5::ruby::Consumer.
Definition at line 77 of file InputUnit.cc.
References gem5::ruby::garnet::ACTIVE_, gem5::ruby::garnet::flit::advance_stage(), gem5::Clocked::clockEdge(), gem5::ruby::garnet::NetworkLink::consumeLink(), gem5::curTick(), DPRINTF, gem5::ruby::garnet::Router::get_id(), gem5::ruby::garnet::Router::get_pipe_stages(), gem5::ruby::garnet::flit::get_route(), gem5::ruby::garnet::flit::get_type(), gem5::ruby::garnet::flit::get_vc(), gem5::ruby::garnet::Router::getBitWidth(), grant_outport(), gem5::ruby::garnet::HEAD_, gem5::ruby::garnet::HEAD_TAIL_, gem5::ruby::garnet::IDLE_, gem5::ruby::garnet::flit::increment_hops(), gem5::ruby::garnet::NetworkLink::isReady(), m_direction, m_id, m_in_link, m_num_buffer_reads, m_num_buffer_writes, m_router, m_vc_per_vnet, gem5::ruby::garnet::flit::m_width, gem5::Named::name(), gem5::ruby::garnet::Router::route_compute(), gem5::ruby::garnet::SA_, gem5::ruby::garnet::Router::schedule_wakeup(), set_vc_active(), and virtualChannels.
|
private |
Definition at line 165 of file InputUnit.hh.
Referenced by getCreditQueue(), and increment_credit().
|
private |
Definition at line 164 of file InputUnit.hh.
Referenced by increment_credit(), and set_credit_link().
|
private |
Definition at line 161 of file InputUnit.hh.
Referenced by get_direction(), and wakeup().
|
private |
Definition at line 160 of file InputUnit.hh.
Referenced by wakeup().
|
private |
Definition at line 163 of file InputUnit.hh.
Referenced by get_inlink_id(), set_in_link(), and wakeup().
|
private |
Definition at line 172 of file InputUnit.hh.
Referenced by get_buf_read_activity(), InputUnit(), resetStats(), and wakeup().
|
private |
Definition at line 171 of file InputUnit.hh.
Referenced by get_buf_write_activity(), InputUnit(), resetStats(), and wakeup().
|
private |
Definition at line 159 of file InputUnit.hh.
Referenced by increment_credit(), InputUnit(), and wakeup().
|
private |
Definition at line 162 of file InputUnit.hh.
Referenced by InputUnit(), and wakeup().
|
private |
Definition at line 168 of file InputUnit.hh.
Referenced by functionalWrite(), get_enqueue_time(), get_outport(), get_outvc(), getTopFlit(), grant_outport(), grant_outvc(), InputUnit(), isReady(), need_stage(), peekTopFlit(), set_vc_active(), set_vc_idle(), and wakeup().