Journal of VLSI Signal Processing 28, 85–96, 2001 c 2001 Kluwer Academic Publishers. Manufactured in The Netherlands. Quantitative Analysis of FPGA-based Database Searching N. SHIRAZI Xilinx, Inc., 2100 Logic Drive, San Jose, CA 95124-3400, USA D. BENYAMIN Department of Electrical Engineering, UCLA, 56-125B, Engr. IV Bldg., Los Angeles, CA 90095, USA W. LUK Department of Computing, Imperial College, 180 Queen’s Gate, London SW7 2BZ, UK P.Y.K. CHEUNG Department of Electrical Engineering, Imperial College, Exhibition Road, London SW7 2BT, UK S. GUO Philips Semiconductors, 811 E. Arques Ave. MS31, Sunnyvale, CA 94088-3409, USA Received July 1999; Revised December 1999 Abstract. This paper reports two contributions to the theory and practice of using reconfigurable hardware to implement search engines based on hashing techniques. The first contribution concerns technology-independent optimisations involving run-time reconfiguration of the hash functions; a quantitative framework is developed for estimating design trade-offs, such as the amount of temporary storage versus reconfiguration time. The second contribution concerns methods for optimising implementations in Xilinx FPGA technology, which achieve different trade-offs in cell utilisation, reconfiguration time and critical path delay; quantitative analysis of these trade-offs are provided. Keywords: FPGA, database searching, run-time reconfiguration 1. Introduction As the volume of information stored in databases con- tinues to expand, fast database searching has become an important and necessary activity. For this reason, two database searching algorithms have been mapped to the Splash 2 FPGA-based custom computing machine [1]. These algorithms are a text searching algorithm that can process 20 million characters per second, and a fingerprint matching algorithm that can search through 250,000 fingerprint records per second. FPGA-based search engines have also been reported for biological databases [2, 3]. This paper reports two contributions to the theory and practice of search engines based on hashing tech- niques, which have been used in the two database searching algorithms on Splash 2 described above. Our first contribution concerns technology-independent op- timisations involving run-time reconfiguration of the hash functions for such search engines. A quantitative framework is developed for estimating design trade- offs, such as the amount of temporary storage versus