Introduction à l'électronique numérique

Post on 26-Jan-2016

225 views 0 download

Transcript of Introduction à l'électronique numérique

dominique.thers@subatech.in2p3.fr

Électronique numérique FI1

Cours 3ème partie : Arithmétique binaire

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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 …

dominique.thers@subatech.in2p3.fr

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.

dominique.thers@subatech.in2p3.fr

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.

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

&

dominique.thers@subatech.in2p3.fr

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:

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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 »

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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.

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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)

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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.

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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.

dominique.thers@subatech.in2p3.fr

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

dominique.thers@subatech.in2p3.fr

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