OpenASIP
2.0
|
#include <AssignmentQueue.hh>
Public Member Functions | |
AssignmentQueue (int maxLatency) | |
~AssignmentQueue () | |
void | addAssignment (const SimValue &assignValue, SimValue *assignTarget, int latency) |
void | advanceClock () |
Private Types | |
typedef std::pair< SimValue, SimValue * > | Assignment |
Type for the assignment: source value -> destination pointer. More... | |
typedef std::deque< std::deque< Assignment > > | Assignments |
Type for the stored assignments. More... | |
Private Member Functions | |
AssignmentQueue (const AssignmentQueue &) | |
Copying not allowed. More... | |
AssignmentQueue & | operator= (const AssignmentQueue &) |
Assignment not allowed. More... | |
Private Attributes | |
Assignments | assignmentQueue_ |
Our assignment queue. More... | |
int | position_ |
Position in the ring buffer. More... | |
int | maxLatency_ |
Maximum possible latency. More... | |
This class is used for delayed assignments of SimValues to given targets.
The implementation uses std::vector for a simple ring buffer Buffer size is directly the maximum possible latency
Definition at line 48 of file AssignmentQueue.hh.
|
private |
Type for the assignment: source value -> destination pointer.
Definition at line 66 of file AssignmentQueue.hh.
|
private |
Type for the stored assignments.
Definition at line 69 of file AssignmentQueue.hh.
AssignmentQueue::AssignmentQueue | ( | int | maxLatency | ) |
The constructor
Definition at line 40 of file AssignmentQueue.cc.
References assignmentQueue_, and maxLatency_.
AssignmentQueue::~AssignmentQueue | ( | ) |
|
private |
Copying not allowed.
|
inline |
|
inline |
|
private |
Assignment not allowed.
|
private |
Our assignment queue.
Definition at line 72 of file AssignmentQueue.hh.
Referenced by AssignmentQueue().
|
private |
Maximum possible latency.
Definition at line 78 of file AssignmentQueue.hh.
Referenced by AssignmentQueue().
|
private |
Position in the ring buffer.
Definition at line 75 of file AssignmentQueue.hh.