34#ifndef TTA_SIMPLE_OPERATION_EXECUTOR_HH
35#define TTA_SIMPLE_OPERATION_EXECUTOR_HH
93 typedef std::vector<BufferCell>
Buffer;
find Finds info of the inner loops in the false
#define EXECUTOR_MAX_OPERAND_COUNT
Maximum count of operation operands supported by the executors. This is used to allocate some static ...
virtual ~SimpleOperationExecutor()
virtual OperationExecutor * copy()
virtual void setContext(OperationContext &context)
int nextSlot_
Position of the ring buffer where to put the next triggered operation.
virtual void advanceClock()
std::size_t pendingOperations_
Count of pending operations in the pipeline.
virtual void startOperation(Operation &op)
std::vector< BufferCell > Buffer
Ring buffer type for the pipeline slots.
Buffer buffer_
Ring buffer for the pipeline slots.
virtual int latency() const
SimpleOperationExecutor & operator=(const SimpleOperationExecutor &)
Assignment not allowed.
OperationContext * context_
Operation context.
SimValue ioOrig_[EXECUTOR_MAX_OPERAND_COUNT]
Original inputs and outputs of the operation.
bool ready_
Flag telling whether results are ready or not.
SimValue * io_[EXECUTOR_MAX_OPERAND_COUNT]
Inputs and outputs for the operation.
Operation * boundOperation_
Tells the operation for which the bindings are initialized in this "pipeline cell",...
Operation * operation_
Operation to be executed, set to NULL when results have been moved to output ports.