Formal Verification of Multiplier Circuit Designs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Formal verification of arithmetic circuits, particularly multipliers, is challenging due to the lack of robust frameworks for satisfiability and decision diagrams, leading to difficulties in ensuring functional correctness, especially in full-custom designs where manual optimizations result in complex structures that are hard to abstract beyond the Boolean bit-level, and standard property checking often fails for designs with different architectures.

Innovation Solution

A method and system for formal verification of arithmetic circuits using a Booth encoding-based approach, where a reference design is created at the word level with a partial product generator and adder tree, allowing for equivalence checking between the reference and actual circuit designs, and extracting an adder network to verify the arithmetic functions, facilitating automatic proof frameworks and correcting designs through bit-level reasoning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If standard property checking is used for multiplier verification, then verification process is simple, but verification fails for designs with different architectures

Engineering Contradiction:
Improveverification process simplicityVSAvoidverification accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary representation layer between the circuit netlist and the verification engine. This intermediary form represents arithmetic operations in a standardized way that can be verified regardless of the specific architectural implementation details, allowing different multiplier architectures to be verified through a common verification framework

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If equivalence checking is used to verify multipliers, then verification can work across different architectures, but the process becomes computationally expensive and complex

Engineering Contradiction:
Improveverification accuracyVSAvoidverification process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The verification process is segmented into distinct phases: first converting the netlist to an intermediate representation, then performing verification on this simplified representation. This segmentation reduces the complexity of the overall verification process by breaking down the complex equivalence checking into more manageable steps

Inventive Principle:
Principle #1Segmentation

3Speed

If manual optimization is applied to meet timing requirements, then circuit performance is improved, but design complexity increases and abstraction becomes difficult

Engineering Contradiction:
Improvecircuit performanceVSAvoiddesign complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent creates a copy of the optimized circuit in an intermediate representation that preserves the essential arithmetic functionality while stripping away the complex optimization details. This copy can be verified using standard techniques without requiring the verifier to understand or process the complex manual optimizations that were applied to the original circuit

Inventive Principle:
Principle #26Copying

4Loss of information

If BDDs are used to represent multiplier outputs, then Boolean function representation is achieved, but node explosion occurs leading to memory exhaustion

Engineering Contradiction:
Improveinformation representation capabilityVSAvoidmemory consumption
Core Design Contradiction:
Loss of informationVSQuantity of substance

Solution Approach 1:

The patent changes the representation parameter from traditional BDDs to a novel intermediate representation that uses a different data structure and organization principle. This new representation achieves compact encoding of arithmetic functions without the exponential node growth that plagues conventional BDD approaches

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7890903B2Method and system for formal verification of an electronic circuit design
Publication Date: 2011.02.15 SIEMENS INDUSTRY SOFTWARE INC
  • US7890903B2 patent drawing
  • US7890903B2 patent drawing
  • US7890903B2 patent drawing

AI summary

A new and convenient methodology for proving the correctness of multiplier and multiply-accumulate circuit designs in a full custom design flow. Such an approach utilizes a basic description of the implemented algorithm, which is created in early phases of the design flow and requires only little extra work for the designer who spends most of the time in full-custom optimizations. Such an approach also defines arithmetic circuit at the arithmetic bit level and allows for the generation of a gate level netlist. Given a structural similarity between the specification and design under verification, a large amount of structural similarity between the generated netlists is obtained so that a standard equivalence checker can be utilized to verify the design against the specification.