buffersize.h File Reference
#include "../../base/timed/graph.h"
Functions | |
TimedSDFgraph * | modelBufferSizeInSDFgraph (const TimedSDFgraph *g) |
TimedSDFgraph * | createCapacityConstrainedModel (TimedSDFgraph *g) |
TimedSDFgraph * | modelCapacityConstrainedBuffer (TimedSDFgraph *g, const uint mcm) |
Function Documentation
TimedSDFgraph* createCapacityConstrainedModel | ( | TimedSDFgraph * | g | ) |
createCapacityConstrainedModel () Create a new timed HSDF graph in which every actor 'a' of the original graph 'g' belongs to a cycle consisting of the actor 'a' and a new actor 'aMCM'. This cycle contains one initial token and its cycle mean is equal to the MCM of the graph g when g is executed without auto-concurrency.
References a, SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), TimedSDFactor::addProcessor(), TimedSDFgraph::clone(), TimedSDFgraph::createActor(), TimedSDFgraph::createChannel(), CFraction::denominator(), TimedSDFactor::_Processor::execTime, SDFgraph::getActor(), TimedSDFactor::getExecutionTime(), SDFcomponent::getName(), isHSDFgraph(), CFraction::lowestTerm(), maximumCycleMeanCycles(), modelAutoConcurrencyInSDFgraph(), CFraction::numerator(), TimedSDFactor::setDefaultProcessor(), SDFcomponent::setName(), SDFactor::setType(), and TimedSDFactor::_Processor::stateSize.
Referenced by analyzeSDFG().
TimedSDFgraph* modelBufferSizeInSDFgraph | ( | const TimedSDFgraph * | graph | ) |
modelBufferSizeInSDFgraph () Create a new timed SDF graph in which channel sizes are modelled through explicit channels (all buffer sizes are set to unbounded).
References SDFactor::addPort(), c, TimedSDFgraph::clone(), SDFport::create(), TimedSDFchannel::create(), TimedSDFchannel::_BufferSize::dst, g, TimedSDFchannel::getBufferSize(), SDFchannel::getDstActor(), SDFchannel::getDstPort(), SDFcomponent::getId(), SDFchannel::getInitialTokens(), SDFcomponent::getName(), SDFcomponent::getParent(), SDFport::getRate(), SDFchannel::getSrcActor(), SDFchannel::getSrcPort(), TimedSDFchannel::isUnbounded(), TimedSDFchannel::_BufferSize::mem, SDFactor::nrPorts(), TimedSDFchannel::setBufferSize(), SDFcomponent::setName(), TimedSDFchannel::_BufferSize::src, and TimedSDFchannel::_BufferSize::sz.
Referenced by Binding::analyzeThroughputApplication(), SDF3Flow::estimateLatencyConstraints(), randomThroughputConstraint(), and transformGraph().
TimedSDFgraph* modelCapacityConstrainedBuffer | ( | TimedSDFgraph * | g, | |
const uint | mcm | |||
) |
modelCapacityConstrainedBuffer () Create a new timed HSDF graph in which channel sizes are modelled through explicit channels (all buffer sizes are set to unbounded). The function 'getStorageSpaceChannel()' on each channel gives a pointer to the channel in input graph g for which the storage space is determined.
References a, SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), TimedSDFactor::addProcessor(), c, SDFgraph::channelsBegin(), SDFgraph::channelsEnd(), TimedSDFactor::_Processor::execTime, TimedSDFchannel::getBufferSize(), SDFchannel::getDstActor(), TimedSDFactor::getExecutionTime(), SDFcomponent::getId(), SDFchannel::getInitialTokens(), SDFcomponent::getName(), SDFcomponent::getParent(), SDFchannel::getSrcActor(), SDFactor::getType(), isHSDFgraph(), TimedSDFactor::setDefaultProcessor(), SDFcomponent::setName(), TimedSDFchannel::setStorageSpaceChannel(), SDFactor::setType(), and TimedSDFactor::_Processor::stateSize.
Referenced by analyzeSDFG(), and transformGraph().