Page du cours "Systèmes numériques : de l'algorithme aux circuits"
Cette page web est la page du cours "Systèmes numériques" de la L3 du département d'informatique de l'ENS, édition 2025-2026.
Pour des informations plus générales, voir le site des enseignements au DIENS.
Ce que vous allez apprendre
L'objectif de ce cours est de comprendre comment on conçoit et on utilise un circuit électronique,
- les besoins : notions de base telles que l'énergie et le temps nécessaire pour calculer,
- la conception :
- les technologies (ASIC, FPGA), logiques NMOS, CMOS, etc.
- la maîtrise de la complexité (hiérarchie, abstraction, languages, compilateurs)
- entrées / sorties, simulation matérielle, langages logiciels et programme informatique,
- besoin de vérification et de compilation pour les projets de grande envergure.
Organisation
Les enseignements ont lieu durant le 1er semestre, les mardis de 13h15 à 17h00. Consultez l'emploi du temps du DI pour les dates et salles des séances.
Ils sont de différents types :
- L : leçon magistrale. Il s'agit des enseignements des concepts fondamentaux.
- TD : travaux dirigés. Nous appliquerons les leçons sous forme d'exercices, le plus souvent réalisés au tableau.
- TP : travaux pratiques. Il s'agit d'exercices avec réalisation sur micro-ordinateur.
- P : projet. Un travail en équipe avec une réalisation.
L'équipe pédagogique se compose de :
- Hadrien Barral (HB), maître de conférence, responsable du module
- Georges-Axel Jaloyan (GAJ), en charge des TDs/TPs et responsable du projet P
- Balthazar Patiachvili (BP), doctorant, en charge des TDs/TPs
- Sumanta Chaudhuri (SC), maître de conférence
- Marc Pouzet (MP), professeur
L'évaluation est réalisée sur la base de deux critères :
- soutenance de projet et assiduité aux travaux pratiques (50%),
- examen écrit (50%).
Voir la bibliographie en fin de page.
Programme
Séance du 2025-09-23
- Enseignant: HB
- Titre de la leçon: Introduction
-
Descriptif de la leçon: Introduction au cours, présentation des différentes notions qui vont être étudiées.
Codage analogique/numérique.
Transistor: histoire, usage.
Algèbre de Boole, équations booléennes. Loi de Moore. Logique RTL...PMOS.
Séance du 2025-09-30
- Enseignant: GAJ+BP
- Titre de la leçon: Projet: introduction et simulateur
-
Descriptif de la leçon: Présentation du projet (microprocesseur) et TP1 (simulateur du netlists).
Séance du 2025-10-07
- Enseignant: HB
- Titre de la leçon: Logique combinatoire
-
Descriptif de la leçon: Logique CMOS.
Placement, routage.
Implémentations d'un additionneur/soustracteur.
Délai de propagation, chemin critique.
Multiplieur, diviseur.
Séance du 2025-10-14
- Enseignant: GAJ+BP
- Titre de la leçon: TD 'ALU'
- Descriptif de la leçon: Exercices d'arithmétique et logique focalisé sur l'ALU, avec un focus sur la vérification.
Continuation du TP1
Séance du 2025-10-21
- Enseignant: HB
- Titre de la leçon: Logique séquentielle
-
Descriptif de la leçon: Horloge, latch, registre, mémoires, compteur.
Pipelining, retiming.
Codages des automates.
Séance du 2025-11-04
- Enseignant: GAJ+BP
- Titre de la leçon: TD Logique séquentielle
- Descriptif de la leçon: TD sur la logique séquentielle.
Dernière session d'aide pour le TP1.
Séance du 2025-11-18
- Enseignant: GAJ+BP
- Titre de la leçon: Lancement de la seconde partie du projet microprocesseur
- Descriptif de la leçon: Cours microprocesseur (cf chapitres 2 et 4 de 'Computer Organization and Design RISC-V Edition', Patterson) + formation des groupes de projet + session de travail
Séance du 2025-11-25
- Enseignant: HB
- Titre de la leçon: Les processeurs du monde réel
-
Descriptif de la leçon: Cache, privilèges, mémoire virtuelle, pipeline, out-of-order, branch-predict, irq, microcode.
Séance du 2025-12-02
- Enseignant: SC
- Titre de la leçon: Langages de description de matériel
-
Descriptif de la leçon: RTL vers GDSII (masques). Introduction à Verilog (IEEE 1364). Cours puis TP.
Séance du 2025-12-09
- Enseignant: GAJ+BP
- Titre de la leçon: TD Automates
- Descriptif de la leçon: TD sur l'encodage des automates + encadrement sur l'avancement du projet
Séance du 2025-12-16
- Enseignant: SC
- Titre de la leçon: Applications Spécifiques
-
Descriptif de la leçon: Filtrage (FIR), CRC, CORDIC, FFT, algorithme de Bresenham, logique asynchrone, architecture GPU/TPU.
Séance du 2026-01-06
- Enseignant: HB
- Titre de la leçon: Sécurité matérielle
- Descriptif de la leçon: Génération aléatoire.
Canaux cachés (caches, Spectre, timing, DPA, électromagnétique).
Fautes (RowHammer, vulnérabilité d'AES).
Contremesures.
Séance du 2026-01-13
- Enseignant: GAJ+BP
- Titre de la leçon: TD Vérification formelle
- Descriptif de la leçon: Introduction à la vérification formelle de circuits + Encadrement sur l'avancement du projet
Séance du 2026-01-20
- Enseignant: HB
- Titre de la leçon: Examen écrit
- Descriptif de la leçon: Contrôle des connaissances
Séance du 2026-01-27
- Enseignant: HB + GAJ + BP
- Titre de la leçon: Soutenances orales des projets
- Descriptif de la leçon: Restitution des projets
Références bibliographiques
- Computer Organization and Design RISC-V Edition, David A. Patterson (Bibliothèque), en particulier le chapitre 4
- The Elements of Computing Systems: Building a Modern Computer from First Principles, Noam Nisan et Shimon Schocken (Bibliothèque)
- Digital Circuit Design for Computer Science Students: An Introductory Textbook, Niklaus Wirth (Bibliothèque)
- The Art of Computer Programming 4A.+4B., Combinatorial Algorithms, Donald E. Knuth (Bibliothèque 4A + 4B)
- Digital Logic Design, Brian Holdsworth and Clive Woods
- Conception des circuits VLSI: Du Composant au Système, François Anceau et Yvan Bonnassieux (Bureau S12)
- Processor Design: System-On-Chip Computing for ASICs and FPGAs, Jari Nurmi (Bureau S12)
- The Art of Electronics, Paul Horowitz et Winfield Hill (Bibliothèque)
- Low-Power Digital VLSI Design: Circuits and Systems, Abdellatif Bellaouar and Mohamed Elmasry
- Digital Logic Design Book How To Learn Digital Logic Design: Digital Computer Logic Design, Trinidad Hancock
- Digital Logic And Computer Design (2nd Edition), Morris Mano
- Engineering Digital Design: Revised Second Edition, Richard F. Tinder
Année précédentes:
Le cours était géré par Jean Vuillemin (an III-2016) puis Sylvain Guilley (2016-2025).
Annales des examens: