Asynchronous Finite State Machine Testing With Controlled Transitions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for testing Asynchronous Finite State Machines (AFSMs) are time-consuming and prone to missing potential faults due to functional testing limitations.
Innovation Solution
A testing system and method that involves disabling state transitions during data loading, using a test register to input controlled test data, and an output register to verify state changes, allowing for efficient and accurate fault detection.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If functional testing is used to test AFSMs, then the testing approach is simple to implement, but the testing time is excessive and potential faults may be missed
Solution Approach 1:
The testing method segments the AFSM testing process into distinct phases: disabling transitions, loading test data, enabling transitions, and verifying results. This segmentation allows for targeted testing of specific fault conditions rather than exhaustive functional testing, reducing overall testing time while maintaining high fault detection accuracy.
Solution Approach 2:
The method performs preliminary actions by disabling state transitions before loading test data. This preliminary configuration ensures that test data is loaded without interference from unintended state changes, allowing for more efficient and accurate fault detection compared to traditional functional testing approaches.
2Measurement precision
If state transitions are enabled during data loading, then the AFSM operates normally, but test accuracy decreases due to interference from unintended state changes
Solution Approach 1:
The method extracts the state transition capability from the normal operational flow during the data loading phase. By temporarily disabling transitions, the system isolates the data loading process from state change interference, thereby improving test accuracy without significantly increasing operational complexity since the transitions are re-enabled afterward.
Solution Approach 2:
The testing methodology dynamically adjusts the state transition enable/disable status based on the testing phase. Transitions are disabled during data loading to ensure accuracy, then enabled during verification to allow proper state changes. This dynamic control optimizes both test accuracy and operational simplicity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method to test an asynchronous finite state machine (302) for faults, the method including disabling (326, 328, 330) state transitions out of a state of the asynchronous finite state machine and inputting (318, 322, 324) test data to the AFSM (302) to trigger a transition from the state to an expected state. The method further including enabling (326, 328, 330) transitions out of the state of the asynchronous finite state machine (302), and determining (340, 342) whether the asynchronous finite state machine (302) has performed a successful transition to the expected state.