diff options
Diffstat (limited to 'src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh')
-rw-r--r-- | src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh | 124 |
1 files changed, 52 insertions, 72 deletions
diff --git a/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh b/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh index 645506af7..075e2ee02 100644 --- a/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh +++ b/src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh @@ -28,89 +28,69 @@ * Authors: Niket Agarwal */ -#ifndef VIRTUAL_CHANNEL_D_H -#define VIRTUAL_CHANNEL_D_H +#ifndef __MEM_RUBY_NETWORK_GARNET_FIXED_PIPELINE_VIRTUAL_CHANNEL_D_HH__ +#define __MEM_RUBY_NETWORK_GARNET_FIXED_PIPELINE_VIRTUAL_CHANNEL_D_HH__ #include <utility> #include "mem/ruby/network/garnet/NetworkHeader.hh" #include "mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh" -class VirtualChannel_d { -public: - VirtualChannel_d(int id); - ~VirtualChannel_d(); +class VirtualChannel_d +{ + public: + VirtualChannel_d(int id); + ~VirtualChannel_d(); - bool need_stage(VC_state_type state, flit_stage stage); - bool need_stage_nextcycle(VC_state_type state, flit_stage stage); - void set_outport(int outport); - void grant_vc(int out_vc); + bool need_stage(VC_state_type state, flit_stage stage); + bool need_stage_nextcycle(VC_state_type state, flit_stage stage); + void set_outport(int outport); + void grant_vc(int out_vc); - inline Time get_enqueue_time() - { - return m_enqueue_time; - } + inline Time get_enqueue_time() { return m_enqueue_time; } + inline void set_enqueue_time(Time time) { m_enqueue_time = time; } + inline VC_state_type get_state() { return m_vc_state.first; } + inline int get_outvc() { return m_output_vc; } + inline bool has_credits() { return (m_credit_count > 0); } + inline int get_route() { return route; } + inline void update_credit(int credit) { m_credit_count = credit; } + inline void increment_credit() { m_credit_count++; } - inline void set_enqueue_time(Time time) - { - m_enqueue_time = time; - } + inline bool isReady() { return m_input_buffer->isReady(); } - inline VC_state_type get_state() - { - return m_vc_state.first; - } - inline int get_outvc() - { - return m_output_vc; - } - inline bool isReady() - { - return m_input_buffer->isReady(); - } - inline bool has_credits() - { - return (m_credit_count > 0); - } - inline int get_route() - { - return route; - } - inline void update_credit(int credit) - { - m_credit_count = credit; - } - inline void increment_credit() - { - m_credit_count++; - } - inline void insertFlit(flit_d *t_flit) - { - m_input_buffer->insert(t_flit); - } - inline void set_state(VC_state_type m_state) - { - m_vc_state.first = m_state; - m_vc_state.second = g_eventQueue_ptr->getTime() + 1; - } + inline void + insertFlit(flit_d *t_flit) + { + m_input_buffer->insert(t_flit); + } - inline flit_d* peekTopFlit() - { - return m_input_buffer->peekTopFlit(); - } + inline void + set_state(VC_state_type m_state) + { + m_vc_state.first = m_state; + m_vc_state.second = g_eventQueue_ptr->getTime() + 1; + } - inline flit_d* getTopFlit() - { - return m_input_buffer->getTopFlit(); - } + inline flit_d* + peekTopFlit() + { + return m_input_buffer->peekTopFlit(); + } -private: - int m_id; - flitBuffer_d *m_input_buffer; - std::pair<VC_state_type, Time> m_vc_state; // I/R/V/A/C - int route; - Time m_enqueue_time; - int m_output_vc; - int m_credit_count; + inline flit_d* + getTopFlit() + { + return m_input_buffer->getTopFlit(); + } + + private: + int m_id; + flitBuffer_d *m_input_buffer; + std::pair<VC_state_type, Time> m_vc_state; // I/R/V/A/C + int route; + Time m_enqueue_time; + int m_output_vc; + int m_credit_count; }; -#endif + +#endif // __MEM_RUBY_NETWORK_GARNET_FIXED_PIPELINE_VIRTUAL_CHANNEL_D_HH__ |