InterconnectGraph Class Reference

#include <interconnect_graph.h>

Collaboration diagram for InterconnectGraph:

List of all members.

Public Member Functions

 InterconnectGraph (uint slotTableSize, TTime slotTablePeriod, uint packetHeaderSize, uint flitSize, TTime reconfigurationTimeNI)
 InterconnectGraph (const CNodePtr archNode, TTime slotTablePeriod)
 ~InterconnectGraph ()
NodesIter nodesBegin ()
NodesIter nodesEnd ()
uint nrNodes () const
Node * createNode (const CString &name)
Node * getNode (const CId id)
Node * getNode (const CString &name)
Nodes getNodes () const
LinksIter linksBegin ()
LinksIter linksEnd ()
uint nrLinks () const
Link * createLink (const CString &name, Node *src, Node *dst)
Link * getLink (const CId id)
Link * getLink (const CString &name)
uint getSlotTableSize () const
TTime getSlotTablePeriod () const
uint getPacketHeaderSize () const
uint getFlitSize () const
TTime getReconfigurationTimeNI () const
void setUsage (const CNodePtr usageNode)
CNode * createInterconnectGraphNode ()

Private Attributes

Nodes nodes
Links links
uint slotTableSize
TTime slotTablePeriod
uint packetHeaderSize
uint flitSize
TTime reconfigurationTimeNI

Detailed Description

InterconnectGraph Interconnect graph.


Constructor & Destructor Documentation

InterconnectGraph::InterconnectGraph ( uint  slotTableSize,
TTime  slotTablePeriod,
uint  packetHeaderSize,
uint  flitSize,
TTime  reconfigurationTimeNI 
)

InterconnectGraph () Constructor.

InterconnectGraph::InterconnectGraph ( const CNodePtr  archNode,
TTime  slotTablePeriod 
)
InterconnectGraph::~InterconnectGraph (  ) 

~InterconnectGraph () Destructor.

References linksBegin(), linksEnd(), nodesBegin(), and nodesEnd().

Here is the call graph for this function:


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().

Here is the call graph for this function:

Link * InterconnectGraph::createLink ( const CString &  name,
Node *  src,
Node *  dst 
)

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().

Here is the call graph for this function:

Node * InterconnectGraph::createNode ( const CString &  name  ) 

createNode () Create a new node and add it to the graph.

References getNode(), nodes, and nrNodes().

Referenced by InterconnectGraph().

Here is the call graph for this function:

Link * InterconnectGraph::getLink ( const CId  id  ) 

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().

Here is the call graph for this function:

Link * InterconnectGraph::getLink ( const CString &  name  ) 

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

References linksBegin(), and linksEnd().

Here is the call graph for this function:

Node * InterconnectGraph::getNode ( const CString &  name  ) 

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

References nodesBegin(), and nodesEnd().

Here is the call graph for this function:

Nodes InterconnectGraph::getNodes (  )  const [inline]
TTime InterconnectGraph::getReconfigurationTimeNI (  )  const [inline]
NodesIter InterconnectGraph::nodesBegin (  )  [inline]
NodesIter InterconnectGraph::nodesEnd (  )  [inline]
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().

Here is the call graph for this function:


Member Data Documentation


The documentation for this class was generated from the following files: