Abstract
The size and complexity of digital circuits are increasing; thus, they are becoming more and more error-prone. In order to prevent the bugs from escaping to silicon, formal verification is a mandatory and important phase after the design. In particular, Polynomial Formal Verification (PFV) has gotten a lot of attention in recent years, since it makes the verification process scalable and predictable in terms of memory usage and run-time. However, applying PFV is not always easy, especially when it comes to complex circuits.
In this paper, the concept of PFV is reviewed. Then, we introduce a hybrid proof engine to attack the problem of verifying complex modern systems in polynomial space and time. The engine takes advantage of several verification techniques, such as combinational equivalence checking based on bit-level approaches, like SAT and Binary Decision Diagrams (BDDs), as well as word-level verification based on e.g. Symbolic Computer Algebra (SCA) and Word-Level Decision Diagrams (WLDDs). The correctness of each block or system task can be ensured in polynomial time using a specific verification technique from the environment. Thus, we overcome the shortcomings of using only one verification method and pave the way toward polynomial verification of highly complex architectures.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Barhoush, M., Mahzoon, A., Drechsler, R.: Polynomial word-level verification of arithmetic circuits. In: ACM and IEEE International Conference on Formal Methods and Models for Codesign, pp. 1–9 (2021)
Brace, K.S., Rudell, R.L., Bryant, R.E.: Efficient implementation of a BDD package. In: Design Automation Conference, pp. 40–45 (1990)
Bryant, R.E.: On the complexity of VLSI implementations and graph representations of Boolean functions with application to integer multiplication. IEEE Trans. Comput. 40(2), 205–213 (1991)
Bryant, R.E., Chen, Y.A.: Verification of arithmetic circuits with binary moment diagrams. In: Design Automation Conference, pp. 535–541 (1995)
Burch, J.: Using BDDs to verify multipliers. In: Design Automation Conference, pp. 408–412 (1991)
Drechsler, R.: PolyAdd: polynomial formal verification of adder circuits. In: IEEE Symposium on Design and Diagnostics of Electronic Circuits and Systems, pp. 99–104 (2021)
Drechsler, R.: Polynomial circuit verification using BDDs. In: International Conference on Electrical, Electronics, Communication, Computer Technologies and Optimization Techniques, pp. 466–483 (2021)
Drechsler, R., Dominik, C.: Edge verification: Ensuring correctness under resource constraints. In: Symposium on Integrated Circuits and System Design, pp. 1–6 (2021)
Drechsler, R., Mahzoon, A.: Towards polynomial formal verification of AI generated arithmetic circuits. In: International Symposium on Devices, Circuits and Systems (2023). https://ieeexplore.ieee.org/document/10153522
Drechsler, R., Mahzoon, A.: Polynomial formal verification: Ensuring correctness under resource constraints. In: International Conference on Computer-Aided Design, pp. 70:1–70:9 (2022)
Drechsler, R., Mahzoon, A., Goli, M.: Towards polynomial formal verification of complex arithmetic circuits. In: IEEE Symposium on Design and Diagnostics of Electronic Circuits and Systems, pp. 1–6 (2022)
Drechsler, R., Mahzoon, A., Weingarten, L.: Polynomial formal verification of arithmetic circuits. In: International Conference on Computational Intelligence and Data Engineering, pp. 457–470 (2021)
Hamaguchi, K., Morita, A., Yajima, S.: Efficient construction of binary moment diagrams for verifying arithmetic circuits. In: International Conference on Computer-Aided Design, pp. 78–82 (1995)
Kaufmann, D., Beame, P., Biere, A., Nordström, J.: Adding dual variables to algebraic reasoning for gate-level multiplier verification. In: Design, Automation and Test in Europe, pp. 1431–1436 (2022)
Kaufmann, D., Biere, A., Kauers, M.: Verifying large multipliers by combining SAT and computer algebra. In: Formal Methods in Computer-Aided Design, pp. 28–36 (2019)
Keim, M., Drechsler, R., Becker, B., Martin, M., Molitor, P.: Polynomial formal verification of multipliers. Formal Method. Syst. Des. Int. J. 22(1), 39–58 (2003)
Kumar, J., Miyasaka, Y., Srivastava, A., Fujita, M.: Formal verification of integer multiplier circuits using binary decision diagrams. IEEE Trans. Comput. Aided Des. Circuit. Syst. (2022). https://ieeexplore.ieee.org/document/9832648
Mahzoon, A., Drechsler, R.: Late breaking results: polynomial formal verification of fast adders. In: Design Automation Conference, pp. 1376–1377 (2021)
Mahzoon, A., Drechsler, R.: Polynomial formal verification of prefix adders. In: Asian Test Symp, pp. 85–90 (2021)
Mahzoon, A., Große, D., Drechsler, R.: RevSCA-2.0: SCA-based formal verification of non-trivial multipliers using reverse engineering and local vanishing removal. IEEE Trans. Comput. Aided Des. Circuit. Syst. 41(5), 1573–1586 (2022). https://ieeexplore.ieee.org/document/9440537
Malik, S., Wang, A.R., Brayton, R.K., Sangiovanni-Vincentelli, A.L.: Logic verification using binary decision diagrams in a logic synthesis environment. In: International Conference on Computer-Aided Design, pp. 6–9 (1988)
Mishchenko, A., Chatterjee, S., Brayton, R.K.: DAG-aware AIG rewriting a fresh look at combinational logic synthesis. In: Design Automation Conference, pp. 532–535 (2006)
Schnieber, M., Fröhlich, S., Drechsler, R.: Polynomial formal verification of approximate adders. In: EUROMICRO Symposium on Digital System Design, pp. 761–768 (2022)
Schnieber, M., Fröhlich, S., Drechsler, R.: Polynomial formal verification of approximate functions. In: IEEE Annual Symposium on VLSI, pp. 92–97 (2022)
Yu, C., Brown, W., Liu, D., Rossi, A., Ciesielski, M.: Formal verification of arithmetic circuits by function extraction. IEEE Trans. Comput. Aided Design Circuit. Syst. 35(12), 2131–2142 (2016)
Yu, C., Ciesielski, M., Mishchenko, A.: Fast algebraic rewriting based on and-inverter graphs. IEEE Trans. Comput. Aided Design Circuit. Syst. 37(9), 1907–1911 (2017)
Acknowledgements
This paper has been dedicated to the 65th birthday of Jan Peleska. Parts of this work have been supported by DFG within the Reinhart Koselleck Project PolyVer: Polynomial Verification of Electronic Circuits (DR 287/36-1).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Mahzoon, A., Drechsler, R. (2023). Polynomial Formal Verification of Complex Circuits Using a Hybrid Proof Engine. In: Haxthausen, A.E., Huang, Wl., Roggenbach, M. (eds) Applicable Formal Methods for Safe Industrial Products. Lecture Notes in Computer Science, vol 14165. Springer, Cham. https://doi.org/10.1007/978-3-031-40132-9_19
Download citation
DOI: https://doi.org/10.1007/978-3-031-40132-9_19
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-40131-2
Online ISBN: 978-3-031-40132-9
eBook Packages: Computer ScienceComputer Science (R0)