Dynamic Partial Reconfiguration by Means of Algorithmic Skeletons—A Case Study

  • Norma MontealegreEmail author
  • Franz J. Rammig


A digital hardware system which implementation does not fit in a FPGA device can be placed into the FPGA. The system with inherent parallelism must be partitioned into hardware modules to be executed in different time slots using partial reconfiguration. That is the so called temporal partitioning and temporal placement. The partitioning of the system can be done using standard patterns used in parallel systems. Algorithmic skeletons are common parallelization patterns which encapsulate parallelism, communication and synchronization. They help to avoid concentrating in unnecessary details about the underlying implementation of parallelism. Algorithmic skeletons seem to be promising as a methodology for the design of partial reconfigurable systems. In this chapter, the design of a speech recognition front-end is described to show the feasibility of using algorithmic skeletons in the design of reconfigurable systems. A speech recognition front-end is a digital signal processing device used to transform an audio signal into feature vectors used for Automatic Speech Recognition or storage of semantic audio information. This device does not fit in the fabric of the FPGA of the used development board. After it was redesigned using a developed library of algorithmic skeletons, the use of dynamic partial reconfiguration has made possible to fit the device into the FPGA. This chapter demonstrates how algorithmic skeletons allow to simplify and to speed up the development of partial reconfigurable systems.


Automatic Speech Recognition External Memory Processing Channel FPGA Device Code Listing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Caarls, W., Jonker, P.P., Corporaal, H.: Algorithmic skeletons for stream programming in embedded heterogeneous parallel image processing applications. In: IEEE International Parallel and Distributed Processing Symposium (2006) Google Scholar
  2. 2.
    Campbell, D.K.G.: Towards the classification of algorithmic skeletons. Technical report. University of York (1996) Google Scholar
  3. 3.
    Cole, M.: Algorithmic skeletons: structured management of parallel computation. PhD thesis, University of Glasgow (1989) Google Scholar
  4. 4.
    Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming. Parall. Comput. 30, 389–406 (2004) CrossRefGoogle Scholar
  5. 5.
    Darlington, J., Field, A.J., Harrison, P.G., Kelly, P.H.J., Sharp, D.W.N., Wu, Q., While, R.L.: Parallel programming using skeleton functions. Conference on Parallel Architectures and Languages (1993) Google Scholar
  6. 6.
    Dittmann, F.: Algorithmic skeletons for the programming of reconfigurable systems. In: Software Technologies for Embedded and Ubiquitous Systems. Springer, Berlin (2007) Google Scholar
  7. 7.
    Dittmann, F.: Methods to exploit reconfigurable fabrics. Making reconfigurable systems mature. PhD thesis, University of Paderborn (2007) Google Scholar
  8. 8.
    Dittmann, F., Frank, S.: Hard real-time reconfiguration port scheduling. In: Design, Automation, and Test in Europe. EDA Consortium (2007) Google Scholar
  9. 9.
    Dittmann, F., Frank, S., Oberthuer, S.: Algorithmic skeletons for the design of partially reconfigurable systems. In: 15th Reconfigurable Architectures Workshop, IEEE (2008). Google Scholar
  10. 10.
    Dittmann, F., Weber, E., Montealegre, N.: Implementation of the reconfiguration port scheduling on the Rrlangen slot machine. In: International Symposium on Field-Programmable Gate Arrays, ACM/SIGDA (2009) Google Scholar
  11. 11.
    Frank, S.: Einsatz algorithmischer Skelette zur Generierung partiell dynamisch rekonfigurierbarer Schaltungen. Diploma thesis. University of Paderborn (2007) Google Scholar
  12. 12.
    Furui, S.: Digital Speech Processing, Synthesis, and Recognition. Dekker, New York (2001) Google Scholar
  13. 13.
    Gold, B., Morgan, N.: Speech and Audio Signal Processing. Processing and Perception of Speech and Music. Wiley, New York (2000) Google Scholar
  14. 14.
    Kataev, V.: Application scenarios for algorithmic skeletons in the design of partial reconfigurable systems. Diploma thesis. University of Paderborn (2009) Google Scholar
  15. 15.
    Majer, M., Teich, J., Ahmadinia, A., Bobda, C.: The Erlangen slot machine: a dynamically reconfigurable fpga-based computer. J. VLSI Signal Process. Syst. 46(2), 15–31 (2007) CrossRefGoogle Scholar
  16. 16.
    Pelagatti, S.: Structured Development of Parallel Programs. Taylor & Francis, London (1997) Google Scholar
  17. 17.
    Rabhi, A.F., Gorlatch, S.: Patterns and Skeletons for Parallel and Distributed Computing. Springer, Berlin (2003) zbMATHGoogle Scholar
  18. 18.
    Weber, E., Dittmann, F., Montealegre, N.: Part-E—A tool for reconfigurable system design. In: International Conference on Reconfigurable Computing and FPGAs, IEEE (2008) Google Scholar
  19. 19.
    Xilinx: Early Access Partial Reconfiguration User Guide. Xilinx Inc. (2006) Google Scholar
  20. 20.
    Xilinx: ML401/ML402/ML403 Evaluation Platform. User Guide. Xilinx Inc. (2006) Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2010

Authors and Affiliations

  1. 1.Heinz Nixdorf InstitutePaderbornGermany

Personalised recommendations