The Sparta Modeling Framework
|
Class used by performance models for signaling a flushing event across blocks. More...
#include <FlushManager.hpp>
Classes | |
class | FlushManagerParameters |
Public Types | |
typedef uint64_t | FlushingCriteria |
Public Member Functions | |
FlushManager (sparta::TreeNode *rc, const FlushManagerParameters *params) | |
Create a FlushManager in the tree. | |
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 |
Static Public Attributes | |
static constexpr char | name [] = "flushmanager" |
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. | |
Class used by performance models for signaling a flushing event across blocks.
The usage is pretty simple. Create a FlushManager within the topology and have individual units bind their DataInPorts to the appropriate flush ports (based on type [reflected in the name]).
When a Flush is instigated on the Tick phase, on the phase sparta::SchedulingPhase::Flush the signal will be delivered to the unit (+1 cycle or more later). The unit will be given a criteria for flushing that it can use to determine what components it needs to remove from its internal data structures.
Definition at line 38 of file FlushManager.hpp.
typedef uint64_t core_example::FlushManager::FlushingCriteria |
Definition at line 41 of file FlushManager.hpp.
|
inline |
Create a FlushManager in the tree.
rc | The parent resource tree node |
params | Pointer to the flush manager parameters |
Definition at line 58 of file FlushManager.hpp.
|
staticconstexpr |
Definition at line 42 of file FlushManager.hpp.