InterconnectGraph Class Reference
#include <interconnect_graph.h>

Detailed Description
InterconnectGraph Interconnect graph.
Constructor & Destructor Documentation
| InterconnectGraph::InterconnectGraph | ( | uint | slotTableSize, | |
| TTime | slotTablePeriod, | |||
| uint | packetHeaderSize, | |||
| uint | flitSize, | |||
| TTime | reconfigurationTimeNI | |||
| ) |
InterconnectGraph () Constructor.
InterconnectGraph () Constructor.
References CGetAttribute(), CGetChildNode(), CNextNode(), createLink(), createNode(), flitSize, getNode(), packetHeaderSize, reconfigurationTimeNI, Node::setType(), and slotTableSize.

| InterconnectGraph::~InterconnectGraph | ( | ) |
~InterconnectGraph () Destructor.
References linksBegin(), linksEnd(), nodesBegin(), and nodesEnd().

Member Function Documentation
| CNode * InterconnectGraph::createInterconnectGraphNode | ( | ) |
createInterconnectGraphNode () The function returns a description of the interconnect graph in XML format.
References CAddAttribute(), CAddNode(), CNewNode(), Link::getDstNode(), getFlitSize(), Link::getName(), Node::getName(), getPacketHeaderSize(), getReconfigurationTimeNI(), getSlotTableSize(), Link::getSrcNode(), Node::getType(), linksBegin(), linksEnd(), nodesBegin(), and nodesEnd().
Referenced by NoCMapping::createNetworkNode().

createLink () Create a new link and add it to the graph.
References Node::addIncomingLink(), Node::addOutgoingLink(), getLink(), getSlotTablePeriod(), getSlotTableSize(), links, and nrLinks().
Referenced by InterconnectGraph().

createNode () Create a new node and add it to the graph.
References getNode(), nodes, and nrNodes().
Referenced by InterconnectGraph().

| uint InterconnectGraph::getFlitSize | ( | ) | const [inline] |
getLink () The function returns a pointer to the linl with the supplied id, or NULL if no such link exists.
References linksBegin(), and linksEnd().
Referenced by NoCScheduler::assignSchedulingEntities(), NoCScheduleProblem::constrainOtherSchedulingProblem(), SDFconvertToHTML::convertInterconnectUsage(), createLink(), NoCScheduleProblem::markPreferedSlots(), and setUsage().

getLink () The function returns a pointer to the linl with the supplied name, or NULL if no such link exists.
References linksBegin(), and linksEnd().

getNode () The function returns a pointer to the node with the supplied id, or NULL if no such node exists.
References nodesBegin(), and nodesEnd().
Referenced by NoCScheduleProblem::constructMessages(), createNode(), NoCScheduler::findScheduleEntityForMessage(), ClassicNoCScheduler::findScheduleEntityForMessageUsingClassic(), KnowledgeNoCScheduler::findScheduleEntityForMessageUsingKnowledge(), RandomNoCScheduler::findScheduleEntityForMessageUsingRandom(), InterconnectGraph(), NoCScheduler::ripupScheduleEntity(), KnowledgeNoCScheduler::setRequirementsMessage(), and NoCMapping::updateBandwidthAllocations().

getNode () The function returns a pointer to the node with the supplied name, or NULL if no such node exists.
References nodesBegin(), and nodesEnd().

