Equivalence Checking Data Flow Graph Structural Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of modern semiconductor circuits makes it difficult to verify that lower-level designs match the specifications and intended logic functions, especially when designs are optimized for specific parameters and do not share a one-to-one correspondence across different levels of abstraction, leading to challenges in ensuring equivalence and performance.

Innovation Solution

A computer-implemented method using equivalence checking that involves obtaining word-level and bit-level data flow graphs, searching for partial-product encoding, removing redundancy, and performing structural analysis to reduce and partition these graphs for verification, including generating a reference model and using binary decision diagrams to identify and cut nodes corresponding to partial-product encoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If structural analysis and graph reduction techniques are applied to simplify equivalence checking, then verification speed and accuracy are improved, but the complexity of the verification process increases

Engineering Contradiction:
Improveequivalence checking accuracyVSAvoidverification process complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The verification process segments the complex equivalence checking task into distinct phases: obtaining word-level and bit-level data flow graphs, searching for partial-product encoding, removing redundancy, reducing graphs by finding adders, and performing final equivalence checking. This segmentation allows each phase to be optimized independently, improving overall verification accuracy while managing process complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

2Productivity

If manual construction is used to optimize for certain parameters, then performance and physical size are improved, but verification equivalence between different abstractions becomes more difficult

Engineering Contradiction:
Improvesystem performanceVSAvoiddesign equivalence
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces data flow graphs as an intermediary representation that bridges word-level and bit-level designs. By converting both designs into DFG format and applying structural analysis, the method creates a common verification framework that maintains equivalence reliability even when manual optimization is used, allowing verification without requiring one-to-one correspondence between original abstractions.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If design complexity increases to meet market demands, then system versatility and feature sets are improved, but verification difficulty and cost increase

Engineering Contradiction:
Improvesystem versatilityVSAvoidverification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The method performs preliminary structural analysis on data flow graphs before equivalence checking, including searching for partial-product encoding, removing redundancy, and reducing graphs by identifying adders. These preliminary actions simplify the verification task in advance, making it feasible to verify complex designs with high versatility without proportionally increasing verification difficulty or cost.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8914758B1Equivalence checking using structural analysis on data flow graphs
Publication Date: 2014.12.16 SYNOPSYS INC
  • US8914758B1 patent drawing
  • US8914758B1 patent drawing
  • US8914758B1 patent drawing

AI summary

A design is verified by using equivalence checking to compare a word-level description of the design to a bit-level description of the design. A word-level data flow graph (DFG) based on the word-level description and a bit-level DFG is obtained. Structural analysis is used to reduce the graphs and partition them into smaller portions for the equivalence checking. The analysis includes searching the bit-level DFG to find partial-product encoding and removing redundancy from the bit-level DFG. A reference model with architectural information from the bit-level DFG is created based on the word-level DFG. The reference model is reduced and equivalence checked against the bit-level DFG to determine if the word-level description is equivalent to the bit-level description.