Link Class Reference
#include <link.h>
Public Member Functions | |
Link (CString name, CId id, Node *src, Node *dst, uint slotTableSize, TTime slotTablePeriod) | |
~Link () | |
CId | getId () const |
CString | getName () const |
Node * | getSrcNode () const |
Node * | getDstNode () const |
SlotTablesIter | slotTableSeqBegin () |
SlotTablesCIter | slotTableSeqBegin () const |
SlotTablesIter | slotTableSeqEnd () |
SlotTablesCIter | slotTableSeqEnd () const |
SlotTableSeq * | getSlotTableSeq () const |
SlotReservations | getUsedSlotsInSchedule () |
void | setUsedSlots (SlotReservations &s, TTime startTime, TTime endTime) |
void | reserveSlots (NoCSchedulingEntity *e, SlotReservations &s, ulong seqNr) |
void | releaseSlots (NoCSchedulingEntity *e, ulong seqNr) |
ostream & | print (ostream &out) const |
Public Attributes | |
vector< uint > | preferredSlots |
Private Attributes | |
CString | name |
CId | id |
Node * | srcNode |
Node * | dstNode |
SlotTableSeq * | slotTableSeq |
Detailed Description
Link A physical connection between two nodes
Constructor & Destructor Documentation
Link::Link | ( | CString | name, | |
CId | id, | |||
Node * | src, | |||
Node * | dst, | |||
uint | slotTableSize, | |||
TTime | slotTablePeriod | |||
) |
Link Constructor.
References preferredSlots, and slotTableSeq.
Link::~Link | ( | ) |
Link Destructor.
References slotTableSeq.
Member Function Documentation
Node* Link::getDstNode | ( | ) | const [inline] |
CId Link::getId | ( | ) | const [inline] |
CString Link::getName | ( | ) | const [inline] |
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), SDFconvertToHTML::convertInterconnectGraph(), SDFconvertToHTML::convertInterconnectMapping(), SDFconvertToHTML::convertInterconnectUsage(), InterconnectGraph::createInterconnectGraphNode(), SetOfNoCScheduleProblems::createNetworkMappingNode(), SetOfNoCScheduleProblems::createNetworkUsageNode(), SDFconvertToHTML::outputInterconnectGraphAsDot(), and print().
SlotTableSeq* Link::getSlotTableSeq | ( | ) | const [inline] |
References slotTableSeq.
Node* Link::getSrcNode | ( | ) | const [inline] |
References srcNode.
Referenced by Route::containsNode(), InterconnectGraph::createInterconnectGraphNode(), SDFconvertToHTML::outputInterconnectGraphAsDot(), and print().
SlotReservations Link::getUsedSlotsInSchedule | ( | ) |
getUsedSlotsInSchedule () The function returns a table of slot reservations for the link. A slot is considered to be reserved if it is at some point in time used for the problem that is scheduled on the link.
References SlotTableSeq::getSlotTableSize(), SlotTable::getUsedSlotsOfSchedule(), SlotTableSeq::seqBegin(), SlotTableSeq::seqEnd(), and slotTableSeq.
Referenced by SDFconvertToHTML::convertInterconnectMapping().
ostream & Link::print | ( | ostream & | out | ) | const |
print () Output all slot tables of a link
References SlotTable::begin(), SlotTable::end(), getDstNode(), SlotTable::getEndTime(), Message::getId(), NoCSchedulingEntity::getMessage(), Node::getName(), getName(), SlotTableSeq::getSlotTablePeriod(), getSrcNode(), SlotTable::getStartTime(), SlotTable::isSlotFree(), slotTableSeq, slotTableSeqBegin(), and slotTableSeqEnd().
Referenced by NoCScheduler::print().
void Link::releaseSlots | ( | NoCSchedulingEntity * | e, | |
ulong | seqNr | |||
) | [inline] |
Referenced by NoCScheduler::releaseResources().
void Link::reserveSlots | ( | NoCSchedulingEntity * | e, | |
SlotReservations & | s, | |||
ulong | seqNr | |||
) | [inline] |
References SlotTableSeq::reserveSlots(), and slotTableSeq.
Referenced by NoCScheduler::reserveResources().
void Link::setUsedSlots | ( | SlotReservations & | s, | |
TTime | startTime, | |||
TTime | endTime | |||
) |
setUsedSlots () The function marks the slots specified in s as occupied between the given start and end time by another schedule.
References SlotTableSeq::setUsedSlots(), and slotTableSeq.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), and InterconnectGraph::setUsage().
SlotTablesIter Link::slotTableSeqBegin | ( | ) | [inline] |
References SlotTableSeq::seqBegin(), and slotTableSeq.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), SDFconvertToHTML::convertInterconnectUsage(), SetOfNoCScheduleProblems::createNetworkUsageNode(), NoCScheduler::findFreeSlotsForStream(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), NoCScheduler::findFreeSlotsOnLink(), NoCScheduler::findSlotsAllocatedForStream(), NoCScheduler::minFreeSlotsOnLink(), print(), NoCScheduler::sortRoutesOnCost(), ClassicNoCScheduler::sortRoutesOnCostUsingClassic(), and NoCMapping::updateBandwidthAllocations().
SlotTablesCIter Link::slotTableSeqBegin | ( | ) | const [inline] |
SlotTablesIter Link::slotTableSeqEnd | ( | ) | [inline] |
References SlotTableSeq::seqEnd(), and slotTableSeq.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), SDFconvertToHTML::convertInterconnectUsage(), SetOfNoCScheduleProblems::createNetworkUsageNode(), NoCScheduler::findFreeSlotsForStream(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), NoCScheduler::findFreeSlotsOnLink(), NoCScheduler::findSlotsAllocatedForStream(), NoCScheduler::minFreeSlotsOnLink(), print(), NoCScheduler::sortRoutesOnCost(), ClassicNoCScheduler::sortRoutesOnCostUsingClassic(), and NoCMapping::updateBandwidthAllocations().
SlotTablesCIter Link::slotTableSeqEnd | ( | ) | const [inline] |
Member Data Documentation
Node* Link::dstNode [private] |
Referenced by getDstNode().
CString Link::name [private] |
vector<uint> Link::preferredSlots |
SlotTableSeq* Link::slotTableSeq [private] |
Referenced by getSlotTableSeq(), getUsedSlotsInSchedule(), Link(), print(), reserveSlots(), setUsedSlots(), slotTableSeqBegin(), slotTableSeqEnd(), and ~Link().
Node* Link::srcNode [private] |
Referenced by getSrcNode().
The documentation for this class was generated from the following files: