The Sparta Modeling Framework
Loading...
Searching...
No Matches
core_example::LSU Class Reference
Inheritance diagram for core_example::LSU:
Collaboration diagram for core_example::LSU:

Classes

class  LoadStoreInstInfo
 
class  LoadStoreInstInfoPairDef
 Pair Definition class of the load store instruction that flows through the example/CoreModel. More...
 
class  LSUParameterSet
 Parameters for LSU model. More...
 
class  MemoryAccessInfo
 
class  MemoryAccessInfoPairDef
 Pair Definition class of the Memory Access Information that flows through the example/CoreModel. More...
 

Public Types

enum class  PipelineStage { MMU_LOOKUP = 0 , CACHE_LOOKUP = 1 , COMPLETE = 2 , NUM_STAGES }
 
using LoadStoreInstInfoPtr = sparta::SpartaSharedPointer< LoadStoreInstInfo >
 
using MemoryAccessInfoPtr = sparta::SpartaSharedPointer< MemoryAccessInfo >
 
using FlushCriteria = FlushManager::FlushingCriteria
 

Public Member Functions

 LSU (sparta::TreeNode *node, const LSUParameterSet *p)
 Constructor for LSU.
 
void setTLB (SimpleTLB &tlb)
 
- Public Member Functions inherited from sparta::Unit
 Unit (TreeNode *rc, const std::string &name)
 Construct unit with a ResouceContainer.
 
 Unit (TreeNode *rc)
 Construct unit with a ResouceContainer.
 
virtual ~Unit ()
 Destroy!
 
void setAutoPrecedence (bool auto_p)
 Turn off auto-precedence.
 
PortSetgetPortSet ()
 Return the port set.
 
EventSetgetEventSet ()
 Return the event set.
 
StatisticSetgetStatisticSet ()
 Return the stat set.
 
- Public Member Functions inherited from sparta::Resource
 Resource (TreeNode *rc)
 Construct resource with a resource container.
 
 Resource (TreeNode *rc, const std::string &name)
 Construct resource with a specific name and resource container.
 
 Resource (const std::string &name, const Clock *clk)
 Construct a Resource with the given name and clock having NO association with a resource container. This constructor is reserved for free-standing resources owned by other resources (not containers [TreeNodes])
 
virtual ~Resource ()
 Destroy!
 
const ClockgetClock () const
 
SchedulergetScheduler (const bool must_exist=true) const
 
std::string getName () const
 
TreeNodegetContainer ()
 Gets the TreeNode (container) for this resource (if any)
 
const TreeNodegetContainer () const
 Gets the TreeNode (container) for this resource (if any)
 
ResourceContainergetResourceContainer ()
 Gets the ResourceContainer for this resource (if any)
 
const ResourceContainergetResourceContainer () const
 Gets the ResourceContainer for this resource (if any)
 
virtual void addLink (TreeNode *node, const std::string &label)
 
virtual void activateLink (const std::string &label)
 
 Resource (const Resource &)=delete
 Disallow copying.
 
Resourceoperator= (const Resource &)=delete
 

Public Attributes

sparta::SpartaSharedPointerAllocator< MemoryAccessInfomemory_access_allocator
 
sparta::SpartaSharedPointerAllocator< LoadStoreInstInfoload_store_info_allocator
 

Static Public Attributes

static const char name [] = "lsu"
 name of this resource.
 
- Static Public Attributes inherited from sparta::Unit
static constexpr const char * INFO_LOG = "info"
 
static constexpr const char * WARN_LOG = log::categories::WARN_STR
 
static constexpr const char * DEBUG_LOG = log::categories::DEBUG_STR
 

Additional Inherited Members

- Protected Member Functions inherited from sparta::Unit
virtual void onBindTreeEarly_ () override
 
virtual void onBindTreeLate_ () override
 Dump a dot.
 
- Protected Attributes inherited from sparta::Unit
sparta::PortSet unit_port_set_
 The Unit's Ports.
 
sparta::EventSet unit_event_set_
 The Unit's event set.
 
sparta::StatisticSet unit_stat_set_
 The Unit's statistic set.
 
log::MessageSource info_logger_
 Default info logger.
 
log::MessageSource warn_logger_
 Default warn logger.
 
log::MessageSource debug_logger_
 Default debug logger.
 

Detailed Description

Definition at line 30 of file LSU.hpp.

Member Typedef Documentation

◆ FlushCriteria

using core_example::LSU::FlushCriteria = FlushManager::FlushingCriteria

Definition at line 96 of file LSU.hpp.

◆ LoadStoreInstInfoPtr

◆ MemoryAccessInfoPtr

Member Enumeration Documentation

◆ PipelineStage

enum class core_example::LSU::PipelineStage
strong

Definition at line 98 of file LSU.hpp.

Constructor & Destructor Documentation

◆ LSU()

core_example::LSU::LSU ( sparta::TreeNode node,
const LSUParameterSet p 
)

Constructor for LSU.

Note
node parameter is the node that represent the LSU and p is the LSU parameter set

Definition at line 13 of file LSU.cpp.

Here is the call graph for this function:

◆ ~LSU()

core_example::LSU::~LSU ( )
inline

Definition at line 69 of file LSU.hpp.

Member Function Documentation

◆ setTLB()

void core_example::LSU::setTLB ( SimpleTLB tlb)
inline

Definition at line 335 of file LSU.hpp.

Member Data Documentation

◆ load_store_info_allocator

sparta::SpartaSharedPointerAllocator<LoadStoreInstInfo> core_example::LSU::load_store_info_allocator

Definition at line 313 of file LSU.hpp.

◆ memory_access_allocator

sparta::SpartaSharedPointerAllocator<MemoryAccessInfo> core_example::LSU::memory_access_allocator

Definition at line 196 of file LSU.hpp.

◆ name

const char core_example::LSU::name = "lsu"
static

name of this resource.

Definition at line 83 of file LSU.hpp.


The documentation for this class was generated from the following files: