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: