181
Enseignants: Fakhreddine GHAFFARI ([email protected]) Olivier ROMAIN ([email protected]) Année Universitaire 2012/2013 Fakhreddine GHAFFARI Olivier ROMAIN Electronique Numérique 1 Electronique Numérique ENSL1 (S1) 1 ère année IUT GEII

Electronique Numérique ENSL1 (S1) 1 ère année IUT GEII

  • Upload
    ina

  • View
    56

  • Download
    3

Embed Size (px)

DESCRIPTION

Electronique Numérique ENSL1 (S1) 1 ère année IUT GEII. Enseignants: Fakhreddine GHAFFARI ( [email protected]) Olivier ROMAIN ([email protected]) Année Universitaire 2012/2013. Plan du cours. Chapitre 1: Introduction Historique Technologie Bases de numération - PowerPoint PPT Presentation

Citation preview

Page 1: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Enseignants: Fakhreddine GHAFFARI ([email protected])

Olivier ROMAIN ([email protected])

Année Universitaire 2012/2013

Fakhreddine GHAFFARI Olivier ROMAIN

Electronique Numérique1

Electronique NumériqueENSL1 (S1)

1ère année IUT GEII

Page 2: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Plan du cours

2

I. Chapitre 1: Introduction

1. Historique

2. Technologie

3. Bases de numération

II. Chapitre 2: L’algèbre de Boole et les fonctions logiques

1. Les lois et règles de l’algèbre binaire

2. Les fonctions binaires élémentaires

3. Ecriture et simplification des fonctions logiques

III. Chapitre 3: Les circuits logiques

1. Les circuits d’encodage et de décodage

2. Les circuits multiplexeurs et démultiplexeurs

Fakhreddine GHAFFARI Olivier ROMAIN

Page 3: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Plan du cours

3

IV. Chapitre 4: Les circuits arithmétiques

1. Les circuits additionneurs

2. Les circuits multiplieurs/diviseurs

V. Chapitre 5: La logique séquentielle

3. L’élément de base : la bascule Asynchrone

4. Les bascules Synchrones

5. Les registres Synchrones

Fakhreddine GHAFFARI Olivier ROMAIN

Page 4: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Chapitre 1: Introduction

4

Qu’est ce que l’électronique Numérique ? Pourquoi et à quoi ça sert ?

2 grands types de systèmes électroniques :

• Les dispositifs électroniques ANALOGIQUES (amplification, filtrage, antennes, GSM, etc.)

• Les dispositifs électroniques NUMERIQUES (tous les autres systèmes, informatique, TNT, réception numérique, etc.)

Dans les systèmes analogiques, on utilise les lois physiques du composant pour effectuer des opérations sur les grandeurs, exemple (qui doit devenir bien connu !) :

ÞAvantages : simplicité, rapidité et précisionÞInconvénients : peu de souplesse, pas de « programmation », forte sensibilité au bruit et aux variations

Fakhreddine GHAFFARI Olivier ROMAIN

Page 5: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Introduction (suite)

Fakhreddine GHAFFARI Philippe GUERINEAU5

Dans les systèmes électroniques numériques, les grandeurs sont transformées en nombres et les composants sont plus facilement utilisables

Tout se fait avec des Interrupteurs

Les premiers ordinateurs ont été fabriqués, avec des lampes (ancêtre du transistor) et des relais électromécaniques (des interrupteurs commandés).

Exemple : 1946 : Création de l'ENIAC (Electronic Numerical Integrator and Computer) La programmation de ce calculateur s'effectue en recablant entre eux, ses différents éléments. Composé de 19000 tubes, il pèse 30 tonnes, occupe une surface de 72 m2 et consomme 140 kilowatts. Horloge : 100 KHz. Vitesse : environ 330 multiplications par seconde, soit beaucoup moins bien qu’une simple calculatrice.

Be carefull : On ne remplace pas tout, de l’analogique au numérique !Certaines fonctions restent seulement réalisables en analogique (ex : les antennes, les applications d’amplifications et de hautes tensions, etc.)

Page 6: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique6

L’électronique numérique : ÞAvantages : souplesse, évolutivité, insensibilité au rayonnement et au bruit,ÞInconvénients : manque de précision (encore aujourd’hui), pas assez rapide

Les systèmes électroniques modernes savent intégrer des parties analogiques aux parties numériques, exp : processeur de calcul + tète RF analogique = téléphonie portable.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 7: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Un peu de Technologie

7

Un peu de technologie :La base de tous les systèmes électroniques numériques est le transistor, utilisé comme un interrupteur commandé (le remplaçant du relais électromécanique des années 1930).

Il y a eu différentes technologies, et différents types de transistors. Aujourd’hui, la technologie dominante sur le marché est la technologie MOS (Metal Oxyde Silicon) et CMOS (Complementary MOS).

Le Transistor MOS:

commandeinterrupteur

drain

sourceGrille

En fonction de la tension électrique appliquée sur la grille, le transistor est équivalent (entre drain et source) à un interrupteur presque parfait, ouvert ou fermé.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 8: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Récapitulatif

Electronique Numérique8

=> Un dispositif électronique numérique est constitué uniquement de transistors(les transistors complémentaires CMOS), qui sont utilisés comme des interrupteurs (entre source et drain) commandés par la tension appliquée sur la grille.

=> Remarque : la technologie CMOS évolue très rapidement en faisant diminuer d’un facteur 2 la taille des transistors, tous les 18 mois, pour atteindre aujourd’hui plusieurs milliards de transistors sur une seule « puce » de silicium de quelque centaines de mm²

ÞToutes les grandeurs (tensions) à l’intérieur d’un système électronique numérique (les tensions de grille de commande ou les tensions de sortie qui, elles mêmes commandent d’autres transistors) ne prennent que 2 états :

- état « 0 » => tension VSS, (GND), 0V, = ‘0’- état « 1 » => tension VDD, (VCC), quelque Volts, = ‘1’

=> Un système à 2 états est un système BINAIRE, dans lequel on appliqueUne algèbre particulière => l’algèbre de BOOL avec ses lois spécifiques.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 9: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

1) Représentation des nombres en binaire

9

Parmi la vaste quantité d’objets mathématiques sur lesquels on peut essayer de faire des calculs électroniquement, nous nous intéresserons qu’à deux catégories seulement :

Les nombres entiersnon signés :

signés :

( 2, 50, 34, 10, 1, 123, … )

( -2, 50, -34, -10, 1, -123, … )

Les nombres fractionnairesà virgule fixe ou à précision finie

à virgule flottante ou nombres flottants ou, maladroitement, les nombres à précision infinie.

Fakhreddine GHAFFARI Olivier ROMAIN

Les bases de numération

Page 10: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation des nombres entiers

10

D’une manière générale, un nombre entier (positif) N peut s’écrire (se représenter) dans une base quelconque (B entier) de la manière suivante :

BCBCBCBCN nn

012.0.1.2....

ni

i

ii BCN

0. => N est le nombre mathématique (abstrait),

=> B est la base de représentation,=> Ci sont les coefficients de la représentation de N dans la base B,=> n correspond au nombre maximum de coefficients utilisés pour représenter N.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 11: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation d’un nombre décimal

11

105104101145 012...10 en base 10 (décimal )

818282145 012...10 en base 8 ( octal )

2120202021202021145 01234567........10

en base 2 (binaire )

Donc le nombre : se représente par : 145 en base 10 (décimal),221 en base 8 (octal),10010001 en base 2 (binaire).

10145

Fakhreddine GHAFFARI Olivier ROMAIN

Page 12: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation en binaire

12

En binaire, on peut donc représenter n’importe quel entier N avec M bits :

222.2 0121.0.1....2.1 CCCCN MM

MM

Sur M bits, les nombres entiers positifs représentables sont limités à :

20 1 MN

Exemple :•Sur 4 bits =>•Sur 8 bits =>•Sur 16 bits =>

150120 Þ NN 4

2550120 Þ NN 8

655350120 Þ NN 16

Fakhreddine GHAFFARI Olivier ROMAIN

Page 13: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation en binaire (suite)

13

Cette représentation conduit naturellement au code binaire naturel : => on affecte à chaque indice de la base un poids, en partant du plus faible (à droite) pour atteindre le plus fort (à gauche), tout comme en décimale avec : les unités, les dizaines, les centaines, …

C0

N (décimal

)01

0 (=0)1

00

01

23

11

00

00

1111

00

0

011 1

1

7654

00

00

0000

C3

C2

C1

20

21

22 01

22

22 02

22 12

222 012

0000 2 23…..

…..

Exemple :Soit N = 1010011 en binaire, quelle est sa valeur décimale ?

20212426

N(2) = 1010011

D’où N(10) = 64+16+2+1=83

Fakhreddine GHAFFARI Olivier ROMAIN

Page 14: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple en octal

14

De même , dans n’importe quelle base, exemple en octal :

C0

N (décimal

)01

0 1

00

23

23

0000

4

600 7

5

7654

C1

8.68.0 01

01 81121

99 8.28.1 01

Fakhreddine GHAFFARI Olivier ROMAIN

Page 15: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation dans des bases multiples

15

Lorsque les nombres représentés en binaire sont un peu trop « longs », on prendra l’habitude de les représenter dans des bases multiples, afin de minimiser l’expression :

1 0 0 1 0 0 0 1 en base 2

2 1 0 1 en base 4 9 1 en base 16

)16()4()2()10( 91210110010001145

Fakhreddine GHAFFARI Olivier ROMAIN

Page 16: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Choix de la base

16

N’importe quelle représentation binaire d’un nombre peut se réécrire de façon plus compacte en regroupant les bits :

2 par 2 pour la représentation en base 4 =

3 par 3 pour la représentation en base 8 =

4 par 4 pour la représentation en base 16 =

22

23

24

Par habitude, on utilise couramment les bases : 2 (binaire) et 16 (hexadécimal).En base 16, il faut « inventer » des chiffres compris entre : 0 et 15 :

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

1011 12 13

1415

Fakhreddine GHAFFARI Olivier ROMAIN

Page 17: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation des nombres fractionnaires

17

Pour représenter les nombres réels fractionnaires, se pose le problème (comme en décimal) de la précision de représentation => jusqu’à quelle décimale voulons nous représenter les nombres ?

Autrement dit, quelle est la précision (le quantum) de nos calculs ?

2 possibilités précision fixée à l’avance (virgule fixe)

précision variable (virgule flottante => « précision infinie »)

Fakhreddine GHAFFARI Olivier ROMAIN

Page 18: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation en virgule fixe

18

On s’inspire de la représentation décimale :

10.310.410.210.510.1243,15 32101

Si on décide de toujours garder 3 chiffres après la virgule : on est en virgule fixe. La précision maximale de représentation est : 10.1 3

Cette représentation est strictement équivalente à la représentation des entiers, à un facteur d’échelle près.

1015243243,15 3

Nombre entier Facteur d’échelle

Fakhreddine GHAFFARI Olivier ROMAIN

Page 19: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple d’opération à virgule fixe

19

1043010123743,0237,1 33 10)4301237(43,0237,1 3

Addition entière

En binaire, on utilise la même méthode :

sur N bits : , avec : N = E + F

E bits F bits

2....2.2.2....2.2. 22

11

00

22

11

FF

EE

EE AAAAAAA

Partie entière sur E bits Partie fractionnaire sur F bits

Fakhreddine GHAFFARI Olivier ROMAIN

Page 20: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Autre exemple

20

2.12.12.12.12.12.165625,13 531023

Partie entière sur 4 bits Partie fractionnaire sur 5 bits

Or : 13.65625 = 437 / 32 = 2.437 5

2).110110101( 5

1101,10101Ces 2 expressions sont rigoureusement identiques

Fakhreddine GHAFFARI Olivier ROMAIN

Page 21: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Addition à virgule fixe

21

13,65625 + 22,125 01101,10101

10110,00100

100011,11001

+

=

78125,352.12.12.12.12.12.1 521015

Problème : comment trouver la représentation, en virgule fixe la mieux adaptée au nombre réel donné ?

0,92 x 2 = 1.84 10,84 x 2 = 1.68 10,68 x 2 = 1.36 10,36 x 2 = 0.72 0

Exemple : 9,92 La partie entière sur 4 bits : 1001 La partie fractionnaire sur 4 bits : 1110

Finalement : 9,92 va s’écrire :1001,1110 => donc sur codé sur 8 bits

1001,1110 est exactement égal à : 9,875 => c’est la valeur arrondie à : près de 9,92

2 4

Fakhreddine GHAFFARI Olivier ROMAIN

Page 22: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage d’une base B vers la base 10

22

Il suffit de calculer en base 10 la somme totale des puissancespondérées de la base B.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 23: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage Décimal vers une base B

23

Méthode par soustractions successives

Fakhreddine GHAFFARI Olivier ROMAIN

Cette méthode utilise le développement polynomial

• Algorithme

• Dresser une table donnant les valeurs des différentes puissances de la base B dans laquelle on convertit le nombre décimal

• Au nombre décimal donné, retrancher la plus grande puissance de B possible

• Répéter le processus à partir des restes obtenus

•RemarqueCette méthode ne s’applique qu’aux nombres entiers

Page 24: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage Décimal vers une base B

24

Exemple

Fakhreddine GHAFFARI Olivier ROMAIN

Convertir 6718 (base 10) en octal:

Page 25: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage Décimal vers une base B

25

Méthode par divisions (ou multiplications)

Fakhreddine GHAFFARI Olivier ROMAIN

Méthode plus simple, plus rapide Convient aux nombres entiers et fractionnaires

Tout nombre N, à priori non entier, sera converti en considérant: D’une part sa partie entière, à laquelle on appliquera laméthode des divisions successives D’autre part sa partie fractionnaire, à laquelle on appliquera la méthode des multiplications successives

Page 26: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage Décimal vers une base B

26 Fakhreddine GHAFFARI Olivier ROMAIN

Conversion de la partie entière Diviser le nombre à convertir par la base du nouveau système Conserver le reste Répéter le processus à partir du nouveau quotient obtenu Arrêter si le quotient est nul Écrire les restes à partir du dernier et de gauche à droite pour btenir le nombre en base B

Exemple: convertir 358(10) en base 8

Page 27: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage Décimal vers une base B

27 Fakhreddine GHAFFARI Olivier ROMAIN

Autre exemple:

Convertir 254(10) vers la base 2 et vers la base 16?

Page 28: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage Décimal vers une base B

28 Fakhreddine GHAFFARI Olivier ROMAIN

Conversion de la partie fractionnaire:

Multiplier le nombre à convertir par la base du nouveau système Soustraire et conserver sa partie entière Répéter le processus à partir de la nouvelle partie fractionnaire Arrêter quand la précision désirée est atteinte

Exemple: convertir 0,732(10) en base 8

Page 29: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage du binaire vers une base 2ⁿ et vice versa

29 Fakhreddine GHAFFARI Olivier ROMAIN

Binaire vers Octal:

Algorithme:Grouper les bits par blocs de 3 à partir du bit de poids faibles Convertir ensuite directement ces blocs en octal Exemple:

Octal vers Binaire:Algorithme:Traduire chaque chiffre du nombre en base 8 en nombre de 3 bits enbase 2 Exemple:

Page 30: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage du binaire vers une base 2ⁿ et vice versa

30 Fakhreddine GHAFFARI Olivier ROMAIN

Binaire vers Hexadécimal:

Algorithme: Grouper les bits par blocs de 4 à partir du bit de poids faibles Convertir ensuite directement ces blocs en hexadécimal Exemple:

Hexadécimal vers Binaire:Algorithme:Traduire chaque chiffre du nombre en base 16 en nombre de 4 bits enbase 2 Exemple:

Page 31: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Transcodage du Base i vers Base j

31 Fakhreddine GHAFFARI Olivier ROMAIN

Les bases i et j sont toutes les deux des puissances de 2. On utilise alors la base 2 comme base relais :

Les bases i et j ne sont pas toutes les deux des puissances de 2. On utilise alors la base 10 commebase relais

Page 32: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation binaire des nombres signés

32

Il existe plusieurs façons de représenter les nombres signés (positifs et négatifs)

La 1ière manière consiste à s’inspirer de la représentation décimale (-5) en représentant le signe (+ ou -) suivi de la valeur absolue

10

11

01

3 => 11 =>-2 => 10 =>

Le signe (+ ou -) qui est une information binaire, est représenté par 1 bit de plus (le bit de signe) avec le codage suivant :

Bit de signe = 0 => nombre positif Bit de signe = 1 => nombre négatif

Fakhreddine GHAFFARI Olivier ROMAIN

Page 33: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Nombres signés : 1ière méthode

33

1ière conséquence : il faut 1 bit supplémentaire pour représenter les nombres (qu’ils soient positifs ou négatifs)

Au lieu de : 120 NNpositifs :

négatifs :

120 1 NN

012 1 NN

L’étendue des valeurs est divisée par 2 => la moitié pour les nombres positifs et l’autre pour les nombres négatifs.

2ième conséquence : il y a 2 représentations possibles du nombre : 0 =>+0 ou -0 !!!

Fakhreddine GHAFFARI Olivier ROMAIN

Page 34: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Nombres signés : 1ière méthode (suite)

34

3ième conséquence : toute l’arithmétique binaire s ’applique sans changements sur les nombres positifs, mais pas sur les nombres négatifs !!!

Lors d’une soustraction / addition, il faut d’abord calculer le signe du résultat en comparant les bits de signe et les valeurs absolues, comme en décimal.

(+5) + (-3) = + (5-3)(-10) + (+5) = - (10-5)(-5) + (-10) = - (10+5)

C’est assez compliqué !!

Toutes ces conséquences font qu’on utilise jamais cette représentation

Fakhreddine GHAFFARI Olivier ROMAIN

Page 35: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation en « code complément à 2 »

35

Cette représentation exploite la règle élémentaire de l’algèbre de Boole : 1 AA

Lorsque le nombre A est codé sur N bits, cette règle devient : 12 N

NbitsNbits AA D’où : 21 NNbitsNbits AA

Or, ne se représente pas sur N bits (tous les nombres sont modulo 2)=>

2N

01 NbitsNbits AAOu encore : NbitsNbits AA 1

Exemple : 01117 )10( 10007 )10( 111177 )10(

10000177

Résultat = 0 sur le format du mot (c’est-à-dire : 4 bits)

La représentation de : - 7 sur 4 bits est donc :10007 )10( 00011

10017

Fakhreddine GHAFFARI Olivier ROMAIN

Page 36: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Calcul de CC2

36

Calculer l’opposé d’un nombre en CC2 (code complément à 2) revient donc à calculer l’opposé (bit à bit : c’est le CC1) auquel il faut ajouter : 1

Cette règle (de calcul) s’applique aussi bien pour calculer l’opposé d’un nombre positif que pour calculer l’opposé d’un nombre négatif !!

Exemple : calculons l’opposé de : -7 01107 00011

01117

On retrouve bien évidemment le nombre positif : +7 !!

Fakhreddine GHAFFARI Olivier ROMAIN

Page 37: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Conséquence du CC2

37

1ière conséquence : il n’y a qu’une seule représentation du « 0 »

11110 00011

100000

00000

2ième conséquence : lorsque les nombres sont strictement positifs, toutes les opérations (addition, soustraction, multiplication, division) s’appliquent normalement :

01004 )10( 00113 )10( 01117 )10(

3ième conséquence : les opérations (addition, soustraction, multiplication, division) s’appliquent également sur les nombres négatifs :

01117 )10( 10115

00102 )10(

11013 11102

01106 )10(

00001101

11011101

Fakhreddine GHAFFARI Olivier ROMAIN

Page 38: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Conséquence du CC2 (suite)

38

Là aussi, on utilise un bit de plus pour représenter le signe => réduction de la dynamique :

On a : valeurs positives ou nulle, soit 8 valeurs dans un format 4 bits (7 valeurs strictement positives et la valeur nulle )

2 1N

2 1NOn a : valeurs négatives, soit 8 valeurs dans un format 4 bits

Représentation du codage CC2 dans un format : 4 bits

a0

Non signés0

101

00

01

23

11

00

00

1111

00

0

011 1

1

7654

00

00

0000

a3

a2

a1

0 0 0 811 9001

1011

11

0

00

1

11

1111

00

0

011 1

1

151413121

111

Signés CC20123

7654

-8-7-6-5

-1-2-3-4

Fakhreddine GHAFFARI Olivier ROMAIN

Page 39: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

CC2 : généralisation

39

D’une manière générale, sur N bits on peut représenter :

12;0 NN 12;2 11 NNN

en binaire naturelen Code Complément à 2 : CC2

Cette représentation est utilisée dans tous les ordinateurs pour représenter les entiers signés.

Inconvénient : les relations d’ordre entre les entiers signés sont difficiles à établir, surtout autour du « 0 »

12 1 N

2 1N

12 N

12 1 N

2 1 N

0

Ce nombre est proche de 0, pourtant tous les bits sont à 1 !!

=> Plus on s’éloigne de la représentation binaire naturelle du 0, plus la valeur représentée en est proche !!

Fakhreddine GHAFFARI Olivier ROMAIN

Page 40: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Le binaire décalé

Electronique Numérique40

a0 CC201

01

00

01

23

11

00

00

1111

00

0

011 1

1

7654

00

00

0000

a3

a2

a1

0 0 0 -811001

11

0

00

1

11

1111

00

0

011 1

11111

Signés CC20123

7654

-8-7-6-5

-1-2-3-4

-8-7-6-5

-1-2-3-4

0123

7654

Fakhreddine GHAFFARI Olivier ROMAIN

Page 41: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Calcul du CC2 : astuce

41

Pour calculer l’opposé d’un nombre => en partant de la droite, on recopie les bits du nombre jusqu’au 1ier « 1 » rencontré, ensuite on inverse les bits restants.

Exemple : calculons l’opposé de : 2 2 0010 -2 1110

Sens de lecture

Fakhreddine GHAFFARI Olivier ROMAIN

Page 42: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique42

Inventée par le mathématicien Georges BOOLE (1815-1864), l’algèbre de BOOLE définit les règles de calcul pour les opérations possibles sur des nombres binaires (à 2 états)

ÞUne variable BOOLEENNE ne peut prendre que 2 états : VRAI (TRUE) ou FAUX (FALSE)

Þ on parle de logique booléenne (ou de logique binaire), lorsqu’on associe des valeurs numériques aux états :

VRAI est équivalent à « 1 », qu’on appelle souvent : niveau 1.FAUX est équivalent à « 0 », qu’on appelle souvent : niveau 0.

ÞIl n’existe que 3 opérations élémentaires dans la logique booléenne :- opération NON (NOT) : cette opération revient à fournir le

complément de la valeur d’entrée (on parle également d’inversion)

Si A = 1 alors S = 0

Si A = 0 alors S = 1

Chapitre 2: Algèbre de Boole et fonctions logiques

Fakhreddine GHAFFARI Olivier ROMAIN

Page 43: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Opération OU (OR)

43

opération OU (OR) : cette opération revient à fournir la somme logique des valeurs d’entrée (on parle également d’union) :

S = A + B => on prononce : S = A OU B (et non pas : S = A plus B)

Définition :S = 1 si au moins une des entrées est égale à 1, sinon S = 0

Correspondance électrique :

Mise en parallèle

Fakhreddine GHAFFARI Olivier ROMAIN

Page 44: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Opération ET (AND)

44

Mise en série

opération ET (AND) : cette opération revient à fournir le produit logique des valeurs d’entrée (on parle également d’intersection) :

S = A B => on prononce : S = A ET B

Définition :S = 1 si toutes les entrées sont égales à 1, sinon S = 0

Correspondance électrique :

Fakhreddine GHAFFARI Olivier ROMAIN

Page 45: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Lois et règles

Electronique Numérique45

ÞLes opérations ET et OU sont commutatives :

ÞLes opérations ET et OU sont associatives :

ÞL’opération ET est distributive :

ÞL’opération OU est également distributive ! :

Attention : comme vous le savez, la distributivité de la somme n’est vrai Qu’en algèbre binaire !!!

Fakhreddine GHAFFARI Olivier ROMAIN

Page 46: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Règles et axiomes

Electronique Numérique46Fakhreddine GHAFFARI

Olivier ROMAIN

Page 47: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Règles (suite)

Electronique Numérique47

Démonstration : en utilisant l’axiome : A.1 = A ÞA + A.B = (A.1) + (A.B) => on doit reconnaître la distributivité inverse du ETÞ (A.1) + (A.B) = A . (1+B) = A => CQFD

Démonstration :Þ on doit reconnaître la distributivité du OUÞ => CQFD

Montrer que :Þ (A + B). (A+C) = A+BC

Fakhreddine GHAFFARI Olivier ROMAIN

Page 48: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Théorème de DE MORGAN

48

A et B sont 2 variables binaires :

Þ On a : ; « le complément du produit est égal à la somme des compléments »

Þ On a : ; « le complément de la somme est égal au produit des compléments »

Application du théorème de DE MORGAN :

BABA .

Fakhreddine GHAFFARI Olivier ROMAIN

Page 49: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Les fonctions binaires élémentaires

Electronique Numérique49

Les N variables de la fonction

Toutes les combinaisonsPossibles des N variables

La fonction à calculer

La valeur de la fonction, pour chaque combinaisondes N variables d’entrée

La table de vérité répertorie toutes les valeurs que peut prendre la fonction, en fonction de toutes les combinaisons possibles des N variables d’entrée.

La table de vérité:

Fakhreddine GHAFFARI Olivier ROMAIN

Page 50: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Table de vérité, à 1 et 2 variables

50

A S1 seule variable => 2 combinaisons

=> 2 lignes dans la table de vérité01

2 Variables => 4 combinaisons

=> 4 lignes dans la table de vérité

A S01

B00

01

11

Fakhreddine GHAFFARI Olivier ROMAIN

Page 51: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Table de vérité, à 3 et plus variables

51

3 Variables => 8 combinaisons

=> 8 lignes dans la table de vérité

A S01

B00

01

11

C00

00

1111

00

0

011 1

1

Généralisation : une fonction binaire à N variables peut prendre valeurs distinctes (possibles) donc => lignes

dans sa table de vérité

N2 N2

Fakhreddine GHAFFARI Olivier ROMAIN

Page 52: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Comment construire une table de vérité?

52

Þ On insère autant de colonnes que de variables d’entrée de la fonction

Þ On insère autant de lignes que les : combinaisons.

Þ On implémente les variables dans la table , en commençant par la colonnede droite.

Þ On commence par la combinaison : « tout à 0 », sur la 1ière ligne

N2

Fakhreddine GHAFFARI Olivier ROMAIN

Page 53: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction : NON (NOT)

53

Table de vérité :

Définition : réalise le complément logique de l’entrée (on parle également d’inversion logique).

A S01

10

1 variable => 2 lignes

Désignation : on prononce S = A bar AS

Symbole : A S

Ancienne norme

Schéma en transistors MOS :

1 SA

Norme Européenne

PMOS

NMOS

A S S = 1A =0

A = 1 S = 0

Fakhreddine GHAFFARI Olivier ROMAIN

Page 54: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction : ET (AND)

54

Table de vérité :

Définition : vrai si toutes les entrées sont vraies, sinon : faux.

Désignation : S = A.B on prononce S = A ET B

Symbole : A S

Ancienne norme

&S

Norme Européenne

A S01

00

B00

01

01

11

B

AB

Fakhreddine GHAFFARI Olivier ROMAIN

Page 55: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction : OU (OR)

55

Table de vérité :

Définition : vrai si au moins une des entrées est vraie, sinon : faux.

Désignation : S = A + B on prononce S = A OU B

Symbole : A S

Ancienne norme

≥1

S

Norme Européenne

A S01

01

B00

01

11

11

B

AB

Fakhreddine GHAFFARI Olivier ROMAIN

Page 56: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction : NON ET (NAND)

56

Table de vérité :

Désignation : on prononce S = (A ET B) bar

Symbole : A S

Ancienne norme

Schéma en transistors MOS ? :

&S

Norme Européenne

A S01

11

B00

01

10

11

B

AB

A

B

B

S

BAS

Fakhreddine GHAFFARI Olivier ROMAIN

Page 57: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction : NON OU (NOR)

57

Table de vérité :

Désignation : on prononce S = (A OU B) bar

Symbole : A S

Ancienne norme

Schéma en transistors MOS :

≥1

S

Norme Européenne

A S01

10

B00

01

00

11

B

AB

BAS

B

S

A

A

B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 58: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction OU Exclusif (XOR)

58

Table de vérité :

Symbole : A S

Ancienne norme

=1

S

Norme Européenne

A S01

01

B00

01

10

11

B

AB

Désignation : on prononce S = (A xor B) BAS

définition :VRAI si un nombre impair d’entrées, VRAIE

BABAS

Application :La fonction est couramment utilisée pour connaître la parité de plusieurs variables binaires => nous verrons cet exemple un peu plus tard.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 59: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction NON OU Exclusif (XNOR)

59

Table de vérité :

Symbole : A S

Ancienne norme

=1

S

Norme Européenne

A S01

10

B00

01

01

11

B

AB

Désignation : on prononce S = (A xor B) bar BAS

définition :VRAI si un nombre pair d’entrées, VRAIE

BABAS

Fakhreddine GHAFFARI Olivier ROMAIN

Page 60: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

« Lecture » d’une fonction CMOS

60

Pour lire (ou réaliser) une fonction CMOS, réalisée à partir d’un réseau de transistor NMOS et d’un réseau de transistors PMOS

S = (complément du réseau NMOS) ou bien (réseau PMOS directement )

Exemple :

A

B

BS

Réseau PMOS =>

Réseau NMOS =>

D’où : BAS

BAS .

BAS

Fakhreddine GHAFFARI Olivier ROMAIN

Page 61: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonctions complémentées

61

Toutes les fonctions logiques (ou binaires) peuvent s’exprimer à partir des fonctions élémentaires : NON, ET et OU.En technologie CMOS il est plus facile de réaliser les fonctions complémentées(NAND et NOR).

A partir de ces fonctions élémentaires, on peut re-construire toutes les autres => en CMOS les portes NAND et NOR (surtout les NAND) sont des portes universelles

A

BA

BA

NON AAA

ET BABA

OU BABA

Fakhreddine GHAFFARI Olivier ROMAIN

Page 62: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonctions à partir de NOR

62

AAA

BABA

BABA

NON

OU

ET

Fakhreddine GHAFFARI Olivier ROMAIN

Page 63: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Equivalence des expressions et des représentations graphiques

63

Toutes les fonctions booléennes peuvent se représenter graphiquement en utilisant les symboles standards. Tout schéma avec des portes logiques peut s’écrire sous la forme d’une fonction logique

Les deux représentations sont équivalentes.

Exemple: EDCABAS

Fakhreddine GHAFFARI Olivier ROMAIN

Page 64: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Symboles généraux

64

Remarque : On peut trouver, dans certains cas, des symboles plus généraux :

ABC

CBAS

Permet une représentation graphique plus compacte

Fakhreddine GHAFFARI Olivier ROMAIN

Page 65: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Formes d’écriture

65

Il existe 2 façons différentes d’écrire une fonction booléenne :

Þ Sous forme de somme de produits (SDP)Þ Sous forme de produit de sommes (PDS)

Ces 2 formes d’expression sont duales

Exemple :

CBCBABACBAf ,, CACBACBACBAf ,,

=> Somme de produits=> Produit de sommes

Fakhreddine GHAFFARI Olivier ROMAIN

Page 66: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Lecture : sdp ou pds

66

Lors de la construction d’un système numérique, on se donne généralement la table de vérité de la fonction à réaliser

A partir de la table de vérité, on peut extraire directement l’expression de la fonction sous forme d’une somme de produit ou d’un produit de somme

A f01

00

B00

01

10

11

C00

00

1111

00

0

011 1

1

0111

Fakhreddine GHAFFARI Olivier ROMAIN

Page 67: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Lecture sdp

67

A f01

00

B00

01

10

11

C00

00

1111

00

0

011 1

1

0111

ABCABCABCABCfsdp

C’est une somme de produits standards car chaque terme contient toutes les variables du domaine de définition de la fonction : ce sont des mintermes

Le principe de lecture sous forme d’une somme de produits (sdp) est d’énumérer les combinaisons d’entrée qui rendent la fonction VRAIE. Dans une somme, si l’un des termes est VRAI alors la somme est VRAIE

Fakhreddine GHAFFARI Olivier ROMAIN

Page 68: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Lecture pds

68

Puisqu’il existe une relation de dualité entre les sommes et les produits (DE MORGAN), on peut exprimer aussi la fonction sous la forme d’un produit de sommes,=> On énumère les combinaisons d’entrée qui rendent la fonction FAUSSE en complémentant les variables

Revenons à notre exemple :

A f01

00

B00

01

10

11

C00

00

1111

00

0

011 1

1

0111

ABCABCABCABCfpds

C’est un produit de sommes standards car chaque terme contient toutes les variables du domaine de définition de la fonction, ce sont des maxtermes.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 69: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Sdp pds

69

Les deux formes d’expression sont strictement équivalentes, on peut passer de l’une à l’autre par l’application du théorème de DE MORGAN.Toutefois, le nombre de termes peut être différents …; c’est le principe de la simplification des fonctions logiques.

Exemple :A f01

10

B00

01

01

11

Lecture sdp :

Lecture pds :

ABABfsdp

ABABfpds

Remarque : on se doit de reconnaître la fonction : XNOR

Démonstration de l’équivalence :

ABABBAABAABAABBBABABfpds

On obtient bien : fpds = fsdp => CQFDFakhreddine GHAFFARI

Olivier ROMAIN

Page 70: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Représentation du XOR

70

ABABfsdp

ABABfpds

Schéma à 5 portes

Schéma à 5 portes

Les 2 formes sont équivalentes et minimales

Fakhreddine GHAFFARI Olivier ROMAIN

Page 71: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fsdp (ou Fpds) table de vérité

71

On peut également passer d’une somme de produits (ou d’un produit de sommes) à une table de vérité :

Exemple : CABAf Le domaine de définition est : A,B,C =>Il faut transformer l’expression pour n’utiliser que des mintermesBCABCACBACBAf

A f01

01

B00

01

00

11

C00

00

1111

00

0

011 1

1

0111

Fakhreddine GHAFFARI Olivier ROMAIN

Page 72: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Simplification

Electronique Numérique72

La simplification de l’écriture d’une fonction logique permet de la « réaliser » en utilisant plus ou moins de portes élémentaires (ET, OU, NON, etc…)

Moins de portes :ÞMoins de fils, moins de transistors,ÞMoins de courant, moins de consommation,ÞMoins de surface, plus rapide.

ÞDonc ASSUREMMENT GAGNANT !!!

Il est donc important de réduire, simplifier, les fonctions logiques.La simplification d’une fonction consiste à réduire le nombre de termes ou, d’une façon générale , à réduire le nombre de variables dans les termes (maxtermes ou mintermes)

La simplification d’une fonction consiste à appliquer les règles de base de l’algèbre de boole et/ou le théorème de DE MORGAN

Fakhreddine GHAFFARI Olivier ROMAIN

Page 73: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Simplification : exemple

Electronique Numérique73

A f01

10

B00

01

11

11

C00

00

1111

00

0

011 1

1

1100

CBACBACBACBACBAfsdp

Or, Fsdp peut se simplifier : CBACBACBACBACBAfsdp

CCBACCBACBAfsdp BABACBAfsdp

BCBAAABCBAfsdp CBABCBBBABfsdp CABCBABfsdp

Fakhreddine GHAFFARI Olivier ROMAIN

Page 74: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Simplification difficile !

74

Malheureusement , appliquer les règles de l’algèbre de Boole sur des expressions très compliquées (plus de 4 ou 5 variables), peut devenir difficile, voire impossible et on est pas sûr d’arriver toujours à la meilleure simplification.

Pour pallier ce problème on va utiliser la technique de réduction par les tableaux de KARNAUGH

Fakhreddine GHAFFARI Olivier ROMAIN

Page 75: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Tableau de KARNAUGH

75

Dans une table de vérité, la simplification d’une fonction consiste à supprimer une variable (exp : )BBABA

Cela consiste donc à regrouper les « 1 » de la table 2 par 2 (suppression d’1 variable, 4 par 4 (suppression de 2 variables), 8 par 8, etc.

Pour faciliter ces regroupements, on utilise une représentation différente : les tableaux de KARNAUGH

Le tableau de Karnaugh est une représentation (comme son nom l’indique), en 2 dimensions, c’est-à-dire en lignes / colonnes.On distribuera les variables sur les lignes et les colonnes, de façon à ce qu’il n’y ait qu’une seule variable qui change quand on passe d’une case du tableau à une des cases adjacentes.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 76: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Construction tableau à : 1, 2 et 3 variables

Electronique Numérique76

A=0 A=1f A=0 A=1fB=0

B=1

A=0B=0

A=1B=0f

C=0

C=1

A=1B=1

A=0B=1 f

C

A

Tableau à 1 variable=> 2 cases

Tableau à 2 variables=> 4 cases

Tableau à 3 variables=>8 cases Représentations identiques

B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 77: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Construction tableau : généralisation

77

Si une fonction est définie à l’aide de N variables, la table de vérité

comportera : lignes, le tableau de Karnaugh correspondant comportera

cases.

2N

2N

D’où la représentation pour une fonction définie avec 4 variables d’entrée :

D’où la représentation pour une fonction définie avec 5 variables d’entrée :

f

E

D

CBAf

C

D

AB

Fakhreddine GHAFFARI Olivier ROMAIN

Page 78: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple tableau de Karnaugh

78

Soit la fonction :

CBACBACBACBACBAfsdp

1 0

fsdp

0 0C

1 1

1 1

B

On remplit le tableau de Karnaugh avec les « 1 » de la fonction et on le complète avec des « 0 »

On peut voir sur cet exemple que l’on peut faire un groupement de 4 cases adjacentes => cela nous amènera à supprimer 2 variables dans l’expression de la fonction

A

BCAfsdp

Fakhreddine GHAFFARI Olivier ROMAIN

Page 79: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Groupements dans un tableau de Karnaugh

79

Nous l’avons déjà dit : la simplification revient à supprimer un maximum de variables dans l’expression de la fonction,Þc’est pour cela (faire des groupements) que le tableau de Karnaugh est très utile,Þ un groupement de 2 cases reviendra à supprimer 1 variables,Þ un groupement de 4 cases reviendra à supprimer 2 variables,Þ un groupement de 8 cases reviendra à supprimer 3 variables,Þ un groupement de 16 cases reviendra à supprimer 4 variables,

Þ un groupement de cases reviendra à supprimer K variables,2K

Si une fonction est définie avec N variables, et que l’on fait un groupement de : cases, alors la simplification fera que la fonction s’exprimera en fonction de : N – K variables.

2K

Vous l’aurez compris, simplifier au maximum revient à chercher à faire des groupements de taille maximale.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 80: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Groupements dans un tableau de Karnaugh (suite)

80

Þpour faire tous les groupements possibles dans le tableau de Karnaugh, il faut considérer le tableau qui se replie sur lui-même, en horizontal comme en vertical, il faut systématiquement penser à ces 2 symétries cylindriques, on peut même parler, en généralisant de symétrie sphérique.

Récapitulatif : Dans l’objectif d’arriver à la simplification optimale (la meilleure), il faut suivre la règle suivante :ÞFaire un nombre minimal de groupements de taille maximale.

ÞLes groupements se font obligatoirement avec des cases adjacentes, donc pas en diagonale,Þla taille des groupements est en puissance de 2 (1 variable binaire = 2 états),

Fakhreddine GHAFFARI Olivier ROMAIN

Page 81: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple de groupements

81

Soit la fonction : f, définie à partir de 3 variables (A, B et C)

1 0

f

0 0C

1 1

1 1

A

Il reste des « 1 » (et tant que) il faut à nouveau chercher à faire un groupement de taille maximale => 4 cases : NON => 2 cases : OUI (grâce à la symétrie horizontale) => 1 groupement de 2 cases => expression en fonction de 2 variables (toujours le : N – K) => gr(2) =

CBACBACBACBACBAfsdp

Dans ce cas la taille maximale est : 4 cases => expression du groupement en fonction de : 1 variable (rappelez vous du : N – K)

Pour lire un groupement (donner son expression) : on liste les variables qui ne changent pas d’état dans le groupement => ici c’est la variable : B, qui ne change pas dans le groupement) => gr(4) = B

CA

Au final : F = B + CA

B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 82: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple (suite)

82

1 0

f

0 0C

1 1

1 1

B

Une autre idée : grouper les « 0 » => cela revient à exprimer le complément de la fonction

Gr(2)1 = BA Gr(2)2 = CB

D’où l’expression de : CBABf

Donc : CBBACBBACBBAf

CABCABABCBCACBBAf 1

BCACABCAf 1On trouve bien évidemment le même résultat, ce qui montre que cette idée peut se révéler efficace dans certains cas, peu de « 0 » .

A

Fakhreddine GHAFFARI Olivier ROMAIN

Page 83: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple (suite)

83

1 0

f

0 0C

1 1

1 1

A

Gr(2)1 BAGr(2)2 = BC

On peut aussi retrouver avec les regroupements de « 0 » la Fpds

=> CBBCABACBBAfpds

BCACBBCABAfpds

B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 84: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Autre exemple

84

1 1

f

0 1C

0 0

0 1

A

Gr(2)1 CB Gr(2)2 = BA

Pas de groupement possible => cette case s’exprime en fonction de toutes les variablesGr(1) CBA

CBACBBAf

B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 85: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Chevauchement des groupements

85

1f

1

D

11

A

11 1

11

Les groupement peuvent se chevaucher, c’est le cas ici avec le groupement de 4 cases (vert) et le groupement de 2 cases (bleu)

Nous pouvons donc exprimer la fonction f:

DBACACAf

B

C 00

00

000

Fakhreddine GHAFFARI Olivier ROMAIN

Page 86: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Cas indéterminés

86

Lorsque certaines combinaisons sont indifférentes, ou lorsque ces cas ne peuvent se produire, les valeurs correspondantes de la fonction sont ni « 0 », ni « 1 », elles sont notées : XA f

01

1X

B00

01

11

11

C00

00

1111

00

0

011 1

1

XX00

1 X

0 0C

1 1

X X

f A

C

B CBf

Remarque : les valeurs indifférentes peuvent être considérées comme des « 0 » ou des « 1 » (mais pas les 2 !!!), selon les possibilités de groupements (le plus grand possible).Des lors qu’une valeur X aura été utilisée dans un groupement (de « 1 » pour une Fsdp, de « 0 » pour une Fpds), alors la valeur X est définitivement transformée dans tout le tableau

B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 87: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction à plusieurs variables

87

A S2

01

00

B00

01

11

11

C00

00

1111

00

0

011 1

1

0011

0011

1011

S1 Lorsque le cahier des charges (besoin du client !) donne un système contenant plusieurs sorties, définies avec les mêmes entrées, alors on ajoute autant de colonnes à droite que de variables de sorties supplémentaires à la table de vérité, et on créera autant de tableau de Karnaugh que de variables de sortie.

0 0

1 1C

1 1

S1 A

CBCBCBS 1

0 0

0 0

1 1C

1 1

S2 A

BACBS 1

1 0

B B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 88: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonction à plusieurs sorties (suite)

88

0 0

1 1C

1 1

S2 A

1 0CACBS 1

Dans cet exemple il y avait une autre possibilité de groupements :

≥1&

=1 S1

S2

CB

A

B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 89: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemples à reconnaître

89

0 1

f

1 0C

A

BAf 1 0

f

0 1C

A

BAf

0 1

1 0C

0 1

f A

1 0

CBAf

0 1

0 1C

0 1

f A

0 1

BAf

B B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 90: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemples à reconnaître (suite 1)

90

0 0

1 1C

1 1

f A

0 0

CBf

0 1

1 0C

1 0

f A

0 1

CAf

1 1

0 0C

0 0

f A

1 1

CBf

1 0

0 1C

0 1

f A

1 0

CAf

B B

B B

Fakhreddine GHAFFARI Olivier ROMAIN

Page 91: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemples à reconnaître (suite 2)

91

1f

1

D

11

A

11

11

DCBAf

0f

0

D

A

00

DBCAf

B B

CC

Fakhreddine GHAFFARI Olivier ROMAIN

Page 92: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Les circuits logiques

92

Maintenant que nous pouvons interpréter le cahier des charges d’un système logique combinatoire (une table de vérité à 1 ou plusieurs sorties) et simplifier les expressions logiques (par les règles de l’algèbre de Boole ou par l’utilisation des tableaux de Karnaugh) pour enfin dessiner (ou construire) le système à l’aide des portes élémentaires : ET, OU, …).

