FPGA Based Big Data Accelerator Design in Teaching Computer Architecture and Organization

  • Chao WangEmail author
  • Yuming Cheng
  • Lei Gong
  • Bo Wan
  • Aili Wang
  • Xi Li
  • Xuehai Zhou
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11267)


In the past few years big data applications are becoming diverse and ubiquitous. There is a renewed interest in teaching senior level students to be professional in accelerator based computer architecture design and engineering. However, it poses a significant challenge to tutor the students with sufficient knowledge and practical skills in this area. In this paper, we propose a big data accelerator design project implemented on field-programmable gate array (FPGA) in teaching a computer architecture and organization course. The experimental system is carried out on a heterogeneous architecture using Xilinx Virtex 5 development boards. To achieve a modular accelerator implementation, several milestones are set to facilitate the on-time complete of the project. With the assistance of the FPGA-based experiment, most students have obtained a much more comprehensive understanding of the processor architecture and the accelerator design paradigm. Student feedback and survey illustrates the effectiveness and popularity of the FPGA-based project with milestones over simulation based experiments.


Applications in subject areas Simulations FPGA 



This work is partially supported by the National Key Research and Development Program of China (under Grant 2017YFA0700900), Anhui Provincial Natural Science Foundation (No. 1608085QF12), Jiangsu Provincial Natural Science Foundation (No. BK20181193), Youth Innovation Promotion Association CAS (No. 2017497), and Fundamental Research Funds for the Central Universities (WK2150110003).


  1. 1.
    Jackson, D.J., Caspi, P.: Embedded systems education: future directions, initiatives, and cooperation. ACM SIGBED Rev. 2(4), 1–4 (2005)CrossRefGoogle Scholar
  2. 2.
    Kumar, A., Fernando, S., Panicker, R.C.: Project-based learning in embedded systems education using an FPGA platform. IEEE Trans. Educ. 56(4), 407–415 (2013)CrossRefGoogle Scholar
  3. 3.
    Han, S., et al.: ESE: efficient speech recognition engine with sparse LSTM on FPGA. In: FPGA, pp. 75–84 (2017)Google Scholar
  4. 4.
    Mitsui, H., Kambe, H., Koizumi, H.: Use of student experiments for teaching embedded software development including HW/SW co-design. IEEE Trans. Educ. 52(3), 436–443 (2009)CrossRefGoogle Scholar
  5. 5.
    Wang, C., Gong, L., Yu, Q., Li, X., Xie, Y., Zhou, X.: DLAU: a scalable deep learning accelerator unit on FPGA. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 36(3), 513–517 (2017)Google Scholar
  6. 6.
    Bulić, P., Guštin, V., Šonc, D., Štrancar, A.: An FPGA-based integrated environment for computer architecture. Comput. Appl. Eng. Educ. 21(1), 26–35 (2013)CrossRefGoogle Scholar
  7. 7.
    Lu, S.L.L., Yiannacouras, P., Suh, T., Kassa, R., Konow, M.: A desktop computer with a reconfigurable pentium®. ACM Trans. Reconfigurable Technol. Syst. (TRETS) 1(1), 5 (2008)Google Scholar
  8. 8.
    Nikolic, B., Radivojevic, Z., Djordjevic, J., Milutinovic, V.: A survey and evaluation of simulators suitable for teaching courses in computer architecture and organization. IEEE Trans. Educ. 52(4), 449–458 (2009)CrossRefGoogle Scholar
  9. 9.
    Schaumont, P.: A senior-level course in hardware–software codesign. IEEE Trans. Educ. 51(3), 306–311 (2008)CrossRefGoogle Scholar
  10. 10.
    Ozturk, O.: Multicore education through simulation. IEEE Trans. Educ. 54(2), 203–209 (2011)CrossRefGoogle Scholar
  11. 11.
    Soares, S.N., Wagner, F.R.: T&D-bench—innovative combined support for education and research in computer architecture and embedded systems. IEEE Trans. Educ. 54(4), 675–682 (2011)CrossRefGoogle Scholar
  12. 12.
    Todorovich, E., Marone, J.A., Vazquez, M.: Introducing programmable logic to undergraduate engineering students in a digital electronics course. IEEE Trans. Educ. 55(2), 255–262 (2012)CrossRefGoogle Scholar
  13. 13.
    Lee, J.H., Lee, S.E., Yu, H.C., Suh, T.: Pipelined CPU design with FPGA in teaching computer architecture. IEEE Trans. Educ. 55(3), 341–348 (2012)CrossRefGoogle Scholar
  14. 14.
    Ttofis, C., Theocharides, T., Michael, M.K.: FPGA-based laboratory assignments for NoC-based manycore systems. IEEE Trans. Educ. 55(2), 180–189 (2012)CrossRefGoogle Scholar
  15. 15.
    Edwards, S.A.: Experiences teaching an FPGA-based embedded systems class. ACM SIGBED Rev. 2(4), 56–62 (2005)CrossRefGoogle Scholar
  16. 16.
    Bruce, J.W., Harden, J.C., Reese, R.B.: Cooperative and progressive design experience for embedded systems. IEEE Trans. Educ. 47(1), 83–92 (2004)CrossRefGoogle Scholar
  17. 17.
    Koopman, P., et al.: Undergraduate embedded system education at carnegie mellon. ACM Trans. Embed. Comput. Syst. (TECS) 4(3), 500–528 (2005)CrossRefGoogle Scholar
  18. 18.
    Hall, T.S., Hamblen, J.O.: System-on-a-programmable-chip development platforms in the classroom. IEEE Trans. Educ. 47(4), 502–507 (2004)CrossRefGoogle Scholar
  19. 19.
    Bindal, A., Mann, S., Ahmed, B.N., Raimundo, L.A.: An undergraduate system-on-chip (SoC) course for computer engineering students. IEEE Trans. Educ. 48(2), 279–289 (2005)CrossRefGoogle Scholar
  20. 20.
    Hansson, A., Akesson, B., Van Meerbergen, J.: Multi-processor programming in the embedded system curriculum. ACM SIGBED Rev. 6(1), 9 (2009)CrossRefGoogle Scholar
  21. 21.
    Feist, T.: Vivado design suite. White Paper 5 (2012)Google Scholar
  22. 22.
    O’Loughlin, D., Coffey, A., Callaly, F., Lyons, D., Morgan, F.: Xilinx Vivado high level synthesis: case studies (2014)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Chao Wang
    • 1
    Email author
  • Yuming Cheng
    • 1
  • Lei Gong
    • 1
  • Bo Wan
    • 1
  • Aili Wang
    • 1
  • Xi Li
    • 1
  • Xuehai Zhou
    • 1
  1. 1.School of Computer ScienceUniversity of Science and Technology of ChinaSuzhouChina

Personalised recommendations