80876357-Electronique-Numerique-1

121
Electronique Electronique numérique 1 numérique 1 T.EA 1 Bibliographie z Circuits Numériques - Théorie et Applications Ronald J. Tocci (Dunod) z Circuits numériques et synthèse logique J. Weber & M. Meaudre z Architecture des ordinateurs Fonctions booléennes, logique combinatoire et séquentielle Philippe Darche (Vuibert) z Introduction to Digital Systems l ( l ) Milos Ercegovac, Tomas Lang, J.H. Moreno (Wiley) T.EA 2

Transcript of 80876357-Electronique-Numerique-1

Page 1: 80876357-Electronique-Numerique-1

ElectroniqueElectronique numérique 1numérique 1

T.EA

1

Bibliographie

Circuits Numériques - Théorie et Applications

Ronald J. Tocci (Dunod)( )

Circuits numériques et synthèse logiqueJ. Weber & M. Meaudre

Architecture des ordinateurs

Fonctions booléennes, logique combinatoire et séquentielle

Philippe Darche (Vuibert)

Introduction to Digital Systems

l ( l )Milos Ercegovac, Tomas Lang, J.H. Moreno (Wiley)

T.EA

2

Page 2: 80876357-Electronique-Numerique-1

Introduction généraleg

T.EA

3

Analogique-Numérique

Système analogique - Système numériquetraitement de grandeurs physiques exprimées sous forme analogique (resp. numérique) : les grandeurs

i d f i ( di è ) à l’i é ivarient de façon continues (resp. discrètes) à l’intérieur d’un intervalle de valeurs

ex. syst. ana: tachymètre, thermomètre à mercure, microphone classique, bande magnétique, etc.

ex. syst. num.: calculatrice, ordinateur, etc.

T.EA

4

Page 3: 80876357-Electronique-Numerique-1

Analogique-Numérique

Atouts du numériquescircuits plus simple à concevoir

stockage de l’information facileg

précision et exactitude accrues

programmation des opérationsprogrammation des opérations

robuste vis à vis du bruit

forte intégration

Inconvénient majeur du numériquej qle monde réel est analogique

T.EA

5

Analogique-Numérique

Exploitation des techniques numériquesp q qTraduire les signaux analogiques en signaux numériques

Traiter l’information numériqueTraiter l information numérique

Convertir les sorties numériques en analogique

Transducteur CAN Traitementϕ A N NTransducteur CAN numérique

AN NTraitementnumérique CNA Transducteur

AN N ϕ

T.EA

6

Page 4: 80876357-Electronique-Numerique-1

Système numérique

Système combinatoire (passé indifférent) :réalisation d’une fonctionréalisation d une fonction

logique combinatoire

SystèmeEntrées Sorties

Système séquentiel (dépendant des entrées

yΔt

Entrées Sorties

Système séquentiel (dépendant des entrées antérieures)

di é i i d é d’ h ldiscrétisation du temps : présence d’une horloge

réalisation d’un comportementlogique séquentielle synchrone

SystèmeΔt

Entrées Sorties

T.EA

7Δt

Architecte numéricien

Fonction ou comportement h i é ( é ifi i )souhaité (spécification)

ImplantationpStructure concrète

Technologie disponibleContraintes du systèmecoût encombrement vitesseTechnologie disponible

Transistor, portes, ...coût, encombrement, vitesse,

consommation, temps de développement, ...

T.EA

8

Page 5: 80876357-Electronique-Numerique-1

Phases d’un projet électronique

Spécification technique du besoinNégociation

Conception d’architecture

gavec le client

Conception détaillée (schéma, code, doc, simu)

Synthèse, AnalyseAmélioration

Placement, routage

Fabrication ou programmation

T.EA

9Test et Production

Spécifications du besoin

Demande du clientDéfinition contraignante des résultats à obtenir

Performances et caractéristiques électriques du circuit

Réfl i t i t ti t i h i hit tRéflexion et orientation vers certains choix architecturauxContient la description :

D t t l t é / tiDe toutes les entrées/sortiesDe l’environnement dans lequel le circuit sera utiliséDes fonctionnalités du circuit à développerppDes caractéristiques temporelles (timing) des entrées /sorties, des niveaux électriquesDes conditions de test le taux de couverture de test les méthodesDes conditions de test, le taux de couverture de test, les méthodes statistiques utilisées pour l’acceptation des lots

T.EA

10

Page 6: 80876357-Electronique-Numerique-1

Conception d’architecture

Document à usage interne écrit par l’ingénieur responsable du projetSynthèse de l’analyse de la spécification et solutions

h i i étechniques envisagéesDescription des interconnexions des sous blocs internes et l l tileurs relations

Répartition du travail entre collaborateursConstruction d’une bibliothèque de fonctionsConstruction d une bibliothèque de fonctionsSuivi de l’avancement du projet

Description schématique de la structure interne du circuit p qintégré

T.EA

11

Conception détaillée

Conception du circuitpCode VHDL, saisie schématique

Définition détaillée des interfaces des blocsDéfinition détaillée des interfaces des blocs

Conception de certains modules critiques du circuitDé i é d’é l blè h iDétection précoce d’éventuels problèmes techniques

Complète le document de conception architecture

Simulation : phase la plus longueValidation des spécificationsValidation des spécifications

T.EA

12

Page 7: 80876357-Electronique-Numerique-1

Synthèse, Analyse

Transformation du code VHDL ou de la schématique en netlist

Liste de nœudsListe de nœuds

Instances de cellules effectuant des opérations élémentaires (portes logiques)

Schéma de cellules physiques (caractéristiques physiques)physiques)

Fréquence maximale de fonctionnement

T.EA

13

Placement, Routage

Disposer les cellules de la fonctionpOptimisation en surface

Réduction de la longueur des interconnexionsRéduction de la longueur des interconnexions

Insertion du Scan-PathTest de production

Simulation post-layoutSimulation post layoutAnalyse physique (back annotation)

Timing plus proche de la réalité plus précise (modélisation desTiming plus proche de la réalité, plus précise (modélisation des cellules de base)

T.EA

14

Page 8: 80876357-Electronique-Numerique-1

Fabrication ProgrammationFabrication, ProgrammationTest et Production

ASIC : envoie du circuit en fabrication

FPGA : « programmation » du composant

Confrontation des résultats d’analyse, de y ,simulations avec la réalité

Mesures de caractéristiques dans un lot de circuitMesures de caractéristiques dans un lot de circuit

Test de production : vérification pièce par pièce

T.EA

15

Chapitre I : Fonctions Booléennes -Al èb d B lAlgèbre de Boole

T.EA

16

Page 9: 80876357-Electronique-Numerique-1

Introduction

Représentation binaireUtili ti t i d dé i iUtilisation courante pour exprimer des décisions fonction de propositions multiples présentant deux états : vraies ou fausses: vraies ou fausses.

exemple : Décision D : aller au cinéma

Prop 1 : film intéressant

P 2 é h i d d filProp 2 : occupé aux horaires de passage du film

Prop 3 : voiture en état de marche

P 4 ét èProp 4 : métro en grève

La décision D sera prise si : P1 est vraie ET si P2 est fausse ET (si P3 est vraie OU P4 est fausse)

T.EA

17

(si P3 est vraie OU P4 est fausse).

Introduction

Toute proposition logique peut se mettre sous la forme décrite précédemment:

nécessité d’un outil mathématique pour traiter les q ppropositions logiques : algèbre de Boole

nécessité d ’outil physique pour matérialiser lesnécessité d outil physique pour matérialiser les opérateurs fondamentaux ( vrai/faux - ET - OU) : circuits logiquesg q

T.EA

18

Page 10: 80876357-Electronique-Numerique-1

Contributeurs

George Boole (1815-1864) : mathématicien g ( )anglais

Augustus De Morgan (1806 1871)Augustus De Morgan (1806-1871)

Charles Sanders Peirce (1839-1914)

John Venn (1834-1923)

G ttl b F (1848 1925)Gottlob Frege (1848-1925)

Claude Elwood Shannon (1916-2001)

T.EA

19

Variable logique - Fonction logique

Variable logique (x)Deux états : faux/vrai 0/1 fermé/ouvert éteint/allumé arrêt/marcheDeux états : faux/vrai, 0/1, fermé/ouvert, éteint/allumé, arrêt/marche, bas/haut, non/oui,...

Variable booléenne ou binaire

Fonction logique de n variables est une fonction qui ne prend, comme chacune des variables, que deux étatsp , , q

Peut être considérée comme une variable logique vis à vis d’une autre fonction.

Algèbre de Boole étudie des variables binaires et des fonctions de ces variables.

Algèbre d’états et non des nombres.

T.EA

20

Page 11: 80876357-Electronique-Numerique-1

Algèbre de Boole

Définition : B=<E,+,•,¯,0,1>, , , , ,ensemble E muni de deux lois de composition internes + et •, et d ’une loi de complémentation ¯+ et , et d une loi de complémentation

ā, a’, /a: si a=0 alors ā=1

i 1 l ā 0si a=1 alors ā=0

Propriétés des lois de composition a b a + b0 0 00 1 1

a b a • b0 0 00 1 0

1 0 11 1 1

1 0 01 1 1

T.EA

21

Algèbre de Boole

Axiome de base : ∀ (a,b,c) ∈ E3( , , )Commutativité: a + b = b + a

a • b = b • aa • b = b • a

Distributivité: a • (b + c) = (a • b) + (a • c)

a + (b • c) = (a + b) • (a + c)

Eléments neutres: a + 0 = a

a • 1 = a

Complémentation: a + ā = 1Complémentation: a ā 1

a • ā = 0

T.EA

22

Page 12: 80876357-Electronique-Numerique-1

Algèbre de Boole

Propriétéspa + 1 = 1

a • 0 = 0 a + (a • b) = a

aa =

a • 0 = 0

a + a = a

a + (a • b) = a

a • (a + b) = a

a • a = a

a + b + c = (a + b) + c = a + (b + c)

a • b • c = (a • b) • c = a • (b • c)

; : loi de De Morganbaba •=+ baba +=•; : loi de De MorganGénéralisable à n variable par SHANNON

baba + baba +

T.EA

23

Algèbre de Boole

Autres propriétésp p

ababa =•+• )()(

babaa

ababa

•=+•

=+•+

)(

)()(

babaa +=•+ )(

)(

T.EA

24

Page 13: 80876357-Electronique-Numerique-1

Algèbre de Boole

Exemples de démonstrationp

bbbaba

bbaabababa

+•+•+•

+••+•=•+•

)]()[()]1([

])[(])[()()(

ababaa

bbbaba

=+•=+•=

+•+•+•=

)1()(

)]()[()]1([

bbbaaba

bbaabababa

•+•+•+=

•++•+=+•+

)]()[()]([

])([])([ )()(

babaaabaa

ababaa

•=•+•=+•

=+•=•+=

)()()(

)1()(

babaaabaa

babaaabaa

+=+•+=•+

•=•+•=+•

)()()(

)()()(

T.EA

25

Algèbre de Boole

Remarque:+ b + ba + b = a + c ⇒ b = c

a • b = a • c ⇒ b = c

b = c ⇒ a + b = a + c

b = c ⇒ a • b = a • c

Exemple :

i 1 b 0 1 l b 1 i bsi a=1, b=0, c=1 alors a+b=a+c=1 mais b≠c

si a=0, b=0, c=1 alors a • b=a • c=0 mais b≠c

T.EA

26

Page 14: 80876357-Electronique-Numerique-1

Fonction logique

Fonction logique complètement définieentièrement définie quand on connaît sa valeur 0 ou 1 pour les 2nentièrement définie quand on connaît sa valeur 0 ou 1 pour les 2combinaisons possibles (n : nombre de variables)

Table de vérité ou tableau des combinaison

a b f0 0 00 1 1

Fonction logique incomplètement définie

0 1 11 0 11 1 0

Fonction logique incomplètement définieX ou ∅ : valeur de la fonction non spécifiée

Utile pour la simplification des éq logiquesUtile pour la simplification des éq. logiques

T.EA

27

P-terme, s-terme, minterme, maxterme

Définitionp-terme : produit de variables logiques

s terme : somme de variables logiquess-terme : somme de variables logiques

minterme : p-terme de degré n (n nombre de variables d l f ti l i ) { }n 1

∏−

de la fonction logique) :

maxterme : s-terme de degré n

{ }iiii

ij xxxxm ,,0

∈= ∏= { }iii

n

iij xxxxM ,,

1

0

∈= ∑−

=

Fonction à n variables → 2n maxtermes et 2n

mintermes possible p

T.EA

28

Page 15: 80876357-Electronique-Numerique-1

Minterme, maxterme

Représentation des mintermes et maxtermes en f ti d l’ét t d i bl t l i t 1fonction de l’état des variables tel que minterme=1 et maxterme=0

1−nx …1x 0x Minterme Maxterme

0 0 0 0 xxxx •• xxxx ++++0 0 0 00121 ... xxxx nn •• −− 0121 ... xxxx nn ++++ −−

0 0 0 10121 ... xxxx nn •• −− 0121 ... xxxx nn ++++ −−

… … … … … …

1 1 1 00121 ... xxxx nn −− 0121 ... xxxx nn ++++ −−

1 1 1 10121 ... xxxx nn −− 0121 ... xxxx nn ++++ −−

T.EA

29

Théorème de Shannon

Toute fonction booléenne autre que f=0 peut s ’écrire sous la forme d ’une somme des écrire sous la forme d une somme de mintermes. Toute fonction booléenne autre que f 1 ’é i l f d ’ d i df=1 peut s ’écrire sous la forme d ’un produit de maxtermes.

Forme généralisée du théorème de De Morgan

)()( +••+ xxfxxfFormule de développement de Shannon

),,,...,(),,,...,( 0101 +•=•+ −− xxfxxf nn

[ ] [ ]),...,1,...,(),...,0,...,(),...,,...,(

),...,0,...,(),...,1,...,(),...,,...,(

010101

010101

xxfxxxfxxxxf

xxfxxxfxxxxf

iii

niniin −−−

+•+=

•+•=

T.EA

30

[ ] [ ]),...,1,...,(),...,0,...,(),...,,...,( 010101 xxfxxxfxxxxf niniin −−− ++

Page 16: 80876357-Electronique-Numerique-1

Théorème de Shannon

Démonstration pour une variablep

f(x)xf(x)x)x(xf(x)f(x)effeten

f(0)xf(1)xf(x) : écrires'peut variableuned' f booléenne fonction Toute

•+•+•

•+•=

f(1)f(1)1f(1)xet

f(1)f(1)1f(x)xa on 1,x si

f(x)xf(x)x)x(x f(x)f(x)effet en

=•=•=•=•=

•+•=+•=

0f(0)0f(0)xet

0f(1)0f(x)xa on 1,x si

••

=•=•=

0f(1)0f(1)xet

0f(0)0f(x)xa on 0,x si

f(1)f(1)1f(1)xet

=•=•=•=•=

=•=•

f(0)f(0)1f(0)

f(0)f(0)1f(x)xa on 0,x si

0f(0)0f(0)xet

=•=•=

=•=•

)1(f f(1),xf(x)x donc

0f(1)0f(1)xet

∀•=•=•=•

)0(f f(0),xf(x)x donc

f(0)f(0)1f(0)xet

∀•=•

=•=•

T.EA

31

Théorème de Shannon

f(1)]x[f(0)]x[f(x) : écrires'peut variableuned' f booléenne fonction Toute +•+=

1f(1)1f(x)xa on 1,x si

f(x)]x[f(x)]x[)x(x f(x)f(x)effet en

=+=+=+•+=•+=

f(1)f(1)0f(x)xa on 1,x si =+=+=

f(0)f(0)0f(x)xa on 0,x si

1f(0)1f(0)xet

=+=+==+=+

1f(0)1f(x)xa on 0,x si

f(1)f(1)0f(1) xet

=+=+=

=+=+

)0(f f(0),xf(x)x donc

f(0)f(0)0f(0)xet

∀+=+=+=+

)1(f f(1),xf(x)x donc

1f(0)1f(0)xet

∀+=+

=+=+

Généralisation à n variables

T.EA

32

Page 17: 80876357-Electronique-Numerique-1

Ecriture Canonique

F(a,b,c…) peut s’écrire sous deux formes( , , ) psomme canonique (1ère forme canonique - forme canonique (ou normale) disjonctive):canonique (ou normale) disjonctive):

somme de produits contenant toutes les variables de la fonction : somme de mintermes

ex :

produit canonique (2ère forme canonique - forme yzxzyxxyzzyxf ++=),,(

p q ( qcanonique (ou normale) conjonctive):

produit de sommes contenant toutes les variables de la fonction p: produit de maxtermes

ex : ))((),,( zyxzyxzyxf ++++=

T.EA

33

Ecriture Canonique

Obtention des formes canoniques i d l f l d dé l t d Shissues de la formule de développement de Shannon

exemple de 2 variables :

)0,0( )1,0( )0,1(11

)]0,0( )1,0( [)]0,1( )1,1( [),0( ),1( ),(

fbafbafba),ab f(

fbfbafbfbabfabfabaf

+++=

+++=+=

extension à n variables

Exemple 1:Exemple 1: f(0,0)=0; f(0,1)=0; f(1,0)=0; f(1,1)=1

f(a,b)=a.b

T.EA

34

Page 18: 80876357-Electronique-Numerique-1

Ecriture Canonique

Exemple 2: p

mettre f sous forme de somme et produit canonique

))((),,( cbabacbaf +++=

mettre f sous forme de somme et produit canonique

produit de maxtermes)())(()( bbbbf

somme de mintermes

)())((),,( cbacbacbacbaf ++++++=

cbaabcbaab

acbbcbbaacabaacbaf

+++=

+=+++++=),,(

bbbbb

cbaabccbabcacababc

cbaabcbaab

+++++=

+++

T.EA

35cbacbabcacababc ++++=

R é i d i bl dReprésention des variables et des fonctions logiquesfonctions logiques

Diagramme d’Euler ou de Venng

x x a b

Table de vérité (truth table)

a b

( )ligne c b a f(c,b,a)

0 0 0 0 f(0,0,0)1 0 0 1 f(0 0 1)1 0 0 1 f(0,0,1)2 0 1 0 f(0,1,0)3 0 1 1 f(0,1,1)4 1 0 0 f(1,0,0)( , , )5 1 0 1 f(1,0,1)6 1 1 0 f(1,1,0)7 1 1 1 f(1,1,1)

T.EA

36

Page 19: 80876357-Electronique-Numerique-1

R é i d i bl dReprésention des variables et des fonctions logiquesfonctions logiques

Tableau de KarnaughgUne seule variable change d’état entre deux cases contiguëscontiguës

Simplification des équations logiques grâce à la propriété d’adjacente )1( =+ aapropriété d adjacente Méthode de construction pour n variables

2n cases : 2n-1 cases pour la forme normale et 2n-1 cases pour la forme

)1( + aa

2 cases : 2 cases pour la forme normale et 2 cases pour la forme complémentée

2l lignes et 2c colonnes : n=l + c

choix du nombre de lignes et de colonnes :• n pair : c=l=n/2

• n impair c=l+1=(n+1)/2

T.EA

37

n impair c l+1 (n+1)/2

R é ti d i bl t dReprésention des variables et des fonctions logiquesfonctions logiques

Exemples de tableaux de Karnaughp gn=1

a 0 1

0 1

n=2b\a 0 10

0 1

n=3c\ba 00 01 11 10

00 1 3 2

12 3

14 5 7 6

b

n=5ed\cba 000 001 011 010 110 111 101 100

000 1 3 2 6 7 5 4

an=4

dc\ba 00 01 11 1000

0 1 3 2 0 1 3 2 6 7 5 4

018 9 11 10 14 15 13 12

1124 25 27 26 30 31 29 28

10

014 5 7 6

c 1112 13 15 14

d 10 1016 17 19 18 22 23 21 20

d 108 9 11 10

T.EA

38

Page 20: 80876357-Electronique-Numerique-1

R é i d i bl dReprésention des variables et des fonctions logiquesfonctions logiques

Arbre de décision binaireUtilisé en intelligence artificielle pour visualiser une décision dépendante de plusieurs variables logiquesdécision dépendante de plusieurs variables logiquesConstruction :

Chaque variable occupe 1 niveauf(xn-1,…,x0)

Chaque variable occupe 1 niveau de 0 à n-1

Etat 0 à gauche et état 1 à droite 0 1

xn-1

d’un nœud

L’arbre se termine par des f ill l l d l

0 1xn-20 1

xn-2

x xfeuilles contenant la valeur de la fonction correspondant à l’état des variables d’entrée

0 1x0 0 1

x0

T.EA

39

des variables d entrée

R é ti d i bl t dReprésention des variables et des fonctions logiquesfonctions logiques

ChronogrammegGraphe d’évolution temporelle des variables et des fonctions logiquesfonctions logiques

t

x

ty

t

F(x,y)=x . y

t

T.EA

40

Page 21: 80876357-Electronique-Numerique-1

Simplification des fonction logiques

Recherche de l’écriture la plus simple possible

Utilisation du minimum de matérielUtilisation du minimum de matérielfabrication d’un système à moindre coût

Méthode algébrique, graphique, algorithmiqueobtention d’une forme minimale de la fonction logique

• somme minimale, produit minimal

on appelle forme minimale d’une expression logique, l ’ i f éd it i tl ’expression sous forme réduite qui comporte :

-nombre minimal de termes (p-termes, s-termes)

nombre minimal de variables dans chaque terme-nombre minimal de variables dans chaque terme

exemples :

dbdbdbbdf

bdcabdcbaadbabcdf

+++

+++=

)(

),,,(

T.EA

41

dcabdcbaadbabcdf +++=),,,(

Simplification des fonction logiques

Méthode algébrique :tili ti d iété t l ti d l’ l èb dutilisation des propriétés et relations de l’algèbre de

Boole

é h d h dméthode assez hasardeuse

manipulation pas toujours facile

devient inextricable quand le nombre de variables

n > 5

T.EA

42

Page 22: 80876357-Electronique-Numerique-1

Simplification des fonction logiques

Exemple abccabcbabcacbaf +++)(

abcabcabccabcbabcacbaf +++++=),,(

abccabcbabcacbaf +++=),,(

abacbc

ccabbbacbcaa

f

+++++++= )()()(

),,(

abacbc ++=

abccabcbabcacbaf +++=),,(

cababccabbabc

cabcbabccabcbabcaa

++=++=

++=+++=

)()(

)(

bcacbcbcacbcabcacb

cababccabbabc

++=++=++=

++=++=

)()(

)()(

T.EA

43bcabac ++=

Simplification des fonction logiques

Méthode graphique (Karnaugh)méthode difficile pour n > 6

Principe : pregroupement des cases par 2,4,8..,2i

élimination de 1,2,3…i variables, ,

obtention d’une forme ΣΠ non canonique car des variables ont été éliminées

Etapes de simplification Cas des fonctions complètement définesCas des fonctions complètement défines

1. regrouper des ensembles de 2i cases en maximisant i à chaque fois. Les cases extrêmes peuvent se regrouper entre-elles

T.EA

44

p g p

Page 23: 80876357-Electronique-Numerique-1

Simplification des fonction logiques

2. Lorsque cela est possible regrouper les cases restantes avec des cases appartement à des ensembles déjà constitués pour former des ensembles de 2j cases en maximisant j à chaque fois

3 Ecrire l’équation booléenne correspondante3. Ecrire l équation booléenne correspondante

Exempledc\ba 00 01 11 10 dc\ba 00 01 11 10dc\ba 00 01 11 10 dc\ba 00 01 11 10

00 1

01

11

dc\ba 00 01 11 10

00

01 1 1

11 1 1

dc\ba 00 01 11 10

00

01 1 1

11 11

10 1

11 1 1

10

dc\ba 00 01 11 10

11

10 1 1 1 1

dc\ba 00 01 11 10

00 1 1

01

11

00

01

11 1 1 1 1

T.EA

4510 1 1 10 1 1 1 1

Simplification des fonction logiques

Exempledc\ba 00 01 11 10

00 1 1 1 1

dc\ba 00 01 11 10

00 1 1 1 1 00 1 1 1 1

01 1 1

11 1 1

00 1 1 1 1

01 1 1

11 1 1

10 1 110 1 1

acdcacdabcdf ++=),,,( accacdabcdf ++=),,,(

Cas des fonctions incomplètement définiesRemplacer les valeurs indifférentes ∅ par des 1 logiques l ’ ê é élorsqu ’un regroupement peut être opéré.

dc\ba 00 01 11 10

00 ∅ 1dc\ba 00 01 11 10

00 1 1

01 ∅ 1 ∅

11 1 1

10 1 1

01 0 1 1

11 1 1

10 1 1

T.EA

46

Page 24: 80876357-Electronique-Numerique-1

Simplification des fonction logiques

Remarque sur les regroupements:t l 0regroupement par les 0

forme ΠΣ

Méthodes algorithmiquesNelsonNelson

Quine-McCluskey

Méthode d consens s (Tison)Méthode du consensus (Tison)…

BDD : Diagramme de décision binairesimple à implémenter

T.EA

47

Diagramme de décision binaire (BDD)

Dérivé de l’arbre de décision binaire

BDD dépend de l’ordre dans lequel on a pris lesBDD dépend de l ordre dans lequel on a pris les variables

NœudNœud • variable binaire

• peut avoir plusieurs pères ap p p

• deux fils au plus

• feuilles :

a

1bvaleur 0 ou 1

possibilité de se combiner

1b

T.EA

48

Page 25: 80876357-Electronique-Numerique-1

Diagramme de décision binaire (BDD)

Technique de réductionSuppression des graphes représentant la même fonction

Suppression des sommets redondants

Suppression des doublons terminaux

Représentation unique pour un ordre de variables fixées !!

x0 1

x0 1

x0 1 01

x

y

z z0 1

y

z0 1

z zz z

1 0 1 00 0 11

1

z

1 00 1

1 1 00 1

1

z

1 00 1

z

T.EA

49

Diagramme de décision binaire (BDD)

Réduction des BDD - Exemplef( )

px y z f(x,y,z)0 0 0 00 0 1 0 x

f(x,y,z)

0 1 0 00 1 1 11 0 0 01 0 1 1

x

yy0

10

0 111 0 1 11 1 0 01 1 1 1 z z z z

0 0

0 0 0 0

11

1 1 1 1

0 0 0 1 0 1 0 1

T.EA

50

Page 26: 80876357-Electronique-Numerique-1

Diagramme de décision binaire (BDD)

f(x,y,z) f(x,y,z) f(x,y,z) f(x,y,z)

x 10 x 10 x1

0 x1

0

y

z z z

y0 0 11

z

y

01

z z

y 1

10

z

y 1

10

z z z

0 0 1 0 10 0 01 1 1

z

0 0 10 1

z

0 10 1

z

0 10 1

0

z

0 10 1

)()(),,( yxzyxxzyzxxzzyxf +=+=+=

T.EA

51

Diagramme de décision binaire (BDD)

Un outil destiné au BDD : Multiplexeur 2 vers 1l i f ti ( ? b) (if th l )en langage informatique : s=(c?a:b); (if…then…else…)c : commande, a et b données multiplexées, s=sortie

i t l l d l d ’ t it bi b isuivant la valeur de la commande, c ’est soit a ou bien b qui se retrouve à la sortie

également appelé sélecteur cs

0 1également appelé sélecteur

Implémentation des BDD

c

a b

0 1

y y 0 1y0 1

y 0 1

T.EA

52

Page 27: 80876357-Electronique-Numerique-1

Diagramme de décision binaire (BDD)

Exemplep

f(x,y,z)f(x,y,z)

x0

x 0 1

y 1

10

y 0 1

z

0 10 1

z 0 1

VDD0 1 VDD

GND

T.EA

53

Dualité

Forme duale d’une fonction•↔+0 1 ↔

010011 +→→+

0aa.1aa a a.aaaa

aa0a1.a 0a.01a1

=→=+=→=+

=+→==→=+

Sert pour la simplification des fonctions algébriques

Exemple :?))()(( ++++→+++ bababbabababababa

))()((

?))()((

↵=+++

+=+=++→=+++

babababa

bababbabababababa

T.EA

54

Page 28: 80876357-Electronique-Numerique-1

Chapitre II : Les circuits intégrés bi t icombinatoires

T.EA

55

Logique combinatoire

Définition de baseFonction logique combinatoire : toute fonction définieFonction logique combinatoire : toute fonction définie uniquement à partir de ses variables, quel que soit l’instant d’observation. Pour une combinaison des variables, la valeur de la fonction est unique

Circuit logique combinatoire : l ’état de ses sorties estCircuit logique combinatoire : l état de ses sorties est fonctions uniquement de l’état présent de ses entrées, c ’est à dire de ses variables d ’entrées. A chaque qcombinaison des entrées correspond une seule combinaison des sorties. Les états des sorties sont stables pour des états d’entrée stables.

T.EA

56

Page 29: 80876357-Electronique-Numerique-1

Système logique complet

Opérateurs logiques élémentaireslien avec l’algèbre de Boole :lien avec l algèbre de Boole :

conservation des propriétés vu précédemment

système logique complet : NON ET OUsystème logique complet : NON, ET, OUces 3 opérateurs permettent de décrire n’importe quelle fonction

Opérateur NON

O é t ET

xxx

1 1

Opérateur ET xy yx • &

Opérateur OUxy yx + ≥1

T.EA

57

Système logique complet minimisé

Système logique complet minimisé2 opérateurs ou 1 seul opérateur peuvent également2 opérateurs ou 1 seul opérateur peuvent également décrire n ’importe quelle fonction. Ils constituent un système logique complet.y g q p

ET, NON• opérateur OU :

x yx • yxyx +=•xy y

OU, NON• opérateur ET :

y

xy

x

y

yx + yxyx •=+

T.EA

58

Page 30: 80876357-Electronique-Numerique-1

Système logique complet minimisé

NAND (NON-ET) : xyx •y yx •

• opérateur NON

x x x xxx =•logique 1

x

• opérateur OU

x x

y

x

yyxyx +=•

T.EA

59

y y

Système logique complet minimisé

• Opérateur ET

x yx •

NOR (NON OU)

yy

NOR (NON-OU) xy yx +

• Opérateur NON

x xx =+ 0 x xxx =+xlogique 0

xx =+ 0 x xxx =+

• Opérateur OU

x yxyx +=+

T.EA

60y

Page 31: 80876357-Electronique-Numerique-1

Système logique complet minimisé

• Opérateur ETxx

yxyx •=+

y

Autres opérateursXOR (OU Exclusif )XOR (OU Exclusif )

XNOR (NON-OU Exclusif)

T.EA

61

Rappel : 1ère et 2ème forme (canonique)

• Somme canonique (1ère forme canonique - forme q ( qcanonique (ou normale) disjonctive):

somme de produits contenant toutes les variables de la

yzxzyxxyzzyxf ++=),,(fonction : somme de mintermesex :

• Produit canonique (2ère forme canonique - forme canonique (ou normale) conjonctive):

produit de sommes contenant toutes les variables de la fonction : produit de maxtermes

))((),,( zyxzyxzyxf ++++=ex :

T.EA

62

Page 32: 80876357-Electronique-Numerique-1

3ème et 4ème forme (canonique)

Ces 2 formes permettent de réaliser des fonctions logiques à l’aide des opérateurs NAND et NORlogiques à l aide des opérateurs NAND et NOR exclusivement

E l f )(Exemple :3ème forme:

yxyxyxf +=),(

yxyxyxyxyxf •=+=),(x y

),( yxf

T.EA

63

3ème et 4ème forme (canonique)

4ème forme: yxyxyxyxyxf +++=+=),(4ème forme: yxyxyxyxyxf ++++),(x y

),( yxff

Similitude entre la forme avec les NAND et NORSimilitude entre la forme avec les NAND et NOR (à un inverseur près)

T.EA

64

Page 33: 80876357-Electronique-Numerique-1

3ème et 4ème forme (canonique)

En pratique : utilisation simultanée des portes p q pNOR et NAND

Réalisation des fonctions sous forme directe ouRéalisation des fonctions sous forme directe ou inverse sans calcul :

xy yx +

xy yx •

xy

yx +xy

xyyy

T.EA

65

OU Exclusif (XOR)OU Exclusif (XOR)Non OU Exclusif (XNOR)

y x x ⊕ y x ⊕ y

( )Table de vérité Symboles

x ⊕y x x ⊕ y x ⊕ y

0 0 0 1

0 1 1 0

xy

yx ⊕

1 0 1 0

1 1 0 1xy =1 yx ⊕y

Propriétésxyyx ⊕=⊕

x yx ⊕

xx

zyxzyx

xyyx

=⊕⊕⊕=⊕⊕

⊕=⊕

0

)()(y yx ⊕

x

yxyxyx

yxyx

xx

⊕⊕⊕

⊕=⊕

=⊕ 0 xy =1 yx ⊕

T.EA

66

yxyxyx ⊕=⊕=⊕

Page 34: 80876357-Electronique-Numerique-1

Applications du XOR-XNOR

XOR :Détection de 2 éléments binaires différentsDétection de 2 éléments binaires différents

Détection d’un nombre impair de variables égales à 10 sinon 1 , si =⊕=⊕≠ yxyxyx

Détection d un nombre impair de variables égales à 1si x=0 et y=1 ou si x=1 et y=0, le nombre de variables égales à 1 est un nombre impair et la sortie du XOR vaut 1p

si x=y, le nombre de variables égales à 1est soit nul, soit égal à 2 et la sortie du XOR vaut 0

Addition de deux éléments binairesx y s r x s0 0 0 00 1 1 01 0 1 0

yx s

T.EA

67

1 0 1 01 1 0 1 r

Applications du XOR-XNOR

Opérateur programmableDéfinition : un opérateur est dit programmable si la relation entre la sortie et les entrées est fixée par une commande

x 0 si == cxs

XNORc 1 si == cxs

XNORDétection de 2 éléments binaires égaux

Détection d’un nombre pair de variables égales à 1

Opérateur programmablep p g

T.EA

68

Page 35: 80876357-Electronique-Numerique-1

Convention logique

Traduction physique des opérateurscorrespondance entre les états binaires et les étatscorrespondance entre les états binaires et les états physiques

système physique comprend 2 états distincts E et E onsystème physique comprend 2 états distincts E1 et E2, on peut associer :

E1 à 0 E2 à 1 ou bien E1 à 1 et E2 à 0E1 à 0, E2 à 1 ou bien E1 à 1 et E2 à 0

état physique == état électrique : 2 tensions V0 et V1

avec V0 < V1

convention logique positive : V1 ↔ 1 et V0 ↔ 0

convention logique négative : V1 ↔ 0 et V0 ↔ 1

T.EA

69

Convention logiquefl d h d i lInfluence du changement de convention sur les

opérateurs réaliséesNON → NON

OU → ET

NAND → NOR

NOR → NANDOU → ET

ET → OU

S l l ti l i l ê i it

NOR → NAND

XOR → XNOR

Selon la convention logique, le même circuit réalise 2 fonctions différentes

En pratique, convention fixée au début du projet et cette convention est conservée jusqu’à la fincette convention est conservée jusqu à la fin

Choix de la convention positive dans la majorité d

T.EA

70des cas

Page 36: 80876357-Electronique-Numerique-1

Transistor MOS : approx. numérique

Physique du transistor MOS (Métal-Oxyde-Semiconducteur) : cf. cours physique des

G) p y q

composantTransistor nMOS

DS

G

DS

G

Transistor pMOSTransistor nMOS

Le transistor MOS peut être vu comme un Sub Sub

Transistor pMOS

interrupteur (en électronique numérique)la grille (G) contrôle le passage du courant entre la g ( ) p gsource (S) et le drain (D)

les 2 états de l’interrupteur sont :p

0 ↔ GND=0V ou VSS (<VDD)

1 ↔ VDD=1 à 2V 5V 10V 15V

T.EA

71

1 ↔ VDD=1 à 2V, 5V, 10V, 15V

Transistor MOS : approx. numérique

Transistor nMOSt V VSS GND t V VDDpassant : VSub=VSS ou GND et VG=VDD

parfait pour passer l’état 0

i f it l’ét t 1 D01

D=00imparfait pour passer l’état 1

h t i éd (Z) d V GND0

D0

1

D 0

D≈1

0

1

haute impédance (Z) qd VG =GND

Transistor pMOSpassant : VSub=VDD et VG=VSS

parfait pour passer l’état 1 0p p p

imparfait pour passer l’état 0

Z qd VG=VDD0

1 1

D D≈0

D=1

0

1

T.EA

72

Z qd VG VDD 1

Page 37: 80876357-Electronique-Numerique-1

Transistor MOS : approx. numérique

Tensions de substrat implicites désormais

nMOS uniquement pour passer l’état 0 et pMOSnMOS uniquement pour passer l état 0 et pMOS uniquement pour passer l’état 1

Transistor MOS = multiplexeurD VDD 1 ZD

G G0 1

Z 0 D

0 1G

D

G

les transistors n et p combinés servent respectivement à

Z 0 D D

réaliser les 0 et 1 d’une porte logiquelogique complémentaire ou logique CMOS

T.EA

73

Inverseur CMOS

1 Z VDD

xx 0 1xx

0 1

1 Z

x

VDD

x 0 1

1 0 0 1x

xx x

Z 0

Séparation des 1 et Court-circuit masse-des 0 de la porte booléenne

alimentation impossible

T.EA

74

Page 38: 80876357-Electronique-Numerique-1

Porte de transfert et Multiplexeur

Porte de transfert (interrupteur logique)s s

0 1c c c

s

Multiplexeur : s=mux(c x y)

Z x x

Multiplexeur : s=mux(c,x,y)s s

0 1c

yxc

x cc

yx y

T.EA

75

DU BDD en porte CMOS

Exemple du chapitre I sur les BDDf( ) ( + )

f(x,y,z) f(x,y,z)

x 0 1

f(x,y,z)=(x+y)z

x x

( ,y, )

x x

( ,y, )

y 0 1

x x

z 0 1

y yy

y yy

0 1

VDD

GND

z zz

z zGND

VDDz

VDD

Traduction brute Suppression des t i t i til

T.EA

76transistor inutiles

Page 39: 80876357-Electronique-Numerique-1

Montages en série/parallèle

pMOS en sérienMOS en série1si0 xy = VDD y\x 0 1

x sinon

1 si 0

Z

xy =x

0 1 Z

1 Z Z

y y

i

0 si 1

Z

yx =+y\x 0 1

0 Z Z

1 Z 0

pMOS en parallèlenMOS en parallèlesinon Z1 Z 0

sinon ,1 si 0 Zyx =+x

VDD

y

y\x 0 1

0 1 1

x y x y

sinon ,0 si 1 Zxy =

1 1 Zy\x 0 1

0 Z 0

1 0 0

T.EA

77

1 0 0

NAND-NOR CMOS

NAND CMOSVDD

\ 0 1

x yy\x 0 1

0 1 1 Bloc p

xxy1 1 0

1 si xy=0 Bloc ny0 si xy=1

y Bloc n

li blGénéralisable à n entrées

T.EA

78

Page 40: 80876357-Electronique-Numerique-1

NAND-NOR CMOS

NOR CMOS VDD

y\x 0 1

0 1 0x

Bloc p1 0 0

1 si x+y=0

yyx +

Bloc p

0 si x+y=1

1 si x+y=0x y Bloc n

Généralisable à n entrées

T.EA

79

Synthèse des fonctions logiques CMOS

Pour implanter une fonction f quelconque en l i lé t ilogique complémentaire :

exprimer sous forme de somme de produits (Σπ)f

optimiser la somme de produits (réduction)

traduire cette somme de produits en suivant lestraduire cette somme de produits en suivant les consignes ci-dessous:

Bloc p x parallèle sériep p

∑∏=f x • +

Bloc n x série parallèle

T.EA

80

Page 41: 80876357-Electronique-Numerique-1

Synthèse des fonctions logiques CMOS

Exemple : abcfabcf +=⇒+=

VDD

b ac abcf +=

a b ab 6 transistors

cabcf +=

cb

a

ac abcf +=

bb

10 transistors

T.EA

81

Synthèse des fonctions logiques CMOS

Exemple : )( bacabcabcabf ++=++=

VDD VDDVDD

aa b

c a

cb VDDb

c

VDD

ac

ab

a

a

b

VDD

cb

a ab

c c a

bb14 transistors

a bb14 transistors

12 transistors

T.EA

82

Page 42: 80876357-Electronique-Numerique-1

Synthèse des fonctions logiques CMOS

Transistors en séries délais excessifsFractionner une porte en plusieurs

VDD

1x nx n/2

1x n/2

nx1…xn

nxn

T.EA

83

Caractéristiques électriques des portes

Transitions non idéales90%90%

10%tf : fall timetr : rise time

Retard en sortie des portesaaa

50%a

a 50%

a

a

tpHL : high to low propagation delay

50%

tpLH : low to high propagation delay

T.EA

84

propagation delay propagation delay

Page 43: 80876357-Electronique-Numerique-1

Caractéristiques électriques des portes

Influence de la charge sur le temps de propagation

Porte A Porte B

Porte A Porte B tpHL

Porte CtpHL =0.10 + 0.04L ns

T.EA

85

Caractéristiques électriques des portes

DéfinitionsCharge unité standardg

• en général, correspond à la charge introduite par une porte de base tel que l’inverseur

Facteur charge• exprime la charge à l’entrée d’une porte en fonction de la charge

unitéunité

Charge en sortie d’une porte (output load : L)• c’est la somme des facteurs de charge de toutes les entrées g

connectées à la sortie d’une porte

Sortance (Fan-out) : c’est la charge maximale acceptée par iune porte sur sa sortie

Entrance (Fan-in) : c’est la charge aux entrées d’une porte

T.EA

86

Page 44: 80876357-Electronique-Numerique-1

Aléas statiques

Origine des aléas en théorie: 0et1 =•=+ aaaaen théorie:

en pratique : il existe un retard entre a et la sortie

d dû à l i

0et 1 =•=+ aaaa

a

ce retard est dû à la porte inverseuse

aa aaniveau d’inversion

a

a

idéalisé a

0i 0=+ aamenttemporaire

1 =• aamenttemporairealéas

T.EA

87

Aléas statiques

Circuit logique avec un aléab ab

caabcbaf +=),,(ab ab

ac ca

ment théorique,11 =+=⇒== aafcb

en pratique, f n’est pas égale à 1 en permanence

aléa peut perturber le fonctionnement du circuit en avalp p

T.EA

88

Page 45: 80876357-Electronique-Numerique-1

Aléas statiques

Théorème de la redondanceDans une expression booléenne ayant la forme d’uneDans une expression booléenne ayant la forme d une somme de produits, un produit contenant tous les facteurs d’un autre produit est redondant ce qui permetfacteurs d un autre produit est redondant, ce qui permet de l’éliminer

Exemple :Exemple :a+ab=a

ab+abc+abd=abab+abc+abd=ab

caababcdbcdacaaba)abcd(caabbcdcaab +=+++=+++=++

T.EA

89

Aléas statiques

RemèdesThéorème des aléas pour : menttemporaireaa 0=+Théorème des aléas pour :

Dans une somme de produits, on peut introduire des produits redondants correspondant au produit des

menttemporaireaa 0+

produits redondants, correspondant au produit des coefficients de :

La sortie est forcée à 1

aa et

La sortie est forcée à 1

Exemple :babbaabaaf +=++=+=1

cbbaabbcbaabcbaaf

babbaabaaf

+++=+++=++=

+=++=+=

)1(2

1

bccaabcaabf

babbaa

+++

+=++=

3

T.EA

90bccaabcaabf ++=+=3

Page 46: 80876357-Electronique-Numerique-1

Aléas statiques

Méthode KarnaughRegrouper les paquets déjà constitués entre-euxRegrouper les paquets déjà constitués entre-eux

b\a 0 1

baaf +=1 bcbaaf ++=2c\ba 00 01 11 10

0 0 1

1 1 1

c\ba 00 01 11 10

0 0 1 1 1

1 0 1 1 1

Cause

baf +=1 baf +=2caabf +=3 caabf +3

c\ba 00 01 11 10

0 0 0 1 0

bccaabf ++=3

1 1 0 1 1

T.EA

91

bccaabf ++3

Aléas statiques

Correction du circuit avec aléa

bbbf )(b ab

bccaabcbaf ++=),,(

aa

ca

c

Cas des aléas causés par (=1 temporairement)aa •

on introduit le terme redondant (b+c) :

aléa ,0 qd ))(( ⇒===++= aafcbcabaf

on introduit le terme redondant (b+c) :0,0 qd ))()(( ===+++= fcbcbcabaf

T.EA

92

Page 47: 80876357-Electronique-Numerique-1

Chapitre III : Codesp

T.EA

93

Codes-Codage

DéfinitionCodeCode

correspondance arbitraire entre un ensemble de symboles et un ensemble d ’objet e se b e d objet

ex: code Morse : une série de points et de traits représentent les lettres de l’aphabet

CodageAction de faire correspondre à des nombres, des lettres ou des pmots, un groupe de symbole (code)

T.EA

94

Page 48: 80876357-Electronique-Numerique-1

Codes-Codage

Types codespondérés :pondérés :

code décimal, binaire naturel, octal, hexadécimal, DCB...

non pondérésnon pondérés code majoré de 3, code de gray

d d t d dét t t t d’redondants: codes détecteurs et correcteurs d’erreurscodes p parmi n, code biquinaire, code avec éléments binaires de paritéde parité…

codes alphanumériquesd ASCII (CTI 5) d ASCII ét d U i dcode ASCII (CTI 5), code ASCII étendu, Unicode

T.EA

95

Codes pondérés

Manipulation courante des nombres décimaux (base 10)(base 10)

Systèmes numériques : nombres binaires (base 2)

Besoin de circuits réalisant la conversion :décimale ⇔ binairedécimale ⇔ binaire

Autres systèmes de numération pour représenter de gros nombres binaires

Octal : base 8

Hexadécimal : base 16

T.EA

96

Page 49: 80876357-Electronique-Numerique-1

Code décimal

Base 1010 b l 0 1 2 3 4 5 6 7 8 910 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

système à poids positionnelsla valeur d’un chiffre dépend de sa position dans le nombre

exemple453,89610 = 4 x 102 + 5 x 101 + 3 x 100 + 8 x 10-1 + 9 x 10-2 + 6 x 10-3

P id f t P id f iblP id d 0

Tout nombre est la somme des produits de chaque chiffre par

Poids fort Poids faiblePoids de rang 0

le poids de son rang dans le nombre

{ }9;8;7;6;5;4;3;2;1;0avec10i ∈= ∑ ii xxx

T.EA

97

{ }9;8;7;6;5;4;3;2;1;0avec 10 ∈∑ ii

i xxx

Code binaire

Base 22 symboles : 0 et 1sy bo es : 0 etsystème à poids positionnels

la valeur d’un chiffre dépend de sa position dans le nombrep p

exemple1011,0112=1 x 23 + 0 x 22 + 1 x 21 + 1 x 20 + 0 x 2-1 + 1 x 2-2 + 1 x 2-, 23

Bit de poids fort (MSB) Bit de poids faible (LSB)

= 8 + 2 + 1 + 0,25 + 0,125 = 11,37510

Bit de poids fort (MSB) Bit de poids faible (LSB)

{ }1;0 avec 2i ∈= ∑ ii

i xxx

T.EA

98

Page 50: 80876357-Electronique-Numerique-1

Code octal

Base 88 symboles : 0, 1, 2, 3, 4, 5, 6, 7

système à poids positionnelsy p pla valeur d’un chiffre dépend de sa position dans le nombre

exempleexemple275,468=2 x 82 + 7 x 81 + 5 x 80 + 4 x 8-1 + 6 x 8-

2=189,593751010

{ }7;6;5;4;3;2;1;0 avec 8i ∈= ∑ ii

i xxxi

T.EA

99

Code hexadécimal

Base 1616 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F16 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F

éq. décimal : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12,13,14,15

éq binaire : 0000 0001 0010 1101 1110 1111éq binaire : 0000, 0001, 0010,…………,1101,1110,1111

système à poids positionnelsl l d hiff d d d i i d l bla valeur d’un chiffre dépend de sa position dans le nombre

exemple2A,1C16=2 x 161 + 10 x 160 + 1 x 16-1 + 12 x 16-2

=42,10937510

{ }FEDCBAxxx ii

i ;;;;;;9;8;7;6;5;4;3;2;1;0 avec 16i ∈= ∑

T.EA

100

Page 51: 80876357-Electronique-Numerique-1

Comptage binaire

Avec N bits, on a 2N valeurs numériques

Exemple : N=3Exemple : N=3

22 21 20 Eq. décimal0 0 0 00 0 0 00 0 1 10 1 0 20 1 1 30 1 1 31 0 0 41 0 1 51 1 0 61 1 1 7

LSBMSB

T.EA

101

Conversion binaire ↔ décimal

Binaire → décimalsomme de produit des chiffres binaires par son poidssomme de produit des chiffres binaires par son poids

Décimal → binaire1ère méthode : le nombre décimal est exprimé comme une puissance de 2 et on inscrit 1 ou 0 vis-à-vis des positions binaires appropriées

ex : 39=32+4+2+1=1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 1 x 21 + 1 x 20

= 100111

T.EA

102

Page 52: 80876357-Electronique-Numerique-1

Conversion binaire ↔ décimal

2ème méthode : division successive

39 2100111

191 291 2

41 220 2

10 201

T.EA

103

Conversion octal ↔ décimal

octal → décimalsomme de produit des chiffres octals par son poids

dé i l → t ldécimal → octalméthode par division successive (division par 8)

39 847 8

478

47 804

T.EA

104

Page 53: 80876357-Electronique-Numerique-1

Conversion octal ↔ binaire

Tableau de correspondanceex: 472 =100 111 010O l Bi i ex: 4728=100 111 010

1101001=001 101 001=1518

Octal Binaire0 0001 0012 0103 0114 1004 1005 1016 1107 1117 111

T.EA

105

Conversion hexadécimal ↔ décimal

hexadécimal → décimald d it d hiff é it dé i lsomme de produit des chiffres écrits en décimals par

son poids

décimal → hexadécimalméthode par division successive : division par 16p p

444 161BC16

2712 16111 16

01

T.EA

106

Page 54: 80876357-Electronique-Numerique-1

Conversion hexadécimal ↔ binaire

Tableau de correspondanceex: 1BC=0001 1011 1100H dé i l Bi i ex: 1BC=0001 1011 1100

0001 1110 1001=1E9

Hexadécimal Binaire0 00001 00012 00103 00114 01005 01016 01106 01107 01118 10009 1001A 1010A 1010B 1011C 1100D 1101E 1110F 1111

T.EA

107

Code complément

Coder les nombres négatifsgcode complément à la base

code complément à la base diminuécode complément à la base diminué

Opérateur d ’addition utilisé pour les soustractions

T.EA

108

Page 55: 80876357-Electronique-Numerique-1

Code complément à la base B

N positions

A chaque position un chiffre xi tel que 0 ≤ xi ≤ B-1A chaque position, un chiffre xi tel que 0 ≤ xi ≤ B 1

si 0 ≤ x ≤ BN/2 - 1 alors x∑−

2-Ni1N BBsi -BN/2 ≤ x ≤ -1 alors BN+x

Remarques : en pratique B est pair

∑=

+=0i

ii

1N1-N BxB-xx

Remarques : en pratique B est pair

Exemple : complément à B=2 et N=42

∑=

+=2

0i

ii

33 2x2-xx

x=-5=-1x23+0x22+1x21+1x20 → x=16-5=1110=10112

x=5 =0x23+1x22+0x21+1x20 → x=0101

T.EA

109

x=5 =0x2 +1x2 +0x2 +1x2 → x=01012

Code complément à la base B

Exemple (suite) : B=2 et N=4p ( )7 01116 0110

01015 01014 01003 00112 00101 00010 0000

-1 1111-2 1110-3 1101-4 1100-5 1011-6 1010

T.EA

110-7 1001-8 1000

Page 56: 80876357-Electronique-Numerique-1

Code complément à la base B restreint

N positions

A chaque position un chiffre xi tel que 0 ≤ xi ≤ B-1A chaque position, un chiffre xi tel que 0 ≤ xi ≤ B 1

si 0 ≤ x ≤ BN/2 - 1 alors x

si -BN/2+1 ≤ x ≤ 0 alors BN-1+x

RemarquesRemarques0 a deux représentations (0...00 et (B-1)(B-1)…(B-1))

f il d’ b à épassage facile d’un nombre à son opposé :

-x → (x)2 = (BN-1-x)10

Exemple: B=2→complément à 1 (restreint-diminué) x=5=0101 et -x=-5=1010 ou 24-1-5=10=1010

T.EA

111

x=5=01012 et -x=-5=10102 ou 2 -1-5=10=10102

Code complément à 2

Codage des entiers dans un ordinateur

Dé l d l défi i i d l 2 d bDécoule de la définition modulo 2n des nombressi x ≥ 0 : écriture en binaire naturel de x, éventuellement

lété d 0 à hcomplété par des 0 à gauche

si x < 0 : écriture en binaire naturel de 2n + x ou 2n -⏐x⏐( d l 2n)(modulo 2n)

exemple : 8 bi i 83 01010011sur 8 bits si x = +83 → x = 01010011

si x = -83 = 256-83=173 → x = 10101101

MSB bi d i (N)remarque : MSB = bit de signe (N)0 ↔ + 1 ↔ -

T.EA

112

Page 57: 80876357-Electronique-Numerique-1

Code complément à 2

Astuce de calculbt ti id d l’ é d’ t bi i Aobtention rapide de l’opposé d’un mot binaire A

-A=2n - A= 2n - 1 - A + 1

Nbr dont tous les Complément de A Complément à 1 ou chiffres binaires sont à 1 (0 → 1 et 1 → 0) complément restreint de A

1AA +exemple :

1AA +=−

0101001183 =+ bit de signe (N) = 0

10101101 1 10101100 83-

0101001183

=+=+

bit de signe (N) = 1

g ( )

T.EA

113

Code complément à 2

Règle pratique : lecture de la droite vers la gauche (du LSB vers le MSB). Complémentation après le premier bit à ‘1’vers le MSB). Complémentation après le premier bit à 1 rencontré et maintenu.

Extension du bit de signe par la gaucheExtension du bit de signe par la gauche

exemple : sur 16 bits

+83 0000000001010011+83= 0000000001010011

-83 = 1111111110101101

Addition et soustraction se ramènent à une même opération

Division et multiplication par des puissances de 2 sont des p p pdécalages arithmétiques à droite et à gauche (c-à-d avec conservation des signes)

T.EA

114

g )

Page 58: 80876357-Electronique-Numerique-1

Code complément à 10

Trouver l’opposé de 240 (nombres sur 3 digits)pp ( g )complément à 9 : C9(240)=103-1-240=759

complément à 10 : C10(240)=759+1=760complément à 10 : C10(240) 759+1 760

Calculer 800-240 3800 + (-240) = 800 + 760 = 1560 = 560 (modulo 103)

T.EA

115

Virgule fixe

Codage à virgule fixe d’un nombre dans la base BN bits pour la partie entière et M bits pour la partieN bits pour la partie entière et M bits pour la partie décimale 1

== ∑−

BxxxxxxxxxN

i

{ }13210

...,... 321021

== ∑−=

−−−−−−

Bxavec

BxxxxxxxxxMi

iMNN

exemple :

{ }1...,3,2,1,0 −∈ Bxavec i

B=2, N=3 et M=2 101,012=1x22+0x21+1x20+0x2-1+1x2-2=5,2510

B=8, N=2 et M=1 24,68=2x81+4x80+6x8-1=20,7510

T.EA

116

Page 59: 80876357-Electronique-Numerique-1

Code DCB (8-4-2-1)

DCB =Décimal Codé Binaire é t ti d h hiff d ’ b dé i lreprésentation de chaque chiffre d ’un nombre décimal

par son équivalent en binaire

C d dé é l id 23 22 21 20Code pondéré avec les poids 23, 22, 21, 20

exemple : 978 décimal ⇒ 1001 0111 1000 DCB

Remarques : 4 bits pour chaque chiffre décimal4 bits pour chaque chiffre décimal

utilisation des groupes binaires de 0000 à 1001

b DCB ’ t b bi iun nombre DCB n’est pas un nombre binaire pur

T.EA

117

Code DCB (8-4-2-1)

exemple : 26910=10001101 en binaire10

26910=0010 0110 1001 en DCB

Avantage du code :Avantage du code :passage facile en décimal et vice-versa

T.EA

118

Page 60: 80876357-Electronique-Numerique-1

Code Aiken (2-4-2-1)

Code complément à 9 ou auto-complémentaire

4 élé bi i4 éléments binaires

Pondéré :poids positionnel de chaque élément binaire : 2-4-2-1

Remarques :

- différents codages pour certains g pchiffres

T.EA

119

Code majoré de trois (CMT)C d éd 3 d l 3CMT ou code excédant 3 ou code plus 3

permet de faciliter certains calculs arithmétiques

complémentaire à 9

Analogie avec le code DCB gsauf qu’il faut ajouter 3 à chaque chiffre décimal avant de faire la conversion => code non pondéréfaire la conversion code non pondéré

exemple : CMT(4)=4+3=7=0111

CMT(48) => 4+3=7 et 8+3=11 => 0111 1011CMT(48) => 4+3=7 et 8+3=11 => 0111 1011

Tableau décimal, DCB et CMT D écim al D C B M C T

0 0000 00111 0001 01001 0001 01002 0010 01013 0011 01104 0100 01115 0101 1000

T.EA

1206 0110 10017 0111 10108 1000 10119 1001 1100

Page 61: 80876357-Electronique-Numerique-1

Code Gray (binaire réfléchi)C d di à di i i lCode dit à distance minimale

entre 2 représentations il n’y a qu’un bit qui change

Code non pondéré : pas de poids affectés aux positions binaires du codepas de poids affectés aux positions binaires du code

ne convient pas aux calculs arithmétiquesDécimal Binaire Gray

0 0000 00001 0001 00012 0010 00113 0011 00103 0011 00104 0100 01105 0101 01116 0110 01017 0111 01008 1000 11009 1001 1101

10 1010 111111 1011 111012 1100 1010

T.EA

12113 1101 101114 1110 100115 1111 1000

Code alphanumérique

Codage des nombres, des lettres, des signes de ponctuation des caractères spéciauxponctuation, des caractères spéciaux…

Code ASCII (American Standard Code for I f i I h ) ANSI X3 4Information Interchange) ou ANSI X3.4

code à 7 bits soit 27=128 groupes possibles

Décimal=ligne+colonne

Exemple : A→65Exemple : A→6510

T.EA

122

Page 62: 80876357-Electronique-Numerique-1

Code ASCII étendu

EBCDIC (Extended Binary Coded Decimal Interchange Code) : 8 bitsg )

6 versions incompatibles entre-elles.

Code ASCII étendu OEM (les 1er IBM PC)Code ASCII étendu OEM (les 1er IBM PC)

Code ASCII étendu ANSI (syst. exploitation récents)

T.EA

123

Code ASCII étendu

T.EA

124

Page 63: 80876357-Electronique-Numerique-1

Unicode

Standard UNICODE