Que peut-on faire avec ça ?=> Tout simplement construire (concevoir, « designer ») des dispositifs de plus en plus complexes en associant des sous-ensembles entre eux :

Sous-ens 1

Sous-ens 2

Sous-ens 3

etc …

Fakhreddine GHAFFARI Olivier ROMAIN

Page 93: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Fonctions générales

93

Parmi ces sous-ensembles, certains réalisent des « fonctions » assez générales que l’on va retrouver assez systématiquement :

ÞLes codeurs,ÞLes décodeurs,ÞLes multiplexeurs,ÞLes démultiplexeurs.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 94: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Les circuits d’encodage et de décodage

94

D’une façon générale, les codeurs (encodeurs) et les décodeurs se représentent de la façon suivante :

.

.

. N entrées

M sorties Les M sorties représentent le numéro de l’entrée active considérée

Exemple :Si l’entrée numéro 5 est active (par exemple au niveau « 1 »), alors les sorties de l’encodeur représentent la valeur : 5

L’encodeur

Fakhreddine GHAFFARI Olivier ROMAIN

Page 95: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Le décodage

95

.

.

. M entrées N sorties

Dans le décodeur, c’est la sortie correspondant au numéro présent à l’entrée, qui sera active.

Le décodeur

On voit apparaître ici la notion de numéro, et donc de nombre, représenté par un certain nombre de signaux logiques.

Il existe plusieurs manières de représenter les nombres en logique binaire :

ÞLe code binaire naturel,Þ le code GRAY (ou binaire réfléchi),Þ le code BCD (Décimal Codé Binaire).

Fakhreddine GHAFFARI Olivier ROMAIN

Page 96: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Codage des nombres en binaire

96

Lorsque nous utilisons plusieurs variables Booléennes (ou binaires) pour représenter un nombre, on parle de codage en bits (Binary elements).Par convention, les bits sont numérotés et s’écrivent de la façon suivante :

3a 2a 1a 0a : un nombre codé par 4 bits

Bit de poids le plus fort (MSB)

Bit de poids le plus faible (LSB) Comme en décimal

Fakhreddine GHAFFARI Olivier ROMAIN

Page 97: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Le code binaire naturel

97

a0 Nombre équivalent01

01

00

01

23

11

00

00

1111

00

0

011 1

1

7654

……

……

00

00

0000

a3

a2

a1

0 0 0 81

C’est la numérotation utilisée par défaut dans les tables de vérité.Le nombre représente le n° de la ligne dans la table.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 98: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Le code de GRAY (binaire réfléchi)

98

a0 Nombre équivalent01

01

00

10

23

11

00

00

1111

11

0

100 0

1

7654

……

……

00

00

0000

a3

a2

a1

1 0 0 81

C’est le code utilisé dans les tableaux de Karnaugh, car entre chaque ligne de la table , seulement une variable change, on a ainsi créé des cases adjacentes dans le tableau de Karnaugh.

Règle de formation du code de Gray :Soit un nombre N en binaire pur, pour obtenir son équivalent : n en binaire réfléchi, il suffit d’effectuer l’opération suivante :

22NNn

Fakhreddine GHAFFARI Olivier ROMAIN

Page 99: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Construction du code de Gray

99

Règle de formation du code de Gray :Soit un nombre N en binaire pur, pour obtenir son équivalent : n en binaire réfléchi, il suffit d’effectuer l’opération suivante :

22NNn

Exemple : Soit N : 0111, nous avons alors : 2N = 1110,

On effectue le ou exclusif : 0111 1110

-------1001

On effectue la division par 2 : 01002

1001

Nous avons alors, pour N = 0111 en binaire pur, n = 0100 en binaire réfléchi.

Remarque : multiplier par 2 revient à décaler d’un rang vers la gauche, tandis que diviser par 2 revient à décaler d’un rang vers la droite

Fakhreddine GHAFFARI Olivier ROMAIN

Page 100: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Codage en BCD

100

Le codage en BCD (Binary Coded Decimal), décimale codé en binaire, consiste à ne représenter que les nombres décimaux par paquet de 4 bits (quartet) :

a0

Nombre décimal0

101

00

01

23

11

00

00

1111

00

0

011 1

1

7654

00

00

0000

a3

a2

a1

0 0 0 811 9001

X (10)X (11)

11

0

00

1

11

1111

00

0

011 1

1

X (15)X (14)X (13)X (12)1

111

Puisque nous utilisons 4 bits pour coder , nous avons 16 possibilités de nombre distincts, et en décimale nous n’en utilisons que 10, c’est pourquoi les 6 dernières sont interdites dans le code BCD

6 combinaisons interdites

Fakhreddine GHAFFARI Olivier ROMAIN

Page 101: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Codage BCD à plusieurs chiffres

101

Pour représenter un nombre décimal à 2 chiffres en BCD, on utilisera 2 paquets de 4 bits (2 quartets)

Exemple : 3 4 décimal

0011 0100

Ce codage est surtout utilisé pour l’affichage des nombres des nombres décimaux, son efficacité n’est pas grande puisqu’il n’utilise pas toutes les possibilités du codage)

Lorsqu’un nombre est représenté par N valeurs binaires, on dit qu’il est codé sur : N bits.On le représente de la façon suivante :

NNombre

Il y a N bits, => donc N signaux binaires => donc N fils électriques

En binaire naturel comme en code gray, un nombre codé sur N bits peut prendre toutes les valeurs comprises entre : 0 et , (soit nombres différents, on en verra un peu plus sur les nombres codés en binaire …

12 N2N

Fakhreddine GHAFFARI Olivier ROMAIN

Page 102: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

La fonction décodage

102

.

.

. N entrées sorties

Le circuit décodeur :

N 2N

Code binaire naturel

On peut donc maintenant établir la table de vérité d’un décodeur (binaire)

Fakhreddine GHAFFARI Olivier ROMAIN

Page 103: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Décodeur à 1 et 2 entrées

103

0

1e

s0

s1

e001

00

01

11

e1

e01

s101

s010

D’où :es 0

es 1

0

3

es0

s3

2 1 s12 s2

s200

00

10

01

s3

s010

01

00

00

s1 D’où :

010 ees 011 ees 012 ees 013 ees

Décodeur à 1 entrée et 2 sorties

Décodeur à 2 entrées et 4 sorties

=> On peut, bien sur, construire n’importe quel décodeur de la même manière, d’ailleurs une définition usuelle du décodeur est : 1 sortie active parmi les : possibles.

2N

Fakhreddine GHAFFARI Olivier ROMAIN

Page 104: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Les circuits d’encodage

104

.

.

.

entrées N sorties

L’encodeur

2N

Le circuit d’encodage (l’encodeur) réalise la fonction inverse du décodeur :

Fakhreddine GHAFFARI Olivier ROMAIN

Page 105: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Encodeurs à 1 et 2 sorties

105

e1

s001

00

01

11

s1

s01

e101

e010

e200

00

10

01

e3

e010

01

00

00

e1

encodeur à 2 entrées et 1 sortie

e0

s

encodeur à 4 entrées et 2 sortiese3

e0

s

e1e2 2

Attention : ne pas représenter toutes les combinaisons possibles !

Fakhreddine GHAFFARI Olivier ROMAIN

Page 106: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Encodeur prioritaire

106

L’encodeur prioritaire a été créé pour pallier le fait que plusieurs entrées peuvent être actives simultanément :

s001

00

01

11

s1e200

00

1X

01

e3 e01X

01

XX

XX

e1X : signifie que l’on ne tient pas compte de cette valeur (don’t care)

L’entrée : e1 est prioritaire sur : e0

L’entrée : e3 est la plus prioritaire0000 00

Il peut exister la combinaison : aucune entrée active.

Dans ce cas, c’est le constructeur qui décide de la valeur des sorties

Fakhreddine GHAFFARI Olivier ROMAIN

Page 107: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Multiplexage et démultiplexage

107

Ces circuits très largement utilisés permettent de réaliser des opérations d’aiguillage.

e0

e1

sel

s Si sel = 0 alors s = e0

Si sel = 1 alors s = e1

Ceci est un multiplexeur : 2 vers 1

Pour réaliser la fonction multiplexeur élémentaire, on utilise 2 propriétés intéressantes des portes : ET et OU.

- la valeur 0 est l’élément nul de la fonction ET- la valeur 0 est l’élément neutre de la fonction OU- la valeur 1 est l’élément neutre de la fonction ET

Fakhreddine GHAFFARI Olivier ROMAIN

Page 108: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Élément neutre

108

Si sel = 0 alors s = 0

Si sel = 1 alors s = e&esel

s0001

se01

00

01

11

sel

≥1e0e1

s0111

se001

00

01

11

e1 Si e0 = 0 alors s = e1

Si e1 = 0 alors s = e0

Fakhreddine GHAFFARI Olivier ROMAIN

Page 109: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Multiplexeur 2 vers 1

109

0101

ssel0000

e001

00

01

11

e1

0011

1111

01

00

01

11

On peut écrire cette table plus simplement :

0101

ssel0011

e001

XX

XX

01

e1

Encore plus simplement : e

0e1

s01

sel

Tableau de Karnaugh associé :

0 10 0sel

1 0s e1

1 1

10 eselesels e0

&e1

&e0

≥1

s1

sel

La porte ET sert d’interrupteur (de sélecteur)Fakhreddine GHAFFARI

Olivier ROMAIN

Page 110: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Multiplexeurs N vers 1

110

e0

en

bits de sélection

sN entrées

1 seule sortie

e1. . .

2lnln N

Dans le cas général (simple), N est une puissance de 2, ce qui donne : Pour 4 entrées => 2 bits de sélection Pour 8 entrées => 3 bits de sélection Pour 16 entrées => 4 bits de sélection

Fakhreddine GHAFFARI Olivier ROMAIN

Page 111: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Multiplexeurs 4 vers 1

111

e0

e3

se1e2

000110

11

sel0sel1

e0e1e2e3

ssel00101

e0e0X

XX

XX

XX

e1

sel10011

e2X e

1XX e

2XXe3

e3

S = e0 si sel[1.0] = 00S = e1 si sel[1.0] = 01S = e2 si sel[1.0] = 10S = e3 si sel[1.0] = 11

On peut réaliser facilement ce multiplexeur avec des portes ET, 1 porte OU et 1 décodeur 2 entrées 4 sorties

Fakhreddine GHAFFARI Olivier ROMAIN

Page 112: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Réalisation du multiplexeur 4 vers 1

112

&

&

&

&

≥1

0 1 2 3

s

sel1

e0

e1

e2

e3

Le décodeur et les portes ET permettent la sélection de l’entrée, tandis que la porte OU assure le mélange

sel0

Fakhreddine GHAFFARI Olivier ROMAIN

Page 113: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Démultiplexeurs 1 vers N

113

s0

sn

bits de sélection

N sorties

1 seule entrée

s1. . .

2lnln N

L’entrée est dirigée vers la sortie correspondant au numéro présent sur les entrées de sélection.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 114: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Démultiplexeurs 1 vers 4

Electronique Numérique114

s0

sn

sel0

es1

s3

s2

sel1

0000

s3

sel00011

e0101

sel10000

0000

s2 0

001

s1 0

100

s0

0001

0011

0101

1111

0100

0000

0000

En plus compact :

000e

s3

sel00011

sel10000

00e0

s2 0

e00

s1 e

000

s0 010 selseles

011 selseles 012 selseles 013 selseles

Fakhreddine GHAFFARI Olivier ROMAIN

Page 115: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Démultiplexeurs 1 vers 4 (suite)

115

&

&

&

&

0 1 2 3

s0

sel1

es1

s2

s3

sel0

010 selseles

011 selseles

012 selseles

013 selseles

Fakhreddine GHAFFARI Olivier ROMAIN

Page 116: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Multiplexeurs / démultiplexeurs parallèles

116

On a vu les équations et les schémas des circuits mux/demux travaillant sur des signaux binaires à 1 bit.

Dans certains cas, on désire réaliser les fonctions mux/demux travaillant sur des mots de plusieurs bits :

A

sel0

EB

D

C

sel1

N

N

N

N

N

E est un mot d’entrée de N bits, c’est-à-dire composé des bits : EN, …., E2, E1, E0A est un mot de sortie de N bits, c’est-à-dire composé des bits : AN, …., A2, A1, A0Il en est de même pour les mots de sortie : B, C et D

000e

s3

sel00011

sel10000

00e0

s2 0

e00

s1 e

000

s0 010 selseles

011 selseles 012 selseles 013 selseles

Rappel: 1 demux 1 vers 4 sur 1 bit,

Fakhreddine GHAFFARI Olivier ROMAIN

Page 117: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique117

000E

Dsel00011

sel10000

00E0

C0E00

BE000

A 01 selselEA 01 selselEB 01 selselEC

01 selselED

Dans ce cas, le démultiplexeur possède la table de vérité suivante :

01 selselEA 0100 selselEA 0111 selselEA 0122 selselEA

01 selselENAN

Se traduit par :

Fakhreddine GHAFFARI Olivier ROMAIN

Page 118: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Électronique Numérique

Démultiplexeur 1 vers 4 mots de N bits

118

Un démultiplexeur 1 vers 4 à 4 bits est construit avec 4 démultiplexeurs 1 vers 4 à 1 bit en parallèle (les entrées de sélection étant les mêmes).

sel0sel1

D3 C3 B3 A3

sel0sel1

D2 C2 B2 A2

sel0sel1

D1 C1 B1 A1

sel0sel1

D0 C0 B0 A0

E3 E2 E1 E0

E

D3 D2 D1 D0

D

C3 C2 C1 C0

C

B3 B2 B1 B0

B

A3 A2 A1 A0

A

Ce qui est vrai pour le circuit démultiplexeur est valable de la même manière avec les multiplexeurs.

1 Mux 16 bits 8 vers 1 = 16 Mux 1 bit 8 vers 1.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 119: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Chapitre 3 : les circuits arithmétiques

119

L’algèbre de Boole (algèbre binaire) et les portes logiques élémentaires permettent la réalisation des circuits qui effectuent des calculs sur des nombres.

=> c’est le cas, naturellement, de n’importe quel microprocesseur dont le rôle, entre autre, est d’effectuer des calculs.

=> Ces calculs s’effectuent sur des nombres mathématiques qu’il est donc nécessaire de représenter en binaire.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 120: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Calculs algébriques sur entiers positifs

120

Sur les représentations binaires naturelles des entiers positifs tous les calculs algébriques sont possibles :

Addition, soustraction, multiplication et division

Exemple : 2.12.02.12.02.02.137 012345

)10( 2.12.12.12.02.12.023 012345

)10(

2.22.12.22.02.12.1 012345)10( somme

Problème : En base 2, le chiffre 2 n’existe pas, pour pallier ce problème, on va propager vers la gauche une éventuelle retenue => c’est ainsi que vous avez appris à compter à l’école primaire !

Fakhreddine GHAFFARI Olivier ROMAIN

Page 121: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple d’addition

121

011

01

11

00

1 1 101

10

0 037 => 100101 =>23 => 010111 =>

001111

Retenue =>

+

=

Méthode : faire l’addition bit à bit, en commençant par le LSB et en propageant s’il y a lieu, la retenue sur le rang supérieur.

Effectuer l’opération : a + b = c revient à faire l’opération suivante : (a + b) + ri = ri + b + a = c

Fakhreddine GHAFFARI Olivier ROMAIN

Page 122: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Opération de multiplication

122

0

11

01

10

0 0101

101

*

=000+

+

110 11

00 0

Exemple :3 =>

* 5 =>

Remarque :Si A et B sont au format : N bits, alors le produit A*B sera au format : 2N bits

Fakhreddine GHAFFARI Olivier ROMAIN

Page 123: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Opération de soustraction

123

0

11

01

101 0

5 => 101 =>3 => 011 =>

010

Retenue =>-

=

La retenue de soustraction qui se propage vers le rang supérieur nomme : borrow

Nous verrons plus tard, la réalisation de la division des entiers …

Lorsqu’on réalise des soustractions, il se peut que le résultat soit négatif,=> Problème => comment coder des nombres négatifs ?

Effectuer l’opération : a - b = c revient à faire l’opération suivante : (a - b) - ri = a - b - ri = c

Fakhreddine GHAFFARI Olivier ROMAIN

Page 124: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Le circuit additionneur

124

L’additionneur élémentaire (demi additionneur)

On veut faire l’opération : a + b = c, cela donne la table de vérité suivante :

011?

cb01

00

01

11

aPour la dernière ligne de cette table de vérité, on voit que le résultat n’est pas suffisant => il faut rajouter une sortie qui représente la retenue, a propager sur le rang d’indice supérieur

0001

rb01

00

01

11

a0110

c

On doit donc rajouter la sortie : retenue (r) , ce qui donne la table de vérité suivante :

Fakhreddine GHAFFARI Olivier ROMAIN

Page 125: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Demi additionneur

125

A partir de la table de vérité, on obtient aisément les équations du circuit :

bac bar D’où le schéma de portes :

=1ab

c

& r

Remarque : ce circuit est un demi additionneur 1 bit, c’est pourquoi on va dès maintenant indicer les entrées et les sorties

iii bac iii bar 1

=1

&

iaib

i

1irCe circuit possède une retenue sortante, pour construire un additionneur Nbits, ce circuit doit donc posséder une retenue entrante, d’où le nom d’additionneur complet.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 126: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Additionneur 1 bit complet

126

L’opération effectuée est maintenant :

iiii rba

Table de vérité :

0001

ri+1ai

01

00

01

11

bi

0110

i

0111

01

00

01

11

1001

ri00001111

0 11 0

ri0 1

i ai

1 0

bi

0 00 1

ri1 0

ri+1

ai

1 1

bi

iiii rba

iiii babiairr

1

La règle de Karnaugh n’a pas été utilisée entièrement, de façon a réutiliser une porte existante dans l’autre sortie et ainsi optimiser le circuit final

Fakhreddine GHAFFARI Olivier ROMAIN

Page 127: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Schéma de l’additionneur 1 bit complet

127

=1

>=1

iaib i

1ir

=1ir

&

&

D’où le symbole générique : i

1irir

ibiaAdd1bit

Fakhreddine GHAFFARI Olivier ROMAIN

Page 128: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Additionneur Nbits

128

Pour réaliser un additionneur N bits, il suffit d’utiliser N additionneurs 1 bit (complet)

i

1irir

ibiaAdd1b

iti

1irir

ibiaAdd1b

iti

1irir

ibiaAdd1b

iti

1irir

ibiaAdd1b

it0a0b

1a1b

2a2b

1na1nb

0 1 2 …..

…..« 0 »

1n

nr

Remarque : dans un additionneur Nbits, on ne peut pas calculer la dernière sortie (bit de poids fort) sans avoir au préalable calculer toutes les autres sorties !!!

=> Le chemin parcouru par la retenue propagée est le chemin critique

Fakhreddine GHAFFARI Olivier ROMAIN

Page 129: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

soustracteur

129

L’additionneur complet fonctionne indifféremment avec des nombres strictement positifs comme avec des nombres signés en CC2.

Cette particularité nous permet donc de faire des soustractions à partir d’additionneurs. BABA

Or : -B en CC2 s’exprime sous la forme : (CC2 = CC1 + 1)

1 BB

Faire la soustraction : A – B revient à faire : 1BA

Pour faire une soustraction, il suffit donc de rentrer une retenue (la 1ière) à « 1 » et d’inverser tous les bits du 2ième opérande

Fakhreddine GHAFFARI Olivier ROMAIN

Page 130: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

soustracteur N bits

130

i

1irir

ibiaAdd1b

iti

1irir

ibiaAdd1b

iti

1irir

ibiaAdd1b

iti

1irir

ibiaAdd1b

it0a0b

1a 2a 1na0 1 2 …..

…..« 1 »

1n

nr1b 2b 1nb

Fakhreddine GHAFFARI Olivier ROMAIN

Page 131: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Additionneur / soustracteur N bits

131

L’objectif maintenant est d’obtenir un opérateur programmable, c’est capable de faire addition ou soustraction à la demande.

Pour cela on va utiliser des portes XOR, pour les entrées du 2ième opérande et la retenue entrante

=1aADD/sous

cC = a si la cde ADD/sous est à « 0 »

C = si la cde ADD/sous est à « 1 »a

Fakhreddine GHAFFARI Olivier ROMAIN

Page 132: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Additionneur / soustracteur N bits

132

i

1irir

ibiaAdd1bit2a 2S

2b=1

i

1irir

ibiaAdd1bit

1a 1S1b

=1

i

1irir

ibiaAdd1bit0a 0S

0b=1

=1

ADD/sous

« 0 »

Fakhreddine GHAFFARI Olivier ROMAIN

Page 133: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Le circuit multiplicateur

133

Une multiplication, en binaire, peut se faire comme en décimal, par des additions avec décalages successifs :

0

11

01

10

0 0101

101

*

=000+

+

110 11

00 0

53

00 0

Insertion d’1 zéro à droite => correspond à un décalage gauche pour le rang : 21

Insertion de 2 zéros à droite => correspond à 2 décalage gauche pour le rang : 22

Retenue propagée, de l’addition

Fakhreddine GHAFFARI Olivier ROMAIN

Page 134: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

La multiplication, d’une manière générale

134

Soient les mots de 3 bits : A[2..0] et B[2..0], alors le produit :

222222 00

11

22

00

11

22 bbbaaaBA

2222 2020

121

222 bababaBA

2222 1010

111

212 bababa

2222 0000

101

202 bababa

C’est bien une somme à 3 termes (mots de 3 bits) :

- Chaque terme est égal au multiplicande si bi = « 1 »

à « 0 » si bi = « 0 »

- Chaque terme est multiplié par : => ceci correspond à un décalage gauche 2i

Fakhreddine GHAFFARI Olivier ROMAIN

Page 135: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple de multiplicateur 3 bits

135

0a1a2a0b1b2b

00.ab10.ab20.ab01.ab11.ab21.ab

02.ab12.ab22.ab0s1s2s3s4s5s

0r1r2r3r4r5r

+

01.ab10.ab

+

11.ab20.ab

+

21.ab0

+

02.ab

+

12.ab

+

22.ab

00.ab

0s1s2s3s4s5s

Fakhreddine GHAFFARI Olivier ROMAIN

Page 136: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Multiplicateur en valeur signée

Electronique Numérique136

0a1a2a0b1b2b

00.ab10.ab20.ab01.ab11.ab21.ab

02.ab12.ab22.ab0s1s2s3s4s5s

0r1r2r3r4r5r

+

01.ab10.ab

+

11.ab0.2 ba

+

1.2 ba1

+

02.ab

+

12.ab

+

22.ab

00.ab

0s1s2s3s4s5s

Fakhreddine GHAFFARI Olivier ROMAIN

Page 137: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

La logique séquentielle

137

Fakhreddine GHAFFARI Olivier ROMAIN

Page 138: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

La logique séquentielle

138

Les circuits que nous avons vu jusqu’à maintenant sont des circuits que l’on dit « combinatoires », c’est-a-dire que leurs sorties ne dépendent que des entrées

Circuit combinat

oire

E0E1…

..

S = f(ei)

Ces circuits ne suffisent pas à réaliser tous les systèmes, quelquefois nous avons besoin de fabriquer des circuits dont les sorties dépendent des entrées ET de l’état précédent du système.

Circuit séquenti

el

AB S

S = 1 si A change avant B

S = 0 si B change avant A

En général, la sortie dépend des entrées et des valeurs précédentes de la sortie elle-même.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 139: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Logique séquentielle (suite)

139

Circuit séquenti

el

AB S

=> Les sorties sont rebouclées en entrée !

Bien évidemment, les sorties rebouclées représentent l’état précédent du système , notez que ce rebouclage ne peut pas être instantané, c’est pourquoi on peut représenter un système séquentiel comme cela :

Circuit séquenti

el

AB S

Delta T

Ce delta T, indique le décalage temporel obligatoire entre la sortie à un instant donné, et cette même sortie à un instant précédent.

Fakhreddine GHAFFARI Olivier ROMAIN

Page 140: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

L’élément de base : la bascule asynchrone

140

Définition :

Une bascule est définie par les 3 fonctionnalités suivantes : Une fonctionnalité qui traduit la mise à « 0 » de la sortie, notée : MA0, Une fonctionnalité qui traduit la mise à « 1 » de la sortie, notée : MA1, Une fonctionnalité de mémorisation de la sortie, notée : MEMO, dans ce cas l’état de la sortie à 1 instant donné : Qt est égal à l’état précédent : Qt-1

Ces fonctionnalités seront mises en œuvre en fonction des informations présentes sur les entrées

Une bascule possède 2 sorties ( ) qui doivent être complémentaires, alors que la mémoire n’en possède qu’une.

QQ et

Fakhreddine GHAFFARI Olivier ROMAIN

Page 141: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Bascule R/S Nand

141

&

&

Q1

Q2

A

B

Schéma : Avant de faire la table de vérité, détaillant le fonctionnement, on peut remarquer que si les entrées A et B sont à : "0", alors les sorties Q1 et Q2 seront au même état ("1") et n'auront aucune influence sur le fonctionnement de cette bascule. On dit, dans ce cas que le niveau actif des entrées est : 0, en conséquence de quoi on notera les entrées barrées.1

100

Q1B01

00

01

11

A1011

Q2

11

11

01

00

Q1=Q2 => état interditFonction : MA1 (sur Q1)Fonction : MA0 (sur Q1)

Fonction : MEMO

observations

Fonction : MA1Fonction : MEMO

Affectation des entrées :• Quand A = 0, alors il y a : MA1, on attribue cette fonction à l’entrée A et on la note : S/ ( S/ car entrée active à "0" ).• Quand B = 0, alors il y a : MA0, on attribue cette fonction à l’entrée B et on la note : R/ ( R/ car entrée active à "0" ).

Fakhreddine GHAFFARI Olivier ROMAIN

Page 142: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Récapitulatif : bascule R/S/ (nand)

142

S/

R/

Q

Q/

Symbole :

• quand S/ actif et R/ inactif -> fonction mise à "1"• quand R/ actif et S/ inactif -> fonction mise à "0"

• quand R/ actif et S/ actif -> état interdit

• quand R/ inactif et S/ inactif -> fonction mémoire&

Pour représenter le fonctionnement de la bascule, on utilise très fréquemment les chronogrammes

R/

S/

Q

Q/

Etat non défini : UNDEFINED (U)

MA0 MA1 On doit remarquer que l’on a jamais ensemble les entrées actives (ici : à « 0 »)

Fakhreddine GHAFFARI Olivier ROMAIN

Page 143: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Bascule RS (nor)

143

Schéma :

Q1

Q2

A

B

>=1

>=1

Avant de faire la table de vérité, détaillant le fonctionnement, on peut remarquer que si les entrées A et B sont à : « 1 », alors les sorties Q1 et Q2 seront au même état (« 0 ») et n'auront aucune influence sur le fonctionnement de cette bascule. On dit, dans ce cas que le niveau actif des entrées est : 1, en conséquence de quoi on notera les entrées vraies.

0100

Q1B11

10

00

10

A0011

Q2

11

10

00

00

Q1=Q2 => état interditFonction : MA1 (sur Q1)Fonction : MA0 (sur Q1)

Fonction : MEMO

observations

Fonction : MA1Fonction : MEMO

Affectation des entrées :• Quand A = 1, alors il y a : MA0, on attribue cette fonction à l’entrée A et on la note : R• Quand B = 1, alors il y a : MA1, on attribue cette fonction à l’entrée B et on la note : S

Fakhreddine GHAFFARI Olivier ROMAIN

Page 144: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Récapitulatif : bascule RS (nor)

144

Q

Q/

Symbole :

• quand S actif et R inactif -> fonction mise à "1"• quand R actif et S inactif -> fonction mise à "0"

• quand R actif et S actif -> état interdit

• quand R inactif et S inactif -> fonction mémoire

R

S>=1

Pour représenter le fonctionnement de la bascule, on utilise très fréquemment les chronogrammes

R

S

Q

Q/

Etat non défini : UNDEFINED (U)

MA0 MA1 On doit remarquer que l’on a jamais ensemble les entrées actives (ici : à « 1 »)

Fakhreddine GHAFFARI Olivier ROMAIN

Page 145: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Le cas interdit => dommage !

145

Pour éviter d’avoir à se poser la question sur l’état interdit, on va créer une nouvelle bascule, dont l’état interdit sera remplacé par une nouvelle fonctionnalité : TOOGLE (changement d’état) => c’est la bascule JK

Schéma :

Q

Q/

K

J

>=1

>=1

&

&

Les portes : AND, en entrée, permettent d’éviter les combinaisons interdites en entrée de la bascule RS

Fakhreddine GHAFFARI Olivier ROMAIN

Page 146: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

La bascule JK

146

Q

Q/

K

J

>=1

>=1

&

&

Rint

Sint

0001

RintJ11

00

11

11

K1010

01

00

11

00

Sint Qt/

00

11

01

10

Qt

11

00

0101

Qt-1

01

00

00

00

00

MA1MEMOMA1MA0

fonction

MEMOMA0

MEMOMEMO

11

00

01

On peut voir dans cette table de vérité, que les entrées internes de la bascule RS ne sont jamais simultanément égales à « 1 », même dans le cas ou les entrées (J et K) de la bascule JK le sont !

On doit également remarquer, que dans le cas ou les entrées J et K sont actives (à « 1 »), la sortie Qt devient le complément d’elle même à l’instant précédent (Qt-1)

On a donc remplacé, dans la bascule JK, l’état interdit de la bascule RS, par un changement d’état => Qt = (Qt-1)/

Fakhreddine GHAFFARI Olivier ROMAIN

Page 147: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

La bascule T

147

Si on relie ensemble les entrées J et K, d’une bascule JK, on obtient la bascule : T (Toggle)

01

T Qt/

Qt-1

Qt

Qt-1/

Qt-1/

Qt-1

fonctionMEMO TOGGLE

Q

Q/

T>=1

>=1

&

&

Fakhreddine GHAFFARI Olivier ROMAIN

Page 148: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Les bascules synchrones

148

Les systèmes séquentiels introduisent la notion d’état futur et d’état passé => donc la notion du temps.

On est donc amené à introduire le concept d’horloge => c’est le rythme du système

0

1Horloge

période

Une horloge est un signal binaire dont les changements d’état sont réguliers dans le temps (périodique => notion de fréquence et de période).

La période de l’horloge donne l’unité de temps élémentaire, du système.

Les systèmes électroniques séquentiels synchrones sont des systèmes dont les changements sont « alignés » (synchronisés) sur une horloge

Fakhreddine GHAFFARI Olivier ROMAIN

Page 149: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

La bascule « D Latch »

149

Q

Q/

H

D

>=1

>=1&

&1

• si H = 0 alors les entrées de la bascule RS sont à 0 => la fonction de la bascule est : mémorisation (Qt = Qt-1)

Q

Q/

Symbole :

D

H>=1

• si H = 1 alors on utilise la bascule RS comme un dispositif à changement d’état

X0

D Qt/

Qt-1

Qt

0

Qt-1/

1

fonctionMEMO MA0

01

H

1 1 0

MA1

1

La sortie recopie l’entrée : D, lorsque le signal d’horloge est à « 1 », sinon elle mémorise l’état précédent

Ce sont les valeurs (0 ou 1) de l’horloge qui valident le fonctionnement de la bascule => bascule active sur un niveau

Fakhreddine GHAFFARI Olivier ROMAIN

Page 150: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Bascule synchronisée sur front

150

Pour réaliser une bascule qui réagit sur front (montant ou descendant) de l’horloge , on va cascader 2 bascules D Latch, qui réagiront sur des niveaux différents de l’horloge, comme indiqué ci-après :

H

D

>=1

>=1&

&1Q

Q/

>=1

>=1&

&

1

maitre esclave

Une bascule D maitre, sensible au niveau 0 de H

Une bascule D esclave, sensible au niveau 1 de H

Une bascule D, qui réagit sur front montantFakhreddine GHAFFARI

Olivier ROMAIN

Page 151: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Bascule D  « positive Edge Triggered », avec portes Nand

151

H

D &

&1Q

Q/&

&

1

maitre esclave

&

&

&

&

D

Q1

Q2

0

1H

La sortie Q1 recopie l’entrée D lorsque H = 0,La sortie Q2 recopie Q1 lorsque H = 1

Fakhreddine GHAFFARI Olivier ROMAIN

Page 152: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Entrées de forçage asynchrone

152

On trouve très souvent sur les bascules synchrones, des entrées de forçage, qui permettent de mettre à « 1 » ou à « 0 », en priorité sur l’horloge, c’est pourquoi on parle d’entrées de forçage asynchrone => pour cela il faut agir sur les portes de sortie des bascules (et non pas sur les portes de synchronisation), => l ’entrée de forçage à « 0 » s’appelle : RESET l ’entrée de forçage à « 1 » s’appelle : SET

H

D&

&1 Q

Q/

&

1

maitre esclave

&

&&

&

&

RESET/

SET/

Q

Q/

Symbole :

D

H

Set/

Reset/

Attention : il ne faut pas rendre actives simultanément les entrées de forçage asynchrones

Fakhreddine GHAFFARI Olivier ROMAIN

Page 153: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Synthèse bascule D sur front

153

Q

Q/

D

H

Q

Q/

D

H

X

0

D Qt/

Qt-1

Qt

0

Qt-1/

1

fonctionMEMO MA0

0

H

1 1 0

MA1

X Qt-1 Qt-1/

MEMO

1Par verrouillage esclavePar verrouillage maitre

X

0

D Qt/

Qt-1

Qt

0

Qt-1/

1

fonctionMEMO MA0

0

H

1 1 0

MA1

X Qt-1 Qt-1/

MEMO

1Par verrouillage maitrePar verrouillage esclave

Active sur front montant

Active sur front Descendant

Fakhreddine GHAFFARI Olivier ROMAIN

Page 154: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Bascule JK sur front

154

0

0

K Qt/

Qt-1

Qt

0

Qt-1/

1

fonction

MA0

0

1

J

11 0

MA1

1

1

Qt-1/ Qt-1

TOGGLE

0

Par verrouillage maitre

Par verrouillage esclave

Q

Q/

J

H

K

0

H

1

MEMO

X Qt-1 Qt-1/XXX

0110

MEMO Qt-1 Qt-1/

MEMO

Fakhreddine GHAFFARI Olivier ROMAIN

Page 155: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Application : diviseur de fréquence par 2

155

La figure suivante montre le montage à effectuer pour transformer une bascule D sur front (Edge Triggered), en diviseur de fréquence par 2 :

Q

Q/

D

Hclock Q/

Q

La donnée D mémorisée en sortie Q lors d’un front montant de l’horloge est Q/ (Q/ reliée à D)=> Quelque soit l’état logique de la sortie Q avant le top d’horloge, la bascule passera à l’état complémentaire lors du front montant d’horloge

Q/,D

Q

0

1H

Fakhreddine GHAFFARI Olivier ROMAIN

Page 156: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Chronogrammes des systèmes synchrones

156

Comme on peut le voir sur les chronogrammes précédents, il faut respecter certaines conditions pour que le système fonctionne correctement.

Ces conditions sont : Le pré-positionnement (setup time) de la donnée avant le front actif => temps pendant lequel la donnée doit rester stable.Le maintien de la donnée (hold time) après le front actif => temps pendant lequel la donnée doit être maintenue au même niveau

D

Q

0

1H

ts

td

th

Zoom sur une transition : Ts : temps de pré-positionnement de la donnée : Tsetup

Th : temps de maintien de la donnée : Thold

Td : temps de propagation (retard) de la sortie : Tdelay

Fakhreddine GHAFFARI Olivier ROMAIN

Page 157: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Les registres

157

Un registre est un élément de mémorisation. Le registre possède une entrée horloge qui synchronise ses changements d’états :

QD

H

La bascule D est un élément de mémorisation sur front d’horloge, de la valeur de l’entrée : D

Ce registre recopie, sur tous les fronts montant de l’horloge H les valeurs de D présents avant les fronts

Pour une utilisation programmable, il faut pouvoir sélectionner les fronts qui seront actifs, pour cela :

QD

H&H

CE

On ajoute une entrée (CE : Clock Enable), afin de valider l’entrée Horloge (H)

Fakhreddine GHAFFARI Olivier ROMAIN

Page 158: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Registre avec validation

158

Si CE = 0 => pas de fronts d’horlogeSi CE = 1 => fonctionnement normal

D

CE

0

1H

Q

Fakhreddine GHAFFARI Olivier ROMAIN

Page 159: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Registre N bits

Electronique Numérique159

On réalise des registres N bits, en utilisant N bascules en parallèle, avec : même horloge,même entrée de validation (CE)

QD

HCE

QD

HCE

QD

HCE

QD

HCE

…..

D0

D1

D2

Dn-1

Q0

Q1

Q2

Qn-1

HCE

=> c’est de cette manière que sont réalisés les éléments de mémorisation à l’intérieur d’un microprocesseur (les registres)

Fakhreddine GHAFFARI Olivier ROMAIN

Page 160: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Registre à décalage

160

Un registre à décalage est un ensemble de N bascules D (synchrones, sur front), associées en série (en cascade), selon le schéma suivant :

QD

H

QD

H

QD

H

QD

H

D

H

………………

Q0 Q1 Q2

Qn-1

L’entrée : D, va propager de bascule en bascule, à chaque top d’horloge

Fakhreddine GHAFFARI Olivier ROMAIN

Page 161: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple : Registre à décalage droite 4 bits

161

QD

H

QD

H

QD

H

QD

H

D

H

Q0 Q1 Q2

Q3

Q0

Q1

0

1D

Q2

0

1H

Q3val 0 1 2 4 8

Fakhreddine GHAFFARI Olivier ROMAIN

Page 162: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Exemple : Registre à décalage gauche 4 bits

162

QD

H

QD

H

QD

H

QD

H

D

H

Q0 Q1 Q2 Q3

Q3

Q2

0

1D

Q1

0

1H

Q0

val 0 8 4 2 1

Fakhreddine GHAFFARI Olivier ROMAIN

Page 163: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Les compteurs

163

Un compteur est un circuit séquentiel qui permet de dénombrer des impulsions appliquées sur son entrée d’horloge et de transférer aux sortie l’information binaire

Þ à chaque impulsion : changement d’état,Þ entre 2 impulsions : état stable

Q3MR

HCE Q2

Q1

Q0

Symbole d’un compteur 4 bits

MR : Master ResetCE : Count Enable => sert à valider le circuit ou à interrompre le comptage

Fakhreddine GHAFFARI Olivier ROMAIN

Page 164: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Compteur asynchrone

164

La particularité des compteurs asynchrones est que la sortie d'une bascule devient en même temps une entrée de la bascule suivante, d'où un temps de propagation mal déterminé, qui se cumule sur la dernière sortie et de plus il est possible de passer par des états interdits lors d'un changement d’état désiré. Q

Q/D

HQ

Q/D

HQ

Q/D

H…….

Q0 Q1 Qn-1Qn-2

CK

En conséquence, nous n’étudierons pas la synthèse des compteurs asynchrones, ceux-ci étant de moins en moins utilisés dans l'industrie (vous aurez confirmation de cela dans le cours : FPGA).

Q3

Q2

Q1

01

CK

Q0

val 0 1 2 3 4 5 6 7 8 7 8467

CK

Q0Q1Q2Q3val

Loupe sur la transition : 7=>8

Fakhreddine GHAFFARI Olivier ROMAIN

Page 165: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Compteur synchrone

165

Structure d’un compteur synchrone : N bascules pour N sorties,Les entrées des bascules sont calculées en fonction des sorties à l’état précédentBien sur, toutes les bascules réagissent avec la même horloge

Q

Q/

JHK

??

??….

….

Q

Q/

JHK

??

??….

….

Qi Qi+1

H

Fakhreddine GHAFFARI Olivier ROMAIN

Page 166: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Synthèse d’un compteur synchrone

166

Exemple d'un compteur binaire -> décimal• -> Il y a donc une séquence de : 10, il y aura donc 4 bascules ( il reste 6 cases dans le

tableau de Karnaugh, que l'on pourra utiliser comme on veut ( 0 ou 1 ), on note d'ailleurs : dans cette case ).

• -> on exprime les Ji et Ki en fonction de l’évolution désirée des sorties : QA… QD.

01X

XX00

XX0

01XX

0

1X

X00

X

X0

1XX

0

1XX

X

X01

JA KA JB KB JC KC JD KD

00

1001100

0101010101

QB QA

0000000011

0000111100

QD QC

1

1X1X1X1X1

X1X1X1X1X

X 1

X01

1XX

0 X0 X

X 0X 0

0 X0 X0 X0 X0 X0 X

Sachant que : X représente n’importe quelle valeur, il n’est peut être pas nécessaire de faire un tableau de Karnaugh pour JA et KA

JA = KA = 1

Fakhreddine GHAFFARI Olivier ROMAIN

Page 167: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Synthèse (suite)

167

0 1

JB

0 1

D

x xx x

A

0 0

B

Cx x

KB

x x

D

1 01 0

A

x xAB QK

B

C

0 0

JC

x x

D

1 0x x

A

0 0BAC QQJ

B

Cx x

KC

0 0

D

x x1 0

A

x xBAC QQK

B

C

DA QQJB

Fakhreddine GHAFFARI Olivier ROMAIN

Page 168: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Synthèse (suite 2)

168

0 0JD

0 0

D

0 01 0

A

x xCBAD QQQJ

