基于变量排序的乘法器电路验证结果的认证器
Authenticator for Verification Results of Multiplier Circuits Based on Variable Ordering
摘要: 验证算术电路特别是门级乘法器电路的正确性是一项重要的研究,目前最有效的验证方法是结合计算机代数和SAT求解来验证门级整数乘法器。为了增加验证结果的可信度,进一步生成证明证书,使用认证器检查以实用代数演算(PAC)证明格式生成单个证明的正确性。在本文中,我们提出了一种基于变量输入顺序的排序方法,使项充分在内部共享以减少冗余项的分配,从而减少认证器所占内存大小。此外,本文用C++语言重新实现了认证器,将函数封装为类,隐藏内部实现细节,提高代码的可读性和复用性,增强了数据安全性。
Abstract: Verifying the correctness of arithmetic circuits, especially gate-level multiplier circuits, is an important study, and currently the most effective verification method is to combine computer algebra and SAT solving to verify gate-level integer multipliers. To increase the confidence of the verification results, proof certificates are further generated using a certifier to check the correctness of generating individual proofs in Practical Algebraic Computation (PAC) proof format. In this paper, we propose a sorting method based on the order of variable inputs so that items are fully shared internally to reduce the allocation of redundant items, thus reducing the memory size occupied by the authenticator. Inaddition, this paper re-implemented the authenticator in C++, encapsulating the function as a class, hiding the internal implementation details, improving the readability and reusability of the code, and enhancing the data security.
文章引用:史美琦, 齐爽, 冯天烁, 江建国. 基于变量排序的乘法器电路验证结果的认证器[J]. 计算机科学与应用, 2023, 13(10): 1980-1987. https://doi.org/10.12677/CSA.2023.1310196

参考文献

[1] Sharangpani, H. and Barton, M.L. (1994) Statistical Analysis of Floating Point Flaw in the Pentium Proces-sor.
[2] Bryant, R.E. (1986) Graph-Based Algorithms for Boolean Function Manipulation. IEEE Transactions on Computers, 35, 677-691. [Google Scholar] [CrossRef
[3] Biere, A. (2016) Collection of Combina-tional Arithmetic Miters Sub-mitted to the SAT Competition 2016. In: SAT Competition 2016, volume B-2016-1 of Dep. of Computer Science Report Series B, 65-66. University of Helsinki.
[4] Hunt, W.A., Kaufmann, M., Moore, S.J., et al. (2017) Industrial Hardware and Software Verification with ACL2. Philosophical Transactions of the Royal Series A, 375. [Google Scholar] [CrossRef] [PubMed]
[5] Temel, M., Slobodová, A. and Hunt, W.A. (2020) Automated and Scalable Verification of Integer Multipliers. In: Lahiri, S., Wang, C., Eds., Computer Aided Verification, Vol 12224, Springer, Cham. [Google Scholar] [CrossRef
[6] Maciej, C., Tiankai, S., Atif, Y., et al. (2019) Understanding Algebraic Rewriting for Arithmetic Circuit Verification: A Bit-Flow Model. IEEE Transactions on Computer-Aided De-sign of Integrated Circuits and Systems, 39, 1346-1357. [Google Scholar] [CrossRef
[7] Daniela, K. (2022) Formal Verification of Multiplier Circuits Using Computer Algebra. it-Information Technology, 64, 285-291. [Google Scholar] [CrossRef
[8] Kaufmann, D., Biere, A. and Kauers, M. (2019) Verifying Large Multi-pliers by Combining SAT and Computer Algebra. 2019 Formal Methods in Computer Aided Design (FMCAD), San Jo-se, 22-25 October 2019, 28-36. [Google Scholar] [CrossRef
[9] Mahzoon, A., Große, D. and Drechsler, R. (2019) RevSCA: Using Reverse Engineering to Bring Light into Backward Rewriting for Big and Dirty Multipliers. Proceedings of the 56th Annual Design Automation Conference 2019, Las Vegas, 2-6 June 2019, 1-6. [Google Scholar] [CrossRef
[10] Mahzoon, A., Groß, D.E., et al. (2020) Towards Formal Verifica-tion of Optimized and Industrial Multipliers. 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, 9-13 March 2020, 544-549. [Google Scholar] [CrossRef
[11] Clegg, M., Edmonds, J. and Impagliazzo, R. (1996) Us-ing the Groebner Basis Algorithm to Find Proofs of Unsatisfiability. Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, Philadelphia, 22-24 May 1996, 174-183. [Google Scholar] [CrossRef
[12] 张鸿, 冯文新, 主编. C++面向对象程序设计教程[M]. 武汉: 武汉大学出版社, 2008.
[13] Kaufmann, D., Biere, A. and Kauers, M. (2020) From DRUP to PAC and Back. 2020 Design, Automation & Test in Europe Conference & Exhibition (DATE), Grenoble, 9-13 March 2020, 654-657. [Google Scholar] [CrossRef