| Nodes InterconnectGraph::getNodes | ( | ) | const [inline] |
References nodes.
Referenced by NoCScheduler::getLengthShortestPathBetweenNodes().
| uint InterconnectGraph::getPacketHeaderSize | ( | ) | const [inline] |
| TTime InterconnectGraph::getReconfigurationTimeNI | ( | ) | const [inline] |
| TTime InterconnectGraph::getSlotTablePeriod | ( | ) | const [inline] |
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), KnowledgeNoCScheduler::costLinkForMessage(), createLink(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), NoCScheduler::findFreeSlotsOnLink(), RandomNoCScheduler::findScheduleEntityForMessageUsingRandom(), NoCScheduler::minFreeSlotsOnLink(), KnowledgeNoCScheduler::setRequirementsMessage(), KnowledgeNoCScheduler::setRequirementsMessages(), NoCScheduler::severityConflict(), NoCScheduler::sortRoutesOnCost(), and ClassicNoCScheduler::sortRoutesOnCostUsingClassic().
| uint InterconnectGraph::getSlotTableSize | ( | ) | const [inline] |
Referenced by NoCScheduler::assignSchedulingEntities(), SDFconvertToHTML::convertInterconnectGraph(), SDFconvertToHTML::convertInterconnectMapping(), SDFconvertToHTML::convertInterconnectUsage(), createInterconnectGraphNode(), createLink(), SetOfNoCScheduleProblems::createNetworkUsageNode(), NoCScheduler::findFreePackets(), NoCScheduler::findFreeSlotsForStream(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), NoCScheduler::findFreeSlotsOnLink(), NoCScheduler::findFreeSlotsOnRoute(), NoCScheduler::findScheduleEntityForMessage(), KnowledgeNoCScheduler::findScheduleEntityForMessageUsingKnowledge(), RandomNoCScheduler::findScheduleEntityForMessageUsingRandom(), NoCScheduler::findSlotsAllocatedForStream(), NoCScheduler::findSlotsOnRoute(), ClassicNoCScheduler::findSlotsOnRouteUsingClassic(), NoCScheduler::lowerPreferenceLevelSlotsOnRoute(), NoCScheduleProblem::markPreferedSlots(), NoCScheduler::minFreeSlotsOnLink(), NoCScheduler::minimalDuration(), NoCScheduler::nrSlotsRequired(), NoCScheduler::raisePreferenceLevelSlotsOnRoute(), NoCScheduler::reserveResources(), setUsage(), NoCScheduler::severityConflict(), NoCScheduler::sortRoutesOnCost(), ClassicNoCScheduler::sortRoutesOnCostUsingClassic(), and NoCMapping::updateBandwidthAllocations().
| LinksIter InterconnectGraph::linksBegin | ( | ) | [inline] |
References links.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), SDFconvertToHTML::convertInterconnectGraph(), SDFconvertToHTML::convertInterconnectMapping(), SDFconvertToHTML::convertInterconnectUsage(), createInterconnectGraphNode(), SetOfNoCScheduleProblems::createNetworkUsageNode(), getLink(), NoCScheduleProblem::markPreferedSlots(), SDFconvertToHTML::outputInterconnectGraphAsDot(), and ~InterconnectGraph().
| LinksIter InterconnectGraph::linksEnd | ( | ) | [inline] |
References links.
Referenced by NoCScheduleProblem::constrainOtherSchedulingProblem(), SDFconvertToHTML::convertInterconnectGraph(), SDFconvertToHTML::convertInterconnectMapping(), SDFconvertToHTML::convertInterconnectUsage(), createInterconnectGraphNode(), SetOfNoCScheduleProblems::createNetworkUsageNode(), getLink(), NoCScheduleProblem::markPreferedSlots(), SDFconvertToHTML::outputInterconnectGraphAsDot(), NoCScheduler::print(), and ~InterconnectGraph().
| NodesIter InterconnectGraph::nodesBegin | ( | ) | [inline] |
References nodes.
Referenced by createInterconnectGraphNode(), getNode(), SDFconvertToHTML::outputInterconnectGraphAsDot(), and ~InterconnectGraph().
| NodesIter InterconnectGraph::nodesEnd | ( | ) | [inline] |
References nodes.
Referenced by createInterconnectGraphNode(), getNode(), SDFconvertToHTML::outputInterconnectGraphAsDot(), and ~InterconnectGraph().
| uint InterconnectGraph::nrLinks | ( | ) | const [inline] |
References links.
Referenced by createLink(), SetOfNoCScheduleProblems::createNetworkUsageNode(), KnowledgeNoCScheduler::knowledge(), and KnowledgeNoCScheduler::setRequirementsMessages().
| uint InterconnectGraph::nrNodes | ( | ) | const [inline] |
References nodes.
Referenced by createNode().
| void InterconnectGraph::setUsage | ( | const CNodePtr | usageNode | ) |
setUsageInterconnectGraph () Reserve resource in the interconnect graph.
References CGetAttribute(), CGetChildNode(), CNextNode(), getLink(), getSlotTableSize(), Link::setUsedSlots(), stringtok(), and TTIME_MAX.
Referenced by NoCScheduleProblem::NoCScheduleProblem().

Member Data Documentation
uint InterconnectGraph::flitSize [private] |
Referenced by InterconnectGraph().
Links InterconnectGraph::links [private] |
Referenced by createLink(), linksBegin(), linksEnd(), and nrLinks().
Nodes InterconnectGraph::nodes [private] |
Referenced by createNode(), getNodes(), nodesBegin(), nodesEnd(), and nrNodes().
uint InterconnectGraph::packetHeaderSize [private] |
Referenced by InterconnectGraph().
Referenced by InterconnectGraph().
TTime InterconnectGraph::slotTablePeriod [private] |
uint InterconnectGraph::slotTableSize [private] |
Referenced by InterconnectGraph().
The documentation for this class was generated from the following files:

