36
[email protected] Électronique numérique FI1 Cours 3 ème partie : Arithmétique binaire

Introduction à l'électronique numérique

Embed Size (px)

Citation preview

Page 1: Introduction à l'électronique numérique

[email protected]

Électronique numérique FI1

Cours 3ème partie : Arithmétique binaire

Page 2: Introduction à l'électronique numérique

[email protected]

Présentation de l’arithmétique binaire

Portes « NAND » ou « NOR » : portes universelles

Ensemble de portes « NAND » ou « NOR »: ensemble complet permettant de réaliser toutes les opérations de l’arithmétique binaire.

Objectif: « Dégrossir » les possibilités avec des exemples généraux afin d’acquérir des bases de réflexion .

Exemples et applications:- Compteurs/Décompteurs- Comparateurs- Codeurs/Décodeurs- Multiplexeurs/Demultiplexeurs- Additionneur/Soustracteur- Multiplicateur- Convertisseur analogique-numérique

Page 3: Introduction à l'électronique numérique

[email protected]

1-Exemple de chronogramme généré par un ensemble de bascules

D

D Q

h

J Q1

h>

K

1

1 /Q1

h

t

Q1

D

Q

Ensemble complet !!! Tout problème a au moins une solution …

Page 4: Introduction à l'électronique numérique

[email protected]

2-Compteurs/Décompteurs2.1 Compteurs

J Q0

h>

K

1

1

J Q1

h>

K

1

1

Entrée

A0 A1

Entrée

t

A0

A1A= A1 A0 = nombres de fronts descendants de l’entrée

Pour chaque front descendant de l’entrée, A est incrémenté !Le front descendant d’une valeur de Qi génère une inversion sur la sortie de la bascule suivante …

Notons que pour un compteur constitué de n bascules JK, au bout de 2n fronts descendants, le compteur commence un nouveau cycle. On a donc un compteur modulo 2n.

Page 5: Introduction à l'électronique numérique

[email protected]

2-Compteurs/Décompteurs2.2 Décompteurs

J Q0

h>

K

1

1

J Q1

h>

K

1

1

Entrée

A0 A1

Entrée

t

A0

A1A= A1 A0 = décompte des fronts montants de l’entrée

Pour chaque front montant de l’entrée, A est décrémenté !Le front montant d’une valeur de Qi génère une inversion sur la sortie de la bascule suivante …

Notons que pour un décompteur constitué de n bascules JK, au bout de 2n fronts montants, le décompteur commence un nouveau cycle. On a donc un décompteur modulo 2n.

Page 6: Introduction à l'électronique numérique

[email protected]

2-Compteurs/Décompteurs2.3 Composant « compteur modulo 2n»

EntréeJ Q0

h>

K

1

1

J Qn-1

h>

K

1

1

A0 An-1

J Q

h>

K

1

0

DébordementAn-1

Compteur

A0 A1

DébordementINC

/R

•J=1, K=0 pour la gestion du débordement•/R pour initialiser le comptage

/R /R /R

/R

Page 7: Introduction à l'électronique numérique

[email protected]

2-Compteurs/Décompteurs2.4 Fréquence maximale de fonctionnement d’un compteur

Temps de réaction proportionnel au nombre de bascules mis en cascade Apparition d’erreurs sur sortie à fréquence trop élevée …

Exemple avec compteur modulo 16 (5 bascules JK):temps de réponse d’une bascule: 40 nstemps de réponse d’une porte NOT: 10 ns

Temps de réponse du compteur: 240 ns fmax ~ 4 MHz

Page 8: Introduction à l'électronique numérique

[email protected]

3-Les Comparateurs3.1 Opérateur égalité sur 1 bit

0 0

0

0

1

11

1

1

0

0

1

a

ab

S

Sb

S=1 a=b

=1

Page 9: Introduction à l'électronique numérique

[email protected]

3-Les Comparateurs3.2 Opérateur égalité sur n bits

an-1

bn-1

S=1 a=b

a=an-1 …a1 a0

b=bn-1 …b1 b0

a1

b1

a0

b0

&S

=1

=1

=1

Page 10: Introduction à l'électronique numérique

[email protected]

3-Les Comparateurs3.3 Opérateur supérieur sur 1 bits

0 0

0

0

1

11

1

0

0

1

0

a

ab

S

Sb

S=1 b>a

&

Page 11: Introduction à l'électronique numérique

[email protected]

3-Les Comparateurs3.4 Opérateur supérieur sur n bits

a1

b1

S=1 b>a

a=an-1 …a1 a0

b=bn-1 …b1 b0

a0

b0

S

&

&

=1

&

Sur 2 bits:

Page 12: Introduction à l'électronique numérique

[email protected]

4-Codeurs/Décodeurs4.1 Décodeurs

Le décodeur est un circuit logique qui établit la correspondance entre un code d’entrée binaire de N bits et M (2N max) lignes de sortie; pour chacune des combinaisons possibles des entrées, une seule ligne de sortie est validée.

&

&

&

&

A0A1

S3

S2

S1

S0

Décodeur

N entrées2N codes d’entrée

M sortiesUne seule est à 1pour chaque coded’entrée

Page 13: Introduction à l'électronique numérique

[email protected]

4-Codeurs/Décodeurs4.1 Codeurs

Si le décodage est un processus à partir duquel une représentation de N bits produitun signal sur une et seulement une des lignes de sortie, alors le processus inverseest le codage et il utilise un circuit logique appelé codeur.

Codeur

Représentation des sorties deN bits.

M entréesUne seule est à 1pour chaque coded’entrée

E0

E1

E2

E3

S0

S1

Page 14: Introduction à l'électronique numérique

[email protected]

5-Multiplexeurs/Démultiplexeurs5.1 Multiplexeurs

0 0

0

0

1

11

1

E0

A1 SA0

E1

E2

E3

Aiguillage vers une sortie unique de l’une desentréesChoix de l’entrée à partir d’une adresse de sélection

S

&

&

&

&

E0

E1

E2

E3

A1 A0

Page 15: Introduction à l'électronique numérique

[email protected]

5-Multiplexeurs/Démultiplexeurs5.2 Démultiplexeurs

0 0

0

0

1

11

1

S0

A1 SA0

S1

S2

S3

Aiguillage vers l’une des sorties de l’unique entréeChoix de la sortie à partir d’une adresse de sélection

&

&

&

&

A0A1

S3

S2

S1

S0

ELa valeur de la sortie active est « E »Les sorties inactives sont à « 0 »

Page 16: Introduction à l'électronique numérique

[email protected]

5-Multiplexeurs/Démultiplexeurs5.3 Démultiplexeurs avec « LATCH »

Aiguillage vers l’une des sorties de l’unique entréeChoix de la sortie à partir d’une adresse de sélection Sorties figées entre chaque signal de validation

&

&

&

&

A0A1

S3

S2

S1

S0

Validation

LATCHD

h

LATCHD

h

LATCHD

h

LATCHD

h

Donnée

Page 17: Introduction à l'électronique numérique

[email protected]

6-Additionneur6.1 Principe

Toutes les retenues doivent être évaluées en partant du « bit » de poids faible jusqu’au « bit » de poids fort

An An-1 An-2 A1 A0…

Bn Bn-1 Bn-2 B1 B0…+

Cn Cn-1 Cn-2 C1 C0…Rn

Rn = Retenue de l’addition An + Bn + Rn-1

Ai

Bi

Ri-1

Ri

Ci

ADDOpération effectuée à l’aide de n opérateurs élémentaires

Page 18: Introduction à l'électronique numérique

[email protected]

6-Additionneur6.2 Exemple: combinaison pour une addition sur 3 bits

A0

B0

0

R0

C0

ADD

A1

B1

R1

C1

ADD

A2

B2

R2

C2

ADD

Page 19: Introduction à l'électronique numérique

[email protected]

6-Additionneur6.3 Câblage de l’opérateur élémentaire-1

Ai

Bi

Ri-1

Ri

Ci

ADD

Ai Bi Ri-1 RiCi

0 000011

11

0

0

0

0

0

0

0

1

111

1

111

0 01 0

010 1

1 00

0

1

111

Page 20: Introduction à l'électronique numérique

[email protected]

6-Additionneur6.3 Câblage de l’opérateur élémentaire-2

Ai Bi Ri-1 RiCi

0 000011

11

0

0

0

0

0

0

0

1

111

1

111

0 01 0

010 1

1 00

0

1

111

00

01

0 1

11

10

0

1

0

1 0

1

1

0

Ai Bi

Ri-1

00

01

0 1

11

10

0

0

1

0 1

1

0

1

Ai Bi

Ri-1

RiCi

Ri =Ai Bi + Ai Ri-1 + Bi Ri-1Ci =Ai /Bi /Ri-1 + Ai Bi Ri-1 + /Ai Bi /Ri-1 + /Ai /Bi Ri-1

Page 21: Introduction à l'électronique numérique

[email protected]

6-Additionneur6.3 Montage de l’opérateur élémentaire-3

Ai

Bi

Ri-1

Ri

Ci

ADD &

&

&

&

&

&

&

Ci =Ai /Bi /Ri-1 + Ai Bi Ri-1 + /Ai Bi /Ri-1 + /Ai /Bi Ri-1

Ri =Ai Bi + Ai Ri-1 + Bi Ri-1

Ri-1

Bi

Ai

Ri

Ci

Page 22: Introduction à l'électronique numérique

[email protected]

6-Additionneur6.4 Temps de réaction d’un additionneur série

Calcul du temps nécessaire à la réalisation d’une addition sur 8 bits :- temps de réaction de chaque porte élémentaire 20 ns- temps de réaction de l’additionneur sur 1 bit : 2 x 20 ns- temps de réaction de l’additionneur sur 8 bits : 8 x 40 ns

La fréquence d’horloge pour un additionneur série 8 bits est donc limitée à ~ 3 MHz

Il existe des solutions pour aller plus vite !!!!

Additionneur parallèle (voir TD et TP …)

Page 23: Introduction à l'électronique numérique

[email protected]

7-Soustracteur7.1 Écriture de nombres signés-1

Pour mémoriser un nombre binaire de « n » bits, on utilise habituellement un registre à 6 bascules (cf registre à verrouillage …)Pour les nombres négatifs, il faut adopter une nouvelle convention de manière à représenter le signe du nombre (« + » ou « - »). Généralement, on ajoute un autre bit au nombre, appelé le bit de signe. La convention la plus courante consiste à attribuer au nombre positif le bit de signe « 0 » et au nombre négatif le bit de signe « 1 ».

Notation en grandeur exacte: bit de poids fort pour le signe, les autres pour la norme du nombre …

Notation en complément à « 1 »: bit de poids fort pour le signe, les autres sont tous complémentés (« 0 » devient « 1 » et réciproquement) si le signe est négatif.

Notation en complément à « 2 »: bit de poids fort pour le signe, même transformation pour les autres bits que pour le complément a « 1 » si le signe est négatif mais on ajoute « 1 » en plus au bit de poids faible.

Page 24: Introduction à l'électronique numérique

[email protected]

7-Soustracteur7.1 Écriture de nombres signés-2

Exemples :

Notation en grandeur exacte

Notation en complément à 1

Notation en complément à 2

+ 57

- 57

0 111001

1 111001

0 111001 0 111001

1 000110 1 000111

Bits de signe

Page 25: Introduction à l'électronique numérique

[email protected]

7-Soustracteur7.2 Addition en notation complément à « 2 »-1

- Cas 1, addition de deux nombres positifs:+ 9+ 4

0 10010 01000 1101

- Cas 2, addition d’un nombre positif et d’un nombre négatif plus petit:

+ 9- 4

0 10011 1100

1 0 0101- Cas 3, addition d’un nombre positif et d’un nombre négatif plus grand:

- 9+ 4

1 01110 01001 1011

- Cas 4, addition de deux nombres négatifs:

- 9- 4

1 01111 1100

1 1 0011

Page 26: Introduction à l'électronique numérique

[email protected]

7-Soustracteur7.2 Addition en notation complément à « 2 »-2

- Cas 5, addition de 2 nombres opposés:+ 9- 9

0 10011 0111

1 0 0000Dans tous les cas, le signe et la norme des sommes effectuées sont exactes.(Attention au cas où le bit de signe indique un signe négatif, complémentation à « 2 » inversée pour retrouver la valeur codée …)

Pour les cas « 2 », « 4 » et « 5 », il y a dépassement du registre. Les nombres que l’on a additionné comportaient 1 bit de signe et 4 bits de grandeur, les réponses aussi. Tout report fait sur un bit de sixième rang est rejetée.

De même, l’addition de +9 et +8 conduit à un dépassement sur le bit de signe.

Le dépassement du registre ne conduit à aucune erreur … En revanche, le dépassement sur le bit de signe doit être systématiquement détecté afin d’éviter les erreurs de calcul … (Comparaison du bit de signe du résultat par rapport aux bits de signe des nombres additionnés)

Page 27: Introduction à l'électronique numérique

[email protected]

8-Multiplicateur8.1 La multiplication binaire. Une extrapolation de l’additionneur.

On multiplie les nombres binaires de la même façon que les nombres décimaux. En réalité, le processus est plus simples puisque les chiffres du multiplicateur sont systématiquement « 0 » ou « 1 ».

Exemple: 10011011x1001

10010000

1001

+++

1100011

911

99

La plupart des machines numériques peuvent additionner seulement deux nombres binaires à la fois. C’est la raison pour laquelle les produits partiels d’une multiplication ne peuvent être additionnés ensemble en une seule fois. Ils sont plutôt additionnés 2 par 2; c’est à dire que le premier est additionné au second, que leur somme est additionnée au troisième, etc.…

Page 28: Introduction à l'électronique numérique

[email protected]

8-Multiplicateur8.2 Multiplication binaire par une puissance de 2

Propriété: Multiplication par 2n équivalent à un décalage vers la gauche « n » fois.

Exemple: 5x22

000101

Utilisation d’un registre à décalage comme multiplicateur …

2 décalages vers la gauche

0101005 = 4+1 x 22 20 = 16 + 4

Page 29: Introduction à l'électronique numérique

[email protected]