codage sur 16 bits ( 30 000 caractères couvrant lacodage sur 16 bits ( 30 000 caractères couvrant la plupart des langages du monde.)

128 i tè tè ASCII128 premiers caractères == caractères ASCII

128 suivants== caractères LATIN 1 de l’ASCII

puis, les caractères cyrilliques, arméniens, hébreux, arabes, sanscrit, bengali, etc…, , g ,

englobe également plus de 20 000 idéogrammes chinois Hanchinois Han

T.EA

125

Codes détecteurs d’erreurs

Transmission de donnée (voies hertzienne, filaire…)

émetteur récepteur

S k d d é d é i (diStockage de données dans une mémoire (disquette, disque dur…)

Probabilité non nulle qu’une erreur survienne

T.EA

126

Page 64: 80876357-Electronique-Numerique-1

Codes p parmi n

A chaque chiffre décimal correspond n éléments bi i d t t à 1 t à 0binaires dont p sont à 1 et n-p à 0

si le nbr de 1 est différent à l’envoi et à la réception, il y a une erreur. Permet de détecter 1 erreur

ex : code 2 parmi 5p

T.EA

127

Code biquinaire

Composé de 2 groupes d’éléments binaires chacun contenant un 1contenant un 1

Permet de détecter 2 erreurs (une dans chaque groupe)

T.EA

128

Page 65: 80876357-Electronique-Numerique-1

Codes avec éléments binaires de parité

Nbr total de 1 pair (impair)exemple : 0 0 0 0 0

1 0 0 1 00 1 0 0 1

Détection de la place d ’un bit erroné

0 1 0 0 1

bit de parité paire

Détection de la place d un bit erroné codage en 2D (lignes et colonnes)

Emission Réception

Contrôle horiz.

Réception

T.EA

129Contrôle vertical

Codes détecteurs et correcteurs d’erreurs

Augmentation du nombre de bits de paritédétection, localisation et correction des erreurs

ex : code de Hamming (cf. TD)

T.EA

130

Page 66: 80876357-Electronique-Numerique-1

ClassificationApplications Codes recommandésTraitement de l'information

Comptage binairep gVisualisation BCD

Arithmétique binaire MCT, aiken, Compl.1 et 2q pAddition, soustraction

Chiffres, lettres, caractères ASCII, unicode

Transmission des données numériquesMinimisation d'erreur GraySimplification Tableau de KarnaughAsservissement

Dé d' i bi i i bi d i éDétecteur d'erreur p parmi n, biquinaire, bit de parité

Détection et correction d'erreurs Hamming

T.EA

131

Chapitre IV :Opérateurs logiques é T dcomposés - Transcodeurs

T.EA

132

Page 67: 80876357-Electronique-Numerique-1

Opérateurs logiques composés

Composés à partir d’opérateurs de basep p p

Eléments de conditionnement de données (mux) ou de contrôle d’éléments logiques (décodeur)ou de contrôle d éléments logiques (décodeur)

Notation :variable peut être active à l’état 0 ou 1

pour indiquer que la variable x est active à l’état 0, onpour indiquer que la variable x est active à l état 0, on l’écrit x

T.EA

133

Multiplexeur p vers 1

DéfinitionO i it t é d d é t t tOrgane qui reçoit p entrées de données et transmet par sa sortie une de ces entrées au choix

é d ôl 2 é dpour n entrées de contrôle p=2n entrées de données aux maximum et 1 sortie de données

parfois, une entrée de validation supplémentaire V

Vn entrées de contrôle

V

MUX2n entrées de données 1 sortie de données

T.EA

134

Page 68: 80876357-Electronique-Numerique-1

Multiplexeur p vers 1

Exemple d’un multiplexeur 4 vers 1a et b : entrées de contrôles

x0…x3 : entrées de données0 3

s : sortieabxbaxbaxbaxs +++=

aabxbaxbaxbaxs 3210 +++= b

xx0

x1s

x2

T.EA

135

x3

Multiplexeur de mots d’entrées

Peut être vu comme un ensemble de multiplexeurs p vers 1 fonctionnant simultanément avec lap vers 1 fonctionnant simultanément avec la même adresse

0

MUX

Mot n°0x-1

deN motsMot n°i

x-1

0 0

x-1Mot de sortie

dex bits

0Mot n°N-1

x-1

T.EA

136N bits de contrôle

Page 69: 80876357-Electronique-Numerique-1

Multiplexeur de mots d’entrées

Exemple : multiplexeur de 4 mots de 2 bits4 mots : a=a1a0, b=b1b0, c=c1c0, d=d1d0

2 bits de contrôle : x et y

1 mot en sortie s=s1s0

a1

b MUX

a0

b0b1

c1

s1

MUX4→1c0

d

s0

d1

x y

d0

x y

T.EA

137

Multiplexeur - Générateur de fonctions

Théorème d’expansion de Shannon)11()01()10()00()( abffbabfafbabaf +++

Multiplexeur 4 vers 1

)1,1()0,1()1,0()0,0(),( abffbabfafbabaf +++=

entrées : x0 à x3, bits de contrôle : a et b, sortie : s

3210 abxxbabxaxbas +++=

Possibilité de réaliser toutes les fonctions de 2 i bl

3210 abxxbabxaxbas +++

variablesentrées de contrôle du multiplexeur ↔ variables de la fonction

entrées du multiplexeur ↔ valeurs de la fonction

T.EA

138

Page 70: 80876357-Electronique-Numerique-1

Multiplexeur - Générateur de fonctions

Toute fonction logique de N variables est réalisable avec un multiplexeur 2N vers 1réalisable avec un multiplexeur 2 vers 1

Exemple : table de vérité de la fonction majorité

cbabacabcacbabcf +++=),,(

y00N c b a f(c,b,a) y0 0 0 0 0 y01 0 0 1 0 y1

Mux

y1

y0

y2y3

00

012 0 1 0 0 y2

3 0 1 1 1 y34 1 0 0 0 y45 1 0 1 1 y5

Mux8vers1

y3y4y5y6

f(c,b,a)10115 1 0 1 1 y5

6 1 1 0 1 y67 1 1 1 1 y7

c b a

y7 22 21 2011

T.EA

139

Multiplexeur - Générateur de fonctions

Toute fonction logique de N variables est réalisable avec un multiplexeur de 2N-1 vers 1réalisable avec un multiplexeur de 2 vers 1

Exemple : cbaacbabcbacabcf +++=),,(

1...),,( cbabcabcabcf ++=

yc b a f(c,b,a) cb f y0 0 0 0 00 0 y00 0 1 00 1 0 0 01 1 Mux

y0

y1a

0

0 1 0 0 01 a y10 1 1 11 0 0 1 10 /a y21 0 1 0

Mux4vers1

f/a

y2

y311 0 1 01 1 0 1 11 1 y31 1 1 1

c b

21 20

y31

T.EA

140

Page 71: 80876357-Electronique-Numerique-1

Convertisseur parallèle série

Envoyé sur une seule ligne une donnée binaire codée sur n bits de manière série. Chaque bit qenvoyé étant espacé d’un temps fixe

Balayage cyclique des entrées de sélection du muxBalayage cyclique des entrées de sélection du muxconversion parallèle série

Exemple :a b c s0 0 0 10 0 0 10 0 1 10 1 0 00 1 1 0 t

1

01 0 0 11 0 1 11 1 0 01 1 1 1

t000 001 010 011 100 101 110 111

T.EA

141

1 1 1 1

Démultiplexeur 1 vers p

DéfinitionO i it 1 t é d d é t l t tOrgane qui reçoit 1 entrée de données et la transmet par une de ses sorties au choix

é d ôl 2 i dpour n entrées de contrôle p=2n sorties de données aux maximum et 1 entrée de données

parfois, une entrée de validation supplémentaire

Vn entrées de contrôle

V

DEMUX 2n sorties de données1 entrée de données

T.EA

142

Page 72: 80876357-Electronique-Numerique-1

Démultiplexeur 1 vers p

Exemple d’un démultiplexeur 1 vers 4a et b : entrées de contrôles (a poids faible b poids fort)a et b : entrées de contrôles (a poids faible, b poids fort)

x : entrée de données

i d d és0…s3 : sorties de données

a

bxas

baxs

1

0

=

= b

s0

xabs

baxs2

1

== s1

xabs3 = x s2

s3

T.EA

143

3

Démultiplexeur-Générateur de fonctions

cbabacabcacbabcf +++)(

Table de vérité de la fonction majoritécbabacabcacbabcf +++=),,(

N c b a f(c,b,a) y y0( , , ) y0 0 0 0 0 y01 0 0 1 0 y12 0 1 0 0 y2 Démux

y1

y0

y2y3

13 0 1 1 1 y34 1 0 0 0 y45 1 0 1 1 y56 1 1 0 1 6

Démux1vers8

y4y5y6y

f(c,b,a)

1

≥16 1 1 0 1 y67 1 1 1 1 y7

c b a

y722 21 20

T.EA

144

Page 73: 80876357-Electronique-Numerique-1

Générateur et contrôleur de parité

Principeajouter des éléments binaires supplémentaires dansajouter des éléments binaires supplémentaires dans l’information utile à contrôler

vérification de l’intégrité de l’information utile envérification de l intégrité de l information utile en recalculant les éléments binaires et en les comparant avec les éléments binaires ajoutésavec les éléments binaires ajoutés

identique : information utile exploitable

différent : information utile inexploitabled é e : o o u e e p o b e

UtilisationContrôler la bonne transmission des donnéesContrôler la bonne transmission des données

Contrôler le bon fonctionnement de la mémoire vive d ’un ordinateur

T.EA

145

ordinateur

Générateur et contrôleur de paritéGé é d i é l i ( i é i )Générateur de parité logique (parité paire)

Utilisation de la propriété du XOR : vaut 1 si le nombre de variables égales à 1 est impair

vaut 0 si le nombre de variables égales à 1 est pair ou nul

Générateur d’imparité logique (parité impaire)Obtenu en complémentant la sortie du générateur deObtenu en complémentant la sortie du générateur de parité

vaut 0 si le nombre de variables égales à 1 est impairvaut 0 si le nombre de variables égales à 1 est impair

vaut 1 si le nombre de variables égales à 1 est pair ou nul

T.EA

146

Page 74: 80876357-Electronique-Numerique-1

Générateur et contrôleur de parité

ExempleGé é t d ité iGénérateur de parité paire

x3xxxxP ⊕⊕⊕=x2x1x0

(1 si nbr de 1 impair, sinon 0)

x0

0123 xxxxP ⊕⊕⊕=

Contrôleur de parité pairex3x2x1x0

Vers le récepteur

Contrôleur de parité paire

x0

P

x3

x2

x10

(1 =erreur, 0 pas d’erreur)

0123 xxxxPE ⊕⊕⊕⊕=

T.EA

147

Transcodeur

Définitionf ti tt t d d’ d A à d Bfonction permettant de passer d’un code A à un code B

p entrées → k sorties

Décodeur : n entrées → 2n sorties max dont une seule est validée

(En)codeur : 2n entrées→ n sorties

Caractéristiques générales C t ôlVCaractéristiques générales ContrôleV

x0 Code 1 y0x1

xn 2 yyp-

T.EA

148Code 2xn-2xn-1

yp-

1

2

Page 75: 80876357-Electronique-Numerique-1

Décodeur

Pour chaque combinaison des variables d’entrées, une seule variable de sortie est activéeune seule variable de sortie est activée

n entrées, m entrées de contrôle, p sorties (2n max)

décodeur complet : n entrées et 2n sorties

Exemple :Exemple : contrôleV

y0

3 vers 8x0x

y1

y0

y2y3

(bin/oct)x1x2

y4y5y6y

T.EA

149

y7

Décodeur

Table de véritéV c b a y0 y1 y2 y3 y4 y5 y6 y7y y y y y y y y0 X X X 0 0 0 0 0 0 0 01 0 0 0 1 0 0 0 0 0 0 01 0 0 1 0 1 0 0 0 0 0 01 0 1 0 0 0 1 0 0 0 0 01 0 1 0 0 0 1 0 0 0 0 01 0 1 1 0 0 0 1 0 0 0 01 1 0 0 0 0 0 0 1 0 0 01 1 0 1 0 0 0 0 0 1 0 01 1 0 1 0 0 0 0 0 1 0 01 1 1 0 0 0 0 0 0 0 1 01 1 1 1 0 0 0 0 0 0 0 1

Equations logiques des yiabcVy = abcVy = abVcy = aVcby =

abcVy

abcVy

=

=

1

0

bacVy

abcVy

=

=

3

2

abVcy

abVcy

=

=

5

4

Vcbay

aVcby

==

7

6

T.EA

150

Page 76: 80876357-Electronique-Numerique-1

Décodeur

Schéma logique

a

b

c

V

y0 y1 y2 y3 y4 y5 y6 y7

T.EA

151

Décodeur - Générateur de fonction

Table de vérité de la fonction majorité Sortie égale 1 ou 0 selon qu ’il y a plus de 1 ou de 0Sortie égale 1 ou 0 selon qu il y a plus de 1 ou de 0

cbabacabcacbabcf +++=),,(N c b a f(c,b,a) y0 0 0 0 0 y01 0 0 1 0 y12 0 1 0 0 y2 c

y1

y0

y2222 0 1 0 0 y23 0 1 1 1 y34 1 0 0 0 y45 1 0 1 1 y5

3 vers 8cba

y3y4y5y

21

20

≥1 f(c,b,a)

Souvent assimilé à un démultiplexeur

5 1 0 1 1 y56 1 1 0 1 y67 1 1 1 1 y7

y6y7

≥1 f(c,b,a)

Souvent assimilé à un démultiplexeurdécodeur/démultiplexeur

T.EA

152

Page 77: 80876357-Electronique-Numerique-1

Adressage mémoire

Mémoire == tableau d’éléments binaires

Envoi d’un numéro de ligne (adresse) => lecture d’un motEnvoi d un numéro de ligne (adresse) => lecture d un mot en mémoire

Une mémoire de 1024 lignes nécessite 10 bits d’adresseUne mémoire de 1024 lignes, nécessite 10 bits d’adresse

Le décodeur permet la sélection d ’une seule ligne à un i t t d éinstant donné

Ligne 0

mémoire

01101000

décodeur

Ligne i10Adresse i

Ligne 1023

T.EA

153Chip Select (CS)

Autorisation accès mém.

01101000 Sortie ligne i

Décodeur 7 segments

Afficher un chiffre décimal sur un afficheur 7 segmentssegments

a

bfAnode

cd

e

g

dcathode

Vanode > Vcathode

Afficheurs à cathodes ou anodes communesdp

a b c d e f g dp

a b c d e f g dp

pour la suite on ne tient pas compte du dp (decimal i )

a b c d e f g dp

T.EA

154point)

Page 78: 80876357-Electronique-Numerique-1

Décodeur 7 segmentsChiff è ffi héChiffres et caractères affichés

Remarque : 6 9 ê é é6, 7, 9, c, e peuvent être représentés par

les circuits commerciaux génèrent après 9 d’autres

T.EA

155

g psymboles

Décodeur 7 segments

Pour la suite, on ne tient pas compte des valeurs supérieures à 9 asupérieures à 9

Décodeur 7 segments bin/7segBC

A bcd

a

Table de vérité bin/7segC

Dfg

e

N D C B A a b c d e f g0 0 0 0 0 1 1 1 1 1 1 01 0 0 0 1 0 1 1 0 0 0 02 0 0 1 0 1 1 0 1 1 0 13 0 0 1 1 1 1 1 1 0 0 14 0 1 0 0 0 1 1 0 0 1 15 0 1 0 1 1 0 1 1 0 1 16 0 1 1 0 1 0 1 1 1 1 17 0 1 1 1 1 1 1 0 0 0 08 1 0 0 0 1 1 1 1 1 1 1

T.EA

156

8 1 0 0 0 1 1 1 1 1 1 19 1 0 0 1 1 1 1 1 0 1 1

Page 79: 80876357-Electronique-Numerique-1

Décodeur 7 segmentsOb i d é i è i lifi iObtention des équations après simplification

Segment a Segment bdc\ba 00 01 11 10

00 1 1 1 1

01 1 0 1 0

dc\ba 00 01 11 10

00 1 0 1 1

01 0 1 1 1

ACCADBa +++= ABBACb ++=

11 X X X X

10 1 1 X X

11 X X X X

10 1 1 X X

ACCADBa +++= ABBACb ++=

d \b 00 01 11 10

Segment c Segment ddc\ba 00 01 11 10

00 1 1 1 0

01 1 1 1 1

11 X X X X

dc\ba 00 01 11 10

00 1 0 1 1

01 0 1 0 1

11 X X X X

10 1 1 X X

ABCDc +++= ABCCBABACDd ++++=

11 X X X X

10 1 1 X X

T.EA

157

ABCDc +++ ABCCBABACDd ++++

Décodeur 7 segments

Segment e Segment fdc\ba 00 01 11 10

00 1 0 0 1

01 0 0 0 1

dc\ba 00 01 11 10

00 1 0 0 0

01 1 1 0 1

11 X X X X

10 1 0 X X

ACABe +=

11 X X X X

10 1 1 X X

ACABBCDf +++=

Segment g

ACABe += ACABBCDf +++=

dc\ba 00 01 11 10

00 0 0 1 1

01 1 1 0 1

11 X X X X

10 1 1 X X

BCABBCDg +++=

T.EA

158

BCABBCDg +++=

Page 80: 80876357-Electronique-Numerique-1

Encodeur

Opérateur inverse du décodeur

2n entrées,

m entrées de contrôlecontrôleG

x0m entrées de contrôle

n sorties encodeur

0

X n-1

y0

yn-1

Permet de réduire le nombre d’informations

X2n 1 yn 1

Permet de réduire le nombre d informations véhiculées

d d t h d’ l i d tècodage des touches d’un clavier : passage du système décimal au système binaire

T.EA

159

EncodeurlExemple

x3 x2 x1 x0 y1 y00 0 0 1 0 0

Une seule entrée active à la fois0 0 0 1 0 00 0 1 0 0 10 1 0 0 1 01 0 0 0 1 1

Pour tous les autres cas, y1=y0=0 (par défaut)

Eq. Logiques

1 0 0 0 1 1 y1 y0 0 (par défaut)

)(

)(

23011

1302012301230

xxxxy

xxxxxxxxxxxxy

⊕=

⊕=+=

x0

Schéma logiquex2

x1y0

x3

y1

T.EA

160

Page 81: 80876357-Electronique-Numerique-1

Encodeur prioritaire

Problème de l’encodeuri dét i ti i l i bi i d’ t éindétermination si plusieurs combinaisons d’entrées sont actives en même temps

i 1 2 1 0 3 0 l 1 0 0 ( déf )si x1=x2=1 et x0=x3=0 alors y1=y0=0 (par défaut) sur l’exemple précédent

Solution : ordre de priorité pour les sortiesla sortie représente l’entrée active de plus fort poidsp p p

T.EA

161

Encodeur prioritaire

Exemple : clavier avec 9 touches

1 2 34 5 6

ABCclavier avec 9 touches

table de codagee A B C D

4 5 67 8 9

CD

e A B C D1 0 0 0 12 0 0 1 03 0 0 1 1

e9 e8 e7 e6 e5 e4 e3 e2 e1 A B C D1 X X X X X X X X 1 0 0 1

Table de vérité en tenant compte des

4 0 1 0 05 0 1 0 16 0 1 1 07 0 1 1 1

0 1 X X X X X X X 1 0 0 00 0 1 X X X X X X 0 1 1 10 0 0 1 X X X X X 0 1 1 00 0 0 0 1 X X X X 0 1 0 10 0 0 0 0 1 X X X 0 1 0 0

tenant compte des priorités

7 0 1 1 18 1 0 0 09 1 0 0 1

0 0 0 0 0 1 X X X 0 1 0 00 0 0 0 0 0 1 X X 0 0 1 10 0 0 0 0 0 0 1 X 0 0 1 00 0 0 0 0 0 0 0 1 0 0 0 1

T.EA

162

Page 82: 80876357-Electronique-Numerique-1

Encodeur prioritairei l iEquation logique

89899 eeeeeA +=+=

)4567(89

456789567896789789

eeeeee

eeeeeeeeeeeeeeeeeeB

+++

+++=

2345678934567896789789

)4567(89

eeeeeeeeeeeeeeeeeeeeeeC

eeeeee

+++=

+++=

1234567893456789567897899

))23(4567(89

eeeeeeeeeeeeeeeeeeeeeeeeeD

eeeeeeee

++++=

+++=

)))123(45(67(8e9

1234567893456789567897899

eeeeeeee

eeeeeeeeeeeeeeeeeeeeeeeeeD

++++=

++++

T.EA

163

Encodeur prioritaireS hé l iSchéma logique

e1e2e3e4e5e6e7e8e9

≥1

&&&& &&&&& &&& & &&&& &&&&& &&& &

≥1≥1≥1≥1

DCBA

T.EA

164

DCBA

Page 83: 80876357-Electronique-Numerique-1

Chapitre V : Comparateur - Arithmétique bi i 1binaire 1

T.EA

165

Comparateur binaire

Comparaison entre 2 mots binaires

2 d i2 types de comparaisoncomparaison logique : bit à bit

comparaison arithmétique

Comparateur logique monobitComparateur logique monobit

a > bbEaS ba =>

E

Comparateura > ba = ba < b

a

b baES

baES ba

=

⊕==

E est une entrée d ’autorisation mais sert de détecteur d’é lité d élé t bi i d id é i

b baES ba =<

T.EA

166d’égalité des éléments binaires de poids supérieurs

Page 84: 80876357-Electronique-Numerique-1

Comparateur de 2 mots binaires

Montage cascadeA=A3A2A1A0 et B=B3B2B1B0A A3A2A1A0 et B B3B2B1B0

COMPa > b

a = ba

E

≥11

A3 A>BCOMPa < bb

a > bE

≥13B3

COMPa > b

a = b

a < b

a

b

E

A2B2

≥1 A<B

COMPa > b

a = ba

E

A1

a < bb

a > bE

B1

A

T.EA

167COMP a = b

a < b

a

b

A0B0

A=B

Comparateur de 2 mots binairesC l i d 2 d 4 biComparateur logique de 2 mots de 4 bits

Entrée A

A>BA’>B’ A A A A

Comparateur 4 bits

A>B

A=B

A’>B’

A’=B’

A0 A1 A2 A3

Entrée E Sortie S

A<BA’<B’ B0 B1 B2 B3

Entrée E permet des montages en cascadeEntrée B

Entrée E permet des montages en cascadeextension à des comparaisons de plus de 4 bits

T.EA

168

Page 85: 80876357-Electronique-Numerique-1

Comparateur de 2 mots binaires

Table de véritéEntrées A, B Entrées E Sorties S

A, B A3 B3 A2 B2 A1 B1 A0 B0 A'>B' A'=B' A'<B' A>B A=B A<BA, B A3, B3 A2, B2 A1, B1 A0, B0 A >B A B A <B A>B A B A<BA3>B3 X X X X X X

A>B A3=B3 A2>B2 X X X X X 1 0 0A3=B3 A2=B2 A1>B1 X X X XA3=B3 A2=B2 A1=B1 A0>B0 X X XA3<B3 X X X X X X

A<B A3=B3 A2<B2 X X X X X 0 0 1A3=B3 A2=B2 A1<B1 X X X XA3=B3 A2=B2 A1<B1 X X X XA3=B3 A2=B2 A1=B1 A0<B0 X X X

1 0 0 1 0 0A=B A3=B3 A2=B2 A1=B1 A0=B0 0 1 0 0 1 03 3 0 0 0 0 0 0

0 0 1 0 0 1

''0011223300112233112233223333 BABABABABABABABABABABABABABABABA EEEEEEEEEEEEEEES >====>===>==>=>> ++++=

''

''

00112233

0011223300112233112233223333

BABABABABABA

BABABABABABABABABABABABABABABABA

EEEEES

EEEEEEEEEEEEEEES

======

<====<===<==<=<<

=

++++=

T.EA

169

Comparateur de 2 mots binaires

Montage cascade : comparaison sur 8 bitsX X X X X X X X X t Y Y Y Y Y Y Y Y YX=X7X6X5X4X3X2X1X0 et Y=Y7Y6Y5Y4Y3Y2Y1Y0

X4 X5 X6 X7X0 X1 X2 X3

A>BA’>B’ A0 A1 A2 A3 A>BA’>B’ A0 A1 A2 A3

1

0

Comparateur 4 bits A=B

A<B

A’=B’

A’<B’ B0 B1 B2 B3

Comparateur 4 bits A=B

A<B

A’=B’

A’<B’ B0 B1 B2 B30

1

Y4 Y5 Y6 Y7Y0 Y1 Y2 Y3

T.EA

170

Page 86: 80876357-Electronique-Numerique-1

Additionneur binaire

Opérateur important dans les systèmes numériquesOpération de soustraction, multiplication et division sont des variantes de l’opération d ’addition

Etude des additionneurs sur 2 mots binaires

Addition logique (OU) et addition binaireAddition logique (OU) et addition binaire1+1=1 1+1=0 +report de 1

1+1+1=1 1+1+1=1 + report de 1

T.EA

171

Demi-additionneur (HA)

Demi additionneur monobit

iii

bac

bas

=⊕=

Génération d’une retenue

ii1i bac =+

bi

ai si

ci+1

T.EA

172

Page 87: 80876357-Electronique-Numerique-1

Additionneur complet (FA)

Table de vérité

)b(b

cbas iiii ⊕⊕=)b(acbac iiiii1i ++=+

ou

)b(acbac iiiii1i ⊕+=+Génération d’une retenue

Propagation d’une retenuePropagation d’une retenueGénération/Propagation d’une retenuePropagation d une retenue

HAai

b

siai siHA

ai

b

si

bi

ci

ci+1bi ci+1 bi ci+1

T.EA

173

Additionneur parallèle n bits

Propagation de retenue sériebn-1 an 1 b1 a1 b0 a0

FA

n-1 n-1

cn FA

1 1

FA

0 0

(co=0)FA

sn-1

n cn-1FA

s1

c2c1 (HA)

s0

( o )

Temps de calcul critique

0

Tpfa : temps mis pour réaliser une addition monobit

Temps de calcul pour n bits : n.Tpfa

T.EA

174

Page 88: 80876357-Electronique-Numerique-1

Additionneur parallèle n bitsi i éRetenue anticipée

Idée : • prévoir la valeurs des retenues ci au lieu d ’attendre qu’elles se soient

propagées

l l l t d’ dditi tt d ll d• calculer la retenue par groupe d’additionneurs sans attendre celle de l’étage précédent

Posons Gi=aibi terme de générationPosons Gi aibi terme de génération

Pi=ai+bi terme de propagationsi a =b =0 ∀ c c =0 : pas de retenuesi ai=bi=0, ∀ ci, ci+1=0 : pas de retenue

si ai ou bien bi = 1, ci+1= ci : propagation de la retenue (Pi)

si a =b =1 ∀ c c =1 : génération d’une retenue (G )si ai=bi=1, ∀ ci, ci+1=1 : génération d une retenue (Gi)

la retenue ci+1 est générée au rang i ou propagée par le rang i avec la retenue entrante c : c =G +P c

T.EA

175

avec la retenue entrante ci : ci+1=Gi+Pi.ci

Additionneur : retenue anticipéeAddi i l d bl 4 biAdditionneur complet cascadable sur 4 bits

i=0 : c1= G0+P0c01 0 0 0

i=1 : c2= G1+P1c1= G1+P1 (G0+P0c0)= G1+P1G0+P1P0c0

= G+ Pc0 G+ Pc0

i=2 : c3= G2+P2c2 = G2+P2(G1+P1G0+P1P0c0)

G +P G +P P G +P P P= G2+P2G1+P2P1G0+P2P1P0c0

i=3 : c4= G3+P3c3 = G3+P3(G2+P2G1+P2P1G0+P2P1P0c0)

= G3+P3G2+ P3P2G1+ P3P2P1G0+ P3P2P1P0c0

Dernière retenue (retenue anticipée) calculée avecDernière retenue (retenue anticipée) calculée avec seulement les termes de génération, de propagation et la retenue entrante c

T.EA

176

et la retenue entrante c0

Page 89: 80876357-Electronique-Numerique-1

Additionneur : retenue anticipée

Schéma logiqueG

G2 c3

P0

G0 c1

G1

P2

Pc0P1

G0

P0G2

G3 c4

G0

G1 c2

P0

c0P3

P2

GG0

P1

P

G1

P1P0c0

G0

P

T.EA

177c0

P0

Additionneur : retenue anticipée

Schéma synoptique b3 a3 b2 a2 b1 a1 b0 a0 c0

Calcul des termes P et G

G0 P0G1 P1G2 P2G3 P3

Calcul des retenuesanticipées

c1c2c3 =1=1=1 =1p c4

111 1

S S S S

T.EA

178

c4 S3 S2 S1 S0

Page 90: 80876357-Electronique-Numerique-1

Carry Select Adder

Accélérer le calcul → Introduction du parallélismep

é bl 3

FA FA FA FA FA FA FA FA FACO

Découpage en blocs : 3 TpFA

FA FA FA FA FA FA FA FA FACO

Parallélisation FA FA FACO

5 TFA FA FA

FA FA FA

CO FA FA FA

FA FA FA

0

1

5 TPFA

FA FA FA

FA FA FA

FA FA FA

1

0

T.EA

179FA FA FA1

Carry Select Adder

Optimisation : cas de N=15 bitsp3, 4, 4, 4 blocs et 3 multiplexeurs : 7 TpFA

3 3 4 5 blocs et 3 multiplexeurs : 6 T3, 3, 4, 5 blocs et 3 multiplexeurs : 6 TpFA

T.EA

180

Page 91: 80876357-Electronique-Numerique-1

Demi-soustracteur (HS)

Table de vérité

iii

b

bas ⊕=

ii1i bac =+

bai si

ci+1

bii

T.EA

181

Soustracteur binaire

si=ai - bi - ci

Table de véritéTable de vérité

Soustracteur

ai

bi

sii

ci

ci+1

b ⊕⊕

iiiiii1i

iiii

cbcabac

cbas

++=

⊕⊕=

+

Remarque : en pratique, le soustracteur n’est pas réalisé à partir de cesen pratique, le soustracteur n est pas réalisé à partir de ces équations

choix d’un code adéquat pour A B et R

T.EA

182

choix d un code adéquat pour An, Bn et Rn-1

utilisation de l’additionneur en tant que soustracteur

Page 92: 80876357-Electronique-Numerique-1

Soustracteur parallèle n bits

Propagation de retenue sériebn-1 an 1 b1 a1 b0 a0

FS

n-1 n-1

cn FS

1 1

FS

0 0

(co=0)FS

sn-1

n cn-1FS

s1

c2c1 (HS)

s0

( o )

De même que l’additionneur, il existe un

0

soustracteur à propagation de retenue anticipée

T.EA

183

Additionneur/soustracteur binaireSi ili d l’ ddi i lSimilitude entre l’additionneur et le soustracteur

différence : calcul de la retenue

ajout d’une entrée de commande, , pour choisir entre additionneur et soustracteur,

/subadd,

iiiiii1i

iiii

cbc)a/subadd(b)a/subadd(c

cbas

+⊕+⊕=

⊕⊕=

+ iiiiii1i cbc)a/subadd(b)a/subadd(c +⊕+⊕+ai

bi sici

/subadd

ci+1

T.EA

184

Page 93: 80876357-Electronique-Numerique-1

Ecriture des nombres signés: signe valeurEcriture des nombres signés: signe-valeur absolue

Ajout d’un bit de signe

Code signe valeur absolueCode signe-valeur absolue

0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1

arithmétique sous jacente et circuits réalisés complexes

0 1 0 1 0 0 1 1 1 1 0 1 0 0 1 1

+83 -83arithmétique sous-jacente et circuits réalisés complexes

additionneur et soustracteur en signe et module

utilisation pour les nombres flottantsutilisation pour les nombres flottants

préférence pour la notation en complément à 2 ( lé t i)(complément vrai)

T.EA

185

Exemple

Addition directeSur 8 bits : 4 + (-7)

4 → 00000100 et 7 →100001114 → 00000100 et -7 →10000111

4 + (-7) → 10001011 → -13!!! FAUX

Traitement séparé signe & valeur absolue|-7| > |4| → signe –| | | | g

|-7| - |4| → 7 – 4 → 0000111 – 0000100 = 0000011

D’où 4 + ( 7) = 3D où 4 + (-7) = -3

T.EA

186

Page 94: 80876357-Electronique-Numerique-1

Additionneur/soustracteurAdditionneur/soustracteur en signe et valeur absolueg

Opérationdemandée

Comparaisondes signes

SA SB Comparaison dela valeur absolue

Opération effective Signe durésultat

Rem.

SA= SB BA + SR =SA= SB

BA = AB ou BA −− 0 R=0

0 1 BA < AB − SR = SB=1

Add(=0) SA≠ SB BA > BA − SR = SA=0( ) A B BA > BA

BA = AB ou BA −− 0 R=0

1 0 BA < AB − SR = SB=0

BA BA S = S =1BA > BA − SR = SA=1

SA≠ SB BA + SR = SA

BA = AB ou BA −− 0 R=0

0 0 BA < AB − 1

Sub (=1) SA= SB BA > BA − SR =SA= SB=1

BA = ABouBA −− 0 R=0

1 1 BA < AB − 0

BA > BA − SR =SA= SB=1

T.EA

187

Ecriture des nombres signés: compl. à 2

Complément à 2 : astuce de calculé t ti d’ b é tif ( A)représentation d’un nombre négatif (-A) par son

complément vrai (complément à la base 2)

b i id d l’ é d’ bi i Aobtention rapide de l’opposé d’un mot binaire A2n - A= 2n - 1 - A + 1

Nbr dont tous les chiffres binaires sont à 1

Complément de A (0 → 1 et 1 → 0)

Complément à 1 ou complément restreint de A

ou de la droite vers la gauche juqu’au 1er

« 1 » qu’on conserve puis on inverse systématiquement

( )

1AA +=−« 1 » qu on conserve puis on inverse systématiquement

exemple :

0101001183 =+ bit de signe (N) = 0

T.EA

18810101101 1 10101100 83-

0101001183

=+=+

bit de signe (N) = 1

g ( )

Page 95: 80876357-Electronique-Numerique-1

Addition : complément à 2

A + BA > 0 B > 0 010019)( →+ A<0 B<0 10111 9)( →−A > 0, B > 0

01101

00100 4)(

01001 9)(

→++→+ A<0, B<0

10011

11100 4)(

)(

→−+

A > 0, B < 0

01101

11100( 4)

01001 9)(

→+→+ A=-B 00100 4)( →+

00101

11100 (-4) →+

00000

11100 4)( →−+

A < 0, B > 0 00100 4)(

10111 (-9)

→++→

11011

T.EA

189

Soustraction : complément à 2

A - Bprendre le complément à 2 de B :prendre le complément à 2 de B : faire A + (-B)La retenue est pris en prenant le complément de laLa retenue est pris en prenant le complément de la retenue obtenueexemple : A=9 et B=4exemple : A=9 et B=4

11100( 4)

01001 9)(

→+→+

Et C 0 ( t(1))

00101

11100 (-4) →+

Et C=0 (car not(1))

Opération de soustraction est réalisée à l’aide de l’opérateur d’addition

T.EA

190

l opérateur d addition

Page 96: 80876357-Electronique-Numerique-1

Addition/soustraction en compl. à 2

b b b / bddbn-1 an-1 b1 a1 b0 a0 /subadd

FAcn cn-1FA

c2c1

FA co

sn-1 s1 s0

T.EA

191

Dépassement de capacité

Représentation des nombres sur un nombre fini de positions N → Résultat de l’opération sur N+1 position

Exemple : sur 8 bitspArithmétique non signée

255 + 8 → 1111 1111 + 0000 1000 → 1 0000 0111

9ème bit → bit de carry (CF), retenue de la dernière addition indique qu’il y a un débordement de capacité CF est activé

A ith éti i éArithmétique signée-1 +8 →1111 1111 + 0000 1000 → 1 0000 0111

Ce bit (la retenue) est ignoré et le résultat est correct -> OverflowCe bit (la retenue) est ignoré et le résultat est correct > Overflow

Choix du type signé ou non signé

T.EA

192

Page 97: 80876357-Electronique-Numerique-1

Overflow (V)

Arithmétique signéeAddition de deux nombres de même signesAddition de deux nombres de même signesObtention d’un résultat de signe incorrect

E lExemples

01001 9)( →+ 10111 9)( →− 101119)( →− 01001 9)( →+

faux10001

01000 8)(

)(

→++

faux01111

11000 8)(

)(

→−+

faux01111

01000 8)(

)(

→+−

faux10001

11000 8)(

)(

→−−

Arithmétique non signéeO fl (V) d it êt i éOverflow (V) doit être ignoréExemple : 9 + 8 → 01001 + 01000 = 10001 → 17

T.EA

193

Overflow (V)

Détermination de l’overflow:Comparer le bit de signe des nombres additionnés/soustraits (an-1, bn-1) avec le bit de signe de la somme/soustraction (sn-1)

−−−−−−+ +=

bbV

sbasbaV 1n1n1n1n1n1nan-1 bn-1 sn-1 cn cn-1 V+ cn cn-1 V-

0 0 0 0 0 0 0 0 00 0 1 0 1 1 1 1 0

−−−−−−−

+=

+=

/sub VaddV/subaddV

sbasbaV 1n1n1n1n1n1n0 0 1 0 1 1 1 1 00 1 0 1 1 0 1 1 00 1 1 0 0 0 1 0 11 0 0 1 1 0 0 1 1

ccV ⊕

−+ += /sub.Vadd.V/subaddV1 0 0 1 1 0 0 1 11 0 1 0 0 0 0 0 01 1 0 1 0 1 0 0 0

n1 ccV ⊕= −n1 1 1 1 1 0 1 1 0

T.EA

194

Page 98: 80876357-Electronique-Numerique-1

Additionneur en DCB

Chaque chiffre décimal est codé sur 4 bits de 0000 à 1001

Somme ≤ 900113

0101 5

+→+→

Somme > 91000 8

00113 +→+

1001 9

1

validenon somme 0001 1 17

1000 8 +→+

0111 1

corrigerpour 6 de addition 0110

T.EA

195

Additionneur en DCB

Additionneur en DCB 4 bitsS est compris entre 00000 et 10010 BBB B

AAAA

0123

0123

+S est compris entre 00000 et 10010

Cas où il faut ajouter 6 (0110) SSSSS 01234

)( 1234 SSSSY ++= )( 1234

T.EA

196

Page 99: 80876357-Electronique-Numerique-1

Additionneur en DCB

Schéma logique A0A1A2A3B0B1B2B3

Additionneur4 bits

C0 Report de 4 bits 0

l’additionneur de rang inférieur

S0S1S2S3S4Report appliqué à l’additionneur Y inférieurà l additionneur DCB suivant

Additionneur4 bits

C0=0

T.EA

197Σ0Σ1Σ2Σ3 Somme DCB

Additionneur en DCB

Montage cascade (3 chiffres)

A3A2A1A0B3B2B1B0A7A6A5A4B7B6B5B4A11A10A9A8B11B10B9B8

AdditionneurDCB

0AdditionneurDCB

AdditionneurDCB DCBDCBDCB

Σ3Σ2Σ1Σ 0Σ7Σ6Σ5Σ4Σ11Σ10Σ9Σ8

UnitéDizaineCentaine

T.EA

198

Page 100: 80876357-Electronique-Numerique-1

Incrémateur : B+1

Une entrée de l’additionneur à 1 et l’autre à 0

bn-1 0 b1 0 b0 0

FAcn c FA c FA co=1

sn-1

cn-1

s1

c2c1

s0

Cellule élémentaire : HA

bi

ci si

T.EA

199ci+1

Comparateur arithmétique

Utilisation de l’additionneur/soustracteur pour é li d iréaliser des comparaisons

AB

Addi i /Additionneur/soustracteur

Circuit de décision

A>BA=BA<B

T.EA

200

Page 101: 80876357-Electronique-Numerique-1

Remarques

Addition vue comme une tableDécodage de 2N bits vers N+1 bits

Considérer chaque bit de sortie comme une fonctionConsidérer chaque bit de sortie comme une fonction logique quelconque des bits d'entrées

Utilisation de porte logiqueUtilisation de porte logique

Utilisation d’une mémoire

La complexité croit exponentiellement avec le nombreLa complexité croit exponentiellement avec le nombre de bit

T.EA

201

Remarques

Addition de plusieurs opérandesN bits

XXXXX

XXXXX

N bits

M O é d

XXXXX

XXXXX

++ M Opérandes

Nbr de bits nécessaire au codage d é l N l M bi

Additionneur série

YYYYYYY du résultat =N+log2M bits

Additionneur sériebi ai

FAD

T.EA

202si

Page 102: 80876357-Electronique-Numerique-1

Remarques

Additionneur en arbre M opérandes sur N bitsM opérandes sur N bits

N N N N

N+1 N+1M-1 additionneurs

N+1 N+1

N+2log2M étages

T.EA

203

Remarques

Estimation Vitesse-Surface pour un additionneur N bits

Surface Sfa Vitesse Tpfa

Add Prop Retenue N NAdd. Prop. Retenue N N

Add. Retenue Anticipée 2N (N=4)

pb de fan-in

Indpt de N (th.)

∝log2N

C S l t Add 2N 2√N

Arithmétique saturée

Carry Select Adder 2N 2√N

Add. Arbre Nlog2N 2log2N

qProblème :

A codée sur 3 bitsA codée sur 3 bits

valeur max de A= 7

Si S=A+1=7+1=8 => S=000 +1 reportSi S A+1 7+1 8 > S 000 +1 report

S Problème S

T.EA

204

Page 103: 80876357-Electronique-Numerique-1

Chapitre VI : Arithmétique 2M lti li Di iMultiplieur-Diviseur

T.EA

205

Multiplieur binaire

Exemples(7) 0111 (7) 0111 multiplicande

0111

(5) 0101x

( )

0111

(11) 1011x

( ) p

multiplicateur

--0111

-0000

--0000

-0111

1 010001

---0000

1 100110

---0111

produit

Nombre de bits du résultats A écrit sur N bits et B sur M bitsA écrit sur N bits et B sur M bits

résultat de A x B écrit sur N+M bits

T.EA

206

Page 104: 80876357-Electronique-Numerique-1

Multiplieur binaire

bbbbx

aaaa 0123

b

pppp

bbbbx

00010203

0123 aj bi

pppp

pppp

20212223

10111213 Génération des produits partiels pij

S S S S S S S S

pppp

01234567

30313233

pij

Succession de décalage et d’addition de

aibi

l’opérande A ou de 0 FAii

cici+1

si

T.EA

207

Multiplieur binaire parallèle 3 x 3a0 b0

a1a2

b1

0

aibiaibiaibi

FA cici+1

si

FA cici+1

si

FA cici+1

si

b2

0

b2

FAaibi

cici+1FAaibi

cici+1FAaibi

cici+1 0

T.EA

208

sisisi

S0S1S2S3S4S5

Page 105: 80876357-Electronique-Numerique-1

Multiplieur en signe et module

Traitement séparé des signes et modulesMultiplication binaire pour les modules p p

Signe : ouexclusif entre les signes du multiplicande et multiplicateurmultiplicateur

Nombre de bits du résultats A é i N bi B M biA écrit sur N bits et B sur M bits

|A| écrit sur N-1 bits et |B| écrit sur M-1 bits

résultat |A| x |B| écrit sur N+M-2 bits

résultat de A x B écrit sur N+M-1 bits

Remarque: nombre de bits du résultat est égal à N+M-1 pour une multiplication en complément à 2

T.EA

209pour une multiplication en complément à 2

Multiplication en complément à 2

Problème

(-7) 1001 (7) 0111

1001

(5) 0101x

( )

0111

(5) 0101x

--1001

-0000 --0111

-0000

(45) 0101101

---0000 1 010001

---0000

T.EA

210

Page 106: 80876357-Electronique-Numerique-1

Multiplication en complément à 2

Exemple

(5) 0101x

(7) 0111

(5) 0101x

(-7) 1001

(-5) 1011x

(7) 0111

(-5) 1011x

(-7) 1001

-0000

0111

-000000

1111001

-000111

0000111

-111001

1111001

---0000

--0111

---0000

--11001

---1001

--00000

---0111

--00000

1 010001 1011101 1011101 0100011

Extension E t iCV(7) CV(-7)

du signe Extension du signe

CV(7) ( )

T.EA

211

Multiplication en CV

aaa 012b

ppppp

bbbx

0001020202

012

Génération des

aj bi

ppp

pppp

ppppp

202122

10111212

0001020202 Génération des produits partiels avec extension du signe pij pij

S S S S S

ppp

01234

202122 pij

Succession de décalage et d’addition de

pij

Succession de décalage et d addition de l’opérande A ou de 0 avec extension de signe excepté à la fin :signe, excepté à la fin :si b2=0, on ajoute 0 si b2=1 on ajoute -A ou CV(A)

T.EA

212

si b2 1, on ajoute A ou CV(A)

Page 107: 80876357-Electronique-Numerique-1

Multiplieur parallèle en CV 3x3 a0 b0

a1a2

b1

aibiaibiaibiaibi aibi

FA cici+1

si

FA cici+1

si

FA cici+1

si

b2

0ciFAci+1

si

FA cici+1

si

b2

FAaibi

cici+1FAaibi

cici+1FAaibi

cici+1

T.EA

213

sisisi

S0S1S2S3S4S5

Remarques

Vitesse d’un multiplieur est conditionnée par la it d dditivitesse des additionneurs

Existence de solutions architecturales permettant d’accélérer les additions : retenue anticipée…

Diminution du nombre d’opérandes à additionnerPlus il y a de zéro dans le multiplicateur, moins il y a d’addition à faire

Recodage de Booth• Algorithme de Booth

• Algorithme de Booth modifié• Algorithme de Booth modifié

• Codage de Booth 3 bits

T.EA

214

Page 108: 80876357-Electronique-Numerique-1

Algorithme de Booth

Algorithme de BoothDét t l é ti d 1 d l lti li tDétecter les séquences continues de 1 dans le multiplicateur

Séquence de n « 1 » ⇔ n sommes du multiplicande multiplié 2i ( id d bi d l i li )par 2i (poids du bit du multiplicateur)

Basé sur l’identité suivante :

∑∑=

+++++

=

−==−

−=

k

ij

ikijkiiki

ij

j xx

xxx 222 : 2pour

11

1

Exemple et notation : …011…110…=2i+k+1-2i=...00100...010…

== ijij

p

Remplacer ces n sommes par une soustractionPosition i+k+1 Position iPosition i+k Position i

T.EA

215

Remplacer ces n sommes par une soustraction

Algorithme de Booth

Exemple : séquence de 3 « 1 » successifs, la somme de 3 multiplicandes M se ramène à une simple soustraction

11100

22222 01234

101002222 3012 =−=++ MMMMM11100

1011000101110111 0011011000110011

Remarque: 11110011

1011000101110111 0011011000110011

10101000

T.EA

216

Page 109: 80876357-Electronique-Numerique-1

Algorithme de Booth

Algorithmeb-1=0 (Cond. Init.)

à l’étape i de l’algorithme de multiplication, suivant les valeurs du multiplicateur bi-1 et bi , on effectue :

une addition ou

une soustraction ou

rien

bi bi-1 Action à l'étape i Rem arque

0 0 Rien 0 en position i du recodage

0 1 Add 1 en position i du recodage

1 0 Sub 1 en position i du recodage

1 1 ri n 0 n p iti n i d r d

T.EA

217

1 1 rien 0 en position i du recodage

Algorithme de Booth

Exemple :pSoit à multiplier 2 par 7

0001000010

x 001110Init

subOpération

20

Poids Calcul111111110sub

rienrien

20

21

22

111111110

addrien

rien23

22

24000010- - -000001110rien 24 000001110

T.EA

218

Page 110: 80876357-Electronique-Numerique-1

Algorithme de BoothblèProblème

22222 01234

01010

22222MMMMMM 123413 222222 −+−=+

4 additions 4 additions et 4 soustractions0101010101 1111111111

Algorithme de Booth ne garantit pas l’accélération de la multiplicationde la multiplication

remèdel i h d h difiéalgorithme de Booth modifié

codage Booth 3 bits

T.EA

219

Algorithme de Booth modifié

Réécriture des chaînes de chiffresFaire apparaître plus de zéro

Jamais deux 1 consécutifs

Un chiffre sur deux au moins est un 0

: 1 isolé0111 ⇔ : 1 isolé

: 0 isolé

E l

0111 ⇔1011 ⇔

Exemple1011000101110111 0011011000110011

Réécriture minimale(Comporte le moins de 1 possible) 0010100001000110

T.EA

220

( p p )Recodage canonique

0010100001000110

Page 111: 80876357-Electronique-Numerique-1

Algorithme de Booth modifié

AlgorithmeP l li l 1 t l 0 i lé j tPour localiser les 1 et les 0 isolés, on rajoute une variable supplémentaire ci (c0=0)

ci bi+1 bi Action à l'étape i Remarque ci+1

0 0 0 Rien 0 en position i du recodage 0

0 0 1 Add 1 en position i du recodage 00 0 1 Add 1 en position i du recodage 0

0 1 0 Rien 0 en position i du recodage 0

0 1 1 Sub 1 en position i du recodage 1p g

1 0 0 Add 1 en position i du recodage 0

1 0 1 Rien 0 en position i du recodage 1

1 1 0 Sub 1 en position i du recodage 1

1 1 1 Rien 0 en position i du recodage 1

T.EA

221

Exemple : Algorithme de Booth modifié

1011000101110111i ci bi+1 bi Action à l'étape i Remarque ci+1

0 0 0 0 Rien 0 en position i du recodage 00 0 0 0 Rien 0 en position i du recodage 0

1 0 1 0 Rien 0 en position i du recodage 0

2 0 1 1 Sub 1 en position i du recodage 1

3 1 0 1 Ri 0 i i i d d 13 1 0 1 Rien 0 en position i du recodage 1

4 1 1 0 Sub 1 en position i du recodage 1

5 1 1 1 Rien 0 en position i du recodage 1

6 1 1 1 Rien 0 en position i du recodage 1

7 1 1 1 Rien 0 en position i du recodage 1

8 1 0 1 Rien 0 en position i du recodage 1

9 1 1 0 Sub 1 en position i du recodage 1

10 1 1 1 Rien 0 en position i du recodage 1

11 1 1 1 Rien 0 en position i du recodage 1

12 1 0 1 Rien 0 en position i du recodage 1

13 1 1 0 Sub 1 en position i du recodage 1

14 1 0 1 Rien 0 en position i du recodage 1

T.EA

222001010000100011015 1 0 0 Add 1 en position i du recodage 0

Page 112: 80876357-Electronique-Numerique-1

Exemple : Algorithme de Booth modifié

0101010101i ci bi+1 bi Action à l'étape i Remarque ci+1

0 0 0 1 Add 1 en position i du recodage 0

1 0 1 0 Rien 0 en position i du recodage 0

2 0 0 1 Add 1 en position i du recodage 0

3 0 1 0 Rien 0 en position i du recodage 0p g

4 0 0 1 Add 1 en position i du recodage 0

5 0 1 0 Rien 0 en position i du recodage 0

6 0 0 1 Add 1 en position i du recodage 0p g

7 0 1 0 Rien 0 en position i du recodage 0

8 0 0 1 Add 1 en position i du recodage 0

9 0 0 0 Rien 0 en position i du recodage 0

0101010101

Au plus, on fait n/2 additions-soustractions

9 0 0 0 Rien 0 en position i du recodage 0

Au plus, on fait n/2 additions soustractions

T.EA

223

Exemple dans une multiplication

Effectuer 6 x 7 = 0110 x 0111recodage de 7 avec Booth modifié:

faire une soustraction au poids 20 et une addition au

1100

faire une soustraction au poids 20 et une addition au poids 23

(6)0110 (6)0110

0110

(7) 0111x

(6) 0110

modifié) Boothcodage (7 1100x

(6) 0110

00110

000110

0110

)2x (6 0110

)2-x (6 1111010 3

0

0101010

00110 0101010

)(

T.EA

224

Page 113: 80876357-Electronique-Numerique-1

Codage de Booth 3 bits

B avec un nombre de bits pairs (n pair)

Si B est impair → extension de signe−− 42 nn

∑∑∑ −−=

++

=

−−

=

−− =++−=+−= 1

2

1

1212

2

0

22

11

2

0

11 0 avec 22222

i

ii

i

ii

nn

n

i

ii

nn bbbbbbB

∑∑−

++

−− −++−=

2

4

1

22212

2

2

0

22

11 ]2.22[22

n

i

iii

n

i

ii

nn bbb

pair impair

∑ ∑∑−

+

++

−==

−++−=2

4

212

2

4

2212

2

2

22

11

10

22222

n

ii

n

ii

n

ii

n

ii

bbbb ∑ ∑∑−=

+−=

+=

− ++1

121

120

21 22222 i

ii

ii

in bbbb

T.EA

225

Codage de Booth 3 bits

∑ ∑∑−

+

−− −++−=

2

2

212

2

4

212

2

2

22

11 22222

n

ii

n

jj

n

ii

nn bbbbB

∑ ∑∑

∑ ∑∑

− −−

= −==

22

2

22

4

22

2

2

0 10

222222 n

n

i

n

j

n

i

ji

ij

iin

bbbb ∑ ∑∑− −−

−−

=+

−=−

=

−−+=

2 22

21

0

212

1

212

0

22 2.22222

n nn

nn

j

ii

i

jj

i

ii bbbb

∑ ∑∑ −=

+=

−=

=−+= 1

2

0

212

2

0

212

2

0

22 )0(car 2222

j

ii

i

jj

i

ii bbbb

∑−

−+ ++−=2

2

0

212212 2]2[

n

i

iiii bbb

=0i

T.EA

226

Page 114: 80876357-Electronique-Numerique-1

Codage de Booth 3 bits

∑∑−−

−+ =++−=2

2

22

2

212212 22]2[

n

ii

n

iiii cbbbB

B ⇔ Σ de 3 bits consécutifs de B suivant les

∑∑==

+00

12212i

ii

iii

B ⇔ Σ de 3 bits consécutifs de B suivant les puissances paires de 2

R d d B i t l t bl d é itéRecodage de B suivant la table de vérité :b2i+1 b2i b2i-1 ci

0 0 0 00 0 0 0

0 0 1 1

0 1 0 1

0 1 1 2

1 0 0 -2

1 0 1 -1

T.EA

2271 1 0 -1

1 1 1 0

Exemple : Codage de Booth 3 bits

(24044)0011011110111010b-1=0

(24044) 00110111101110 1 0

012121 10

2.12.12.22.12.21.2 248101214 −−+−+240444165121024819216384 =−−+−+=

T.EA

228

Page 115: 80876357-Electronique-Numerique-1

Multiplication : Codage de Booth 3 bits

(A) aaaa 0123

bbb

bits 3 Boothde recodage (B) bbbbx

c0 2A/0-A/2A/-A/ 1-01

0123

←←

bbb

x B A

c1 2A/0-A/2A/-A/ 123←←

Multiplication → suite d’addition de l’opérande

A, -A, 2A, -2A ou 0 et de décalage par 22i

Encodage simpleEncodage simple

au plus N/2 additions N bits

T.EA

229

Multiplication : codage de Booth 3 bits

2)(B1110x

6)(A 0110 =

2

1010 100 -2c0 2x 2A- 1110100

-2)(B 1110x

bbb=←=←

=

1232 111 0 c1 2x 0 bbb=←=←

6)(A0110 =

1002c01x2A1110100

-6)(B 1010x

6)(A 0110

bbb←←

==

( 36)1011100

101 -1 c1 2x A- 1010 1

100-2c01x 2A- 1110100

1232

101

bbb

bbb

=←=←

=←=← −

(-36) 1011100

T.EA

230

Page 116: 80876357-Electronique-Numerique-1

Architecture Booth 3 bitsAB

0b déc +/- x2 0

x22

b0b1

déc

x22

+/- x2 0 Σb1b2 déc / x2 0

x22

Σ2b3

déc +/- x2 0b3b4b5b5

Décodage des bits bi Additionneur N/2

T.EA

231

g i

Encodage des opérandes opérandes

Remarques

Codage de Booth 3 bits ⇔ algo. de Booth en g gprenant les bits 2 à 2

ExempleExemple 01101110 01100110 )1102222( 1457 =−+−

2012 )110222.2( 146 =−−

T.EA

232

Page 117: 80876357-Electronique-Numerique-1

Remarques

Regrouper les bits 2 à 2 dans l’algo de BoothRegrouper les bits 2 à 2 dans l algo de Booth modifié n’apporte rien de plus (même nbr d’ dditi )d’addition)

246

Exemple 01011101 (93) 11110011

1121

)93122222( 2567 ++

)93122.22( 246 =+−+

01011101 (93) 11110011 )93122222( 2567 =−+−+−

)93122222( 24601100110 )93122.22.2( 246 =+−−01100110

12 2 1

T.EA

233

12 2 1

Division

La plus complexes des 4 opérations arithmétiques

E dé i lEn décimal :Dividende >? diviseur

Nombre de fois que le diviseur va dans le dividende?

Essais successifsEssais successifs

En base 2l i lPlus simple

Nbr de fois que le diviseur entre dans le dividende0 ou 1

T.EA

234

Page 118: 80876357-Electronique-Numerique-1

Division binaire

Rappel : a3a2a1a0,a-1a-2a-3a-4

Ex : 13,375=1101,011

Exemple: 13/4=3,25p ,13

12

4

3 25

1101

100

100

11 0112

10

- 3,25 100

101

- 11,01

8

20

- 100

100

-

20

0

-

100

100

000

-

T.EA

2350 000

Division binaire

Principe généralsoustraction successive du diviseursoustraction successive du diviseur

soit A et B deux nombres binaires

Q l i d l di i i A BQ le quotient de la division A par B

R les restes partiels

Si R ≥ B alors Q=1 et R-B sinon Q=0 et RQ Q

T.EA

236

Page 119: 80876357-Electronique-Numerique-1

Division binaire

Exemple : A/B=1101/01001101

010011

0100

-0

0

R=1<B ⇒ Q=0 et R=1

R=11<B ⇒ Q=0 et R=11 0100110

0100

-

-

0

1

R=11<B ⇒ Q=0 et R=11

R=110 ≥ B ⇒ Q=1 et R-B=10

1010100

010-1

,R=101 ≥ B ⇒ Q=1 et R-B=1

0100100

100-0

,

R=10<B ⇒ Q=0 et R=10

0100000

-1R=100≥B ⇒ Q=1 et R-B=0

Q

T.EA

237

Q

Division binaire

Exemple : A/B=1011/1001 10111001

101001

101

0

0

R=1<B ⇒ Q=0 et R=1

R=10<B ⇒ Q=0 et R=10 1011001

1011

0

0

R=10<B ⇒ Q=0 et R=10

R=101<B ⇒ Q=0 et R=101

1001001001001

1,

R=1011 ≥ B ⇒ Q=1 et R-B=10

100110001001

0

,

R=100<B ⇒ Q=0 et R=100

100001001 0111

0R=1000<B ⇒ Q=0 et R=1000

1R=10000≥B ⇒ Q=1 et R-B=111

Opération sur 5 bits

T.EA

238

0111

Q

1Q

Page 120: 80876357-Electronique-Numerique-1

Division binaireResultat

Exemple : A/B=1011/1001 0000101101001

Resultat. Soustraction

111000000100100100101

0

0

R=1<B ⇒ Q=0 et R=1

R=10<B ⇒ Q=0 et R=10111001

0010101001

01011

0

0

R=10<B ⇒ Q=0 et R=10

R=101<B ⇒ Q=0 et R=101111100

010010010001001

1,

R=1011 ≥ B ⇒ Q=1 et R-B=10000010

111011010010100001001

0

,

R=100<B ⇒ Q=0 et R=100

111011

1111111000001001 0111

0R=1000<B ⇒ Q=0 et R=1000

1R=10000≥B ⇒ Q=1 et R-B=111000111

T.EA

239

0111

Q

1Q

complémenté

Division binaireA3 B00 B10 B20 B30 0

A B -1 0

-1 0

-1 0

-1 0

-1 0

A3 B00 B10 B20 B30 0

A2

0Q3

-cici+1 -

1 0

-1 0

-1 0

-1 0

-1 0 A1

0Q2

1 0contrôle -1 0

-1 0

-1 0

-1 0

-1 0 A0

0Q1

A ou A-B

-1 0

-1 0

-1 0

-1 0

-1 0 0

0Q0

A B

c

-1 0

-1 0

-1 0

-1 0

-1 0 0

0Q-1

cici+1 -1 0contrôle

-1 0

-1 0

-1 0

-1 0

-1 0 0

0Q-2

T.EA

240-1 0

-1 0

-1 0

-1 0

-1 0

0Q-3

Page 121: 80876357-Electronique-Numerique-1

Autres opérateurs

Exponentielle

Logarithme

Fonctions trigonométriquesFonctions trigonométriques

Racine carré

Transformée de Fourier

….

T.EA

241