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:

