Processor Verification Test Case Generation Using Segmented Spaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing random test case generators for processor verification often produce redundant test cases, leading to inefficiencies in the verification process due to superficially different but functionally identical tests.

Innovation Solution

An apparatus and method that define a total verification space using architecture specifications and divide it into constrained verification spaces, generating unique test cases for each space to avoid redundancy, utilizing a constraint generator and test case generator to create non-redundant test cases based on the architecture and test purpose.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a random test case generator is used to generate test cases for processor verification, then test coverage is improved, but redundant test cases are generated leading to reduced verification efficiency

Engineering Contradiction:
Improvetest coverageVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The verification space is segmented into multiple constrained verification spaces based on architecture specifications. Each constrained space represents a distinct subset of possible test cases, allowing the generator to produce one test case per constrained space without redundancy. This segmentation enables comprehensive coverage while eliminating duplicate tests across different verification spaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The test case generator changes parameters by selecting different constrained verification spaces based on architecture specifications. By varying the constraints applied to different verification spaces (such as instruction types, operand ranges, or execution patterns), the system generates diverse non-redundant test cases that cover different functional aspects of the processor without repeating identical test scenarios.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If multiple random test cases are generated to increase test coverage, then verification completeness is improved, but time consumption increases due to redundant tests

Engineering Contradiction:
Improveverification completenessVSAvoidtime consumption
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The verification space is divided into constrained verification spaces, each representing a unique functional subset. By generating test cases systematically across these segmented spaces, the system achieves complete verification coverage without time-wasting redundant tests, as each constrained space produces distinct test cases by definition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The constraint generator pre-defines the constrained verification spaces and their boundaries before test case generation begins. This preliminary organization of the verification space into non-overlapping constrained regions allows the test case generator to efficiently produce one test case per space without time-consuming redundancy checks during the generation process.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If a simple random test case generator is used, then device complexity is reduced, but test case diversity is insufficient leading to functional identical tests

Engineering Contradiction:
Improvegenerator complexityVSAvoidtest case diversity
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The verification space is segmented into multiple constrained verification spaces, each representing a distinct functional subset. This segmentation inherently provides diversity in generated test cases, as each constrained space produces tests with different characteristics (e.g., different instruction types, operand sizes, or execution patterns) while maintaining manageable generator complexity through systematic constraint application.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The constraint generator serves multiple functions: it defines the verification space, establishes constraints for each constrained space, and guides test case generation. This multi-functionality achieves diverse test case generation without proportionally increasing generator complexity, as a single unified constraint-based framework handles all aspects of diverse test generation.

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

Data Source

PatentUS9916414B2Apparatus and method for generating test cases for processor verification, and verification device
Publication Date: 2018.03.13 SAMSUNG ELECTRONICS CO LTD
  • US9916414B2 patent drawing
  • US9916414B2 patent drawing
  • US9916414B2 patent drawing

AI summary

An apparatus for generating a test case includes a constrained description generator configured to define a plurality of constrained verification spaces in a total verification space, and generate a constrained description for each of the plurality of constrained verification spaces; and a test case generator configured to generate a test case using the constrained description.