Programme du cours "Systèmes numériques : de l'algorithme aux circuits"
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, programme informatique.
Organisation
Les enseignements ont lieu durant le 1er semestre,
les mardis de 13h15 à 17h00, du 27 septembre 2016 au 17 janvier 2017, en-dehors des congés.
Les enseignements sont en salle U-V, et les travaux sur station de calcul en salle d'ordinateurs.
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 :
- Sylvain Guilley (SG), professeur en charge du cours,
- Timothy Bourke (TB), chercheur, en charge des TD, TP et du projet P,
- Eloi de Chérisey (EdC), doctorant, interviendra en appoint quand Sylvain et/ou Tim ne sont pas disponibles.
Le polycopié (de Jean Vuillemin) est disponible ici.
Programme
Séance du 2016-09-27
- Enseignant: SG
- Sujets abordés: Technologie, codage, fréquence, fonction de transfert, logique NMOS, équations booléennes, formes disjonctives / conjonctives normales, Karnaugh
- Descriptif de la leçon: Cette leçon consiste en une introduction au cours, où l'on présente les différentes notions qui vont être étudiées.
Nous présenterons la loi de Moore, et discuterons un certain nombre de circuits (réels et avec poster du floorplan).
Du point de vue pédagogique, nous présenterons la raison pour laquelle les processeurs utilisent (en règle générale) des bits comme support de l'information, puis nous analyserons les outils pour calculer sur des bits.
Nous aborderons des notions d'optimisation, et des applications à des cas tels que le multiplexage et l'afficheur 7 segments.
Séance du 2016-10-04
- Enseignant: TB
- Sujets abordés: Microprocesseur, simulateur, synthèse logique, net-list
- Descriptif de la leçon: Présentation du projet (microprocesseur) et TP1 (simulateur du net-lists).
Supports :
Séance du 2016-10-11
- Enseignant: TB
- Sujets abordés: Contination du TP1, formation des groupes de projet
- Descriptif de la leçon: Finir le TP1, discuter sur le projet
Séance du 2016-10-18
- Enseignant: SG
- Sujets abordés: Arithmétique, bases, optimisation d'opérateurs
- Descriptif de la leçon: Implémentations carry-ripple, carry-save, carry look ahead
Séance du 2016-10-25
- Enseignant: EdC
- Sujets abordés: Transistors, portes CMOS, vitesse
- Descriptif de la leçon: Nous analyserons la construction de portes séquentielles en logique complémentaire ;
Comme exemples, nous illustrerons le C-element, et nous analyserons le contenu d'une bibliothèque commerciale de cellules standards (avec buffers de différentes charges).
Séance du 2016-11-08
- Enseignant: TB
- Sujets abordés: TD1 + session de travail
- Descriptif de la leçon: Exercices d'arithmétique et logique
Séance du 2016-11-15
- Enseignant: SG
- Sujets abordés: Logique séquentielle synchrone, pipeline, machine à états finis, codage des états
- Descriptif de la leçon: Ce cours consiste en une introduction à la logique séquentielle, et à la construction de machines à états finis. Nous aborderons leur spécification correcte et leur synthèse, suivant des options de codage des états
Séance du 2016-11-22
- Enseignant: SG
- Sujets abordés: Applications spécifiques
- Descriptif de la leçon: Dans ce cours, nous étudierons des architectures efficaces en matériel:
filtage (FIR),
CRC,
CORDIC,
FFT,
logique asynchrone,
processeur et DMA.
Séance du 2016-11-29
- Enseignant: TB
- Sujets abordés: Cours microprocesseur + session de travail
- Descriptif de la leçon: Chapitres 2 et 4 de 'Computer Organization and Design: the HW/SW interface', Patterson et Hennessy 4ed.
Séance du 2016-12-06
- Enseignant: SG
- Sujets abordés: Langages de description de matériel
- Descriptif de la leçon: Langages concurrents, VHDL (IEEE 1164) et Verilog (IEEE 1364).
Correspondance entre code comportemental, dataflow, et structurel.
Poignée de main et FIR.
Exemples d'analyse de processeurs, tels 6502 et le SPARC "LEON".
Test, synthèse d'arbre d'horloge, clock-gating, retiming.
Séance du 2016-12-13
- Enseignant: SG
- Sujets abordés: Sécurité
- Descriptif de la leçon: Composants de sécurité : PUF, TRNG. Implémentations cryptographiques, bitslice, protection contre les attaques side-channel et par perturbation.
Séance du 2017-01-03
- Enseignant: TB
- Sujets abordés: Session de travail sur projet
- Descriptif de la leçon: Encadrement sur l'avancement du projet
Séance du 2017-01-10
- Enseignant: TB
- Sujets abordés: Examen écrit
- Descriptif de la leçon: Contrôle des connaissances
Séance du 2017-01-17
- Enseignant: TB + SG
- Sujets abordés: Soutenances orales du projet
- Descriptif de la leçon: Restitution des projets
Références bibliographiques
- Reconfigurable Systems Come of Age, IEEE Transactions on VLSI, Vol 4, No. 1, March 1996. pdf IEEE Circuits and Systems Society 1998, VLSI Transactions (Best Paper Award)
- Computer Organization and Design: the Hardware/Software Interface,
David A. Patterson and John L. Hennessy
(Bibliothèque)
- The elements of computing systems : building a modern computer from first principles,
Noam Nisan and Shimon Schocken
(Bibliothèque)
- Digital Circuit Design for Computer Science Students: An Introductory Textbook,
Niklaus Wirth
(Bibliothèque)
- The Art of Computer Programming 4A., Combinatorial Algorithms,
Donald E. Knuth
(Bibliothèque)
- 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,
rédacteur: Jari Nurmi (Bureau S12)
- The Art of Electronics, Paul Horowitz and Winfield Hill
(Bibliothèque)