12#include "sparta/log/MessageSource.hpp"
14#include "CoreTypes.hpp"
15#include "FlushManager.hpp"
38 PARAMETER(uint32_t, num_to_retire, 4,
"Number of instructions to retire")
39 PARAMETER(uint32_t, retire_queue_depth, 30,
"Depth of the retire queue")
40 PARAMETER(uint32_t, num_insts_to_retire, 0,
41 "Number of instructions to retire after which simulation will be "
42 "terminated. 0 means simulation will run until end of testcase")
70 sparta::Clock::Cycle last_retirement_ = 0;
71 const sparta::Clock::Cycle retire_timeout_interval_ = 100000;
73 const uint32_t num_to_retire_;
74 const uint32_t num_insts_to_retire_;
101 void sendInitialCredits_();
103 void robAppended_(
const InstGroup &);
104 void retireInstructions_();
105 void checkForwardProgress_();
106 void handleFlush_(
const FlushManager::FlushingCriteria & criteria);
File that defines Data[In,Out]Port<DataT>
A set of sparta::Parameters per sparta::ResourceTreeNode.
#define PARAMETER(type, name, def, doc)
Parameter declaration.
#define CREATE_SPARTA_HANDLER(clname, meth)
Basic Node framework in sparta device tree composite pattern.
File that defines the UniqueEvent class.
File that defines the Unit class, a common grouping of sets and loggers.
Parameters for ROB model.
static const char name[]
Name of this resource. Required by sparta::UnitFactory.
Represents a counter of type counter_type (uint64_t). 2 and greater than 0 with a ceiling specified....
DataInPort receives data from sender using a DataOutPort.
DataOutPort is used for transferring any data to another module.
Event is a simple class for scheduling random events on the Scheduler.
Generic container of Parameters.
Contains a statistic definition (some useful information which can be computed)
Node in a composite tree representing a sparta Tree item.
A type of Event that uniquely schedules itself on the schedule within a single time quantum....
The is the base class for user defined blocks in simulation.
sparta::EventSet unit_event_set_
The Unit's event set.
sparta::PortSet unit_port_set_
The Unit's Ports.
@ Flush
Phase where flushing of pipelines, etc can occur.