Automated System-Level Test Generation for Multi-Processor DUTs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Automating the generation of system-level tests for complex integrated circuits and systems is hindered by the need for extensive manual coding, high computational demands, and the challenge of maintaining legal order among actions executed by multiple processors, which is time-consuming and costly.

Innovation Solution

A method for automatically generating executable system-level tests by analyzing scenario information to determine the legal order of actions and necessary communications between processors, using a communication protocol that optimizes memory usage and allows for the minimal required number of mailboxes, thereby streamlining the test generation process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual coding is used for generating system-level tests, then test generation can be performed with simple tools, but the process is time-consuming and labor-intensive

Engineering Contradiction:
Improvetest generation speedVSAvoidautomation level
Core Design Contradiction:
ProductivityVSExtent of automation

Solution Approach 1:

The system automatically generates system-level test sequences by analyzing scenario information and determining legal orders of actions itself, without requiring manual intervention. The automated generation process includes identifying necessary communications between processors, determining synchronization points, and producing executable test code, thereby making the system self-sufficient in test generation tasks.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical coding processes with automated computational systems. Instead of engineers manually writing test code, the system uses automated analysis of scenario information, legal order determination algorithms, and code generation mechanisms to produce test sequences, substituting human mechanical effort with automated computational processes.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Loss of time

If extensive manual coding is performed for test generation, then test accuracy can be maintained, but the time and computational resources required increase significantly

Engineering Contradiction:
Improvetest generation timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments the test generation process into distinct analytical components: analyzing scenario information, determining legal orders of actions, identifying necessary communications between processors, determining synchronization points, and generating test code. This segmentation allows each component to be processed independently and efficiently, reducing overall generation time while managing system complexity through modular organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary analysis of scenario information before generating test code. By pre-determining the legal order of actions and identifying necessary communications between processors in advance, the system prepares the structural framework for test generation, which significantly reduces the time required for actual code production and simplifies the overall process.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If numerous test vectors are used for simulated testing, then test coverage is improved, but computational power and time consumption increase enormously

Engineering Contradiction:
Improvetest coverageVSAvoidcomputational resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent creates an abstract data model that copies and represents the essential structure and relationships of the system under test. This abstract model includes scenario information, legal orders, and communication requirements, allowing the system to analyze and generate tests based on the model rather than exhaustively testing the actual system with numerous vectors, thereby reducing computational resource consumption while maintaining test coverage.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes the parameter of test representation from concrete numerous test vectors to an abstract data model with legal order constraints. By transforming the test specification into a structured model with defined relationships and synchronization requirements, the system achieves comprehensive coverage with fewer computational resources, as the abstract model captures the essential test scenarios without requiring exhaustive vector enumeration.

Inventive Principle:
Principle #35Parameter changes

4Ease of operation

If automated test generation is implemented, then productivity increases, but the complexity of managing legal orders and communications between processors increases

Engineering Contradiction:
Improveease of test generationVSAvoidcomplexity of managing legal orders
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent introduces an abstract data model as an intermediary between the scenario requirements and the generated test code. This model serves as a mediator that captures legal orders, communication requirements, and synchronization points in a structured format, making it easier to manage complexity by providing a clear intermediate representation that bridges the gap between high-level requirements and low-level test execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The abstract data model structure is designed to be universal and applicable to various scenarios involving multiple processors and different types of actions. The model can represent different kinds of communications, synchronization requirements, and legal orders in a unified framework, thereby simplifying ease of operation by providing a single versatile approach that handles diverse test generation needs without requiring separate management mechanisms for each case.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9690681B1Method and system for automatically generating executable system-level tests
Publication Date: 2017.06.27 CADENCE DESIGN SYST INC
  • US9690681B1 patent drawing
  • US9690681B1 patent drawing
  • US9690681B1 patent drawing

AI summary

A method for automatically generating executable system-level tests may include receiving scenario information for testing a device under test (DUT). The method may also include analyzing the scenario information to determine whether there is a legal order in which some or all actions included in the test are to be executed by a plurality of processors of the DUT requiring that one or a plurality of the actions be performed before one or a plurality of other actions may be performed; and identify necessary communications between the processors relating to synchronization points between them. The method may further include automatically generating a test that includes a plurality of actions performed by some or all of the processors in compliance with the legal order.