Department of Electrical & Electronic Engineering
Imperial College London
Originally created by Prof. Peter Cheung and Prof. Christos Bouganis, now renovated by Dr. Aaron Zhao (a.zhao@imperial.ac.uk) and Sarim Baig, and reviewed and tested by Cheng Zhang.
The aim of the module is to enable students to design information processing systems of medium complexity, by considering communication and computation costs, as well as local (embedded) and server-side processing. The module builds upon the materail you have been taught in your EIE year two, and introduces the practical aspects of embedded processing, networking, and databases. The first part of the module consists of a series of practical labs where you will be exposed to the practical aspects of embedded processing, networking and datasets, followed by a practical component (i.e. coursework) with strong emphasis on the design methodology, where a fully operational processing system needs to be designed.
Upon successful completion of this module, you will be able to:
- Develop an embedded system based on a CPU/FPGA
- Apply signal processing. techniques to a time-series data considering their computational cost
- Develop the communication infrastructure between a local node and a server
- Design a database that communicates with the rest of the system
- Judge the compute capabilities of different platform
In this module the principles and techniques for designing information processing system will be studied. The module covers the following topics:
- Introduction to Field Programmable Gate Arrays (FPGA)
- Introduction to the design process of a digital system using an FPGA
- Soft core CPU (NIOSII) architecture
- Interfacing a CPU with external peripherals
- UART and SPI interfaces
- Establishing a communication with a AWS server
- Instantiate a database on a remote server
If you meet any problems, one should either create an issue or send an email to Dr. Aaron Zhao (a.zhao@imperial.ac.uk)
Quick pointers to all labs.
- Lab 1 - Introduction to DE10-Lite and Setting up Quartus Prime Lite
- Lab 2 - Design a NIOS2 System
- Lab 3 – Integrate an accelerometer with a NIOS
- Lab 4 - Integrate an accelerometer with a NIOS
- Lab 5 – AWS, SSH Clients, Client Server Programming (By Sarim)
- Lab 6 – Using DynamoDB with EC2, Python based (By Sarim)
Useful links (Imperial Account Required)
- Resources: more on DE10, QSys, etc..
- Overall Course Arrangement and Team Allocation
- Midterm Assessment Information
- Quartus and Eclipse environment (From Christos, complements to lab1)
- Programming environment setup (From Christos, complements to lab1)
- Team making proposals
- Team allocation
- Past Projects
| Week | Date | Lab Name | Lab Time |
|---|---|---|---|
| 2 | 14th Jan (Tue) | Group A lab | 4pm-6pm |
| 2 | 16th Jan (Thu) | Group B lab | 9am-11am |
| 3 | 21st Jan (Tue) | Group A lab | 4pm-6pm |
| 3 | 23rd Jan (Thu) | Group B lab | 9am-11am |
| 4 | 28st Jan (Tue) | Group A lab | 4pm-6pm |
| 4 | 30rd Jan (Thu) | Group B lab | 9am-11am |
| 5 | 4th Feb (Tue) | Group A lab | 4pm-6pm |
| 5 | 6th Feb (Thu) | Group B lab | 9am-11am |
| 6 | 12th Fen (Wed) | Lab Oral | 10am-12am |
| 7 | 18th Feb (Tue) | Group A lab | 4pm-6pm |
| 7 | 20th Feb (Thu) | Group B lab | 9am-11am |
| 8 | 25th Feb (Tue) | Group A lab | 4pm-6pm |
| 8 | 27th Feb (Thu) | Group B lab | 9am-11am |
| 9 | 4th Mar (Tue) | Group A lab | 4pm-6pm |
| 9 | 6th Mar (Thu) | Group B lab | 9am-11am |
| 10 | 11th Mar (Tue) | Group A Final Oral | 4pm-6pm |
| 10 | 13th Mar (Thu) | Group B Final Oral | 9am-11am |