skip to main content
10.1145/3316781.3317898acmconferencesArticle/Chapter ViewAbstractPublication PagesdacConference Proceedingsconference-collections
research-article

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

Authors Info & Claims
Published:02 June 2019Publication History

ABSTRACT

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.

References

  1. Abc: A system for sequential synthesis and verification. available at https://people.eecs.berkeley.edu/~alanmi/abc/, 2018.Google ScholarGoogle Scholar
  2. Arithmetic module generator based on acg. available at https://www.ecsis.riec.tohoku.ac.jp/topics/amg/i-amg, 2019.Google ScholarGoogle Scholar
  3. M. Bahadori, M. Kamal, A. Afzali-Kusha, and M. Pedram. High-speed and energy-efficient carry skip adder operating under a wide range of supply voltage levels. TVLSI, 24(2):421--433, Feb. 2016.Google ScholarGoogle Scholar
  4. D. A. Cox, J. Little, and D. O'Shea. Ideals Varieties and Algorithms. Springer, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. F. Farahmandi and B. Alizadeh. Gröbner basis based formal verification of large arithmetic circuits using gaussian elimination and cone-based polynomial extraction. MICPRO, 39(2):83--96, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. I. Koren. Computer Arithmetic Algorithms. A. K. Peters, Ltd., 2nd edition, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. A. Mahzoon, D. Große, and R. Drechsler. Combining symbolic computer algebra and boolean satisfiability for automatic debugging and fixing of complex multipliers. In ISVLSI, pages 351--356, 2018.Google ScholarGoogle ScholarCross RefCross Ref
  8. A. Mahzoon, D. Große, and R. Drechsler. PolyCleaner: clean your polynomials before backward rewriting to verify million-gate multipliers. In ICCAD, pages 129:1--129:8, 2018. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. Mishchenko, S. Chatterjee, and R. K. Brayton. Dag-aware aig rewriting a fresh look at combinational logic synthesis. In DAC, pages 532--535, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. P. Pan and C.-C. Lin. A new retiming-based technology mapping algorithm for lut-based fpgas. In FPGAs for Custom Computing Machines, pages 35--42, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Ritirc, A. Biere, and M. Kauers. Column-wise verification of multipliers using computer algebra. In FMCAD, pages 23--30, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Ritirc, A. Biere, and M. Kauers. Improving and extending the algebraic approach for verifying gate-level multipliers. In DATE, pages 1556--1561, 2018.Google ScholarGoogle Scholar
  13. A. Sayed-Ahmed, D. Große, U. Kühne, M. Soeken, and R. Drechsler. Formal verification of integer multipliers by combining Gröbner basis with logic reduction. In DATE, pages 1048--1053, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Sayed-Ahmed, D. Große, M. Soeken, and R. Drechsler. Equivalence checking using Gröbner bases. In FMCAD, pages 169--176, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Soeken, H. Riener, W. Haaswijk, and G. D. Micheli. The EPFL logic synthesis libraries, May 2018. arXiv:1805.05121.Google ScholarGoogle Scholar
  16. D. Stoffel and W. Kunz. Equivalence checking of arithmetic circuits on the arithmetic bit level. TCAD, 23(5):586--597, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Vasudevan, V. Viswanath, R. W. Sumners, and J. A. Abraham. Automatic verification of arithmetic circuits in RTL using stepwise refinement of term rewriting systems. TC, 56(10):1401--1414, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. Yu, W. Brown, D. Liu, A. Rossi, and M. Ciesielski. Formal verification of arithmetic circuits by function extraction. TCAD, 35(12):2131--2142, 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. C. Yu, M. Ciesielski, and A. Mishchenko. Fast algebraic rewriting based on and- inverter graphs. TCAD, 37(9):1907--1911, 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Zimmermann. Binary Adder Architectures for Cell-Based VLSI and their Synthesis. PhD thesis, Swiss Federal Institute of Technology, 1997.Google ScholarGoogle Scholar
  1. RevSCA: Using Reverse Engineering to Bring Light into Backward Rewriting for Big and Dirty Multipliers

    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
      DAC '19: Proceedings of the 56th Annual Design Automation Conference 2019
      June 2019
      1378 pages
      ISBN:9781450367257
      DOI:10.1145/3316781

      Copyright © 2019 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: 2 June 2019

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate1,770of5,499submissions,32%

      Upcoming Conference

      DAC '24
      61st ACM/IEEE Design Automation Conference
      June 23 - 27, 2024
      San Francisco , CA , USA

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader