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:



