Automated Formal Equivalence Verification of Pipelined Nested Loops in Datapath Designs

12/28/2017
by   Payman Behnam, et al.
0

In this paper, we present an efficient formal approach to check the equivalence of synthesized RTL against the high-level specification in the presence of pipelining transformations. To increase the scalability of our proposed method, we dynamically divide the designs into several smaller parts called segments by introducing cut-points. Then we employ Modular Horner Expansion Diagram (M-HED) to check whether the specification and implementation are equivalent or not. In an iterative manner, the equivalence checking for each segment is performed. At each step, the equivalent nodes and those nodes which have an impact on them are removed until the whole design is covered. Our proposed method enables us to deal with the equivalence checking problem for behaviorally synthesized designs even in the presence of pipelines for nested loops. The empirical results demonstrate the efficiency and scalability of our proposed method in terms of run-time and memory usage for several large designs synthesized by a commercial behavioral synthesis tool. Average improvements in terms of the memory usage and run time in comparison with SMT- and SAT-based equivalence checking are 16.7x and 111.9x, respectively.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/22/2021

PEQcheck: Localized and Context-aware Checking of Functional Equivalence (Technical Report)

Refactorings must not alter the program's functionality. However, not al...
research
09/29/2020

Formal Verification of Arithmetic RTL: Translating Verilog to C++ to ACL2

We present a methodology for formal verification of arithmetic RTL desig...
research
03/22/2022

On Neural Network Equivalence Checking using SMT Solvers

Two pretrained neural networks are deemed equivalent if they yield simil...
research
01/29/2019

Abstract I/O Specification

We recently proposed an approach for the specification and modular forma...
research
02/26/2019

Correct and Efficient Antichain Algorithms for Refinement Checking

Refinement checking plays an important role in system verification. This...
research
08/01/2023

Datapath Verification via Word-Level E-Graph Rewriting

Formal verification of datapath circuits is challenging as they are subj...
research
08/04/2020

Microservice Interface Based Deployment Orchestration

Following previous work on the automated deployment orchestration of com...

Please sign up or login with your details

Forgot password? Click here to reset