FSMSADF::MemoryDimAlgo Class Reference
#include <memory.h>
Public Member Functions | |
MemoryDimAlgo (FlowType &t) | |
~MemoryDimAlgo () | |
void | init () |
bool | computeStorageDist () |
bool | selectStorageDist () |
bool | estimateStorageDist () |
Graph * | getApplicationGraph () const |
void | setApplicationGraph (Graph *g) |
PlatformGraph * | getPlatformGraph () const |
void | setPlatformGraph (PlatformGraph *g) |
PlatformBindings * | getPlatformBindings () const |
void | setPlatformBindings (PlatformBindings *b) |
PlatformBinding * | getPlatformBinding (const CString &name) const |
PlatformBinding * | getInitialPlatformBinding () const |
Private Attributes | |
FlowType | flowType |
Graph * | applicationGraph |
PlatformGraph * | platformGraph |
PlatformBindings * | platformBindings |
map< Scenario *, set < StorageDistribution > ::iterator > | selectedStorageDistribution |
Detailed Description
Memory dimensioning
Constructor & Destructor Documentation
FSMSADF::MemoryDimAlgo::MemoryDimAlgo | ( | FlowType & | t | ) | [inline] |
References applicationGraph, and flowType.
FSMSADF::MemoryDimAlgo::~MemoryDimAlgo | ( | ) | [inline] |
Member Function Documentation
bool FSMSADF::MemoryDimAlgo::computeStorageDist | ( | ) |
computeStorageDist () Compute trade-off space between storage space allocated to channels and maximal throughput of the application graph.
References SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), SDFstateSpaceBufferAnalysis::analyze(), applicationGraph, c, TimedSDFgraph::createChannel(), _StorageDistributionSet::distributions, FSMSADF::ScenarioGraph::extractSDFgraph(), g, FSMSADF::ScenarioGraph::getChannels(), FSMSADF::GraphComponent::getId(), FSMSADF::Scenario::getScenarioGraph(), FSMSADF::Graph::getScenarios(), FSMSADF::ScenarioGraph::getStorageDistributionsOfScenario(), FSMSADF::Graph::hasIsolatedScenarios(), _StorageDistributionSet::next, _StorageDistribution::next, selectedStorageDistribution, FSMSADF::ScenarioGraph::setStorageDistributionsOfScenario(), FSMSADF::StorageDistribution::setThroughput(), _StorageDistribution::sp, and _StorageDistribution::thr.
Referenced by FSMSADF::SDF3Flow::computeStorageDist().
bool FSMSADF::MemoryDimAlgo::estimateStorageDist | ( | ) |
estimateStorageDist () Set the storage space constraints of the channels based on the selected storage distribution.
References applicationGraph, c, FSMSADF::PlatformBinding::clone(), FSMSADF::BufferSize::Dst, FSMSADF::ScenarioGraph::getChannels(), FSMSADF::ScenarioBindingConstraints::getConstraintsOfChannel(), FSMSADF::GraphBindingConstraints::getConstraintsOfScenario(), FSMSADF::Channel::getDstPort(), FSMSADF::PlatformBinding::getGraphBindingConstraints(), getInitialPlatformBinding(), FSMSADF::Channel::getInitialTokens(), FSMSADF::GraphComponent::getName(), FSMSADF::Port::getRateOfScenario(), FSMSADF::Scenario::getScenarioGraph(), FSMSADF::Graph::getScenarios(), FSMSADF::Channel::getSrcPort(), FSMSADF::ScenarioGraph::getStorageDistributionsOfScenario(), FSMSADF::StorageDistribution::getThroughput(), FSMSADF::PlatformBinding::isInitialBinding(), logMsg(), FSMSADF::BufferSize::Mem, minSz, platformBindings, selectedStorageDistribution, FSMSADF::ChannelBindingConstraints::setBufferSize(), FSMSADF::GraphComponent::setName(), FSMSADF::BufferSize::Src, and _StorageDistribution::sz.
Referenced by FSMSADF::SDF3Flow::estimateStorageDist().
Graph* FSMSADF::MemoryDimAlgo::getApplicationGraph | ( | ) | const [inline] |
References applicationGraph.
PlatformBinding * FSMSADF::MemoryDimAlgo::getInitialPlatformBinding | ( | ) | const |
getInitialPlatformBinding() The function returns a pointer to the initial platform binding object. An exception is thrown when no such object exists.
References FSMSADF::PlatformBinding::isInitialBinding(), and platformBindings.
Referenced by estimateStorageDist().
PlatformBinding * FSMSADF::MemoryDimAlgo::getPlatformBinding | ( | const CString & | name | ) | const |
getPlatformBinding() The function returns a pointer to a platform binding object with the specified name. An exception is thrown when no such object exists.
References FSMSADF::GraphComponent::getName(), and platformBindings.
PlatformBindings* FSMSADF::MemoryDimAlgo::getPlatformBindings | ( | ) | const [inline] |
References platformBindings.
PlatformGraph* FSMSADF::MemoryDimAlgo::getPlatformGraph | ( | ) | const [inline] |
References platformGraph.
void FSMSADF::MemoryDimAlgo::init | ( | ) |
initialize() The function initializes the memory dimensioning algorithm.
References applicationGraph, FSMSADF::Graph::hasIsolatedScenarios(), platformBindings, platformGraph, and selectedStorageDistribution.
Referenced by FSMSADF::SDF3Flow::checkInputDesignFlow().
bool FSMSADF::MemoryDimAlgo::selectStorageDist | ( | ) |
selectStorageDist () Select storage distribution from the trade-off space.
References FSMSADF::GraphComponent::getName(), FSMSADF::Scenario::getScenarioGraph(), FSMSADF::ScenarioGraph::getStorageDistributionsOfScenario(), logMsg(), and selectedStorageDistribution.
Referenced by FSMSADF::SDF3Flow::selectStorageDist().
void FSMSADF::MemoryDimAlgo::setApplicationGraph | ( | Graph * | g | ) | [inline] |
References applicationGraph.
Referenced by FSMSADF::SDF3Flow::checkInputDesignFlow().
void FSMSADF::MemoryDimAlgo::setPlatformBindings | ( | PlatformBindings * | b | ) | [inline] |
References platformBindings.
Referenced by FSMSADF::SDF3Flow::checkInputDesignFlow().
void FSMSADF::MemoryDimAlgo::setPlatformGraph | ( | PlatformGraph * | g | ) | [inline] |
References platformGraph.
Referenced by FSMSADF::SDF3Flow::checkInputDesignFlow().
Member Data Documentation
Graph* FSMSADF::MemoryDimAlgo::applicationGraph [private] |
Referenced by computeStorageDist(), estimateStorageDist(), getApplicationGraph(), init(), MemoryDimAlgo(), and setApplicationGraph().
FlowType FSMSADF::MemoryDimAlgo::flowType [private] |
Referenced by MemoryDimAlgo().
Referenced by estimateStorageDist(), getInitialPlatformBinding(), getPlatformBinding(), getPlatformBindings(), init(), and setPlatformBindings().
Referenced by getPlatformGraph(), init(), and setPlatformGraph().
map<Scenario*, set<StorageDistribution>::iterator> FSMSADF::MemoryDimAlgo::selectedStorageDistribution [private] |
Referenced by computeStorageDist(), estimateStorageDist(), init(), and selectStorageDist().
The documentation for this class was generated from the following files: