Internship, PhD, job proposals…
Implementing a data processing as a software running on a general purpose processor or on specialized processors like Graphics Processing Units (GPU) does not always provide the required level of efficiency. These solutions can be too slow, too expensive or too power hungry for a given application.
In these cases, dedicated hardware accelerators are sometimes the right solution. They are not as flexible as software, they are frequently more difficult to design, but they are also usually orders of magnitude more efficient: they do only a limited number of things but they do them extremely well.
Many computer systems around us, like our smartphones, embed hardware accelerators for wireless communications, speech, audio, image or video processing, cryptography, deep learning, etc.
This course provides an overview of the specification, design, development, and validation of digital hardware accelerators for embedded systems. It also shows how to integrate them inside a microprocessor-based computer system, and how to use them from software applications.
Teaching and learning methods: laboratory sessions, project, homework. Students are provided with industrial grade prototyping boards and design tools for the whole course duration. A hands-on approach is taken, with the aid of state-of-the-art laboratory equipment. Most of the course is dedicated to the design of hardware/software mixed systems of increasing complexity, and their test on a mini PC-like prototyping board based on an ARM microprocessor and a FPGA fabric. During the final project (21 hours) the students work in small groups to build a complete hardware and software prototype of a data processing system. Past projects were about retro-gaming, cryptography, real time video processing, pattern recognition, bitcoin mining, DES cracking, etc.
Prerequisites: binary representations of numbers (unsigned, two's complement), boolean logic, boolean operators, basic C programming, basic GNU/Linux command line interface.
Topics:
Learning Outcomes:
All labs are distributed and managed using git and GitLab.
ds
GitLab project, visit the web page of the project and follow the instructions.You read one of these documents? Or another that is not in the list and should? Please drop me a note and give me some feedback.