32#ifndef __MEM_RUBY_STRUCTURES_WIREBUFFER_HH__
33#define __MEM_RUBY_STRUCTURES_WIREBUFFER_HH__
41#include "params/RubyWireBuffer.hh"
84 bool ruby_is_random =
false,
bool ruby_warmup =
false);
92 void print(std::ostream& out)
const;
virtual std::string name() const
Abstract superclass for simulation objects.
std::string getDescription()
WireBuffer(const WireBuffer &obj)
void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
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
WireBuffer & operator=(const WireBuffer &obj)
bool areNSlotsAvailable(int n, Tick current_time)
void dequeue(Tick current_time)
RubyWireBufferParams Params
bool isReady(Tick current_time)
void enqueue(MsgPtr message, Tick current_time, Tick delta, bool ruby_is_random=false, bool ruby_warmup=false)
std::shared_ptr< Message > MsgPtr
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Tick
Tick count type.
std::ostream & operator<<(std::ostream &os, const BaseSemihosting::InPlaceArg &ipa)