SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem Class Reference

Collaboration diagram for SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem:

List of all members.

Classes

struct  _TimingConstraintFiring
class  State

Public Types

typedef list< StateStates
typedef States::iterator StatesIter
typedef struct
SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::_TimingConstraintFiring 
TimingConstraintFiring

Public Member Functions

 TransitionSystem (TimedSDFgraph *gr, SDFactor *outActor)
 ~TransitionSystem ()
TimingConstraintFiringexecSDFgraph (SDFactor *dstActor)
TDtime execConstrainedSDFgraph (SDFactor *srcActor, TimingConstraintFiring *timeSrcFire, double latency, SDFactor *dstActor, vector< SDFtime > &srcTimeFire, vector< SDFtime > &dstTimeFire, uint distance)

Private Member Functions

bool storeState (State &s, StatesIter &pos)
void clearStoredStates ()
TDtime computeThroughput (const StatesIter cycleIter)
bool actorReadyToFire (SDFactor *a)
void startActorFiring (TimedSDFactor *a)
bool actorReadyToEnd (SDFactor *a)
void endActorFiring (SDFactor *a)
SDFtime clockStep (const uint maxStep=UINT_MAX)
void initOutputActor (SDFactor *outActor)

Private Attributes

TimedSDFgraphg
CId outputActor
TCnt outputActorRepCnt
State currentState
State previousState
States storedStates

Member Typedef Documentation


Constructor & Destructor Documentation

SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::TransitionSystem ( TimedSDFgraph gr,
SDFactor outActor 
) [inline]

References g, and initOutputActor().

Here is the call graph for this function:

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

Member Function Documentation

bool SDFstateSpaceSelfTimedMinimalLatencyAnalysis::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 SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::State::actClk, currentState, and SDFcomponent::getId().

Here is the call graph for this function:

bool SDFstateSpaceSelfTimedMinimalLatencyAnalysis::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 c, CH_TOKENS, SDFport::getChannel(), SDFcomponent::getId(), SDFport::getRate(), SDFport::getType(), SDFactor::portsBegin(), and SDFactor::portsEnd().

Here is the call graph for this function:

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

References storedStates.

SDFtime SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::clockStep ( const uint  maxStep = UINT_MAX  )  [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, SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::State::actClk, currentState, g, SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::State::glbClk, and SDFgraph::nrActors().

Here is the call graph for this function:

TDtime SDFstateSpaceSelfTimedMinimalLatencyAnalysis::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 SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::State::glbClk, and storedStates.

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

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

References SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::State::actClk, c, currentState, SDFport::getChannel(), SDFcomponent::getId(), SDFport::getRate(), SDFport::getType(), SDFactor::portsBegin(), SDFactor::portsEnd(), and PRODUCE.

Here is the call graph for this function:

TDtime SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execConstrainedSDFgraph ( SDFactor srcActor,
TimingConstraintFiring timeSrcFire,
double  latency,
SDFactor dstActor,
vector< SDFtime > &  srcTimeFire,
vector< SDFtime > &  dstTimeFire,
uint  distance 
)
void SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::initOutputActor ( SDFactor outActor  )  [private]

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

References FSMSADF::computeRepetitionVector(), g, SDFcomponent::getId(), outputActor, and outputActorRepCnt.

Referenced by TransitionSystem().

Here is the call graph for this function:

void SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::startActorFiring ( TimedSDFactor a  )  [private]

startActorFiring () Start the actor firing. Remove tokens from all input channels and add the actor firing to the list of active actor firings and advance sequence position.

References SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::State::actClk, c, CONSUME, currentState, SDFport::getChannel(), TimedSDFactor::getExecutionTime(), SDFcomponent::getId(), SDFport::getRate(), SDFport::getType(), SDFactor::portsBegin(), and SDFactor::portsEnd().

Here is the call graph for this function:

bool SDFstateSpaceSelfTimedMinimalLatencyAnalysis::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.


Member Data Documentation


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