RevSCA: Using Reverse Engineering to Bring Light into Backward Rewriting for Big and Dirty Multipliers

In recent years, formal methods based on Symbolic Computer Algebra (SCA) have shown very good results in verification of integer multipliers. The success is based on removing redundant terms (vanishing monomials) early which allows to avoid the explosion in the number of monomials during backward rewriting. However, the SCA approaches still suffer from two major problems: (1) high dependence on the detection of Half Adders (HAs) realized as AND-XOR gates in the multiplier netlist, and (2) extremely large search space for finding the source of the vanishing monomials. As a consequence, if the multiplier consists of dirty logic, i.e. for instance using non-standard libraries or logic optimization, the existing SCA methods are completely blind on the resulting polynomials, and their techniques for effective division fail.In this paper, we present REVSCA. REVSCA brings back light into backward rewriting by identifying the atomic blocks of the arithmetic circuits using dedicated reverse engineering techniques. Our approach takes advantage of these atomic blocks to detect all sources of vanishing monomials independent of the design architecture. Furthermore, it cuts the local vanishing removal time drastically due to limiting the search space to a small part of the design only. Experimental results confirm the efficiency of our approach in verification of a wide variety of integer multipliers with up to 1024 output bits.

[1]  Rolf Drechsler,et al.  Formal verification of integer multipliers by combining Gröbner basis with logic reduction , 2016, 2016 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  Armin Biere,et al.  Improving and extending the algebraic approach for verifying gate-level multipliers , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[3]  Armin Biere,et al.  Column-wise verification of multipliers using computer algebra , 2017, 2017 Formal Methods in Computer Aided Design (FMCAD).

[4]  Alan Mishchenko,et al.  Fast Algebraic Rewriting Based on And-Inverter Graphs , 2018, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[5]  Israel Koren Computer arithmetic algorithms , 1993 .

[6]  Rolf Drechsler,et al.  Combining Symbolic Computer Algebra and Boolean Satisfiability for Automatic Debugging and Fixing of Complex Multipliers , 2018, 2018 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[7]  André Rossi,et al.  Formal Verification of Arithmetic Circuits by Function Extraction , 2016, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[8]  Farimah Farahmandi,et al.  Groebner basis based formal verification of large arithmetic circuits using Gaussian elimination and cone-based polynomial extraction , 2015, Microprocess. Microsystems.

[9]  Jacob A. Abraham,et al.  Automatic Verification of Arithmetic Circuits in RTL Using Stepwise Refinement of Term Rewriting Systems , 2007, IEEE Transactions on Computers.

[10]  Dominik Stoffel,et al.  Equivalence checking of arithmetic circuits on the arithmetic bit level , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[11]  Rolf Drechsler,et al.  PolyCleaner: Clean your Polynomials before Backward Rewriting to verify Million-gate Multipliers , 2018, 2018 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[12]  Reto Zimmermann,et al.  Binary adder architectures for cell-based VLSI and their synthesis , 1997 .

[13]  Giovanni De Micheli,et al.  The EPFL Logic Synthesis Libraries , 2018, ArXiv.

[14]  Peichen Pan,et al.  A new retiming-based technology mapping algorithm for LUT-based FPGAs , 1998, FPGA '98.

[15]  Rolf Drechsler,et al.  Equivalence checking using Gröbner bases , 2016, 2016 Formal Methods in Computer-Aided Design (FMCAD).

[16]  Robert K. Brayton,et al.  DAG-aware AIG rewriting: a fresh look at combinational logic synthesis , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[17]  David A. Cox,et al.  Ideals, Varieties, and Algorithms , 1997 .

[18]  Mehdi Kamal,et al.  High-Speed and Energy-Efficient Carry Skip Adder Operating Under a Wide Range of Supply Voltage Levels , 2016, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.