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.
 
PortSet * getPortSet ()
 Return the port set.
 
EventSet * getEventSet ()
 Return the event set.
 
StatisticSet * getStatisticSet ()
 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 Clock * getClock () const
 
Scheduler * getScheduler (const bool must_exist=true) const
 
std::string getName () const
 
TreeNode * getContainer ()
 Gets the TreeNode (container) for this resource (if any)
 
const TreeNode * getContainer () const
 Gets the TreeNode (container) for this resource (if any)
 
ResourceContainer * getResourceContainer ()
 Gets the ResourceContainer for this resource (if any)
 
const ResourceContainer * getResourceContainer () 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.
 
Resource & operator= (const Resource &)=delete
 

Public Attributes

sparta::SpartaSharedPointerAllocator< MemoryAccessInfo > memory_access_allocator
 
sparta::SpartaSharedPointerAllocator< LoadStoreInstInfo > load_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: