首页 | 本学科首页   官方微博 | 高级检索  
     


Formal Verification of a Complex Pipelined Processor
Authors:Ravi Hosabettu  Ganesh Gopalakrishnan  Mandayam Srivas
Affiliation:(1) Sun Microsystems Inc., Sunnyvale, California, USA;(2) University of Utah, Salt Lake City, Utah, USA;(3) RealChip Inc., Sunnyvale, California, USA
Abstract:This paper addresses the problem of formally verifying the correctness of a complex pipelined microprocessor at the micro-architectural level of abstraction. The design verified is an example out-of-order execution processor with a reorder buffer, a store buffer, branch prediction, speculative execution and exceptions. We propose a systematic approach called the Completion Functions Approach to decompose and incrementally build its proof of correctness. The central idea is to construct the abstraction function using completion functions, one per unfinished instruction, each of which specifies the effect on the programmer visible state components of completing the instruction. This construction of the abstraction function leads to a very natural decomposition of the proof into proving a series of verification conditions. The approach prescribes a systematic way to generate these verification conditions which can then be discharged with a high degree of automation using techniques based on decision procedures and rewriting. The verification was completed in 34 person days, which we believe, is a modest investment in return for the significant benefits of formal verification.
Keywords:formal verification  processor verification  completion functions  PVS
本文献已被 SpringerLink 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号