Hardware n Choose k Counters with Applications to the Partial Exhaustive Search

The main contribution of this work is to present several hardware implementations of an "n choose k" counter (C(n,k) counter for short), which lists all n-bit numbers with (n-k) 0's and k 1's, and to show their applications. We first present concepts of C(n,k) counters and their efficient implementations on an FPGA. We then go on to evaluate their performance in terms of the number of used slices and the clock frequency for the Xilinx VirtexII family FPGA XC2V3000-4. As one of the real life applications, we use a C(n,k) counter to accelerate a digital halftoning method that generates a binary image reproducing an original gray-scale image. This method repeatedly replaces an image pattern in small square regions of a binary image by the best one. By the partial exhaustive search using a C(n,k) counter we succeeded in accelerating the task of finding the best image pattern and achieved a speedup factor of more than 2.5 over the simple exhaustive search.

[1]  Koji Nakano,et al.  An image retrieval system using FPGAs , 2003, ASP-DAC '03.

[2]  Koji Nakano,et al.  Accelerating the CKY Parsing Using FPGAs , 2002, HiPC.

[3]  Rajeev Motwani,et al.  Randomized Algorithms , 1995, SIGA.

[4]  Makoto Yokoo,et al.  Solving satisfiability problems using reconfigurable computing , 2001, IEEE Trans. Very Large Scale Integr. Syst..

[5]  Wojciech Rytter,et al.  Efficient parallel algorithms , 1988 .

[6]  Juraj Hromkovic,et al.  Algorithmics for hard problems - introduction to combinatorial optimization, randomization, approximation, and heuristics , 2001 .

[7]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[8]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[9]  Koichi Wada,et al.  Integer Summing Algorithms on Reconfigurable Meshes , 1998, Theor. Comput. Sci..

[10]  Behrooz Parhami,et al.  Computer arithmetic - algorithms and hardware designs , 1999 .

[11]  Donald E. Knuth,et al.  Digital halftones by dot diffusion , 1987, TOGS.

[12]  David E. Muller,et al.  Bounds to Complexities of Networks for Sorting and for Switching , 1975, JACM.

[13]  Albert Y. Zomaya,et al.  Scalable Hardware-Algorithms for Binary Prefix Sums , 1999, IPPS/SPDP Workshops.

[14]  Marco Platzner,et al.  Acceleration of Satisfiability Algorithms by Reconfigurable Hardware , 1998, FPL.

[15]  Koji Nakano,et al.  FM screening by the local exhaustive search, with hardware acceleration , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..