SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem Class Reference
Member Typedef Documentation
typedef States::iterator SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::StatesIter |
typedef struct SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::_TimingConstraintFiring SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::TimingConstraintFiring |
Constructor & Destructor Documentation
SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::TransitionSystem | ( | TimedSDFgraph * | gr, | |
SDFactor * | outActor | |||
) | [inline] |
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().
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().
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().
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.
TDtime SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execConstrainedSDFgraph | ( | SDFactor * | srcActor, | |
TimingConstraintFiring * | timeSrcFire, | |||
double | latency, | |||
SDFactor * | dstActor, | |||
vector< SDFtime > & | srcTimeFire, | |||
vector< SDFtime > & | dstTimeFire, | |||
uint | distance | |||
) |
execConstrainedSDFgraph () Execute the SDF graph till a deadlock is found or a recurrent state. The inverse of throughput is returned. The graph is executed in a self-timed manner. Except that the firings of the source actor may only occur after the time at which the destination actor fires minus the latency of the graph.
References a, actorReadyToEnd(), actorReadyToFire(), SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), c, CH, SDFgraph::channelsBegin(), SDFgraph::channelsEnd(), clearStoredStates(), clockStep(), computeThroughput(), currentState, endActorFiring(), g, SDFcomponent::getId(), SDFchannel::getInitialTokens(), CapacityConstrainedBufferState::glbClk, CapacityConstrainedBufferState::init(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::_TimingConstraintFiring::next, SDFgraph::nrActors(), SDFgraph::nrChannels(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::_TimingConstraintFiring::nrFiringsEnabled, outputActor, outputActorRepCnt, previousState, startActorFiring(), storeState(), and SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::_TimingConstraintFiring::timeTillNextFiring.
Referenced by SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze().
SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::TimingConstraintFiring * SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::execSDFgraph | ( | SDFactor * | dstActor | ) |
execSDFgraph() Execute the SDF graph till a deadlock is found or a recurrent state. A list of timestamps at which the destination actor fires is returned.
References a, actorReadyToEnd(), actorReadyToFire(), SDFgraph::actorsBegin(), SDFgraph::actorsEnd(), c, CH, SDFgraph::channelsBegin(), SDFgraph::channelsEnd(), clearStoredStates(), clockStep(), currentState, endActorFiring(), g, SDFcomponent::getId(), SDFchannel::getInitialTokens(), CapacityConstrainedBufferState::glbClk, SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::_TimingConstraintFiring::id, CapacityConstrainedBufferState::init(), SDFstateSpaceSelfTimedMinimalLatencyAnalysis::TransitionSystem::_TimingConstraintFiring::next, SDFgraph::nrActors(), SDFgraph::nrChannels(), outputActor, outputActorRepCnt, previousState, startActorFiring(), storedStates, and storeState().
Referenced by SDFstateSpaceSelfTimedMinimalLatencyAnalysis::analyze().
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().
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().
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
Referenced by actorReadyToEnd(), clockStep(), endActorFiring(), and startActorFiring().
Referenced by clockStep(), initOutputActor(), and TransitionSystem().
Referenced by initOutputActor().
Referenced by initOutputActor().
Referenced by clearStoredStates(), computeThroughput(), and storeState().
The documentation for this class was generated from the following files: