Project-Based Learning in Embedded Systems Education Using an FPGA Platform

With embedded systems becoming ubiquitous, there is a growing need to teach and train engineers to be well-versed in their design and development. The multidisciplinary nature of such systems makes it challenging to give students exposure to and experience in all their facets. This paper proposes a generic architecture, containing multiple processors, that allows easy integration of custom and/or predefined peripherals. The architecture allows students to explore both the hardware and software issues associated with real-time and embedded systems. Furthermore, the architecture can be extended to train students in advanced concepts in embedded multiprocessor systems. This generic architecture has been used for two courses at the National University of Singapore-one on real-time embedded systems and the other emphasizing the hardware aspects of embedded systems. The project in the real-time embedded systems course has students develop a five-a-side soccer system on multiple field-programmable gate array (FPGA) boards using embedded processors. In the embedded hardware design course project, students use an embedded processor-based system to perform decryption of a block encrypted image, accelerated through a custom co-processor. The use of displays gives students a visual/interactive experience and a sense of accomplishment, while reinforcing the theoretical concepts. Both qualitative and quantitative assessment results are presented, showing how students perceived these projects and met the learning objectives.

[1]  Theocharis Theocharides,et al.  FPGA-Based Laboratory Assignments for NoC-Based Manycore Systems , 2012, IEEE Transactions on Education.

[2]  John W. McCormick,et al.  We've been working on the railroad: a laboratory for real-time embedded systems , 2005, SIGCSE '05.

[3]  J. W. Bruce,et al.  Cooperative and progressive design experience for embedded systems , 2004, IEEE Transactions on Education.

[4]  Akash Kumar,et al.  Bringing soccer to the field of real-time embedded systems education , 2011, WESE '11.

[5]  Rajeev Gandhi,et al.  Undergraduate embedded system education at Carnegie Mellon , 2005, TECS.

[6]  W. Wolf,et al.  Embedded systems education for the future , 2000, Proceedings of the IEEE.

[7]  Jogesh K. Muppala,et al.  Bringing embedded software closer to computer science students , 2007, SIGBED.

[8]  Martin Törngren,et al.  What is embedded systems and how should it be taught?---results from a didactic analysis , 2005, TECS.

[9]  Andrey Bogdanov,et al.  PRESENT: An Ultra-Lightweight Block Cipher , 2007, CHES.

[10]  Vincent Rijmen,et al.  The Design of Rijndael: AES - The Advanced Encryption Standard , 2002 .

[11]  Lisa Brownsword,et al.  The Opportunities and Complexities of Applying Commercial-Off-the-Shelf Components , 1998 .

[12]  Patrick Schaumont A Senior-Level Course in Hardware–Software Codesign , 2008, IEEE Transactions on Education.

[13]  Simin Nadjm-Tehrani,et al.  Raising motivation in real-time laboratories: the soccer scenario , 2004, SIGCSE '04.

[14]  Tyson S. Hall,et al.  System-on-a-programmable-chip development platforms in the classroom , 2004, IEEE Transactions on Education.

[15]  Paul Caspi,et al.  Embedded systems education: future directions, initiatives, and cooperation , 2005, SIGBED.

[16]  Andreas Hansson,et al.  Multi-processor programming in the embedded system curriculum , 2009, SIGBED.

[17]  Ahmet Bindal,et al.  An undergraduate system-on-chip (SoC) course for computer engineering students , 2005, IEEE Transactions on Education.

[18]  Hisao Koizumi,et al.  Use of Student Experiments for Teaching Embedded Software Development Including HW/SW Co-Design , 2009, IEEE Transactions on Education.

[19]  Stephen A. Edwards,et al.  Experiences teaching an FPGA-based embedded systems class , 2005, SIGBED.

[20]  Edward A. Lee,et al.  What's Ahead for Embedded Software? , 2000, Computer.