skip to main content
10.1145/3487212.3487333acmconferencesArticle/Chapter ViewAbstractPublication PagesmemocodeConference Proceedingsconference-collections
research-article

Polynomial word-level verification of arithmetic circuits

Published:21 December 2021Publication History

ABSTRACT

Verifying the functional correctness of a circuit is often the most time-consuming part of the design process. Recently, world-level formal verification methods, e.g., Binary Moment Diagram (BMD) and Symbolic Computer Algebra (SCA) have reported very good results for proving the correctness of arithmetic circuits. However, these techniques still frequently fail due to memory or time requirements. The unknown complexity bounds of these techniques make it impossible to predict before invoking the verification tool whether it will successfully terminate or run for an indefinite amount of time.

In this paper, we formally prove that for integer arithmetic circuits, the entire verification process requires at most linear space and quadratic time with respect to the size of the circuit function. This is shown for the two main word-level verification methods: backward construction using BMD and backward substitution using SCA. We support the architectures which are used in the implementation of integer polynomial operations, e.g., X3 - XY2 + XY. Finally, we show in practice that the required space and run times of the word-level methods match the predicted results in theory when it comes to the verification of different arithmetic circuits, including exponentiation circuits with different power values (XP : 2 ≤ P ≤ 7) and more complicated circuits (e.g., X2 + XY + X).

References

  1. 2018. ABC: A System for Sequential Synthesis and Verification. available at https://people.eecs.berkeley.edu/~alanmi/abc/.Google ScholarGoogle Scholar
  2. Randal E. Bryant. 1995. Binary decision diagrams and beyond: enabling technologies for formal verification. In International Conference on Computer-Aided Design. 236--243.Google ScholarGoogle ScholarCross RefCross Ref
  3. David A. Cox, John Little, and Donal O'Shea. 1997. Ideals Varieties and Algorithms. Springer.Google ScholarGoogle Scholar
  4. David John Dempster and Michael George Stuart. 2001. Verification Methodology Manual - Techniques for Verifying HDL Designs. Teamwork International.Google ScholarGoogle Scholar
  5. Stefan Disch and Christoph Scholl. 2007. Combinational Equivalence Checking Using Incremental SAT Solving, Output Ordering, and Resets. In ASP Design Automation Conf. 938--943.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Rolf Drechsler. 2021. PolyAdd: Polynomial Formal Verification of Adder Circuits. In IEEE Symposium on Design and Diagnostics of Electronic Circuits and Systems. 99--104.Google ScholarGoogle Scholar
  7. Rolf Drechsler. 2021. Polynomial Circuit Verification using BDDs. arXiv:2104.03024.Google ScholarGoogle Scholar
  8. Rolf Drechsler and Bernd Becker. 1998. Binary Decision Diagrams - Theory and Implementation. Kluwer Academic Publishers.Google ScholarGoogle Scholar
  9. Rolf Drechsler and Caroline Dominik. 2021. Edge Verification: Ensuring Correctness under Resource Constraints. In Symposium on Integrated Circuits and System Design.Google ScholarGoogle ScholarCross RefCross Ref
  10. Rolf Drechsler, Alireza Mahzoon, and Lennart Weingarten. 2021. Polynomial Formal Verification of Arithmetic Circuits. In International Conference on Computational Intelligence and Data Engineering.Google ScholarGoogle Scholar
  11. Reinhard Enders. 1995. Note on the complexity of binary moment diagram representations. In Int'l Workshop on Applications of the Reed-Muller Expansion in Circuit Design. 191--197.Google ScholarGoogle Scholar
  12. Farimah Farahmandi and Bijan Alizadeh. 2015. Gröbner basis based formal verification of large arithmetic circuits using Gaussian elimination and cone-based polynomial extraction. Microprocessors and Microsystems 39, 2 (2015), 83--96.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Evguenii I. Goldberg, Mukul R. Prasad, and Robert K. Brayton. 2001. Using SAT for combinational equivalence checking. In Design, Automation and Test in Europe. 114--121.Google ScholarGoogle Scholar
  14. Kiyoharu Hamaguchi, Akihito Morita, and Shuzo Yajima. 1995. Efficient Construction of Binary Moment Diagrams for Verifying Arithmetic Circuits. In International Conference on Computer-Aided Design. 78--82.Google ScholarGoogle Scholar
  15. Deepak Kapur and Mahadevan Subramaniam. 1998. Mechanical Verification of Adder Circuits using Rewrite Rule Laboratory. Formal Methods in System Design 13, 2 (1998), 127--158.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Daniela Kaufmann, Armin Biere, and Manuel Kauers. 2019. Verifying Large Multipliers by Combining SAT and Computer Algebra. In Int'l Conf. on Formal Methods in CAD. 28--36.Google ScholarGoogle Scholar
  17. Martin Keim, Rolf Drechsler, Bernd Becker, Michael Martin, and Paul Molitor. 2003. Polynomial Formal Verification of Multipliers. Formal Meth. in Sys. Des. 22, 1 (2003), 39--58.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Robert P. Kurshan and Leslie Lamport. 1993. Verification of a multiplier: 64 bits and beyond. In Computer Aided Verification. 166--179.Google ScholarGoogle Scholar
  19. Alireza Mahzoon and Rolf Drechsler. 2021. Late Breaking Results: Polynomial Formal Verification of Fast Adders. In Design Automation Conf.Google ScholarGoogle Scholar
  20. Alireza Mahzoon and Rolf Drechsler. 2021. Polynomial Formal Verification of Prefix Adders. In Asian Test Symp.Google ScholarGoogle Scholar
  21. Alireza Mahzoon, Daniel Große, and Rolf Drechsler. 2018. PolyCleaner: Clean your Polynomials before Backward Rewriting to Verify Million-gate Multipliers. In International Conference on Computer-Aided Design. 129:1--129:8.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Alireza Mahzoon, Daniel Große, and Rolf Drechsler. 2019. RevSCA: Using Reverse Engineering to Bring Light into Backward Rewriting for Big and Dirty Multipliers. In Design Automation Conf. 185:1--185:6.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Alireza Mahzoon, Daniel Große, and Rolf Drechsler. 2021. REVSCA-2.0: SCA-based Formal Verification of Non-trivial Multipliers using Reverse Engineering and Local Vanishing Removal. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (2021).Google ScholarGoogle ScholarCross RefCross Ref
  24. Alireza Mahzoon, Daniel Große, Christoph Scholl, and Rolf Drechsler. 2020. Towards Formal Verification of Optimized and Industrial Multipliers. In Design, Automation and Test in Europe. 544--549.Google ScholarGoogle Scholar
  25. Lloris Ruiz, Castillo Morales, Parrilla Roure, and García Ríos. 2014. Algebraic Circuits. Springer.Google ScholarGoogle Scholar
  26. Shobha Vasudevan, Vinod Viswanath, Robert W. Sumners, and Jacob A. Abraham. 2007. Automatic Verification of Arithmetic Circuits in RTL Using Stepwise Refinement of Term Rewriting Systems. IEEE Trans. on Comp. 56, 10 (2007), 1401--1414.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Cunxi Yu, Walter Brown, Duo Liu, Andre Rossi, and Maciej Ciesielski. 2016. Formal verification of arithmetic circuits by function extraction. IEEE Transactions on Computer Aided Design of Circuits and Systems 35, 12 (2016), 2131--2142.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Cunxi Yu, Maciej Ciesielski, and Alan Mishchenko. 2017. Fast Algebraic Rewriting Based on And-Inverter Graphs. IEEE Transactions on Computer Aided Design of Circuits and Systems 37, 9 (2017), 1907--1911.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Polynomial word-level verification of arithmetic circuits

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      MEMOCODE '21: Proceedings of the 19th ACM-IEEE International Conference on Formal Methods and Models for System Design
      November 2021
      149 pages
      ISBN:9781450391276
      DOI:10.1145/3487212

      Copyright © 2021 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 December 2021

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate34of82submissions,41%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader