Design Automation for Embedded Systems

, Volume 16, Issue 4, pp 221–240 | Cite as

SoC based floating point implementation of differential evolution algorithm using FPGA

  • Kiran Kumar Anumandla
  • Rangababu PeesapatiEmail author
  • Samrat L. SabatEmail author
  • Siba K. Udgata


This paper presents floating point design and implementation of System on Chip (SoC) based Differential Evolution (DE) algorithm using Xilinx Virtex-5 Field Programmable Gate Array (FPGA). The hardware implementation is carried out to enhance the execution speed of the embedded applications. Intellectual Property (IP) of DE algorithm is developed and interfaced with the 32-bit PowerPC 440 processor using processor local bus (PLB) of Xilinx Virtex-5 FPGA. In the proposed architecture the algorithmic parameters of DE are scalable. The software and hardware implementation of the DE algorithm is carried out in PowerPC embedded processor and hardware IP respectively. The optimization of numerical benchmark functions and system identification in control systems are implemented to verify the proposed hardware SoC platform. The performance of the IP is measured in terms of acceleration gain of the DE algorithm. The optimization problems are solved by using floating point arithmetic in both embedded processor and hardware. The experimental result concludes that the hardware DE IP accelerates the execution speed approximately by 200 times compared to equivalent software implementation of DE algorithm on PowerPC 440 processor. Further, as a case study an Infinite Impulse Response (IIR) based system identification task on SoC using the developed hardware accelerator is implemented.


Differential evolution SoC implementation Hardware Accelerator Evolutionary algorithms 



The authors are thankful to the University Grants Commission (UGC), Government of India for providing necessary support to carry out this research work.


  1. 1.
    Muñoz DM, Llanos CH, dos S. Coelho L, Ayala-Rincón M (2010) Comparison between two FPGA implementations of the particle swarm optimization algorithm for high-performance embedded applications. In: Proceedings on IEEE fifth international conference on bio-inspired computing: theories and applications (BIC-TA), Sept 2010, pp 1637–1645 Google Scholar
  2. 2.
    Storn R, Price K (1997) Differential evolution—a simple and efficient heuristic for global optimization over continuous spaces. J Glob Optim 11(4):341–359 CrossRefzbMATHMathSciNetGoogle Scholar
  3. 3.
    Vesterstrom J, Thomsen R (2004) A comparative study of differential evolution, particle swarm optimization, and evolutionary algorithms on numerical benchmark problems. In: Congress on evolutionary computation, June 2004, vol 2, pp 1980–1987 Google Scholar
  4. 4.
    Fernando PR, Katkoori S, Keymeulen D, Zebulum R, Stoica A (2010) Customizable FPGA IP core implementation of a general-purpose genetic algorithm engine. IEEE Trans Evol Comput 14(1):133–149 CrossRefGoogle Scholar
  5. 5.
    Li S-A, Hsu C-C, Wong C-C, Yu C-J (2011) Hardware/software co-design for particle swarm optimization algorithm. Inf Sci 181(20):4582–4596 CrossRefGoogle Scholar
  6. 6.
    Farmahini-Farahani A, Vakili S, Fakhraie SM, Safari S, Lucas C (2010) Parallel scalable hardware implementation of asynchronous discrete particle swarm optimization. Eng Appl Artif Intell 23(2):177–187 CrossRefGoogle Scholar
  7. 7.
    Tewolde GS, Hanna DM, Haskell RE (2012) A modular and efficient hardware architecture for particle swarm optimization algorithm. Microprocess Microsyst 36(4):289–302 CrossRefGoogle Scholar
  8. 8.
    Swarnalatha A, Shanthi AP (2012) Optimization of single variable functions using complete hardware evolution. Appl Soft Comput 12(4):1322–1329 CrossRefGoogle Scholar
  9. 9.
    Farmahini-Farahani A, Fakhraie SM, Safari S (2007) SOPC-based architecture for discrete particle swarm optimization. In: Proceeding of 14th IEEE international conference on electronics, circuits and systems, ICECS, Dec 2007, pp 1003–1006 Google Scholar
  10. 10.
    Farmahini-Farahani A, Fakhraie SM, Safari S (2008) Scalable architecture for on-chip neural network training using swarm intelligence. In: Design, automation and test in Europe, March 2008, pp 1340–1345 Google Scholar
  11. 11.
    Lin C-J, Tsai H-M (2008) FPGA implementation of a wavelet neural network with particle swarm optimization learning. Math Comput Model 47(9–10):982–996 CrossRefzbMATHMathSciNetGoogle Scholar
  12. 12.
    Cavuslu MA, Karakuzu C, Karakaya F (2012) Neural identification of dynamic systems on FPGA with improved PSO learning. Appl Soft Comput 12(9):2707–2718 CrossRefGoogle Scholar
  13. 13.
    Vasumathi B, Moorthi S (2012) Implementation of hybrid ANN-PSO algorithm on FPGA for harmonic estimation. Eng Appl Artif Intell 25(3):476–483 CrossRefGoogle Scholar
  14. 14.
    Panda G, Pradhan PM, Majhi B (2011) IIR system identification using cat swarm optimization. Expert Syst Appl 38(10):12671–12683 CrossRefGoogle Scholar
  15. 15.
    Das S, Suganthan PN (2011) Differential evolution: a survey of the state-of-the-art. IEEE Trans Evol Comput 15(1):4–31 CrossRefGoogle Scholar
  16. 16.
    Suganthan PN, Hansen N, Liang JJ, Deb K, Chen YP, Auger A, Tiwari S (2005) Problem definitions and evaluation criteria for the CEC 2005 special session on real-parameter optimization. Technical report, Nanyang Technological University, Singapore Google Scholar
  17. 17.
    Tang K, Li X, Suganthan PN, Yang Z, Weise T (2010) Benchmark functions for the CEC’2010 special session and competition on large-scale global optimization. Technical report, University of Science and Technology of China (USTC), School of Computer Science and Technology, Nature Inspired Computation and Applications Laboratory (NICAL), China Google Scholar
  18. 18.
    Floating Point Operator v5.0. Technical report, Xilinx, Xilinx, Inc, 2100 Logic Drive, San Jose, CA 95124-3400, March 2011 Google Scholar
  19. 19.
    Reference guide UG200—Embedded processor block in Virtex-5 FPGAs. Technical Report 10.1.3, Xilinx, Xilinx, Inc, 2100 Logic Drive, San Jose, CA 95124-3400, 2008 Google Scholar
  20. 20.
    Liu Y, Kuo C, Chang CC, Wang C (2011) Electro-osmotic flow through a two-dimensional screen-pump filter. Phys Rev E, Stat Nonlinear Soft Matter Phys 84:036301 CrossRefGoogle Scholar
  21. 21.
    Tang Y, Gao H, Kurths J, Fang J (2012) Evolutionary pinning control and its application in UAV coordination. IEEE Trans Ind Inform 8(4):828–838 CrossRefGoogle Scholar
  22. 22.
    Yeary MB, Griswold NC (2002) Adaptive IIR filter design for single sensor applications. IEEE Trans Instrum Meas 51(2):259–267 CrossRefGoogle Scholar
  23. 23.
    Ng SC, Leung SH, Chung CY, Luk A, Lau WH (1996) The genetic search approach. A new learning algorithm for adaptive IIR filtering. IEEE Trans Signal Process 13(6):38–46 Google Scholar
  24. 24.
    Karaboga N (2009) A new design method based on artificial bee colony algorithm for digital IIR filters. J Franklin Inst 346(4):328–348 CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    Karaboga N (2005) Digital IIR filter design using differential evolution algorithm. EURASIP J Appl Signal Process 2005:1269–1276 CrossRefzbMATHGoogle Scholar
  26. 26.
    Tang Z, Zhang WW, Fang J, Du WZ (2012) Digital IIR filters design using differential evolution algorithm with a controllable probabilistic population size. PLoS ONE 7(7):e40549–07 CrossRefGoogle Scholar
  27. 27.
    Gupta L, Mehra R (2011) Modified PSO based adaptive IIR filter design for system identification on FPGA. Int J Comput Appl 22(5):1–7 Google Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  1. 1.School of PhysicsUniversity of HyderabadHyderabadIndia
  2. 2.School of Computer & Information SciencesUniversity of HyderabadHyderabadIndia

Personalised recommendations