S1-COMP8-6 - Introducing FPGA-based Machine Learning on the Edge to Undergraduate Students

1. Innovative Practice Work In Progress
Rajesh C Panicker1 , Akash Kumar2, Deepu John3
1 Department of Electrical and Computer Engineering, National University of Singapore, Singapore
2 Centre for Advancing Electronics Dresden, Technische Universitat Dresden, Germany
3 School of Electrical and Electronic Engineering, University College Dublin, Ireland

This innovative practice category work in progress paper describes a project in a final-year undergraduate course on implementing a neural accelerator on an FPGA for edge computing. In our university, an undergraduate course on Embedded Hardware System Design introduces students to advanced hardware design techniques with the goal of integrating the created hardware into a complete system. Students learn concepts such as high-level synthesis (HLS), logic synthesis and physical design, with an emphasis on FPGA-based designs. They also understand bus systems such as Advanced eXtensible Interface (AXI) to interconnect the various components. The concepts are put into practice through a project. A series of labs provide scaffolding to students through the course of implementing the project. These labs take students systematically through an introduction to hardware-software co-design, hardware design, creation and interfacing of custom co-processors and HLS. Important hardware design and optimization concepts, as well as managing the data interaction between hardware and software were reinforced through the project. The project also provided many students with the opportunity to be introduced to neural networks and machine learning (ML). Quantitative and qualitative results from a survey indicate that students gained a lot of knowledge and experience through the course of the project. The current form of the project streams in data from a local computer to which the FPGA is connected. Future work includes true and direct cloud connectivity and improved use cases for making it a true IoT project.