Skip to content

Class simtix::BaseLoadStoreUnit

ClassList > simtix > BaseLoadStoreUnit

Inherits the following classes: simtix::BaseFunctionUnit

Inherited by the following classes: simtix::AtomicLoadStoreUnit, simtix::CoalescingLoadStoreUnit

Public Types

Type Name
typedef mem::MemoryInterface::OnResp OnResp
typedef mem::MemoryInterface::Payload Payload
typedef mem::MemoryInterface::RespStatus RespStatus

Public Functions

Type Name
virtual void AttachDMem (mem::MemoryInterface * dmem_port)
BaseLoadStoreUnit (const std::string & name, const ArchParam & p=kDefaultArchParam)
virtual void PushReadRequest (uint32_t tid, Payload payload, OnResp on_resp) = 0
virtual void PushWriteRequest (uint32_t tid, Payload payload, OnResp on_resp) = 0

Public Functions inherited from simtix::BaseFunctionUnit

See simtix::BaseFunctionUnit

Type Name
virtual bool Busy () = 0
virtual std::optional< InstrPtr > Get () = 0
virtual bool Put (InstrPtr instr) = 0
virtual ~BaseFunctionUnit () = default

Protected Attributes

Type Name
mem::MemoryInterface * dmem_port_ = nullptr

Public Types Documentation

typedef OnResp

using simtix::BaseLoadStoreUnit::OnResp =  mem::MemoryInterface::OnResp;

typedef Payload

using simtix::BaseLoadStoreUnit::Payload =  mem::MemoryInterface::Payload;

typedef RespStatus

using simtix::BaseLoadStoreUnit::RespStatus =  mem::MemoryInterface::RespStatus;

Public Functions Documentation

function AttachDMem

inline virtual void simtix::BaseLoadStoreUnit::AttachDMem (
    mem::MemoryInterface * dmem_port
) 

function BaseLoadStoreUnit

inline explicit simtix::BaseLoadStoreUnit::BaseLoadStoreUnit (
    const std::string & name,
    const ArchParam & p=kDefaultArchParam
) 

function PushReadRequest

virtual void simtix::BaseLoadStoreUnit::PushReadRequest (
    uint32_t tid,
    Payload payload,
    OnResp on_resp
) = 0

function PushWriteRequest

virtual void simtix::BaseLoadStoreUnit::PushWriteRequest (
    uint32_t tid,
    Payload payload,
    OnResp on_resp
) = 0

Protected Attributes Documentation

variable dmem_port_

mem::MemoryInterface* simtix::BaseLoadStoreUnit::dmem_port_;


The documentation for this class was generated from the following file projects/simtix/src/simtix/sm/fu/lsu/base.h