• ECTS

    5 credits

  • Component

    Faculty of Science

Description

This course covers a wide range of knowledge from the foundations of Boolean logic to the architecture of Systems-on-Chips (SoC), 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 exercises, 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 modelling / 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.

 

Read more

Objectives

The objective of this course is to acquire a solid background in digital systems, their hardware implementation and software aspects.

 

The UE also includes a practical work and an embedded system project:

 

Practical work (10,5h)

Here the idea would clearly be to become familiar with 2 technologies:

            - Microcontrollers (STM32 or RISC-V) with a performance and real time approach

            - FPGAs via VHDL because it is essential, and we can go to a case study on acceleration (always CNN :-)

 

Project (10,5h)

The project could be a bit "à la carte" with more generalist formulas (microcontrollers and FPGA) and more computer architecture oriented topics. I think it's flexible.

------------------------------------------------------------------------------------------------------------------------------------------------------------

This course has for objective to provide students with a solid background on 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, busses, cache memories, instruction pipeline, interfaces

5-Advanced concepts: NUMA, cache coherence, shared / distributed memories, compute acceleration

6- Fundamentals of operating systems

 

The course further includes Labs and part-time student projects:

 

Labs (10,5h)

Hands-on exercises with

            - VHDL basics, simulation

            - Logic synthesis (ASIC) 

            - FPGA prototyping (optional)

 

Projects (10,5h)

Projects topic decided upon course start. Possible topics cover microcontrollers, compute accelerator implementation and exploitation for 32-bit processors etc.

 

 

 

 

 

Read more

Necessary pre-requisites

Basics 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.

 

 

Read more

Syllabus

The course will address the following:

 

1- foundations of logic: sequential and combinatorial circuits

2- basic architectures: finite state machine, 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 processor architectures
- Microcontrollers

            - study of standard instruction set (MIPS32, RISC-V)

            - system architectures: memories, buses, caches, instruction pipelines, interfaces

5- advanced computer architectures: NUMA, cache coherence, shared/distributed memory, computational gas pedals

6- notions of operating systems and parallelism

Read more

Additional information

CM : 21

TP : 10.5 + 10.5 (Project)

Read more