Automatic System-Level Test Generation for SOC via Constraint Satisfaction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In integrated circuit design, it is time-consuming, difficult, and expensive to manually program executable tests for multi-functional devices like System on Chip (SOC), requiring specialized expertise to account for individual components and interconnections.
Innovation Solution
A method and system that automatically generate executable system-level tests by forming a Constraint Satisfaction Problem (CSP) based on user-specified actions and system designs, using a means-ends analysis to determine necessary actions and constraints, and solving the CSP to create executable test code that satisfies these constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If executable tests are manually programmed for multi-functional devices like SOC, then test accuracy and reliability can be ensured, but the process becomes time-consuming, difficult, and expensive requiring specialized expertise
Solution Approach 1:
The system performs preliminary analysis by automatically determining all subordinate actions required to enact a high-level user goal before test execution. The constraint satisfaction problem solver pre-computes the complete test scenario including all necessary actions, constraints, and scheduling, eliminating the need for time-consuming manual test programming while maintaining accuracy through systematic constraint satisfaction.
2Reliability
If executable tests are manually programmed for multi-functional devices like SOC, then comprehensive coverage of components and interconnections can be achieved, but the complexity and cost increase significantly
Solution Approach 1:
The system enables self-service test generation by automatically analyzing the high-level user goal, determining all necessary subordinate actions, and generating complete executable test code without requiring specialized test programming expertise. The constraint satisfaction problem solver autonomously handles the complexity of coordinating multiple components and interconnections, making the test generation process accessible to users without specialized knowledge while ensuring comprehensive coverage.
3Productivity
If automated test generation is implemented, then test generation time and cost are reduced, but the system requires complex constraint satisfaction solving mechanisms
Solution Approach 1:
The constraint satisfaction problem solver acts as an intermediary between the high-level user goal and the executable test code. It translates user intent into a structured CSP formulation, automatically determines subordinate actions, and generates complete test scenarios. This intermediary layer handles the computational complexity internally, allowing the system to achieve high productivity through automation while encapsulating the sophisticated solving mechanisms within a user-friendly framework.
4Ease of operation
If high-level user goals are automatically expanded into complete test scenarios, then ease of use is improved, but the automatic determination of subordinate actions increases computational requirements
Solution Approach 1:
The system segments the test generation process into distinct phases: (1) parsing the high-level user goal, (2) formulating the constraint satisfaction problem with all necessary actions and constraints, (3) solving the CSP to determine subordinate actions and scheduling, and (4) generating executable test code. This segmentation allows computational resources to be distributed efficiently across each phase, managing the computational burden while maintaining ease of use by requiring only simple user input.
Data Source
AI summary
A method and system are provided for automatically generating executable system-level tests from an initial action or partially specified scenario by accumulating necessary complement actions and forming a set of constraints required by the initial action and the necessary complement actions. The set of constraints is solved by a constraint solving engine to provide an at least partial sequence of the actions and parameters thereto that satisfies the set of constraints. The sequence of actions that comply with the set of constraints are used to generate an executable system-level test code.


