Hardware Design Verification for Permutation Respecting Functions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for formally verifying hardware designs for components that implement permutation respecting functions are inefficient and often unable to converge, especially when dealing with large input elements or complex functions, leading to prolonged verification times or inconclusive results.

Innovation Solution

The approach involves breaking down the verification process into smaller steps, where the hardware design is formally verified to produce correct outputs for a subset of valid input vectors and to be permutation respecting for specific input vector permutations, allowing any other input vectors to be generated through combinations of these permutations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If formal verification is performed on all valid input vectors, then verification completeness is improved, but verification time becomes excessively long and convergence is difficult

Engineering Contradiction:
Improveverification completenessVSAvoidverification time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the verification process into two distinct parts: (1) verifying correctness on a carefully selected subset of input vectors, and (2) verifying the permutation-respecting property for representative permutations. This segmentation allows the verifier to avoid exhaustively checking all possible input vectors while still guaranteeing complete verification coverage through mathematical reasoning about the permutation structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary action by first identifying and verifying the permutation-respecting property for a small set of representative permutations before concluding full verification. This preliminary verification of structural properties enables the system to infer correctness for all other permutations without explicit checking, significantly reducing verification time while maintaining completeness.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If formal verification is performed on complex functions with large input elements, then verification accuracy is maintained, but verification convergence becomes difficult or impossible

Engineering Contradiction:
Improveverification accuracyVSAvoidverification complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the permutation-respecting property as a separate, independently verifiable characteristic from the overall function correctness. By isolating this structural property, the verification system can handle complex functions with large input elements more efficiently, as verifying the permutation property is computationally simpler than verifying full functional correctness for all input combinations.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If a subset of input vectors and permutations is used for verification, then verification efficiency is improved, but verification coverage may be reduced

Engineering Contradiction:
Improveverification efficiencyVSAvoidverification coverage
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent makes the verification approach universal by selecting the subset of input vectors and permutations based on the specific characteristics of the permutation-respecting function being verified. This allows the same verification framework to efficiently handle different types of permutation-respecting functions (sorting, finding extrema, computing aggregates) while maintaining both efficiency and complete coverage through mathematically sound selection criteria.

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

Data Source

PatentUS11455451B2Verifying a hardware design for a component that implements a permutation respecting function
Publication Date: 2022.09.27 IMAGINATION TECH LTD
  • US11455451B2 patent drawing
  • US11455451B2 patent drawing
  • US11455451B2 patent drawing

AI summary

Methods and systems for verifying a hardware design for a component that implements a permutation respecting function. The methods include formally verifying that an instantiation of the hardware design produces the correct result to the function for a subset of the valid input vectors; and formally verifying that an instantiation of the hardware design is permutation respecting for each of one or more input vector permutations (i.e. that the instantiation of the hardware design produces the permutation related outputs for an input vector and the permutation of that input vector) over a set of input vectors. The subset and the input vector permutations are selected so that any valid input vector that is not in the subset can be generated from an input vector in the subset via a combination of the one or more input vector permutations.