SlotTable Class Reference
#include <slot.h>

Public Member Functions | |
| SlotTable (uint sz) | |
| ~SlotTable () | |
| TTime | getStartTime () const |
| void | setStartTime (const TTime t) |
| TTime | getEndTime () const |
| void | setEndTime (const TTime t) |
| uint | getNrSlots () const |
| uint | getNrFreeSlots () const |
| bool | isSlotFree (const uint i) const |
| NoCSchedulingEntitiesIter | begin () |
| NoCSchedulingEntitiesCIter | begin () const |
| NoCSchedulingEntitiesIter | end () |
| NoCSchedulingEntitiesCIter | end () const |
| NoCSchedulingEntity * | operator[] (const uint i) |
| void | setUsedSlots (SlotReservations &s) |
| void | reserveSlots (NoCSchedulingEntity *e, SlotReservations &s) |
| void | releaseSlots (NoCSchedulingEntity *e) |
| SlotReservations | getSlotReservations (NoCSchedulingEntity *e) const |
| SlotReservations | getUsedSlotsOfSchedule () const |
Private Attributes | |
| TTime | startTime |
| TTime | endTime |
| uint | nrFreeSlots |
| uint | nrSlots |
| SlotReservations | tableReservations |
| NoCSchedulingEntities | tableEntities |
Detailed Description
SlotTable The slot table...
Constructor & Destructor Documentation
| SlotTable::SlotTable | ( | uint | sz | ) |
SlotTable () Constructor.
References nrFreeSlots, nrSlots, tableEntities, and tableReservations.
| SlotTable::~SlotTable | ( | ) |
~SlotTable () Destructor.
Member Function Documentation
| NoCSchedulingEntitiesIter SlotTable::begin | ( | ) | [inline] |
References tableEntities.
Referenced by NoCScheduler::findFreeSlotsOnFirstLinkRoute(), Link::print(), and releaseSlots().
| NoCSchedulingEntitiesCIter SlotTable::begin | ( | ) | const [inline] |
References tableEntities.
| NoCSchedulingEntitiesIter SlotTable::end | ( | ) | [inline] |
References tableEntities.
Referenced by NoCScheduler::findFreeSlotsOnFirstLinkRoute(), Link::print(), and releaseSlots().
| NoCSchedulingEntitiesCIter SlotTable::end | ( | ) | const [inline] |
References tableEntities.
| TTime SlotTable::getEndTime | ( | ) | const [inline] |
References endTime.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), NoCScheduler::findFreeSlotsOnLink(), NoCScheduler::minFreeSlotsOnLink(), SlotTableSeq::nrFreeSlots(), Link::print(), SlotTableSeq::releaseSlots(), SlotTableSeq::reserveSlots(), reserveSlots(), SlotTableSeq::setUsedSlots(), NoCScheduler::sortRoutesOnCost(), and ClassicNoCScheduler::sortRoutesOnCostUsingClassic().
| uint SlotTable::getNrFreeSlots | ( | ) | const [inline] |
References nrFreeSlots.
Referenced by NoCScheduler::minFreeSlotsOnLink(), NoCScheduler::sortRoutesOnCost(), and ClassicNoCScheduler::sortRoutesOnCostUsingClassic().
| uint SlotTable::getNrSlots | ( | ) | const [inline] |
References nrSlots.
Referenced by getSlotReservations(), getUsedSlotsOfSchedule(), reserveSlots(), and setUsedSlots().
| SlotReservations SlotTable::getSlotReservations | ( | NoCSchedulingEntity * | e | ) | const |
getSlotReservations () The function returns a vector containing booleans which mark wether a slot is used (true) or not-used (false) by the given scheduling entity. The empty (non-allocated slots) are found by looking at the slot reservations of the NULL element.
References getNrSlots(), tableEntities, and tableReservations.
Referenced by SDFconvertToHTML::convertInterconnectUsage(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), and NoCScheduler::findFreeSlotsOnLink().

| TTime SlotTable::getStartTime | ( | ) | const [inline] |
References startTime.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), NoCScheduler::findFreeSlotsOnLink(), NoCScheduler::minFreeSlotsOnLink(), Link::print(), SlotTableSeq::releaseSlots(), SlotTableSeq::reserveSlots(), reserveSlots(), SlotTableSeq::setUsedSlots(), NoCScheduler::sortRoutesOnCost(), and ClassicNoCScheduler::sortRoutesOnCostUsingClassic().
| SlotReservations SlotTable::getUsedSlotsOfSchedule | ( | ) | const |
getUsedSlotsOfSchedule () The function returns a vector which indicates which slots are used for the current scheduling problem. This excludes reservations of slots which are used for other schedules.
References getNrSlots(), and tableEntities.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), and Link::getUsedSlotsInSchedule().

| bool SlotTable::isSlotFree | ( | const uint | i | ) | const |
| NoCSchedulingEntity* SlotTable::operator[] | ( | const uint | i | ) | [inline] |
References tableEntities.
| void SlotTable::releaseSlots | ( | NoCSchedulingEntity * | e | ) |
releaseSlots () Release the claim on a slot in the slot table.
References begin(), end(), nrFreeSlots, tableEntities, and tableReservations.
Referenced by SlotTableSeq::releaseSlots().

| void SlotTable::reserveSlots | ( | NoCSchedulingEntity * | e, | |
| SlotReservations & | s | |||
| ) |
reserveSlots () Reserve a slot in the slot table for a given scheduling entity.
References getEndTime(), NoCSchedulingEntity::getMessage(), getNrSlots(), getStartTime(), nrFreeSlots, NoCSchedulingEntity::print(), Message::print(), tableEntities, and tableReservations.
Referenced by SlotTableSeq::reserveSlots().

| void SlotTable::setEndTime | ( | const TTime | t | ) | [inline] |
References endTime.
Referenced by SlotTableSeq::reserveSlots(), SlotTableSeq::setUsedSlots(), and SlotTableSeq::SlotTableSeq().
| void SlotTable::setStartTime | ( | const TTime | t | ) | [inline] |
References startTime.
Referenced by SlotTableSeq::reserveSlots(), SlotTableSeq::setUsedSlots(), and SlotTableSeq::SlotTableSeq().
| void SlotTable::setUsedSlots | ( | SlotReservations & | s | ) |
setUsedSlots () The function marks the slots specified in s as occupied between the given start and end time by another schedule.
References getNrSlots(), nrFreeSlots, and tableReservations.
Referenced by SlotTableSeq::setUsedSlots().

Member Data Documentation
TTime SlotTable::endTime [private] |
Referenced by getEndTime(), and setEndTime().
uint SlotTable::nrFreeSlots [private] |
Referenced by getNrFreeSlots(), releaseSlots(), reserveSlots(), setUsedSlots(), and SlotTable().
uint SlotTable::nrSlots [private] |
Referenced by getNrSlots(), and SlotTable().
TTime SlotTable::startTime [private] |
Referenced by getStartTime(), and setStartTime().
Referenced by begin(), end(), getSlotReservations(), getUsedSlotsOfSchedule(), operator[](), releaseSlots(), reserveSlots(), and SlotTable().
SlotReservations SlotTable::tableReservations [private] |
Referenced by getSlotReservations(), isSlotFree(), releaseSlots(), reserveSlots(), setUsedSlots(), and SlotTable().
The documentation for this class was generated from the following files:

