Abstract
This chapter demonstrates distinctive features of FPGA-based hardware accelerators. In order to compete with the existing alternative solutions (both in hardware and in software) a wide level parallelism must be implemented in circuits with small propagation delays. For providing such characteristics several useful techniques are discussed and analyzed such as the ratio between combinational and sequential computations at different levels. Individual data items are represented in the form of long size input vectors that are processed concurrently in accelerators producing long size output vectors. Thus, pre- (conversion of individual items to long size input vectors) and post- (conversion of long size output vectors to individual items) processing operations have to be carried out. The technique of communication-time data processing is introduced and its importance is underlined. Core network-based architectures of hardware accelerators are discussed and the best architectures are chosen for future consideration. Finally, different aspects of design and implementation of FPGA-based hardware accelerators are analyzed and three sources for the designs are chosen that are synthesizable hardware description language specifications, the proposed reusable components, and intellectual property cores available on the market. At the end of the chapter a few useful examples are presented in detail and discussed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Knuth DE (2011) The art of computer programming. sorting and searching, 3rd edn. Addison-Wesley, Massachusetts
Aj-Haj Baddar SW, Batcher KE (2011) Designing sorting networks. A new paradigm. Springer, Berlin
Sklyarov V, Skliarova I, Barkalov A, Titarenko L (2014) Synthesis and optimization of FPGA-based systems. Springer, Berlin
Sklyarov V, Skliarova I (2014) High-performance implementation of regular and easily scalable sorting networks on an FPGA. Microprocess Microsyst 38(5):470–484
Mueller R, Teubner J, Alonso G (2012) Sorting networks on FPGAs. Int J Very Large Data Bases 21(1):1–23
Sklyarov V, Skliarova I (2015) Design and implementation of counting networks. Comput J 97(6):557–577
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
Zuluaga M, Milder P, Puschel M (2012) Computer generation of streaming sorting networks. In: Proceedings of the 49th design automation conference, New York
Skliarova I, Ferrari AB (2004) Reconfigurable hardware SAT solvers: a survey of systems. IEEE Trans Comput 53(11):1449–1461
Davis JD, Tan Z, Yu F, Zhang L (2008) A practical reconfigurable hardware accelerator for Boolean satisfiability solvers. In: Proceedings of the 45th ACM/IEEE design automation conference—DAC’2008, Anaheim, California, USA, June 2008, pp 780–785
Sklyarov V (1999) Hierarchical finite-state machines and their use for digital control. IEEE Trans VLSI Syst 7(2):222–228
Sklyarov V (2010) Synthesis of circuits and systems from hierarchical and parallel specifications. In: Proceedings of the 12th Biennial Baltic electronics conference – BEC’2010, Tallinn, Estonia, Oct 2010, pp 389–392
Skliarova I, Sklyarov V, Sudnitson A (2012) Design of FPGA-based circuits using hierarchical finite state machines. TUT Press
Sklyarov V, Skliarova I (2013) Hardware implementations of software programs based on HFSM models. Int J Comput Electr Eng 39(7):2145–2160
Sklyarov V, Skliarova I (2017) Data processing in the firmware systems for logic control based on search networks. Autom Remote Control 78(1):100–112
Batcher KE (1968) Sorting networks and their applications. In: Proceedings of AFIPS spring joint computer conference, USA
Sklyarov V, Skliarova I, Rjabov A, Sudnitson A (2017) Fast iterative circuits and RAM-based mergers to accelerate data sort in software/hardware systems. Proc Est Acad Sci 66(3):323–335
Xilinx Inc. (2018) Vivado design suite user guide. https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_1/ug910-vivado-getting-started.pdf. Accessed 13 Feb 2019
Digilent Inc. (2016) Nexys-4TM reference manual. https://reference.digilentinc.com/_media/reference/programmable-logic/nexys-4/nexys4_rm.pdf. Accessed 13 Feb 2019
Digilent Inc. (2017) ZYBOâ„¢ FPGA board reference manual. https://reference.digilentinc.com/_media/reference/programmable-logic/zybo/zybo_rm.pdf. Accessed 13 Feb 2019
Sklyarov V, Skliarova I, Silva J, Rjabov A, Sudnitson A, Cardoso C (2014) Hardware/software co-design for programmable systems-on-chip. TUT Press
Silva J, Sklyarov V, Skliarova I (2015) Comparison of on-chip communications in Zynq-7000 all programmable systems-on-chip. IEEE Embed Syst Lett 7(1):31–34
Sklyarov V, Skliarova I, Silva J, Sudnitson A (2015) Analysis and comparison of attainable hardware acceleration in all programmable systems-on-chip. In: Proceedings of the Euromicro conference on digital system design—Euromicro DSD’2015, Madeira, Portugal
Sklyarov V, Skliarova I (2016) Digital design: best practices and future trends. In: Proceedings of the 15th Biennial Baltic electronics conference—BEC’2016, Tallinn, Estonia
Xilinx Inc. (2017) Vivado design suite PG058 block memory generator. https://www.xilinx.com/support/documentation/ip_documentation/blk_mem_gen/v8_3/pg058-blk-mem-gen.pdf. Accessed 17 Mar 2019
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Skliarova, I., Sklyarov, V. (2019). Architectures of FPGA-Based Hardware Accelerators and Design Techniques. In: FPGA-BASED Hardware Accelerators. Lecture Notes in Electrical Engineering, vol 566. Springer, Cham. https://doi.org/10.1007/978-3-030-20721-2_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-20721-2_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-20720-5
Online ISBN: 978-3-030-20721-2
eBook Packages: EngineeringEngineering (R0)