DocumentCode :
2607015
Title :
Implementing Murf: Accelerating Large State Space Exploration on FPGAs
Author :
Tie, M.E. ; Leeser, Miriam
Author_Institution :
Northeastern Univ., Boston, MA, USA
fYear :
2012
fDate :
April 29 2012-May 1 2012
Firstpage :
243
Lastpage :
243
Abstract :
PHAST, a Pipelined Hardware Accelerated STate Checker, achieves a 30x end-to-end speedup of a large state space exploration application in the form of an explicit state model checker. PHAST is a re-implementation, to accommodate FPGA hardware, of the Murphi verifier developed at Stanford University. Explicit state model checking explores a large state space and checks properties defined by the user. The FPGA infrastructure for PHAST can be reused for many different models and properties. Our model of the DASH protocol is similar in size and complexity to models Intel uses to validate proposed features of future processors: state sizes between 1200 and 1800 bits and a transition relation with more than 100 rules. Analysis of the DASH model as verified by PHAST indicates that the speedup will stay constant independent of the model being explored. The current implementation of PHAST, implemented on an Alpha-Data board with a Xilinx Virtex 5 and 1 GB of SDRAM, has the ability to explore up to 300,000 states in the DASH model. This model, with close to one hundred thousand states and 220 rules, takes up less than forty percent on the Virtex chip and less than thirty percent of the block RAMs. PHAST takes advantage of the flexible memory architecture and inherent concurrency provided by an FPGA to explore large state spaces. With access to more memory, PHAST could explore a much larger state space. This paper focuses on the generic structure developed for a hardware implementation of model checking as an example of accelerating large state space exploration. The main contributions in this paper lie in the hardware implementation specifics, including pipelining state generation to generate a new state every cycle and check that invariants, or safety properties, hold for all states; as well as efficiently implementing hash compaction and hash table lookups with a CAM for duplication detection and collision handling. The current implementation of PHAST uses a CAM to improve- the generated number of states by over 20,000. Large state space exploration is an application area particularly well suited to FPGA acceleration. State space exploration applications developed on GPUs have good results or small states, but none have managed to exhibit both characteristics.
Keywords :
DRAM chips; electronic engineering computing; field programmable gate arrays; formal verification; pipeline processing; CAM; DASH protocol; FPGA; GPU; Murφ; Murphi verifier; PHAST; SDRAM; Virtex chip; alpha-data board; flexible memory architecture; hash compaction; hash table lookups; pipelined hardware accelerated state checker; state model checker; state space exploration; Acceleration; Analytical models; Educational institutions; Field programmable gate arrays; Hardware; Random access memory; Space exploration; FPGA; Reconfigurable Hardware; formal verification;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Field-Programmable Custom Computing Machines (FCCM), 2012 IEEE 20th Annual International Symposium on
Conference_Location :
Toronto, ON
Print_ISBN :
978-1-4673-1605-7
Type :
conf
DOI :
10.1109/FCCM.2012.53
Filename :
6239824
Link To Document :
بازگشت