• Aucun résultat trouvé

ELEN0040 - Electronique num´erique

N/A
N/A
Protected

Academic year: 2022

Partager "ELEN0040 - Electronique num´erique"

Copied!
58
0
0

Texte intégral

(1)

ELEN0040 - Electronique num´ erique

Patricia ROUSSEAUX

Ann´ee acad´emique 2014 - 2015

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(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

(11)

Un monde num´ erique ?

(12)

Un monde num´ erique ?

(13)

Un monde num´ erique ?

(14)

Un monde num´ erique ?

(15)

Continu/Num´ erique

I Le monde r´eel est un monde continu

I Le monde num´erique est un monde discr´etis´e

(16)

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)

(17)

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

(18)

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

(19)

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))

(20)

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

(21)

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

(22)

CHAPITRE 1

Rappels

(23)

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

(24)

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 :Aou ¯A

I Fonction logique = combinaison de variables et d’op´erateurs, exemple : F(A,B,C) =A+BC+ ¯AC

(25)

Op´ erateurs

I AND I OR

I NOT

I siA= 1 →A¯= 0

I siA= 0 →A¯= 1

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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.

(34)

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

(35)

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)

(36)

Autre exemple

F1 =m1+m4+m7= ¯xy z¯ +xy¯z¯+xyz

(37)

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)

(38)

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

(39)

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)

(40)

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

(41)

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

(42)

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.

(43)

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

(44)

Portes primitives : AND , OR , NOT

Les portes AND et OR peuvent comporter plus de deux entr´ees :

(45)

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

(46)

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 :

(47)

Autres r´ ealisations

I Porte NAND

I Porte NOR

(48)

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

(49)

Technologie CMOS

Voir cours ´electronique analogique, Bac 3

(50)

Portes NAND et CMOS

Porte NOT : 2 transistors

Porte 2-NAND : 2×2 = 4 transistors

(51)

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 :

(52)

XOR : r´ ealisations

I portes primitives :

X⊕Y =XY¯ +YX¯

I portes NAND :

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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

(58)

Références

Documents relatifs

En pratique, l’Analyse Num´ erique se propose d’´ etudier les propri´ et´ es math´ ematiques des algorithmes et leur mise en oeuvre (programmation).... Ainsi le r´ esultat

Liste des registres dans la datasheet du microcontrˆ oleur (STM32F4) ⇒ utilisation des masques pour d´ efinir un bit individuel. Extraits de datasheets

2 En gardant le mˆ eme programme principal, proposer une architecture de programme qui permette d’ex´ ecuter ce mˆ eme programme sur STM32. 3 Proposer deux Makefile qui automatisent

• Ce programme fait exclusivement appel ` a des fonctions g´ en´ eriques ind´ ependantes du mat´ eriel : stubs. • L’acc` es de ces fonctions au mat´ eriel est impl´ ement´ e

L3 : aspects analogiques, consommation ´ electrique, lecture de datasheet Survol des divers p´ eriph´ eriques qui seront abord´ es (RS232, SPI, timer, ADC) repr´ esentation des

• virgule flottante simple pr´ ecision float et double pr´ ecision double Utiliser le type pr´ esentant le meilleur compromis espace/pr´ ecision des donn´ ees (analyse

6 N´ ecessit´ e de connaˆıtre la fr´ equence d’´ echantillonnage f e pour tout traitement num´ erique du signal (axe des fr´ equences normalis´ e par f e /2). Exercice :

• probl` eme : plusieurs tˆ aches, une ressource : comment garantir l’int´ egrit´ e des acc` es.. • probl` eme : les tˆ aches veulent ´ echanger des donn´ ees : comment