Automatic System-Level Test Generation for SOC via Constraint Satisfaction

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetest accuracyVSAvoidtest generation time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvetest completenessVSAvoidtest programming complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #25Self-service

3Productivity

If automated test generation is implemented, then test generation time and cost are reduced, but the system requires complex constraint satisfaction solving mechanisms

Engineering Contradiction:
Improvetest generation efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improveuser input simplicityVSAvoidcomputational resources
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8560893B1Systems and methods for automatically generating executable system level-tests from a partially specified scenario
Publication Date: 2013.10.15 CADENCE DESIGN SYST INC
  • US8560893B1 patent drawing
  • US8560893B1 patent drawing
  • US8560893B1 patent drawing

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.