B

Cx x

KD

x x

D

x xx x

A

0 1AD QK

B

C

Q

Q/

JHK

Q

Q/

JHK

&

QA QB

H

1

1

Q

Q/

JHK

QC

Q

Q/

JHK

&

QD

&

Fakhreddine GHAFFARI Olivier ROMAIN

Page 169: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Autre méthode de synthèse

169

La méthode de MARCUS, consiste à introduire une variable de commutation, notée : Xi, qui prendra la valeur « 1 » en cas de changement, sinon « 0 »

Qt Qt+1 Xi0 0 00 1 11 0 1

1 1 0

Xi est donc formé d'un OU exclusif entre Qt et Qt+1.• -> on choisit de faire la synthèse du compteur ˆ l'aide de bascules JKQt+1 = J•Qt/ + K/•Qt • -> on ramène tout ˆ l'instant : t .Xi = Qt •Qt+1/ + Qt/•Qt+1

= Qt •( J•Qt/ + K/•Qt )/ + Qt/•( J•Qt/ + K/•Qt )= Qt •( (J•Qt/)/ • (K/•Qt)/ ) + J•Qt/ = Qt •( J/+Qt) • (K+Qt/) ) + J•Qt/= ( J/•Qt + Qt ) • (K+Qt/) + J•Qt/ = J/•Qt•K + Qt•K + J•Qt/

Xi = K•Qt + J•Qt/

Méthode ( dite de : MARCUS )• -> en fonction de la séquence désirée, remplir un tableau des : Xi = f(Qi)• -> ne pas forcément simplifier l'expression des Xi, il faut veiller à avoir dans l'expression de Xi, la

variable : Qi et également la variable : Qi/

Exemple : on va refaire par cette méthode le compteur binaire => décimal

Fakhreddine GHAFFARI Olivier ROMAIN

Page 170: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Synthèse par la méthode de MARCUS

170

XA

00

1001100

0101010101

QB QA

0000000011

0000111100

QD QC

1

1111111111

XB0101010100

XC0001000100

XD0000000101

XA = 1 Xi = K•Qt + J•Qt/

XA = KA•QA + JA•QA/

JA = KA = 1

XB = QA Xi = K•Qt + J•Qt/

XB = QA•QB + QA•QB/

JB = KB = QA

Fakhreddine GHAFFARI Olivier ROMAIN

Page 171: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Synthèse Marcus (suite)

171

0 0XC

0 0

D

1 01 0

A

0 0CBACBAC QQQQQQX

B

C0 0

KD

0 0

D

0 01 0

A

0 1DCBADAD QQQQQQX

B

C

Bien évidemment le schéma est rigoureusement identique => on aura pu observer une plus grande efficacité et rapidité !

Fakhreddine GHAFFARI Olivier ROMAIN

Page 172: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Compteur en anneau

172

C’est un compteur spécifique, utilisant la structure d’un registre à décalage, afin de propager un « 1 »

Un compteur en anneau, composé de N bascules pourra générer N états distincts.

Attention : un tel compteur doit être initialisé sur une des valeurs du cycle.

QD

H

QD

H

QD

H

QD

H

H

Q0 Q1 Q2 Q3

La séquence de ce compteur sera : 0001 (1), 0010 (2), 0100 (4), 1000 (8).

Q3

Q2

Q1

01CK

Q0

val 0 1 2 4 8 1 2 4 8

>=1

Q1Q2Q3

Fakhreddine GHAFFARI Olivier ROMAIN

Page 173: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique173

Compteur Jonhson

Electronique Numérique173

C’est un compteur spécifique, utilisant la structure d’un registre à décalage, afin de propager un « 0 »

Un compteur Jonhson, composé de N bascules pourra générer 2.N états distincts.

Attention : un tel compteur doit être initialisé sur une des valeurs du cycle.

QD

H

QD

H

QD

H

QD

H

H

Q0 Q1 Q2 Q3

La séquence de ce compteur sera : 0001, 0011, 0111, 1111, 1110, 1100, 1000, 0000.

Q3

Q2

Q1

01CK

Q0

val 0 1 3 7 15 14 12 8 0

Q/

Fakhreddine GHAFFARI Olivier ROMAIN

Page 174: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Système de prise en compte événementielle

174

Ce système doit se déclencher sur un événement (asynchrone), et doit perdurer jusqu’à ce qu’un autre événement (interne au système) se produise.

Exemple : quand un événement externe se produit, un signal reste valide tant que 5 « coups d’horloge » ne sont pas apparus.

Signal

01CK

event

Fakhreddine GHAFFARI Olivier ROMAIN

Page 175: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Prise en compte de l’événement

175

L’événement est par définition asynchrone, il faut donc commencer par le synchroniser sur l’horloge de référence du système , pour cela 2 possibilités :

QD

H

event

CK

Qsynchro Cette méthode peut poser des problèmes, de setup time ou de hold time

C’est pourquoi il vaut mieux privilégier cette 2ième méthode :

QD

H CK

Qsynchro« 1 »QD

H

Fakhreddine GHAFFARI Olivier ROMAIN

Page 176: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Validité par comptage interne

176

Une fois que l’événement est synchronisé il faut autoriser un compteur et des que le compteur a atteint la valeur désirée => il y a reset de la bascule de prise en compte de l’événement et du compteur

Compteur 4 bits

Bloc combinat

oire( = 5)

MRCE

HQ0

Q3

CK

Qsynchro

« 0 »

FinCpt

Fakhreddine GHAFFARI Olivier ROMAIN

Page 177: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Prise en compte événement (suite)

177

event

QD

H CK

Qsynchro« 1 »QD

HCompteur 4 bits

Bloc combinat

oire( = 5)

MRCE

HQ0

Q3

CK

FinCpt

reset reset

Qsynchro

01CK

event

FinCpt

Fakhreddine GHAFFARI Olivier ROMAIN

Page 178: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Verrouillage événement interne

178

On peut voir sur ces chronogrammes, que le signal FinCpt, ne dure que très peu (1 temps de propagation), ceci n’est jamais très bon dans un système séquentiel, aussi il vaut mieux verrouiller ce signal :

CK

QD

H CK

FinCptQD

Hreset reset

Vers : compteur et bascules

Attention : dans ce cas, l’impulsion de reset dure quasiment un période d’horloge => comptage – 1 !!

Fakhreddine GHAFFARI Olivier ROMAIN

Page 179: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Système complet

179

event

QD

H CK

Qsynchro« 1 »QD

HCompteur 4 bits

Bloc combinat

oire( = 5)

MRCE

HQ0

Q3

CK

FinCpt

reset reset

Q D

Hreset

Q D

Hreset

CK CK

Fakhreddine GHAFFARI Olivier ROMAIN

Page 180: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

Système événementiel : autre solution

180

Dans ce système, l’événement interne déclenchant la fin de la séquence est réalisé à partir d’un compteur => on peut très bien imaginer un registre à décalage , pour dénombrer les périodes d’horloge nécessaires, de plus dans ce cas, les signaux intermédiaires sont disponibles pour une utilisation …

event

QD

H CK

Qsynchro« 1 »QD

H

registre

à décala

ge

MRDin

HQ0

Qn-1

CK

FinCpt

reset reset

Q D

Hreset

Q D

Hreset

CK CK

Signaux internes

Fakhreddine GHAFFARI Olivier ROMAIN

Page 181: Electronique Numérique ENSL1 (S1) 1 ère  année IUT GEII

Electronique Numérique

En bref :

181

A vous de « jouer »

Fakhreddine GHAFFARI Olivier ROMAIN