Microprocessor Validation with Random Test Functions and Thread Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessor validation methods face inefficiencies in execution time and resource usage due to skewed test generation and large test package sizes, leading to long load times and cache saturation, especially on hardware.

Innovation Solution

A method utilizing random generated test functions with a user-level scheduler that creates actionable items in system memory, employs a Hardware Thread Table Structure and Process Table Structure, and uses a re-entrant entry point function to execute these items without context switching, allowing for efficient execution across multiple hardware threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If large test packages are generated offline and executed, then test coverage is increased, but execution time and load time increase significantly

Engineering Contradiction:
Improvetest coverageVSAvoidexecution time and load time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides large test packages into smaller, manageable test cases that can be executed individually or in small batches. This segmentation allows the validation tool to process tests in manageable chunks, reducing overall execution time while maintaining comprehensive coverage through systematic generation of multiple test cases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by generating and preparing test cases in advance using formal methods, then executing them systematically. The test cases are pre-generated with expected results, allowing for efficient validation without repeated regeneration during execution phases.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If test packages are executed for long durations to achieve comprehensive coverage, then validation thoroughness is improved, but hardware resources become saturated

Engineering Contradiction:
Improvevalidation thoroughnessVSAvoidhardware saturation and cache pollution
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent applies local quality by targeting specific validation aspects with specialized test cases rather than applying uniform testing across all functions. This allows concentrated validation effort on critical paths while avoiding unnecessary saturation of hardware resources through selective, focused testing.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent utilizes parameter changes by dynamically adjusting test execution parameters such as instruction mix, coverage thresholds, and validation depth based on hardware state and validation progress. This adaptive approach maintains validation thoroughness while preventing hardware saturation by adjusting workload intensity in real-time.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If formal methods are used for test generation, then test quality is improved, but generation time increases

Engineering Contradiction:
Improvetest qualityVSAvoidtest generation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements preliminary action by using formal methods to generate high-quality test cases in advance during the design phase. The test cases are pre-computed with expected results using formal verification techniques, then executed efficiently during validation without requiring time-consuming regeneration or complex runtime analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating test cases that replicate and vary critical code paths and execution scenarios. Multiple test cases are generated that copy the structure of critical operations with different inputs and conditions, allowing comprehensive validation through repeated execution of validated patterns rather than exhaustive formal verification during runtime.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12632354B2Microprocessor validation using random prepackaged generated test functions and user level scheduler
Publication Date: 2026.05.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12632354B2 patent drawing
  • US12632354B2 patent drawing
  • US12632354B2 patent drawing

AI summary

A method of microprocessor validation includes creating a plurality of actionable items in a system memory for execution by multiple hardware threads, creating a hardware thread table structure in the system memory, wherein the hardware thread table structure contains the multiple hardware threads, creating a Process Table Structure (PTS) table in the system memory, where the PTS table includes entry points into the plurality of actionable items, creating a re-entrant entry point function (FSCHED) in the system memory to allow the multiple hardware threads to enter the plurality of actionable items, inspecting each of actionable items to identify an inactive actionable item, where if an inactive actionable item is identified, the FSCHED atomically locks the inactive actionable item and a hardware thread enters the inactive actionable item and executes the inactive actionable item until finished, where the FSCHED locks the inactive actionable item and continues searching for inactive actionable items.