ELEN0040 - Electronique num´ erique
Patricia ROUSSEAUX
Ann´ee acad´emique 2014 - 2015
Objectifs
I Maˆıtrise des techniquesd’analyseet desynth`esede syst`emes num´eriques
I Maˆıtrise du langageVHDL, langage de description mat´erielle permettant de repr´esenter l’architecture d’un syst`eme ´electronique num´erique et de simuler son comportement
I Conception d’un syst`eme ´electronique simple
Situation dans le cursus
Cours amont :
I INFO0061 : Organisation des ordinateurs
I MATH0013 : Alg`ebre Cours aval :
I ELEN0037 : Microelectronics and IC design
I ELEN0038 : Microsystems
I INFO0012 : Computation structures
I ELEN0075 : Electronique analogique
I INFO0064 : Embedded systems
Plan du cours
1. Introduction - rappels : alg`ebre bool´eenne, portes logiques 2. Circuits combinatoire simples, formes standards, simplification 3. Circuits combinatoires complexes :
I d´ecodeurs
I multiplexeurs
I circuits arithm´etiques
4. Circuits s´equentiels : bascules, flip-flops
5. Circuits s´equentiels complexes : registres et compteurs 6. Technologie des circuits num´eriques
7. M´emoires
8. Syst`emes programmables
(on verra...)
Organisation pratique
I Cours th´eorique : jeudi13h45-15h15
I 8 s´eances de r´ep´etitions : exercices d’analyse et synth`ese de circuits combinatoires et s´equentiels, langage VHDL : jeudi15h30-17h30
I 2 laboratoires Encadrement :
I cours th´eorique :
Patricia Rousseaux : Institut de math´ematique, B37, local 0/64, e-mail : P.Rousseaux @ulg.ac.be
I r´ep´etitions :
Delphine Cerica : Institut Montefiore, B28, local I85b, e-mail dcerica@ulg.ac.be :
Quentin Massoz : Institut Montefiore, B28, local R143 , e-mail : quentin.massoz@ulg.ac.be
I r´ep´etitions VHDL, labos, projet :
Vincent Pierlot : Institut Montefiore, B28, local I.84a, e-mail : vpierlot@ulg.ac.be
Thomas Schmitz : Institut Montefiore, B28, local I.81a, e-mail : T.Schmitz@ulg.ac.be
Laboratoires
Pr´esence OBLIGATOIRE
Introduction au projet VHDL : conception, r´ealisation et test d’un circuit
´electronique simple
I 2 labos de 4h
I par groupe de 4 ´etudiants, un d´el´egu´e par groupe
I durant le mois de mars
I labo 1 : entre le lundi 23 f´evrier et le vendredi 6 mars
I labo 2 : entre le lundi 9 mars et le vendredi 20 mars
I Horaire `a fixer avec les ´etudiants-moniteurs, selon disponibilit´es (doodle)
D´etails sur le projet : au cours des r´ep´etitions VHDL
Mat´ eriel
I livre de r´ef´erence :
Logic and Computer Design Fundamentals, Fourth edition, M. Morris Mano and Charles R. Kime, Prentice Hall, Pearson Education
I Supports de l’expos´e oral : post´es sur MyULg la veille du cours
I Supports des r´ep´etitions : voir site du cours
Interrogations
Deux interrogations facultatives
Interviennent pour 20% de la note finale si :
I r´ealis´ees toutes les deux,
I font monter la note.
Mati`ere :
I Interro 1 : analyse et synth`ese de circuits combinatoires, programmation VHDL (code `a compl´eter)
I Interro 2 : analyse et synth`ese de circuits s´equentiels, programmation VHDL (code `a compl´eter)
Documents autoris´es :uniquement les documents fournis
Evaluation
I Interrogations : Int
I Labos : Lab
I Projet : Proj
I Examen :
I Th´eorie : Eth´eo
I Ecercices : Eexer
I Note :
I Si Int>Eexer
Note = ( Lab + 3*Proj + 2* Int + 2*Eth´eo + 2*Eexer )/10
I Si Int≤Eexer
Note = ( Lab + 3*Proj + 3*Eth´eo + 3*Eexer )/10
Horaire
1 Je 5/2 Cours 1
2 Je 12/2 Cours 2 R´ep´etition 1 3 Je 19/2 Cours 3 R´ep´etition 2
+ Intro labo
4 Je 26/2 Cours 4 R´ep´etition VHDL 1
Labo 1 5 Je 5/3 Cours 5 R´ep´etition VHDL 2
6 Je 12/3 Cours 6 R´ep´etition 3
Labo 2 7 Je 19/3 Cours 7 R´ep´etition 4
8 Je 26/3 Cours 8 R´ep´etition 5
9 Je 2/4 Cours 9 Interro 1
10 Je 23/4 Cours 10 R´ep´etition 6 11 Je 30/4 Cours 11 Interro 2 12 Je 7/5 R´eserve
Un monde num´ erique ?
Un monde num´ erique ?
Un monde num´ erique ?
Un monde num´ erique ?
Continu/Num´ erique
I Le monde r´eel est un monde continu
I Le monde num´erique est un monde discr´etis´e
Pourquoi l’´ electronique num´ erique ?
I La num´erisation d’un signal permet de se pr´emunir du bruit
I Excellente conservation de l’int´egrit´e de l’information
I Possibilit´e de mise en oeuvre d’une arithm´etique logique
I Possibilit´e de construction de machines programmables de traitement de l’information
I Possibilit´e de d´etection et de correction d’erreurs
I N´ecessit´e d’une conversion analogique num´erique avant le traitement par le circuit num´erique (´echantillonnage)
I Apr`es le traitement, reconstruction du signal par une conversion num´erique/analogique (filtrage passe-bas)
Exemple de signal - Conversion binaire
I En ´electronique num´erique, le codage des informations utilise deux niveaux de tension :
I le potentiel de r´ef´erence du circuitVSS= 0V
I un potentiel positifVDD
I On affecte une valeur binaire `a chaque niveau de tension : VSS ⇔0
VDD ⇔1
I Pour se pr´emunir du bruit, aux deux niveaux logiques correspondent deux plages de tension disjointes
I Le signal est interpr´et´e comme une suite de symboles logiques
Syst` emes num´ eriques
Un syst`eme num´eriquetransforme
I une s´equence dedonn´ees = entr´eesnum´eriques
I ´etant donn´edes informations num´eriquesinternes = ´etat
I en une s´equence de donn´ees num´eriques = sorties
Types de syst` emes num´ eriques
I Syst`emescombinatoires= circuits combinatoires
I pas d’´etat interne
I sortie = f(entr´ee)
I pas de “m´emoire”
I Syst`emess´equentiels = circuits s´equentiels
I l’´etat du syst`eme est mis `a jour
I `a des instants pr´ecis, connus (horloge ou clock) : syst`emessynchrones
I `a des instantsnon pr´ecis´es: syst`emesasynchrones
I sortie(t) = f(entr´ee(t),´etat(t))
I ´etat(t+1) = g(´etat(t),entr´ee(t))
Exemples
Syst`eme combinatoire :Afficheur LED 7-segments d’un chiffre compris entre 0 et 9
Entr´ee : le chiffre `a afficher, cod´e sous forme binaire, par exemple, repr´esentation binaire non sign´ee
Il faut donc 4 bits = 4 variables logiques d’entr´ee,A,B, C, D
Sortie : l’´etat allum´e/´eteint ⇔0/1 de chacun des 7 segments 7 bits de sortie = 7 variables logiques de sortie,a,b, c, d, e,f,g
Syst`eme s´equentiel :Contrˆoleur d’un distributeur de boisson Entr´ee : I valeur de la pi`ece introduite.
Des capteurs (poids, taille) permettent d’identifier la pi`ece de monnaie introduite, l’information analogique (continue) est convertie en information num´erique
(conversion analogique/num´erique, quantification) et cod´ee sous forme de variables binaires
I choix de la boisson Etat : somme d´ej`a introduite Sortie : ordre de d´elivrer la boisson
CHAPITRE 1
Rappels
1 Logique combinatoire 1.1 D´efinitions
1.2 Table de v´erit´e
1.3 Relations fondamentales 1.4 Formes canoniques
2 Les portes logiques
2.1 Portes primitives : AND , OR , NOT 2.2 Portes universelles : NAND , NOR 2.3 Autres portes : XOR , NXOR
3 R´ealisation de fonctions
Alg` ebre de Boole
I Formalisme math´ematique de la logique
I Manipule des variables qui ne peuvent prendre que deux valeurs : Vrai ouFaux=variable bool´eenneA
I Fondement de l’´electronique num´erique : variable bool´eenne = variable binaire:0 ou1
I L’alg`ebre repose sur trois op´erateurs logiques de base :
I OU=OR: not´e + ,A+B
I ET=AND: not´e·,A.B ouAB, le point est omis
I NON=NOT= compl´ement d’une variable :A‘ou ¯A
I Fonction logique = combinaison de variables et d’op´erateurs, exemple : F(A,B,C) =A+BC+ ¯AC
Op´ erateurs
I AND I OR
I NOT
I siA= 1 →A¯= 0
I siA= 0 →A¯= 1
Table de v´ erit´ e
Une fonction bool´eenne peut ˆetre d´efinie par satable de v´erit´e Table de v´erit´e
Repr´esentation sous forme de tableau desvaleursde la fonction pourtoutes les combinaisons possiblesdes valeurs de ses variables d’entr´ee ou argu- ments.
Exemples :
F(A,B) =A+B
A B F
0 0 0
0 1 1
1 0 1
F(A,B,C) =A+BC+ ¯AC
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
Axiomes
1. Commutativit´e A+B=B+A A.B =B.A
2. El´ements neutres A+ 0 =A A.1 =A
3. Distributivit´e A+ (B.C) = (A+B).(A+C) A.(B+C) =A.B+A.C
4. Compl´ements A+ ¯A= 1 A.A¯= 0
Propri´ et´ es fondamentales
5. Identit´es A+ 1 = 1 A.0 = 0
6. El´ements neutres A+ 0 =A A.1 =A
7. Absorption A+ (A.B) =A A.(A+B) =A
8. Associativit´e A+ (B+C) = (A+B) +C A.(B.C) = (A.B).C
=A+B+C =A.B.C 9. Involution A¯=A
10. Lois de De Morgan A+B= ¯A.B¯ A.B= ¯A+ ¯B
Mintermes et Maxtermes
p-terme : produit bool´een de variables bool´eennes diff´erentes ou de leur compl´ement, exemples : ABC, ¯ABCD¯
s-terme : somme bool´eenne de variables bool´eennes diff´erentes ou de leur compl´ement, exemples :A+B, ¯A+B+ ¯C Pour un ensemble denvariables bool´eennes
Minterme
On appelleMinterme un p-terme de degr´en dans lequel chaque variable ou sa forme compl´ement´ee est pr´esente.
Exemples pour 4 variablesA,B,C,D :ABCD, ¯ABCD, ....¯ Maxterme
On appelleMaxtermeun s-terme de degr´en dans lequel chaque variable ou sa forme compl´ement´ee est pr´esente.
Exemples pour 4 variablesA,B,C,D:A+B+C+D, ¯A+B+C+ ¯D,....
Cas de deux variables
I Mintermes
A B m0 m1 m2 m3 A¯B¯ AB A¯ B AB¯
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
I un seul 1 par colonne
I indicei du Minterme = codage binaire dei
I
22
I Maxtermes
A B M0 M1 M2 M3 A+B B¯+A A¯+B A+B
0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0
I un seul 0 par colonne
I indicei du Maxterme = codage binaire dei
I
22
D’une mani`ere g´en´erale :
I L’indice d’un Minterme ou Maxterme, exprim´e en nombre binaire, permet de d´ecider si chaque variable apparaˆıt sous sa forme naturelle ou compl´ement´ee
I Pour un Minterme :
I “1”→forme naturelle de la variableA
I “0”→forme compl´ement´ee de la variable ¯A
I Pour un Maxterme :
I “0”→forme naturelle de la variableA
I “1”→forme compl´ement´ee de la variable ¯A Exemples :
I 3 variables
m5=ABC¯ M6= ¯A+ ¯B+C
I 4 variables
m11=ABCD¯ M4=A+ ¯B+C+D
Relation entre Minterme et Maxterme
Par application de la loi de De Morgan :
m11=ABCD¯ = ¯A+B+ ¯C+ ¯D =M11
Relation Minterme↔Maxterme
Mi=mi mi =Mi
Formes canoniques
I Il existedeuxformes canoniques permettant de repr´esentertoute fonction bool´eenne.
1. Somme de Mintermes (SOM - Sum Of Minterms): forme canonique disjonctive totale (fonction non nulle)
2. Produit de Maxtermes (POM - Product Of Maxterms): forme canonique conjonctive totale (fonction non ´egale `a 1)
I Chacune de ces formes canoniques peut ˆetred´eduitefacilement `a partir dela table de v´erit´ede la fonction.
Exemple : fonction OU Exclusif : XOR
Fonction de deux variables ´egale `a 1 si une et une seule des deux variables est ´egale `a 1.
A⊕B = ¯AB+AB¯ Table de v´erit´e
A B A⊕B
0 0 0
0 1 1 ← m1
1 0 1 ← m2
1 1 0
A⊕B =m1+m2
A B A⊕B
0 0 0 ← M0
0 1 1
1 0 1
1 1 0 ← M3
A⊕B=M0.M3= (A+B).( ¯A+ ¯B) A⊕B=m0+m3
R` egle
I Somme de Mintermes:
I r´ep´erer tous lesMintermes = 1dans la table de v´erit´e
I addtionner ces Mintermes (OR)
I Produit de Maxtermes:
I r´ep´erer tous lesMaxtermes = 0dans la table de v´erit´e
I multiplier ces Mintermes(AND)
Autre exemple
F1 =m1+m4+m7= ¯xy z¯ +xy¯z¯+xyz
EcrireF1 sous forme de POM
F1 =M0.M2.M3.M5.M6
= (x+y+z).(x+ ¯y+z).(x+ ¯y+ ¯z).(¯x+y+ ¯z).(¯x+ ¯y+z)
Transformer une expression logique
Exemple :F =A+ ¯BC
I Somme de Mintermes:
Utiliser les relations A+ ¯A= 1,A.1 =AetA+A=Aet la distributivit´e de l’op´erateur “. “
A+ ¯BC =A.(B+ ¯B) + (A+ ¯A).BC¯
=AB.(C+ ¯C) +AB.(C¯ + ¯C) +ABC¯ + ¯ABC¯
=ABC+ABC¯+ABC¯ +AB¯C¯+ABC¯ + ¯ABC¯
=ABC+ABC¯+ABC¯ +AB¯C¯+ ¯ABC¯
=m1+m4+m5+m6+m7
I Produit de Maxtermes:
Utiliser les relations A.A¯= 0,A+ 0 =AetA.A=Aet la distributivit´e de l’op´erateur “+ “
A+ ¯BC = (A+ ¯B).(A+C)
= (A+ ¯B+CC).(A¯ +BB¯+C)
= (A+ ¯B+C).(A+ ¯B+ ¯C).(A+B+C).(A+ ¯B+C)
= (A+ ¯B+C).(A+ ¯B+ ¯C).(A+B+C)
=M0.M2.M3
I On remarque que cette expression fait intervenir tous les Maxtermes dont l’indice ne faisait pas partie de la repr´esentation sous forme de SOM.
(axiome 3)
1 Logique combinatoire 1.1 D´efinitions
1.2 Table de v´erit´e
1.3 Relations fondamentales 1.4 Formes canoniques
2 Les portes logiques
2.1 Portes primitives : AND , OR , NOT 2.2 Portes universelles : NAND , NOR 2.3 Autres portes : XOR , NXOR
3 R´ealisation de fonctions
Les portes logiques
Porte logique = Logic Gate
Une porte logique est un circuit ´electronique de base qui se comporte comme un ensemble“d’interrupteurs” qui permettent ou non le passage du courant. Elle op`ere sur des entr´ees num´eriques, r´ealise une op´eration logique de baseet fournit la sortie num´erique correspondante.
Exemple :la porte AND = mise en s´erie de deux interrupteurs
Z =X+Y
Entr´ees :
I logique “0” : interrupteur ouvert
I logique “1” : interrupteur ferm´e
Sortie :
I logique “0” : lampe allum´ee, le courant circule
I logique “1” : lampe
´eteinte, le courant ne circule pas
Diagramme temporel
Les signaux d’entr´ee et de sortie peuvent ˆetre repr´esent´es par un diagramme temporelqui traduit symboliquement l’´evolution temporelle des variables d’entr´ee et de sortie.
D´ elai de transition
En pratique :
I Le changement de l’´etat de la sortie ne se produit pas
instantan´ement suite `a une modification d’une ou plusieurs entr´ees.
Il y existe un d´elai de propagation du signal dans le circuit =gate delaytG.
I Ce d´elai peut d´ependre : 1. du type de porte
2. de la technologie utilis´ee pour r´ealiser physiquement le circuit
´
electronique (TTL, CMOS, voir labos) 3. du nombre de signaux d’entr´ee
4. du sens de la modification du signal d’entr´ee : 0→1 ou 1→0
I Pour un circuit num´erique ´elabor´e, comportant l’interconnexion de plusieurs portes, le calcul du d´elai total est li´e aux types de portes utilis´ees ainsi qu’au nombre de niveaux de portes.
I Le d´elai est un crit`ere important `a prendre en compte lors de la r´ealisation d’un circuit (voir optimisation).
Portes primitives : AND , OR , NOT
Les portes AND et OR peuvent comporter plus de deux entr´ees :
Portes “universelles” NAND , NOR
Chacune des portes NAND et NOR est une porteuniverselle: toute fonction logique peut ˆetre r´ealis´ee `a partir de seules portes NAND ou de seules portes NOR
Portes universelles
I Les op´erations de base AND et OR peuvent ˆetre r´ealis´ees `a partir de porte NAND ou NOR
I Portes NAND :
Autres r´ ealisations
I Porte NAND
I Porte NOR
Int´ erˆ et pratique des portes NAND et NOR
I Impl´ementation directe en technologie CMOS
I Bonne performance en terme de vitesse (d´elai) et de taille (dimension de la puce ´electronique)
I Exemple : porte NAND, technologie CMOS
Porte n−NAND `anentr´ees :2ntransistors suffisent Porte n−AND : 2n+ 2 transistors
Technologie CMOS
Voir cours ´electronique analogique, Bac 3
Portes NAND et CMOS
Porte NOT : 2 transistors
Porte 2-NAND : 2×2 = 4 transistors
Portes “ou exclusif” : XOR , XNOR
L’op´eration XNOR se note ´egalement :XY Fonctions utiles pour r´ealiser : (voir
chapitres ult´erieurs)
I des additionneurs, soustracteurs
I compteurs
I test de parit´e et g´en´erateurs de bits de parit´e
I Identit´es :
XOR : r´ ealisations
I portes primitives :
X⊕Y =XY¯ +YX¯
I portes NAND :
Fonctions paires et impaires
I Fonctions XOR et XNOR `a plus de deux entr´ees
Fonction impaire : ´egale `a 1 pour un nombre impair de 1 des variables d’entr´ee = XOR
Exemple `a 3 variables :
X ⊕Y ⊕Z =XY¯Z¯+ ¯X YZ¯+ ¯XY Z¯ +XYZ Fonction paire : ´egale `a 1 pour un nombre pair de 1 des variables
d’entr´ee = XNOR Exemple `a 3 variables :
XYZ =X⊕Y ⊕Z = ¯XY¯Z¯+ ¯X YZ+XY Z+XY¯ Z¯
I R´ealisation :
F =X⊕Y⊕Z = (X⊕Y)⊕Z
1 Logique combinatoire 1.1 D´efinitions
1.2 Table de v´erit´e
1.3 Relations fondamentales 1.4 Formes canoniques
2 Les portes logiques
2.1 Portes primitives : AND , OR , NOT 2.2 Portes universelles : NAND , NOR 2.3 Autres portes : XOR , NXOR
3 R´ealisation de fonctions
Table de v´ erit´ e, expression et diagramme logiques
Exemple :
Une mˆeme fonction logique peut ˆetre repr´esent´ee par sa table de v´erit´e, une expression ou un diagramme logique
I La table de v´erit´e est unique
I Il peut exister plusieurs expressions logiques pour une mˆeme fonction : simplification, utilisation des r`egles de l’alg`ebre de Boole
I Cela donne lieu `a plusieurs diagrammes logiques⇒diff´erentes r´ealisations en termes de circuit,optimisation de circuits
I Forme canonique disjonctive totale : SOM, autre r´ealisation de F
I Plus grande complexit´edans ce cas
F =X+ ¯Y Z
=m1+m4+m5+m6+m7
= ¯XY Z¯ +XY¯Z¯+XY Z¯ +XYZ¯+XYZ
R´ ef´ erences
I Logic and Computer Design Fundamentals, 4/E, M. Morris Mano Charles Kime , Course material
http ://writphotec.com/mano4/
I Cours d’´electronique num´erique, Aur´elie Gensbittel, Bertrand Granado, Universit´e Pierre et Marie Curie
http ://bertrand.granado.free.fr/Licence/ue201/
coursbeameranime.pdf