8-Multiplicateur8.3 Multiplication de deux nombres grâce au registre à décalage …

Procédure : 1/ Décomposition du premier nombre sous la forme d’une somme de puissance de 2.

2/ Somme de produits entre chaque terme de cette décomposition et le second membre.

Exemple: 7x5

000101

Utilisation de registres à décalage et d’additionneurs pour réaliser un multiplicateur …

Somme : 100011

010100x 22

1/ 7 = 22+21+20

2/ 5 = 000101

000101 001010x 21

000101 000101x 20

35 = 32 + 2 + 1

Page 30: Introduction à l'électronique numérique

[email protected]

8-Multiplicateur8.4 Multiplication et complément à 2 …

3 cas :1/ les 2 nombres sont positifs: multiplication telle quelle …

2/ les 2 nombres sont négatifs:- complémentation inverse à « 2 » des 2 nombres- multiplication telle quelle … Bit de signe à « 0 »

3/ les 2 nombres sont de signes opposés:- complémentation inverse du nombre négatif- multiplication telle quelle …- bit de signe à « 1 » et complémentation à « 2 » du produit.

Page 31: Introduction à l'électronique numérique

[email protected]

9-Convertisseur Analogique-Numérique

9.2 Convertisseur Numérique-Analogique: comment ça marche ?

1/ On fourni au convertisseur une valeur numérique sur un intervalle déterminé.

2/ Un signal de validation lance la conversion.3/ Le composant fourni alors en sortie, après un temps de réaction, une

valeur analogique; par exemple une tension comprise entre 0 et 7 V.

9.1 A quoi ça sert ?

Les CAN/CNA servent à faire le lien entre le monde extérieur à prédominance analogique et un système purement numérique.

CAN CNASystème numérique(par ex. ordinateur)

Entréesanalogiques

Sortiesanalogiques

Page 32: Introduction à l'électronique numérique

[email protected]

9-Convertisseur Analogique-Numérique9.3 Convertisseur Numérique-Analogique: mode de représentation.

Définition: Un convertisseur numérique-analogique (CNA) transpose une valeur déjà exprimée selon une représentation numérique (comme le binaire naturel) en un tension ou un courant proportionnel à cette valeur numérique.

B

00

0

0

11

11

C

000011

11

A

0

0

0

0

1

1

1

1

Vout

012345

67

ConvertisseurCBA (CNA)

C

B

A

Vout

Exemple: convertisseur CBA (3 bits)

poids fort

poids faible

Page 33: Introduction à l'électronique numérique

[email protected]

9-Convertisseur Analogique-Numérique9.4 Convertisseur Numérique-Analogique: montage.

Réalisation:

Ampli-opérationnel en montage sommation:Vout = -[VC x (RF /RC ) + VB x (RF /RB ) + VA x (RF /RB )]

C

B

A

poids fort

poids faible

1 k

2 k

4 kVout

RF =1 k

-

+

AO idéal

Page 34: Introduction à l'électronique numérique

[email protected]

9-Convertisseur Analogique-Numérique

9.5 Convertisseur Analogique-Numérique: comment ça marche ?

1/ On donne l’ordre au composant de réaliser l’acquisition du signal extérieur et sa conversion.

2/ Lorsque la conversion est réalisée, le composant indique qu’il est prêt par un signal binaire.

3/ Le signal précédent étant détecté, on procède à la lecture de la valeur numérique (en série ou en parallèle suivant le composant utilisé).

La conversion AN est généralement plus complexe et plus longue que la conversion NA. Différentes méthodes de conversion AN ont été mises au point et sont utilisées. Pour beaucoup d’entre elle, on retrouve un convertisseur NA.

Page 35: Introduction à l'électronique numérique

[email protected]

9-Convertisseur Analogique-Numérique9.6 Convertisseur Analogique-Numérique: exemple de réalisation.

-

+VA

ConvertisseurNA

Registre

Unité de commande

Commande début

Horloge

Comparateur

V’A

Tant que VA V’A : à une cadence déterminée par le signal d’horloge, l’unité de commandemodifie sans arrêt le nombre binaire mémorisé par le registre.

Lorsque VA= V’A : le registre a mémorisé la valeur numérique correspondant à la tension VA

Page 36: Introduction à l'électronique numérique

[email protected]

Exercices 5ième série : création d’un multiplicateur

On souhaite réaliser un multiplicateur parallèle de deux nombres « a » et « b » de 4 bits chacun.0n notera « a=a3 a2 a1 a0 », « b =b3 b2 b1 b0 » et « p » leur produit.On dispose :

- de portes élémentaires- d’additionneur 4 bits

A/ Proposer un montage réalisant le calcul souhaitéB/ Déterminer le temps de traversée du montage en fonction des temps de traversée des constituants.

i0

ADD

j0j1j2j3 i1i2i3

k3 k2 k1 k0

C-INC-OUT