Netlist Reduction for Memory Abstraction in Hardware Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current model checking technologies face difficulties in efficiently verifying complex hardware designs with wide datapaths and large memories, as they require time-consuming designer annotations and computationally hard abstractions, and are limited in analyzing sequential systems and unbounded properties.

Innovation Solution

A netlist reduction method that abstracts circuit designs with memories into smaller representations, using a directed acyclic graph data structure to reduce memory slots and bit widths, allowing for standard verification tools to check specified properties with reduced computational complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional model checking is applied to hardware designs with large memories, then verification completeness is improved, but computational complexity increases making the problem intractable

Engineering Contradiction:
Improveverification completenessVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and separates memory components from the rest of the circuit design, creating an abstracted representation that focuses only on relevant memory slots. This extraction allows verification to proceed on a reduced model rather than the complete design, resolving the contradiction between verification completeness and computational complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the large memory into smaller, manageable subsets of slots that are actually relevant to the property being verified. By dividing the memory verification problem into smaller segments, the computational complexity is reduced while maintaining verification effectiveness for the properties of interest.

Inventive Principle:
Principle #1Segmentation

2Productivity

If designer annotations are used to speed up model checking, then verification time is reduced, but the process becomes time-consuming for the designer

Engineering Contradiction:
Improveverification speedVSAvoiddesigner time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements self-service by automatically identifying and abstracting relevant memory slots without requiring designer annotations. The verification tool autonomously analyzes the design and determines which memory slots are relevant to the properties being verified, eliminating the need for manual designer intervention while maintaining verification speed.

Inventive Principle:
Principle #25Self-service

3Productivity

If abstractions of the design are computed to speed up verification, then verification efficiency is improved, but the computation becomes as hard as solving the original problem

Engineering Contradiction:
Improveverification efficiencyVSAvoidabstraction computation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies partial action by computing abstractions only for the specific subset of memory slots that are relevant to the verification property, rather than computing a complete abstraction of the entire design. This partial abstraction approach achieves verification efficiency without incurring the full computational cost of complete design abstraction.

Inventive Principle:
Principle #16Partial or excessive action

4Measurement precision

If word-level analysis is applied to designs with wide datapaths and large memories, then verification accuracy is improved, but the problem becomes harder to solve

Engineering Contradiction:
Improveverification accuracyVSAvoidproblem difficulty
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies local quality by maintaining word-level analysis precision only for the relevant memory slots and datapath elements that are critical to the verification property. Rather than applying uniform word-level analysis to the entire large memory, the method focuses computational resources on local regions where precision is most needed, reducing overall problem difficulty while maintaining verification accuracy.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8104000B2Method and apparatus for memory abstraction and for word level net list reduction and verification using same
Publication Date: 2012.01.24 SYNOPSYS INC
  • US8104000B2 patent drawing
  • US8104000B2 patent drawing
  • US8104000B2 patent drawing

AI summary

A computer implemented representation of a circuit design including memory is abstracted to a smaller netlist by replacing memory with substitute nodes representing selected slots in the memory, segmenting word level nodes, including one or more of the substitute nodes, in the netlist into segmented nodes, finding reduced safe sizes for the segmented nodes and generating an updated data structure representing the circuit design using the reduced safe sizes of the segmented nodes. The correctness of such systems can require reasoning about a much smaller number of memory entries and using nodes having smaller bit widths than exist in the circuit design. As a result, the computational complexity of the verification problem is substantially reduced.