Environmental Modification Testing for Hardware Design Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex hardware designs often exceed the capabilities of formal verification systems, which struggle to verify design correctness under varying environmental conditions, leading to potential errors and performance issues.

Innovation Solution

Environmental modification testing with formal verification involves creating a reference copy of a hardware design to compare output values under different environmental conditions, using a comparator to identify errors by matching or mismatching output values from identical input data processed in different contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If formal verification is applied to complex hardware designs, then design correctness can be verified, but the system becomes overwhelmed by computational complexity and cannot handle varying environmental conditions

Engineering Contradiction:
Improvedesign correctnessVSAvoidverification system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification system is segmented into two distinct components: a formal verification engine that handles mathematical model verification, and a simulation engine that handles environmental condition testing. This segmentation allows each component to specialize in specific tasks, reducing the overall complexity burden on the formal verification system while maintaining comprehensive verification capability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A testbench environment acts as an intermediary layer between the formal verification system and the hardware design. This intermediary generates test cases based on environmental modifications and feeds them to the design under test, allowing the formal verification system to focus on logical correctness while the intermediary handles environmental variability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If comprehensive environmental testing is performed on hardware designs, then design robustness under varying conditions can be ensured, but the verification process becomes excessively complex and resource-intensive

Engineering Contradiction:
Improveenvironmental condition coverageVSAvoidverification process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system modifies environmental parameters (such as timing constraints, input data values, and operational conditions) systematically to generate diverse test cases. By changing parameters rather than redesigning the entire verification process for each environmental condition, the system achieves comprehensive coverage while maintaining manageable complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The simulation engine performs exhaustive environmental testing that would be impractical for formal verification alone. By allowing the simulation component to handle the computationally intensive environmental variations while the formal verification handles logical correctness, the system achieves excessive action in the right domain without overwhelming overall complexity

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10929584B1Environmental modification testing for design correctness with formal verification
Publication Date: 2021.02.23 AMAZON TECH INC
  • US10929584B1 patent drawing
  • US10929584B1 patent drawing
  • US10929584B1 patent drawing

AI summary

Environmental modification testing with a formal verification is implemented for language-specified hardware designs. A language-specified hardware design may be received. A reference copy of the language-specified hardware design may be created. A formal verification may be performed on both the language-specified hardware design and the reference copy with a same input data. Different environmental assumptions for processing the same input data through the reference copy and the language-specified hardware design may be applied. An output value of the language-specified hardware design may be compared with an output value of the reference copy to determine whether those output values match. Error indications may be provided based on a result of the comparison.