SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem Class Reference

Collaboration diagram for SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem:

List of all members.


class  State

Public Types

typedef list< StateStates
typedef States::iterator StatesIter

Public Member Functions

 TransitionSystem (BindingAwareSDFG *bg)
 ~TransitionSystem ()
TDtime execSDFgraph (vector< double > &tileUtilization)

Private Member Functions

bool storeState (State &s, StatesIter &pos)
void clearStoredStates ()
TDtime computeThroughput (const StatesIter cycleIter)
void computeTileUtilization (const StatesIter recurrentState, vector< double > &tileUtilization)
bool actorReadyToFire (SDFactor *a)
void startActorFiring (TimedSDFactor *a)
bool actorReadyToEnd (SDFactor *a)
void endActorFiring (SDFactor *a)
SDFtime clockStep ()
void initOutputActor ()
void checkBindingAwareSDFG ()

Private Attributes

TCnt outputActorRepCnt
State currentState
State previousState
States storedStates

Member Typedef Documentation

Constructor & Destructor Documentation

SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::TransitionSystem ( BindingAwareSDFG bg  )  [inline]

References bindingAwareSDFG, checkBindingAwareSDFG(), and initOutputActor().

Here is the call graph for this function:

SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::~TransitionSystem (  )  [inline]

Member Function Documentation

bool SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::actorReadyToEnd ( SDFactor a  )  [private]

actorReadyToEnd () The function returns true when the actor is ready to end its firing. Else the function returns false.

References SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::State::actClk, currentState, and SDFcomponent::getId().

Referenced by execSDFgraph().

Here is the call graph for this function:

bool SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::actorReadyToFire ( SDFactor a  )  [private]

actorReadyToFire () The function returns true when the actor is ready to fire in state s. Else it returns false.

References bindingAwareSDFG, c, CH_TOKENS, BindingAwareSDFG::getBindingOfActorToTile(), SDFport::getChannel(), SDFcomponent::getId(), SDFport::getRate(), SDFport::getType(), SDFactor::portsBegin(), SDFactor::portsEnd(), and SOS_ENTRY.

Referenced by execSDFgraph().

Here is the call graph for this function:

void SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::checkBindingAwareSDFG (  )  [private]

checkBindingAwareSDFG () The function performs some sanity checks on the binding-aware SDFG

References ACTOR_NOT_BOUND, SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), bindingAwareSDFG, BindingAwareSDFG::getBindingOfActorToTile(), and BindingAwareSDFG::getScheduleOnTile().

Referenced by TransitionSystem().

Here is the call graph for this function:

void SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::clearStoredStates (  )  [inline, private]

References storedStates.

Referenced by execSDFgraph().

SDFtime SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::clockStep (  )  [private]

clockStep () The function progresses time till the first end of firing transition becomes enabled. The time step is returned. In case of deadlock, the time step is equal to UINT_MAX.

References a, SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::State::actClk, bindingAwareSDFG, currentState, BindingAwareSDFG::getTDMAsizeOnTile(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::State::glbClk, SDFgraph::nrActors(), BindingAwareSDFG::nrTilesInPlatformGraph(), and SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::State::tdmaPos.

Referenced by execSDFgraph().

Here is the call graph for this function:

TDtime SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::computeThroughput ( const StatesIter  cycleIter  )  [private]

computeThroughput () The function calculates the throughput of the states on the cycle. Its value is equal to the average number of firings of an actor per time unit.

References SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::State::glbClk, and storedStates.

Referenced by execSDFgraph().

void SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::computeTileUtilization ( const StatesIter  recurrentState,
vector< double > &  tileUtilization 
) [private]

computeTileUtilization () The function calculates the fraction of the time that a processor is busy during the periodic part of the execution.

References a, ACTOR_NOT_BOUND, SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), bindingAwareSDFG, FSMSADF::computeRepetitionVector(), BindingAwareSDFG::getBindingOfActorToTile(), TimedSDFactor::getExecutionTime(), SDFcomponent::getId(), SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::State::glbClk, BindingAwareSDFG::nrTilesInPlatformGraph(), and storedStates.

Referenced by execSDFgraph().

Here is the call graph for this function:

void SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::endActorFiring ( SDFactor a  )  [private]

endActorFiring () Produce tokens on all output channels and remove the actor firing from the list of active firings.

References SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::State::actClk, bindingAwareSDFG, c, currentState, BindingAwareSDFG::getBindingOfActorToTile(), SDFport::getChannel(), SDFcomponent::getId(), SDFcomponent::getName(), SDFport::getRate(), SDFport::getType(), SDFactor::portsBegin(), SDFactor::portsEnd(), PRODUCE, SOS_NEXT_POS, and SOS_POS.

Referenced by execSDFgraph().

Here is the call graph for this function:

void SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::initOutputActor (  )  [private]

initOutputActor () The function selects an actor to be used as output actor in the state transition system.

References a, SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), bindingAwareSDFG, FSMSADF::computeRepetitionVector(), SDFcomponent::getId(), outputActor, and outputActorRepCnt.

Referenced by TransitionSystem().

Here is the call graph for this function:

void SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::startActorFiring ( TimedSDFactor a  )  [private]
bool SDFstateSpaceBindingAwareThroughputAnalysis::TransitionSystem::storeState ( State s,
StatesIter pos 
) [private]

storeState () The function stores the state s on whenever s is not already in the list of storedStates. When s is stored, the function returns true. When the state s is already in the list, the state s is not stored. The function returns false. The function always sets the pos variable to the position where the state s is in the list.

References storedStates.

Referenced by execSDFgraph().

Member Data Documentation

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