41 typedef uint64_t FlushingCriteria;
42 static constexpr char name[] =
"flushmanager";
60 out_retire_flush_(
getPortSet(),
"out_retire_flush", false),
61 in_retire_flush_(
getPortSet(),
"in_retire_flush", 0),
62 out_fetch_flush_redirect_(
getPortSet(),
"out_fetch_flush_redirect", false),
63 in_fetch_flush_redirect_(
getPortSet(),
"in_fetch_flush_redirect", 0)
70 in_fetch_flush_redirect_.
72 forwardFetchRedirectFlush_,
80 sparta::DataInPort <FlushingCriteria> in_retire_flush_;
84 sparta::DataInPort <uint64_t> in_fetch_flush_redirect_;
88 void forwardRetireFlush_(
const FlushingCriteria & flush_data) {
89 out_retire_flush_.
send(flush_data);
93 void forwardFetchRedirectFlush_(
const uint64_t & flush_data) {
94 out_fetch_flush_redirect_.
send(flush_data);
File that defines Data[In,Out]Port<DataT>
#define CREATE_SPARTA_HANDLER_WITH_DATA(clname, meth, dataT)
File that defines the Unit class, a common grouping of sets and loggers.
Class used by performance models for signaling a flushing event across blocks.
FlushManager(sparta::TreeNode *rc, const FlushManagerParameters *params)
Create a FlushManager in the tree.
DataOutPort is used for transferring any data to another module.
void send(const DataT &dat, sparta::Clock::Cycle rel_time=0)
Send data to bound receivers.
Generic container of Parameters.
Node in a composite tree representing a sparta Tree item.
The is the base class for user defined blocks in simulation.
Unit(TreeNode *rc, const std::string &name)
Construct unit with a ResouceContainer.
PortSet * getPortSet()
Return the port set.