The State Machine API consists of the TRANSITION, CONDITIONAL_TRANSITION, REGISTER_FOR_EVENT and FIRE_EVENT API calls whose primary responsibility is to create state machine transitions. The TRANSITION procedure call schedules a state machine transition solely as a function of time whereas the CONDITIONAL_TRANSITION procedure call is used to schedule a state transition that is dependent on the change of an input signal. Synchronization between state machines are handled through the use of the REGISTER_FOR_EVENT and FIRE_EVENT procedure calls.
Other procedure calls, such the CONFIGURE_COUNTER, MONITOR_RISING_EDGES, MONITOR_FALLING_EDGES, READ_FIFO_DATA, WRITE_FIFO_DATA are also loosely coupled to the State Machine API. Each call contains a transition_state parameter which has the capability of causing a state transition when an action is completed.
API Description | |
TRANSITION | |
Procedure to schedule a state machine transition (overloaded) | |
CONDITIONAL_TRANSITION | |
Procedure for transitioning to a state machine state in response to signal change (overloaded) | |
FIRE_EVENT | |
Procedure for firing a framework event signal (overloaded) | |
REGISTER_FOR_EVENT | |
Procedure receiving a framework event signal (overloaded) | |
Procedures | |
CONDITIONAL_TRANSITION( priority_index: in PRIORITY_INTEGER condition: in boolean transition_state: STATE_INTEGER signal next_state_rec: out NSR state_reg_rec: in SRR trigger_time: in time ) | |
CONDITIONAL_TRANSITION( priority_index: in PRIORITY_INTEGER condition: in boolean transition_state: STATE_INTEGER signal next_state_rec: out NSR_ARRAY state_reg_rec: in SRR_ARRAY trigger_time: in time ) | |
REGISTER_FOR_EVENT( event_index: natural transition_state: integer signal next_state_rec: out NSR state_reg_rec: in SRR trigger_time: in time ) | |
REGISTER_FOR_EVENT( event_index: natural transition_state: integer signal next_state_rec: out NSR_ARRAY state_reg_rec: in SRR_ARRAY trigger_time: in time ) |