SDFchannel Class Reference
#include <channel.h>
Public Member Functions | |
SDFchannel (SDFcomponent &c) | |
virtual | ~SDFchannel () |
virtual SDFchannel * | create (SDFcomponent &c) const |
virtual SDFchannel * | createCopy (SDFcomponent &c) const |
virtual SDFchannel * | clone (SDFcomponent &c) const |
void | construct (const CNodePtr channelNode) |
SDFport * | getSrcPort () const |
SDFport * | getDstPort () const |
SDFactor * | getSrcActor () const |
SDFactor * | getDstActor () const |
void | connectSrc (SDFport *p) |
void | connectDst (SDFport *p) |
SDFport * | oppositePort (SDFport *p) const |
uint | getInitialTokens () const |
void | setInitialTokens (const uint t) |
bool | isConnected () const |
SDFgraph * | getGraph () const |
ostream & | print (ostream &out) |
Private Attributes | |
SDFport * | src |
SDFport * | dst |
uint | initialTokens |
Friends | |
ostream & | operator<< (ostream &out, SDFchannel &c) |
Detailed Description
SDFchannel SDF channel.
Constructor & Destructor Documentation
SDFchannel::SDFchannel | ( | SDFcomponent & | c | ) |
SDFchannel () Constructor.
Referenced by clone(), create(), and createCopy().
SDFchannel::~SDFchannel | ( | ) | [virtual] |
~SDFchannel () Destructor.
Member Function Documentation
SDFchannel * SDFchannel::clone | ( | SDFcomponent & | c | ) | const [virtual] |
clone () The function returns a pointer to a newly allocated SDF channel object. All properties and the connection of the channel are cloned.
Reimplemented in TimedSDFchannel.
References connectDst(), connectSrc(), SDFgraph::getActor(), getDstActor(), getDstPort(), getGraph(), getInitialTokens(), SDFcomponent::getName(), SDFactor::getPort(), getSrcActor(), getSrcPort(), SDFchannel(), setInitialTokens(), and SDFcomponent::setName().
void SDFchannel::connectDst | ( | SDFport * | p | ) |
connectDst () The function connects the channel to a destination port and port to channel.
References SDFport::connectToChannel(), dst, getDstPort(), SDFcomponent::getName(), SDFport::getType(), and SDFport::getTypeAsString().
Referenced by clone(), TimedSDFchannel::clone(), construct(), SDFgraph::createChannel(), TimedSDFgraph::createChannel(), and reverseChannelsInSDFgraph().
void SDFchannel::connectSrc | ( | SDFport * | p | ) |
connectSrc () The function connects the channel to a source port and port to channel.
References SDFport::connectToChannel(), SDFcomponent::getName(), getSrcPort(), SDFport::getType(), SDFport::getTypeAsString(), and src.
Referenced by clone(), TimedSDFchannel::clone(), construct(), SDFgraph::createChannel(), TimedSDFgraph::createChannel(), and reverseChannelsInSDFgraph().
void SDFchannel::construct | ( | const CNodePtr | channelNode | ) |
construct () The function initializes all channel properties based on the XML data.
References c, CGetAttribute(), CHasAttribute(), connectDst(), connectSrc(), g, SDFgraph::getActor(), getGraph(), SDFactor::getPort(), setInitialTokens(), and SDFcomponent::setName().
Referenced by SDFgraph::construct().
SDFchannel * SDFchannel::create | ( | SDFcomponent & | c | ) | const [virtual] |
create () The function returns a pointer to a newly allocated SDF channel object.
Reimplemented in TimedSDFchannel.
References SDFchannel().
SDFchannel * SDFchannel::createCopy | ( | SDFcomponent & | c | ) | const [virtual] |
createCopy () The function returns a pointer to a newly allocated SDF channel object. All properties of the channel are copied.
Reimplemented in TimedSDFchannel.
References SDFcomponent::getName(), SDFchannel(), and SDFcomponent::setName().
Referenced by transformSDFtoHSDF(), and unfoldHSDF().
SDFactor* SDFchannel::getDstActor | ( | ) | const [inline] |
References dst, and getDstPort().
Referenced by addCSDFchannelToGraph(), LoadBalanceBinding::allocateConnectionResources(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzeDeadlock(), analyzeSDFG(), assignConsistentRates(), LoadBalanceBinding::changeBandwidthAllocation(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), SDFstateSpaceStaticPeriodicSchedulerChao::computeSchedule(), SDFconvertToHTML::convertSDFgraph(), createInitialMCMgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::dfsVisitDependencies(), dfsVisitDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), exploreStorageDistribution(), SDFstateSpaceBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBindingAwareBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::findCausalDependencies(), findCausalDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::findCausalDependencies(), getAdjacentActors(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::initTracing(), LoadBalanceBinding::isChannelBound(), LoadBalanceBinding::isChannelBoundToConnection(), LoadBalanceBinding::isChannelBoundToTile(), makeStronglyConnected(), maximumCycleMeanCycle(), BindingAwareSDFG::modelBindingInMPFlow(), BindingAwareSDFG::modelBindingInNSoCFlow(), modelBufferSizeInSDFgraph(), modelCapacityConstrainedBuffer(), print(), TimedSDFchannel::print(), randomChannelBufferSizes(), LoadBalanceBinding::releaseConnectionResources(), sdfComponentToGraph(), sdfToGraph(), transformHSDFtoAPG(), unfoldHSDF(), updateActorReadyList(), and LoadBalanceBinding::updateStorageSpaceAllocation().
SDFport* SDFchannel::getDstPort | ( | ) | const [inline] |
References dst.
Referenced by addCSDFchannelToGraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzeDeadlock(), assignConsistentRates(), calcFractionsConnectedActors(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), computeMinimalChannelSzStep(), connectDst(), SDFconvertToHTML::convertSDFgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDF3Flow::estimateStorageConstraints(), FSMSADF::ScenarioGraph::extractSDFgraph(), getDstActor(), getLbDistributionSz(), getUbDistributionSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSzStep(), isConnected(), makeConsistentConnectedActors(), makeStronglyConnected(), modelBufferSizeInSDFgraph(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), SDFconvertToHTML::outputSDFgraphAsDot(), print(), TimedSDFchannel::print(), printMaximumChannelSz(), printMinimalChannelSz(), printMinimalChannelSzStep(), randomChannelBufferSizes(), reverseChannelsInSDFgraph(), transformSDFtoHSDF(), and unfoldHSDF().
SDFgraph* SDFchannel::getGraph | ( | ) | const [inline] |
References SDFcomponent::getParent().
Referenced by clone(), TimedSDFchannel::clone(), construct(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), and BindingAwareSDFG::createMappedChannelToTileNSoC().
uint SDFchannel::getInitialTokens | ( | ) | const [inline] |
References initialTokens.
Referenced by addCSDFchannelToGraph(), analyzeSDFG(), clone(), TimedSDFchannel::clone(), computeMinimalChannelSz(), SDFstateSpaceStaticPeriodicSchedulerChao::computeSchedule(), SDFconvertToHTML::convertSDFgraph(), createInitialMCMgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), distributeInitialTokens(), distributeInitialTokensInComponent(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDF3Flow::estimateStorageConstraints(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execConstrainedSDFgraph(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceThroughputAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceSelfTimedLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpacePriorityListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceListScheduler::TransitionSystem::execSDFgraph(), SDFstateSpaceDeadlockAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::execSDFgraph(), execSDFgraph(), SDFstateSpaceBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphComputeSchedule(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphSelfTimed(), SDFstateSpaceStaticPeriodicSchedulerChao::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceStaticPeriodicScheduler::TransitionSystem::execSDFgraphStaticPeriodic(), SDFstateSpaceBindingAwareBufferAnalysis::exploreStorageDistribution(), fireActor(), getLbDistributionSz(), getUbDistributionSz(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), SDFstateSpaceBufferAnalysisNingGao::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), isActorReady(), maximumCycleMeanCycle(), modelBufferSizeInSDFgraph(), modelCapacityConstrainedBuffer(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), SDFconvertToHTML::outputSDFgraphAsDot(), print(), TimedSDFchannel::print(), printExecSdfGraph(), printMaximumChannelSz(), printMinimalChannelSz(), printSdfGraph(), randomChannelBufferSizes(), transformHSDFtoAPG(), transformSDFtoHSDF(), and unfoldHSDF().
SDFactor* SDFchannel::getSrcActor | ( | ) | const [inline] |
References getSrcPort(), and src.
Referenced by SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::actorReadyToFire(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::actorReadyToFire(), addCSDFchannelToGraph(), LoadBalanceBinding::allocateConnectionResources(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::analyzeDeadlock(), analyzeSDFG(), assignConsistentRates(), LoadBalanceBinding::changeBandwidthAllocation(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), SDFconvertToHTML::convertSDFgraph(), createInitialMCMgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::dfsVisitDependencies(), dfsVisitDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::dfsVisitDependencies(), SDF3Flow::estimateBandwidthConstraints(), SDF3Flow::estimateLatencyConstraints(), LoadBalanceBinding::estimateMaxCycleMean(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::execSDFgraph(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::execSDFgraph(), SDFstateSpaceBufferAnalysisNingGao::exploreStorageDistribution(), exploreStorageDistribution(), SDFstateSpaceBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBindingAwareBufferAnalysis::exploreStorageDistribution(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::findCausalDependencies(), findCausalDependencies(), SDFstateSpaceBufferAnalysis::TransitionSystem::findCausalDependencies(), SDFstateSpaceBindingAwareBufferAnalysis::TransitionSystem::findCausalDependencies(), getAdjacentActors(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), SDFstateSpaceBufferAnalysisNingGao::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceTraceInterconnectCommunication::TransitionSystem::initTracing(), LoadBalanceBinding::isChannelBound(), LoadBalanceBinding::isChannelBoundToConnection(), LoadBalanceBinding::isChannelBoundToTile(), makeStronglyConnected(), BindingAwareSDFG::modelBindingInMPFlow(), BindingAwareSDFG::modelBindingInNSoCFlow(), modelBufferSizeInSDFgraph(), modelCapacityConstrainedBuffer(), print(), TimedSDFchannel::print(), randomChannelBufferSizes(), LoadBalanceBinding::releaseConnectionResources(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::releaseStorageSpaceSharedOutputBuffer(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::releaseStorageSpaceSharedOutputBuffer(), sdfComponentToGraph(), sdfToGraph(), SDFstateSpaceThroughputAnalysisNingGao::TransitionSystem::startActorFiring(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::startActorFiring(), transformHSDFtoAPG(), unfoldHSDF(), and LoadBalanceBinding::updateStorageSpaceAllocation().
SDFport* SDFchannel::getSrcPort | ( | ) | const [inline] |
References src.
Referenced by addCSDFchannelToGraph(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze(), SDFstateSpaceSelfTimedLatencyAnalysis::analyze(), SDFstateSpaceBufferAnalysisNingGao::TransitionSystem::analyzeDeadlock(), SDFstateSpaceBufferAnalysis::TransitionSystem::analyzeDeadlock(), assignConsistentRates(), calcFractionsConnectedActors(), clone(), TimedSDFchannel::clone(), componentToSDFgraph(), SDFstateSpaceMinimalLatencyAnalysis::TransitionSystem::computeDemandList(), computeMinimalChannelSz(), computeMinimalChannelSzStep(), connectSrc(), SDFconvertToHTML::convertSDFgraph(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), createSDFnode(), SDF3Flow::estimateBandwidthConstraints(), SDF3Flow::estimateStorageConstraints(), FSMSADF::ScenarioGraph::extractSDFgraph(), getLbDistributionSz(), getSrcActor(), getUbDistributionSz(), MaxPlusAnalysis::GraphDecoration::Graph::Graph(), SDFstateSpaceBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSz(), SDFstateSpaceBufferAnalysis::initMinimalChannelSzStep(), SDFstateSpaceBindingAwareBufferAnalysis::initMinimalChannelSzStep(), isConnected(), makeConsistentConnectedActors(), makeStronglyConnected(), modelBufferSizeInSDFgraph(), SDFconvertToHTML::outputPlatformMappingAsDot(), outputSDFasDot(), SDFconvertToHTML::outputSDFgraphAsDot(), print(), TimedSDFchannel::print(), printMaximumChannelSz(), printMinimalChannelSz(), printMinimalChannelSzStep(), randomChannelBufferSizes(), reverseChannelsInSDFgraph(), transformSDFtoHSDF(), and unfoldHSDF().
bool SDFchannel::isConnected | ( | ) | const |
isConnected () The function returns true if the channel is connected to a source and destination port.
References getDstPort(), and getSrcPort().
Referenced by print(), and TimedSDFchannel::print().
Referenced by analyzePeriodicPhase(), LoadBalanceBinding::bwChannelsMappedToInConnection(), LoadBalanceBinding::bwChannelsMappedToOutConnection(), LoadBalanceBinding::computeLoadOfChannelToConnectionBinding(), distributeInitialTokensInComponent(), makeSimpleGraph(), LoadBalanceBinding::memLoadChannelsOnTile(), LoadBalanceBinding::nrChannelsMappedToConnection(), printAnalyzeDeadlock(), printAnalyzePeriodicPhase(), and LoadBalanceBinding::sortTilesOnCommunicationOverhead().
ostream & SDFchannel::print | ( | ostream & | out | ) |
print () Print the channel to the supplied output stream.
Reimplemented in TimedSDFchannel.
References getDstActor(), getDstPort(), SDFcomponent::getId(), getInitialTokens(), SDFcomponent::getName(), getSrcActor(), getSrcPort(), and isConnected().
Referenced by SDFgraph::print().
void SDFchannel::setInitialTokens | ( | const uint | t | ) | [inline] |
References initialTokens.
Referenced by clone(), TimedSDFchannel::clone(), construct(), SDFgraph::createChannel(), TimedSDFgraph::createChannel(), BindingAwareSDFG::createMappedChannelToConnectionMPFlow(), BindingAwareSDFG::createMappedChannelToConnectionNSoC(), BindingAwareSDFG::createMappedChannelToTileMPFlow(), BindingAwareSDFG::createMappedChannelToTileNSoC(), distributeInitialTokens(), distributeInitialTokensInComponent(), fireActor(), and transformGraph().
Friends And Related Function Documentation
ostream& operator<< | ( | ostream & | out, | |
SDFchannel & | c | |||
) | [friend] |
Member Data Documentation
SDFport* SDFchannel::dst [private] |
Referenced by connectDst(), getDstActor(), getDstPort(), and oppositePort().
uint SDFchannel::initialTokens [private] |
Referenced by getInitialTokens(), and setInitialTokens().
SDFport* SDFchannel::src [private] |
Referenced by connectSrc(), getSrcActor(), getSrcPort(), and oppositePort().
The documentation for this class was generated from the following files: