ECTS
5 credits
Training structure
Faculty of Science
Description
This course covers a wide range of topics, from the fundamentals of Boolean logic to the architecture of systems-on-chips (SoCs), including logic synthesis flows, processor architecture, and the basics of embedded software. VHDL, a hardware description language, also plays an important role in this course and will be studied in class and used in practical work, as well as in an "Embedded Systems" project.
------------------------------------------------------------------------------------------------------------------------------------------------------------
This course covers a wide range of topics ranging from fundamentals of Boolean logic to digital SoC (Systems-on-Chips) architecture, including digital design flows, computer architecture, and embedded software basics. VHDL will be studied in this lecture, for both logic synthesis and modeling/simulation purposes. Labs include hands-on VHDL exercises (design of a simple stack processor), and an "Embedded system" student project makes it possible to deepen knowledge in the area.
Objectives
The objective of this course is to provide students with a solid foundation in digital systems, their hardware implementation, and software aspects.
The EU also includes a TP and an embedded systems project:
Practical work (10.5 hours)
Here, the idea would clearly be to familiarize yourself with two technologies:
- Microcontrollers (STM32 or RISC-V) with a focus on performance and real-time capabilities
- FPGAs via VHDL, because it's essential, and we can move on to a case study on acceleration (still CNN :-)
Project (10.5 hours)
The project could be a bit "à la carte" with more general formulas (microcontrollers and FPGAs) and topics more focused on computer architecture. In my opinion, it's flexible.
------------------------------------------------------------------------------------------------------------------------------------------------------------
This course aims to provide students with a solid background in digital systems and their hardware implementation, alongside software basics.
The lecture will cover the following topics:
Reading
1- Fundamentals of digital logic: combinatorial and sequential circuits
2- Basic constructs: Finite State Machines, shift registers, datapaths, memories, etc.
3- Hardware Description Language: VHDL for modeling, simulation, and logic synthesis
4- Computer architecture: from the Von Neumann machine to modern computer architectures
- Microcontrollers
- standard instruction set architectures (MIPS32, RISC-V)
- computer organization: memories, buses, cache memories, instruction pipeline, interfaces
5-Advanced concepts: NUMA, cache coherence, shared/distributed memories, compute acceleration
6- Fundamentals of operating systems
The course also includes labs and part-time student projects:
Labs (10.5 hours)
Hands-on exercises with
- VHDL basics, simulation
- Logic synthesis (ASIC)
- FPGA prototyping (optional)
Projects (10.5 hours)
Project topics are decided upon at the start of the course. Possible topics include microcontrollers, compute accelerator implementation and exploitation for 32-bit processors, etc.
Mandatory prerequisites
Fundamentals of analog electronics, Boolean logic.
Recommended prerequisites:
Knowledge of CMOS logic, C language.
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Fundamentals of electronics and Boolean logic.
Recommended prerequisites:
CMOS logic, C language.
Syllabus
The course will cover the following topics:
1- Fundamentals of logic: sequential and combinational circuits
2- Basic architectures: finite state machines, shift registers, data paths, memories, etc.
3- Hardware description language: VHDL for modeling, simulation, and logic synthesis
4- Computer architecture: from Von Neumann machines to modern processor architectures - Microcontrollers
- study of standard instruction sets (MIPS32, RISC-V)
- system architectures: memories, buses, cache memories, instruction pipelines, interfaces
5- Advanced computer architectures: NUMA, cache coherence, shared/distributed memory, computing accelerators
6- concepts of operating systems and parallelism
Additional information
CM: 21
TP: 10.5 + 10.5 (Project)