Use of Formal Verification at Centaur Technology [chapter]

Warren A. Hunt, Sol Swords, Jared Davis, Anna Slobodova
2010 Design and Verification of Microprocessor Systems for High-Assurance Applications  
We have developed a formal-methods-based hardware verification toolflow to help ensure the correctness of our X86-compatible microprocessors. Our toolflow uses the ACL2 theorem-proving system as a design database and a verification engine. We verify Verilog designs by first translating them into a formally defined hardware description language, and then using a variety of automated verification algorithms controlled by theorem-proving scripts. In this chapter, we describe our approach to
more » ... ng components of VIA Centaur's 64-bit Nano, X86-compatible microprocessor. We have successfully verified a number of media-unit operations, such as the packed addition/subtraction instructions. We have verified the integer multiplication unit, and we are in the process of verifying microcode sequences that perform arithmetic operations. Overview of Verification Methodology In our verification process, we first translate the Verilog RTL source code of Centaur's design into EMOD, a formally defined HDL. This process captures a design as an ACL2 object that can be interpreted by an ACL2-based HDL simulator. The HDL simulator is used both to run concrete test cases and to extract symbolic representations of the circuit logic of blocks of interest. We then use a combination of theorem proving and equivalence checking to prove Centaur Technology 7600C North Capital of Texas Hwy
doi:10.1007/978-1-4419-1539-9_3 fatcat:qczrzp6ah5a5lmq75hllk6oymq