System programming for Systems-on-chip
CS-473
Media
Media
Overview
When/where:
Tuesdays: 12:00-14:00 INF-3 (theory)
Tuesdays: 14:00-16:00 INF-3 (practical works)
Material:
In this course we will provide you with a Gecko5Education FPGA-boards that contains the Virtual prototype that we are going to work on. To be able to also work at home, you can take the board home. The boards will be distributed during the practical work session of the first week. If you are not able to be there, please contact the TA to make an appointment.
Minimal requirements:
To be able to use the system you should have 2 USB-A/C ports. If your computer does not have two ports it is highly recommended to use an USB-hub.
As we also have a HDMI-output we provide you with a HDMI-grabber module.
How to work:
All practical exercises will be performed in groups of 2 students. It is also possible to ''do it on your own''. Bigger groups as 2 students are not allowed.
We provide all required software installed on the machines in INF-3, and on a VDI-images, however, it is also possible to install the software on your local machine (see below).
References:
- Fundamentals of System-on-Chip Design on Arm Cortex-M Microcontrollers
- Computer Architecture, John L. Hennessy, David A. Patterson
- OpenRisc
Software:
- Your favorite code-editor (for example Visual Studio Code).
- A RS232 communication program (for example Cutecom for linux and Coolterm for Macos/Windows)
- The OpenRISC gcc-cross-compile toolchain (see below). Important: Use the one on this page, as it contains modifications that are not in the standard version!
- The ''convert_or32'' (see below) that you can compile with any c-compiler for your system.
The team:
- Theo Kluter (responsable) ties.kluter@epfl.ch
- Canberk Sönmez (TA) canberk.sonmez@epfl.ch
- Jules Perrin (SA/AE) jules.perrin@epfl.ch
- Marc Nassif (SA/AE) marc.nassif@epfl.ch
Questions and answers:
Of course during the course hours, but we also use an ED-discussion forum (see link below).
- GNU gcc-cross-compile toolchain for the OpenRISC Version 13.2.0 (unzip and read the Readme.txt file) (File)
- GNU gcc-cross-compile toolchain for the OpenRISC Version 14.2.0 (unzip and read the Readme.txt file) (File)
- Convert_or32 utility (unzip and read the README-file) (File)
- The complete source code (Verilog) of the Virtual Prototype. (File)
- Announcements (Forum)
No Lecture this week due to familiar circumstances.
Introduction
- Theory session: (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Practical session: Handout of the Virtual Prototyp... (Text and media area)
The different views of the memory sub-system
- Theory session: (copy) (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Practical session: Getting to know our virtual pro... (Text and media area)
- Practical Work #1 (File)
No lecture due to sickness
Number formats and Mandelbrot
- Updated virtual prototype The below virtual protot... (Text and media area)
- Updated Virtual Prototype (or1300DualCore.bit) (File)
- Theory session: (copy) (copy) (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Practical session: First graded practical work: th... (copy) (Text and media area)
- Practical work 2 description (File)
- Floating point version of the Mandelbrot algorithm (File)
Hot spot detection
- Theory session: (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Theory session (memories): (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Practical session: First graded practical work: th... (Text and media area)
Lecture free week (holidays)
Memories, bios and exceptions
- Theory session: (copy) (copy) (copy) (copy) (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Practical session: Non-graded work: memory distanc... (Text and media area)
- Fixed point version of Mandelbrot (File)
- Practical work 3 description (File)
- Documentation (Folder)
Caches and Scratch Pad Memories
- Theory session: (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Practical session: Second graded PW. (Text and media area)
- Practical Work #4 description (File)
- Practical Work #4 template (File)
Caches and Scratch Pad Memories
This week we only have the continuation of last weeks PW.
Bus architectures, DMA, and PIO
- Theory session: (copy) (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Slides as used during the course (please do not print these, use handout or memo for that) (File)
- Handout version of the slides (File)
- Memo version of the slides (File)
- Practical session: Polling, interrupt driven, and ... (Text and media area)
- Updated Virtual Prototype (File)
- Practical work #5 description (File)
- Practical work #5 template (File)
- switches.pdf file (File)
DMA-bufering and compile options
- Theory session: (copy) (copy) (copy) (copy) (copy) (copy) (copy) (Text and media area)
- Practical session: DMA and compiler options (Text and media area)
- Practical work #6 description (File)
- Practical work #6 template (File)
Multitasking
In this week's practical session, you will learn about multitasking using coroutines.
- Practical session: Last graded PW: Multi-tasking (Text and media area)
- Practical work #7 description (File)
- Practical Work #7 project files (File)
Final written exam
Where: INF-3 and ELD-020
When: 12:15-14:15 (on Tuesday during normal hours)
Allowed material:
- Calculator
- 4 A4-pages with notes
Please do not forget your camipro card or another ID.
- List with students and their place in the rooms (updated 10-12-2024 16:21) (File)
- Room layout INF-3 (File)
- Room layout ELD-020 (File)
- Exam from last year to practice (File)