32 #ifndef __MEM_RUBY_STRUCTURES_WIREBUFFER_HH__
33 #define __MEM_RUBY_STRUCTURES_WIREBUFFER_HH__
41 #include "params/RubyWireBuffer.hh"
89 void print(std::ostream& out)
const;
virtual std::string name() const
Abstract superclass for simulation objects.
std::string getDescription()
WireBuffer(const Params &p)
void enqueue(MsgPtr message, Tick current_time, Tick delta)
WireBuffer(const WireBuffer &obj)
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
WireBuffer & operator=(const WireBuffer &obj)
void setDescription(const std::string &name)
void recycle(Tick current_time, Tick recycle_latency)
std::string m_description
void print(std::ostream &out) const
void setConsumer(Consumer *consumer_ptr)
std::vector< MsgPtr > m_message_queue
Consumer * m_consumer_ptr
bool areNSlotsAvailable(int n, Tick current_time)
void dequeue(Tick current_time)
RubyWireBufferParams Params
bool isReady(Tick current_time)
std::shared_ptr< Message > MsgPtr
std::ostream & operator<<(std::ostream &os, const BoolVec &myvector)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
uint64_t Tick
Tick count type.