Abstract
The paper describes Hamming weight counters/comparators built on counting networks that incorporate two distinctive and important features. The counting networks are composed of simple logic (core) elements with incrementally reducing numbers of elements from the inputs to the outputs. This feature provides the same performance as the best known sorting networks with radically reduced complexity. Compared to a competitive design based on parallel counters, the propagation delays of signals passing through data independent segments within the circuit are shortened, which allows faster pipelined implementations. Several types of counting networks are elaborated, namely pure combinational, partially sequential with reusable fragments, and pipelined. The correctness of the proposed concept and scalability of the networks are proven. Formal expressions to estimate the complexity and throughput of the network are given. Finally, the results of extensive experiments, evaluations and comparisons are reported that demonstrate that the solutions proposed offer better characteristics than the best known alternatives.
Similar content being viewed by others
References
Bailey DG (2011) Design for embedded image processing on FPGAs. Wiley, New York
Knuth DE (1973) The art of computer programming. Sorting and searching, vol 3. Addison-Wesley, USA
Zakrevskij A, Pottoson Yu, Cheremisiniva L (2008) Combinatorial algorithms of discrete mathematics. TUT Press, Tallinn, Estonia
Parhami B (2009) Efficient Hamming weight comparators for binary vectors based on accumulative and up/down parallel counters. IEEE Trans Circuits Syst II Express Briefs 56(2):167–171
Piestrak SJ (May 2007) Efficient hamming weight comparators of binary vectors. Electron Lett 43(11):611–612
Sklyarov V, Skliarova I, Mihhailov D, Sudnitson A (2011) Implementation in FPGA of Address-based Data Sorting. In: Proceedings of 21st International Conference on Field-Programmable Logic and Applications—FPL’11, pp 405–410
Barral C, Coron JS, Naccache D (2004) Externalized fingerprint matching. Lect Notes Comput Sci 3072:309–315
Asada K, Komatsu S, Ikeda M (1999) Associative memory with minimum Hamming distance detector and its application to bus data encoding. In: Proceedings of the IEEE Asia-Pacific ASIC Conference— AP-ASIC’99, p 282
Nambiar VP, Balakrishnan S, Khalil-Hani M, Marsono MN (2013) HW/SW co-design of reconfigurable hardware-based genetic algorithm in FPGAs applicable to a variety of problems. Computing 1–24
Skliarova I, Ferrari AB (2003) The design and implementation of a reconfigurable processor for problems of combinatorial computation. J Syst Archit (Special Issue on Reconfigurable Systems) 49(4–6): 211–226
Mueller R, Teubner J, Alonso G (2012) Sorting networks on FPGAs. Int J Very Large Data Bases 21(1):1–23
Zuluada M, Milder P, Puschel M (2012) Computer generation of streaming sorting networks. Proceedings of the 49th design automation conference, 2012, pp 1245–1253
Pedroni VA (Nov. 2003) Compact fixed-threshold and two-vector hamming comparators. Electron Lett 39(24):1705–1706
Pedroni V (2004) Compact Hamming-comparator-based rank order filter for digital VLSI and FPGA implementations. Proceedings of the IEEE International Symposium on Circuits and Systems—ISCAS’2004, pp 585–588
Wendt PD, Coyle EJ, Gallagher NC (Aug. 1986) Stack filters. IEEE Trans Acoust Speech Signal Process 34(4):898–908
Storace M, Poggi T (2011) Digital architectures realizing piecewise-linear multivariate functions: two FPGA implementations. Int J Circ Theor Appl 39:1–15
Sklyarov V, Skliarova I (2012) Data processing in FPGA-based systems. Tutorial, Proceedings 6th international conference on application of information and communication technologies—AICT, Oct 2012, pp 291–295
Xilinx, 7 Series DSP48E1 Slice User Guide, available at: http://www.xilinx.com/support/documentation/user_guides/ug479_7Series_DSP48E1.pdf
Digilent boards, drivers, and VHDL modules, available at http://www.digilentinc.com/
Xillybus Lite for Zynq-7000: Easy FPGA registers with Linux. Available at http://xillybus.com/xillybus-lite
Acknowledgments
The authors would like to thank Ivor Horton for his very useful comments and suggestions. This research was supported by FEDER through the Operational Program Competitiveness Factors—COMPETE and by National Funds through FCT—Foundation for Science and Technology in the context of projects FCOMP-01-0124-FEDER-022682 (FCT reference PEst-C/EEI/UI0127/2011) and Incentivo/EEI/UI0127/2013.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sklyarov, V., Skliarova, I. Design and implementation of counting networks. Computing 97, 557–577 (2015). https://doi.org/10.1007/s00607-013-0360-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-013-0360-y