×

Reveal

swMATH ID: 801
Software Authors: Andraus, Zaher S.; Liffiton, Mark H.; Sakallah, Karem A.
Description: We describe the Reveal formal functional verification system and its application to four representative hardware test cases. Reveal employs counterexample-guided abstraction refinement, or CEGAR, and is suitable for verifying the complex control logic of designs with wide datapaths. Reveal performs automatic datapath abstraction yielding an approximation of the original design with a much smaller state space. This approximation is subsequently used to verify the correctness of control logic interactions. If the approximation proves to be too coarse, it is automatically refined based on the spurious counterexample it generates. Such refinement can be viewed as a form of on-demand “learning” similar in spirit to conflict-based learning in modern Boolean satisfiability solvers. The abstraction/refinement process is iterated until the design is shown to be correct or an actual design error is reported. The Reveal system allows some user control over the abstraction and refinement steps. This paper examines the effect on Reveal’s performance of the various available options for abstraction and refinement. Based on our initial experience with this system, we believe that automating the verification for a useful class of hardware designs is now quite feasible.
Homepage: http://www.springerlink.com/content/x5n182m473410w08/fulltext.pdf
Related Software: MiniSat; MUSer2; HMQV; Paracooba; Kissat; CaDiCaL; Z3str3; Rosette; GitHub; COMiniSatPS; JViews; AsmL; Yices; Calysto; EUFORIA; CTIGAR; MOPS; z3; SMT-LIB; SLAM
Cited in: 22 Publications

Citations by Year