ECTS
5 credits
Training Structure
College of Sciences
Description
This course covers a broad range of topics, from the fundamentals of Boolean logic to the architecture of systems-on-chip (SoC), including logic synthesis flows, processor architecture, and the basics of embedded software. VHDL, a hardware description language, also plays a significant role in this course unit and will be studied in lectures and used in lab sessions, as well as in the context of an “Embedded Systems” project.
------------------------------------------------------------------------------------------------------------------------------------------------------------
This course covers a wide range of topics, from the fundamentals of Boolean logic to digital SoC (Systems-on-Chip) architecture, including digital design flows, computer architecture, and the basics of embedded software. VHDL will be covered in this course for both logic synthesis and modeling/simulation purposes. Lab sessions include hands-on VHDL exercises (design of a simple stack processor), and a student project on “Embedded Systems” allows students to deepen their knowledge in this 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 practical training course and an embedded systems project:
Practical Training (10.5 hours)
The idea here would clearly be to become familiar with two technologies:
- Microcontrollers (STM32 or RISC-V) designed for performance and real-time capabilities
- FPGAs using VHDL, since it's a must, and we can move on to a case study on acceleration (still CNNs :-)
Project (10.5 hours)
The project could be somewhat “à la carte,” with more general topics (microcontrollers and FPGAs) and others more focused on computer architecture. In my opinion, it’s flexible.
------------------------------------------------------------------------------------------------------------------------------------------------------------
The objective of this course is to provide students with a solid foundation in digital systems and their hardware implementation, along with the basics of software.
The lecture will cover the following topics:
Reading
1- Fundamentals of Digital Logic: Combinational and Sequential Circuits
2- Basic constructs: finite-state machines, shift registers, data paths, 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 architecture: memory, buses, cache memory, 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 will be decided at the start of the course. Possible topics include microcontrollers, the implementation and use of compute accelerators for 32-bit processors, etc.
Mandatory Prerequisites
Fundamentals of analog electronics and Boolean logic.
Recommended prerequisites*:
Knowledge of CMOS logic and the C programming language.
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Fundamentals of electronics and Boolean logic.
Recommended prerequisites*:
CMOS logic, C language.
Course Outline
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 logic modeling, simulation, and synthesis
4- Computer Architecture: From the Von Neumann Machine to Modern Processor Architectures
- Microcontrollers
- Analysis of standard instruction sets (MIPS32, RISC-V)
- System architectures: memory, buses, caches, instruction pipelines, interfaces
5- Advanced computer architectures: NUMA, cache coherence, shared/distributed memory, computing accelerators
6- Basics of Operating Systems and Parallelism
Additional Information
CM: 21
TP: 10.5 + 10.5 (Project)