Inheritance diagram for class svt_fsm_state_base:
FSM state base class.
Public Member Functions | |
| virtual task | body ( ) |
| function bit | callback_client_exists ( ) |
| function uvm_object | create ( string name = "" ) |
| virtual function string | get_class_name ( ) |
| virtual function real | get_enter_time ( ) |
| virtual function svt_fsm | get_fsm ( ) |
| virtual function real | get_leave_time ( ) |
| virtual function string | get_name ( ) |
| task | get_next_state_choice ( ref svt_fsm_state_base next_state ) |
| virtual function uvm_object_wrapper | get_object_type ( ) |
| static function type_id | get_type ( ) |
| virtual function string | get_type_name ( ) |
| virtual function string | get_uid ( ) |
| virtual function string | get_xml_name ( ) |
| virtual function bit | is_dest_fsm_state ( svt_fsm_state_base test_incoming ) |
| function void | m_add_next_state ( svt_fsm_state_base state ) |
| function void | m_entering ( ) |
| task | m_goto_next_state ( output svt_fsm_state_base next_state, input bit dead_end_is_ok ) |
| function int | m_init ( ) |
| function void | m_leaving ( ) |
| function void | new ( string name = "" ) |
| virtual function bit | save_to_xml ( svt_xml_writer writer, string prefix = "", string suffix ) |
| virtual function void | set_enter_time ( real enter_time ) |
| virtual function void | set_fsm ( svt_fsm fsm ) |
| virtual function void | set_leave_time ( real leave_time ) |
| function void | set_next_states_transition_option ( svt_fsm_state_base :: state_transition_options_enum transition_option ) |
| function void | set_next_state_choice ( svt_fsm_state_base next_state ) |
| virtual task | state_transition ( svt_fsm_state_base from_state, output bit ok ) |
| virtual function bit | static_fsm_thread_enabled ( ) |
Public Attributes | |
| int | callback_client_exists_cache = -1; |
| uvm_report_object | reporter |
| svt_fsm_state_base :: state_transition_options_enum | transition_option |
| static const string | type_name = "svt_fsm_state_base"; |
Protected Member Functions | |
| virtual function void | m_incoming_states ( ref svt_fsm_state_base state_q[$] ) |
Member Typedefs | |
| typedef enum | state_transition_options_enum |
| typedef class | type_id |
|
||
Function performed while the FSM is in this state. Will no look for state transition until it returns. If the state behavior is to execute as long as no transitions are observed, simply fork/join_none the behavior.
|
|
|
||||
|
|
||
Return the class name.
Return values - Name which represents the class. |
|
||
Method to get the last 'enter' time for the state
|
|
||||
Return the parent FSM for this state
| ||||
|
|
||
Method to get the last 'leave' time for the state
|
|
||||||||
Return the name of this state
Return values - Name which represents the state. | ||||||||
|
|
||
Method to get the m_next_state_choice field.
|
|
||||
|
|
||||
|
|
||||
|
|
||
This method can be used to obtain a unique identifier for the state.
Return values - Unique identifier for the object. |
|
||||
Returns a name that can be used to represent the state's object type in the XML output.
Return values - Name to be used for the state in XML output. | ||||
|
|
||
Method which checks whether this state can be reached directly from the provided state.
test_incoming - The state to be checked as a possible incoming state. Return values - Indicates that this state can (1) or cannot (0) be reached directly from the provided state. |
|
||
|
||
Call the registered svt_fsm_state_callback :: entering method. Called by svt_fsm, before body is called. Do not call directly.
|
|
||
Look for a state transition condition out of this state. Do not call directly.
|
|
||
Return the set of states that can transition into this state. It is usually simpler to use the `svt_fsm_from_state macro.
|
|
||
|
||
Call the registered svt_fsm_state_callback :: leaving method. Called by m_goto_next_state after next_state has been recognized. Do not call directly.
|
|
||||
Constructor for the FSM state base class.
| ||||
|
|
||
This method writes a description of the state to the XML file managed by the XML writer argument.
writer - Object which takes care of the basic write operations. prefix - String to be placed at the beginning of each generated line. suffix - Additional string that is placed at the end of the generated XML block
Return values - Indicates success (1) or failure (0) of the save. |
|
||
Method to set the last 'enter' time for the state
|
|
||||
Set the parent FSM that holds this FSM state instance. Implemented in svt_fsm_state.
| ||||
|
|
||
Method to set the last 'leave' time for the state
|
|
||
Set all of the m_next_states transition_option field values.
|
|
||
Method to set the m_next_state_choice field.
|
|
||
Detect a transition from the specified state to this state. Set 'ok' to TRUE and return if no errors were detected. Set 'ok' to FALSE and return if a protocol violation was detected. Must be implemented in every FSM state definition. Implementations must not call super.state_transition.
|
|
||
Indicates whether the state_transition method for this class will exit cleanly if transition_option goes to DISABLED_NEXT. Default implmentation always returns 0.
|
|
|
Cached callback_client_exists return value used to accelerate callback processing.
|
|
|
|
Indicates the transition options currently available to this state.
|
|
|
|