|
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.
| 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.