Resumable Instruction Generation for Processor Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current instruction sequence generation systems for processor design verification struggle to thoroughly test complex processor designs due to the large number of states and functions, making it difficult to achieve and maintain specific internal CPU states, such as a full queue or concurrent operations, which are unlikely to occur in random test generation.

Innovation Solution

The implementation of a resumable instruction generation mechanism that allows saving and resuming the architectural and generator states during instruction sequence generation, enabling the use of saved states as initial conditions for additional instruction sequences, thereby focusing on specific processor conditions and increasing test coverage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If random test generation is used, then the system is simple to operate, but the coverage of specific processor states is insufficient

Engineering Contradiction:
Improvetest coverageVSAvoidoperation simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary actions by saving processor states and instruction sequences at designated checkpoints during test generation. This allows the test generator to later resume from these saved states rather than starting from scratch, enabling targeted testing of specific processor conditions while maintaining operational simplicity through automated state management.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If comprehensive processor states are tested, then the verification coverage increases, but the verification cycle time increases

Engineering Contradiction:
Improveverification coverageVSAvoidverification cycle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by saving processor states and instruction sequences at designated checkpoints during test generation. This allows the test generator to later resume from these saved states rather than starting from scratch, enabling targeted testing of specific processor conditions while maintaining operational simplicity through automated state management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of processor states and instruction sequences at save points. These copied states can be restored and reused multiple times, allowing comprehensive verification of different processor conditions without repeatedly executing entire test sequences, thereby reducing verification cycle time while maintaining high coverage.

Inventive Principle:
Principle #26Copying

3Measurement precision

If specific processor states are targeted, then the test precision improves, but the system complexity increases

Engineering Contradiction:
Improvestate targeting precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system introduces an intermediary mechanism (save/resume functionality) that bridges simple random test generation and complex targeted testing. The save points act as intermediaries that capture processor states and instruction sequences, allowing the test generator to later resume from these states and target specific processor conditions without requiring complex state management logic throughout the entire system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12072789B2Resumable instruction generation
Publication Date: 2024.08.27 HUAWEI TECH CO LTD
  • US12072789B2 patent drawing
  • US12072789B2 patent drawing
  • US12072789B2 patent drawing

AI summary

A method for generating instruction sequences for testing a processor design model. The method includes receiving, by an instruction sequence generator (ISG), an initial test template. The initial test template includes an initial set of instruction constraints and a save resumable state command. The ISG generates a first set of executable test instructions based on the initial test template. The ISG initiates the save resumable state command. The ISG creates and saves a snapshot that includes information on a resume state of the ISG and the first set of executable test instructions at the time the save resumable state command is initiated.