Automatic and efficient verification of multiplier designs, especially through a provably correct method, is a difficult problem. We show how to utilize a theorem prover, ACL2, to implement an efficient rewriting algorithm for multiplier design verification. Through a basic understanding of the features and data structures of ACL2, we created a verified program that can automatically verify various multiplier designs much faster than the other state-of-the-art tools. Additionally, users of our system have the flexibility to change the specification for the target design to verify variations of multipliers. We discuss the challenges we tackled during the development of this program as well as key implementation details for efficiency and verifiability. Those who plan to implement an efficient program on a theorem prover or those who wish to implement our multiplier verification methodology on a different system may benefit from the discussions in this paper.
翻译:对乘数设计进行自动和高效的核查是一个困难的问题。我们展示了如何利用理论验证者ACL2来实施一个高效的乘数设计核查重写算法。通过对ACL2的特征和数据结构的基本理解,我们创建了一个经过核实的程序,它能够自动地比其他最先进的工具更快地核查各种乘数设计。此外,我们的系统的用户可以灵活地改变目标设计规格,以核查乘数的变异。我们讨论了我们在开发这个程序期间处理的挑战,以及效率和可核查性的关键执行细节。那些计划对理论验证者实施高效程序的人,或者那些希望在不同的系统中实施我们的乘数核查方法的人,可以从本文件的讨论中受益。