Graph Model for Pipelined Processor Functional Coverage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current microprocessor validation methods, particularly for deeply pipelined processor architectures, face challenges in ensuring comprehensive functional coverage due to the lack of a direct relationship between existing coverage measures and the actual functionality of the device, leading to inadequate testing of hazards, stalls, and exceptions.

Innovation Solution

A graph-theoretic model is developed to capture the structure and behavior of pipelined processors, enabling the definition of a functional fault model and automated test program generation that focuses on functional coverage, reducing the number of test sequences required to achieve a given fault coverage by several orders of magnitude.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional random and directed test cases are used for validation, then functional coverage can be attempted, but the number of test sequences required is excessively large and test generation time is long

Engineering Contradiction:
Improvefunctional coverageVSAvoidtest generation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces an intermediate representation (IR) that serves as a mediator between the processor architecture and the test generation process. This IR captures the essential functional behavior of the processor in a simplified form, enabling efficient analysis and test case synthesis without requiring exhaustive simulation of the complete processor implementation, thus dramatically reducing test generation time while maintaining functional coverage.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a simplified copy or model of the processor's functional behavior through the intermediate representation. This copy retains the critical functional characteristics needed for validation but omits implementation-specific details, allowing test cases to be generated efficiently from the model rather than from the full processor implementation, thereby reducing the computational burden and time required.

Inventive Principle:
Principle #26Copying

2Reliability

If complete processor modeling is performed to ensure comprehensive functional coverage, then all functional aspects can be tested, but the model size exceeds tool capacity restrictions

Engineering Contradiction:
Improvefunctional coverageVSAvoidmodel size
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential functional characteristics of the processor into the intermediate representation, separating the critical validation-relevant features from the complete processor implementation details. This extraction process creates a reduced model that fits within tool capacity limits while retaining sufficient fidelity to generate comprehensive functional test cases for hazards, stalls, and exceptions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the processor validation problem into two parts: a simplified intermediate representation for test generation and the complete processor implementation for final verification. This segmentation allows the complex complete model to be avoided during the computationally intensive test generation phase, while still enabling comprehensive functional coverage through the structured IR that captures essential behaviors.

Inventive Principle:
Principle #1Segmentation

3Productivity

If existing coverage measures like code coverage and toggle coverage are used, then validation can be performed, but these measures do not directly relate to the actual functionality of the device

Engineering Contradiction:
Improvevalidation efficiencyVSAvoidfunctional coverage accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent fundamentally changes the parameter used for measuring validation progress from traditional metrics like code coverage and toggle coverage to a new metric based on the intermediate representation. This new parameter directly reflects functional coverage by tracking which functional behaviors and interactions have been exercised, providing a precise measurement that directly relates to the actual functionality of the processor rather than surrogate metrics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7533294B2Functional coverage driven test generation for validation of pipelined processors
Publication Date: 2009.05.12 RGT UNIV OF CALIFORNIA
  • US7533294B2 patent drawing
  • US7533294B2 patent drawing
  • US7533294B2 patent drawing

AI summary

A functional coverage based test generation technique for pipelined architectures is presented. A general graph-theoretic model is developed that can capture the structure and behavior (instruction-set) of a wide variety of pipelined processors. A functional fault model is developed and used to define the functional coverage for pipelined architectures. Test generation procedures are developed that accept the graph model of the architecture as input and generate test programs to detect all the faults in the functional fault model. A graph model of the pipelined processor is automatically generated from the specification using functional abstraction. Functional test programs are generated based on the coverage of the pipeline behavior. Module level property checking is used to reduce test generation time.