bci - tpsp - Électronique numérique intégrée numérique/eni.pdf · td5 td5 utilisation et...

235
BCI - TPSP - Électronique Numérique Intégrée Jean-Luc Danger Sylvain Guilley Philippe Matherat Yves Mathieu Lirida Naviner Alexis Polti Jean Provost 26 septembre 2005

Upload: hoanglien

Post on 13-Sep-2018

251 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

BCI - TPSP - Électronique Numérique Intégrée

Jean-Luc DangerSylvain Guilley

Philippe MatheratYves MathieuLirida NavinerAlexis PoltiJean Provost

26 septembre 2005

Page 2: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Résumé

Polycopié des cours du module ENI (Électronique Numérique Intégrée) de Telecom Paris.

Le polycopié est disponible au format PDF à l’adresse suivante :

http ://www.comelec.enst.fr/tpsp/eni/poly/eni.pdf

L’accès est libre depuis l’ENST ou Eurécom.

Les corrigés des TD sont accessibles à l’adresse suivante :

http ://www.comelec.enst.fr/tpsp/eni/poly_corr/

Cours 1A Cours 2A Intitulé

L1 L1 Traitement matériel de l’information (chapitre 1 page 21)

LG2 LG2 Fonctions de base, bibliothèque (chapitre 2 page 35)

LG3 LG3 Opérateurs arithmétiques (chapitre 3 page 49)

TD1 TD1 Fonctions de base : applications (chapitre 10 page 167)

TP9 TP3 Combinatoire dans CLP

L1 SC L4 Du Silicium aux transistors (chapitre 4 page 59)

L4 L5 Du Transistor à la logique complémentaire (chapitre 5 page 83)

TD2 TD2 Analyse et synthèse de portes logiques (chapitre 12 page 173)

L5 L6 Performances de la logique complémentaire CMOS (chapitre 6 page 99)

TD3 TD3 Temps de propagation, surface, bibliothèques (chapitre 13 page 177)

TP10 TP4 Caractérisation électrique de portes

LG6 LG7 Logique séquentielle synchrone, bascules (chapitre 7 page 111)

TD4 TD4 Utilisation des bascules (chapitre 14 page 181)

LG7 LG8 Machines à états finis (chapitre 8 page 125)

TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185)

TP11 Machines à états dans CLP

LG8 LG9 Processeurs (chapitre 9 page 143)

LG9 Processeurs (2) (chapitre 9 page 143)

TP12 TP5 Nano processeur dans CLP

CC CC Contrôle de connaissances

Page 3: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

2

Page 4: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Table des matières

Table des matières 3

Liste des tableaux 11

Table des figures 15

I Leçons 19

1 Traitement matériel de l’information 211.1 Du composant au systèmes numériques . . . . . . . . . . . . . . . . . . . . . . . . . 211.2 Signal et Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

1.2.1 Signal électrique et traitement de l’information . . . . . . . . . . . . . . . . 221.2.2 Codage analogique de l’information : l’exemple du signal sonore . . . . . . . 241.2.3 Codage numérique de l’information . . . . . . . . . . . . . . . . . . . . . . . 241.2.4 L’exemple du signal binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.3 Le signal binaire représenté par une grandeur électrique . . . . . . . . . . . . . . . 271.3.1 Comment peut-on générer un signal électrique binaire ? . . . . . . . . . . . 271.3.2 Comment peut-on extraire un symbole binaire d’un signal électrique ? . . . 271.3.3 Comment peut-on créer un opérateur de traitement binaire ? . . . . . . . . 29

1.4 La technologie micro-électronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.4.1 Quelles propriétés des matériaux peut-on exploiter pour créer des transistors ? 301.4.2 Quelles sont les différentes étapes de la fabrication des circuits intégrés ? . . 31

1.5 Les filières technico-économiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.5.1 La recherche d’un optimum de rendement dans l’utilisation de la technologie 311.5.2 Les circuits « universels » tels les microprocesseurs . . . . . . . . . . . . . . 321.5.3 Les circuits spécifiques à une application . . . . . . . . . . . . . . . . . . . . 321.5.4 Les circuits logiques programmables . . . . . . . . . . . . . . . . . . . . . . 331.5.5 Les systèmes intégrés sur puces . . . . . . . . . . . . . . . . . . . . . . . . . 33

1.6 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2 Fonctions de base 352.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.2 Variables et fonctions logiques, tables de vérité . . . . . . . . . . . . . . . . . . . . 352.3 Représentations des fonctions logiques . . . . . . . . . . . . . . . . . . . . . . . . . 36

2.3.1 Formes algébriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.3.2 Forme disjonctive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.3.3 Forme conjonctive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.3.4 Équivalence entre la table de vérité et les formes canoniques . . . . . . . . . 372.3.5 Forme canonique disjonctive . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.3.6 Forme canonique conjonctive . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.4 Description de méthodes de simplification . . . . . . . . . . . . . . . . . . . . . . . 382.4.1 Utilisation des propriétés de l’algèbre de Boole . . . . . . . . . . . . . . . . 392.4.2 Simplification à partir de la forme algébrique . . . . . . . . . . . . . . . . . 392.4.3 Méthode des tables de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . 40

3

Page 5: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4 TABLE DES MATIÈRES

2.4.4 Construction du tableau de Karnaugh . . . . . . . . . . . . . . . . . . . . . 402.4.5 Règles de simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.4.6 Fonctions non complètement définies . . . . . . . . . . . . . . . . . . . . . . 422.4.7 Pertinence de la méthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.5 Représentation schématique des fonctions logiques . . . . . . . . . . . . . . . . . . 432.6 Quelques fonctions combinatoires importantes . . . . . . . . . . . . . . . . . . . . . 44

2.6.1 Fonctions d’aiguillage : multiplexeurs . . . . . . . . . . . . . . . . . . . . . . 442.6.2 Opérateurs de comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

2.7 Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.7.1 Exercice de consolidation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462.7.2 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3 Opérateurs arithmétiques 493.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.2 Représentation (codage) des nombres . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.2.1 Représentation Simples de Position . . . . . . . . . . . . . . . . . . . . . . . 493.2.2 Conversions entre Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2.3 Représentation en Signe et Valeur Absolue . . . . . . . . . . . . . . . . . . 513.2.4 Représentation en Complément à 2 . . . . . . . . . . . . . . . . . . . . . . . 513.2.5 Autres Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3.3 Fonctions arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.3.1 Additionneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.3.2 Soustracteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4 Du silicium aux transistors 594.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.1.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.1.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594.1.3 Organisation de la leçon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.2 Circuit élémentaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.3 Rappels de physique simplifiée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.3.1 Notion de courant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.3.2 Conducteur, semi-conducteur, dopages . . . . . . . . . . . . . . . . . . . . . 624.3.3 La jonction PN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.4 Composants MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.4.1 Première étape : la résistance . . . . . . . . . . . . . . . . . . . . . . . . . . 664.4.2 Seconde étape : la diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.4.3 Troisième étape : le transistor bipolaire . . . . . . . . . . . . . . . . . . . . 67

4.5 Le transistor MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.5.1 Le fonctionnement des transistors CMOS . . . . . . . . . . . . . . . . . . . 684.5.2 Connexions des transistors . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.6 Modèle électrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.6.1 Les jonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.6.2 Formation du canal : la capacité MOS CGB . . . . . . . . . . . . . . . . . . 704.6.3 Le courant drain-source (VGB > VTN ) . . . . . . . . . . . . . . . . . . . . . 724.6.4 Le condensateur élémentaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.6.5 Calcul de IDS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.6.6 Le courant IDS en résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.6.7 La tension de seuil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.6.8 Conclusion sur le courant IDS . . . . . . . . . . . . . . . . . . . . . . . . . . 784.6.9 Modélisation des capacités . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.6.10 Schéma du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

4.7 Caractéristiques de la technologie CMOS . . . . . . . . . . . . . . . . . . . . . . . 804.7.1 Intégrabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.7.2 Diminution des géométries “scaling down” . . . . . . . . . . . . . . . . . . . 80

4.8 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Page 6: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

TABLE DES MATIÈRES 5

5 Du transistor à la logique CMOS 835.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.1.2 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

5.2 Modèle en interrupteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.2.1 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835.2.2 Quelques montages simples . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.3 La logique complémentaire CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.3.2 Notion de complémentarité . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.3.3 Porte complexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.3.4 Exemple d’analyse d’une porte logique . . . . . . . . . . . . . . . . . . . . . 905.3.5 Exemples de synthèse d’une porte logique . . . . . . . . . . . . . . . . . . . 91

5.4 Vitesse de traitement d’un circuit intégré numérique CMOS . . . . . . . . . . . . . 935.4.1 Notion de chemin critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.4.2 Notion de temps de propagation . . . . . . . . . . . . . . . . . . . . . . . . 935.4.3 Modèle du temps de propagation d’une porte CMOS . . . . . . . . . . . . . 945.4.4 Temps de propagation dans un assemblage de portes logiques. . . . . . . . . 95

5.5 Rappels du modèle électrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.5.1 Connexions et tensions appliquées . . . . . . . . . . . . . . . . . . . . . . . 965.5.2 Rappels du modèle électrique et des symboles . . . . . . . . . . . . . . . . . 96

5.6 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6 Performances de la logique complémentaire CMOS 996.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.2 Coût de production d’un circuit intégré numérique CMOS . . . . . . . . . . . . . . 996.3 Estimation de la vitesse de la logique CMOS . . . . . . . . . . . . . . . . . . . . . 100

6.3.1 Expression du temps de propagation d’un inverseur CMOS . . . . . . . . . 1006.3.2 Modèle du temps de propagation de l’inverseur CMOS . . . . . . . . . . . . 1026.3.3 Schéma synthétique de l’inverseur . . . . . . . . . . . . . . . . . . . . . . . 1036.3.4 Schéma synthétique d’une porte CMOS quelconque . . . . . . . . . . . . . . 1036.3.5 Notion de bibliothèque de cellules précaractérisées . . . . . . . . . . . . . . 1046.3.6 Influence du dimensionnement des transistors sur les caractéristiques de l’in-

verseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.4 Consommation des circuits intégrés CMOS . . . . . . . . . . . . . . . . . . . . . . 106

6.4.1 Consommation d’une porte CMOS . . . . . . . . . . . . . . . . . . . . . . . 1066.4.2 Extrapolation à un circuit intégré CMOS . . . . . . . . . . . . . . . . . . . 107

6.5 Évolution technologique et conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 108

7 Logique séquentielle synchrone, bascules 1117.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

7.1.1 Comment reconnaître la logique séquentielle ? . . . . . . . . . . . . . . . . . 1117.1.2 Comment construire la logique séquentielle ? . . . . . . . . . . . . . . . . . . 112

7.2 Les bascules D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.2.1 Le point mémoire élémentaire . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.2.2 structure avec 2 inverseurs tête bêche : bascule RS et RAM statique . . . . 1157.2.3 De la bascule RS à la bascule D sur état : le latch . . . . . . . . . . . . . . 1167.2.4 La bascule D sur front ou Flip-Flop . . . . . . . . . . . . . . . . . . . . . . 1177.2.5 Conditions d’utilisation de la bascule . . . . . . . . . . . . . . . . . . . . . . 118

7.3 Exemples fondamentaux de la logique séquentielle synchrone . . . . . . . . . . . . 1197.3.1 Le mécanisme de décalage avec un registre à décalage . . . . . . . . . . . . 1197.3.2 Le mécanisme de comptage . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.3.3 Principe de sérialisation des calculs . . . . . . . . . . . . . . . . . . . . . . . 1217.3.4 Principe d’accélération des calculs par la mise en pipeline . . . . . . . . . . 122

Page 7: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

6 TABLE DES MATIÈRES

8 Machines à états 1258.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1258.2 Le graphe d’états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

8.2.1 Comment représenter graphiquement le comportement d’une machine à états ?1268.2.2 Comment vérifier cette représentation à l’aide de quelques règles simples ? . 129

8.3 La composition d’une machine à états . . . . . . . . . . . . . . . . . . . . . . . . . 1318.3.1 Le calcul de l’état futur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.3.2 Le registre d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.3.3 Le calcul des sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

8.4 Le codage des états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1338.4.1 Comment représenter les différents états sous forme de mots binaires ? . . . 1338.4.2 En quoi le codage choisi influe-t-il sur la taille de la machine à états ? . . . 1348.4.3 Quelles méthodes permettent de choisir le meilleur codage possible ? . . . . 135

8.5 La conception d’une machine à états . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.5.1 machine à états principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378.5.2 Machine à états du minuteur . . . . . . . . . . . . . . . . . . . . . . . . . . 139

9 Des machines à états aux processeurs 1439.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

9.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1439.1.2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1439.1.3 Instructions et données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1449.1.4 de la feuille à l’électronique . . . . . . . . . . . . . . . . . . . . . . . . . . . 1449.1.5 Interlude rappel : fonctionnement de la RAM . . . . . . . . . . . . . . . . . 145

9.2 Étape 1 : automate linéaire basique . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469.2.1 Organisation de la mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469.2.2 Les instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479.2.3 Fonctionnement de l’automate . . . . . . . . . . . . . . . . . . . . . . . . . 147

9.3 Étape 2 : automate avec accumulateur . . . . . . . . . . . . . . . . . . . . . . . . . 1489.3.1 Chaînage des opérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1489.3.2 L’accumulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

9.4 Étape 3 : automate avec accumulateur et indirection . . . . . . . . . . . . . . . . . 1499.4.1 Indirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149

9.5 Étape 4 : processeur RISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1509.5.1 Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1509.5.2 Sauts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

9.6 Étape 5 : optimisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1529.7 Réponse 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

9.7.1 Les adresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1529.7.2 Les données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

9.8 Réponse 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1569.9 Réponses 3 et 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

9.9.1 Les adresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1579.9.2 Les données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1579.9.3 L’accumulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1579.9.4 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1589.9.5 Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

9.10 Réponse 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1599.10.1 Les adresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

9.11 Réponse 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1609.11.1 Flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1609.11.2 ADDC / SUBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

9.12 Réponse 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1609.13 Réponse 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629.14 Réponse 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

9.14.1 ROL / ROR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

Page 8: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

TABLE DES MATIÈRES 7

9.14.2 Sortie BZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

II TD 165

10 TD - Fonctions de base 16710.1 Simplification algébrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16710.2 Simplification par tableau de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . 16710.3 Fonction F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16710.4 Fonction G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16710.5 Décodage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16710.6 Génération de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

11 TD - Opérateurs arithmétiques 17111.1 Représentation en complément à 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 17111.2 Addition en complément à 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17111.3 Soustraction et comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17111.4 Multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

12 TD - Analyse et synthèse en portes logiques 17312.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17312.2 Analyse d’une porte complexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

12.2.1 Analyse de la fonction à l’aide du réseau de transistors P . . . . . . . . . . 17312.2.2 Analyse de la fonction à l’aide du réseau de transistors N . . . . . . . . . . 17412.2.3 L’implémentation est elle unique ? . . . . . . . . . . . . . . . . . . . . . . . 174

12.3 Analyse de portes présentant des dysfonctionnements . . . . . . . . . . . . . . . . . 17412.3.1 Quelle est la "bonne" ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17412.3.2 Causes de dysfonctionnements . . . . . . . . . . . . . . . . . . . . . . . . . 174

12.4 Synthèse de la fonction Majorité . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17412.4.1 Construction CMOS de la fonction Majorité complémentée . . . . . . . . . 17412.4.2 Optimisation de la fonction Majorité complémentée . . . . . . . . . . . . . 174

12.5 Synthèse d’un Additionneur 1 bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17512.5.1 Construction de la retenue Ri+1 en CMOS . . . . . . . . . . . . . . . . . . 17512.5.2 Construction de la sortie Si en CMOS . . . . . . . . . . . . . . . . . . . . . 17512.5.3 Évaluation de l’aire de la surface d’un additionneur . . . . . . . . . . . . . . 175

13 TD - Performances de la logique complémentaire CMOS 17713.1 Objectifs du TD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17713.2 Temps de propagation d’une fonction décodeur . . . . . . . . . . . . . . . . . . . . 17713.3 Amélioration du décodeur par amplification logique . . . . . . . . . . . . . . . . . . 17813.4 Généralisation du principe de l’amplification logique . . . . . . . . . . . . . . . . . 17813.5 Annexe : Bibliothèque de cellules précaractérisées . . . . . . . . . . . . . . . . . . . 179

14 TD - Utilisation des bascules 18114.1 Mise en pipeline d’une fonction combinatoire . . . . . . . . . . . . . . . . . . . . . 181

14.1.1 Analyse de la fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18114.1.2 Augmentation de la fréquence de fonctionnement avec un étage de pipeline 18114.1.3 Optimisation en performances . . . . . . . . . . . . . . . . . . . . . . . . . . 18214.1.4 Compromis performances/surface . . . . . . . . . . . . . . . . . . . . . . . . 182

14.2 Changement de format série ↔ Parallèle . . . . . . . . . . . . . . . . . . . . . . . 18214.2.1 Conversion série → parallèle . . . . . . . . . . . . . . . . . . . . . . . . . . . 18214.2.2 Conversion parallèle → série . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

14.3 Calcul de parité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18414.3.1 Calcul de parité sur un mot parallèle . . . . . . . . . . . . . . . . . . . . . . 18414.3.2 Calcul de parité sur un mot série . . . . . . . . . . . . . . . . . . . . . . . . 184

Page 9: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8 TABLE DES MATIÈRES

15 TD - Synthèse et utilisation des machines à états synchrones 18515.1 Qu’est-ce qu’un bus de communication ? . . . . . . . . . . . . . . . . . . . . . . . . 18515.2 Le contrôleur de bus simple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

15.2.1 Le graphe d’états. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18615.2.2 Une optimisation possible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18715.2.3 Réalisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

15.3 Le problème de l’équité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18915.3.1 Le contrôleur équitable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18915.3.2 L’arbitre équitable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

III TP 191

16 TP - Combinatoire dans un CLP 193

17 TP - Caractérisation du transistor MOS 19517.1 Sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19517.2 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19517.3 Caractérisation d’un transistor NMOS . . . . . . . . . . . . . . . . . . . . . . . . . 195

17.3.1 Transconductance : Ids = f(Vgs) . . . . . . . . . . . . . . . . . . . . . . . . 19517.3.2 Caractéristique de sortie : Ids = f(Vds) . . . . . . . . . . . . . . . . . . . . . 19617.3.3 Variation de la tension de seuil : VT = f(Vbs) . . . . . . . . . . . . . . . . . 19617.3.4 Étude des régimes de fonctionnement des transistors NMOS et PMOS

La fonction de transfert d’un inverseur CMOS : Vs = f(Ve) . . . . . . . . . 19717.4 Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

17.4.1 Maquette experimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19817.4.2 Utilisation sommaire de l’oscilloscope . . . . . . . . . . . . . . . . . . . . . 20017.4.3 Modèles statique et grand signal . . . . . . . . . . . . . . . . . . . . . . . . 20017.4.4 Modèles de la tension de seuil des transistors MOS . . . . . . . . . . . . . . 200

18 TP - Caractérisation électrique de portes 20318.1 Sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20318.2 Objectifs du TP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20318.3 Caractérisation d’un inverseur CMOS . . . . . . . . . . . . . . . . . . . . . . . . . 203

18.3.1 Étude des régimes de fonctionnement des transistors NMOS et PMOS : lafonction de transfert d’un inverseur CMOS . . . . . . . . . . . . . . . . . . 203

18.4 Extraction des capacités d’entrée et de sortie de l’inverseur . . . . . . . . . . . . . 20418.5 Détermination des temps de propagation de l’inverseur . . . . . . . . . . . . . . . . 20518.6 Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

18.6.1 Maquette experimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20618.6.2 Utilisation sommaire de l’oscilloscope . . . . . . . . . . . . . . . . . . . . . 20818.6.3 Modèles statique et grand signal . . . . . . . . . . . . . . . . . . . . . . . . 20818.6.4 Rappels sur le modèle de temps de propagation de l’inverseur CMOS . . . . 208

19 TP - Modélisation et caractérisation de transistors et d’opérateurs logiquesCMOS 21119.1 Sommaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21119.2 Objectifs du TP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21119.3 Caractérisation d’un transistor NMOS . . . . . . . . . . . . . . . . . . . . . . . . . 211

19.3.1 Transconductance : Ids = f(Vgs) . . . . . . . . . . . . . . . . . . . . . . . . 21119.4 Caractérisation d’un inverseur CMOS . . . . . . . . . . . . . . . . . . . . . . . . . 212

19.4.1 Étude des régimes de fonctionnement des transistors NMOS et PMOS : lafonction de transfert d’un inverseur CMOS . . . . . . . . . . . . . . . . . . 212

19.5 Extraction des capacités d’entrée et de sortie de l’inverseur . . . . . . . . . . . . . 21319.6 Détermination des temps de propagation de l’inverseur . . . . . . . . . . . . . . . . 21419.7 Annexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Page 10: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

TABLE DES MATIÈRES 9

19.7.1 Maquette experimentale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21519.7.2 Utilisation sommaire de l’oscilloscope . . . . . . . . . . . . . . . . . . . . . 21519.7.3 Modèles statique et grand signal . . . . . . . . . . . . . . . . . . . . . . . . 21619.7.4 Rappels sur le modèle de temps de propagation de l’inverseur CMOS . . . . 218

20 TP - Machines à états dans un CLP 219

21 TP - Nanoprocesseur 221

IV Annexes 223

22 Rappels de physiques 22522.1 Courant, conductivité, résistivité, résistance . . . . . . . . . . . . . . . . . . . . . . 225

22.1.1 Notion de courant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22522.1.2 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

22.2 Champ électrique et potentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22522.3 Conducteur, isolant, semi-conducteur . . . . . . . . . . . . . . . . . . . . . . . . . . 226

22.3.1 Conducteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22622.3.2 Isolant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22622.3.3 Semi-conducteur pur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22722.3.4 Semi-conducteur dopé N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22722.3.5 Semi-conducteur dopé P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

22.4 Introduction aux composants actifs à semi-conducteur . . . . . . . . . . . . . . . . 22922.4.1 La jonction PN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229

22.5 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

Index 233

Page 11: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

10 TABLE DES MATIÈRES

Page 12: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Liste des tableaux

2.1 Table de vérité d’une fonction de 3 variables. . . . . . . . . . . . . . . . . . . . . . 362.2 Table de vérité d’une fonction partiellement définie. . . . . . . . . . . . . . . . . . . 362.3 Opérateur NON. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.4 Opérateur OU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.5 Opérateur ET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.6 Table de vérité de la fonction H : états associés et mintermes. . . . . . . . . . . . . 382.7 Table de vérité de la fonction H : états associés et maxtermes. . . . . . . . . . . . 382.8 Table de vérité de la fonction F : états associés et mintermes. . . . . . . . . . . . . 412.9 Table de Karnaugh de la fonction F . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.10 Correspondance des mintermes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.11 Adjacence : a = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.12 Adjacence : c = 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.13 Table de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.14 Premier pavage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.15 Deuxième pavage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.16 Table de Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.17 Premier pavage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.18 Deuxième pavage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.19 Table de vérité et symbole des opérateurs XNOR . . . . . . . . . . . . . . . . . . . 462.20 Table de vérité et symbole des opérateurs XOR . . . . . . . . . . . . . . . . . . . . 46

3.1 Exemple conversion binaire-décimal . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.2 Exemple de différents codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.3 Table de vérité de l’additionneur complet . . . . . . . . . . . . . . . . . . . . . . . 543.4 Table si . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.5 Table ri+1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.6 Table de vérité du soustracteur complet . . . . . . . . . . . . . . . . . . . . . . . . 573.7 Table di . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.8 Table ri+1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.1 paramètres communs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.2 paramètres du conducteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.3 paramètres du Silicium pur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.4 paramètres du Silicium dopé N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.5 paramètres du Silicium dopé P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.6 paramètres d’une jonction PN en technologie CMOS 0, 5µm . . . . . . . . . . . . . 664.7 Connexions des transistors CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.8 La capacité MOS CGB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.9 Régimes de la capacité MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.10 Transistor NMOS en régime quadratique . . . . . . . . . . . . . . . . . . . . . . . . 744.11 Transistor NMOS au pincement (point de saturation) . . . . . . . . . . . . . . . . 754.12 Transistor NMOS en régime saturé . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.13 Courant et résistance équivalente du NMOS . . . . . . . . . . . . . . . . . . . . . . 774.14 Courant et résistance équivalente du PMOS . . . . . . . . . . . . . . . . . . . . . . 77

11

Page 13: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

12 LISTE DES TABLEAUX

4.15 Capacités des jonctions du NMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.16 Capacités des jonctions du NMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.17 Bilan des capacités de grille du NMOS . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.1 Modèle en interrupteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.2 FAB = a · b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.3 FAB = a · b = a+ b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.4 FAB = a · b+ a · b+ a · b = a+ b . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.5 FAB = a · b+ a · b+ a · b = a · b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.6 Charge/décharge d’une capacité par un NMOS . . . . . . . . . . . . . . . . . . . . 895.7 Analyse d’une porte logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.8 Analyse d’une porte logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.9 schémas en transistors d’une porte NAND2 et d’une porte NOR2 . . . . . . . . . . 925.10 synthèse de fonctions non complémentées à l’aide de portes en logique complémentaire 925.11 connexions des transistors CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 965.12 Courant et résistance équivalente du NMOS . . . . . . . . . . . . . . . . . . . . . . 975.13 Courant et résistance équivalente du PMOS . . . . . . . . . . . . . . . . . . . . . . 98

6.1 Tensions aux bornes de transistors pour les instants 0+ et tpd . . . . . . . . . . . . . 1006.2 Une bibliothèque précaractérisée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

7.1 Table de vérité de la bascule D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

8.1 Exemples de codage des états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1348.2 Spécification de l’interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378.3 Codage des états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378.4 Table d’évolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1388.5 spécification de l’interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1398.6 Spécification de la programmation du minuteur . . . . . . . . . . . . . . . . . . . . 140

9.1 Nouveau jeu d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499.2 Organisation de la mémoire, avant exécution du programme . . . . . . . . . . . . . 1509.3 Organisation de la mémoire, après exécution du programme . . . . . . . . . . . . . 1519.4 Nouveau jeu d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

10.1 Table de vérité de la fonction F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16810.2 Table de vérité de la fonction G. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16810.3 Table de vérité de la fonction de conversion BCD → « 2 parmi 5 ». . . . . . . . . . 169

13.1 Une bibliothèque précaractérisée simple. . . . . . . . . . . . . . . . . . . . . . . . . 179

14.1 Surface des éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18214.2 Spécifications de D-EN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18214.3 Spécifications de SER-PAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18314.4 Spécifications de D-EN-LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18314.5 Spécifications de PAR-SER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184

15.1 Spécification du contrôleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

17.1 Schéma du montage 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19617.2 Schéma du montage 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19617.3 Schéma du montage 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19717.4 Conditions de mesures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19717.5 Schéma du montage 4 et graphe de la fonction de transfert . . . . . . . . . . . . . 19817.6 Disposition des transistors sur la maquette . . . . . . . . . . . . . . . . . . . . . . . 19817.7 Connexion des générateurs de tension continue . . . . . . . . . . . . . . . . . . . . 19917.8 Câblage des différents éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

Page 14: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

LISTE DES TABLEAUX 13

17.9 Équations des transistors MOS (voir schéma figure 17.2 page 200) . . . . . . . . . 201

18.1 Schéma du montage 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20418.2 Schéma du montage 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20518.3 Disposition des transistors sur la maquette . . . . . . . . . . . . . . . . . . . . . . . 20618.4 Connexion des générateurs de tension continue . . . . . . . . . . . . . . . . . . . . 20718.5 Câblage des différents éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20718.6 Équations des transistors MOS (voir schéma figure 18.3 page 208) . . . . . . . . . 209

19.1 Schéma du montage 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21219.2 Schéma du montage 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21319.3 Schéma du montage 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21419.4 Disposition des transistors sur la maquette . . . . . . . . . . . . . . . . . . . . . . . 21519.5 Connexion des générateurs de tension continue . . . . . . . . . . . . . . . . . . . . 21619.6 Câblage des différents éléments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21619.7 Équations des transistors MOS (voir schéma figure 19.3 page 217) . . . . . . . . . 217

22.1 En résumé, pour un métal conducteur (T = 300˚K) . . . . . . . . . . . . . . . . . 22722.2 En résumé, pour le silicium intrinsèque (T = 300˚K, θ = 27˚C) . . . . . . . . . . 22822.3 En résumé, pour le silicium dopé N (T = 300˚K, θ = 27˚C) . . . . . . . . . . . . 22922.4 En résumé, pour le silicium dopé P (T = 300˚K, θ = 27˚C) . . . . . . . . . . . . 23022.5 la jonction PN : modèle du courant (direct et inverse) . . . . . . . . . . . . . . . . 23022.6 la jonction PN en inverse (VPN ≤ 0V ) : modèle de courant et de capacité . . . . . 23122.7 la jonction PN en inverse (VPN ≤ 0V ) . . . . . . . . . . . . . . . . . . . . . . . . . 232

Page 15: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

14 LISTE DES TABLEAUX

Page 16: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Table des figures

1.1 Complexité des niveaux hiérarchiques. . . . . . . . . . . . . . . . . . . . . . . . . . 211.2 Complexité des niveaux hiérarchiques. . . . . . . . . . . . . . . . . . . . . . . . . . 221.3 Le signal électrique support de l’information... . . . . . . . . . . . . . . . . . . . . . 221.4 Le signal mécanique support de l’information... . . . . . . . . . . . . . . . . . . . . 231.5 Claude Shannon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231.6 L’audition moyenne d’un être humain . . . . . . . . . . . . . . . . . . . . . . . . . 241.7 Un signal multivalué codant une valeur numérique . . . . . . . . . . . . . . . . . . 251.8 Une liaison à la fréquence 3 · Fm est équivalente à 3 liaisons opérants à la fréquence

Fm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.9 Un signal binaire : signal électrique et interprétation. . . . . . . . . . . . . . . . . . 271.10 Un signal binaire distordu, atténué et bruité, mais reconstruit. . . . . . . . . . . . 271.11 Génération d’un signal binaire avec une source de tension, une résistance et un

interrupteur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.12 Le transistor interrupteur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.13 Fonctions de transfert de l’inverseur. . . . . . . . . . . . . . . . . . . . . . . . . . . 281.14 Fonction NOR2 : schéma et table de vérité . . . . . . . . . . . . . . . . . . . . . . . 291.15 Fonction mémorisation : schéma et fonctions de transfert . . . . . . . . . . . . . . . 291.16 Vue en coupe d’un transistor NMOS . . . . . . . . . . . . . . . . . . . . . . . . . . 301.17 Encapsulation d’un circuit intégré dans un boîtier. . . . . . . . . . . . . . . . . . . 32

2.1 Symboles des portes élémentaires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432.2 Un exemple de schéma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442.3 Multiplexeur à deux entrées (Mux2). . . . . . . . . . . . . . . . . . . . . . . . . . . 442.4 Schéma interne d’un multiplexeur à 4 entrées avec entrée de validation. . . . . . . 452.5 Reformulation du multiplexeur à 4 entrées. . . . . . . . . . . . . . . . . . . . . . . 452.6 Test d’égalité de deux mots de 4 bits. . . . . . . . . . . . . . . . . . . . . . . . . . 462.7 Afficheur 7 segments. Un segment = une diode électro-luminescente. . . . . . . . . 472.8 Tableau de Karnaugh de a = F (A,B,C,D). . . . . . . . . . . . . . . . . . . . . . . 47

3.1 Équations algébriques, table de vérité et schéma d’un demi-additionneur. . . . . . 543.2 Exemple de schéma pour l’additionneur complet. . . . . . . . . . . . . . . . . . . . 553.3 Additionneur à retenue série. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.4 Equations algébriques, table de vérité et schéma d’un demi-soustracteur. . . . . . . 563.5 Schéma interne du soustracteur complet. . . . . . . . . . . . . . . . . . . . . . . . . 57

4.1 Circuit élémentaire inverseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604.2 Résistance d’un tube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.3 Résistance en technologie MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.4 Diodes en technologie MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.5 Transistor bipolaire en technologie MOS . . . . . . . . . . . . . . . . . . . . . . . . 674.6 le transistor MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.7 Coupe simplifiée d’une technologie CMOS . . . . . . . . . . . . . . . . . . . . . . . 694.8 Jonctions DB et SB isolées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.9 Condensateur élémentaire cgb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

15

Page 17: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

16 TABLE DES FIGURES

4.10 VT = VT0 + f(VSB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 784.11 Schéma du modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.1 Circuit Résistance Transistor Logique . . . . . . . . . . . . . . . . . . . . . . . . . 865.2 l’inverseur CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.3 Régime statique : les 2 états statiques de l’inverseur . . . . . . . . . . . . . . . . . 875.4 l’inverseur CMOS et sa charge capacitive . . . . . . . . . . . . . . . . . . . . . . . 875.5 schéma de principe de la logique complétaire . . . . . . . . . . . . . . . . . . . . . 885.6 schéma du fonctionnement de la logique complémentaire . . . . . . . . . . . . . . . 885.7 Quelques chemins de propagation... . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.8 Temps de propagation dans une porte . . . . . . . . . . . . . . . . . . . . . . . . . 945.9 Capacité d’entrée de l’entrée A d’une porte NAND . . . . . . . . . . . . . . . . . . 945.10 Charge et décharge de la capacité d’entrée CEA d’un NAND . . . . . . . . . . . . 955.11 Temps de propagation dans un assemblage de portes . . . . . . . . . . . . . . . . . 95

6.1 Étude de cas de l’inverseur CMOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1006.2 Simulation électrique de l’inverseur CMOS. . . . . . . . . . . . . . . . . . . . . . . 1016.3 Conditions de mesures des transitions des signaux. . . . . . . . . . . . . . . . . . . 1016.4 Évolution du courant drain-source du transistor NMOS durant la transition descen-

dante. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1026.5 Schéma synthétique de l’inverseur CMOS. . . . . . . . . . . . . . . . . . . . . . . . 1036.6 Deux inverseurs en série. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046.7 Schéma synthétique d’une porte NAND. . . . . . . . . . . . . . . . . . . . . . . . . 1046.8 Dissipation de l’énergie dans une porte CMOS. . . . . . . . . . . . . . . . . . . . . 107

7.1 Chronogramme d’un circuit combinatoire . . . . . . . . . . . . . . . . . . . . . . . 1127.2 Chronogramme d’un circuit séquentiel . . . . . . . . . . . . . . . . . . . . . . . . . 1127.3 Chronogramme avec les variables internes . . . . . . . . . . . . . . . . . . . . . . . 1137.4 structure de base d’un circuit en logique séquentielle . . . . . . . . . . . . . . . . . 1137.5 Structure de base d’un circuit en logique séquentielle synchrone . . . . . . . . . . . 1147.6 Chronogramme du signal d’horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.7 Point mémoire basé sur un amplificateur rebouclé . . . . . . . . . . . . . . . . . . . 1147.8 Fonction de transfert de l’amplificateur . . . . . . . . . . . . . . . . . . . . . . . . . 1157.9 Convergence vers un état stable en ne partant pas de X . . . . . . . . . . . . . . . 1157.10 inverseurs en tête bêche pour la mémorisation . . . . . . . . . . . . . . . . . . . . . 1167.11 bascule RS avec une structure NAND et NOR . . . . . . . . . . . . . . . . . . . . . 1167.12 Point mémoire RAM statique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1167.13 Structure de la bascule D sur état ou latch . . . . . . . . . . . . . . . . . . . . . . 1177.14 structure de la bascule D à partir de latches . . . . . . . . . . . . . . . . . . . . . . 1177.15 Chronogramme de la bascule D avec 2 latches . . . . . . . . . . . . . . . . . . . . . 1177.16 Symbole de la bascule D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1187.17 Caractéristiques temporelles de la bascule D . . . . . . . . . . . . . . . . . . . . . . 1197.18 Temps de propagation à considérer en logique séquentielle . . . . . . . . . . . . . . 1197.19 registre à décalage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197.20 Chronogramme du registre à décalage . . . . . . . . . . . . . . . . . . . . . . . . . 1207.21 Compteur binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1207.22 Accumulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217.23 Chronogramme de l’accumulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1227.24 circuit séquentiel de traitement de flot de données . . . . . . . . . . . . . . . . . . 1227.25 Circuit séquentiel de traitement de flot de données après décomposition en sous

fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237.26 Circuit séquentiel de traitement de flot de données après décomposition en sous

fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

8.1 Architecture générique d’un circuit électronique . . . . . . . . . . . . . . . . . . . . 1258.2 Schéma d’un machine à état générique . . . . . . . . . . . . . . . . . . . . . . . . . 126

Page 18: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

TABLE DES FIGURES 17

8.3 Où rencontrer les machines à états . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268.4 Graphe d’état au départ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1278.5 Graphe d’état avec quelques transitions . . . . . . . . . . . . . . . . . . . . . . . . 1278.6 Graphe d’état avec les transitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1288.7 Graphe d’état avec les transitions spécifiées . . . . . . . . . . . . . . . . . . . . . . 1298.8 Graphe d’état final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298.9 Graphe d’état final . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308.10 Calcul de l’état futur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318.11 Graphe d’état avec Reset synchrone . . . . . . . . . . . . . . . . . . . . . . . . . . 1328.12 Graphe d’état avec Reset Asynchrone . . . . . . . . . . . . . . . . . . . . . . . . . 1338.13 calcul des sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1338.14 Schéma d’une machine à états avec le nombre de bits nécessaires . . . . . . . . . . 1348.15 Graphe avec codage adjacent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.16 Graphe avec codage "one-hot" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1368.17 Graphe avec codage choisi pour la conception . . . . . . . . . . . . . . . . . . . . . 1388.18 Graphe avec codage choisi pour la conception . . . . . . . . . . . . . . . . . . . . . 1398.19 Schéma d’un minuteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1408.20 Schéma d’un minuteur générique avec RAZ automatique . . . . . . . . . . . . . . . 141

9.1 Symbole de la RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1459.2 Exemple d’accès à la RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469.3 schéma global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1469.4 Architecture de la première version . . . . . . . . . . . . . . . . . . . . . . . . . . . 1559.5 Graphe d’états de la première version . . . . . . . . . . . . . . . . . . . . . . . . . 1559.6 Architecture de la deuxième version . . . . . . . . . . . . . . . . . . . . . . . . . . 1589.7 Graphe d’états de la deuxième version . . . . . . . . . . . . . . . . . . . . . . . . . 1589.8 Architecture de la troisième version . . . . . . . . . . . . . . . . . . . . . . . . . . . 1609.9 Graphe d’états de la troisième version . . . . . . . . . . . . . . . . . . . . . . . . . 1609.10 Implémentation du PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619.11 Architecture de la quatrième version . . . . . . . . . . . . . . . . . . . . . . . . . . 1619.12 Graphe d’états de la quatrième version . . . . . . . . . . . . . . . . . . . . . . . . . 1619.13 Architecture de la version finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1629.14 Graphe d’états de la version finale . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

12.1 Porte logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17312.2 Trois portes... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17412.3 Table de vérité de l’Additionneur Complet 1 bit . . . . . . . . . . . . . . . . . . . . 175

13.1 Trois implantations alternatives de la fonction LM20 . . . . . . . . . . . . . . . . . 17713.2 Solution (3) avec amplification logique . . . . . . . . . . . . . . . . . . . . . . . . . 17813.3 Amplification logique généralisée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

14.1 Circuit à étudier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18114.2 Circuit à étudier avec pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18214.3 Bascule D-EN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18314.4 Composant SER-PAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18314.5 Bascule D-EN-LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18314.6 Composant PAR-SER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18414.7 Chronogramme des entrées du calculateur . . . . . . . . . . . . . . . . . . . . . . . 184

15.1 Liaisons point à point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18515.2 Bus central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18615.3 Système de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18715.4 Contrôleur de communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18715.5 Illustration de la perte d’un cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18815.6 Chronogramme optimisé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

Page 19: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

18 TABLE DES FIGURES

15.7 Description fonctionnelle symbolique . . . . . . . . . . . . . . . . . . . . . . . . . . 189

17.1 Schéma de l’inverseur CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19717.2 Schéma du modèle statique et grand signal du transistor MOS . . . . . . . . . . . 20017.3 Variation de la tension de seuil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

18.1 l’inverseur CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20418.2 Montage 4 et chronogrammes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20618.3 Schéma du modèle statique et grand signal du transistor MOS . . . . . . . . . . . 20818.4 Temps de propagation de l’inverseur MOS . . . . . . . . . . . . . . . . . . . . . . . 20918.5 Modèle de l’inverseur MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

19.1 l’inverseur CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21219.2 Montage 4 et chronogrammes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21419.3 Schéma du modèle statique et grand signal du transistor MOS . . . . . . . . . . . 21719.4 Temps de propagation de l’inverseur MOS . . . . . . . . . . . . . . . . . . . . . . . 21819.5 Modèle de l’inverseur MOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

Page 20: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Première partie

Leçons

19

Page 21: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans
Page 22: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 1

Traitement matériel de l’information

1.1 Du composant au systèmes numériques

Alors que le cerveau de l’être humain qui a écrit ce texte comporte 1012 neurones, le micro-ordinateur qui a servi à le mettre en forme comporte au maximum 1010 composants de base :les transistors. Malgré cette relative simplicité, la réalisation de tels systèmes de traitement estdifficilement concevable par un même individu dans sa globalité. La maîtrise de cette complexitéest le résultat d’un découpage hiérarchique aboutissant à des étapes ayant une cohérence soitlogique (fonction) soit physique (composant). La figure 1.1 représente les trois premiers niveaux decette hiérarchisation.

(Transistor 1) (Porte logique 10) (Opérateur 1000)

Fig. 1.1: Complexité des niveaux hiérarchiques.

L’assemblage judicieux de moins d’une dizaine de transistors permet la réalisation des briquesde base du traitement logique : les portes logiques à quelques entrées. Avec le même nombre detransistors, nous pouvons stocker une information binaire (0/1) dans un point mémoire et l’ymaintenir tant que nous fournissons de l’énergie.

Il est possible par l’assemblage de quelques milliers de portes logiques et de fonctions de mémo-risation de créer des opérateurs de calcul ou de traitement tels que des multiplieurs ou des unitésde contrôle.

L’assemblage d’opérateurs permet la création d’un nouveau composant : le circuit intégré. Lesmillions de transistors des circuits intégrés sont réalisés sur un unique carré de matériau semi-conducteur (le silicium) de la taille d’un ongle. Parmi les exemples les plus connus de circuitsintégrés citons le microprocesseur et la mémoire dynamique (DRAM) qui sont au cœur des micro-ordinateurs.

Nous quittons maintenant le domaine de la micro-électronique numérique pour passer à unevision macroscopique illustrée dans la figure 1.2 page suivante.

L’assemblage de circuits intégrés sur des cartes ou circuits imprimés de quelques centaines decm2 permet la réalisation de systèmes de traitements numériques autonomes tels qu’une calcula-trice, un agenda électronique ou un ordinateur de bureau.

21

Page 23: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

22 CHAPITRE 1. TRAITEMENT MATÉRIEL DE L’INFORMATION

(Circuit intégré 108) (Micro-ordinateur 1010) (Système Télécom 10xx)

Fig. 1.2: Complexité des niveaux hiérarchiques.

Enfin, ces systèmes électroniques numériques permettent de réaliser la plupart des fonctions detraitement des réseaux de télécommunications. Bien malin qui peut savoir combien de transistorsont participé à votre dernière conversation téléphonique...

La maîtrise parfaite d’un de ces niveaux de complexité dans ses aspects techniques, scientifiquesou économiques, nécessiterait, à elle seule, une formation d’ingénieur électronicien... De façon réa-liste, nos objectifs sont, dans le cadre d’une « base de connaissances indispensables », d’une partde vous permettre de comprendre le domaine de l’électronique numérique intégrée dans son en-semble et d’autre part, d’acquérir une première expérience concrète de la réalisation d’opérateursnumériques, ce que nous déclinons de manière plus précise par :

• compréhension de la technologie de fabrication et du fonctionnement des transistors ;• maîtrise d’une technique de réalisation de portes logiques ;• maîtrise de techniques de réalisation d’opérateurs ;• compréhension de l’influence de la technologie sur les performances des circuits intégrés ;• compréhension des enjeux techniques et économiques de l’industrie micro-électronique.

1.2 Signal et InformationAvant de nous intéresser au composant électronique il convient de définir son usage, c’est à dire

de définir les caractéristiques des signaux qu’il est sensé générer, transmettre ou modifier.

1.2.1 Signal électrique et traitement de l’informationLe signal électrique est actuellement le support nécessaire à l’ensemble des systèmes de trai-

tement de l’information qui nous sont familiers. Le mot information prend ici un sens très largeque nous expliciterons ultérieurement. Votre télévision (information visuelle), votre chaîne HiFi(information musicale) ou votre micro-ordinateur (programmes...) sont des exemples concrets desystèmes de traitement de l’information utilisant le support électrique.

Fig. 1.3: Le signal électrique support de l’information...

On peut envisager évidemment d’autres supports physiques que le signal électrique (papier,lumière, champs électromagnétiques) il n’en reste pas moins vrai que ces supports, s’ils sont très

Page 24: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

1.2. SIGNAL ET INFORMATION 23

adaptés à la transmission et au stockage de l’information (livres, cédéroms, fibre optiques, téléphoneportable ou par satellite), ne permettent guère de réaliser des fonctions de traitement élaborées.

Fig. 1.4: Le signal mécanique support de l’information...

Nous pouvons mesurer les valeurs instantanées (tension, courant, charges...) d’un signal élec-trique quelconque ainsi que l’évolution de ces valeurs instantanées au cours du temps. Il est possiblede caractériser un tel signal par des grandeurs de forme. La fréquence, la phase et l’amplitude sont,par exemple, trois paramètres caractérisant la forme d’un signal électrique sinusoïdal. Il est fa-cile d’imaginer l’utilisation des variations de ces grandeurs ou paramètres pour représenter uneinformation dont le signal électrique serait porteur, la restitution de l’information se faisant eninterprétant la mesure de ces grandeurs.

Dans un article considéré comme fondateur de la théorie de l’information C.E. Shannon aproposé en 1948 un schéma de communication : l’information est définie comme un élément deconnaissance de l’état d’un système. Une chaîne de communication comporte une source (ou émet-teur) qui émet (code) des messages vers une destination (récepteur). Le récepteur ne peut décoderles informations émises par l’émetteur que s’il connaît l’ensemble des états possibles de la source.Le but de la théorie de l’information est de dégager les lois théoriques qui limitent les performancesdes systèmes de traitement et de communication. Elle permet également l’optimisation des codagesen fonction des contraintes matérielles des systèmes.

Fig. 1.5: Claude Shannon

Page 25: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

24 CHAPITRE 1. TRAITEMENT MATÉRIEL DE L’INFORMATION

1.2.2 Codage analogique de l’information : l’exemple du signal sonore

Signal !analogiqueJusqu’au lancement du « disque compact numérique », mis au point par les sociétés Sony et

Philips au début des années 80, les technologies de stockage et de transfert du son appartenaientau domaine du traitement analogique (signal analogique à temps continu). En clair, depuis lapremière description du téléphone à ficelle (Robert Hooke en 1667) jusqu’à la fin des années 1970,ces techniques se basaient toutes sur la transformation d’un phénomène physique (par exemple unevariation de pression) en un autre phénomène physique (par exemple vibration d’une membrane)se comportant de manière analogue au premier. Le signal électrique analogique sortant d’une têtede lecture d’un lecteur de disque microsillon est un exemple typique de ce codage analogique :la valeur instantanée de la tension à la sortie de la tête de lecture varie comme le signal audioenregistré mécaniquement sur le disque.

Le signal analogique électrique est malheureusement sujet à de nombreux phénomènes quiviennent détériorer la qualité de l’information transmise (atténuation, distortion, bruits para-sites...), la correction de ces phénomènes n’est pas chose aisée et rarement satisfaisante. Ce n’est,de plus, pas un support très pratique dès que l’on envisage d’effectuer des traitements complexes.Les calculateurs analogiques ont eu une brève existence dans les années 60 à 80 lorsque leurshomologues numériques étaient à leurs balbutiements.

N’oublions cependant pas, en reprenant l’exemple de la chaîne de transmission du son, que lecapteur (microphone) de même que l’enceinte acoustique ont un fonctionnement analogique ; letraitement analogique de l’information reste l’indispensable interface avec le monde « réel ».

Fig. 1.6: L’audition moyenne d’un être humain

1.2.3 Codage numérique de l’information

Maintenant, revenons à la théorie de l’information et reprenons l’exemple du signal sonore. Nousne désirons transmettre et stocker que l’information pertinente à notre oreille. Comme le montre lediagramme de la figure 1.6, nous savons que celle-ci ne peut pas distinguer de variations de pressioninférieures à 2×10−5 Pa et qu’elle ne peut supporter de variations de pression supérieures à 20 Pa.On appelle ce rapport la dynamique du signal que l’on a coutume de mesurer en décibel :

Page 26: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

1.2. SIGNAL ET INFORMATION 25

I décibels (dB) = 20× log10(P/P0)

Notre source audio nécessite une dynamique de 120 dB. Cela signifie aussi (au sens de lathéorie de l’information) que le récepteur (l’oreille) ne peut décoder que 106 états différents parpas de 2× 10−5 Pa. D’autre part, nous ne pouvons entendre que des signaux ayant une bande defréquence limitée de 20 Hz à 20 000 Hz. Le théorème d’échantillonnage indique qu’il est possiblede reconstruire avec exactitude un signal à bande limitée à partir d’échantillons de ce signal pris àintervalles réguliers à une fréquence double de la fréquence maximale du signal original. Nousavons donc montré que notre signal sonore pouvait être représenté par une suite de nombresentiers : c’est un signal prenant un nombre discret d’états de manière discrète dans le temps. Nousqualifierons ce signal de signal numérique. L’opération de quantification (discrétisation des états)et d’échantillonnage (discrétisation du temps) nous conduit à redéfinir la notion de dynamique quel’on mesurera en bits (pour « binary digit ») :

N bits = log2(nombre d’états)

Nous pouvons maintenant associer au signal numérique un débit de données mesuré en bits parseconde. Un lecteur de disque compact audio a, par exemple, un débit correspondant à 2 canaux(stéréophonie) échantillonnés à 44,1 kHz sur une dynamique de 16 bits soit 1,41 Mb/sec.

Nous allons donner un support électrique à ce signal numérique. L’idée la plus simple consisteà associer à chaque état du signal une tension et de faire évoluer dans le temps cette tension pourreprésenter la suite de symboles. La figure 1.7 montre un signal électrique multivalué support d’unsignal numérique à trois états prenant successivement les états « 2 », « 1 » et « 0 ». Les plageshachurées représentent des plages de tensions pour lesquelles il n’est pas possible de déterminerl’état du signal ce qui est matérialisé par le symbole « X ».

Fig. 1.7: Un signal multivalué codant une valeur numérique

Remarquons (voir figure 1.8 page suivante), qu’à débit d’information constant nous pouvonsjouer sur le nombre de signaux physiques (ou de fils de liaison) utilisés, le nombre d’états codés et lafréquence de changement des symboles. Ce choix est essentiellement guidé par des considérationsde facilité de traitement et sur la robustesse du codage au regard du bruit ou de l’atténuation dusignal électrique. Sans entrer dans le détail de ces considérations, il est possible de justifier l’usagegénéralisé du codage binaire de la manière suivante.

Considérons la représentation de nombres sous la forme de n canaux physiques (n fils) utilisantb niveaux électriques. Le nombre total de symboles représentables sous cette forme est Q = bn. Laréalisation de cette représentation a un coût matériel ; il faut en effet mettre en place des dispositifsde détection de niveaux plus ou moins complexes en fonction de la base choisie et adapter le nombre

Page 27: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

26 CHAPITRE 1. TRAITEMENT MATÉRIEL DE L’INFORMATION

Fig. 1.8: Une liaison à la fréquence 3 · Fm est équivalente à 3 liaisons opérants à la fréquence Fm

de canaux pour obtenir la qualité Q choisie. Ce coût est évidemment proportionnel au nombre n decanaux ; nous allons en première approximation considérer qu’il est aussi proportionnel à la base bchoisie : C = b× n.

Nous pouvons en déduire la base optimale qui minimise le coût C pour une qualité Q donnée.Nous avons

n = ln(Q)/ ln(b)

D’oùC = b× ln(Q)/ ln(b)

L’expression de C possède un minimum en b = e quelle que soit la qualité Q souhaitée. Cela nousconduit à ne considérer que les bases « 2 » ou « 3 » comme candidates possibles. Dans la réalité,la complexité d’un opérateur de calcul physique en base « 3 » est plus que 1,5 fois plus grande quecelle d’un opérateur en base « 2 » (la fonction C dépend de b de façon grandement non linéaire).Cela justifie le choix quasi universel de la base « 2 » dans les systèmes de traitement numérique. Ilarrive que ce choix soit remis en cause dans des cas particuliers.

1.2.4 L’exemple du signal binaire

Dans un signal binaire, seuls deux états sont possibles : 0/1. Nous choisissons deux plages detensions disjointes pour représenter les deux états, un symbole ne pouvant être à la fois dans l’état« 1 » et l’état « 0 ». Lorsque le signal électrique évolue dans le temps, il passe successivement etcontinuement d’une plage de définition d’état à l’autre en croisant une plage intermédiaire pourlaquelle on qualifie le signal d’indéterminé. Une vision simplifiée du signal consiste à ne représenterque les états détectés « 0 » et « 1 » reliés par des segments de droite représentant leur transitiond’un état à un autre (figure 1.9 page suivante).

Même si le signal électrique subit des distortions, une atténuation, ou s’il est entaché de bruit,il est possible de reconstruire avec exactitude les symboles émis jusqu’à un certain niveau dedégradation (figure 1.10 page ci-contre). Remarquons que pour une excursion totale de tensiondonnée, la multiplication des états possibles (codage multivalué) diminue l’amplitude des plages detensions associées à chaque état et donc augmente la difficulté de détection ; le codage binaire està nouveau , de ce point de vue, le codage le plus robuste.

Pour conclure sur le signal binaire, nous pouvons lister les quelques caractéristiques qui ontconduit à l’imposer dans le monde de l’électronique numérique :

• C’est d’une part le symbole du raisonnement logique, de la prise de décision et du contrôle(si /alors/ sinon).

• C’est d’autre part une base de représentation des nombres entiers permettant d’effectuer touscalculs arithmétiques à partir d’opérations simples.

• Il est, comme tout signal numérique, utilisable pour coder de l’information comme le son oul’image.

• Il peut utiliser un support électrique très simple (codage direct en amplitude).

Page 28: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

1.3. LE SIGNAL BINAIRE REPRÉSENTÉ PAR UNE GRANDEUR ÉLECTRIQUE 27

Fig. 1.9: Un signal binaire : signal électrique et interprétation.

Fig. 1.10: Un signal binaire distordu, atténué et bruité, mais reconstruit.

1.3 Le signal binaire représenté par une grandeur électrique

Nous allons, dans ce chapitre, montrer quelques techniques simples permettant de dégagerles caractéristiques des composants nécessaires à la génération, la détection et le traitement designaux binaires électriques ; notre but n’est pas de présenter des implantations réalistes de fonctionlogiques.

1.3.1 Comment peut-on générer un signal électrique binaire ?

Il s’agit là de créer un signal électrique pouvant se stabiliser dans deux plages de tension prédé-finies correspondant aux deux états « 0 » et « 1 ». Nous pouvons partir d’une source d’alimentationcontinue fournissant à ses bornes une tension Vdd donnée. Le montage de la figure 1.11 page sui-vante basé sur un simple interrupteur et une résistance permet de générer la tension « 0 V »(resp.Vdd) lorsque l’interrupteur est fermé (resp. ouvert) sur la sortie.

1.3.2 Comment peut-on extraire un symbole binaire d’un signal élec-trique ?

Supposons que nous disposons d’un composant, que nous appellerons « transistor », composéd’un premier dispositif capable de comparer une tension à une référence donnée, couplé à un

Page 29: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

28 CHAPITRE 1. TRAITEMENT MATÉRIEL DE L’INFORMATION

Fig. 1.11: Génération d’un signal binaire avec une source de tension, une résistance et un interrupteur.

second dispositif se comportant comme un interrupteur commandé en fonction du résultat de lacomparaison. Le symbole et la fonction de cet interrupteur sont représentés en figure 1.12.

• Si Vin < Vref alors l’interrupteur est ouvert.• Si Vin > Vref alors l’interrupteur est fermé.

Fig. 1.12: Le transistor interrupteur.

Remplaçons l’interrupteur de la section précédente par notre transistor. Pour toute tensiond’entrée inférieure (resp. supérieure) à Vref , la tension de sortie prend la valeur Vdd (resp. « 0 V »).Nous disposons bien d’un dispositif capable de détecter l’état du signal d’entrée même entaché debruit ou de distortions. La figure 1.13 présente tout d’abord la fonction de transfert théorique dudispositif, c’est-à-dire la relation liant la tension d’entrée à la tension de sortie. Ce dispositif estappelé « inverseur ».

Fonction de transfert idéale Fonction de transfert réaliste

Fig. 1.13: Fonctions de transfert de l’inverseur.

Dans la pratique, il n’est pas possible de créer des dispositifs électroniques aussi sélectifs ; nouspouvons retenir les deux imperfections suivantes :

• Passage « continu » entre le mode ouvert et le mode fermé ;• Résistance non nulle en mode fermé.

La deuxième fonction de transfert de la figure 1.13 présente un comportement plus « réaliste »d’un tel opérateur. Tant que le signal reste dans les plages où la pente de la fonction de transfertest supérieure à moins un, l’immunité au bruit est maximale et le signal est régénéré de façonconvenable.

Page 30: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

1.4. LA TECHNOLOGIE MICRO-ÉLECTRONIQUE 29

1.3.3 Comment peut-on créer un opérateur de traitement binaire ?

Considérons maintenant le montage de la figure 1.14, composé de deux transistors et une résis-tance. Nous pouvons construire une table représentant la valeur de la tension en sortie du montageen fonction des tensions en entrée. Nous pouvons traduire cette table en une table de vérité enremplaçant les valeurs de tension par les états « 0 » ou « 1 » correspondants. Nous avons créé unopérateur de traitement binaire (la fonction « non-ou ») qui prend la valeur « 0 » en sortie si l’uneou l’autre des entrées est à « 1 ».

Vin1 Vin2 Vsortie

<Vref <Vref Vdd

<Vref >Vref « 0 V »

<Vref >Vref « 0 V »

>Vref >Vref « 0 V »

In1 In2 Sortie

0 0 1

0 1 0

1 0 0

1 1 0

Fig. 1.14: Fonction NOR2 : schéma et table de vérité

Nous pouvons évidemment élaborer des fonctions plus complexes soit par construction soitpar combinaisons de différentes fonctions déjà créées. La fonction « ou » peut se construire, parexemple, en connectant une fonction « inverseur » derrière la fonction « non-ou ». Une autre fonctionimportante du traitement numérique est la mémorisation des informations. La figure 1.15 montrecomment au moyen de deux inverseurs connectés l’un à l’autre il est possible de créer un dispositifpossédant deux états stables que l’on assimilera au stockage d’une information binaire. Commeindiqué dans la représentation des fonctions de transfert des deux inverseurs le couple de tensions(Va, Vb) ne peut prendre que les valeurs (Vdd, Vmin) ou (Vmin, Vdd) et ce tant que le dispositif estalimenté par la source de tension Vdd. Nous ne traiterons pas dans ce cours de la manière de forcercette mémoire à prendre un état désiré 0 ou 1.

Fig. 1.15: Fonction mémorisation : schéma et fonctions de transfert

1.4 La technologie micro-électronique

Le rôle de la technologie micro-électronique est la réalisation et l’intégration des transistorsnécessaires à la réalisation des opérateurs dont nous avons vu un premier aperçu. Il se trouve quele traitement ou le stockage de données manipule une matière première sans dimensions physiques :

Page 31: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

30 CHAPITRE 1. TRAITEMENT MATÉRIEL DE L’INFORMATION

l’information. Par conséquent, le dispositif de traitement ou de stockage peut être aussi petit quel’on peut le souhaiter dans la limite de nos capacités ou de nos connaissances scientifiques à unepériode donnée. Toutes les bases techniques de la fabrication des circuits intégrés électroniques ontété établies vers 1960 ; depuis les progrès ne sont que des améliorations successives sans remise enquestion fondamentale du procédé initial.

1.4.1 Quelles propriétés des matériaux peut-on exploiter pour créer destransistors ?

Nous désirons créer un dispositif passant d’un mode isolant (interrupteur ouvert) à un modeconducteur (interrupteur fermé) en fonction d’une commande électrique extérieure. Un relai électro-mécanique ferait l’affaire, mais il semble plus judicieux de chercher à exploiter des phénomènes phy-siques qui permettraient de modifier directement les caractéristiques conductrices d’un matériau.Les matériaux semi-conducteurs (silicium, germanium, arséniure de gallium...) sont des matériauxrêvés pour cet usage. Ces matériaux ont les deux propriétés fondamentales suivantes :

• Il est possible de modifier « statiquement » les densités de charges libres, et donc susceptiblesde créer un courant électrique, dans le matériau en injectant des impuretés (bore, arsenic,phosphore...) dans leur structure : on appelle cela le dopage.

• Il est possible de modifier « dynamiquement » les densités de charges libres dans le matériausous l’influence de champs électriques.

En combinant ces deux phénomènes, nous pouvons créer des transistors ayant le comporte-ment demandé. Le transistor le plus couramment utilisé actuellement est le transistor MOS (pourMétal/Oxyde/Semi-conducteur). La figure 1.16 présente une vue en coupe et en perspective d’untransistor MOS de type N (nous verrons au chapitre 4 page 59 qu’il existe deux types de transistorsMOS).

Fig. 1.16: Vue en coupe d’un transistor NMOS

Les éléments essentiels constituant un transistor MOS de type N sont les suivants :• Un substrat faiblement dopé avec des dopants de type P (atomes de dopants accepteurs

d’électrons). On note P−ce type de dopage. Polarisé correctement, ce substrat est isolant.• Au sein de ce substrat, deux zones approximativement parallélépipédiques, fortement dopées

avec des dopants de type N (atome de dopants donneurs d’électrons). On note N+ce type dedopage. Ces zones dopées sont nommées Source et Drain du transistor. Notons que Sourceet Drain sont indiscernables : le transistor est physiquement symétrique.

• La zone de substrat située entre Source et Drain se nomme le canal du transistor. La longueurL et la largeur W (de l’anglais Width) du canal étaient dans les technologies courantes en

Page 32: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

1.5. LES FILIÈRES TECHNICO-ÉCONOMIQUES 31

2004 de l’ordre du dixième de micron. En jouant sur ces deux dimensions le concepteur peutcontrôler les performances du transistor.

• Au dessus du canal, une fine couche isolante, constituée d’oxyde de silicium (SiO2). L’épais-seur de cette couche est actuellement de moins de 10 nm.

• Enfin, au dessus de cette couche d’oxyde, un dépôt de silicium poly-cristallin, aligné avecla canal du transistor. Il s’agit de la Grille du transistor. Le silicium poly-cristallin est unagglomérat de petits cristaux de silicium (c’est un matériau conducteur).

• La perspective nous montre, de plus, les connecteurs métalliques permettant de « raccorder »Source et Drain du transistor au reste du circuit.

Dans le transistor MOS, le champ électrique créé en polarisant convenablement la Grille permetde moduler le courant passant entre Drain et Source.

1.4.2 Quelles sont les différentes étapes de la fabrication des circuitsintégrés ?

La fabrication d’un circuit intégré doit satisfaire à trois besoins :• créer des transistors les plus performants possibles ;• offrir les moyens d’interconnecter entre eux ces transistors, ainsi que d’interconnecter le circuit

intégré avec le monde macroscopique ;• offrir une protection, contre les agressions liées aux conditions d’utilisation, suffisante pour

garantir une fiabilité satisfaisante.Le matériau de base est le silicium, l’élément le plus commun sur Terre après l’oxygène. Ce

matériau est purifié et transformé en un lingot mono-cristallin de quelques dizaines de cm dediamètre. Le silicium est purifié pour comporter moins d’une impureté pour 100 millions d’atomesde silicium, en effet le niveau des dopages destinés à ajuster les propriétés semi-conductrices dumatériau sont de l’ordre de 10 atomes de dopant pour un million d’atomes de silicium. Le lingotest découpé en tranches (wafer pour les anglo-saxons) de faible épaisseur. Ces tranches sont poliesjusqu’à ce que les défauts de surface n’excèdent pas quelques couches atomiques. Les tranches sontensuite envoyées en fonderie pour la fabrication proprement dite des circuits intégrés. On fabriqueainsi en parallèle plusieurs dizaines de circuits sur la même tranche.

Les traitements effectués sur les tranches se résument à quelques étapes simples plusieurs foisrépétées :

• Croissances ou dépôts de silice sur la surface de tranche : il s’agit de réaliser des isolationsentre éléments de différentes couches ou des grilles de transistors.

• Lithographie : il s’agit de dessiner les motifs désirés dans le matériaux. Cela commence parle dépôt d’une résine photo-sensible sur la surface de la tranche. Après exposition à traversun masque et développement la résine est éliminée des endroits désirés. La résine restanteservira de protection pour une attaque chimique sélective de la tranche.

• Implantation ionique : il s’agit de réaliser les dopages nécessaires au fonctionnement destransistors. La silice au préalablement gravée par lithographie sert de masque naturel pourdéfinir les zones où seront les transistors.

• Dépôts de métaux : il s’agit là de déposer uniformément sur la tranche une couche de métalqui servira à réaliser des connections entre transistors.

La dernière étape de traitement de la tranche consiste à noyer les circuits dans un épais matériaude protection, sauf aux endroits où l’on voudra souder des fils les reliant au monde extérieur. Aprèsdifférents test sur les tranches, les circuits sont découpés et, après être de nouveau testés, montésdans un boîtier comme indiqué figure 1.17 page suivante.

1.5 Les filières technico-économiques

1.5.1 La recherche d’un optimum de rendement dans l’utilisation de latechnologie

Pour finir nous abordons, dans ce chapitre, différentes applications qui sont faites de la techno-logie micro-électronique et qui conduisent pour des raisons techniques et économiques à différentes

Page 33: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

32 CHAPITRE 1. TRAITEMENT MATÉRIEL DE L’INFORMATION

Fig. 1.17: Encapsulation d’un circuit intégré dans un boîtier.

filières de réalisation des systèmes électroniques numériques. Nous ne nous intéressons ici qu’à lafonction « traitement », l’industrie des mémoires (fonction « stockage ») n’étant pas abordée.

1.5.2 Les circuits « universels » tels les microprocesseurs

Pour minimiser l’impact du coût de conception et de fabrication des circuits intégrés les pluscomplexes, il est intéressant de leur donner une gamme d’applications permettant de s’adresser uneclientèle la plus large possible. Dans cet esprit, il s’agit de créer un circuit de traitement numériquedont l’usage final (l’application) n’est pas connue à la fabrication. Pour cela, il suffit de réaliser uncircuit intégré ayant quelques ressources de traitement assez génériques (addition de deux nombres,stockage d’un nombre en mémoire, lecture d’un nombre d’une mémoire...) associées à un dispositifde contrôle capable d’interpréter des ordres simples qui sont stockés dans une mémoire extérieure aucircuit. Il suffit de changer le contenu de cette mémoire (le programme) pour changer l’enchaînementdes traitements effectués par le circuit, donc l’application. Avec de tels circuits l’augmentation decomplexité des applications est gérée simplement par l’augmentation de la taille des programmes.

1.5.3 Les circuits spécifiques à une application

Considérons maintenant une application très spécifique, faiblement complexe mais nécessitantbeaucoup de puissance de calcul. Un microprocesseur peut ne pas suffire à fournir la puissance decalcul nécessaire. On peut tenter d’utiliser plusieurs microprocesseurs, mais la gestion des échangesest malaisée et le coût du système risque de devenir rapidement prohibitif. Une alternative aumicroprocesseur est le câblage direct des applications sur le silicium. Les circuits intégrés réalisésde cette façon s’appellent des circuits intégrés spécifiques à une application (ASICs pour les anglo-saxons). Par exemple, une opération cruciale en télévision numérique, l’estimation de mouvementest réalisée actuellement par un seul circuit ASIC capable de calculer plus de dix milliards d’ad-ditions par seconde, ce qui dépasse de loin les performances des meilleurs microprocesseurs. Lacontrepartie à cette performance est que ce circuit ne peut servir qu’à la télévision numérique...

Page 34: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

1.6. BIBLIOGRAPHIE 33

1.5.4 Les circuits logiques programmablesLes circuits logiques programmables (CLP) visent à un compromis entre les avantages des

ASIC et des microprocesseurs. Il s’agit comme pour un ASIC de viser des applications relative-ment simples mais demandant de fortes puissances de calcul tout en conservant la souplesse de laprogrammation. Pour arriver à cela, ces circuits sont composés de milliers de fonctions logiquesdont les équations sont stockées sous forme de tables de vérité dans des mémoires internes aucircuit. Des centaines de milliers de fils de connexions parcourent le circuit en tous sens et sontpotentiellement connectables aux fonctions logiques via des transistors servant d’interrupteurs. Lesétats de ces interrupteurs sont à leur tour stockés dans des mémoires internes au circuit. En ré-sumé, ces circuits peuvent changer de fonction et de câblage par simple modification du contenude mémoires. Cette souplesse est évidemment très avantageuse, très utilisée pour la réalisation deprototypes ou de petites séries. Les ASIC remplacent cependant systématiquement les CLP dèsqu’il s’agit de produire en masse, notamment pour des questions de rendement d’utilisation dusilicium.

1.5.5 Les systèmes intégrés sur pucesPetit derniers des évolutions de l’industrie micro-électronique, les systèmes sur puces (ou SOC

pour « System On Chip ») tirent avantage des taux d’intégration faramineux atteints ces dernièresannées (plus de 400 000 portes logiques par mm2 de silicium) pour intégrer sur une seule puce deSilicium toutes les fonctionnalités « logicielles » et « matérielle » nécessaires à la réalisation de sys-tèmes de traitements totalement autonomes. Ces puces intègrent non seulement des fonctionnalitéscommunes aux trois variantes précédemment présentées mais aussi des capteurs et éventuellementdans un future proche des éléments mécaniques (moteurs, pompes...).

1.6 BibliographieLe site Web http://jas2.eng.buffalo.edu/applets du professeur Chu Ryang WIE de l’uni-

versité de Buffalo (état de New-York) permet d’exécuter quelques démonstrations interactives surl’usage des matériaux-conducteurs, sur le fonctionnement des transistors ainsi que sur le fonction-nement de quelques montages de bases de l’électronique. Les liens suivants sont particulièrementen rapport avec ce chapitre :

• n-channel MOSFET, both side-view and top-view and full photoresist steps ;• CMOS Inverter, side-view, device fabrication steps ;• Fabrication @ various companies.

Page 35: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

34 CHAPITRE 1. TRAITEMENT MATÉRIEL DE L’INFORMATION

Page 36: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 2

Fonctions de base

2.1 Introduction

Nous évoquons, dans le chapitre 1 page 21, la possibilité de réaliser physiquement des fonctionsde calcul utilisant une représentation binaire des données. Avant de poursuivre plus avant l’étudede la réalisation physique de ces fonctions, nous allons développer les bases mathématiques desfonctions logiques (Algèbre de Boole) ainsi que les méthodes de représentation et de manipulationassociées.

Le choix d’une structure physique optimale pour construire une fonction logique est une opé-ration complexe dépendant de nombreuses contraintes telles que l’optimisation de la vitesse detraitement, la minimisation de l’énergie dissipée par opération ou tout simplement le coût de fa-brication.

Nous nous contenterons dans ce chapitre d’envisager le critère suivant qui pourra être remis encause dans la suite du cours :

• La construction de fonctions combinatoires complexes est basée sur l’utilisation d’une biblio-thèque de fonctions logiques (ou portes) élémentaires telles que l’inversion, le « ou » logique,et le « et » logique.

• L’optimisation des fonctions complexes est basée sur la minimisation du nombre des portesélémentaires utilisées qui correspond à une simplification des équations booléennes associées.

2.2 Variables et fonctions logiques, tables de vérité

Considérons l’ensemble E à 2 éléments (0, 1).

1. Une variable logique est un élément de E et ne possède ainsi que 2 états 0 et 1. Elle estreprésentée par des lettres (A, b, e,X, · · · ).

2. Une fonction logique de plusieurs variables applique E × E × · · ·E dans E. Elle associe àun n-uplet de variables booléennes (e0, e1, · · · , en−1) une valeur F (e0, e1, · · · , en−1).

3. Il existe différentes manières d’exprimer une fonction booléenne. Une fonction de n variablesest entièrement décrite par l’énoncé des valeurs de cette fonction pour l’ensemble (ou lesous-ensemble de définition) des combinaisons du n-uplet de variables :

F (0, · · · , 0, 0), F (0, · · · , 0, 1), F (0, · · · , 1, 0), · · · , F (1, · · · , 1, 1)

Cet énoncé prend généralement la forme d’un tableau à n+ 1 colonnes et au plus 2n lignes,chaque ligne exposant une combinaison des variables et la valeur correspondante de la fonc-tion. Les tableaux 2.1 page suivante et 2.2 page suivante suivants donnent la forme généralede tables de vérité de fonctions de trois variables totalement (fonction F ) ou partiellement(fonction G) définies.

35

Page 37: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

36 CHAPITRE 2. FONCTIONS DE BASE

A B C F (A,B,C)

0 0 0 F (0, 0, 0)

0 0 1 F (0, 0, 1)

0 1 0 F (0, 1, 0)

0 1 1 F (0, 1, 1)

1 0 0 F (1, 0, 0)

1 0 1 F (1, 0, 1)

1 1 0 F (1, 1, 0)

1 1 1 F (1, 1, 1)

Tab. 2.1: Table de vérité d’une fonction de 3 variables.

A B C G(A,B,C)

0 0 0 1

0 0 1 1

0 1 0 0

0 1 1 non définie

1 0 0 non définie

1 0 1 1

1 1 0 0

1 1 1 0

Tab. 2.2: Table de vérité d’une fonction partiellement définie.

2.3 Représentations des fonctions logiques

2.3.1 Formes algébriques

Nous associons, à l’ensemble E, l’algèbre de Boole basée sur trois opérateurs logiques :• Opérateur NON : réalise la complémentation (ou inversion) représentée ici par une barre

horizontale : « x ».• Opérateur OU : réalise l’union (ou addition logique) notée ici : « + ».• Opérateur ET : réalise l’intersection (ou multiplication logique) notée ici : « · ».Les tables de vérité de ces trois fonctions logiques sont données dans les tableaux 2.3 page

suivante, 2.4 page ci-contre et 2.5 page suivante.Une fonction logique booléenne se présente comme une association des opérations algébriques

précédentes sur un ensemble de variables. Elle peut s’écrire de plusieurs façons.

2.3.2 Forme disjonctive

Elle correspond à une somme de produits logiques : F = ΣΠ(ei), où ei représente une variableou son complément. Exemple :

F1(X,Y, Z) = X · Y +X · Z +X · Y · Z

Si chacun des produits contient toutes les variables d’entrée sous une forme directe ou com-plémentée, alors la forme est appelée « première forme canonique » ou « forme canoniquedisjonctive ». Chacun des produits est alors appelé minterme. Exemple de forme canoniquedisjonctive :

F2(X,Y, Z) = X · Y · Z +X · Y · Z +X · Y · Z

Page 38: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

2.3. REPRÉSENTATIONS DES FONCTIONS LOGIQUES 37

A A

0 1

1 0

Tab. 2.3: Opérateur NON.

A B A+B

0 0 0

0 1 1

1 0 1

1 1 1

Tab. 2.4: Opérateur OU.

A B A ·B

0 0 0

0 1 0

1 0 0

1 1 1

Tab. 2.5: Opérateur ET.

2.3.3 Forme conjonctive

Elle fait référence à un produit de sommes logiques : F = ΠΣ(ei). Voici un exemple :

F3(X,Y, Z) = (X + Y ) · (X + Z) · (X + Y + Z)

Si chacune des sommes contient toutes les variables d’entrée sous une forme directe ou com-plémentée, alors la forme est appelée « deuxième forme canonique » ou « forme canoniqueconjonctive ». Chacune des sommes est alors appelée maxterme. Exemple de forme canoniqueconjonctive :

F4(X,Y, Z) = (X + Y + Z) · (X + Y + Z) · (X + Y + Z)

2.3.4 Équivalence entre la table de vérité et les formes canoniques

Nous avons défini la table de vérité d’une fonction comme la correspondance entre chaquecombinaison des variables (du domaine de définition de la fonction) et la valeur (0 ou 1) associéede cette fonction.

Chacune des combinaisons des variables définit un état des entrées, on peut donc associer unétat à chaque ligne d’une table de vérité.

2.3.5 Forme canonique disjonctive

Une fonction logique est représentée par l’ensemble des états pour lesquels la fonction est égaleà « 1 ».

Considérons maintenant un état des entrées pour lequel une fonction booléenne vaut « 1 » : ilexiste un minterme unique prenant la valeur « 1 » dans cet état.

Il suffit donc d’effectuer la somme logique (ou réunion) des mintermes associés aux états pourlesquels la fonction vaut « 1 » pour établir l’expression canonique disjonctive de la fonction.

Exemple d’une fonction H à trois variables entièrement définie :On remarque que H(A,B,C) = 1 pour les états 0, 1, 3, 5. On écrit la fonction ainsi spécifiée

sous une forme dite numérique : H = R(0, 1, 3, 5), Réunion des états 0, 1, 3, 5. La première forme

Page 39: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

38 CHAPITRE 2. FONCTIONS DE BASE

A B C H(A,B,C) État Minterme

0 0 0 1 0 A ·B · C0 0 1 1 1 A ·B · C0 1 0 0 2 A ·B · C0 1 1 1 3 A ·B · C1 0 0 0 4 A ·B · C1 0 1 1 5 A ·B · C1 1 0 0 6 A ·B · C1 1 1 0 7 A ·B · C

Tab. 2.6: Table de vérité de la fonction H : états associés et mintermes.

canonique de la fonction H s’en déduit directement :

H(A,B,C) = A ·B · C +A ·B · C +A ·B · C +A ·B · C

2.3.6 Forme canonique conjonctive

Considérons maintenant un état des entrées pour lequel la fonction vaut « 0 ».Il existe un maxterme unique prenant la valeur « 0 » en cet état. Ce maxterme prend donc la

valeur « 1 » dans tous les autres états des entrées.Il suffit donc d’effectuer le produit logique (ou intersection) des maxtermes associés aux états

pour lesquels la fonction vaut « 0 » pour établir l’expression canonique conjonctive de la fonction.Reprenons l’exemple de la fonction H :

A B C H(A,B,C) Etat Maxterme

0 0 0 1 0 A+B + C

0 0 1 1 1 A+B + C

0 1 0 0 2 A+B + C

0 1 1 1 3 A+B + C

1 0 0 0 4 A+B + C

1 0 1 1 5 A+B + C

1 1 0 0 6 A+B + C

1 1 1 0 7 A+B + C

Tab. 2.7: Table de vérité de la fonction H : états associés et maxtermes.

On remarque que H(A,B,C) = 0 pour les états 2, 4, 6, 7. On écrit la fonction ainsi spécifiéesous une forme dite numérique : H = I(2, 4, 6, 7) Intersection des états 2, 4, 6, 7.

La deuxième forme canonique de la fonction H s’en déduit directement :

H(A,B,C) = (A+B + C) · (A+B + C) · (A+B + C) · (A+B + C)

2.4 Description de méthodes de simplification

On cherche ici à obtenir une expression algébrique comportant un nombre minimal de termes,ainsi qu’un nombre minimal de variables dans chaque terme dans le but de simplifier la réalisationmatérielle.

Page 40: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

2.4. DESCRIPTION DE MÉTHODES DE SIMPLIFICATION 39

Attention : Comme nous l’avons indiqué en introduction, l’optimisation d’une fonction logiquedépend de paramètres tels que la performance en vitesse désirée, la consommation maximale auto-risée ou l’obligation d’utiliser des bibliothèques de fonctions élémentaires prédéfinies. La complexitéde la représentation algébrique n’est donc qu’un critère d’optimisation parmi d’autres.

2.4.1 Utilisation des propriétés de l’algèbre de Boole

Les propriétés, lois et théorèmes fondamentaux de l’algèbre de Boole sont à notre dispositionpour manipuler les équations :

Complémentarité : a+ a = 1 , a · a = 0 , a = a

Idempotence : a+ a+ a+ · · · = a , a · a · a · · · = a

Éléments neutres : a+ 0 = a , a · 1 = a

Éléments absorbants : a+ 1 = 1 , a · 0 = 0

Commutativité : a+ b = b+ a , a · b = b · aAssociativité : (a+ b) + c = a+ (b+ c) = a+ b+ c , (a · b) · c = a · (b · c) = a · b · cDistributivité : (a+ b) · c = (a · c) + (b · c) , (a · b) + c = (a+ c) · (b+ c)

Théorème d’absorption (1) : a+ (a · b) = a , a · (a+ b) = a

Théorème d’absorption (2) : a · b+ b = a+ b , (a+ b) · b = a · bThéorème d’adjacence : (a+ b) · (a+ b) = a , a · b+ a · b = a

Remarque : Deux termes sont dits adjacents logiquement s’ils ne diffèrent que par unevariable.

Théorème de De Morgan :

a+ b = a · b , a · b = a+ b

Premier théorème d’expansion :

F (e0, e1, · · · , ei, · · · , en−1) = ei · F (e0, e1, · · · , 1, · · · , en−1) + ei · F (e0, e1, · · · , 1, · · · , en−1)

Second théorème d’expansion :

F (e0, e1, · · · , ei, · · · , en−1) = [ei + F (e0, e1, · · · , 0, · · · , en−1)] · [ei + F (e0, e1, · · · , 1, · · · , en−1)]

2.4.2 Simplification à partir de la forme algébrique

Les méthodes algébriques employées se rapportent aux relations fondamentales d’absorption,d’adjacence, de mise en facteur et aux théorèmes de De Morgan. On distingue plusieurs procédéspermettant d’aboutir au but recherché :

Regroupement des termes et mises en facteur

Z = a · c · d+ a · c · d+ a · b · c · d = a · c · (d+ d) + a · b · c · d= a · c+ a · b · c · d = a · (c+ c · b · d) = a · (c+ b · d)

Nous avons successivement utilisé une mise en facteur, la complémentarité, une deuxième miseen facteur et enfin le théorème d’absorption.

Page 41: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

40 CHAPITRE 2. FONCTIONS DE BASE

Réplication de termes existants

Z = a · b · c+ a · b · c+ a · b · c+ a · b · c= a · b · c+ a · b · c+ a · b · c+ a · b · c+ a · b · c+ a · b · c= (a+ a) · b · c+ (b+ b) · a · c+ (c+ c) · a · b= b · c+ a · c+ a · b

La réplication du terme a ·b ·c permet de simplifier chacun des trois premiers termes en utilisantune mise en facteur et la complémentarité.

Suppression de termes superflus

Z = a · b+ b · c+ a · c = a · b+ b · c+ a · c · (b+ b)= a · b+ a · b · c+ b · c+ a · b · c = a · b · (1 + c) + b · c · (1 + a)= a · b+ b · c

Nous avons ici réintroduit la variable b dans le troisième terme par l’intermédiaire de la propriétéde complémentarité, nous avons ensuite utilisé la propriété d’absorption pour simplifier les produits.

Simplification par utilisation des formes canoniques

Si l’on dispose de la table de vérité de la fonction, on prend pour équation algébrique de départla forme canonique comportant le minimum de termes. Cette équation sera ensuite simplifiée enutilisant les méthodes décrites précédemment. En effet, pour une fonction à N entrées, la formecanonique disjonctive comportera P mintermes (avec P ≤ 2N ), alors que la forme conjonctivecomportera 2N − P maxtermes.

2.4.3 Méthode des tables de Karnaugh

Les tables de Karnaugh sont des représentations sous forme d’un tableau à deux dimensions dela table de vérité. Elles sont construites de façon à ce que les termes logiquement adjacentssoient géométriquement adjacents. Chaque ligne de la table de vérité est représentée par unecase du tableau de Karnaugh dans laquelle on indique la valeur de la fonction.

La contrainte d’adjacence géométrique est réalisée par un ordonnancement des lignes (resp.colonnes) du tableau pour lequel le nombre de bits modifiés d’un code au suivant est constant etégal à un. Cette propriété est respectée entre le code de la dernière ligne (resp. colonne) et celui dela première ligne (resp. colonne). Prenons par exemple le cas d’une fonction F de trois variables,spécifiée dans le tableau 2.8 page ci-contre.

Nous constatons que la fonction F est égale à « 1 » pour :• les 4 cases (adjacentes) qui constituent la ligne « a = 1 » (Fig. 2.11 page suivante) ;• les 4 cases (adjacentes) qui constituent le carré « c = 1 » (Fig. 2.12 page ci-contre).Les deux zones déterminées « recouvrant » exactement les cases du tableau où la fonction F

vaut 1, nous pouvons en déduire directement que : F = a+ c.Nous allons maintenant généraliser la méthode exposée dans l’exemple.

2.4.4 Construction du tableau de Karnaugh

• Il y a 2n cases pour n variables.• A chaque case est associé un minterme égal à 1 pour la combinaison considérée.• Le passage d’une case à sa voisine se fait par changement d’une seule variable à la fois.

Page 42: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

2.4. DESCRIPTION DE MÉTHODES DE SIMPLIFICATION 41

A B C F (A,B,C) minterme

0 0 0 0 A ·B · C0 0 1 1 A ·B · C0 1 0 0 A ·B · C0 1 1 1 A ·B · C1 0 0 1 A ·B · C1 0 1 1 A ·B · C1 1 0 1 A ·B · C1 1 1 1 A ·B · C

Tab. 2.8: Table de vérité de la fonction F : états associés et mintermes.

HHHHHABC

00 01 11 10

0 0 1 1 0

1 1 1 1 1

Tab. 2.9: Table de Karnaugh de la fonction F .

HHHHHABC

00 01 11 10

0 A·B·C A·B·C A·B·C A·B·C1 A·B·C A·B·C A·B·C A·B·C

Tab. 2.10: Correspondance des mintermes.

HHHHHA

BC00 01 11 10

0 0 1 1 0

1 1 1 1 1

Tab. 2.11: Adjacence : a = 1

HHHHHA

BC00 01 11 10

0 0 1 1 0

1 1 1 1 1

Tab. 2.12: Adjacence : c = 1

2.4.5 Règles de simplification

Il s’agit de « paver » le tableau de Karnaugh en regroupant les « 1 » adjacents de telle manièreque :

• l’ensemble des « 1 » de la fonction appartiennent au moins à un pavé,• les pavés soient rectangulaires,• le nombre de « 1 » regroupés dans un pavé soit une puissance de 2.Chaque pavé ainsi constitué représente un terme produit de la fonction ne contenant que les

variables « stables » (par rapport au codage des lignes et des colonnes du tableau).Attention !• De même qu’il n’y a pas unicité de la représentation algébrique d’une fonction booléenne, il

Page 43: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

42 CHAPITRE 2. FONCTIONS DE BASE

n’y a pas unicité des regroupements géométriques dans le tableau de Karnaugh.• Il ne faut pas oublier les adjacences possibles entre colonnes et lignes extrêmes du tableau de

Karnaugh.L’exemple suivant (Tab. 2.13) illustre ces deux principes :

HHHHHABC

00 01 11 10

0 1 1 1 0

1 1 0 1 1

Tab. 2.13: Table de Karnaugh

HHHHHABC

00 01 11 10

0 1 1 1 0

1 1 0 1 1

Tab. 2.14: Premier pavage

HHHHHABC

00 01 11 10

0 1 1 1 0

1 1 0 1 1

Tab. 2.15: Deuxième pavage

Selon le premier pavage (Tab. 2.14), l’expression obtenue est :

b · c+ a · c+ a · b

Le second pavage (Tab. 2.15), qui utilise une adjacence entre deux cases extrêmes, donne :

a · b+ b · c+ a · c

2.4.6 Fonctions non complètement définies

Certaines combinaisons peuvent ne pas se produire : elles n’ont pas d’effet sur la valeur de lafonction. Ces états indifférents, notés X ou −, peuvent être utilisés partiellement ou totalementpour simplifier la fonction, comme illustré dans l’exemple de la Fig. 2.16 page ci-contre.

On profite du fait que les états indifférents peuvent être interprétés au choix comme des 1ou des 0 pour réaliser les regroupements les plus pertinents permettant d’aboutir à une expressionlogique minimale. Ici, les deux regroupements en carrés retenus dans les tableaux 2.17 page suivanteet 2.18 page ci-contre s’imposent naturellement.

L’expression obtenue finalement est :

a · c+ b · d

2.4.7 Pertinence de la méthode

Dans une représentation à 2 dimensions, chaque case a au plus 4 cases géométriquement ad-jacentes. Pour une fonction logique de plus de 4 variables, le nombre d’adjacences logiques pourun minterme (égal au nombre de variables) devient supérieur aux possibilités dans le plan. Lesgroupements deviennent alors moins naturels, et la méthode n’est plus aussi utile.

Page 44: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

2.5. REPRÉSENTATION SCHÉMATIQUE DES FONCTIONS LOGIQUES 43

PPPPPPPPABCD

00 01 11 10

00 1 1 0 0

01 1 X X X

11 0 1 1 0

10 0 0 0 0

Tab. 2.16: Table de Karnaugh

PPPPPPPPABCD

00 01 11 10

00 1 1 0 0

01 1 1 X X

11 0 1 1 0

10 0 0 0 0

Tab. 2.17: Premier pavage

PPPPPPPPABCD

00 01 11 10

00 1 1 0 0

01 1 1 1 X

11 0 1 1 0

10 0 0 0 0

Tab. 2.18: Deuxième pavage

2.5 Représentation schématique des fonctions logiques

Notre bibliothèque de fonctions ou portes logiques élémentaires n’est pour l’instant constituéeque des trois opérateurs inversion (NOT), « et » logique (AND) et « ou » logique (OR). Nousallons compléter cette bibliothèque par quelques éléments supplémentaires dont l’objectif est demettre en place une représentation schématique des fonctions logiques.

Nous distinguerons ainsi :• la fonction NON-ET ou NAND dont la sortie vaut 0 si et seulement si toutes les entrées sont

à 1,• la fonction NON-OU ou NOR dont la sortie vaut 1 si et seulement si aucune entrée n’est à 1.

Ces deux fonctions sont la simple complémentation des fonctions AND et OR.Nous associons maintenant à chacune des fonctions NOT, OR, AND, NAND et NOR un symbole

graphique. La complémentation sera représentée systématiquement par un cercle :

AND OR NOT NAND NOR

Fig. 2.1: Symboles des portes élémentaires.

Exemple de schéma et équation algébrique correspondante :

Page 45: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

44 CHAPITRE 2. FONCTIONS DE BASE

Y =((A+B

)· C) + C

Fig. 2.2: Un exemple de schéma.

2.6 Quelques fonctions combinatoires importantes

2.6.1 Fonctions d’aiguillage : multiplexeurs

La fonction « multiplexeur à N entrées » consiste à aiguiller vers la sortie de la fonction uneentrée parmi N . Le multiplexeur à 2 entrées est le multiplexeur le plus simple à concevoir. Sonéquation algébrique est de la forme :

Y = A · E0 +A · E1 ,

où (E0, E1) sont les entrées à multiplexer et A est une entrée de sélection.La fonction multiplexeur est une traduction directe d’une instruction de type « if · · · then

· · · else · · · » dans le cadre de langages informatiques. Elle permet aussi de décomposer unefonction booléenne complexe en utilisant les théorèmes d’expansion.

Le multiplexeur à deux entrées est souvent symbolisé de la façon suivante :

Fig. 2.3: Multiplexeur à deux entrées (Mux2).

Le multiplexeur à 2N entrées nécessite N entrées de sélection pour distinguer les 2N configura-tions des entrées.

Nous allons tenter maintenant de construire un multiplexeur à 4 entrées à partir des portes debase définies dans le chapitre précédent. L’expression algébrique de la sortie est de la forme :

S = A0 ·A1 · E0 +A0 ·A1 · E1 +A0 ·A1 · E2 +A0 ·A1 · E3

Cette formulation fait apparaître tous les mintermes possibles à partir des entrées de sélection(A0, A1). Le schéma de la Fig. 2.4 page suivante présente un multiplexeur à 4 entrées muni de plusune entrée supplémentaire V permettant de valider ou d’invalider (S = 0) la sortie de la fonction.

Remarque : Il est possible de construire un multiplexeur à 4 entrées à partir de 3 multiplexeursà 2 entrées. On se base pour cela sur la reformulation suivante, illustrée dans la Fig. 2.5 page ci-contre.

S = A1 · (A0 · E0 +A0 · E1) +A1 · (A0 · E2 +A0 · E3)

2.6.2 Opérateurs de comparaison

Les fonctions de comparaison les plus simples sont le test de l’égalité de deux variables boo-léennes ainsi que le test de complémentarité de deux variables booléennes. Ces deux fonctions ontpour équations algébriques respectives :

Égalité : S = A ·B +A ·BComplémentarité : S = A ·B +A ·B

Page 46: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

2.6. QUELQUES FONCTIONS COMBINATOIRES IMPORTANTES 45

Fig. 2.4: Schéma interne d’un multiplexeur à 4 entrées avec entrée de validation.

Fig. 2.5: Reformulation du multiplexeur à 4 entrées.

Ces fonctions étant très souvent utilisées, il a été jugé utile de définir un nouvel opérateurbooléen pour les représenter. Il s’agit de l’opérateur « OU exclusif » que nous représenterons parle symbole suivant : ⊕.

Les relations précédentes deviennent :

Égalité (NON-OU-exclusif ou XNOR) : S = A ·B +A ·B = A⊕B

Complémentarité (OU-exclusif ou XOR) : S = A ·B +A ·B = A⊕B

Les tables de vérité et symboles associés à ces fonctions sont donnés dans les tableaux 2.19 pagesuivante et 2.20 page suivante.

Disposant du comparateur d’égalité à deux entrées, il est possible de généraliser l’opérateur àla comparaison de deux mots de N bits. L’exemple suivant montre un comparateur opérant sur 2mots de 4 bits.

Nous disposons de 2 nombres codés sur 4 bits : A = a3a2a1a0 et B = b3b2b1b0.

Page 47: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

46 CHAPITRE 2. FONCTIONS DE BASE

A B A⊕B

0 0 1

0 1 0

1 0 0

1 1 1

Tab. 2.19: Table de vérité et symbole des opérateurs XNOR

A B A⊕B

0 0 0

0 1 1

1 0 1

1 1 0

Tab. 2.20: Table de vérité et symbole des opérateurs XOR

Alors A = B si et seulement si (a3 = b3) et (a2 = b2) et (a1 = b1) et (a0 = b0), ce qui justifiele montage de la Fig. 2.6.

Fig. 2.6: Test d’égalité de deux mots de 4 bits.

2.7 Annexes

2.7.1 Exercice de consolidationL’expérience a montré que parmi les notions qui viennent d’être exposées, celle dans laquelle

on se prend le plus fréquemment les « pieds dans le tapis » et qui par ailleurs sert le plus dansle cadre du module est la simplification des tables de Karnaugh. L’exercice suivant constitue enconséquence un petit entraînement qui pourrait s’avérer salutaire afin d’être au point sur ce sujet.

On désire réaliser un afficheur 7 segments (a, b, c, d, e, f, g, voir Fig. 2.7 page ci-contre) traduisantun nombre binaire exprimé sur 4 bitsA,B, C,D en un symbole hexadécimal (0, · · · , 9, A, b, C, d,E, F ).

La transcription de cette réalisation en tables de vérité si l’on considère que l’on travaille enlogique positive (segment allumé = « 1 ») donne une table par segment.

Pour vous aider, il vous est proposé de vous donner directement le tableau de Karnaugh cor-respondant au segment « a » ainsi que le résultat obtenu après simplification.

Page 48: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

2.7. ANNEXES 47

Fig. 2.7: Afficheur 7 segments. Un segment = une diode électro-luminescente.

Fig. 2.8: Tableau de Karnaugh de a = F (A, B, C, D).

Le résultat à trouver est :

a = A ·D +B · C +A · C +B ·D +A ·B ·D +A ·B · C

Comment l’obtient-on ? Détaillons pour les sceptiques !

Page 49: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

48 CHAPITRE 2. FONCTIONS DE BASE

Regroupement : B · C

Regroupement : A · C

Regroupement : A ·D

Regroupement : B ·D.Les extrémités sont logiquementadjacentes !

Regroupement : A ·B ·D

Enfin, Regroupement : A ·B · C.

L’équation du premier segment a est ainsi obtenue à l’aide des 6 regroupements précédents. Avous de les effectuer pour les autres segments. . .

Si vous arrivez au bout de cet exercice dans un temps raisonnable, vous pouvez considérer quevous ne rencontrerez pas beaucoup de problèmes dans le futur !

2.7.2 Bibliographie• Groupe numérique Polycopié Composants et fonctions de l’électronique numérique, ENST• Ronald Tocci « Digital Systems », Prentice Hall• Eugene D. Fabricius, « Modern Digital Design and Switching Theory », CRC Press, 1992.• Barry Wilkinson, « Digital System Design », Prentice Hall, 1992.

Page 50: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 3

Opérateurs arithmétiques

3.1 IntroductionJusqu’à présent, nous avons principalement travaillé sur des bits simples (comprendre : des

nombres de 1 bit), ce qui ne nous permet de représenter que des valeurs allant de 0 à 1. Dans cechapitre nous introduirons la représentation des nombres plus grands que 1, ainsi que les opérateursassociés. Nous verrons donc :

1. Représentation des nombres (codage des nombres)(a) Représentation Simples de Position(b) Conversions entre Bases(c) Représentation en Signe et Valeur Absolue(d) Représentation en Complément à 2(e) Autres Codes

2. Opérateurs arithmétiques(a) Additionneur(b) Soustracteur

3.2 Représentation (codage) des nombres

3.2.1 Représentation Simples de PositionUn nombre positif N dans un système de base b peut être exprimé sous la forme polynomiale

N = an−1 ·bn−1+an−2 ·bn−2+. . .+a1 ·b1+a0 ·b0+. . .+a−1 ·b−1+a−2 ·b−2+a−m+1 ·b−m+1+a−m ·b−m

La représentation simples de position correspondante est an−1 an−2 . . . a1 a0, a−1 . . . a−m

La position d’un chiffre rappelle quelle puissance de la base multiplie ce chiffre :• ai est le chiffre de rang i (ai appartient à un ensemble de b symboles)• an−1 est le chiffre le plus significatif• a−m est le chiffre le moins significatif

S’il s’agit du système héxadécimal (b = 16) :• ai appartient à l’ensemble 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A,B,C,D,E, F

S’il s’agit du système octal (b = 8) :• ai appartient à l’ensemble 0, 1, 2, 3, 4, 5, 6, 7

S’il s’agit du système binaire (b = 2), les chiffres sont appelés bits :• ai appartient à l’ensemble 0, 1• an−1 est le MSB (most significant bit)• a−m est le LSB (least significant bit)

49

Page 51: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

50 CHAPITRE 3. OPÉRATEURS ARITHMÉTIQUES

Si l’on se déplace d’un rang vers la gauche, le poids est augmenté d’un facteur b. Si le déplacementse fait vers la droite, il y a une division par b.Le tableau 3.1 montre la représentation simples de position pour les nombres décimaux de 0 à 8 etleurs correspondances en binaire. Les décalages correspondant aux multiplications et divisions par2 peuvent être vus :

• entre 110 et 210 (12 et 102 )• entre 310 et 610 (112 et 1102)• entre 410 et 810 (1002 et 10002)

Décimal Binaire

0 0

1 1

2 10

3 11

4 100

5 101

6 110

7 111

8 1000

Tab. 3.1: Exemple conversion binaire-décimal

3.2.2 Conversions entre Bases

Base b vers base 10

Pour cette conversion, il suffit de substituer la valeur b dans l’expression polynomiale par lavaleur de la base : N = an−1 · bn−1 + an−2 · bn−2 + . . . + a1 · b1 + a0 · b0 + . . . + a−1 · b−1 + a−2 ·b−2 + a−m+1 · b−m+1 + a−m · b−m

Par exemple, pour trouver le correspondant de (A1C)16 dans le système décimal, il suffit defaire : 10 · 162 + 1 · 161 + 12 · 160 = 276810

Base 10 vers base b

Partie Entière

Cette conversion consiste à faire des divisions successives du nombre décimal par b, jusqu’àobtenir un quotient nul. Le nombre dans la base b correspond aux restes des divisions faites, dansle sens inverse où ils ont été obtenus.

Soit la conversion 5710 vers base 2 :

Division Quotient Reste

57/2 28 1(a0)

28/2 14 0(a1)

14/2 7 0(a2)

7/2 3 1(a3)

3/2 1 1(a4)

1/2 0 1(a5)Le résultat est donc (111001)2.

Page 52: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

3.2. REPRÉSENTATION (CODAGE) DES NOMBRES 51

Partie FractionnaireCette conversion consiste à faire des multiplications successives du nombre décimal par b. Le nombredans la base b correspond aux parties entières des produits des multiplications faites, dans le sensdirect où ils ont été obtenus.

Soit la conversion 0, 5710 vers base 2 :

Multiplication Produit Partie entière

0, 57 · 2 1, 14 1(a−1)

0, 14 · 2 0, 28 0(a−2)

0, 28 · 2 0, 56 0(a−3)

0, 56 · 2 1, 12 1(a−4)

0, 12 · 2 0, 24 0(a−5)

0, 24 · 2 0, 48 0(a−6)Le résultat est donc (0, 100100)2.

Base 2n vers base 2 et base 2 vers base 2n

A l’aide de n bits, la conversion se fait sur chaque chiffre en base 2 pour ensuite les juxtaposer :Par exemple, (3A9)16 = (001110101001)2 et (264)8 = (010110100)2

Base i vers base j

Si les deux bases sont des puissances de 2, la conversion se fait en utilisant 2 comme base relais(i vers 2 et ensuite 2 vers j). Sinon, la base relais est la base 10.

3.2.3 Représentation en Signe et Valeur Absolue

La représentation en signe et valeur absolue consiste à ajouter un bit s à la représentationsimples de position afin de pouvoir représenter des nombres négatifs (s an−1 an−2 . . . a1 a0, a−1 . . . a−m).La convention adoptée est s = 0 pour un nombre positif et s = 1 pour un nombre négatif. Ainsi,pour une représentation sur 4 bits, +5 = 0101 et −5 = 1101.

Du fait que cette représentation implique un traitement différent pour le bit de signe, elle estpeu intéressante pour l’implantation d’opérateurs arithmétiques.

3.2.4 Représentation en Complément à 2

Il existe une forme de représentation des nombres signés plus efficace que la représentation enSigne et Valeur Absolue : le complément à deux. Le principe du complément à deux est simple :dans la représentation non signée (simples de position, ou notation binaire habituelle) sur n bits,on travaille implicitement modulo 2n. Ainsi, sur n bits :

• 2n a la même représentation que 0,• (2n + 1) la même que 1,• etc.

. C’est pour cela que pour éviter les ambiguïtés, on se limite (en binaire non signé) à la représen-tation des nombres allant de 0 à (2n − 1) (soit 2n nombres au total).

Ce principe du modulo peut être étendu aux nombres négatifs. Toujours sur n bits :• si 0 a la même représentation que 2n (soit 00...00),• −1 devra donc avoir la même que (2n − 1) (soit 11...11),• −2 la même que (2n − 2) (soit 11...10),• etc.

Le complément à deux n’est qu’une convention, consistant à dire qu’ on décale la plage des nombresreprésentables, en mettant le 0 au centre, et que, par compatibilité avec la représentation binairenon signée, les nombres commençant par 0 seront considérés positifs, et ceux commençant par 1

Page 53: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

52 CHAPITRE 3. OPÉRATEURS ARITHMÉTIQUES

négatifs.Autrement dit, au lieu de représenter des nombres non-signés allant de 0 à (2n−1), on représenterades nombres signés allant de −(2n−1) à +(2n−1 − 1), soit 2n nombres au total dans les deux cas.

Remarques :• Par convention, le 0 est donc classé dans les nombres positifs.• Les nombres positifs ont la même représentation en binaire non signé qu’en complément à 2.• Le complément à 2 permet de représenter moins de nombres positifs que le binaire non signé

(c’est normal, l’intervalle de 2n nombres a été séparé en deux parties de même longueur, unepour les positifs, une pour les négatifs).

• Le nombre d’entiers non nuls représentables en CA2 etant impair, une des deux plages seraplus grande que l’autre. Le 0 étant considéré positif (car sa représentation commence par un0), il y aura donc un nombre strictement négatif de plus que de nombres strictement positifs.

Par exemple, pour une représentation sur 4 bits (n = 4),• on peut représenter les nombres signés allant de −8 à +7,• +5 ≡ 01012,• −5 ≡ 24 + (−5) ≡ +11 ≡ 10112

• +7 ≡ 01112

• −7 ≡ 24 + (−7) ≡ +9 ≡ 10012

• −8 ≡ 24 + (−8) ≡ +8 ≡ 10002

• +8 est non représentable (car il aurait la même représentation que −8).

Le complément à deux permet que l’opérateur utilisé pour faire des additions puisse aussi faire dessoustractions : au lieu de soustraire un nombre à l’aide d’un opérateur spécialisé de soustraction, ilsuffit d’ajouter son opposé en complément à deux, et de travailler à nombre de bits constant (pourrester modulo 2n).

Exemple : soit l’opération 7 − 5 en décimal. En binaire, pour une représentation sur 4 bits, celacorrespond à 01112 − 01012.

La soustraction de 01012 peut être remplacée par une addition de son complément à 2, soit10112.

7 − 5 = 7 + (−5) = 01112 + 10112 = 100102. Il ne faut garder que les 4 bits de poids faible,pour obtenir la réponse exacte, c’est-à-dire, 00102 = 2.

3.2.5 Autres Codes

Ci-après sont présentés quelques codes utilisés dans les systèmes numériques. Les codes deGray, p parmi n et le code à bit de parité ne sont pas pondérés, c’est-à-dire qu’il n’y a pas depoids attribué à chaque position (rang). Les rapports entre les symboles des codes et les nombressont de simples tableaux de correspondances convenus. De ce fait, ils sont moins appliqués auxopérations arithmétiques. Ils sont principalement rencontrés dans les systèmes de communicationpour le contrôle de transmission/réception de données.

Code BCD (Binary Coded Decimal)

Dans le code BCD chaque chiffre décimal (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) est codé en binaire à l’aide de4 bits, comme le montre le tableau ci-dessous. Pour la conversion DCB vers Binaire, il suffit deconvertir chaque chiffre individuellement. La conversion Binaire vers DCB se fait en regroupant lesbits 4 par 4. Ainsi, 178DCB = 0001011110002.

Code de Gray

Dans le code de Gray, deux termes successifs ne diffèrent que par un seul bit. Les termes nedifférant que par un seul bit sont appelés adjacents.

Page 54: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

3.3. FONCTIONS ARITHMÉTIQUES 53

Code p parmi n

Dans ce code, à chaque nombre décimal correspondent n bits, dont p valent 1 et n − p valent0. Il permet de détecter jusqu’à une erreur : si lors d’une communication, il y a réception d’unnombre de 1 différent de p, cela signifie il y a eu une erreur de transmission. Le tableau 3.2 illustreun exemple de ce code pour le cas n = 5 et p = 2.

Code à bits de parité

Dans ce code, un bit est ajouté aux symboles de départ de sorte que le nombre total de 1’s soitpair (impair), si la parité convenue est paire (impaire). Le tableau 3.2 donne l’exemple pour 4 bitsd’information et une parité paire.

Décimal Binaire BCD Gray p parmi n parité

n DCBA DCBA DCBA EDCBA DCBAP

0 0000 0000 0000 00011 00000

1 0001 0001 0001 00101 00011

2 0010 0010 0011 01001 00101

3 0011 0011 0010 10001 00110

4 0100 0100 0110 00110 01001

5 0101 0101 0111 01010 01010

6 0110 0110 0101 10010 01100

7 0111 0111 0100 01100 01111

8 1000 1000 1100 10100 10001

9 1001 1001 1101 11000 10010

10 1010 - 1111 - 10100

11 1011 - 1110 - 10111

12 1100 - 1010 - 11000

13 1101 - 1011 - 11011

14 1110 - 1001 - 11101

15 1111 - 1000 - 11110

Tab. 3.2: Exemple de différents codes

3.3 Fonctions arithmétiques

La réalisation de fonctions arithmétiques est basée sur la décomposition de ces fonctions enopérations booléennes élémentaires.

Attention : ne pas confondre les opérations booléennes et les opérations arithmétiques.

3.3.1 Additionneur

Considérons l’addition de deux nombres ai et bi codés sur 1 bit. Le résultat peut prendre lesvaleurs 0, 1 ou 2, que l’on peut coder binaire comme 00, 01 et 10. Les deux bits de ce code sontappelés bit de somme si (poids faible) et bit de retenue ri+1 (poids fort). A l’aide de ces deux bits,l’addition s’exprime de la façon suivante :

ai + bi = 2 · ri+1 + si

Page 55: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

54 CHAPITRE 3. OPÉRATEURS ARITHMÉTIQUES

L’addition peut être vue comme une fonction booléenne à deux entrées (ai et bi) et à deux sorties(si et ri+1). Cette fonction est appelée demi-additionneur. Ses caractéristiques sont résumées dansle tableau 3.1.

Ri+1 = ai · biSi = ai ⊕ bi

ai bi Si Ri+1 Valeur décimale

0 0 0 0 0

0 1 1 0 1

1 0 1 0 1

1 1 0 1 2

Fig. 3.1: Équations algébriques, table de vérité et schéma d’un demi-additionneur.

Nous pouvons généraliser cette structure pour décrire l’addition de deux mots A et B de taillessupérieure à 1. Chacun des bits ai et bi sont additionnés un par un en commençant par les bits depoids faible. Il faut pour cela répercuter à l’étape i+ 1 l’éventuelle retenue provenant de l’additionde ai et bi. Une variable supplémentaire ri représentant une retenue entrante est donc introduite.Par analogie, le bit ri+1 est appelé retenue sortante.

A chaque itération i, le résultat de cette addition des nombres ai, bi et ri peut prendre lesvaleurs 0, 1, 2 ou 3, que l’on code en binaire comme 00, 01 et 10, 11. En utilisant les notations pré-cédentes, l’équation arithmétique de l’additionneur « 1 bit » avec retenue entrante (ou additionneur« complet ») est alors :

ai + bi + ri = 2 · ri+1 + si

Nous présentons dans les tableaux suivants ( 3.3, 3.4 page ci-contre, 3.5 page suivante) la table devérité de l’additionneur complet ainsi que les tables de Karnaugh associées à ri+1 et si.

ai bi Ri Si Ri+1 Valeur décimale

0 0 0 0 0 0

0 0 1 1 0 1

0 1 0 1 0 1

0 1 1 0 1 2

1 0 0 1 0 1

1 0 1 0 1 2

1 1 0 0 1 2

1 1 1 1 1 3

Tab. 3.3: Table de vérité de l’additionneur complet

Nous observons sur les tables de Karnaugh que l’expression de la somme si n’est pas réductible,

Page 56: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

3.3. FONCTIONS ARITHMÉTIQUES 55

ri\aibi 00 01 11 10

0 0 1 0 1

1 1 0 1 0

Tab. 3.4: Table si

ri\aibi 00 01 11 10

0 0 0 1 0

1 0 1 1 1

Tab. 3.5: Table ri+1

la forme en damier obtenue est caractéristique des fonctions de type ou-exclusif :

Si = ai ⊕ bi ⊕ ri

En ce qui concerne la retenue, pour donner un exemple « d’optimisation », nous allons supposerl’existence d’une structure de calcul de la somme et tenter de mettre en facteur le « matériel » :

ri+1 = ai · bi + ri · bi + ri · ai = ai · bi + ri · bi · (ai + ai) + ri · ai · (bi + bi)

= ai · bi + ri · (ai · bi + ai · bi) + ri · (ai · bi + bi · ai) = ai · bi + ri · (ai · bi + ai · bi)= ai · bi + ri · (ai ⊕ bi)

Le schéma de l’additionneur complet s’en déduit :

Fig. 3.2: Exemple de schéma pour l’additionneur complet.

Pour des nombres de n chiffres, la sommation va entraîner une propagation de la retenue sil’on adopte la structure série qui résulte de la mise en oeuvre de l’équation précédente. Dansl’additionneur à retenue série (Ripple Carry Adder), on assiste à un phénomène de propagation dela retenue (cf. Fig. 3.3 page suivante), facile à cerner si l’on étudie l’addition de tranches de bitsdu type suivant : 11111111 + 00000001

Remarque : La structure proposée dans la Fig. 3.2 pour l’additionneur complet n’est pasla seule possible. Suivant l’objectif visé par l’utilisateur, d’autres structures sont envisageables,notamment dans le but d’accélérer la vitesse de calcul de la retenue qui conditionne le temps decalcul total de l’additionneur.

3.3.2 SoustracteurLa soustraction de deux nombres ai et bi codés sur 1 bit donne un résultat pouvant prendre les

valeurs −1, 0 et 1. Nous pouvons formuler cette opération sous la forme :

ai − bi = −2 · ri+1 + di ,

Page 57: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

56 CHAPITRE 3. OPÉRATEURS ARITHMÉTIQUES

Fig. 3.3: Additionneur à retenue série.

où ri+1 et di sont deux variables booléennes représentant respectivement la retenue sortante et ladifférence.

Attention : Le bit de retenue ri+1 est interprété comme une valeur négative.Cette fonction de deux entrées et deux sorties est appelée demi-soustracteur. Ses caractéristiques

sont résumées dans le tableau suivant :

Ri+1 = ai · biDi = ai ⊕ bi

ai bi Di Ri+1 Valeur décimale

0 0 0 0 0

0 1 1 1 −1

1 0 1 0 1

1 1 0 0 0

Fig. 3.4: Equations algébriques, table de vérité et schéma d’un demi-soustracteur.

Nous pouvons généraliser cette structure pour décrire la soustraction de mots de taille supérieureà 1. Pour cela il faut introduire une variable supplémentaire ri qui représente une retenue entrante.L’équation générale du soustracteur « 1 bit » avec retenue entrante (ou soustracteur « complet »)est alors :

ai − bi − ri = −2 · ri+1 + di

Nous présentons, dans les tableaux suivants, la table de vérité du soustracteur complet (Tab. 3.6 pageci-contre) ainsi que les tables de Karnaugh associées à ri+1 ( 3.7 page suivante) et di ( 3.8 pageci-contre).

Un raisonnement identique à celui utilisé dans le cas de l’additionneur aboutit aux équations :

Di = ai ⊕ bi ⊕ ri ,

Ri+1 = ai · bi + ri · (ai ⊕ bi)

Un schéma du soustracteur complet s’en déduit (cf Fig. 3.5 page suivante).

Page 58: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

3.3. FONCTIONS ARITHMÉTIQUES 57

ai bi Ri Di Ri+1 Valeur décimale

0 0 0 0 0 0

0 0 1 1 1 −1

0 1 0 1 1 −1

0 1 1 0 1 −2

1 0 0 1 0 1

1 0 1 0 0 0

1 1 0 0 0 0

1 1 1 1 1 −1

Tab. 3.6: Table de vérité du soustracteur complet

ri\aibi 00 01 11 10

0 0 1 0 1

1 1 0 1 0

Tab. 3.7: Table di

ri\aibi 00 01 11 10

0 0 1 0 0

1 1 1 1 0

Tab. 3.8: Table ri+1

Fig. 3.5: Schéma interne du soustracteur complet.

Page 59: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

58 CHAPITRE 3. OPÉRATEURS ARITHMÉTIQUES

Page 60: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 4

Du silicium aux transistors

4.1 Introduction

4.1.1 Historique

Le transistor MOS est un élément décisif dans l’évolution technologique de l’électronique. Celleci permet la réalisation de circuits de traitement d’informations de très grandes performances et detrès grande diffusion. Le moteur de cette évolution est la diminution des dimensions du transistor.Nous verrons comment cette diminution géométrique entraîne une vitesse et une puissance detraitement plus grandes pour un coût, au sens général, plus faible.

La technologie (mot qui désigne ici l’ensemble des procédés matériels aboutissant à la fabrica-tion de circuits intégrés) CMOS sur Silicium domine très largement l’industrie de l’électronique.Pourtant le premier transistor (contraction de l’anglais “transfer resistor”) construit en 1947 auxLaboratoires Bell Telephone (aux États Unis) par Bardeen, Brattain et Shockley, fut un transistorbipolaire à pointes. Le premier transistor MOS ne fut construit qu’en 1961, au même endroit parKahng et Atalla, bien que la première publication scientifique décrivant son principe de fonction-nement soit le fait de Lilienfeld en 1928.

Kilby de Texas Instruments en 1958 et Noyce de Fairchild Camera and Instrument en 1959élaborèrent les premiers circuits intégrés bipolaires. Notons enfin que 2 ingénieurs de Fairchild,Moore et Noyce, fondèrent Intel en 1968 pour y développer les premiers circuits intégres MOS.

4.1.2 Objectifs

À partir de lois et de principes physiques simples que nous rappellerons rapidement, nousélaborerons deux modèles du transistor MOS :

• un modèle électrique nous permettant d’évaluer les performances (vitesse, consommation,surface...) du circuit,

• à partir de ce modèle et dans le chapitre 5 page 83, nous élaborerons un modèle interrupteurou modèle logique nous permettant d’évaluer simplement la fonction logique réalisée par lecircuit.

4.1.3 Organisation de la leçon

Nous allons répondre aux questions suivantes :• Comment fonctionne un circuit élémentaire à un transistor ?• Quelle fonction électrique doit réaliser un transistor ?• Quel phénomène physique utiliser pour celà ?• Comment est construit un transistor ?• Comment est modéliser son fonctionnement ?

59

Page 61: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

60 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

4.2 Circuit élémentaire

Les systèmes de traitement de l’information utilisent, souvent de manière cachée mais quasiexclusivement, des transistors. De la même façon, l’information est portée par la variation d’unsignal électrique. Ce signal peut être un courant, une tension, une quantité de charge, un champélectrique et/ou magnétique. . . La variable porteuse d’information peut être l’amplitude, la fré-quence, ou la phase. . . Afin de simplifier l’exposé, nous supposerons que l’information est portéepar l’amplitude de la tension du signal électrique.

Le schéma de la figure 4.1 représente le circuit électronique permettant de réaliser la fonctionélémentaire inversion/amplification.

Fig. 4.1: Circuit élémentaire inverseur

Il est constitué de :• une alimentation stabilisée, qui délivre une tension continue VDD, quel que soit le courant

sortant IDD (source de tension constante idéale),• une résistance de charge R, aux bornes de laquelle le courant qui la traverse IR, engendre

une tension VR (loi d’Ohm) : VR = R · IR,• un transistor T, dont le modèle est un quadripôle linéaire constitué de :

– dipôle de sortie : une source de courant dépendante linéairement de la tension d’entrée Ve :IT = Gm · Ve,

– dipôle d’entrée : un prélèvement de la tension d’entrée Ve.Ce type de quadripôle est appelé une transconductance idéale.

Analysons le fonctionnement de ce circuit :• en utilisant la loi des mailles, puis la loi d’Ohm, nous pouvons écrire :VDD = VR + Vs = R · IR + Vs

• les seuls éléments connectés sur le noeud de sortie sont la charge R et le dipôle de sortie dutransistor T. Ainsi, (loi des noeuds) nous pouvons écrire :IDD = IR = IT

• utilisons la transconductance idéale Gm du transistor :VDD = R ·Gm · Ve + Vs

• nous obtenons la caractéristique de transfert Vs = f(Ve) du circuit :

Vs = VDD −R ·Gm · Ve

Ce circuit est utilisé en électronique analogique pour réaliser, dans certaines conditions, lafonction amplification, dont le principal paramètre est le gain en tension :

Gv =δVs

δVe= −Gm ·R

De même il est utilisé en électronique numérique pour réaliser la fonction inversion logique.Dans ce type de traitement l’information est portée par les deux états extrêmes de l’amplitude de

Page 62: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.3. RAPPELS DE PHYSIQUE SIMPLIFIÉE 61

tension :

Ve = VDD = ”1” ⇒ IT = ITmax

⇒ VR = R · ITmax = −VDD

⇒ Vs = 0V = ”0”Ve = 0V = ”0” ⇒ IT = 0A

⇒ VR = 0V⇒ Vs = VDD = ”1”

Poursuivons l’exemple de l’électronique numérique : le traitement de l’information consiste àfaire commuter (dans certaines conditions qui spécifient la fonction logique réalisée) la tension dunoeud de sortie de 0V à VDD ou de VDD à 0V. Le principal paramètre de performance du circuitlogique est le temps mis pour passer d’un état logique à l’autre (vitesse).

Nous utilisons une modélisation simple du nœud de sortie où les seuls éléments passifs qui ysont connectés sont les capacités parasites des transistors et des connexions et les équations deconstitution du condensateur :

• condensateur idéal : Q = C · V ,• courant : I = dQ

dt ,nous permettent d’obtenir :

• le temps de commutation : dt = C · dVi

où :• dV = ±V DD (suivant la transition ”0” 7→ ”1” ou ”1” 7→ ”0”),• C = capacité totale équivalente du noeud commutant,• i = courant traversant le dipôle de sortie du transistor et chargeant C.Il ne reste plus ( !) qu’à identifier et caractériser i et C.

Dans ce chapitre nous allons donc voir comment le transistor MOS peut être réalisé à partir dematériaux semi-conducteurs tels que le Silicium.

Pour cela nous rappellerons quelques propriétés élémentaires des matériaux semi-conducteursintrinsèques et dopés. En annexe nous trouverons des explications plus fournies autour de cesrappels (densité de courant, conductivité, résistivité, dopages...).

A l’aide de ces notions, nous décrirons la structure et le fonctionnement du transistor MOS demanière à disposer d’un modèle simple et quantifiable de l’intensité du courant de sortie et descapacités parasites du transistor MOS.

4.3 Rappels de physique simplifiée

4.3.1 Notion de courant

Un courant électrique dans un matériau est un déplacement de charges libres. Il nécessitel’existence de :

• charges libres, c’est à dire ne participant pas aux liaisons de valence de la structure cristalline,donc libres de s’y déplacer,

• d’une force capable de les entraîner.Pour simplifier, il existe deux types de courant : le courant de diffusion et celui de conduction.

Diffusion

La force de diffusion est due à un gradient de concentration (densité) de charges. Elle entraîneles porteurs libres vers les régions de moindre concentration, créant ainsi un courant de diffusion.C’est celle qui est utilisée dans la jonction PN (voir plus loin) et dans l’effet bipolaire.

Page 63: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

62 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

Conduction

Le champ électrique E engendre sur un porteur libre une force F :

F = qc · E

Compte tenu des frottements et des collisions avec le réseau cristallin, le porteur libre atteintrapidement une vitesse limite vc :

vc = µc · ELa densité du courant de conduction ainsi créé est J :

J = σ · E = nc · qc · µc · E

• E est le champ électrique en V ·m−1,• qc est la charge du porteur libre en C (Coulomb),• F est la force d’entraînement en N,• µc est sa mobilité dans ce matériau en m2 · V −1 · s−1,• vc est sa vitesse en m · s−1,• σ est la conductivité en Ω−1 ·m−1 ou en S ·m−1 de ce matériau pour ces charges libres,• nc est la densité (concentration par unité de volume) des charges libres en m−3,• J est la densité du courant de conduction en A ·m−2,Ainsi nous pouvons modéliser un courant en connaissant :• la technologie du matériau par :

– la mobilité de ses porteurs libres (µ),– leur densité dans la région active (n),

• la charge unitaire de ces porteurs (qc),• l’action appliquée : ici le champ électrique (E)

4.3.2 Conducteur, semi-conducteur, dopages

Fig. 4.2: Résistance d’un tube

La résistance (en Ohms, Ω) d’un tube de longueur L, dont l’aire de la section est AS , dans unmatériau de conductivité σ est :

R =1σ· LAS

Nous allons expliquer succinctement le mode de conduction à la température ambiante ditenormale et calculer la résistance d’un même tube de longueur L, d’aire de section AS pour 4 typesde matériau :

• un conducteur métallique,• un semi-conducteur pur, le Silicium,• du Silicium dopé N,• du Silicium dopé P.La charge de l’électron est qe et la charge élémentaire est q =| qe | (voir la valeur des paramètres

communs dans le tableau 4.1 page ci-contre.

Conducteur

Supposons que le matériau utilisé soit un métal de densité atomique Nm et dans lequel lamobilité des électrons est µm. Supposons que chaque atome métallique fournisse un électron libre,ainsi la densité des électrons libres est nm = Nm (voir le tableau 4.2 page suivante).

Page 64: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.3. RAPPELS DE PHYSIQUE SIMPLIFIÉE 63

Dimensions Charges Température

L = 10mm

AS = 1mm2q = qtr = −qe = 0, 16 aC (a = 10−18) T = 300K ou θ = 27C

Tab. 4.1: paramètres communs

En résumé, pour un métal conducteur (T = 300K)

un électron libre par atome métallique : nm = Nm

Technologie Résistance

Nm = 50 · 1027m−3

µm = 0, 15m2V −1s−1R =

1q · nm · µm

· LAS

≈ 8µΩ

Tab. 4.2: paramètres du conducteur

Semi-conducteur pur

Le Silicium (Si) à l’état solide est un semi-conducteur, il forme un cristal de structure tétra-édrique. Il appartient à la colonne IV de la classification périodique des éléments. Chaque atomeSi est ainsi relié à ses 4 plus proches voisins par l’intermédiaire des 4 électrons de sa couche péri-phérique.

Un semi-conducteur est isolant au froid absolu (T = 0K) c’est à dire qu’aucun électron n’yest libre. À la température normale : T = 300K, θ = 27C l’énergie fournie est telle que certainsdes électrons périphériques sont libres laissant autant d’atomes ionisés Si+. À son tour l’ion Si+

peut capter l’électron d’un atome Si voisin. Le manque d’électron (l’ion Si+) peut ainsi se déplacercomme l’ion e−, et il peut être modélisé par un porteur libre : le trou tr+.

La densité atomique du Silicium cristallisé est NSi. La densité de paires électrons-trous libres àla température normale est ni = pi. L’indice i signifie que le Silicium est pur (intrinsèque). ni et pi

varient très fortement avec la température (voir la valeur de ces paramètres dans le tableau 4.3).Dans un semi-conducteur il existe donc deux types de courant : un courant d’électrons et un

courant de trous. Notons enfin que la charge du trou est égale à l’opposé de celle de l’électron :qtr = −qe = q.

En utilisant les mêmes dimensions qu’au paragraphe 4.3.2 page précédente et les paramètrestypiques d’une technologie CMOS 0, 5µm (voir le tableau 4.3), nous calculons la résistance du tubede Silicium pur.

Plus d’explications sur le calcul de cette résistance sont données dans l’annexe 22 page 225.

Semi-conducteur dopé N

Le dopage N consiste à remplacer un certain nombre d’atomes de Silicium par des atomesdonneurs en concentration ND. Ces atomes possédent 5 électrons sur leur couche périphérique. Ilsappartiennent donc à la colonne V de la classification périodique des éléments.

En résumé, pour le Silicium intrinsèque (T = 300K)

la densité des e− libres est égale à celle des tr+ libres : ni = pi

Technologie Résistance

NSi = 50 · 1027m−3

ni = pi = 15 · 10+15m−3

µn = 0, 015m2V −1s−1

µp = 0, 006m2V −1s−1

R =1

q · ni · (µn + µp)· LAS

≈ 200MΩ

Tab. 4.3: paramètres du Silicium pur

Page 65: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

64 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

En résumé, pour le Silicium dopé N (T = 300K)

les e− sont majoritaires les tr+ sont minoritaires : nN ≈ ND pN

Technologie Résistance

ND = 70 · 1021m−3

µN = 0, 015m2V −1s−1R ≈ 1

q ·ND · µN· LAS

≈ 60Ω

Tab. 4.4: paramètres du Silicium dopé N

Quatre des cinq électrons périphériques des atomes donneurs participent aux liaisons covalentesavec les 4 atomes de Silicium voisins. Il suffit d’une énergie très faible pour que le 5e électron selibère. L’atome dopant de type N est ainsi un donneur (D) d’électron libre.

À 0K aucun atome du cristal de Silicium dopé n’est ionisé, il n’y a pas de porteur libre. À latempérature normale :

• certains atomes de Silicium s’ionisent, libérant chacun un électron et un trou libres appelésporteurs intrinsèques (même phénomène thermique que pour le Silicium pur),

• tous les atomes dopants s’ionisent, libérant chacun un électron et laissant chacun un atomefixe chargé positivement.

Le dopage de type N crée ainsi un déséquilibre entre les densités de porteurs libres :• les porteurs majoritaires sont les électrons de densité : nN ≈ ND,• les porteurs minoritaires sont les trous de densité : pN ≈ n2

i

ND,

La densité de dopage N couramment utilisée pour les sources et les drains est typiquement :ND = NS = 10 · 10+24m−3.

De même la densité de dopage N des substrats (Bulk, caisson) :NB = 150 · 10+21m−3.

Ceci est à comparer avec la concentration des porteurs intrinsèques :ni = pi = 15 · 10+15m−3.

Rappelons enfin, la densité atomique du Silicium :NSi = 50 · 10+27m−3.

La neutralité électronique se vérifie en effectuant le bilan des charges :• les charges positives sont :

– les trous libres pN ,– les atomes dopants ionisés fixes ND.

• charges négatives sont :– les électrons libresnN .

Dans les mêmes conditions qu’au paragraphe précédent nous calculons la résistance du tube deSilicium dopé N (tableau 4.4).

Semi-conducteur dopé P

Le dopage P consiste à remplacer un certain nombre d’atomes de Silicium par des atomesaccepteurs en concentration NA. Ces atomes possédent 3 électrons sur leur couche périphérique.Ils appartiennent donc à la colonne III de la classification périodique des éléments.

Quatre places sont disponibles pour les liaisons covalentes de la maille élémentaire de Silicium.Les trois électrons périphériques des atomes accepteurs participent à ces liaisons. Il suffit d’uneénergie très faible pour qu’un 4e électron soit “emprunté” à un atome de Silicium voisin, qui setrouve ainsi ionisé Si+, c’est à dire transformé en trou libre. L’atome dopant de type P est ainsiun accepteur (A) d’électron, un donneur de trou libre.

À 0K aucun atome du cristal de Silicium dopé n’est ionisé, il n’y a pas de porteur libre. À latempérature normale :

Page 66: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.3. RAPPELS DE PHYSIQUE SIMPLIFIÉE 65

En résumé, pour le Silicium dopé P (T = 300K)

les tr+ sont majoritaires les e− sont minoritaires : pP ≈ NA nP

Technologie Résistance

NA = 70 · 1021m−3

µP = 0, 006m2V −1s−1R ≈ 1

q ·NA · µP· LAS

≈ 150Ω

Tab. 4.5: paramètres du Silicium dopé P

• certains atomes de Silicium s’ionisent, libérant chacun un électron et un trou libres appelésporteurs intrinsèques (même phénomène thermique que pour le Silicium pur),

• tous les atomes dopants s’ionisent, produisant chacun un trou et laissant chacun un atomefixe chargé négativement.

Le dopage de type P crée ainsi un déséquilibre entre les densités de porteurs libres :• les porteurs majoritaires sont les trous de densité : pP ≈ NA,

• les porteurs minoritaires sont les électrons de densité : nP ≈ n2i

NA,

Les ordres de grandeur des densités de dopage sont les mêmes que précédemment. La neutralitéélectronique se vérifie de la même manière que précédemment.

Dans les mêmes conditions qu’au paragraphe 4.3.2 page 63 nous calculons la résistance du tubede Silicium dopé P (tableau 4.5).

Notons que les deux dernières résistances sont dans le rapport inverse des mobilités.

4.3.3 La jonction PN

L’interface entre deux zones semi-conductrices, l’une dopée N et l’autre dopée P, est appeléejonction PN diode. L’anode (A) correspond à la zone dopée P, la cathode (K) à la zone dopée N.

Mode de fonctionnement

Polarisation directe : si VPN est positive la diode est polarisée en direct elle est passante,car un courant important la traverse (voir le modèle du courant).

Polarisation inverse : si VPN est négative la diode est polarisée en inverse ou bloquée,car un courant extrêmement faible la traverse (voir le modèle du courant).

Modèle du courant

C’est le modèle de Shockley basé sur la modélisation du courant de diffusion :

Ij = Aj · Js ·(eVPNuth − 1

)(4.1)

• Aj est l’aire de la jonction (l’interface N-P),• Js est la densité du courant de saturation inverse, caractéristique de la technologie :Js ≈ 1aA · µm−2

• le potentiel thermodynamique à T = 300K : uth = kTq ≈ 26mV

Notons que :• en direct avec VPN uth, le courant varie exponentiellement : décuplement de l’intensité

tout les 60mV : avec Ij1 = f(VPN ) et Ij2 = f(VPN + 60mV ) nous obtenons : Ij2 = 10 · Ij1 ,• en inverse l’intensité est quasiment constante : Ij ≈ −Aj · Js.

Page 67: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

66 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

En résumé, la jonction PN en inverse VPN ≤ 0

Coupe technologique Schéma équivalent

Dimensions Technologie Modèle

Aj = W · L C ′j0 = 0, 8fF · µm−2 Cj = Aj · C ′j0

Tab. 4.6: paramètres d’une jonction PN en technologie CMOS 0, 5µm

Modèle capacitif

Le modèle capacitif de la jonction ne sera ici présenté que pour la polarisation inverse car letransistor MOS est constitué de jonctions toutes polarisées à VPN ≤ 0 en mode de fonctionnementnormal.

En polarisation inverse, il se forme autour de l’interface des deux zones dopées une région dé-serte, où la densité de porteurs libres est pratiquement nulle. La zone déserte se comporte quasimentcomme un isolant : le diélectrique de la capacité équivalente Cj .

Un peu plus d’informations sur le fonctionnement de la jonction PN, sont données dans l’an-nexe 22 page 225.

• en inverse : l’épaisseur de la zone déserte xD = f(VPN ) dépend de la valeur de VPN sa valeurest minimale xD0 pour VPN = 0V , ainsi la valeur de la capacité est elle maximale

• la permittivité relative du Silicium déserté : κSi = 11, 9• la capacité surfacique maximale : C ′j0 =

κSi · ε0xD0

• où la permittivité du vide est : ε0 = 8, 854pF ·m−1

4.4 Composants MOS

Les matériaux étudiés au paragraphe 4.3.2 page 62 nous permettent de créer des dipôles derésistance fixe une fois choisie leur technologie et déterminées leurs dimensions. Si un potentiel estappliqué à leurs bornes et qu’il ne produit pas un champ électrique trop élevé (environ 5MV ·m−1,soit 5V · µm−1) la loi d’Ohm, V = R · I, peut s’appliquer et permettre de calculer le couranttraversant le dipôle c’est la première solution décrite ci dessous.

4.4.1 Première étape : la résistance

Dans un barreau de Silicium faiblement dopé N (Si N-), le suBstrat B (bulk en anglais), dispo-sons deux prises de contact de Silicium fortement dopées N (Si N+) : la source (S) et le drain (D)(voir figure 4.3 page suivante).

Ces 3 zones sont dopées de même type. Nous pouvons y faire circuler un courant formé ma-joritairement d’électrons qui s’écoulent de la source vers le drain, par conduction due au champélectrique longitudinal engendré par VDS .

Les dimensions (la largeur W, la longueur L et l’épaisseur e) de la partie du substrat situéeentre D et S, et les paramètres technologiques du matériau dont est fait le substrat, déterminentla résistance équivalente RDS ainsi que nous l’avons fait au paragraphe 4.3.2 page 63, et nousobtenons : VDS = RDSIDS .

Nous n’avons pas de moyen externe au dipôle DS de commander l’intensité IDS .

Page 68: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.4. COMPOSANTS MOS 67

Fig. 4.3: Résistance en technologie MOS

4.4.2 Seconde étape : la diode

Utilisons maintenant un substrat de Silicium faiblement dopé P (Si P-). Appliquons la mêmepolarisation que précédemment (voir figure 4.4). Les deux diodes DS et DB sont respectivementpolarisées l’une à 0V l’autre en inverse, aucun courant ne peut traverser ces dipôles.

Fig. 4.4: Diodes en technologie MOS

4.4.3 Troisième étape : le transistor bipolaire

Sur la structure précédemment décrite, où momentanément, nous appellerons la Source “Émet-teur” (E), et le Drain “Collecteur” (C), créons une troisième connexion la “Base” (B), pour polariseren direct la jonction BE. Nous venons de construire un transistor bipolaire où la zone P la Base(B) : voir figure 4.5 commande le courant.

Fig. 4.5: Transistor bipolaire en technologie MOS

La tension VBE (quelques dixièmes de Volts) commande le courant de la jonction BE (en direct).Des électrons sont injectés massivement dans la Base où ils sont minoritaires. La tension VCE (dequelques Volts à quelques dizaines de volts) est telle que la jonction BC est fortement polarisée eninverse, ce qui “détourne” les électrons du courant IBE injectés dans la Base, vers le Collecteur etcrée un courant ICE entre Collecteur et Émetteur.

Nous avons réalisé un dispositif modulant le courant de sortie ICE , par la tension d’entrée VBE .Il s’agit bien d’une transconductance, malheureusement il existe un courant parasite (les trous de

Page 69: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

68 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

IBE) en l’entrée (la base). L’étape suivante consiste à isoler cette entrée afin d’annuler l’intensitédu courant parasite d’entrée.

4.5 Le transistor MOS

Quatrième étape : le transistor MOS

La quatrième étape consiste à faire croitre, au-dessus de la partie du substrat (du Semi conduc-teur Si faiblement dopé P) comprise entre Source et Drain, une couche fine d’isolant : de la silice(Oxyde de Silicium, SiO2). Sur cet isolant déposons une couche conductrice : du Métal, commedans le temps, ou du Silicium très fortement dopé donc poly-cristallin, appelé polysilicium (poly)tel que cela est fait maintenant. Appelons grille (G) la couche conductrice de polysilicium, et notonsles initiales de ces 3 matériaux : MOS (voir figure 4.6).

Fig. 4.6: le transistor MOS

La structure grille-isolant-substrat est une capacité MOS formée de :• un isolant :

– d’épaisseur : tox,– de permittivité relative : κox = 3, 9– de capacité surfacique : C ′ox = κox·ε0

tox

– où la permittivité du vide est : ε0 = 8, 854pF ·m−1

• entre deux plaques conductrices (armatures) : la Grille et le suBstrat.

4.5.1 Le fonctionnement des transistors CMOS

Le transistor MOS à canal N

• VTN est la tension de seuil du NMOS.Elle est caractéristique de la techno-logie dans laquelle le transistor estconstruit : +0, 2V < VTN < +2V

• Si VGS > VTN , le canal existe, leNMOS est passant.

• Si VGS ≤ VTN , le canal n’existe pas,le NMOS est bloqué.

Page 70: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.5. LE TRANSISTOR MOS 69

L’application d’une tension VGB supérieure à VTN aux bornes du condensateur CGB entraînel’apparition de charges positives sur la Grille et de charges de signe opposé (e−) dans le substratP. Une zone de type N, le canal (zone d’inversion), apparaît ainsi dans le substrat P. Une pseudocontinuité N existe entre la Source et le Drain. Les électrons du canal se déplacent de la Sourcevers le Drain par la conduction engendrée par le champ électrique longitudinal lui même créé parVDS . Il s’agit d’un transistor NMOS, c’est à dire un transistor MOS à canal N (canal d’électrons).

Le transistor MOS à canal P

Construisons le dual du transistor NMOS le transistor PMOS. Le substrat est faiblement dopéN (Si N-). Source et Drain sont fortement dopées P (Si P+). Isolant et Grille sont construits de lamême façon que pour le NMOS.

• VTP est la tension de seuil du PMOS.Elle est caractéristique de la techno-logie dans laquelle le transistor estconstruit : −2V < VTP < −0, 2V

• Si VGS < VTP , le canal existe, lePMOS est passant.

• Si VGS ≥ VTP , le canal n’existe pas,le PMOS est bloqué.

L’application d’une tension VGB inférieure à VTN aux bornes du condensateur CGB entraînel’apparition de charges négatives sur la Grille et de charges de signe opposé (tr+) dans le substratN. Une zone de type P, le canal (zone d’inversion), apparaît ainsi dans le substrat N. Une pseudocontinuité P existe entre la Source et le Drain. Les trous du canal se déplacent de la Source vers leDrain par la conduction engendrée par le champ électrique longitudinal lui même créé par VDS . Ils’agit d’un transistor PMOS, c’est à dire un transistor MOS à canal P (canal de trous).

La technologie CMOS

Le C de CMOS veut dire Complémentaire. Une technologie CMOS est un procédé qui permetd’obtenir, sur une même puce de Silicium, des transistors NMOS et des transistors PMOS. Lesubstrat d’une technologie CMOS est faiblement dopé P (nous pouvons y graver directement desNMOS). Le substrat N (pour graver les PMOS) est une zone faiblement dopée N (Si N-) : le caisson,dans le substrat (Si P-).

Fig. 4.7: Coupe simplifiée d’une technologie CMOS

Page 71: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

70 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

4.5.2 Connexions des transistors

NMOS PMOS

Tab. 4.7: Connexions des transistors CMOS

• Le caisson dopé N- (le substrat B) des PMOS leurs est commun.Il est polarisé à la tension la plus positive du circuit : VDD,

• Le substrat (B) dopé P- des NMOS leurs est commun.Il est polarisé à la tension la plus négative du circuit : VSS = 0V parfois VSS = −VDD,

• Le Drain (D) des transistors NMOS est toujours polarisé à une tension supérieure à celle deleur Source (S),

• Le Drain (D) des transistors PMOS est toujours polarisé à une tension inférieure à celle deleur Source (S).

4.6 Modèle électrique

Dans ce qui suit, nous nous efforcerons d’expliquer les phénomènes mis en jeu pour le cas dutransistor NMOS. Nous n’élaborerons pas les équations, pour cela nous pouvons nous référer auxLeçons des modules SC ou PST, aux TD du module SC, ou à la bibliographie (voir 4.8 page 81).Pour le transistor PMOS nous nous contenterons de présenter les modèles.

4.6.1 Les jonctions

Fig. 4.8: Jonctions DB et SB isolées

Les jonctions source-substrat (SB) et drain-substrat (DB) sont des diodes à polarisation nulleou inverse. Il se développe donc de part et d’autre de l’interface N-P, une zone déserte (z. d.) quiles isole du reste du substrat.

Cependant un courant de fuite extrêmement faible mais non nul, circule au travers de cesjonctions (voir en annexe). Ce courant peut-être non négligeable dans certaines applications commele point mémoire d’une DRAM.

4.6.2 Formation du canal : la capacité MOS CGB

Pour comprendre le phénomène de formation du canal d’e−) dans le substrat P entre sourceet drain, considérons la capacité MOS Grille-suBstrat CGB évoquée au paragraphe ?? page ??.La grille et le substrat jouent le rôle des armatures conductrices du condensateur et l’isolant degrille celui du diélectrique. Nous allons étudier son comportement statique, c’est à dire pour des

Page 72: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.6. MODÈLE ÉLECTRIQUE 71

variations lentes de VGB . Attention le modèle utilisé ici ne peut s’appliquer que pour le cas de laformation du canal.

Coupe technologique Modèle

Dimensions Technologie Capacité maximale

W

L

épaisseur de l’isolant de grille :

tox = 10nm

capacité surfacique de l’isolant de grille :

C ′ox = 3, 5fF · µm−2

CGB = W · L · C ′ox

Tab. 4.8: La capacité MOS CGB

La capacité surfacique de l’isolant est C ′ox =ε0 · κox

tox, où :

• constantes physiques :– permittivité du vide : ε0 = 8, 854pF ·m−1,– permittivité relative de l’isolant de grille (oxyde de silicium : SiO2) : κox = 3, 9.

• paramètre technologique (CMOS 0, 5µm) :– épaisseur de l’isolant de grille : tox = 10nm.

L’application d’une tension VGB sur les armatures du condensateur CGB engendre l’apparitionde charges en quantités de valeurs absolues égales :

• positives sur l’armature connectée au pôle + du générateur VGB ,• négatives sur l’armature opposée, connectée au pôle - du générateur. VGB

Notons les valeurs particulières de VGB caractéristiques de la technologie :• VFB typiquement : −0, 5V < VFB < +0, 5V , la tension de “bande plate”.• VTN typiquement : +0, 2V < VTN < +2V , la tension de seuil.Étudions maintenant l’action de VGB sur CGB et sur la présence de porteurs libres.

Transistor bloqué : voir tableau 4.9 page suivanteUne quantité Qg de charges libres positives est injectée sur la grille. Une quantité Qd de charges

négatives apparaît sur l’autre armature du condensateur CGB dans le substrat Si P-. Ces dernièresproviennent de la désertion des tr+ majoritaires du substrat (charges libres positives) qui ont laisséles atomes accepteurs ionisés (A−) fixes dans le monocristal. À cet endroit la densité de porteurslibres est donc nulle, c’est une zone déserte (z. d.). Nous disons que la couche de substrat sousl’isolant est en régime de désertion. Aucune continuité électrique n’est possible entre la source etle drain. Le transistor est bloqué.

Transistor passant (Canal créé) : voir tableau 4.9 page suivanteAu-delà de VTN , la tension VGB injecte sur la grille une quantité Qg de charges libres positives

qui dans le substrat est compensée par :

Page 73: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

72 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

Désertion : VFB < VGB ≤ VTN Inversion : VGB > VTN

Tab. 4.9: Régimes de la capacité MOS

• Qd la charge d’espace (des atomes accepteurs ionisés A− fixes) de la zone déserte,• Qi la charge d’inversion du canal (les électrons libres situés sous l’isolant de grille, dans la

zone désertée par les trous).Le canal est considéré comme formé, les électrons sont devenus majoritaires, et nous disons que

la couche sous l’isolant est en régime d’inversion.

Modèle capacitif de CGB : Nous obtenons entre Grille et suBstrat deux capacités en série :CGC (entre Grille et Canal) et CCB (entre canal et suBstrat). CGC est une capacité dite “géomé-trique” de valeur fixe (CGC = C ′ox ·W · L). CCB est une capacité dite “électrique” car sa valeurdépend de VGB . La mesure du rapport CGB/CGC = f(VGB) permet d’extraire les paramètrestechnologiques VT et VFB .

4.6.3 Le courant drain-source (VGB > VTN)

Le canal quand il existe, est un ensemble de charges libres mais statiques. Encore faut-il lesentraîner par l’action du champ électrique longitudinal entre drain et source (produit par VDS),pour obtenir un courant IDS .

4.6.4 Le condensateur élémentaireLe canal existe, et le courant drain-source IDS est un courant de conduction formé par :• les charges libres injectées par l’effet capacitif du condensateur CGB polarisé par la tensionVGB ,

• le champ électrique E le long du canal et créé par VDS (pour le canal NMOS : VD > VS).Nous nous contenterons ici, de modéliser la quantité élémentaire de charges libres le long du

canal, afin d’identifier les principaux régimes de conduction du transistor.

Fig. 4.9: Condensateur élémentaire cgb

Page 74: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.6. MODÈLE ÉLECTRIQUE 73

4.6.5 Calcul de IDS

Choisissons un axe 0y le long du canal partant de la source (où y = 0) vers le drain (où y = L).Considérons un condensateur élémentaire cgb de dimensions W · dy, situé à la distance y de lasource.

L’armature supérieure du condensateur élémentaire est constituée d’une portion équivalente dela grille et l’armature inférieure d’une portion équivalente du canal. L’application de la tensionVGB engendre une différence de potentiel VI(y) aux bornes de l’isolant de grille. Rappelons quela couche d’inversion (le canal) est créée (VGB > VTN ), et que le bilan des densités de charges ducondensateur élémentaire cgb est :

• charges positives sur la grille élémentaire : dQg,• charges négatives dans le substrat :

– ions dopants fixes (charge d’éspace dans la zone déserte) : dQd,– électrons libres du canal : dQi.

• dQg = −dQd − dQi

Calculons dQi(y) la densité des charges d’inversion :dQi(y) = −C ′ox ·W · dy · VI(y).

Pour VDS ≥ 0V , VI(y) n’est pas constante le long du canal. En effet, si le potentiel est lemême sur toute la surface de grille (l’armature supérieure de CGB) la différence de potentiel VDS

le long du canal entre drain et source (l’armature inférieure) n’est pas nulle. Le canal n’est pas unconducteur, ce qui court-circuiterait drain et source, et en ferait un parfait interrupteur fermé.

Soit V (y) le potentiel du substrat juste sous l’isolant, à la distance y de la source :VGB = VI(y) + V (y).

V (y) augmente au fur et à mesure que l’on se déplace de la source vers le drain. Soient VSB lepotentiel de la source et VDB celui du drain :

• V (y = 0) = VSB près de la source,• V (y = L) = VDB près du drain.

Ainsi la densité des électrons libres injectés dans le canal (VGB > VTN ) est elle :• dQi(y) = −C ′ox ·W · dy · [VGB − VTN − V (y)] en y entre source et drain (0<y<L),• dQi(y = 0) = −C ′ox ·W · dy · [VGB − VTN − VSB ] près de la source (y=0),• dQi(y = L) = −C ′ox ·W · dy · [VGB − VTN − VDB ] près du drain (y=L).Lorsque y croît de 0 à L, V (y) croît de VSB à VDB . Le facteur [VGB − VTN − V (y)] décroît, de

même que |dQi(y)|.

Supposons que la densité des porteurs libres soit constante dans la couche d’inversion (le canal).La décroissance de |dQi(y)| signifie que l’épaisseur du canal diminue de la source vers le drain.

Maintenant pour simplifier, nous imposons VS = 0V . Alors VGB = VGS . La charge élémentaired’inversion s’écrit :

• dQi(y) = −C ′ox ·W · dy · [VGS − VTN − V (y)]y varie de 0 à L et V (y) varie de 0V à VDS . |dQi(y)| diminue bien de la source vers le drain.

Positionnons nous près du drain où V (y = L) = VDS . Pour chaque VGS il existe une valeur VDSsat

de VDS telle que dQi(y = L) s’annule, c’est à dire pour laquelle l’épaisseur du canal est nulle(pincement du canal) :

• dQi(y = L) = −C ′ox ·W · dy ·(VGS − VTN − VDSsat

)= 0 ⇒ VDSsat = VGS − VTN

VDSsat est la tension de pincement ou tension de saturation, elle dépend de VGS .

Régime quadratique : VDS < VGS − VTN

Soient :• q = |qe| la charge élémentaire (en C Coulomb),• µ0N la mobilité des électrons dans le canal (en m2 · V −1 · s−1),• n la densité (constante) des électrons dans le canal (en m−3),• IDS l’intensité (constante) du courant dans le canal (en A),• s(y) l’aire de la section du canal en y (en m2),

Page 75: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

74 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

• J(y) la densité du courant dans le canal en y (en A ·m−2),• E(y) le champ électrique longitudinal en y, du à V (y) (en V ·m−1).

Nous pouvons ainsi écrire :• relation entre l’intensité et la densité de courant : IDS = s(y) · J(y)• définition de la densité du courant de conduction : J(y) = −n · q · µ0N · E(y)• définition du champ électrique : E(y) = −dV (y)

dy

• report dans l’expression de IDS : IDS = +n · q · µ0N · s(y)dV (y)dy

• enfin : IDS · dy = +n · q · µ0N · s(y) · dV (y)Explicitons la charge élémentaire d’inversion dQi(y) en fonction des grandeurs définies plus

haut :• dQi(y) = −n · q · s(y) · dy = −C ′ox ·W · dy [VGS − VTN − V (y)]• ⇒ n · q · s(y) = C ′ox ·W · [VGS − VTN − V (y)]Pour trouver IDS nous intégrons le long du canal, c’est à dire pour y variant de 0 à L et pour

V (y) variant de 0V a VDS :• IDS · dy = µ0N · C ′ox ·W · [VGS − VTN − V (y)] · dV (y)Ce qui donne :

IDS = µ0N · C ′ox ·W

L·(VGS − VTN −

VDS

2

)· VDS (4.2)

D’autre part, à l’aide de la tangente à l’origine de la caractéristique IDS = f(VDD, VDS), pourVGS = VDD, nous définissons la résistance RDS0N , qui nous sera utile dans le module ENI (voir letableau 4.10).

Coupe technologique Caractéristique de sortie

Dimensions Technologie Modèle

W

L

capacité surfacique

de l’isolant de grille

C ′ox = 3, 5fF · µm−2

mobilité en surface

des électrons

µ0N = 14, 3 · 10−3 ·m+2 · V −1 · s−1

tension de seuil

VTN = +0, 7V

IDS = µ0N · C ′ox · WL ·

(VGS − VTN − VDS

2

)· VDS

RDS0N =[∂IDS

∂VDS

]−1

VGS=VDD,VDS→0

=L

µ0N · C ′ox ·W · (VDD − VTN )

Tab. 4.10: Transistor NMOS en régime quadratique

Page 76: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.6. MODÈLE ÉLECTRIQUE 75

Régime de pincement : VDS = VDSsat = VGS − VTN

Lorsque VDS = VDSsat = VGS − VTN , l’épaisseur du canal est nulle au droit du drain, le pointde pincement est en y = L. VDSsat est la tension de saturation. Voir le tableau 4.11

Coupe technologique Caractéristique de sortie

Dimensions Technologie Modèle

W

L

capacité surfacique

de l’isolant de grille

C ′ox = 3, 5fF · µm−2

mobilité en surface

des électrons

µ0N = 14, 3 · 10−3 ·m+2 · V −1 · s−1

tension de seuil

VTN = +0, 7V

IDSsat =µ0N · C ′ox

2· WL· (VGS − VTN )2

Tab. 4.11: Transistor NMOS au pincement (point de saturation)

Régime de saturation : VDS > VDSsat = VGS − VTN

Lorsque VDS > VGS − VTN , le point de pincement (épaisseur du canal nulle) se situe entre lasource et le drain. Le transistor est saturé. Tous les électrons du canal sont happés par le fort champélectrique qui règne, le courant est à son maximum pour un VGS donné, et n’augmente plus quefaiblement avec VDS (droites obliques en traits fins sur le graphe du tableau 4.12 page suivante).

L’augmentation vient du fait que le canal est plus court :• longueur du canal en régime quadratique ou au point de saturation : L• longueur du canal en régime saturé : L−∆L• ainsi le facteur W/L devient il : W

L = WL−∆L = W

L1

1−∆LL

≈ WL

(1 + ∆L

L

)Nous supposons qu’entre le point de pincement et le drain, il n’y a aucune perte de porteur

libre puisque la zone est déserte et qu’il n’y a ainsi aucune recombinaison.Nous utiliserons deux modèles pour le régime saturé :• modèle simple, non prise en compte de l’effet Early :IDS = IDSsat

(droites horizontales en traits gras sur le graphe du tableau 4.12 page suivante)• prise en compte de l’effet Early par l’utilisation du coefficient de modulation de longueur de

canal λ, dépendant de la longueur de la grille :λ ≈ 1

VE ·L en V −1

avec la Tension d’Early :VE ≈ 5MV ·m−1

(droites obliques en traits fins sur le graphe du tableau 4.12 page suivante)ainsi : ∆L

L = λ (VDS − VDSsat) ou ∆L = VDS−VDSsatVE

Page 77: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

76 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

Pour simplifier les notations nous utilisons les paramètres suivants :• le facteur de transconductance NMOS (paramètre de technologie) kn = µ0N · C ′ox,• le coefficient de conduction (propre au transistor) Kn = kn

2WL = µ0N ·C′

ox

2WL .

Coupe technologique Caractéristique de sortie

Dimensions Technologie Modèle

Wkn = µ0N · C ′ox

Kn =µ0N · C ′ox

2W

L=kn

2· WL

IDS = IDSsat = Kn · (VGS − VTN )2

coefficient de modulation de longueur de canal

Lλ =

1VE · L

tension d’Early : VE ≈ 5MV ·m−1

IDS = IDSsat [1 + λ (VDS − VDSsat)]

Tab. 4.12: Transistor NMOS en régime saturé

4.6.6 Le courant IDS en résuméNMOS : voir la table 4.13 page suivante. PMOS : voir la table 4.14 page ci-contre. Attention

la tension de seuil du transistor PMOS VTP est négative ! (voir paragraphe 4.5.1 page 69).

4.6.7 La tension de seuilLa tension de seuil d’un transistor MOS est une donnée technologique pour VSB = 0V , elle est

notée VT0. La tension de seuil augmente lorsque VSB augmente. Si VSB > 0V la tension de seuilest notée VT .

Soient les grandeurs suivantes :• la densité de dopage du substrat : NB (paramètre technologique en m−3),• la capacité surfacique de l’isolant de grille : C ′ox (paramètre technologique en F ·m−2),• la tension de bande plate : VFB (paramètre technologique en V ),• la densité de paires électrons-trous libres dans le Silicium intrinsèque à T = 300K : ni

(constante physique du Si en m−3),• la permittivité du Silicium : εSi (constante physique du Si en F ·m−1),• le potentiel thermodynamique à T = 300K : uth = kT

q (constante physique en V ),• la charge élémentaire : q (constante physique en C Coulomb),• le potentiel interne du substrat à l’inversion : ΨB = 2 uth · ln NB

ni(constante technologique en V ),

• le coefficient d’effet de substrat : γ =√

2q·NB ·εSiC′ox

(constante technologique en√V ),

Nous avons alors :

VT0 = VFB + ΨB + γ√

ΨB (4.3)

VT = VT0 + γ(√

ΨB − VBS −√

ΨB

)(4.4)

Page 78: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.6. MODÈLE ÉLECTRIQUE 77

Conditions Régime Courant

VGS ≤ VTN∀VDS bloqué IDS = 0

VDS < VDSsat

VDSsat = VGS − VTN

quadratiqueIDS = +2 ·Kn ·

(VGS − VTN −

VDS

2

)· VDS

Kn =µ0N · C ′ox

2· WL

=kn

2· WL

VGS > VTNVDS = VDSsat pincement IDSsat = +Kn · (VGS − VTN )2

VDS > VDSsatsaturé IDS = IDSsat

(1 + λn (VDS − VDSsat)

)

VGS = VDD VDS ≈ 0Résistance

équivalenteRDS0N =

12 ·Kn · (VDD − VTN )

Tab. 4.13: Courant et résistance équivalente du NMOS

Conditions Régime Courant

VGS ≥ VTP∀VDS bloqué IDS = 0

VDS > VDSsat

VDSsat = VGS − VTP

quadratiqueIDS = −2 ·Kp ·

(VGS − VTP −

VDS

2

)· VDS

Kp =µ0P · C ′ox

2· WL

=kp

2· WL

VGS < VTPVDS = VDSsat pincement IDSsat = −Kp · (VGS − VTP )2

VDS < VDSsatsaturé IDS = IDSsat

(1 + λp (VDS − VDSsat)

)

VGS = −VDD VDS ≈ 0Résistance

équivalenteRDS0P =

12 ·Kp · (−VDD − VTP )

Tab. 4.14: Courant et résistance équivalente du PMOS

Le plus souvent nous nous bornerons à utiliser le modèle graphique de la variation de VT enfonction de VSB , selon la courbe 4.10 page suivante obtenue pour les paramètres d’une technologieCMOS 0, 5µm. L’ordonnée à l’origine est VT0.

Page 79: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

78 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

Fig. 4.10: VT = VT0 + f(VSB)

Ce qui précède s’entend pour le transistor NMOS. En résumé l’évolution de la tension de seuilpour les 2 types de transistors est la suivante :

• transistor NMOS :– VT0N > 0V– VBSN = 0V ⇒ VTN = VT0N

– VBSN < 0V ⇒ VTN > VT0N

• transistor PMOS :– VT0P < 0V– VBSP = 0V ⇒ VTP = VT0P

– VBSP > 0V ⇒ VTP < VT0P

4.6.8 Conclusion sur le courant IDS

Le modèle du courant de sortie du transistor MOS que nous venons d’élaborer, est un ensemblede 3 équations correspondant à 3 régimes de fonctionnement. Lorsque le transistor est passant leséquations dépendent de 3 variables électriques, les trois tensions aux bornes du transistors dontnous avons pris la Source comme référence : IDS = f(VGS , VBS , VDS)

4.6.9 Modélisation des capacités

Les jonctions

Les jonctions source-substrat (SB) et drain-substrat (DB) sont des diodes à polarisation nulleou inverse. Il se développe donc de part et d’autre de l’interface N-P une zone déserte qui lesisole du reste du substrat. Cette zone joue le rôle du diélectrique d’un condensateur (voir paragra-pheé 4.3.3 page 66, et paragraphe 4.1.3 de l’annexe 2). Ce diélectrique est du silicium déserté, dontla capacité surfacique maximale est C ′j0 (paramètre technologique).

Les capacités de débordement (recouvrement)

Les zones de source et de drain sont obtenues par implantation ionique des dopants dansle substrat. Sous l’effet de la température du recuit, qui a pour objectif de réorganiser la maillecristalline, les atomes dopants ont tendance à migrer sous la grille, qui leur préexiste. Ainsi les zonesconductrices de source et de drain, débordent-elles sous l’isolant de grille, constituant l’armatureinférieure de deux capacités d’oxyde dont l’armature supérieure, commune, est le polysilicium degrille (voir figure 4.16 page ci-contre).

La longueur de débordement LD est une caractéristique de la technologie, elle est de l’ordre dequelques dizaines de nm.

Page 80: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.6. MODÈLE ÉLECTRIQUE 79

Coupe technologique schéma équivalent

Dimensions Technologie Modèle

W

Lj

C ′j0 = 0, 8fF · µm−2 CjS = CjD = W · Lj · C ′j0

Tab. 4.15: Capacités des jonctions du NMOS

Coupe technologique schéma équivalent

Dimensions Technologie Modèle

W

LD

C ′ox = 3, 5fF · µm−2

LD = 60nmCGSr = CGDr = W · LD · C ′ox

Tab. 4.16: Capacités des jonctions du NMOS

La capacité grille-substrat

Au paragraphe 4.6.2 page 70, nous avons utilisé un modèle statique simple de CGB propre àla formation du canal. Le comportement de la capacité MOS, du fait des différents régimes deconcentration de porteurs libres sous l’isolant, et de leur non-équirépartition le long du canal, estplus complexe. Le tableau 4.17 fait le bilan d’un modèle comportemental.

Suivant le régime de fonctionnement du transistor, la capacité CGB existe, ou se trouve “re-portée” en deux capacités, l’une grille-source et l’autre grille-drain. Celles-ci se retrouvent alors enparallèle avec les capacités de recouvrement, CGSr et CGDr, que nous avons étudiées précédemment.Ci-dessous nous appelons CG la valeur maximale de CGB qui est égale à CG = W · L · C ′ox.

Régime CGB CGS CGD

bloqué CG CGSr CGDr

quadratique 0 CG2 + CGSr

CG2 + CGDr

saturé 0 2·CG3 + CGSr CGDr

Tab. 4.17: Bilan des capacités de grille du NMOS

4.6.10 Schéma du modèleDans la figure 4.11 page suivante

Page 81: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

80 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

• en rouge les capacités dont le diélectrique est de l’oxyde de silicium et dont la capacitésurfacique est C ′ox,

• en vert les capacités dont le diélectrique est la zone déserte de l’interface NP d’une jonction(diode) et dont la capacité surfacique est C ′j0,

• en noir la capacité CGB qui est la mise en série de deux capacités de types différents (voir laconclusion du paragraphe 4.6.2 page 70 et plus si affinité).

Fig. 4.11: Schéma du modèle

4.7 Caractéristiques de la technologie CMOS

4.7.1 Intégrabilité

Les premiers circuits intégrés (numériques et analogiques) utilisaient des technologies bipolaires.Ce type de transistor est plus efficace en terme de transconductance et de vitesse. La technologieCMOS a pourtant très vite envahi l’électronique intégrée à cause des faibles dimensions de cestransistors et de la simplicité de sa technologie. Nous allons l’illustrer par deux observations.

• À polarisation normale toutes les jonctions PN dont nous avons déjà parlé : substrat-caisson,source-substrat et drain-substrat, sont en inverse. Il se développe donc un zone déserte isolanteautour de l’interface PN. D’autre part, la tension VFB est ajustée par le technologue, pourqu’à VGS = 0, la zone sous l’isolant de grille soit déserte. Ainsi une zone isolante entoure-t-elle normalement les transistors dans leur substrat. Cette auto-isolation électrique évite,la plupart du temps, au technologue d’avoir à construire une isolation matérielle autour destransistors.

• Le canal est un phénomène de surface et non de volume (la mobilité des porteurs µ0, utiliséeici, est la mobilité en surface). La construction du MOS proprement dit, se fait, en “un étage”diffusion dans le substrat des dopants de source et de drain, et dépôt de l’isolant de grille(épaisseur 10nm). Les “étages supérieurs” séparés par l’isolant de champ (épaisseur 500nm)sont réservés aux interconnexions.

4.7.2 Diminution des géométries “scaling down”

Lorsque nous parlons d’une technologie CMOS 0, 5µm, cela veut dire que la plus petite lon-gueur de grille possible dans cette technologie est Lmin = 0, 5µm. De même sont spécifiées par letechnologue (le fondeur) la largeur minimale de la grille Wmin = 1, 5µm, (c’est aussi la largeurdes jonctions SB et DB) et la longueur minimale de jonction Ljmin = 1, 5µm. Wmin et Ljmin sontsouvent plus grandes que Lmin car les contacts S et D se prennent au dessus des jonctions et c’estl’encombrement des contacts qui devient critique.

Le concepteur de circuits au niveau transistor, est libre de choisir ces 3 dimensions (W , Let Lj) à conditions de respecter les valeurs minimales. Ce sont des paramètres de conception. En

Page 82: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

4.8. BIBLIOGRAPHIE 81

électronique numérique, dans la grande majorité des cas, le concepteur laisse L et Lj aux dimensionsminimales et ne joue, pour obtenir les performances spécifiées, que sur la valeur de W.

L’épaisseur de l’isolant de grille tox est aussi une donnée technologique dimensionnelle de mêmeque la longueur de débordement LD. Ce sont toutes ces dimensions (Lmin, Wmin, Ljmin , LD, tox)que le technologue essaie de diminuer afin d’améliorer à la fois la densité d’intégration, mais aussiles performances de sa technologie.

Notons enfin que le technologue doit diminuer, dans les mêmes proportions que précédemment,la valeur des tensions d’alimentation afin de ne pas dépasser le champ électrique critique appliquableaux isolants.

Un bon exercice de compréhension consiste à exprimer, en fonction du coefficient de diminutiongéométrique (kw > 1), pour une technologie CMOS Lµm et une technologie CMOS Lµm

kw:

• la résistance équivalente du transistor “fermé” (RDS0),• la somme des capacités connectées sur le drain (Cs),• la somme des capacités connectées sur la grille (Ce),• la constante de temps (τ = RDS0 · (Cs + Ce)),• la consommation dynamique due à une charge (de 0 à VDD) ou à une décharge (de VDD à 0)

de la capacité Ct = Cs + Ce au travers d’un transistor.

4.8 Bibliographie• Yuhua CHENG and Chenming HU, MosFet modeling and Bsim3 user’s guide, Kluwer Aca-

demic Publishers, 1999.• Ross Bassett New technology, new people, new organizatiom : the rise of the MOS transistor,

1945-1975, Ph.D. dissertation, North Carolina State University, 1998.• Jan RABAEY Digital Integrated Circuits, a design perspective, Prentice Hall International

Editions, 1996.• André VAPAILLE and René CASTAGNÉ Dispositifs et Circuits Intégrés Semiconducteurs,

Éditions Dunod, 1987.• Neil WESTE and Kanrar ESHRAGHIAN Principles of CMOS VLSI Design , Addison Weslay

Publishing, 1985.• S. M. SZE Physics of Semiconductors Devices, Wiley Interscience Publication, 1981.

Page 83: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

82 CHAPITRE 4. DU SILICIUM AUX TRANSISTORS

Page 84: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 5

Du transistor à la logique CMOS

5.1 Introduction

5.1.1 Objectifs

Il s’agit :• de comprendre les principes de la construction de portes en structure "logique complémen-

taire" à partir de transistors NMOS et PMOS,• de savoir évaluer les principales performances électriques de ce type de cellules,• de savoir construire un modèle de performances utilisable au niveau fonctionnel, c’est à dire

à un niveau où le nombre de cellules appréhendées est supérieur à plusieurs dizaines,• de connaître, pour ces différents niveaux d’analyse, les ordres de grandeurs caractéristiques.

5.1.2 Présentation

En utilisant les résultats du chapitre « Du Silicium au transistor MOS » 4 page 59 , nousélaborerons un modèle de type interrupteur commandé, qui permet de construire des portes logiqueset de comprendre les principes et les caractéristiques de la logique complémentaire. Nous étudieronsun modèle linéaire du temps de propagation le long d’un chemin logique. Enfin nous évoquerons leprincipe et l’utilisation d’une bibliothèque de cellules.

5.2 Modèle en interrupteur

5.2.1 Modélisation

Nous transformons le modèle électrique du transistor (transconductance non linéaire), rappeléau chapitre 5.5 page 96, en un interrupteur commandé uniquement par la tension de grille VG.Ainsi nous faisons correspondre :

• à l’état bloqué du transistor l’état ouvert de l’interrupteur que nous notons “O”,• à l’état passant du transistor l’état fermé de l’interrupteur que nous notons “F”,

Du fait de la connexion systématique des substrats, nous omettrons souvent de le dessiner (voir 5.5 page 96).

transistor NMOS

• Lorsque la tension de grille VG est à "1" il suffit d’avoir :VS < VDD − VTN

pour que la condition de conduction :VGSN > VTN

soit respectée et que l’interrupteur équivalent soit fermé, ce que nous notons "F"• Lorsque la tension de grille VG est à "0" la condition de blocage est remplie :VGSN = 0V < VTN

l’interrupteur équivalent est ouvert, ce que nous notons "O"

83

Page 85: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

84 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

dipôle d’entrée niveau logique sur la grille

0 1

transistor modèle en interrupteur

du dipôle de sortie

NMOS O F

PMOS F O

Tab. 5.1: Modèle en interrupteur

transistor PMOS

• Lorsque la tension de grille VG est à "1", la condition de blocage est remplie :VGSP = 0V > VTP

l’interrupteur équivalent est ouvert : "O"

• Lorsque la tension de grille VG est à "0" il suffit d’avoir :VS > −VTP

pour que la condition de conduction :VGSP < VTP

soit respectée et que l’interrupteur équivalent soit fermé : "F"

5.2.2 Quelques montages simples

Dans les tableaux suivants les lettres minuscules : a, b, désignent les variables logiques d’entréeet les lettres majuscules : A, B les extrémités de la branche.

Nous notons F lorsqu’un transistor est passant (interrupteur équivalent fermé), O s’il est bloqué(interrupteur équivalent ouvert). FAB désigne la fonction logique associée à l’état de la branchesituée entre les points A et B. Son état est noté comme celui des transistors. La valeur logique dela fonction FAB est obtenue en sommant les produits des états des entrées produisant la fermeturede la branche AB (en gras dans les tableaux suivants). L’état "1" de l’entrée a est noté a. L’état"0" de l’entrée a est noté a (a_barre, !a).

Montages séries

Pour qu’une branche constituée de 2 interrupteurs en série soit passante, il faut que les 2 inter-rupteurs soient fermés en même temps (fonction logique ET notée "." Si l’un au moins est ouvert,la branche est ouverte.

Montages parallèles

Pour qu’une branche constituée de 2 interrupteurs en parallèle soit passante, il suffit qu’un in-terrupteur au moins soit fermé (fonction logique OU notée "+" Si les deux sont ouverts, la branche

Page 86: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

5.2. MODÈLE EN INTERRUPTEUR 85

Entrées Transistors Branche

a b TNa TNb FAB

0 0 O O O

0 1 O F O

1 0 F O O

1 1 F F F

Tab. 5.2: FAB = a · b

Entrées Transistors Branche

a b TPa TPb FAB

0 0 F F F

0 1 F O O

1 0 O F O

1 1 O O O

Tab. 5.3: FAB = a · b = a + b

est ouverte.

Entrées Transistors Branche

a b TNa TNb FAB

0 0 O O O

0 1 O F F

1 0 F O F

1 1 F F F

Tab. 5.4: FAB = a · b + a · b + a · b = a + b

Entrées Transistors Branche

a b TPa TPb FAB

0 0 F F F

0 1 F O F

1 0 O F F

1 1 O O O

Tab. 5.5: FAB = a · b + a · b + a · b = a · b

Chaque transistor NMOS TNx peut évidemment être remplacé par un réseau de transistorsNMOS. De même chaque transistor PMOS TPx peut être remplacé par un réseau de transistorsPMOS... et ainsi de suite, pour constituer deux réseaux duaux complexes.

Page 87: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

86 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

5.3 La logique complémentaire CMOS

5.3.1 Introduction

Reprenons le schéma du circuit "Résistance Transistor Logique" (figure 5.1) du chapitre « DuSilicium au Transistor »( 4 page 59. Remplaçons la transconductance idéale du transistor NMOSpar l’interrupteur équivalent TN . Identifions ses 2 états d’équilibre (on dit aussi états statiques).

Fig. 5.1: Circuit Résistance Transistor Logique

Nous avons vu que la grille d’un transistor NMOS ou PMOS, est isolée. Ainsi la commande del’interrupteur équivalent au transistor est-elle isolée de l’interrupteur lui même. Nous avons établiles équations de ce circuit dans le chapitre 4 page 59 :

• VDD = VR + Vs = R · IR + Vs

• IDD = IR = IT• Lorsque l’entrée vaut "0", l’interrupteur TN est ouvert. Aucun courant ne circule dans la

branche de sortie : IDD = IR = IT = 0 ⇒ VDD = Vs ≡ ”1”• Lorsque l’entrée vaut "1", l’interrupteur TN est fermé : Vs = 0 ≡ ”0” ⇒ VDD = R · IRmax

Ce type de circuit est un inverseur logique. En régime statique, à l’état bas ("0" en sortie)il consomme du courant, et l’on a cherché un moyen pour éviter toute consommation en régimestatique. La logique complémentaire, est une des solutions efficaces à ce problème.

5.3.2 Notion de complémentarité

Le mot complémentaire veut dire que l’on dispose, autour de l’équipotentielle de sortie, nonplus d’une branche passive (R) et d’une branche active (TN ), mais de deux branches actives duales,c’est dire conduisant l’une à la stricte exclusion de l’autre, et pour des signaux de commandecomplémentaires. Un même signal commande au moins une paire d’interrupteurs complémentaires.

Exemple de l’inverseur

La porte la plus simple de la logique complémentaire est l’inverseur. Chacune des 2 branchesest constituée d’un seul transistor. Le symbole et le montage de l’inverseur CMOS sont représentésdans la figure 5.2.

Fig. 5.2: l’inverseur CMOS

Page 88: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

5.3. LA LOGIQUE COMPLÉMENTAIRE CMOS 87

Analysons son fonctionnement.

Fig. 5.3: Régime statique : les 2 états statiques de l’inverseur

• L’interrupteur TN est le modèle du transistor NMOS (entrée = "1" et il est fermé, entrée ="0" et il est ouvert).

• L’interrupteur TP est le modèle du transistor PMOS (entrée = "0" et il est fermé, entrée ="1" et il est ouvert).

• L’entrée Ve est commune aux deux grilles, celle de TN en parallèle avec celle de TP .• Lorsque la branche N est fermée, la branche P est ouverte : la sortie est reliée à "0", électri-

quement : la masse (0V).• Lorsque la branche N est ouverte, la branche P est fermée : la sortie est reliée à "1", électri-

quement : VDD.

Consommation

En régime statique, c’est à dire pour chacun des deux états stables, aucun chemin électriquen’existe entre VDD et la masse, aucun courant n’est donc consommé.

Pour analyser ce qui se passe en régime transitoire, ce qui sera fait plus précisément dans lechapitre « Performances de la logique CMOS »( 5 page 83), rappelons-nous que :

1. la tension d’entrée Ve n’a pas un temps de transition (à la montée comme à la descente)nul. Ainsi pendant un certain temps : lorsque VTN < Ve < VDD − VTP , les deux transistorssont ils passant. Un courant dit de court-circuit, délivré par l’alimentation, traverse les deuxtransistors passants vers la masse.

2. la charge de cette porte logique, est essentiellement constituée d’une capacité CT , représentantl’ensemble des capacités parasites connectées sur l’équipotentielle de sortie. La charge (de “0”à “1”, soit de 0V à VDD) et la décharge (de “1” à “0”, soit de VDD à 0V) du noeud de sortie,nécessite un courant, donc une consommation dynamique (voir schéma 5.4).

Fig. 5.4: l’inverseur CMOS et sa charge capacitive

Durant le régime transitoire, l’alimentation va :• soit charger, de 0V à VDD, la capacité CT au travers de l’interrupteur fermé TP équivalent

au transistor PMOS passant,• soit décharger, de VDD à 0V, la capacité CT au travers de l’interrupteur fermé TN équivalent

au transistor NMOS passant.

Page 89: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

88 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

En conclusion, la consommation statique de l’inverseur CMOS est nulle. La consommationtransitoire (dynamique) est due au courant de court-circuit et à la (dé)charge de la capacité CT .

5.3.3 Porte complexe

Constitution du circuit

Dans l’exemple de l’inverseur, la branche N et la branche P ne sont constituées que d’uninterrupteur chacune. Pour réaliser une fonction plus complexe, nous allons remplacer chaquebranche par un réseau de plusieurs interrupteurs de même type, comme illustré dans la figure 5.5.Les règles globales sont les mêmes que pour l’inverseur, mais chaque branche N et P, sera constituéed’un réseau d’interrupteurs, montés en parallèle ou en série (voir le paragraphe 5.2.2 page 84), tousreliés deux à deux (au moins) par leur grille, et respectant la condition de conduction d’une brancheà l’exclusion de celle de l’autre.

Fig. 5.5: schéma de principe de la logique complétaire

Principes et fontionnalité

En logique complémentaire, un circuit est constitué de deux réseaux duaux :• un réseau N, constitué exclusivement de transistors NMOS, branché entre la sortie et le

"moins de l’alimentation" (en général la masse) qui correspond au "0" logique,• un réseau P, constitué exclusivement de transistors PMOS, branché entre la sortie et le "plus

de l’alimentation" (VDD) qui correspond au "1" logique,Pour être duaux les deux réseaux doivent satisfaire les principes suivants :• être commandés par les mêmes entrées ei, chaque entrée ei commandant au moins une paire

d’interrupteurs (un N et un P),• quelque soit l’état des entrées ei, un seul réseau doit être passant à la fois.

Il est toléré toutefois que les deux branches soient ouvertes en même temps.

Fig. 5.6: schéma du fonctionnement de la logique complémentaire

La fonction de sortie F est générée par :• la fermeture du réseau N, pour obtenir F = "0" soit F (F_barre !F),• la fermeture du réseau P, pour obtenir F = "1" soit F,• l’ouverture simultanée des 2 branches engendre F = Z soit l’état électrique haute impédance.

En électronique numérique ce troisième état sert à– mémoriser l’état précédent,

Page 90: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

5.3. LA LOGIQUE COMPLÉMENTAIRE CMOS 89

– ne pas influer sur une équipotentielle lorsque une autre sortie logique est censée y apporterson signal.

Pourquoi des PMOS en haut et des NMOS en bas ?

NMOS déchargeant la capacité Cu NMOS chargeant la capacité Cu

Tab. 5.6: Charge/décharge d’une capacité par un NMOS

Au paragraphe 4.2 page 60 du chapitre « Du silicium au transistor MOS »nous avons vu quele temps de transition (charge ou décharge) est inversement proportionnel à l’intensité du couranttraversant la capacité. Dans les cas des 2 montages étudiés ce courant est égal à celui qui traversele dipôle de sortie du transistor : IDS .

Dans les conditions de la logique complémentaire le transistor NMOS décharge la capacité Cu

du noeud de sortie (cf. “montage du transistor MN1”).• À l’état initial :

– Ve = 0V et Vs = VDD : Cu est chargée au maximum,– VGS = Ve = 0 ≤ VT0N (la tension de seuil pour VSB = 0V ) : le transistor MN1 est bloqué.IDS est nul : Cu reste chargée à VDD.

• La commande de décharge arrive :– Ve = VDD,– VGS = Ve = VDD > VT0N : le transistor MN1 est passant saturé. IDS est maximum : Cu

se décharge,Dans le second montage, le transistor MN2, n’est pas dans les conditions de la logique complémen-taire, en effet il est branché en lieu et place de ce qui devrait être le réseau P.

• À l’état initial :– Ve = 0V et Vs = 0V : Cu est déchargée au maximum,– VGS = Ve = 0 ≤ VT0N (la tension de seuil pour VSB = 0V ) : le transistor MN1 est bloqué.IDS est nul : Cu reste déchargée à 0V.

• La commande de charge arrive :– Ve = VDD,– VGS = Ve = VDD > VT0N : le transistor MN1 est passant saturé. IDS est maximum : Cu

se charge, Vs augmente, d’où deux conséquences :

1. La tension VGS diminue puisque : VGS = Ve − VSB = Ve − Vs. Si VGS diminue IDS

diminue,

2. La tension VSB = Vs augmente, ainsi VTN > VT0N . Or IDS ∝ (VGS − VTN )2 !.

Première conclusion : MN1 "dispose" d’une intensité de courant beaucoup plus importantepour décharger Cu que MN2 pour charger Cu. Ainsi le temps transition du premier montage sera til toujours plut petit que celui du second (MN1 et MN2 ayant les mêmes dimensions et les mêmesparamètres technologiques).

Nous pouvons mener une démonstration semblable pour un transistor PMOS : excellent exercicepour se prouver que ces notions sont correctement assimilées !

Seconde conclusion : de même que pour la consommation statique, la disposition d’un circuiten logique complémentaire CMOS semble optimale pour les temps de transitions.

Page 91: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

90 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

5.3.4 Exemple d’analyse d’une porte logiqueSur la figure 5.7, nous avons représenté les schémas :• du circuit en transistors de la porte logique à analyser,• son modèle en interrupteurs,• la table de vérité extraite du modèle en interrupteurs de la porte, où figure en gras, l’état des

entrées représenté sur le schéma du modèle.

entrées réseaux sortie

a b r N P S

0 0 0 O F 1

0 0 1 O F 1

0 1 0 O F 1

0 1 1 F O 0

1 0 0 O F 1

1 0 1 F O 0

1 1 0 F O 0

1 1 1 F O 0

circuit à transistors modèle en interrupteurs table de vérité

Tab. 5.7: Analyse d’une porte logique

Les étapes de l’analyse, suivent évidemment les principes de la logique complémentaire CMOS.

Méthode de la table de vérité

• Pour chaque état logique de chaque variable d’entrée, nous en déduisons l’état de chacun desdeux réseaux (N et P) puis celui de la sortie,

• L’exhaustivité de l’analyse est garantie,• Nous vérifions qu’un même jeu de valeurs logiques d’entrée n’entraîne pas à la fois la conduc-

tion des deux réseaux,• Nous écrivons l’équation de S en faisant la somme logique des valeurs logiques d’entrée en-

traînant S = 1.

S = a · b · r + a · b · r + a · b · r + a · b · r= a · b+ a · b · r + a · b · r

en remarquant que a · b = a · b+ a · b · r, il vient :

S = a · b+ a · b · r + a · b · r= a · b+ a · b · r + a · b · r + a · b · r= a · b+ r ·

(a · b+ a · b+ a · b

)soit S = a · b+ r ·

(a+ b

)Appliquons de Morgan, nous obtenons S = a · b+ r · (a+ b), que nous pouvons aussi écrire de

la manière suivante :

S = a · b+ r · (a+ b)

Méthode de l’analyse par réseau

Nous analysons la conduction de chaque réseau (N et P) en fonction des valeurs logiques d’en-trée, en appliquant les règles déjà vues (voir table 5.8 page ci-contre).

Page 92: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

5.3. LA LOGIQUE COMPLÉMENTAIRE CMOS 91

Réseau P

Réseau N

Tab. 5.8: Analyse d’une porte logique

Le réseau N comprend deux branches en parallèle :• la branche de gauche, sur le schéma, est passante pour la fonction des entrées : N1 = a · b• celle de droite est passante pour : N2 = r · (a+ b)Le réseau N conduit pour la fonction : N = N1 +N2 = a · b+ r · (a+ b)La fonction réalisée par le réseau N est donc : S = N = a · b+ r · (a+ b)

Le réseau P comprend deux branches en parallèle :• la branche de gauche, sur le schéma, est passante pour la fonction des entrées : P1 = a · b• celle de droite est passante pour : P2 = r ·

(a+ b

)Le réseau P conduit pour la fonction : P = P1 + P2 = a · b+ r ·

(a+ b

)Après calcul nous obtenons : S = P = a · b+ r ·

(a+ b

)= a · b+ r · (a+ b)

Enfin nous vérifions la conduction exclusive de chacun des deux réseaux : N = P

5.3.5 Exemples de synthèse d’une porte logique

La porte et-non à 2 entrées (nand2)

La fonction nand2 est égale à : Snand2 = a · b• La fonction Nnand2 qui représente l’état du réseau N, vaut Nnand2 = Snand2 = a · b

Cette fonction correspond à deux transistor NMOS en série.• La fonction Pnand2 qui représente l’état du réseau P, vaut Pnand2 = Snand2 = a · b = a+ b

Cette fonction correspond à deux transistor PMOS en parallèle.• Par construction, si les calculs logiques ne sont pas erronés, la réalisation satisfait la dualité

des deux réseaux.

La porte ou-non à 2 entrées (nor2)

La fonction nor2 est égale à : Snor2 = a+ b

• La fonction Nnor2 qui représente l’état du réseau N, vaut Nnor2 = Snor2 = a+ bCette fonction correspond à deux transistor NMOS en parallèle.

• La fonction Pnor2 qui représente l’état du réseau P, vaut Pnor2 = Snor2 = a+ b = a · bCette fonction correspond à deux transistor PMOS en série.

• Par construction, si les calculs logiques ne sont pas erronés, la réalisation satisfait la dualitédes deux réseaux.

Nous obtenons les schémas de la table 5.9 page suivante.

Page 93: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

92 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

synthèse d’une porte NAND2

synthèse d’une porte NOR2

Tab. 5.9: schémas en transistors d’une porte NAND2 et d’une porte NOR2

Comment obtenir des fonctions non complémentées ?

Ainsi que nous l’avons vu au chapitre Principes et fonctionnalité ( 5.3.3 page 88), si nous nedisposons que des entrées logiques naturelles (les ei et aucune ei), nous ne pouvons réaliser quedes fonctions complémentées des entrées naturelles : F (ei). Pour réaliser les fonctions logiques ET2(and2) et OU2 (or2) nous pouvons utiliser les solutions suivantes (table 5.10) :

synthèse d’une porte AND2

synthèse d’une porte OR2

Tab. 5.10: synthèse de fonctions non complémentées à l’aide de portes en logique complémentaire

Nous pouvons aborder les exercices du TD “Synthèse en transistors de portes CMOS” (cha-pitre 12 page 173).

Page 94: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

5.4. VITESSE DE TRAITEMENT D’UN CIRCUIT INTÉGRÉ NUMÉRIQUE CMOS 93

5.4 Vitesse de traitement d’un circuit intégré numérique CMOS

Les circuits intégrés numériques sont constitués de différents opérateurs de traitement (opé-rateurs arithmétiques,opérateurs de contrôle...). La nécessité de synchroniser ces opérateurs entreeux pour permettre des échanges de données conduit à ce que la vitesse de traitement «potentielle»du circuit est directement liée à la vitesse de traitement de l’opérateur le plus lent.

Si un circuit doit contenir, par exemple, un opérateur d’addition,la connaissance du temps decalcul d’une addition est un indicateur nécessaire au concepteur pour déterminer les performancesdu circuit. Les techniques de réalisation de circuits intégrés numériques les plus couramment em-ployées reposent sur l’hypothèse forte qu’il n’est possible de démarrer un nouveau calcul dans unopérateur que lorsque ses sorties se sont stabilisées. Le temps de traitement d’un opérateur com-binatoire est donc le temps nécessaire à la stabilisation des sorties de l’opérateur après la mise enplace des entrées.

5.4.1 Notion de chemin critique

Un opérateur combinatoire est lui-même constitué d’un assemblage de portes logiques simples ;son temps de traitement est directement lié à la propagation des signaux booléens dans les diffé-rentes portes logiques.

Considérons de nouveau l’exemple d’un additionneur combinatoire 4 bits. Un tel opérateurest une fonction à 8 entrées et 5 sorties. Entre chaque entrée et chaque sortie de l’additionneur,les signaux booléens peuvent se propager par une multitude de chemins différents traversants lesdifférentes portes logiques. Pour déterminer la vitesse de calcul de notre additionneur, il suffit dedéterminer parmi ces chemins celui qui correspond au temps de traversée le plus long. Ce cheminsera appelé chemin critique de l’opérateur.

Fig. 5.7: Quelques chemins de propagation...

Si nous pouvons déterminer pour chaque porte traversée le long de notre chemin critique letemps mis par le signal pour transiter de l’entrée à la sortie de la porte (temps de propagationde la porte) alors nous pouvons déterminer de manière simple le temps du chemin critique enaccumulant les différents temps de propagation individuels.

5.4.2 Notion de temps de propagation

La définition du temps de propagation d’une porte doit permettre par simple additivité dedéterminer le temps de propagation d’une chaîne de portes. La définition la plus simple consiste àmesurer le temps écoulé entre un changement d’état de l’entrée d’une porte et le changement d’étatde la sortie en prenant pour référence les instants de passage des différents signaux à mi-cheminde la tension d’alimentation VDD, comme cela est représenté sur la figure 5.8 page suivante.

Une porte CMOS à plusieurs entrées n’est pas caractérisée par un unique temps de propagation.Prenons l’exemple d’un NAND à 2 entrées A et B. Nous pouvons distinguer par exemple :

• Le temps de propagation de A vers la sortie pour une transition montante de la sortie (tpmA)• Le temps de propagation de B vers la sortie pour une transition montante de la sortie (tpmB)• Le temps de propagation de A vers la sortie pour une transition descendante de la sortie

(tpdA)

Page 95: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

94 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

Fig. 5.8: Temps de propagation dans une porte

• Le temps de propagation de B vers la sortie pour une transition descendante de la sortie(tpdB)

Il n’y a pas de raison pour que ces différentes valeurs soient identiques, mais pour des raisonsde simplification nous considérerons un pire cas en appelant temps de propagation de la porte lavaleur maximum parmi ces différentes données (tp).

5.4.3 Modèle du temps de propagation d’une porte CMOS

De façon générale, le temps de propagation d’une porte peut se décomposer en deux termes.Le premier terme représente le temps minimum nécessaire à la porte pour établir sa sortie et

ce indépendamment de tout contexte externe. Ce terme appelé temps de propagation à vide outemps de propagation intrinsèque de la porte est significatif de la complexité de la fonction logiqueréalisée par la porte. On peut comprendre intuitivement que le temps de propagation à vide d’uninverseur (tp0INV ) soit plus faible que celui d’un ou-exclusif à 2 entrées (tp0OUEX) compte tenude la différence de complexité des équation booléennes.

Le deuxième terme représente la facilité avec laquelle la porte transmet l’état de sa sortie auxdifférentes portes qui lui sont connectées. Pour évaluer l’impact de la connection de l’entrée d’uneporte sur la sortie d’une porte précédente, il faut étudier la constitution de l’entrée d’une porteCMOS. La figure 5.9 présente un NAND à deux entrées en logique CMOS. L’entrée A de la porteest connectée aux grilles d’un transistor NMOS et d’un transistor PMOS.

Fig. 5.9: Capacité d’entrée de l’entrée A d’une porte NAND

Compte tenu de la technologie de fabrication du transistor MOS, ces grilles se comportentcomme des capacités parasites ( 4 page 59) dont une électrode est la grille elle même et l’autreélectrode est répartie entre la source, le drain et le substrat des transistors. Il est possible de fairel’hypothèse simplificatrice qu’une capacité parasite unique est connectée entre l’entrée A et la masse.Cette capacité sera nommée capacité d’entrée de la porte sur l’entrée A (CEANAND ). On déterminede la même manière une capacité d’entrée sur l’entrée B.

En règle générale, les capacités d’entrée des différentes entrées d’une porte logique sont diffé-rentes et dépendent de la taille et du nombre de transistors dont les grilles sont connectées à cesentrées.

Maintenant que nous avons identifié la nature physique de l’entrée d’une porte CMOS, il estfacile d’imaginer l’effet de sa connection sur la sortie d’une porte. La figure ci-dessous présente in

Page 96: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

5.4. VITESSE DE TRAITEMENT D’UN CIRCUIT INTÉGRÉ NUMÉRIQUE CMOS 95

inverseur dont la sortie est connectée sur l’entrée A de notre porte NAND. Les transistors PMOS etNMOS de l’inverseur vont devoir alternativement fournir les courants de charge et de décharge dela capacité CEANAND pendant les transitions montantes et descendantes de la sortie de l’inverseur.Cette capacité CEANAND sera appelée plus tard capacité d’utilisation de la porte.

Fig. 5.10: Charge et décharge de la capacité d’entrée CEA d’un NAND

Le temps nécessaire à cette charge est d’une part proportionnel à la valeur de cette capacité etd’autre part dépendant des caractéristiques des transistors constituant l’inverseur. Dans la pratiquecela ce traduit par un accroissement du temps de propagation de l’inverseur par un terme de formedtpINV ·CEANAND où dtp est la dépendance capacitive du temps de propagation de l’inverseur. Letemps total de propagation de l’inverseur est donc :

tpINV = tp0INV + dtpINV · CEANAND

En résumé, pour une porte CMOS quelconque, l’établissement du temps de pro-pagation d’une porte CMOS nécessite la connaissance de trois termes :

• tp0 : temps de propagation à vide de la porte, ne dépend que de la structurephysique de la porte

• dtp : dépendance capacitive de la porte ne dépend que des caractéristiques phy-siques de la porte. Le terme dtp est équivalent à une résistance

• CU : capacité d’utilisation ne dépend que des caractéristiques des entrées desportes connectées en sortie de la porte

L’expression du temps de propagation de la porte chargée par CU est alors :

tp = tp0 + dtp ∗ CU (5.1)

5.4.4 Temps de propagation dans un assemblage de portes logiques.Nous allons illustrer sur un exemple le calcul des temps de propagation dans divers chemins

d’un assemblage de portes logiques. La figure 5.11 est une fonction logique à 3 entrées (T, U, V)et 2 sorties Y,Z. Nous supposons que les sorties Y et Z sont connectées à 2 capacités d’utilisationCUY et CUZ.

Fig. 5.11: Temps de propagation dans un assemblage de portes

Nous pouvons compter six chemins (TY,UY,VY,TZ,UZ,VZ) dans cette structure et déterminerpour chacun d’eux le temps de propagation total. Exprimons, par exemple, le temps de propagationle long du chemin TZ. Le signal se propage, sur ce chemin, en traversant tout d’abord la porte

Page 97: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

96 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

NAND1. La sortie de cette porte est connectée d’une part à l’entrée de l’inverseur INV2 et d’autrepart à l’entrée A de la porte NAND2. La porte NAND1 est donc chargée par les deux capacitésd’utilisation connectées en parallèle CEINV 2 et CEANAND2.

L’équation du temps de propagation à travers la porte NAND1 est donc :

tpNAND1 = tp0NAND1 + dtpNAND1 · (CEINV 2 + CEANAND2)

Le signal traverse ensuite la porte NAND2 chargée par la capacité CUZ. Le temps de propaga-tion s’exprime de manière très simple sous la forme :

tpNAND2 = tp0NAND2 + dtpNAND2 · CUZ

Le temps total le long du chemin TZ est égal à la somme de tpNAND1 et de tpNAND2, soit :

tpTZ = tp0NAND1 + dtpNAND1 · (CEINV 2 + CEANAND2) + tp0NAND2 + dtpNAND2 · CUZ

Nous pourrions évidemment calculer de la même façon les temps de propagation suivant lesdifférents chemins et déterminer ainsi le chemin critique de l’opérateur.

5.5 Rappels du modèle électrique

5.5.1 Connexions et tensions appliquées

NMOS PMOS

Tab. 5.11: connexions des transistors CMOS

• Les caissons, faiblement dopés N, constituent le suBstrat (B) des PMOS et leurs est commun,Il est polarisé à la tension la plus positive du circuit VDD.

• Le substrat, faiblement dopé P, constitue le suBstrat (B) des NMOS et leurs est commun,Il est polarisé à la tension la plus négative du circuit VSS , (VSS = 0V , comme sur le schéma,parfois VSS = −VDD).

• La tension du drain (D) des transistors NMOS est toujours supérieure à celle de leur source(S),

• La tension du drain (D) des transistors PMOS est toujours inférieure à celle de leur source(S),

• La tension de seuil d’un NMOS : +0, 2V ≤ VTN ≤ +2V• La tension de seuil d’un PMOS : −0, 2V ≥ VTP ≥ −2V• La tension de la grille (VG) de tous les transistors est une tension d’entrée de type logique à

2 états correspondant à deux niveaux électriques statiques :VG = VDD ≡ ”1” et VG = 0V ≡ ”0”

5.5.2 Rappels du modèle électrique et des symboles

Voir les deux tableaux 5.12 page suivante et 5.13 page 98.

Page 98: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

5.6. BIBLIOGRAPHIE 97

Transistor NMOS

Symboles

Conditions Régime Courant

VGS ≤ VTN ∀VDS bloqué IDS = 0

VGS > VTN

VDS < VDSsatquadratique

IDS = 2 ·Kn ·(VGS − VTN − VDS

2

)· VDS

Kn =12µ0N · C ′ox

W

L

et VDSsat = VGS − VTN

VDS ≥ VDSsat saturé IDSsat = Kn · (VGS − VTN )2

VGS = VDD VDS ≈ 0 ohmique RDS0N =1

2 ·Kn · (VDD − VTN )

IDS = (VGS , VDS)

Tab. 5.12: Courant et résistance équivalente du NMOS

5.6 Bibliographie

Pour en savoir plus...• MosFet modeling and Bsim3 user’s guide, Yuhua CHENG and Chenming HU (Kluwer Aca-

demic Publishers, 1999).• Digital Integrated Circuits, a design perspective, Jan RABAEY (Prentice Hall International

Editions, 1996).• Dispositifs et Circuits Intégrés Semiconducteurs, André VAPAILLE and René CASTAGNÉ

(Éditions Dunod, 1987).• Principles of CMOS VLSI Design, Neil WESTE and Kanrar ESHRAGHIAN, (Addison Wes-

lay Publishing, 1985).

Page 99: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

98 CHAPITRE 5. DU TRANSISTOR À LA LOGIQUE CMOS

Transistor PMOS

Symboles

Conditions Régime Courant

VGS ≥ VTP ∀VDS bloqué IDS = 0

VGS < VTP

VDS > VDSsatquadratique

IDS = −2 ·Kp ·(VGS − VTP −

VDS

2

)· VDS

Kp =12µ0P · C ′ox

W

L

et VDSsat = VGS − VTP

VDS ≤ VDSsat saturé IDSsat = −Kp · (VGS − VTP )2

VGS = −VDD VDS ≈ 0 ohmique RDS0P = − 12 ·Kp · (−VDD − VTP )

IDS = (VGS , VDS)

Tab. 5.13: Courant et résistance équivalente du PMOS

• Physics of Semiconductors Devices, S. M. SZE (Wiley Interscience Publication, 1981).

Page 100: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 6

Performances de la logiquecomplémentaire CMOS

6.1 Introduction

La réalisation de systèmes électroniques de traitements numériques efficaces suppose le respectd’un certain nombre de contraintes liées à des aspects très divers. Nous allons limiter notre étudeaux trois paramètres suivants :

• Le coût de production ;• La vitesse de traitement ;• La consommation.Ces trois paramètres ne sont évidemment pas décorrélés, l’augmentation d’une vitesse de trai-

tement se fait souvent au prix d’une consommation et d’un coût de production accru.Parfois certain critères sont impératifs : si nous considérons, par exemple, une application de

traitement numérique pour une transmission d’images de télévision, les calculs doivent être effectuésà la volée sans possibilité d’interrompre le flux de données. Nous disons dans ce cas que le systèmedoit avoir la puissance de calcul (ou vitesse de traitement) nécessaire pour respecter le temps réel.De manière moins impérative, si nous considérons une application de bureautique sur un ordinateurpersonnel, il suffit que le système ait une puissance de calcul suffisante pour garantir un certainconfort à l’utilisateur.

De même, il est aisément concevable que les besoins en terme de modération de la consommationd’un système alimenté par batterie soient différents de ceux d’un système connectable au réseauélectrique.

Les ingénieurs réalisant des circuits intégrés numériques sont constamment confrontés au pro-blème de l’évaluation de ces paramètres. Nous allons montrer, dans ce chapitre, quelques méthodessimples d’évaluation basées notamment sur notre connaissance de la technologie de fabrication descircuits intégrés.

6.2 Coût de production d’un circuit intégré numérique CMOS

Le coût de production d’un circuit intégré est étroitement lié à l’aire du silicium nécessaire àsa réalisation. En effet, plus le circuit est de taille importante, plus le rendement de fabrication estfaible. Le rendement de fabrication représente le rapport entre le nombre de circuits fonctionnelsproduits et le nombre total de circuits produits. La probabilité d’avoir un défaut dans un circuitaugmentant avec sa taille, le concepteur a tout intérêt à minimiser la surface de silicium nécessaireà la réalisation de l’application qui l’intéresse. Évidemment cette surface dépend du nombre detransistors utilisés pour réaliser l’application et de la surface de chacun de ces transistors.

En électronique numérique intégrée, les transistors utilisés étant de taille relativement standard(sauf fonctions exceptionnelles), on peut considérer que le nombre de transistors est un bon repré-sentant de la surface du circuit intégré. On caractérise d’ailleurs les technologies CMOS numériques

99

Page 101: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

100 CHAPITRE 6. PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

par le nombre de transistors qu’elles sont capables d’intégrer. En 2004, les densités d’intégrationdes technologies les plus avancées étaient de l’ordre de 1 500 000 transistors par mm2.

Par conséquent, en passant du niveau de l’application au niveau de la porte logique, minimiserle nombre de transistors nécessaires à la réalisation de portes logiques contribue à minimiser l’aireglobale d’un circuit.

6.3 Estimation de la vitesse de la logique CMOS

6.3.1 Expression du temps de propagation d’un inverseur CMOSNous voulons exprimer le temps de propagation en descente tpd de l’inverseur INV 1 de la

figure 6.1 à partir de la connaissance du transistor MOS dont les caractéristiques électriques sontrappelées au chapitre 5.5 page 96. Compte tenu de la complexité des phénomènes mis en jeu, la miseau point d’un modèle analytique du temps de propagation d’une porte CMOS (même aussi simplequ’un inverseur) n’est guère envisageable. Aussi nous contenterons-nous d’en faire une estimationà partir d’un grand nombre d’hypothèses simplificatrices.

Fig. 6.1: Étude de cas de l’inverseur CMOS.

Nous modélisons l’ensemble des effets parasites pouvant perturber le fonctionnement de cetinverseur par une unique capacité Cpar connectée entre la sortie S1 et la masse. Les phénomènesélectriques observés à la suite d’une transition montante du signal d’entrée E1 sont les suivants :

• bloquage du transistor PMOS et débloquage du transistor NMOS ;• donc la décharge de la capacité Cpar à travers le transistor NMOS ;• donc transition descendante du signal de sortie S1.Une vision réaliste des évolutions des signaux E1 et S1 au cours du temps est reproduite en

figure 6.2 page suivante.Nous supposons que le signal d’entrée E1 passe en un temps très bref de l’état « 0 » à l’état

« 1 ». Ce temps sera considéré comme suffisamment bref pour ne pas influer sur le temps depropagation de l’inverseur. En exploitant la définition du temps de propagation proposée dansle chapitre 5.4.2 page 93, nous distinguons trois instants comme illustré dans la figure 6.3 pagesuivante :

• « 0− » : instant de passage du signal d’entrée E1 à Vdd/2 ;• « 0+ » : instant d’arrivée du signal d’entrée E1 à Vdd ;• « tpd » : instant de passage du signal de sortie S1 à Vdd/2.Le tableau 6.1 résume les valeurs des différentes tensions aux bornes des transistors de l’inverseur

INV 1au début (instant 0+) et à la fin (instant tpd) de la propagation du signal de sortie S1.

Instant « 0+ » Instant « tpd »

Transistor NMOS Vgsn = Vdd Vdsn = Vdd Vgsn = Vdd Vdsn = Vdd/2

Transistor PMOS Vgsp = 0 Vdsp = 0 Vgsp = 0 Vdsp = −Vdd/2

Tab. 6.1: Tensions aux bornes de transistors pour les instants 0+ et tpd .

Page 102: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

6.3. ESTIMATION DE LA VITESSE DE LA LOGIQUE CMOS 101

Fig. 6.2: Simulation électrique de l’inverseur CMOS.

Fig. 6.3: Conditions de mesures des transitions des signaux.

La tension Vgsp garde la valeur 0 durant toute la transition de la sortie. Le transistor PMOSreste donc bien bloqué pendant toute la transition de la sortie : il n’est traversé par aucun courant(Idsp = 0).

La tension Vgsn garde la valeur Vdd durant toute la transition de la sortie. Le transistor NMOSest donc passant, le courant qui le traverse peut être évalué à l’aide de la figure 6.4 page suivantequi représente la caractéristique Idsn = f(Vdsn) pour Vgsn = Vdd .

À l’instant 0+, le courant est maximal et correspond au courant de saturation du transistorNMOS. Ensuite, la décharge de la capacité Cpar entraîne une baisse de la tension Vdsn qui se traduitpar une diminution du courant fourni par le transistor. La figure 6.4 page suivante montre cependantclairement que lorsque la sortie S1 de l’inverseur atteint Vdd/2 le courant Idsn du transistor n’aque faiblement évolué : on peut, en première approximation, considérer que le courant fourni parle transistor est constant pendant toute la durée tpd .

Le courant de décharge de la capacité parasite Cpar pendant l’intervalle de temps [0, tpd ] estdonc égal au courant de saturation du transistor NMOS pour Vgsn = Vdd :

Page 103: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

102 CHAPITRE 6. PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

Fig. 6.4: Évolution du courant drain-source du transistor NMOS durant la transition descendante.

ICpar = Kn · (Vdd − Vtn)2

Le courant de décharge étant constant nous en déduisons directement la valeur de tpd :

tpd = Cpar∆VI

= CparVdd/2

Kn · (Vdd − Vtn)2

En négligeant Vtn devant Vdd puis en introduisant la résistance Rds0n du transistor NMOS enrégime ohmique, l’expression précédente se simplifie en :

tpd =Cpar

2 ·Kn · (Vdd − Vtn)= Cpar ×Rds0n

6.3.2 Modèle du temps de propagation de l’inverseur CMOSNotre objectif est, ici, d’affiner le modèle du temps de propagation en examinant l’origine des

capacités parasites contribuant à la valeur de Cpar . De manière générale, nous pouvons distinguertrois types de capacités :

1. Les capacités internes propres à l’inverseur INV 1 ;2. Les capacités dues aux liaisons entre l’inverseur INV 1 et les différentes portes logiques connec-

tées à sa sortie ;3. Les capacités d’entrées des portes logiques connectées à la sortie S1 de l’inverseur.

L’effet des capacités internes à la porte sera assimilé à celui d’une unique capacité Cs appeléecapacité de sortie de l’inverseur et connectée entre la sortie S1 et la masse. L’effet des capacités deliaison et des capacités d’entrées des portes connectées à la sortie de l’inverseur sera assimilé à uneunique capacité Cu appelée capacité d’utilisation de l’inverseur. Ainsi l’expression de tpd peut êtreréorganisée de la façon suivante :

tpd = (Cs + Cu)×Rds0n

Page 104: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

6.3. ESTIMATION DE LA VITESSE DE LA LOGIQUE CMOS 103

Soit

tpd = tp0d + dtpd × Cu avec dtpd = Rds0n et tp0d = dtpd × Cs

Nous retrouvons, appliquée au cas spécifique d’une transition descendante, la formulation dutemps de propagation proposée dans le chapitre 5.4.3 page 94. Pour cela nous avons introduit letemps de propagation en descente à vide de l’inverseur tp0d ainsi que la dépendance capacitive dutemps de propagation en descente dtpd .

Le raisonnement effectué pour une transition descendante de la sortie peut être appliqué à latransition montante. Dans ce cas, seul le transistor PMOS est actif, les capacités parasites restantidentiques, la seule différence provient de la valeur de la résistance en régime ohmique du transistorPMOS qui n’est pas forcément identique à celle du transistor NMOS.

tpm = tp0m + dtpm × Cu avec dtpm = Rds0p et tp0m = dtpm × Cs

6.3.3 Schéma synthétique de l’inverseurLa figure 6.5 propose un schéma synthétique de l’inverseur basé sur un interrupteur, deux

résistances de valeurs respectives Rds0n et Rds0p , et enfin les capacités CeINV et CsINV . Suivantla valeur de la tension d’entrée, l’interrupteur bascule d’un état à l’autre provoquant la chargeou la décharge du nœud de sortie. L’état représenté correspond à une entrée égale à « 0 ». La

Fig. 6.5: Schéma synthétique de l’inverseur CMOS.

figure 6.6 page suivante illustre la mise en série de deux inverseurs. La sortie du premier inverseur(à l’état « 1 ») présente une capacité parasite Cpar totale égale à la somme de la capacité de sortieCsINV du premier inverseur et de la capacité d’entrée CeINV du deuxième inverseur. Le temps depropagation en montée tpm du premier inverseur est donc tpm = (CeINV + CsINV )Rds0p .

6.3.4 Schéma synthétique d’une porte CMOS quelconqueL’extrapolation à une porte CMOS quelconque se fait en suivant les principes suivants :• Il y a autant de « capacités d’entrée » qu’il y a d’entrées dans la porte. L’estimation d’une

capacité d’entrée se fait en sommant les capacités des grilles des transistors connectés à cetteentrée.

• On peut grossièrement estimer la « capacité de sortie » en ne considérant que les capacitésparasites connectées au nœud de sortie de la porte. Les capacités des nœuds intermédiairesseront négligées.

• On peut établir un équivalent à la résistance Rds0 des transistors de l’inverseur en considérantle pire cas de mise en série des transistors et en faisant la somme des différentes résistancespour ce pire cas.

Page 105: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

104 CHAPITRE 6. PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

Fig. 6.6: Deux inverseurs en série.

Prenons l’exemple d’une porte NAND (figure 6.7) à deux entrées utilisant des transistors iden-tiques à ceux de l’inverseur :

• les capacités d’entrées sur les entrées A et B sont identiques à celle de l’inverseur (CeINV ) ;• la capacité de sortie est supérieure à celle de l’inverseur (CsINV ), car deux transistors PMOS

et un transistor NMOS sont connectés au nœud de sortie ;• dans le pire cas, la résistance équivalente à la descente est égale à deux fois celle de l’inverseur

(2× Rds0n) ;• dans le pire cas, la résistance équivalente à la montée est égale à celle de l’inverseur (Rds0p).

Fig. 6.7: Schéma synthétique d’une porte NAND.

6.3.5 Notion de bibliothèque de cellules précaractérisées

Les sociétés de fonderies de silicium, ou « fondeurs », qui produisent des circuits intégrés nu-mériques, proposent à leurs clients, des bibliothèques de portes logiques dites précaractérisées. Lesingénieurs de ces sociétés développent, dessinent et simulent le comportement et les performancesde chacune des portes logiques de la bibliothèque. Ils fournissent à leurs clients des tables de carac-téristiques permettant à ces derniers de concevoir des circuits intégrés et prédire leurs performancessans avoir à explorer des niveaux de détail allant jusqu’au transistor. Le tableau 6.2 propose unexemple simple d’une telle bibliothèque dont les caractéristiques globales sont les suivantes :

Page 106: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

6.3. ESTIMATION DE LA VITESSE DE LA LOGIQUE CMOS 105

• les transistors NMOS des différentes portes sont tous de dimensions identiques ;• les transistors PMOS des différentes portes sont tous de dimensions identiques ;• les portes sont réalisées en utilisant exclusivement les principes de construction exposés dans

le chapitre 5 page 83.

Fonction Équation booléenne Cei

(fF)tp0(ns)

dtp

(ns/pF)

Inverseur Y = A CeA = 70 0,06 1

Nand à 3 entrées Y = ABC ∀i ∈ A,B,CCei = 70 0,42 3

Nand à 6 entrées Y = ABCDEF ∀i ∈ A · · ·FCei = 70 1,56 6

Nor à 2 entrées Y = A+B ∀i ∈ A,BCei = 70 0,16 2

Nor à 6 entrées Y = A+B + C +D + E + F ∀i ∈ A · · ·FCei = 70 0,96 6

nMaj à 3 entrées Y = AB +BC +AC CeA = CeB = 140CeC = 70

0,25 2

Tab. 6.2: Une bibliothèque précaractérisée.

Nous pouvons faire les constatations suivantes :• les temps de propagation s’expriment en dixièmes de nano-secondes ;• les capacités s’expriment en dizaines de femto-farads (10−15 farads) ;• les dépendances temporelles s’expriment en nano-secondes par pico-farad (équivalentes à des

kΩ) ;• l’inverseur, porte booléenne la plus simple que l’on puisse imaginer est à la fois intrinsèque-

ment la plus rapide (tp0 ) et la moins dépendante de l’environnement extérieur (dtp).De plus, conformément au modèle proposé dans le chapitre 6.3.4 page 103, la porte NAND

à 6 entrées est la porte ayant les performances les moins bonnes. En effet, dans le pire cas, ladécharge du nœud de sortie se fait à travers 6 transistors NMOS connectés en série. De plus 6transistors PMOS étant connectés en parallèle sur la sortie, la capacité de sortie est très élevée cequi donne un tp0 catastrophique (20 fois plus grand que celui de l’inverseur). Cet exemple montreune des limitations de la construction de portes en logique CMOS. En général, on préfère limiterla bibliothèque à des portes à 4 ou 5 entrées maximum, quitte à créer des assemblages de portespour réaliser des fonctions booléennes complexes.

Enfin, les capacités d’entrées Cei des portes simples de type NAND ou NOR sont identiques àcelles d’un inverseur, car chaque entrée de ce type de porte est connectée à un couple de transistorsNMOS et PMOS comme dans le cas de l’inverseur. Ceci n’est pas un cas général, l’exemple de laporte nMAJ montre qu’il peut y avoir différentes valeurs de capacités d’entrée suivant la manièredont la logique est réalisée.

6.3.6 Influence du dimensionnement des transistors sur les caractéris-tiques de l’inverseur

Dans le paragraphe précédent, nous avons examiné les caractéristiques de portes CMOS consti-tués de transistors NMOS (ou PMOS) de dimensions standardisées. Il est possible d’optimiser lecomportement temporel des portes en jouant sur les dimensions des transistors qui les composent.Nous n’étudierons ici que le cas simple de l’inverseur.

Nous avons vu que le temps de propagation est proportionnel à la résistance Rds0 des transistorsen régime ohmique. En ce qui concerne le transistor NMOS, cette résistance a pour expression :

Rds0n =1

µ0NC ′OXWn

Ln(Vdd − Vtn)

À l’évidence, nous pouvons augmenter les performances de l’inverseur en diminuant la longueurLn du transistor NMOS ou en augmentant sa largeur Wn . En règle générale, tous les transistorssont dimensionnés avec la longueur de grille minimale Lmin autorisée par la technologie. C’est pour

Page 107: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

106 CHAPITRE 6. PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

cette raison qu’une technologie est souvent qualifiée par cette longueur de grille minimale : onparle, par exemple, d’une technologie « 0,09 microns ». Donc en réalité, seul le paramètre Wn peutservir de variable d’ajustement.

Retenons que les transistors sont le plus souvent dimensionnés avec une longueur de grilleminimale Lmin .

Retenons que la dépendance capacitive dtpdINV est inversement proportionnelle à la largeur Wn

du transistor NMOS.Retenons que la dépendance capacitive dtpmINV est inversement proportionnelle à la largeur Wp

du transistor PMOS.Cependant, l’augmentation de la largeur des transistors a pour conséquence l’augmentation de

la valeur de la capacité parasite à charger. En effet, la capacité Cs est la résultante des capacitésparasites propres aux transistors composant l’inverseur, toutes proportionnelles à la largeur destransistors (voir chapitre 4.6.9 page 78).

Retenons que la capacité de sortie CsINV de l’inverseur est la somme de deux termes, l’un étantproportionnel à la largeur Wn du transistor NMOS, l’autre étant proportionnel à la largeur Wp dutransistor PMOS.

Un raisonnement identique peut être fait pour la capacité d’entrée de l’inverseur. Cette capaciténe dépend que des capacités de grille Cgsn et Cgsp des deux transistors :

Retenons que la capacité d’entrée CeINV de l’inverseur est la somme de deux termes, l’un étantproportionnel à la largeur Wn du transistor NMOS, l’autre étant proportionnel à la largeur Wp dutransistor PMOS.

Ces résultats partiels, permettent de déterminer une règle générale de dimensionnement destransistors d’un inverseur : disposant d’un inverseur donné de caractéristiques (CeINV , tp0INV ,dtpINV ) connues, la multiplication des largeurs Wn et Wp des deux transistors NMOS et PMOSpar un même coefficient α modifie les caractéristiques de l’inverseur de la façon suivante :

• la capacité d’entrée de l’inverseur CeINV est multipliée par α ;• la dépendance capacitive de l’inverseur dtpINV est divisée par α ;• le temps de propagation à vide tp0INV reste inchangé.Le dernier résultat est dû aux effets contraires des augmentations de capacités internes et de

diminution des résistances.

6.4 Consommation des circuits intégrés CMOS

6.4.1 Consommation d’une porte CMOSRappelons (voir chapitre 5.3.2 page 87) que la consommation statique (la porte étant dans

l’un de ses deux états d’équilibre) d’une porte logique complémentaire CMOS, est NULLE. Nousnous intéressons, dans ce qui suit, à la consommation dynamique, c’est-à-dire à la consommationnécessaire au passage de la porte CMOS d’un état d’équilibre à un autre. Si nous faisons l’hypothèseque les deux réseaux NMOS et PMOS d’une même porte logique ne sont jamais simultanémentactifs (passants) alors la consommation d’une porte CMOS se résume à l’énergie nécessaire pourcharger les différentes capacités parasites connectées sur la sortie de la porte :

• pendant une transition montante de la sortie de la porte, l’alimentation fournit le courant qui,au travers du réseau de transistor PMOS, charge la capacité connectée au nœud de sortie ;

• pendant une transition descendante de la sortie, la capacité de sortie est déchargée à traversle réseau NMOS.

Comme l’illustre la figure 6.8 page suivante, l’énergie fournie par l’alimentation est dissipée pareffet Joule dans les réseau de transistors PMOS (respectivement NMOS) pendant les transitionsmontantes (respectivement descendantes) de la sortie de la porte.

La puissance instantanée fournie par l’alimentation Vdd pendant la charge de la capacité Cpar

s’exprime de la façon suivante :

PVdd(t) = VddICpar = VddCpardVs

dtL’énergie totale fournie par l’alimentation s’obtient en intégrant la puissance pendant la durée

totale de la transition :

Page 108: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

6.4. CONSOMMATION DES CIRCUITS INTÉGRÉS CMOS 107

Fig. 6.8: Dissipation de l’énergie dans une porte CMOS.

EV dd =∫ ∞

0

VddCpardVs

dtdt = CparVdd

∫ Vdd

0

dVs = CparV2dd

De manière similaire, l’énergie potentielle stockée dans la capacité après la charge est :

ECpar =∫ ∞

0

VsCpardVs

dtdt = Cpar

∫ Vdd

0

VsdVs = CparV 2

dd

2

Ces résultats montrent que seule la moitié de l’énergie fournie par l’alimentation est stockéedans la capacité. L’autre moitié est dissipée par effet Joule dans le réseau de transistors PMOS.Remarquons que cette énergie dissipée est indépendante de la résistance équivalente des transistorsqui composent le réseau PMOS.

Une étude similaire pour la décharge montre que l’énergie potentielle stockée dans la capacitéest entièrement dissipée par effet Joule dans le réseau de transistors NMOS.

En résumé, chaque transition de la sortie d’une porte CMOS se traduit par une dissipation deCparVdd

2/2 dans la porte CMOS, où Cpar est la capacité parasite totale chargée par la porte etVdd est la tension d’alimentation de la porte.

Connaissant l’énergie par transition, il est possible d’en déduire la consommation moyenne d’uneporte logique. Pour cela,nous devons introduire le rythme moyen Ftrans de changement d’état dela porte que nous nommerons fréquence de transitions :

Pporte =FtransCparV

2dd

2

6.4.2 Extrapolation à un circuit intégré CMOS

La formule décrivant la consommation d’une porte CMOS peut être extrapolée au niveau d’uncircuit intégré complet. La grande majorité des circuits intégrés numériques sont des circuits dit« séquentiels » et « synchrones ». Leur principe de fonctionnement est basé sur le cadencement desopérations de calcul par une horloge externe dont la fréquence est nommée Fh . La fréquence detransitions Ftrans des portes CMOS qui composent un circuit est évidemment étroitement corréléeà la fréquence d’horloge du circuit, elle reste cependant plus faible que cette dernière car elle dépendde la nature des fonctions logiques exécutées par les portes et des différentes corrélations entre lessignaux booléens internes au circuit. Pour tenir compte de cela, on introduit Tact , taux d’activitémoyen des portes du circuit intégré, qui représente la probabilité de transition des portes à chaquepériode de l’horloge Fh . L’ensemble des capacités parasites du circuit peut être alors aggloméré enun seul terme Ctotalconduisant à l’expression de la consommation du circuit intégré :

Pcircuit = TactFhCtotalV dd2

Page 109: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

108 CHAPITRE 6. PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

6.5 Évolution technologique et conclusionsNous avons évalué de manière simple trois critères permettant d’évaluer les performances des

circuits intégrés CMOS. Les résultats obtenus montrent à l’évidence que certains compromis doiventêtre faits.

Le temps de propagation des portes est inversement proportionnel à la tension d’alimentation,on peut en déduire un peu rapidement qu’il suffit d’augmenter la tension d’alimentation Vdd pouraugmenter les performances des circuits. Cependant, nous devons constater que la consommationdes circuits varie comme le carré de la tension d’alimentation donc toute augmentation de celle-cidiminue le rendement d’utilisation de la technologie...

C’est pourquoi, les travaux d’amélioration de la technologie ont porté sur la diminution descapacités, termes présents en facteur à la fois dans l’expression des temps de propagation et de laconsommation. Le moyen le plus simple de réduire les capacités est la réduction des géométries destransistors qui permet de gagner en même temps sur la surface des circuits intégrés. Les moyenstechnologiques et financiers mis en jeu par les fonderies de silicium sont essentiellement tournésvers cette réduction des dimensions des transistors.

Nous allons maintenant évaluer l’impact des réductions de dimension à partir des formulesétablies dans les paragraphes précédents. Le principe généralement employé d’une génération tech-nologique à une autre est d’accompagner les réductions géométriques de modifications des dopageset tensions d’alimentations pour conserver les caractéristiques fonctionnelles des transistors. Enrésumé les différents paramètres suivants sont touchés :

• division d’un facteur β de la largeur W des transistors ;• division d’un facteur β de la longueur L des transistors ;• division d’un facteur β de l’épaisseur d’oxyde de grille Tox des transistors ;• division d’un facteur β de la tension de seuil Vtdes transistors ;• division d’un facteur β de la tension d’alimentation Vdddu circuit.

A fonctionnalité identique, le changement de génération technologique permet de réaliser des circuitsde surface β2 fois plus petite !

La résistance équivalente des transistors devient :

Rds0(β) =1

µ0(βC ′ox)Wβ

βL

Vdd−Vtβ

= Rds0

Donc la résistance équivalente des transistors ne varie pas.Si, par simplification, nous réduisons les effets parasites des transistors aux capacités de grille

alors ces capacités de charge deviennent :

Cpar(β) = (W/β)(L/β)(βC ′ox) =Cpar

β

Donc les capacités parasites sont divisées d’un facteur β. En conséquence, les temps de propagationdes portes (produit RC) sont divisés d’un facteur β :

tp(β) =tpβ

À fonctionnalité identique, le changement de génération technologique permet de réaliser descircuits de surface β2 fois plus petite, ayant une vitesse de fonctionnement β plus élevée !

Cependant l’énergie dissipée par une porte pendant une transition devient :

Eporte(β) =Cpar

β (Vddβ )2

2=Eporte

β3

Donc l’énergie est divisée par un facteur β3 ce qui est extrapolable au circuit.Si nous profitons de l’augmentation de vitesse des portes logiques pour augmenter la vitesse

d’horloge du circuit alors la puissance consommée par le circuit devient :

Pcircuit(β) = Tact(βFh)Ecircuit

β3=Pcircuit

β2

Page 110: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

6.5. ÉVOLUTION TECHNOLOGIQUE ET CONCLUSIONS 109

À fonctionnalité identique, le changement de génération technologique permet de réaliser descircuits de surface β2 fois plus petite, ayant une vitesse de fonctionnement β plus élevée et dont laconsommation est β2 fois moins élevée !

Supposons maintenant que nous profitions de la réduction de taille des transistors pour réali-ser un circuit plus complexe. À surface identique, nous pouvons multiplier par β2 le nombre detransistors dans le circuit et donc multiplier par β2 la capacité parasite totale à charger :

Le changement de génération technologique permet de réaliser des circuits β2 fois plus com-plexes, fonctionnant à une vitesse β fois plus élevée et ayant une consommation identique auxcircuits de la génération précédente.

Pour conclure, n’oublions pas que ces lois d’évolution sont basées sur des hypothèses simplifiéesne tenant pas compte de facteurs importants tels, par exemple, les capacités parasites liées auconnections métalliques entre transistors ou les courants de fuite ou de court-circuits des transistors.Cela dit le formules obtenues dans ce chapitre donnent une première approche théorique à quis’intéresse aux évolutions à venir de l’industrie du semi-conducteur.

Page 111: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

110 CHAPITRE 6. PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

Page 112: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 7

Logique séquentielle synchrone,bascules

7.1 Introduction

D’une façon complémentaire à la logique combinatoire, la logique séquentielle permet d’orga-niser les calculs booléens dans le temps. Par exemple, pour additionner 1000 nombres, plutôt qued’effectuer 999 additions avec 999 additionneurs, une solution consiste à additionner à tour de rôleles 1000 opérandes avec 1 seul additionneur. Pour ce faire un circuit à base de logique séquentielleest nécessaire pour :

• présenter successivement les 1000 opérandes• accumuler le résultat de l’addition avec un résultat intermédiaire• arrêter le calcul sur le 1000ème opérande

Cet exemple illustre la « sérialisation » des calculs mais la logique séquentielle peut tout aussi bienservir à « paralléliser » . Par exemple, si les débits de calculs sont 2 fois trop faibles en utilisant lalogique combinatoire, une solution consiste à mettre en parallèle 2 opérateurs et présenter alter-nativement les données impaires sur le premier et paires sur l’autre. Dans cet exemple, la logiqueséquentielle permet d’orienter correctement les données et de concaténer les résultats.

L’ordonnancement temporel et conditionnel des tâches que procure la logique séquentielle per-met de concevoir des algorithmes de calculs puissants et des machines à calculer génériques commeles automates et les processeurs. Le séquencement nécessite une fonction propre à la logique sé-quentielle : la mémorisation. Celle-ci permet de geler les données et les commandes de façon à lesréutiliser dans un ordre défini.

7.1.1 Comment reconnaître la logique séquentielle ?

Depuis le début du cours d’ENI, nous avons étudié les circuits combinatoires. Le comportementlogique de ces circuits est tel que la présentation, à des instants différents, des mêmes valeursd’entrée produira à chaque fois les mêmes résultats. La figure 7.1 page suivante dans laquelle ona représenté le chronogramme des combinaisons des entrées et des sorties par des couleurs illustrecette propriété.

Quelles que soient les couleurs présentées aux entrées pendant les intervalles de temps figurésen grisé et quelles que soient les couleurs correspondantes observées aux sorties, la couleur bleu àl’entrée du circuit produit toujours (après un temps de propagation) la couleur vert en sortie.

Un circuit de logique séquentielle ne possède pas cette propriété ; la connaissance des entréesappliquées à un instant donné ne suffit pas à déterminer les valeurs des sorties comme le montre lafigure 7.2 page suivante. La combinaison bleu présentée à plusieurs reprises aux entrées du circuitne produit pas toujours le même résultat. La valeur observée aux sorties est tantôt le vert, tantôtle violet.

Le comportement de la logique séquentielle s’explique par la présence de variables supplémen-taires internes au circuit dont la valeur évolue au cours du temps qui est la cause de ce non-

111

Page 113: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

112 CHAPITRE 7. LOGIQUE SÉQUENTIELLE SYNCHRONE, BASCULES

Fig. 7.1: Chronogramme d’un circuit combinatoire

Fig. 7.2: Chronogramme d’un circuit séquentiel

déterminisme apparent. La connaissance de la valeur de ces variables internes est nécessairementsi l’on veut prévoir la valeur des sorties. La figure 7.3 page ci-contre illustre le chronogramme ducircuit en tenant compte des variables internes.

7.1.2 Comment construire la logique séquentielle ?

Les valeurs des variables internes reflètent « l’état du système » qui dépend des entrées etde leurs valeurs précédentes. Les variables internes contiennent une partie de l’histoire du circuitcar elles dépendent de leurs valeurs passées. La structure du circuit de logique séquentielle pos-sède donc un circuit combinatoire calculant les variables internes et recevant les entrées et lesvariables internes, entraînant ainsi un rebouclage comme illustré dans la figure 7.4 page suivante.C’est ce rebouclage qui réalise la fonction de mémorisation propre à la logique séquentielle (cfparagraphe 7.2.1 page 114).

Comme il a été étudié dans le chapitre sur les performances 6 page 99, les temps de propagationdans un circuit combinatoire sont extrêmement variables et dispersifs. Ils dépendent des structuresCMOS utilisées, des lignes de connexion, des procédés technologiques, de la tension d’alimentationet de la température de la jonction. En conséquence, il est difficile de faire fonctionner le dispositifde la figure 7.4 page ci-contre d’une façon fiable car chaque variable interne et chaque sortie a sonpropre temps de propagation, générant des courses entre signaux et pouvant entraîner un dysfonc-tionnement du système. Une méthode largement répandue pour l’évolution des calculs consiste à

Page 114: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

7.1. INTRODUCTION 113

Fig. 7.3: Chronogramme avec les variables internes

Fig. 7.4: structure de base d’un circuit en logique séquentielle

synchroniser les calculs. Dans cette méthode les variables internes et les sorties sont gelées dansune mémoire, généralement une bascule D (cf paragraphe 7.2 page suivante), et mises à jour aprèsla fin de calcul du circuit combinatoire. Les sorties sont mémorisées car elles sont potentiellementutilisées comme entrées d’autres circuits séquentiels. Un circuit sans variables internes avec sortiesmémorisées est également un circuit de logique séquentielle dans le sens où les mémoires ont leurspropres variables internes, comme expliqué dans le paragraphe 7.2.2 page 115. La mise à jour desmémoires, ou échantillonnage des résultats, se fait d’un façon synchrone au rythme d’un signal decommande périodique : l’horloge. La figure 7.5 page suivante illustre la structure générale de lalogique séquentielle synchrone :

L’instant d’échantillonnage correspond à une transition montante ou descendante du signald’horloge dont le chronogramme est donné en figure 7.6 page suivante. Le rapport cyclique de cettehorloge, c’est à dire le rapport entre le temps où l’horloge vaut 1 et le temps ou l’horloge vaut 0,peut en conséquence être différent de 50/50.

Pour assurer la bonne marche d’un circuit en logique séquentielle synchrone disposant d’uneunique horloge, il suffit de connaître le temps maximum de calcul du circuit combinatoire et d’uti-liser une période d’horloge supérieure à ce temps. Le chemin le plus lent d’un circuit combinatoires’appelle « chemin critique » . Si Th est la période d’horloge et Tcrit est le temps de propagationdu chemin critique, alors il suffit de respecter :

Th > Tcrit

Le calcul du chemin critique se fait dans les conditions d’utilisation les pires, c’est-à-dire un

Page 115: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

114 CHAPITRE 7. LOGIQUE SÉQUENTIELLE SYNCHRONE, BASCULES

Fig. 7.5: Structure de base d’un circuit en logique séquentielle synchrone

Fig. 7.6: Chronogramme du signal d’horloge

procédé technologique sous-optimal, une tension d’alimentation Vdd faible et une température dejonction élevée.

7.2 Les bascules D

La brique de base spécifique à la logique séquentielle est le point mémoire. Il existe différentestechnologies pour créer le point mémoire. La « bascule D » est un composant de mémorisationpour un seul point mémoire. La mémoire RAM Random Access Memory est un ensemble de pointsmémoires regroupés dans une matrice. L’accès à la RAM ne permet pas d’accéder à tous les pointmémoires en même temps, mais à un seul. Un mécanisme d’adressage est donc nécessaire poursélectionner un point mémoire qui dispose ainsi de sa propre « adresse » .

7.2.1 Le point mémoire élémentaire

Une des techniques de mémorisation repose sur le principe de stabilité des systèmes en bouclefermée comme illustré par la figure 7.7. Ce principe est utilisé en technologie CMOS pour construireles bascules et les RAMs statiques. Un amplificateur rebouclé sur lui même constitue un systèmestable (qui ne change pas d’état). S’il existe un moyen d’initialiser l’amplificateur avec une certainevaleur, celle ci est gelée dans l’amplificateur qui, par le rebouclage sur lui-même, a le rôle de pointmémoire. Une autre technique de mémorisation consiste à capturer des charges électriques dans uncondensateur. Ce principe est utilisé pour les mémoires FLASH et RAM dynamiques. Il nécessiteune technologie de fabrication de circuits intégrés, différente du CMOS, qui ne sera pas étudiée enENI.

Fig. 7.7: Point mémoire basé sur un amplificateur rebouclé

Page 116: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

7.2. LES BASCULES D 115

La fonction de transfert de l’amplificateur doit avoir une zone d’amplification dans son milieu(pente strictement supérieure à 1) pour pouvoir converger vers le niveau haut ou bas de la courbe.La figure 7.8 illustre un exemple de fonction de transfert.

Fig. 7.8: Fonction de transfert de l’amplificateur

Il existe 3 points stables de la fonction de transfert 0, Vmax et X. Les 2 premiers correspondentau fonctionnement normal et permettent d’associer les grandeurs physiques (0,Vmax) à des niveauxbooléens (vrai, faux).

Le point X correspond à un état « métastable » associé à aucun niveau booléen, il faut doncl’éviter . S’il existe la zone d’amplification en milieu de courbe, Il suffit de s’écarter légèrement dece point pour converger vers O ou Vmax. La figure 7.9 illustre le fait que le point initial (Ve1, Vs1)proche du point X converge rapidement vers Vmax.

Fig. 7.9: Convergence vers un état stable en ne partant pas de X

Le bruit ambiant contribue à ce que cet état métastable ne dure pas et que le système converge.Le temps de convergence n’est pas constant, il dépend de la technologie et peut être très long. Lespoints mémoires ont toujours des contraintes d’utilisation pour éviter cet état.

7.2.2 structure avec 2 inverseurs tête bêche : bascule RS et RAM sta-tique

En pratique, l’amplificateur est réalisé avec 2 inverseurs en tête bêche comme représenté sur lafigure 7.10 page suivante

Pour initialiser le point mémoire, il faut forcer un niveau sur l’entrée d’un inverseur et son opposésur l’autre inverseur. La bascule RS (Reset Set) consiste à utiliser une initialisation logique avec dessignaux pilotant des portes NAND ou NOR comme illustré dans la figure 7.11 page suivante. Parexemple pour la bascule RS à base de NAND, les entrées RESET et SET sont complémentaireset actives à 0. Quand RESET est actif (au niveau 0) , et SET inactif (au niveau 1), la sortie Q

Page 117: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

116 CHAPITRE 7. LOGIQUE SÉQUENTIELLE SYNCHRONE, BASCULES

Fig. 7.10: inverseurs en tête bêche pour la mémorisation

est initialisée à 0. Quand RESET et SET sont inactifs (au niveau 1) la bascule RS est en modemémoire et garde la valeur préalablement initialisée. Dans ces structures apparaît clairement lavariable interne correspondant à l’équipotentielle Q réentrant sur le circuit.

Fig. 7.11: bascule RS avec une structure NAND et NOR

Les points suivants sont à noter :• La structure de la bascule dispose de 2 sorties Q et son complément Q.• les 2 entrées ne doivent pas être actives simultanément. Si c’est la cas, c’est l’entrée la plus

proche de la sortie qui est prioritaire.Dans le cas du point mémoire RAM statique, l’initialisation est effectuée grâce à 2 transistors

NMOS de part et d’autre des 2 inverseurs comme le montre la figure 7.12. Lorsque la commande Cest activée, la valeur de D et son complément sur D sont écrites dans le point mémoire. Cette opéra-tion nécessite des transistors NMOS plus gros que ceux des inverseurs pour imposer électriquementun niveau pouvant être différent au départ. Si D est flottant ou en haute impédance, la valeur dupoint mémoire apparaît sur D et son complément sur D, ce qui permet d’effectuer une lecture dece point. Cette structure est plus petite que la bascule et ne dispose que d’une entrée spécifiquepar point mémoire (la commande C) se prêtant bien à une structure matricée. La commande C estissue d’un décodage de signaux d’adresse sur N bits permettant d’accéder à un seul point parmi2N .

Fig. 7.12: Point mémoire RAM statique

7.2.3 De la bascule RS à la bascule D sur état : le latch

La bascule RS peut évoluer vers la bascule D qui voit les 2 entrées Reset et Set remplacées parune unique entrée D = set = Reset. De façon à avoir la mémorisation quand Reset = Set = 0,une entrée EN est utilisée pour forcer les entrées à 0 avec 2 portes ET. Ce dispositif est appelébascule D sur état ou Latch. Quand EN vaut 1, il y a recopie de l’entrée sur la sortie, le latch est

Page 118: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

7.2. LES BASCULES D 117

transparent, et quand EN vaut 0, il est en état de mémorisation. La structure du latch est illustréepar la figure 7.13 :

Fig. 7.13: Structure de la bascule D sur état ou latch

7.2.4 La bascule D sur front ou Flip-Flop

Dans le paragraphe 7.1.2 page 112, nous avons vu que la synchronisation des variables interneset des sorties permet de fiabiliser les calculs. Cette méthode nécessite une mémoire mise à jourpar une horloge lors de l’instant d’échantillonnage. En conséquence, le latch ne convient pas pourcette méthode car il perd sa fonction de mémorisation durant une phase de l’horloge, quand ilest transparent. Il faut nécéssairement utiliser une bascule D sur front aussi appelée Flip-Flop outout simplement bascule D. La bascule D peut être obtenue avec 2 latches en cascade (figure 7.14disposant d’entrées EN complémentaires. Cette bascule permet de mémoriser et d’échantillonnerla valeur de la variable d’entrée sur une transition du signal EN.

Fig. 7.14: structure de la bascule D à partir de latches

Le chronogramme de la figure 7.15 illustre le fonctionnement de la bascule D. La sortie S nechange qu’après échantillonnage sur front montant de l’horloge H, et est mémorisée pendant unepériode d’horloge. Ces points importants sont à noter :

• La sortie S ne change pas immédiatement après le front montant de H car la bascule D a sonpropre temps de propagation.

• Si D1 change entre 2 fronts montants d’horloge (cas des valeurs e0 et e2), elles ne sont pasprises en compte dans la bascules. Seules comptent les valeurs de D1 au moment du frontmontant d’horloge.

En pratique il est possible d’avoir un recouvrement entre H et H , une technique consiste àutiliser respectivement pour les 2 latches, 2 horloges φ1 et φ2 non recouvrantes correspondant aux2 phases de l’horloge.

Fig. 7.15: Chronogramme de la bascule D avec 2 latches

La bascule D peut disposer optionnellement d’entrées d’initialisation de mise à 1 Preset oumise à 0 Reset ou Clear. Ces entrées sont asynchrones, c’est à dire actives immédiatement sansêtre sensibles au front montant de l’horloge. Ces entrés asynchrones sont actives à 0 , ce qui est

Page 119: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

118 CHAPITRE 7. LOGIQUE SÉQUENTIELLE SYNCHRONE, BASCULES

indiqué sur le symbole de la bascule par un cercle signifiant l’inversion de polarité. Le symbole dela bascule D est illustré en figure 7.16 et la table de vérité par la table 7.1. La bascule D peut avoirune sensibilité au front descendant plutôt qu’au front montant de l’horloge. Dans ce cas le symbolede la bascule dispose d’un cercle sur l’entrée de l’horloge signifiant l’inversion de polarité.

Fig. 7.16: Symbole de la bascule D

D H Preset Reset Q Etat

0 ↑ 1 1 0 échantillonnage

1 ↑ 1 1 1

X 0 1 1 Q mémorisation

X 1 1 1 Q

X X 0 1 1 forçage à 1

X X 1 0 0 forçage à 0

Tab. 7.1: Table de vérité de la bascule D

7.2.5 Conditions d’utilisation de la bascule

De façon à éviter les états métastables (cf paragraphe 7.2.1 page 114) de la bascule, les construc-teurs spécifient une fenêtre temporelle autour de l’instant d’échantillonnage, dans laquelle la va-riable d’entrée ne doit pas changer de valeur. 2 temps sont utilisés à cette fin :

• tsu : temps de prépositionnement ou set up : temps durant lequel les données doivent resterconstantes avant le front montant d’horloge.

• th : temps de maintien ou hold : temps durant lequel les données doivent rester constantesaprès le front montant d’horloge.

Le temps de propagation des bascules tco correspond au temps séparant le front d’horloge desdonnées stabilisées en sortie. La figure 7.17 page ci-contre illustre les caractéristiques temporellesde la bascule D.

Dans le calcul du chemin critique, les temps de propagation Tco et de prépositionnement Tsu

doivent être pris en compte, comme indiqué dans la figure 7.18 page suivante. Si Th est la périoded’horloge alors il faut respecter :

Th > Tco + Tcrit + Tsu

Page 120: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

7.3. EXEMPLES FONDAMENTAUX DE LA LOGIQUE SÉQUENTIELLE SYNCHRONE 119

Fig. 7.17: Caractéristiques temporelles de la bascule D

Fig. 7.18: Temps de propagation à considérer en logique séquentielle

7.3 Exemples fondamentaux de la logique séquentielle syn-chrone

7.3.1 Le mécanisme de décalage avec un registre à décalage

Un registre est par définition un ensemble de bascules. Un registre à décalage est constitué deN bascules en cascade comme indiqué dans la figure 7.19.

Fig. 7.19: registre à décalage

A chaque front d’horloge, le contenu de chaque bascule amont est décalé dans la bascule aval.Ainsi au bout de N fronts montants d’horloge, la première valeur rentrée se retrouve en sortie commereprésenté dans la figure 7.20 page suivante. Le fonctionnement correct du registre impose d’avoirun temps de propagation Tco supérieur au temps de maintien Th. Cette condition est toujoursgarantie par les constructeurs de bascules.

Le registre à décalage est une structure importante de la logique séquentielle qui permet deréaliser beaucoup d’opérations élémentaires :

Page 121: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

120 CHAPITRE 7. LOGIQUE SÉQUENTIELLE SYNCHRONE, BASCULES

Fig. 7.20: Chronogramme du registre à décalage

• Passage d’un format série à un format parallèle : les bits rentrent en série et les N bits duregistre sont les sorties.

• Passage d’un format parallèle à un format série : Les bascules sont initialisées par un motd’entrée et la sortie s’effectue sur la dernière bascule.

• Recherche d’une chaîne de bits particulière : les sorties des bascules sont comparées avec lachaîne de référence.

• Compteur de Johnson : le registre est rebouclé sur lui même et ne contient qu’un seul ’1’ quiboucle.

• Et encore : générateur de nombres pseudo aléatoires (LFSR Linear Feedback shift register),filtres numériques RIF,...

7.3.2 Le mécanisme de comptage

Le compteur est un opérateur très fréquemment utilisé en électronique numérique. Dans saversion la plus simple il s’agit d’un dispositif dont la sortie représente une donnée numérique quiaugmente d’une unité à chaque période d’horloge. Celui que nous allons présenter possède unesortie codée sur 3 bits et enchaîne la séquence :

0, 1, 2, 3, 4, 5, 6, 7, 0, 1, ...Le compteur est muni d’une horloge qui rythme son fonctionnement et d’un signal optionnel de

remise à zéro asynchrone, RAZ. Pour réaliser ce compteur il suffit de se munir d’un incrémenteurcombinatoire de 3 bits (opérateur qui réalise +’001’) et d’un registre 3 bits comme l’illustre lafigure 7.21. A chaque période d’horloge, l’état futur du compteur est égal à son état courantaugmenté de 1. L’initialisation du compteur se fait par le signal RAZ sur l’entrée Reset asynchronedes 3 bascules.

Fig. 7.21: Compteur binaire

Page 122: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

7.3. EXEMPLES FONDAMENTAUX DE LA LOGIQUE SÉQUENTIELLE SYNCHRONE 121

7.3.3 Principe de sérialisation des calculs

La logique séquentielle permet de sérialiser les opérations sur N opérandes. A chaque périoded’horloge, une seule opération est effectuée entre un nouvel opérande sur l’entrée, et un résultatintermédiaire stocké dans un registre. La figure 7.22 représente un additionneur de mots de 16 bitsdont la somme totale ne dépasse pas 255. Cet opérateur s’appelle aussi accumulateur. Il faut noterdans le circuit proposé qu’il manque la fonction d’initialisation et que l’additionneur utilisé est sur8 bits, ce qui limite la dynamique de la variable accumulée à 255.

Le compteur binaire étudié préalablement est une version simplifiée de l’accumulateur où tousles mots à accumuler sont remplacés par une constante égale à 1. Dans les microprocesseurs,les opérations sont effectuées dans un accumulateur capable d’effectuer la plupart des opérationsarithmétiques et logiques.

Fig. 7.22: Accumulateur

Page 123: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

122 CHAPITRE 7. LOGIQUE SÉQUENTIELLE SYNCHRONE, BASCULES

Le chronogramme des opérations est indiqué dans la figure 7.23 où il est supposé que la valeurinitiale est égale à 0.

Fig. 7.23: Chronogramme de l’accumulateur

7.3.4 Principe d’accélération des calculs par la mise en pipeline

Le débit de calcul est une caractéristique importante des systèmes électroniques, en particulierdans le domaine des télécommunications. Les données à traiter arrivent d’une façon synchrone àun rythme f . Pour traiter ces données il suffit d’utiliser un circuit séquentiel utilisant une horlogede fréquence f comme illustré dans la figure 7.24 où φ représente l’opération à effectuer.

Fig. 7.24: circuit séquentiel de traitement de flot de données

Pour que l’opérateur fonctionne correctement il suffit que :

Th = 1/f et Tp < 1/f , où

• f est le débit de calcul• Th est la période d’horloge• Tp est le temps de propagation du chemin critique, incluant celui des basculesSi cette condition n’est pas respectée, des solutions architecturales existent en logique séquen-

tielle pour accélérer le débit des calculs. Une méthode consiste à faire une mise en pipeline. Si parexemple Tp est 3 fois trop long : Tp = 3/f , on peut décomposer φ en 3 sous-fonctions cascadablesφ1∗φ2∗φ3. On obtient alors la structure de la figure 7.25 page ci-contre. Celle ci ne résout toujourspas le problème de non respect de la contrainte de débit de f .

Si les 3 circuits réalisant les sous-fonctions ont des temps de propagation identiques de Tp/3 ,le temps de propagation du chemin critique devient Tp/3 à la place de Tp en plaçant des registresentre ces circuits. Cette mise en pipeline permet ainsi de respecter la contrainte de débit. Lafigure 7.26 page suivante illustre cette nouvelle structure avec les étages de pipeline correspondantaux registres rajoutés.

Par définition la latence de calcul est le nombre de cycles pour obtenir le résultat du calcul.Dans l’exemple ci-dessus, la latence est passée de 1 à 3. Une plus grande latence ne signifie pas unretard absolu plus grand car la période d’horloge est d’autant diminuée.

Page 124: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

7.3. EXEMPLES FONDAMENTAUX DE LA LOGIQUE SÉQUENTIELLE SYNCHRONE 123

Fig. 7.25: Circuit séquentiel de traitement de flot de données après décomposition en sous fonctions

Fig. 7.26: Circuit séquentiel de traitement de flot de données après décomposition en sous fonctions

En pratique, si on veut générer N étages de pipeline, il est souvent difficile d’équirépartir lestemps de propagation en Tp/N et il faut aussi prendre en compte les temps de propagation et deprépositionnement des bascules. Donc la décomposition en N étages de pipeline permet de gagneren débit d’un facteur un peu inférieur à N .

Page 125: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

124 CHAPITRE 7. LOGIQUE SÉQUENTIELLE SYNCHRONE, BASCULES

Page 126: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 8

Machines à états

8.1 IntroductionLes machines à états sont des circuits de logique séquentielle (cf chapitre 7 page 111) servant

exclusivement à générer des signaux de commande. Il existe en effet 2 grands types de signaux enélectronique :

• Signaux à traiter : les données• Signaux pilotant le traitement : les commandesCette classification des signaux se retrouve au niveau des architectures des systèmes électro-

niques qu’on peut schématiser comme dans la figure 8.1 où la partie contrôle, générant les com-mandes, est dissociée de la partie opérative, traitant les données. Les 2 parties sont toujours réaliséesen logique séquentielle et dans un très grande majorité des cas en logique séquentielle synchrone.

Fig. 8.1: Architecture générique d’un circuit électronique

Pour la logique séquentielle synchrone, il existe 2 signaux de commandes importants :• L’horloge : pour le déroulement des séquences• Le Reset : pour l’initialisation du systèmeLa machine à état représente la partie contrôle, c’est à dire le cerveau du système électronique

et la partie opérative , les jambes.Il existe beaucoup de déclinaisons de cette architecture, des plus compliquées comme les micro-

processeurs qui ont plusieurs machines à états et plusieurs parties opératives, des plus simples maistout aussi importantes comme les contrôleurs d’ascenseurs ou de machine à café. Pour ce derniertype de système, les données sont inexistantes car les commandes servent à piloter des actionneurs,valves et moteurs,...

Les états de la machine à états représentent toutes les valeurs que peuvent prendre les variablesinternes du circuit de logique séquentielle (cf chapitre 7 page 111). Le schéma de la machine à étatsgénérique est représenté en figure 8.2 page suivante

Par exemple pour la machine à café, les états peuvent être :

1. Attente de pièce2. Descendre le gobelet

125

Page 127: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

126 CHAPITRE 8. MACHINES À ÉTATS

Fig. 8.2: Schéma d’un machine à état générique

3. Verser la poudre de café4. Verser l’eau chaude5. Indiquer que c’est prêt

Cette machine peut se compliquer en prenant en compte : le choix de la boisson, le dosagedu sucre, mais elle reste néanmoins très simple par rapport à certaines machines à états indus-trielles comme la conduite d’une centrale nucléaire, ou l’automatisation d’un usine de production.D’autres types de machines à états ont des contraintes de performances très grandes, c’est la casde celles utilisées dans les microprocesseurs ou des processeurs spécialisées pour le graphisme oules télécommunications.

Fig. 8.3: Où rencontrer les machines à états

Un circuit de logique séquentielle sur les données n’est pas une machine à états. En effet lesdonnées sont stockées dans des mémoires de grande taille. En considérant une mémoire de 128Moctets (1G bits), le nombre d’états possible serait de 21G nombre largement supérieur au nombrede particules de l’univers (1080).

8.2 Le graphe d’états

8.2.1 Comment représenter graphiquement le comportement d’une ma-chine à états ?

Dans une machine à états donnée, la loi d’évolution de l’état n’est évidemment pas aléatoire,pas plus que celle qui détermine la valeur des sorties. Ces lois sont soigneusement choisies par lecréateur de la machine afin que celle-ci remplisse une fonction précise. La conception d’une machineà états, pour peu que sa complexité dépasse celle des cas d’école qui nous serviront d’exemples, estune tâche délicate. Le graphe d’états est l’un des outils les plus utilisés pour la spécification de lamachine à états (entrées, sorties, fonctionnement souhaité).

Le graphe d’états, comme son nom l’indique, représente graphiquement les états d’une machineà états. Chaque état est dessiné sous la forme d’une bulle contenant son nom. On comprend

Page 128: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.2. LE GRAPHE D’ÉTATS 127

immédiatement que cet outil ne sera pas d’un grand secours lorsque le nombre d’états de la machinedépassera quelques dizaines. Prenons l’exemple d’une machine à laver où on considère 5 états commeillustré dans la figure 8.4.

Fig. 8.4: Graphe d’état au départ

On complète le graphe en figurant les transitions possibles par des flèches entre les états. Onappelle état source l’état de départ d’une transition et état destination l’état d’arrivée. La transitionT0 a Prélavage pour état source et Lavage pour état destination. Certaines transitions ont le mêmeétat pour source et pour destination. Cela signifie que la machine peut rester dans le même étatpendant un certain temps. La transition T1 est de cette sorte comme illustré dans la figure 8.5.

Fig. 8.5: Graphe d’état avec quelques transitions

Muni de toutes les transitions possibles comme représenté dans la figure 8.6 page suivante, legraphe constitue une représentation assez dense de l’évolution possible de la machine au cours dutemps. A tout instant la machine est dans l’un des états représentés ; c’est ce que nous appelleronsl’état courant de la machine. A chaque front montant de l’horloge, la machine emprunte l’unedes transitions possibles à partir de son état courant. Elle change alors d’état. Retenez bien cetteconséquence du fait que notre machine est synchrone sur front montant de l’horloge : elle reste dansun état donné (une bulle du graphe) pendant le temps qui sépare deux fronts montants de l’horloge(voire plus si elle emprunte ensuite une transition vers le même état). Les transitions (les flèchesdu graphe), en revanche, sont quasi-instantanées puisqu’elles correspondent aux fronts montants

Page 129: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

128 CHAPITRE 8. MACHINES À ÉTATS

de l’horloge.

Fig. 8.6: Graphe d’état avec les transitions

Pour enrichir encore notre graphe nous devons préciser les spécifications de la machine et, plusparticulièrement, la loi d’évolution des variables internes (l’état) en fonction des entrées. Supposonsque les entrées de notre machine soient au nombre de trois :

• M : variable booléenne qui traduit la position du bouton Marche/Arrêt du lave-linge.• P : variable booléenne qui indique si le programme de lavage sélectionné par l’utilisateur

comporte ou non une phase de prélavage.• C : valeur en minutes d’un chronomètre qui est remis à zéro automatiquement au début de

chaque étape de lavage.Les durées des différentes étapes de lavage sont fixées par le constructeur :• prélavage : 10 minutes• lavage : 30 minutes• rinçage : 10 minutes• essorage : 5 minutesA partir de ces informations complémentaires nous pouvons faire figurer sur le graphe les

conditions logiques associées à chaque transition. Avec un graphe ainsi complété comme il apparaîtdans la figure 8.7 page suivante, il devient très facile de comprendre ou de prévoir le comportementde la machine. On sait par exemple que lorsque la machine est dans l’état Arrêt elle y reste tantque M n’est pas vrai au moment d’un front montant de l’horloge. Dès que M est vrai au momentd’un front montant de l’horloge la machine change d’état : elle passe dans l’état Prélavage si P estvrai et dans l’état Lavage si P est faux. Il est important de comprendre que la valeur des entréesde la machine n’a d’importance qu’au moment précis des fronts montants de l’horloge. C’est uneconséquence du fait que notre machine est synchrone sur front montant de l’horloge.

Notre machine à états possède des entrées mais nous n’avons pas encore étudié les sorties. Or uncircuit électronique sans sorties n’est que de peu d’utilité. Il existe deux sortes de machines à états :celles dont les sorties ne dépendent que de l’état courant (ce sont les machines dites de Moore)et celles dont les sorties dépendent de l’état courant et des entrées (ce sont les machines ditesde Mealy). L’analyse des mérites comparés des machines de Mealy et de Moore est un problèmecomplexe qui n’entre pas dans le cadre de ce cours. Nous allons donc réduire encore la généralitéde notre étude et nous concentrer sur les machines de Moore. Le programmateur de notre lave-linge est donc une machine de Moore dont les sorties ne dépendent que de l’état courant. Noussupposerons que ses sorties sont trois signaux booléens, X, Y et Z destinés à piloter les différentsmoteurs du lave-linge. Les spécifications précisent leur valeur pour chaque état que peut prendre lamachine. Nous pouvons encore compléter le graphe d’états afin d’y faire figurer cette information.

Page 130: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.2. LE GRAPHE D’ÉTATS 129

Fig. 8.7: Graphe d’état avec les transitions spécifiées

Le graphe est alors achevé comme illustré dans la figure 8.8. Il est équivalent aux spécifications duprogrammateur tout en étant plus dense qu’une description en langage naturel.

Fig. 8.8: Graphe d’état final

8.2.2 Comment vérifier cette représentation à l’aide de quelques règlessimples ?

Les spécifications sont généralement écrite en langage naturel. La traduction des spécificationsen graphe d’état est donc entièrement manuelle et les risques d’erreurs sont nombreux, comme c’esttoujours le cas lorsqu’un humain intervient dans un processus. Si une erreur venait à se glisser dans

Page 131: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

130 CHAPITRE 8. MACHINES À ÉTATS

le graphe elle se retrouverait probablement dans le circuit électronique final (il est peu probable,sauf intervention surnaturelle, qu’une deuxième erreur annule la première), ce qui est inacceptable :un lave-linge qui "oublie" de rincer n’est pas très satisfaisant, sans parler des centrales nucléairesou des avions de ligne.

Il faut donc vérifier le graphe avant de poursuivre la réalisation de la machine. Comme toutebonne spécification il doit vérifier deux propriétés fondamentales : :

• il doit être complet ou non ambigu• il doit être non contradictoireLa première signifie que le comportement est toujours défini : à chaque front montant d’horloge,

quel que soit l’état dans lequel se trouve la machine et quelles que soient les valeurs des entrées,on doit connaître l’état suivant. L’une des conditions associées aux transitions partant d’un étatquelconque du graphe doit donc toujours être vraie. On peut traduire cette propriété sous formed’équation booléenne en écrivant que le ou logique de toutes les conditions associées au transitionspartant d’un état quelconque est toujours vrai : soient C1, C2, ..., Ci, ..., Cn ces conditions, alors :

i=n∑i=1

Ci = 1

Par exemple, pour le programmateur de notre lave-linge, les transitions partant de l’état Arrtsont au nombre de trois comme indiqué en pointillé sur la figure 8.9

Fig. 8.9: Graphe d’état final

Et les conditions associées sont :M,M.P ,M.PLe OU logique de ces trois conditions vérifie donc :M +M.P +M.P = M +M.(P + P ) = M +M = 1L’état Arrêtrespecte donc la première règle. A titre d’exercice vous pouvez vérifier que c’est

également le cas pour les quatre autres états.La deuxième règle signifie qu’à tout front montant d’horloge une seule transition est possible.

Si plus d’une transition a sa condition associée vraie, le graphe est contradictoire (deux actionsincompatibles sont simultanément possibles). Le respect de cette règle est plus difficile à vérifier :le OU logique de tous les ET logiques de deux conditions associées aux transitions partant d’unétat quelconque est toujours faux : ∑i=n

i=1

∑j=nj=i+1 Ci.Cj = 0

Page 132: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.3. LA COMPOSITION D’UNE MACHINE À ÉTATS 131

En reprenant l’état Arrêt du programmateur de lave-linge comme exemple :M.M.P +M.M.P +M.P .M.P = 0 + 0 + 0 = 0L’état Arrêt respecte donc également la deuxième règle. Si elle est aussi vérifiée par les autres

états alors nous sommes en présence d’un véritable graphe de machine à états sans ambiguïté nicontradiction. Malheureusement cela ne prouve pas que le graphe est conforme à la spécification.Il faut encore vérifier que la fonctionnalité est la même dans les deux descriptions. Il n’existe pasd’outils de vérification ou de formules logiques permettant de le faire. Vous pouvez par exempleparcourir le graphe état par état et, pour chacun d’eux, comparer la partie de spécification qui leconcerne avec les conditions associées aux transitions sortantes. Toute méthode est bonne si ellepermet d’éviter des erreurs à ce stade du travail de conception.

8.3 La composition d’une machine à états

8.3.1 Le calcul de l’état futur

En logique séquentielle synchrone, l’état courant est modifié à chaque front montant de l’horloge.Entre deux fronts montants de l’horloge (pendant une période d’horloge) il reste stable, ce qui donnele temps aux circuits combinatoires qui composent la machine de calculer le prochain état et lessorties. Il existe donc, entre autres, un circuit combinatoire chargé de calculer le prochain état, quenous appellerons aussi état futur, à partir de l’état courant et des entrées de la machine. Ce circuit(nommé P1 sur le schéma de la figure 8.10) est en général le plus difficile à concevoir. Ses entréessont :

• L’état courant qui est mémorisé dans le registre d’état (RE sur le schéma).• Les entrées de la machine.

Fig. 8.10: Calcul de l’état futur

Sa sortie est l’état futur.Dès que les entrées changent de valeur ou dès que l’état courant est modifié, le circuit P1

commence à calculer l’état futur. Ce calcul n’est pas instantané (voir le TD 6 page 99 sur le tempsde propagation dans les portes CMOS). Pour que la machine puisse fonctionner correctement ilfaut que les entrées de ce circuit restent stables pendant une durée suffisante pour que sa sortiepuisse, elle aussi, s’établir et se stabiliser avant le front montant de l’horloge suivant. Sinon lavaleur échantillonnée par le registre d’état ne sera pas la bonne et le déroulement des opérationssera perturbé.

8.3.2 Le registre d’état

Il est composé de plusieurs bascules D (la question de leur nombre exact est traitée dans leparagraphe 8.4 page 133). L’horloge est la même pour toutes : c’est l’horloge générale du circuitélectronique dont fait partie la machine. Son entrée est la sortie du circuit P1, c’est l’état futur. Sasortie, l’état courant, sert d’entrée à P1 mais aussi au circuit destiné à calculer les sorties.

Page 133: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

132 CHAPITRE 8. MACHINES À ÉTATS

Une machine à état est un dispositif avec rétroaction : l’état courant conditionne les états futurs.Dans un tel dispositif la question des conditions initiales se pose. En d’autres termes, pour que lefonctionnement soit celui souhaité dès la mise sous tension, il faut introduire un moyen de forcerun état de départ. Il en va de même pour le microprocesseur qui constitue l’unité de calcul devotre ordinateur. Comme nous l’avons vu dans le paragraphe 8.1 page 125 il contient un grandnombre de machines à états qui le commandent et le contrôlent. Si, lorsque vous allumez votreordinateur l’état de ces machines n’est pas forcé à une valeur connue et choisie par les concepteursla séquence de démarrage risque d’être fortement perturbée. C’est pourquoi toute machine à étatdispose d’une entrée d’initialisation Reset grâce à laquelle l’état des machines est forcé lors de lamise sous tension.

Il existe deux méthodes pour forcer l’état initial avec le Reset :

1. Le reset synchrone. Il est pris en compte uniquement sur le front montant de l’horloge. Il agitdonc de la même façon que les entrées "normales" de la machine. Son influence est prioritairesur les autres. Le circuit P1 possède donc ce signal comme entrée supplémentaire. Lorsquecette entrée est active (elle peut être active lorsqu’elle vaut 0 ou bien 1, c’est une conventionà définir) l’état futur que calcule P1 est l’état initial. Au front montant d’horloge suivantla machine passe donc dans cet état. Dans l’exemple de notre programmateur de lave-lingeil semble judicieux de choisir Arrêt comme état initial. Le graphe doit être modifié commeindiqué dans la figure 8.11 pour tenir compte du reset synchrone.

Fig. 8.11: Graphe d’état avec Reset synchrone

2. Le reset asynchrone. Il utilise les entrées Set et Reset des bascules D (voir le chapitre 7 page 111)du registre d’état pour forcer l’état initial. On branche l’entrée Reset sur l’entrée set des bas-cules si on désire forcer un 1, ou sur l’entrée Reset des bascules si on désire forcer un 0. Lesentrées de la partie P1 ne sont pas modifiées. Le graphe d’état non plus si ce n’est l’indica-tion de l’état de départ par le Reset comme indiqué dans la figure 8.12 page ci-contre. Cettesolution est donc plus simple à concevoir que la précédente, donne des tailles (en nombre decomposants) plus faibles pour des vitesses de fonctionnement plus élevées. C’est pourquoi onla préférera lorsqu’elle n’entre pas en conflit avec d’autres contraintes.

8.3.3 Le calcul des sorties

La troisième et dernière partie d’une machine à états est le circuit combinatoire de calcul dessorties (P2 sur le schéma de la figure 8.13 page suivante). Dans une machine de Moore, ses entrées

Page 134: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.4. LE CODAGE DES ÉTATS 133

Fig. 8.12: Graphe d’état avec Reset Asynchrone

sont l’état courant et ses sorties sont les sorties de la machine. Dès que l’état courant change, aprèsun front montant d’horloge, ce circuit commence à calculer les sorties caractéristiques du nouvelétat. Comme pour le circuit P1 il faut absolument qu’il dispose d’assez de temps pour le faire avantle front montant d’horloge suivant.

Fig. 8.13: calcul des sorties

8.4 Le codage des états

8.4.1 Comment représenter les différents états sous forme de mots bi-naires ?

Jusqu’ici nous avons identifié les différents états par leur nom (Arrêt, Prélavage, etc.). L’élec-tronique numérique ne manipule pas de tels symboles. L’alphabet y est nettement plus restreintpuisqu’il se compose des seuls 0 et 1 de l’algèbre de Boole. Pour chaque état d’une machine ilva donc falloir trouver un nom unique exprimé dans cet alphabet. Nous avons vu dans les para-graphes 8.1 page 125 et 8.3 page 131 que les machines à états synchrones mémorisent l’état courantdans des bascules D du type de celles du chapitre 7 page 111. Chacune de ses bascules contiendraà tout moment un caractère (0 ou 1) du nom de l’état courant.

A la différence des noms d’états exprimés en langage naturel ceux exprimés dans l’alphabetbinaire auront tous le même nombre de caractères. La raison en est simple : pour pouvoir mémoriser

Page 135: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

134 CHAPITRE 8. MACHINES À ÉTATS

n’importe quel état dans les bascules D du circuit le nombre de bascules doit être au moins égal àla taille du nom le plus long. Si ces bascules ne servent pas toutes à un instant donné on ne peut entirer aucun profit ni pour réduire la taille du circuit, ni pour augmenter sa vitesse. L’électroniquea ceci de contraignant que le matériel inutilisé coûte aussi cher que le matériel utilisé. Nous allonscontinuer à exploiter l’exemple du programmateur de lave-linge. Commençons par déterminer lenombre de symboles binaires (bits) nécessaires à représenter les cinq états. Contrairement à ce quel’on pourrait penser ce choix n’est pas trivial. Nous pouvons d’ores et déjà constater que trois bitsau moins sont nécessaires. En effet, deux bits permettent, au maximum, la représentation de quatresituations différentes seulement. Deux états différents seraient donc représentés de la même façonet ne pourraient être différenciés ; la machine ne pourrait pas fonctionner correctement. Trois bitspermettent de représenter huit mots différents. On peut également éliminer les solutions à plus decinq bits car elles sont forcément redondantes (il existe toujours au moins un bit inutile que l’onpeut retirer en conservant cinq mots différents). Restent les solutions à trois, quatre ou cinq bits.

On appelle codage la représentation en mots binaires des noms des états. La table 8.1 proposeun exemple de codage à trois, quatre, cinq et six bits pour notre exemple.

Etat Trois bits Quatre bits Cinq bits Six bits

Arrêt 100 0001 11110 110001

Prélavage 000 0110 10100 101010

Lavage 001 1111 01100 110111

Rinçage 010 0000 01101 010110

Essorage 111 1011 01110 010111

Tab. 8.1: Exemples de codage des états

8.4.2 En quoi le codage choisi influe-t-il sur la taille de la machine àétats ?

La partie combinatoire de la machine qui calcule l’état futur en fonction des entrées et del’état courant est très largement influencée par le codage des états. Donc sa taille (en nombre decomposants utilisés) en dépend également. Elle possède Ne+Nb entrées et Nb sorties (Ne est lenombre d’entrées de la machine et Nb le nombre de bits choisi pour coder les états comme illustrédans la figure 8.14).

Fig. 8.14: Schéma d’une machine à états avec le nombre de bits nécessaires

Le nombre de fonctions booléennes calculées est donc égal à Nb et chacune de ces fonctions

Page 136: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.4. LE CODAGE DES ÉTATS 135

possède Ne+Nb entrées. On pourrait en conclure qu’il faut coder les états avec le moins de bitspossibles pour que cette partie combinatoire soit la plus petite possible. Mais il n’en est rien. Onpeut facilement trouver des exemples qui prouvent le contraire. Pour s’en convaincre il suffit deremarquer qu’une fonction booléenne de quatre variables peut être plus simple qu’une autre dedeux variables :

F (A0, A1, A2, A3) = A0

est plus simple que :

G(A0, A1) = A0 ⊕A1

Il se pourrait que notre exemple soit une illustration de ce phénomène et que cinq fonctionsbooléennes simples vaillent mieux que trois complexes.

La partie combinatoire qui calcule les sorties en fonctions de l’état courant possède Nb entréeset Ns sorties (où Ns est le nombre de sorties de la machine). Elle calcule donc Ns fonctionsbooléenne de Nb entrées. Là encore, méfions nous des évidences ; la solution qui se traduit par unetaille minimum n’utilise pas nécessairement un codage des états sur un nombre de bits minimum.

La seule certitude que l’on ait concerne le registre d’état. Sa taille est directement liée au nombrede bits du codage d’états. Comme on le voit, le problème n’est pas simple. Il l’est d’autant moinsqu’une solution optimale au sens de la taille pour la partie combinatoire de la machine qui calculel’état futur a peu de chances d’être également la meilleure pour la partie combinatoire qui calculeles sorties.

8.4.3 Quelles méthodes permettent de choisir le meilleur codage pos-sible ?

Il faut, avant de répondre à cette question, déterminer ce que l’on entend par meilleur. La tailleest un critère de sélection mais il n’est pas le seul. On peut également s’intéresser à la vitesse defonctionnement, à la consommation ou la simplicité de conception. Selon l’objectif fixé les stratégiesde codage seront différentes. Parmi celles-ci nous allons en citer trois :

1. Le codage adjacent : il utilise un nombre de bits minimum (trois bits pour l’exemple de lafigure 8.15 page suivante) et se caractérise par le fait que le passage d’un état à un autrene modifie qu’un seul bit du registre d’état, un peu à la manière d’un code de Gray. Il n’estpas toujours possible de trouver un tel codage. Pour notre programmateur, par exemple, iln’existe pas de codage adjacent. On peut cependant essayer de s’en approcher en réduisantautant que faire se peut, le nombre de transitions modifiant plus d’un bit du registre d’état.Ici, seule la transition de l’état Prélavage, codé 001 à l’état Lavage, codé 010, ne respecte pasla contrainte.L’intérêt d’un tel codage n’est pas systématique. Il donne cependant souvent de bons résultatsen taille et en vitesse pour la partie combinatoire qui calcule l’état futur. Elle se trouve enquelque sorte simplifiée par la faible agitation des bits représentant l’état.

2. Le codage « one-hot » : il utilise un nombre de bits égal au nombre d’états (cinq bits pourl’exemple de la figure 8.16 page suivante). Chaque état est représenté par un mot binairedont tous les bits sauf un valent 0. Ce codage donne souvent les machines les plus simples àconcevoir. Il est également parfois intéressant en vitesse et en surface malgré le handicap dûà la taille du registre d’état.

3. Le codage aléatoire : il consiste à coder les états sur un nombre de bits minimum sans aucuneautre préoccupation que d’éviter que deux états aient le même code. Les résultats en termede surface, vitesse ou difficulté de conception sont imprévisibles mais peuvent parfois êtremeilleurs que ceux produits par les deux autres stratégies.Pour ce problème précis de l’optimisation du codage des états les outils logiciels de typesynthétiseurs logiques peuvent aider le concepteur pour trouver un « bon » codage.

Page 137: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

136 CHAPITRE 8. MACHINES À ÉTATS

Fig. 8.15: Graphe avec codage adjacent

Fig. 8.16: Graphe avec codage "one-hot"

8.5 La conception d’une machine à états

Considérons l’exemple du programmateur du lave-linge (voir le paragraphe 8.2 page 126 . Legraphe d’état final représenté dans la figure 8.9 page 130 fait apparaître un minuteur qui fournit enentrée de notre machine à états trois signaux C5, C10 et C30, toutes trois booléennes, qui indiquentrespectivement si la valeur 5 minutes, 10 minutes ou 30 minutes est atteinte.

Ces minuteurs sont aussi des machines à états dont l’état change à chaque cycle d’horloge, . Ilsauraient pu être incorporés au graphe principal, mais en considérant un fréquence d’horloge de 1seconde, le graphe aurait été muni de plus de 3300 états (5mn + 2fois 10mn + 30mn)* 60 s . Lechapitre 8.5.2 page 139 étudie la conception de ces minuteurs.

Les machines à états peuvent donc être factorisables. Cet exemple montre un exemple de ma-chines à états imbriquées de façon à en simplifier leur conception. Commençons par concevoir lamachine àà états principale dont le graphe a été étudié préalablement.

Page 138: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.5. LA CONCEPTION D’UNE MACHINE À ÉTATS 137

8.5.1 machine à états principale

L’interface de la machine avec le monde extérieur est spécifié dans la table 8.2.

Nom Mode Description

H Entrée Horloge

R Entrée Reset actif à 0 , initialise à l’état Arrêt

M Entrée Position du bouton Marche/Arrêt

P Entrée Existence d’une phase de prélavage

C5 Entrée Chronomètre supérieur ou égal à 5 minutes

C10 Entrée Chronomètre supérieur ou égal à 10 minutes

C30 Entrée Chronomètre supérieur ou égal à 30 minutes

X Sortie Vaut 0 dans l’état Arrêt, 1 dans les autres

Y Sortie Vaut 1 dans les états Prélavage et Lavage, 0 dans les autres

Z Sortie Vaut 1 dans les états Lavage et Essorage, 0 dans les autres

Tab. 8.2: Spécification de l’interface

La première chose à faire est le graphe d’état qui a déjà été étudié au paragraphe 8.2 page 126 etvérifié pour ne pas être ambigu ni contradictoire. La figure 8.9 page 130 illustre le graphe considéré.Dans une deuxième temps le codage des états doit être choisi. Considérons le codage représentédans la table 8.3.

Etat Codage

Arrêt 000

Prélavage 001

Lavage 010

Rinçage 110

Essorage 100

Tab. 8.3: Codage des états

Le codage des états choisi est indiqué en haut de chaque bulle du graphe représenté en fi-gure 8.17 page suivante.

Il faut maintenant établir la table de vérité des différentes fonctions booléennes calculées àl’intérieur de la machine.

Commençons par la partie combinatoire qui calcule l’état futur à partir de l’état courant et desentrées, que nous appellerons P1. Nous noterons les trois bits de l’état futur EF2, EF1 et EF0 avecla convention que EF2 est le bit de gauche, EF1 le bit du milieu et EF0 le bit de droite du code del’état. De même les trois bits de l’état courant seront notés EC2, EC1 et EC0. Cette table de vérités’appelle également table d’évolution (ou de transition) car elle décrit l’évolution de la machine aucours du temps. Elle donne pour chaque état courant possible et pour chaque combinaison possibledes entrées la valeur prise par l’état futur. Lorsque la valeur d’une entrée est X cela signifie qu’elleest indifférente. La table 8.4 page suivante représente la table d’évolution de la machine à états.

En utilisant les méthodes et principes exposés dans le chapitre 2 page 35, on en déduit deséquations non simplifiées des trois fonctions booléennes EF2, EF1 et EF0 que calcule P1 :

EF2 = (EC2 + EC1).(EC2 + C30).(EC2.EC1.C5)EF1 = (EC1 + EC0).(EC1 + C10).(EC2.EC1.C10) + (EC2 + EC1 + EC0).M.P

EF0 = (EC2 + EC1 + EC0).M.P + EC0.C10

Page 139: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

138 CHAPITRE 8. MACHINES À ÉTATS

Fig. 8.17: Graphe avec codage choisi pour la conception

Etat courant Entrées Etat futur

EC2 EC1 EC0 M P C5 C10 C30 EF2 EF1 EF0

0 0 0 0 X X X X 0 0 0

0 0 0 1 1 X X X 0 0 1

0 0 0 1 0 X X X 0 1 0

0 0 1 X X X 0 X 0 0 1

0 0 1 X X X 1 X 0 1 0

0 1 0 X X X X 0 0 1 0

0 1 0 X X X X 1 1 1 0

1 1 0 X X X 0 X 1 1 0

1 1 0 X X X 1 X 1 0 0

1 0 0 X X 0 X X 1 0 0

1 0 0 X X 1 X X 0 0 0

Tab. 8.4: Table d’évolution

Après simplification et toujours en utilisant les méthodes du chapitre 2 page 35 :

EF2 = EC1.C30 + EC2.(EC1 + C5)EF1 = EC0.C10 + EC1.EC2.C10 + EC2.EC1.EC0.M.P

EF0 = EC2.EC1.EC0.M.P + EC0.C10

La réalisation en portes logiques de ces trois équations ne pose pas de problème particulier. Ilpeut cependant être intéressant d’affiner l’étude dans le but de réduire la complexité de l’ensemble.On peut par exemple remarquer que le terme :EC2.EC1.EC0.M se retrouve dans les équations deEF1 et EF0 Il est possible de partager certaines portes entre plusieurs fonctions logiques et réaliserdes économies de matériel.

Page 140: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.5. LA CONCEPTION D’UNE MACHINE À ÉTATS 139

8.5.2 Machine à états du minuteur

Chaque minuteur dispose en entrée d’un signal de commande GO correspondant à une sortiede la machine à états principale.

L’interface du minuteur avec le monde extérieur est spécifié dans la table 8.5. Cx représente C5, C10 ou C30.

Nom Mode Description

H Entrée Horloge

R Entrée Reset actif à 0 , initialise à l’état Arrêt

GO Entrée Commande venant de la machine à état principale

actif à 1 pour autoriser la sortie, sinon force la sortie à 0

Cx Sortie Vaut 1 dès que le temps est atteint

Tab. 8.5: spécification de l’interface

Le graphe d’état de la machine à état est cyclique et reflète l’avancement de la machine quandle signal GO est actif. Le graphe est illustré dans la figure 8.18.

Fig. 8.18: Graphe avec codage choisi pour la conception

Ce graphe correspond à la fonction d’un compteur binaire piloté par le signal GO, et dont lasortie est comparée au temps d’attente du minuteur. L’état N est le seul état où la sortie est active

Page 141: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

140 CHAPITRE 8. MACHINES À ÉTATS

et où il n’y a pas de condition pour aller à l’état suivant. Autrement dit il s’agit d’un compteurmodulo N+1 si GO est toujours actif.

Plutôt que d’utiliser une méthode systèmatique de synthèse de machines à états, qui débouche-rait sur un grand nombre d’états (300 états pour obtenir 5mn avec une horloge d’1s de période),il suffit de considérer la structure d’un compteur binaire (cf chapitre 7 page 111 suivi d’un com-parateur (cf chapitre 2 page 35). Ce compteur est mis à 0 (correspondant à l’état Arrêt = 0) parGO et le codage des états est tel que les sorties du compteur correspondent aux bits codant l’état.La figure 8.19 représente la structure du minuteur. Le signal R agit sur le Reset asynchrone desbascules. Il aurait pu être supprimé du fait que GO effectue un Reset synchrone.

Fig. 8.19: Schéma d’un minuteur

Plutôt que d’utiliser 3 minuteurs, il est possible d’avoir un seul minuteur en utilisant en entréele temps d’attente. Dans ce cas l’interface avec l’extérieur dispose de 2 signaux supplémentairesSEL1 et SEL0 permettant de programmer le minuteur comme indiqué dans le tableau 8.6. Laspécification de la machine à état principale doit donc changer légèrement afin de :

• Sortir SEL1, SEL0 et GO plutôt que 3 signaux GO séparés• Avoir en entrée un seul signal C − x à la place de C5, C10 et C30

SEL1 SEL0 Mode de programmation

0 0 5mn

1 x 10mn

0 1 30mn

Tab. 8.6: Spécification de la programmation du minuteur

Bien entendu les sorties de la machine à états principales doivent être modifiées en conséquence.Il existe toutefois un problème dans la machine à état principale car il n’ y a pas d’état permettantde remettre le signal GO à 0 , par exemple entre l’état Lavage et l’état Rinage pour programmerle minuteur de C10 à C30.

Une solution consiste à rajouter des états dans la machine à état principale, de façon à mettrele signal GO à 0. Par exemple il y aurait l’état Lavage− bis tout de suite après Lavage , identiqueà Lavage mais avec GO à 0.

Une autre solution, certainement plus optimale en temps de développement, consiste à générerun signal de remise à zéro , RAZ, du minuteur lorsqu’il y a eu un changement sur les entrées SEL1ou SEL0. Au vu de la séquence nécessaire (C10 → C30 → C10 → C5) , il suffit de détecter le

Page 142: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

8.5. LA CONCEPTION D’UNE MACHINE À ÉTATS 141

changement uniquement sur SEL1 car SEL0 ne change pas sur les transitions. Pour ce faire il suffitde comparer l’ancienne valeur de SEL1 avec la nouvelle et mettre à zéro le minuteur si les 2 valeurssont différentes. la figure 8.20 illustre le schéma du minuteur générique gérant automatiquementles changements de programmation.

Fig. 8.20: Schéma d’un minuteur générique avec RAZ automatique

Page 143: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

142 CHAPITRE 8. MACHINES À ÉTATS

Page 144: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 9

Des machines à états aux processeurs

9.1 Introduction

9.1.1 Objectifs

Le but de ces deux leçons-TD est de• vérifier que les principes des machines à états sont bien assimilés,• introduire la notion de microprocesseur, à partir d’exemples progressifs et simples,• concevoir un microprocesseur simple, d’architecture RISC, que vous réaliserez physiquement

lors du prochain TP (voir 21 page 221).Pour cela, nous allons procéder par étapes, et le construire petit à petit. . .

9.1.2 Introduction

Les processeurs ne sont rien d’autres que des machines à calculer (un peu évoluées) program-mables. Imaginez que vous êtes comptable, et que vous ayez à effectuer une série d’opérations qu’onvous a gentiment inscrites sur une feuille de papier. Voici un exemple d’instructions qu’on peutvous avoir donné :

1. faire 112 + 32. faire 4 + 53. faire 2 + 164. . . .

Un exemple un peu plus compliqué serait :

1. faire 112 + 22. faire “résultat précédent” * 53. . . .

ou bien

143

Page 145: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

144 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

1. 112 + 32. résultat précédent - 43. si le résultat est nul, passer à l’étape 6, sinon continuer4. 3 * 45. résultat précédent + 96. ouvrir la fenêtre7. résultat de l’étape 2 - 158. passer à l’étape 129. . . .

Un microprocesseur est un dispositif électronique qui pourrait faire ce travail à votre place,pourvu qu’on lui donne la feuille de papier (et de l’énergie).

9.1.3 Instructions et donnéesLes séries d’opération ci-dessus sont appelées programme. En d’autres termes, un programme de

microprocesseur est juste une liste d’opérations à effectuer. Dans notre cas, où le microprocesseurest simple1, les instructions resteront simples. Si le processeur est plus complexe, incluant despériphériques multiples (gestionnaire de mémoire, entrées-sorties, . . . ), les instructions peuventdevenir complexes, comme c’est le cas dans les processeurs CISC2.

Dans les suites d’opérations ci-dessus, on distingue deux types d’objets :• les données :

– d’abord les opérandes proprement dits (“3”, “4”, “112”, . . . ),– et les opérandes implicites (“résultat précédent”, “résultat de l’étape 2”, . . . ) ;

• les instructions :– pour nous ce sont principalement les opérations (au sens arithmétique du terme) à effectuer

(“+”, “−”, “∗”, “/”...),– il y a aussi des tests (“si le résultat précédent est nul...”),– et des sauts, conditionnés par un test (“alors passer à l’étape 6”) ou non (“passer à l’étape

12”)– ainsi que des instructions spéciales (“ouvrir la fenêtre”).

Dans notre cas, une instruction de ce genre pourrait être “mettre en marche le buzzer”, ou“allumer la LED numéro 10”...

Notez que ces suites d’opérations sont numérotées : elles ont un ordre. Dans le premier exemple,l’ordre n’a pas tellement d’importance, mais il en a une dans le deuxième et le troisième quand onparle de “résultat précédent”, d’“étape 6”, . . .

9.1.4 de la feuille à l’électroniquePassons du comptable et de la feuille de papier aux composants électronique.La feuille de papier a un rôle de mémorisation :• c’est sur elle qu’est écrite la suite d’opérations à effectuer,• c’est probablement aussi sur elle que seront écrit les résultats.Nous la modéliserons par une mémoire vive, une RAM. Vous avez déjà vu ce genre de composant

au lors du TD sur les bascules et la mémorisation ( 14 page 181). C’est cette RAM qui stockerales instructions à effectuer, les données, ainsi que les résultats que le microprocesseur va calculer.Le microprocesseur sera donc relié à cette RAM, et ira lire les instructions à effectuer, selon leprincipe suivant :

1. aller lire la première ligne (instructions et données associées)2. faire ce qui est indiqué3. aller lire la ligne suivante (instructions et données associées)1et plus généralement pour tous les processeurs dits RISC2Complex Instruction Set, par opposition à RISC : Reduced Instruction Set

Page 146: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.1. INTRODUCTION 145

4. faire ce qui est indiqué5. revenir à l’étape 3 (etc. jusqu’à ce que mort s’ensuive...)

Première remarque : le microprocesseur doit lire les lignes une par une. Il doit donc maintenirun compteur de ligne interne qui indique la ligne courante (ou la prochaine ligne à lire, comme celanous arrangera).

Deuxième remarque : le processeur est un dispositif électronique qui ne comprend que dessuites de bits. Il faudra donc coder les instructions sur un nombre de bit suffisant pour codertoutes les instructions dont nous aurons besoin. Les données naturelles (les chiffres) seront codéesde façon normale (en complément à 2, voir 3 page 49), et il faudra trouver un moyen de coder lesdonnées implicites.

Troisième remarque : dans notre architecture, la RAM stockera les données et les instructionsde façon imbriquée. Il est possible d’utiliser deux RAM différentes, ou des zones distinctes, maisvous verrez cela en détail dans le module ARSE !

9.1.5 Interlude rappel : fonctionnement de la RAM

Le schéma de la RAM est donné en figure 9.1.

Fig. 9.1: Symbole de la RAM

La RAM possède trois bus :• un bus d’adresses, ADDRESS[7 : 0] indiquant l’emplacement en mémoire de la donnée à

laquelle on accède,• un bus de donnée, D[7 : 0], pour les données qu’on écrit en RAM,• un bus de donnée, Q[7 : 0], pour les données qu’on va lire en RAM,

ainsi que• un signal de contrôle sur 1 bit, WRITE, indiquant si on est entrain de faire une lecture dans

la RAM (WRITE = 0), ou une écriture (WRITE = 1).Le fonctionnement de la RAM est le suivant :• la RAM sort en permanence sur Q[] la donnée stockée à l’adresse présente sur ADRESSE[]

(après, Q[], on en fait ce qu’on veut... Si on n’a pas envie de l’utiliser, on l’ignore),• si WRITE est actif (1), la valeur présente sur D[] est stockée à l’adresse présente surADRESSE[],

• si WRITE est inactif (0), D[] est ignoré.• De plus, pendant que WRITE est actif, le bus Q[] prend la même valeur de D[].Pour les chronogrammes, on se reportera à la figure 9.2 page suivanteNous relierons notre microprocesseur (automate) à une RAM pouvant stocker 256 mots de 8

bits chacun :• 8 bits : les lignes de données D[] seront un bus 8 bits• 256 mots : il nous faudra donc 8 lignes d’adresse (pour coder une adresse allant de 0 à 255)L’architecture globale, qui nous re-servira en TP est donc la suivante (voir figure 9.3 page

suivante :

Page 147: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

146 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

Fig. 9.2: Exemple d’accès à la RAM

• notre microprocesseur• la RAM, reliée au processeur par ses bus de données, adresses et la ligne de WRITE• un buzzer qui servira à jouer de la musique

Fig. 9.3: schéma global

9.2 Étape 1 : automate linéaire basique

Dans cette première étape, nous n’implémenterons que les instructions et données du premierexemple. Le processeur est donc relié à une mémoire vive (RAM) stockant 256 mots de 8 bits.

9.2.1 Organisation de la mémoire

On suppose que le programme (opérations à effectuer) ainsi que les données sont déjà chargéesdans la mémoire, et qu’ils respectent le format suivant :

adresse type du mot stocké exemple

0 instruction +

1 donnée (premier opérande) 3

2 donnée (deuxième opérande) 4

3 donnée (résultat) X

4 instruction -

5 donnée (premier opérande) 12

6 donnée (deuxième opérande) 8

7 donnée (résultat) X

Le “X” indique que la RAM ne contient rien de valide à cet endroit là. C’est au microproces-seur d’aller y écrire le résultat correct. Après avoir lancé le microprocesseur, le contenu de la RAMsera donc le suivant (on indique en gras les endroits de la RAM qui ont changé) :

Page 148: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.2. ÉTAPE 1 : AUTOMATE LINÉAIRE BASIQUE 147

adresse type du mot stocké exemple

0 instruction +

1 donnée (premier opérande) 3

2 donnée (deuxième opérande) 4

3 donnée (résultat) 7

4 instruction -

5 donnée (premier opérande) 12

6 donnée (deuxième opérande) 8

7 donnée (résultat) 4

Remarques :• le microprocesseur doit commencer son exécution à l’adresse 0 de la mémoire,• on part donc du principe qu’on aura donc toujours une instruction à l’adresse 0 de la mémoire,• et qu’on aura toujours en mémoire une instruction, puis l’opérande 1, puis l’opérande 2, puis

un octet pour stocker le résultat

9.2.2 Les instructions

Elles seront (pour l’instant) au nombre de deux :

code (binaire sur 8 bits) instruction

00000100 addition

00000110 soustraction

Ces opérations arithmétiques opèrent sur des nombres de 8 bits, représentant des entiers nonsignés. Les instructions étant stockées en RAM, il est nécessaire de les coder. Comme la RAM stockedes mots de 8 bits, ça nous donne 256 instructions possibles, ce qui est largement suffisant pourun processeur basique... Le code choisi ci-dessus pour l’addition et la soustraction est parfaitementarbitraire : il correspond à celui qui sera implémenté en TP.

9.2.3 Fonctionnement de l’automate

Vu l’organisation de la RAM qui a été choisie, le fonctionnement de l’automate est simple :à chaque coup d’horloge, il va chercher successivement une instruction, puis le premier opérande,puis le deuxième opérande, calcule le résultat et le stocke. Puis il recommence à l’adresse suivante.

En détail :

1. Premier coup d’horloge : le microprocesseur présente l’adresse “0” à la RAM.La RAM lui présente donc sur son bus de sortie le contenu de l’adresse 0, qui est la premièreinstruction.

2. Deuxième coup d’horloge : le microprocesseur incrémente l’adresse qu’il présente à la RAM(“1”).La RAM lui présente donc sur son bus de sortie le contenu de l’adresse 1, qui est le premieropérande.

3. Troisième coup d’horloge : le microprocesseur incrémente l’adresse qu’il présente à la RAM(“2”).La RAM lui présente donc sur son bus de sortie le contenu de l’adresse 2, qui est la deuxièmeopérande.A ce moment là, le microprocesseur dispose de toutes données nécessaire au calcul : l’instruc-tion, et les deux opérandes. Il peut donc calculer le résultat.

Page 149: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

148 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

4. Quatrième coup d’horloge : le microprocesseur incrémente l’adresse qu’il présente à la RAM(“3”).Parallèlement, il présente sur le bus de donnée en entrée de la RAM le résultat qu’il vient decalculer.Parallèlement, il passe la ligne WRITE de la RAM à l’état haut, pour dire à la mémoire qu’ildésire effectuer une écriture.Le résultat du calcul est donc à ce moment là écrit à l’adresse “3” de la mémoire.

5. Cinquième coup d’horloge : le microprocesseur incrémente l’adresse qu’il présente à la RAM(“4”).La RAM lui présente donc sur son bus de sortie le contenu de l’adresse 4, qui est la deuxièmeinstruction.

6. etc...

Question 1 : concevoir l’architecture de cet automate.On ne demande pas une représentation de toutes les portes logique de l’automate, mais juste

une représentation de haut niveau : vous disposez de registres, de boites combinatoires dont vousne donnerez que les équations, de multiplexeurs, de compteurs, etc.

Réponse 1 : elle se trouve en section 9.7 page 152

9.3 Étape 2 : automate avec accumulateur

9.3.1 Chaînage des opérationsL’architecture actuelle ne permet pas de chaîner les calculs (exemple : 3 + 4 + 5). Pour pouvoir

le faire, il y a plusieurs possibilités. . .

Question 2 : lesquelles ?

Réponse 2 : elle se trouve en section 9.8 page 156

9.3.2 L’accumulateurNous allons doter notre processeur d’un registre interne sur 8 bits, que nous appellerons accu-

mulateur. Toutes les opérations arithmétiques à deux opérandes s’effectueront entre l’accumulateuret une donnée en RAM. Plus précisément : pour effectuer “3 + 4” et stocker le résultat en RAM, leprocesseur effectuera les instructions suivantes :

1. chargement de 3 dans l’accumulateur2. addition de l’accumulateur avec un opérande en RAM (“4”)3. stockage du contenu de l’accumulateur en RAMPour effectuer “3 + 4 + 5” :1. chargement de 3 dans l’accumulateur2. addition de l’accumulateur avec un opérande en RAM (“4”)3. addition de l’accumulateur avec un opérande en RAM (“5”)4. stockage du contenu de l’accumulateur en RAMOn ajoute donc deux instructions à notre processeur :• load : chargement de l’accumulateur à partir de la RAM• store : stockage du contenu de l’accumulateur dans la RAMParallèlement, les instructions d’addition et de soustraction n’ont plus besoin que d’un seul

opérande - le deuxième opérande est dans l’accumulateur.De plus, tant qu’on y est, nous allons ajouter trois instructions de manipulation de bits : AND,

OR et XOR (cf. le tableau 9.1 page suivante), qui comme l’addition, opèrent sur le contenu del’accumulateur et un opérande en RAM.

Le nouveau jeu d’instruction devient donc :

Page 150: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.4. ÉTAPE 3 : AUTOMATE AVEC ACCUMULATEUR ET INDIRECTION 149

code (binaire sur 8 bits) instruction effet

00000001 XOR Effectue un XOR bit à bit entre le contenu de l’ac-cumulateur et une donnée en RAM ; le résultat eststocké dans l’accumulateur

00000010 AND Effectue un ET bit à bit entre le contenu de l’ac-cumulateur et une donnée en RAM ; le résultat eststocké dans l’accumulateur

00000011 OR Effectue un OU bit à bit entre le contenu de l’ac-cumulateur et une donnée en RAM ; le résultat eststocké dans l’accumulateur

00000100 addition Additionne le contenu de l’accumulateur à une don-née en RAM ; le résultat est stocké dans l’accumula-teur

00000110 soustraction Soustrait du contenu de l’accumulateur une donnéeen RAM ; le résultat est stocké dans l’accumulateur

00001010 load Charge dans l’accumulateur une donnée en RAM

00001011 store Stocke le contenu de l’accumulateur en RAM

Tab. 9.1: Nouveau jeu d’instructions

Question 3 : quel est l’impact de ces spécifications sur la façon de stocker le programme enRAM ?

Question 4 : concevoir la nouvelle architecture du processeur. Quels sont les avantages en termede vitesse par rapport à l’architecture précédente ?

Réponses 3 et 4 : elles se trouvent en section 9.9 page 156

9.4 Étape 3 : automate avec accumulateur et indirection

9.4.1 IndirectionImaginez qu’on souhaite séparer le code des données, pour :• faire tourner un même code sur des données différentes (sans le dupliquer pour chaque set de

donnée...)• faire tourner différents codes sur des mêmes données (sans dupliquer les sets de données...)• faire tourner un code sur des données qui ne sont pas connues avant l’exécution du programme

(du genre, le début du programme demande à l’utilisateur d’entrer des valeurs...)Pour le moment, notre processeur ne sait pas faire : on doit connaître les données au moment

du pré-chargement de la RAM avec le code...Il faudrait disposer d’instructions de manipulation du contenu de la RAM à des endroits arbi-

traires (on ne modifierait que des données, hein, pas le code...) Cela permettrait d’aller modifierles zones où se trouvent les opérandes. Mais c’est peut-être un peu compliqué d’avoir à modifierplein de zones éparses.

Pour être plus propre, on pourrait séparer le code des données. On aurait, en RAM, une zoneavec les instructions et une zone avec les données. Il suffirait juste d’aller modifier la zone desdonnées, et d’exécuter le code générique qui saurait, pour chaque instruction, où trouver les bonsopérandes.

Pour cela, on modifie (toutes) les instructions de la façon suivante : au lieu d’avoir en RAMdeux octets instruction - opérande, on aura plutôt instruction - adresse de l’opérande.

Par exemple, pour effectuer “3 + 4, 3 − 1” on pourra voir une organisation du genre (voirtableau 9.2 page suivante :

Page 151: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

150 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

adresse type du mot stocké exemple zone

0 instruction load

1 adresse de l’opérande 100

2 instruction +

3 adresse de l’opérande 101

4 instruction store

5 adresse de l’opérande 103

6 instruction load zone de code

7 adresse de l’opérande 100

8 instruction -

9 adresse de l’opérande 102

10 instruction store

11 adresse de l’opérande 104

. . . . . . . . .

100 donnée 3

101 donnée 4

102 donnée 1 zone de données

103 donnée X

104 donnée X

. . . . . . . . .

Tab. 9.2: Organisation de la mémoire, avant exécution du programme

Après l’exécution du code, on aura ceci en RAM (voir tableau 9.3 page ci-contre :Remarque : d’habitude on sépare même la zone de données en deux, celles qui sont connues à

l’écriture du programme, et les autres (celles qui sont modifiées par le programme)...

Question 5 : proposer une modification de l’automate pour que les instructions travaillent avecdes adresses d’opérandes...

Réponse 5 : elle se trouve en section 9.10 page 159

9.5 Étape 4 : processeur RISCL’architecture actuelle ne sait effectuer que des calculs linéaires (suite fixe d’instructions), sur

des données potentiellement inconnues (mais dont l’adressage de stockage est connue).Nous allons maintenant lui ajouter des instructions de saut conditionnels (et, tant qu’on y est,

inconditionnels).

9.5.1 FlagsPour cela, chaque opération (logique ou arithmétique) va positionner deux signaux devant être

mémorisés pour l’instruction suivante, qui ne doivent être modifiés que si on modifie l’accumulateur :• C (comme carry) :

– mis à 1 si l’opération courante est une opération arithmétique et donne lieu à une retenue,– mis à 0 si l’opération courante est une opération arithmétique et ne donne pas lieu à une

retenue,– mis à 0 si on fait un load

Page 152: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.5. ÉTAPE 4 : PROCESSEUR RISC 151

adresse type du mot stocké exemple zone

0 instruction load

1 adresse de l’opérande 100

2 instruction +

3 adresse de l’opérande 101

4 instruction store

5 adresse de l’opérande 103

6 instruction load zone de code

7 adresse de l’opérande 100

8 instruction -

9 adresse de l’opérande 102

10 instruction store

11 adresse de l’opérande 104

. . . . . . . . .

100 donnée 3

101 donnée 4

102 donnée 1 zone de données

103 donnée 7

104 donnée 2

. . . . . . . . .

Tab. 9.3: Organisation de la mémoire, après exécution du programme

• Z (comme zéro) :– mis à 1 si on charge 0 dans l’accumulateur– mis à 0 dans tous les autres cas.

Question 6 : les implémenter, et rajouter deux opérations ADDC et SUBC, prenant en comptela retenue C de l’opération précédente (pour implémenter des additions / soustractions sur desgrands nombres par exemple).

Réponse 6 : elle se trouve en section 9.11 page 160

9.5.2 Sauts

Pour implémenter les sauts, on définit trois instructions supplémentaires :• JMP : saut inconditionnel.

L’exécution de cette instruction fait sauter l’exécution du programme directement à uneadresse donnée (passée comme opérande).

• JNC : saut si C est nul.Idem à JMP, mais seulement si C est nul. Sinon, équivalent à NOP (on continue à l’adressesuivante)

• JNZ : saut si Z est nul.Idem à JMP, mais seulement si Z est nul. Sinon, équivalent à NOP (on continue à l’adressesuivante)

Question 7 : modifier l’architecture du processeur pour implémenter les sauts.

Page 153: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

152 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

Réponse 7 : elle se trouve en section 9.12 page 160

Tant qu’on y est, pour disposer de pauses, on définit l’instruction NOP, qui ne fait rien.

Question 8 : comment l’implémenter de façon simple ?

Réponse 8 : elle se trouve en section 9.13 page 162On ajoute aussi deux instructions, de rotation de bits (vers la droite ou vers la gauche) :• ROL : ACC[7 :0] devient ACC[6 :0], ACC[7]• ROR : ACC[7 :0] devient ACC[0], ACC[7 :1]De plus, pour tester ce processeur lors du TP, on ajoute un port de sortie : c’est un ensemble

de broches dont on veut pouvoir piloter l’état (passer certaines d’entre elles à l’état haut ou bas).Pour nous, il s’agit de piloter un buzzer, donc une seule sortie suffira.

Le jeu d’instruction devient donc (tableau 9.4 page suivante) :Remarques :• AD est le deuxième octet (en RAM) de l’instruction• (AD) est la valeur en RAM stockée à l’adresse AD

Question 9 : finir le processeur. . .

Réponse 9 : elle se trouve en section 9.14 page 162

9.6 Étape 5 : optimisationsQuestion : Certaines opérations peuvent s’exécuter en moins de cycles. Lesquelles, en combiende cycles ? Modifier le processeur de façon à optimiser son temps de fonctionnement.

Question : partant du principe que certaines opérations n’ont pas besoin d’opérande (NOP,ROT, ROR), pourquoi ne pas réduire la taille du code en RAM ?

Question : on veut non seulement augmenter le nombre de sorties, disons à 16, mais aussi àpouvoir utiliser certaines d’entre elles non pas comme des sorties mais comme des entrées. Et ce,de façon dynamique : au cours du programme, une broche peut devenir un sortie, puis une entrée,puis une sortie etc. Comment l’implémenter ?

Question : comment modifier le processeur pour supporter une taille mémoire de 161024 mots(10 bits) ?

9.7 Réponse 1La première réponse est très détaillée. Les autre réponses seront plus succinctes.

9.7.1 Les adressesPour effectuer un calcul, l’automate doit disposer de trois informations :• l’instruction (l’opération)• l’opérande 1• l’opérande 2Plus que ça, il doit en disposer en même temps. Mais elles sont stockées en RAM, et ne peuvent

être lues que l’une après l’autre. Il faudra donc prévoir un moyen de stockage de ces trois informa-tions à l’intérieur du processeur pour pouvoir effectuer le calcul.

Vu l’organisation de la mémoire, il semble logique de lire ces trois informations de la façon laplus simple possible, c’est à dire :

Page 154: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.7. RÉPONSE 1 153

code

(binaire sur 8 bits)instruction effet explication

00000000 NOP ne fait rien !

00000001 XOR Acc = Acc XOR (AD) effectue un XOR bit à bit entre lecontenu de l’accumulateur et une don-née en RAM, le résultat est stocké dansl’accumulateur

00000010 AND Acc = Acc AND (AD) effectue un ET bit à bit entre le contenude l’accumulateur et une donnée enRAM, le résultat est stocké dans l’ac-cumulateur

00000011 OR Acc = Acc OR (AD) effectue un OU bit à bit entre le contenude l’accumulateur et une donnée enRAM, le résultat est stocké dans l’ac-cumulateur

00000100 ADD Acc = Acc + (AD) additionne le contenu de l’accumulateurà une donnée en RAM, le résultat eststocké dans l’accumulateur

00000101 ADC Acc = Acc + (AD) + C additionne le contenu de l’accumulateurà une donnée en RAM et à la carry C, lerésultat est stocké dans l’accumulateur

00000110 SUB Acc = Acc - (AD) soustrait du contenu de l’accumulateurune donnée en RAM, le résultat est sto-cké dans l’accumulateur

00000111 SBC Acc = Acc - (AD) - C soustrait du contenu de l’accumulateurune donnée en RAM et la carry C, lerésultat est stocké dans l’accumulateur

00001000 ROL Acc = Acc[6 :0], Acc[7] effectue une rotation vers la gauche desbits de l’accumulateur

00001001 ROR Acc = Acc[0], Acc[7 :1] effectue une rotation vers la droite desbits de l’accumulateur

00001010 LDA Acc = (AD) charge dans l’accumulateur une donnéeen RAM

00001011 STA (AD) = Acc stocke le contenu de l’accumulateur enRAM

00001100 OUT BZ = (AD)[0] Sort sur la broche BZ le bit de poidsfaible de la donnée en RAM, stockée àl’adresse opérande

00001101 JMP PC = AD saute à l’adresse opérande

00001110 JNC PC = AD si C=0 saute à l’adresse opérande si C est nul,ne fait rien sinon

00001111 JNZ PC = AD si Z=0 saute à l’adresse opérande si Z est nul,ne Afait rien sinon

Tab. 9.4: Nouveau jeu d’instructions

• tout d’abord l’instruction,• puis l’opérande 1,

Page 155: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

154 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

• puis l’opérande 2,ce qui correspond à un parcours linéaire de la mémoire.

De plus, le stockage du résultat s’effectue dans la RAM à l’adresse suivant celle de l’opérande 2.On peut donc doter l’automate d’un compteur qu’on appellera compteur d’adresse ou PC (ProgramCounter), qui donnera l’adresse de la RAM à laquelle on est en train d’accéder (que ce soit en lectureou en écriture). Ce compteur sera incrémenté à chaque coup d’horloge, et pilotera directement lebus d’adresse de la RAM.

9.7.2 Les données

Vu ce qui vient d’être dit, l’automate a un fonctionnement linéaire - l’ordre des actions effectuéesest toujours le même :

1. chercher une instruction2. chercher le premier opérande3. chercher la deuxième opérande4. stocker le résultat du calculOn peut donc le concevoir comme une machine à quatre états, dont le fonctionnement est

circulaire : état 1 → état 2 → état 3 → état 4 → état 1 → état 2 → . . .

État 1 :• le compteur est en train de présenter à la RAM une adresse correspondant à une instruction.

Le processeur récupère sur le bus Q[7 :0] la contenu de la RAM à cette adresse, c’est à direl’instruction à effectuer.

• il faut stocker cette instruction pour plus tard (quand on effectuera l’opération demandée).On ajoute donc à l’automate un registre sur 8 bits disposant d’un enable (8 bascules DFFEen parallèle).L’entrée de ce registre est reliée au bus Q[7 :0] (sortie de la RAM)Le signal d’enable de ce registre est mis à l’état haut seulement pendant l’état 1 –> stockagede l’instruction dans le registre

État 2 :• le compteur est en train de présenter à la RAM une adresse correspondant aux premier

opérande.le processeur récupère sur le bus Q[7 :0] la contenu de la RAM à cette adresse, c’est à direl’opérande 1. . .

• il faut stocker cet opérande, donc re-belotte, on ajoute un registre 8 bits avec enable, relié àla sortie de la RAM (Q[7 :0]).l’enable est mis à l’état haut seulement pendant l’état 2.

État 3 :• le compteur est en train de présenter à la RAM une adresse correspondant aux deuxième

opérande.le processeur récupère sur le bus Q[7 :0] la contenu de la RAM à cette adresse, c’est à direl’opérande 2. . .

• comme d’habitude on stocke cet opérande dans un registre 8 bits, dont l’enable est piloté àl’état haut seulement pendant ce cycle-ci.

Remarque : on peut se dire que ce n’est pas la peine de stocker cet opérande, car on dispose dèsà présent de toutes les données pour effectuer le calcul : l’instruction dans un registre, l’opérandedans un autre registre, et le deuxième opérande sur le bus Q[7 :0]. Mais il faudrait alors stocker lerésultat dans un registre 8 bits, car on ne fait son stockage en RAM qu’au prochain cycle. . . Alorsqu’ici, le calcul et le stockage seront faits en bloc au prochain cycle (donc pas besoin de stocker lerésultat dans un registre). Au total, dans les deux approches, le nombre de registres est le même,et ce ne sont que des considérations de chemin critique qui permettront de déterminer la meilleuredes deux méthodes. . .

Page 156: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.7. RÉPONSE 1 155

État 4 :• le compteur est en train de présenter à la RAM une adresse correspondant au résultat à

stocker.• l’automate dispose dans ses trois registres de toutes les données pour effectuer le calcul. Il

suffit d’ajouter une fonction combinatoire pure, pour produire le résultat.La sortie de cette fonction combinatoire sera reliée au bus d’entrée de la RAM.L’équation de cette fonction sera du genre : RES[7:0] = (si INSTRUCTION="00000100" :OP_1[7:0] + OP_2[7:0], sinon OP_1[7:0] - OP_2[7:0])Une telle fonction combinatoire a été réalisée au TP n2. . . (ALU)

• Parallèlement, l’automate doit piloter le signal WRITE de la RAM à l’état haut, pour dire àla RAM de stocker à l’adresse courante la sortie de la fonction de calcul.

On obtient donc l’architecture suivante pour notre processeur :• En rouge : le compteur d’adresse courante• En bleu : les trois registres 8 bits, les signaux load sont les enable• En noir rond : la fonction combinatoire de calcul proprement dite (ALU)• En noir carré : la machine à état qui séquence tout ça. . .La machine à états (CTRL) est présentée en figure 9.4, et son graphe d’états en figure 9.5

Fig. 9.4: Architecture de la première version

Fig. 9.5: Graphe d’états de la première version

Elle a quatre état, parcourus de façon linéaire, sans condition sur les transitions.Elle dispose de 4 sorties, chacune d’entre elles à l’état haut dans un seul état de la machine.

Un codage one-hot est donc très approprié.

Page 157: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

156 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

L’implémentation en registre a déjà été vue (registres les uns à la suite des autres), et ne serapas détaillée ici. Les sorties des registres donnent directement les sorties de la machine à état. . .

9.8 Réponse 2

Plusieurs possibilités, leur nombre est limité seulement par votre imagination. Voici quelquesexemples :

• Garder le résultat de chaque opération en mémoire, et définir une nouvelle addition qui opèresur un opérande en RAM et celle qu’on a gardé.L’inconvénient est qu’on rajoute une instruction pour chaque type d’opération, que cettenouvelle opération, ne nécessitant qu’un seul opérande en RAM pourra être effectuée en 3cycles au lieu de 4, et que ça risque de compliquer la machine à état si on veut l’optimiser(certaines opération en 3 cycles, d’autres en 4). . .

• Définir des opérations de manipulation de la RAM, et grâce à elles recopier le résultat en RAMà l’endroit d’une des deux opérandes de la prochaine instruction. C’est bien compliqué. . .

• Définir une nouvelle addition qui opère sur un opérande à l’endroit habituel en RAM, et surun autre opérande situé à l’adresse (instruction - 1). . .

• Utiliser la première solution, mais pour simplifier les choses (et par cohérence) supprimerles opérations sur deux opérandes en RAM. Toutes les opérations (à deux opérandes) seferont entre un opérande en RAM, et un gardé dans un registre interne au processeur. Etpour rendre cela possible, on définit deux nouvelles instructions : chargement de ce registreà partir d’une donnée en RAM, et stockage du contenu de ce registre en RAM. C’est l’objetde la suite !

9.9 Réponses 3 et 4

Chaque opération ne nécessite plus qu’un seul opérande :• pour le load, c’est normal !• pour le store, aucun opérande. Par contre, en RAM, à la suite de l’instruction store, il doit y

avoir un emplacement libre pour stocker le contenu de l’accumulateur• pour les opération à deux opérandes, l’un est en RAM, l’autre est interne à l’automate (c’est

l’accumulateur)Le contenu de la RAM se présentera donc maintenant ainsi :

adresse type du mot stocké exemple effet

0 instruction load

1 donnée 3 l’accumulateur contient maintenant 3

2 instruction +

3 donnée 4 l’accumulateur contient maintenant 7

4 instruction -

5 donnée 1 l’accumulateur contient maintenant 6

6 instruction store

7 donnée X après l’exécution du programme cet emplacement enRAM contiendra “6”

On remarque donc qu’une adresse sur deux contient une instruction, une sur deux contient unedonnée (soit opérande, soit stockage du contenu de l’accumulateur). . .

Page 158: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.9. RÉPONSES 3 ET 4 157

9.9.1 Les adressesComme précédemment, les adresses de la RAM sont parcourues de façon linéaire. On garde

donc le compteur d’adresse incrémenté à chaque cycle d’horloge.

9.9.2 Les donnéesPour effectuer les calculs, le processeur n’a plus besoin de connaître que deux informations :

l’instruction et l’opérande. On garde donc le registre d’instruction (8 bits) qui stocke l’instructionà effectuer pendant qu’on va chercher l’opérande en RAM.

Par contre, auparavant on parcourait 4 emplacements en RAM pour chaque instructions, d’oùune machine à états à 4 cycles. Maintenant on ne parcourt plus que 2 emplacements en RAM, doncune machine à état à 2 cycles devrait convenir. . .

A chaque instruction, le processeur effectuera ceci :Pour une opération normale :1. aller chercher l’instruction en RAM, la stocker dans le registre d’instruction2. aller lire l’opérande en RAM, effectuer le calcul et stocker le résultat dans l’accumulateur

(opération)Pour un load :1. aller chercher l’instruction en RAM, la stocker dans le registre d’instruction2. aller lire l’opérande en RAM, et le stocker dans l’accumulateur (opération)Pour un store :1. aller chercher l’instruction en RAM, la stocker dans le registre d’instruction2. écrire le contenu de l’accumulateur en RAM à l’adresse couranteChaque instruction est donc traitée de façon très similaire :1. un cycle de récupération de l’instruction (dans lequel l’enable du registre d’instruction est

mis à l’état haut).2. un cycle de traitement de l’instruction

9.9.3 L’accumulateurLors du second cycle, l’accumulateur peut subir trois traitements différents :• pour une opération (+, −, AND, XOR, OR), l’accumulateur se voit modifié et chargé avec

le résultat de l’opération• pour un load, l’accumulateur est modifié aussi, et chargé avec la donnée sortant de la RAM• pour un store par contre, l’accumulateur n’est pas modifié. . .En entrée de l’accumulateur on mettra donc un multiplexeur qui présentera soit le résultat

de l’opération en cours (si on exécute une opération standard), soit le contenu de la RAM (si onexécute un load). De plus, dans ces deux cas, le signal enable de l’accumulateur sera mis à l’étathaut (pour autoriser sa modification) dans l’état 2 (quand on accède à la partie donnée de la RAM)Dans le cas d’un store, on laisse l’enable de l’accumulateur à l’état bas pour ne pas le modifier.

En d’autre termes, l’enable de l’accumulateur a pour équation : LOAD_ACC = (Instruction <>STORE) ET (Etat = état 2)

Le pilotage du multiplexeur en entrée de l’accumulateur aura pour équation quelque chose dugenre : ACC = (si Instruction == LOAD alors Q[7:0], si Instruction == opération alorsALU(ACC, Q[7:0]), si Instruction == STORE alors peu importe...). Ce qui se simplifie enACC = (si Instruction == LOAD alors Q[7:0], sinon ALU(ACC, Q[7:0]))

la sortie de l’accumulateur est branchée en même temps• sur le bus d’entrée de la RAM (pour le cas ou on fait un store)• sur l’ALU (qui implémente, selon l’instruction à effectuer, l’addition, la soustraction, le XOR,

etc. . . )Enfin la génération du signal d’écriture en RAM est simple : il est mis à l’état haut quand

l’instruction est un STORE, et qu’on est dans l’état 2. Le contenu de l’accumulateur est présentésur l’entrée de la RAM (cf. ci dessus), l’adresse courante est sur le bus d’adresse de la RAM, laRAM est donc mise à jour avec la bonne valeur. . .

Page 159: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

158 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

9.9.4 BilanOn a donc les éléments suivants :• compteur d’adresse (PC)• registre d’instruction• accumulateur avec multiplexeur en entrée• une machine à état générant les signaux LOAD_I, LOAD_ACC, WRITE et le contrôle

du multiplexeurRemarque : les signaux générés par la machine à état ne dépendent pas seulement de l’état

courant, mais aussi de l’instruction à exécuter. C’est donc une machine de Mealy. . .L’architecture globale est donc celle représentée sur la figure 9.6, et son graphe d’états en

figure 9.7

Fig. 9.6: Architecture de la deuxième version

Fig. 9.7: Graphe d’états de la deuxième version

avec :• SEL_ACC = (I[7:0] == LOAD)• LOAD_ACC = (I[7:0] <> STORE) ET (Etat = état 2)• WRITE = (I[7:0] == STORE) ET (Etat = état 2)

9.9.5 PerformancesPour une opération :• avant : 4 cycles• maintenant : 6 cycles (2 + 2 + 2)

Page 160: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.10. RÉPONSE 5 159

Pour deux opérations chaînées :• avant : 8 cycles (4 + 4. Enfin, plus exactement, on ne savait pas faire. . . )• maintenant : 8 cycles (2 + 2 + 2 + 2)Pour trois opérations chaînées :• avant : 12 cycles (4 + 4 + 4. Même remarque)• maintenant : 10 cyclesBref, pour n opérations :• avant : 4n cycles• maintenant : 2n+4 cycles si peut les enchaîner, 3n sinon.On a donc tout intérêt à enchaîner les calculs. Ce qui est très souvent le cas en pratique. . .

9.10 Réponse 5L’automate doit maintenant pour chaque instruction• aller chercher l’instruction (la stocker dans le registre d’instruction)• aller chercher l’adresse de l’opérande (le stocker, dans un registre dit "d’adresse")• aller chercher l’opérande proprement dit, en lisant la RAM à l’adresse stockée au cycle pré-

cédent.On a donc une machine qui possède un état de plus (celui où on va lire en RAM l’opérande

proprement dit).

9.10.1 Les adressesMaintenant, on n’accède plus à la RAM de façon linéaire. Dans l’exemple de programme donné,

les adresses présentées à la RAM seront celles-ci :1. 02. 13. 1004. 25. 36. 1017. 48. 59. 102

10. . . .Les adresses de code sont globalement linéaires (0, 1, 2, 3, . . . ), celles des données ne le sont

pas (elles sont arbitraires). Il faut donc présenter sur le bus d’adresse RAM• soit le compteur d’adresse pendant les deux premiers cycles (et on l’incrémente à chaque fois)• soit le contenu du registre d’adresse (adresse de l’opérande à aller chercher) pendant le troi-

sième cycle (et ici le compteur d’adresse ne doit pas être incrémenté)donc : multiplexeur. . .

De plus, le compteur d’adresse doit être piloté par un signal INCR_PC : il n’est incrémenté quesi INCR_PCest à l’état haut.

Le registre d’adresse est chargé au cycle numéro 2. Son contenu n’est utile qu’au cycle numéro3. Il n’est donc pas nécessaire de le piloter avec un enable. . . Il peut rester tout le temps actif :son contenu sera indéterminé pendant les cycles 1 et 2, mais ce n’est pas grave, il n’est pas utilisépendant ces cycles là. . .

L’architecture globale est donc celle représentée sur la figure 9.8 page suivante, et son graphed’états en figure 9.14 page 163

C’est là aussi une machine de Mealy, et les équations sont :• SEL_ACC = (I[7:0] == LOAD)• LOAD_ACC = (I[7:0] <> STORE) ET (Etat = Ex)• WRITE = (I[7:0] == STORE) ET (Etat = Ex)

Page 161: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

160 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

Fig. 9.8: Architecture de la troisième version

Fig. 9.9: Graphe d’états de la troisième version

9.11 Réponse 6

9.11.1 Flags

La génération de C et Z est combinatoire et peut être effectuée par l’ALU.Il suffit juste de rajouter deux registres 1 bits pour stocker ces deux signaux, pilotés par le même

enable que l’accumulateur (LOAD_ACC, qu’on appellera maintenant LOAD_AZC). On considérera doncque Z et C font partie de l’accumulateur (qui devient donc un registre sur 10 bits : 8 de donnée, 1pour Z, un pour C).

Remarque : le fonctionnement de Z et C ici n’est pas tout à fait standard !..

9.11.2 ADDC / SUBC

Il suffit de faire entrer C sur la retenue entrante de l’addition ou de la soustraction. . .

9.12 Réponse 7

Pour implémenter les sauts, il suffit de se donner la possibilité de remplacer le contenu de PCpar la valeur lue en RAM.

PC devient donc un peu plus complexe. C’est globalement un compteur, mais il• est incrémenté si son signal de commande INCR_PC= 1• est chargé avec une nouvelle valeur si un signal de chargement LOAD_PC= 1• si LOAD_PCet INCR_PCvalent 1, c’est LOAD_PCqui prime...

Page 162: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.12. RÉPONSE 7 161

Fig. 9.10: Implémentation du PC

Ceci peut être implémenté comme sur la figure 9.10.Pour simplifier les schémas, lorsque nous parlerons de PC, ce sera de ce bloc-ci.Il faut maintenant générer le signal LOAD_PC. Ce signal sera aussi généré par la machine à états

CTRL. Le PC doit être remplacé lorsqu’on exécute un saut, et que le condition du saut est vérifiée.La nouvelle valeur est présente sur le bus de sortie de la RAM pendant le cycle 2.

On aura donc une équation du style : LOAD_PC = si (I[7:0] == JMP ou I[7:0] == JNC etC == 0 ou I[7:0] == JNZ et Z == 0) et (état = etat 2), alors 1, sinon 0.

L’architecture globale est donc celle représentée sur la figure 9.11, avec une machine à étatCTRL à peine modifiée (même graphe d’état) représentée figure 9.14 page 163.

Fig. 9.11: Architecture de la quatrième version

Fig. 9.12: Graphe d’états de la quatrième version

• SEL_ACC = (I[7:0] == LOAD)• LOAD_ACC = (I[7:0] <> (STORE ou saut)) ET (Etat = Ex)• WRITE = (I[7:0] == STORE) ET (Etat = Ex)

Page 163: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

162 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

• LOAD_PC = si (I[7:0] == JMP ou I[7:0] == JNC et C == 0 ou I[7:0] == JNZ et Z ==0) et (état = Ad), alors 1, sinon 0

9.13 Réponse 8L’instruction NOP ne fait rien. Elle n’a pas besoin d’opérande, et pourrait donc être stockée

sur un seul octet (au lieu de deux pour les autres).Mais cela compliquerait la gestion de la machine à états pour générer les signaux LOAD_PCet

INCR_PC. De plus, ça pourrait poser d’autres problèmes (cf. les optimisations).On peut donc accepter de perdre un octet de mémoire, et ne rien changer à l’organisation

de la mémoire. L’instruction NOP sera accompagnée d’un opérande qui ne servira a rien... Uneinstruction sera toujours exécutée en trois cycles. La seule modification de la machine à état seral’équation suivante : LOAD_ACC = (I[7:0] <> (STORE ou saut ou NOP)) ET (Etat = Ex)

9.14 Réponse 9

9.14.1 ROL / RORces opérations sont combinatoires et seront donc implémentées dans l’ALU.Remarque : comme le NOP, elles ne nécessitent pas d’opérande. De même, pour garder une

cohérence (nous optimiserons ça plus tard), on garde un codage des instructions sur deux octets.Pour ROR et ROL, le deuxième octet n’a pas de signification...

9.14.2 Sortie BZOn ajoute un registre 1 bit, piloté par un signal d’enable appelé LOAD_BZ.• l’entrée de ce registre est le bus de sortie de la RAM• sa sortie est connectée à la broche de sortie buzzer du processeur...LOAD_BZsera généré par la machine à état, selon l’équation suivante : LOAD_BZ = (I[7:0] ==

OUT) et (état = EX). . .L’architecture globale est donc celle représentée sur la figure 9.13, avec une machine à état

CTRL représentée figure 9.14 page suivante.

Fig. 9.13: Architecture de la version finale

Page 164: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

9.14. RÉPONSE 9 163

Fig. 9.14: Graphe d’états de la version finale

• SEL_ACC = (I[7:0] == LOAD)• LOAD_ACC = (I[7:0] <> (STORE ou saut ou NOP ou ROR ou ROL)) ET (Etat = Ex)• WRITE = (I[7:0] == STORE) ET (Etat = Ex)• LOAD_PC = si (I[7:0] == JMP ou I[7:0] == JNC et C == 0 ou I[7:0] == JNZ et Z ==0) et (état = Ad), alors 1, sinon 0.

• LOAD_BZ = (I[7:0] == OUT) et (état = Ex)

Remarque : le signal SEL_ACCne sort pas de CTRL sur le schéma : il peut être inclus, avec lemultiplexeur qu’il pilote, dans l’ALU...

Page 165: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

164 CHAPITRE 9. DES MACHINES À ÉTATS AUX PROCESSEURS

Page 166: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Deuxième partie

TD

165

Page 167: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans
Page 168: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 10

TD - Fonctions de base

Ce TD traite de la logique combinatoire et comprend les exercices suivants :

1. 10.1 : Simplification algébrique d’équations.2. 10.2 : Simplification d’équations par tableau de Karnaugh.3. 10.5 : Décodage.4. 10.6 page 169 : Génération de fonctions.

10.1 Simplification algébriqueOn considère qu’une équation booléenne est simplifiée si le nombre d’apparition des variables

dans l’équation est le plus petit possible.

1. En utilisant les propriétés et théorèmes de l’algèbre de Boole, simplifiez l’expression : S =(a+ b+ c) · (a+ d · e+ f) + (d+ e) · a · c+ a · b

10.2 Simplification par tableau de KarnaughLa méthode de Karnaugh permet de simplifier les fonctions logiques ayant peu de variables, à

partir de la table de vérité de la fonction.1. Simplifiez les deux fonctions F et G suivantes (cf. Tab. 10.1 page suivante et 10.2 page

suivante) après avoir transformé leur table de vérité en tableau de Karnaugh.

10.3 Fonction F

• Les entrées sont a, b, c, d, e.• Une variable d’entrée à « X » indique qu’elle peut être à 0 ou à 1.

10.4 Fonction G

• Les entrées sont a, b, c et d,• i indique la valeur de la combinaison (ou minterme) en notation décimale,• le « − » indique que G peut prendre indifféremment la valeur 0 ou 1.

10.5 DécodageLe décodeur est un circuit combinatoire à l’entrée duquel est appliqué un code binaire de n

bits. Ce circuit possède N sorties (avec N = 2n, en général). A chaque valeur du code d’entrée, ily a une seule sortie à l’état haut, toutes les autres sont à l’état bas. Les entrées d’un décodeur sont

167

Page 169: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

168 CHAPITRE 10. TD - FONCTIONS DE BASE

e d c b a F

0 X X X X 0

1 0 0 X X 0

1 0 1 0 X 1

1 0 1 1 X 0

1 1 0 0 0 0

1 1 0 0 1 1

1 1 0 1 X 1

1 1 1 0 0 1

1 1 1 0 1 0

1 1 1 1 X 0

Tab. 10.1: Table de vérité de la fonction F .

i d c b a G

0 0 0 0 0 1

1 0 0 0 1 1

2 0 0 1 0 −3 0 0 1 1 0

4 0 1 0 0 −5 0 1 0 1 −6 0 1 1 0 −7 0 1 1 1 1

8 1 0 0 0 −9 1 0 0 1 1

10 1 0 1 0 1

11 1 0 1 1 0

12 1 1 0 0 0

13 1 1 0 1 1

14 1 1 1 0 0

15 1 1 1 1 1

Tab. 10.2: Table de vérité de la fonction G.

souvent appelées adresses, car elles expriment en binaire le numéro décimal de la sortie activée. Lesdécodeurs peuvent être utilisés pour l’adressage de mémoires et la génération de fonctions logiques.

Décodeur BCDLe BCD (« binary coded decimal ») est un code de 4 bits dont seules les 10 premières combinaisonsde 0 à 9 sont employées. Les combinaisons restantes de 10 à 15 ne sont jamais utilisées. Un décodeurBCD est donc un décodeur qui a 4 entrées et 10 sorties.

1. Réalisez ce décodeur en considérant que si l’une des 6 combinaisons non autorisées est àl’entrée, toutes les sorties sont à l’état inactif « 0 ».

Page 170: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

10.6. GÉNÉRATION DE FONCTIONS 169

Décodeur de grande capacité

Si le nombre N est très élevé, on peut imaginer réaliser le décodage en cascadant des décodeursde tailles moins importantes.

1. Par exemple essayez de concevoir un décodeur binaire 5 entrées / 32 sorties à partir de 2décodeurs binaires 4 entrées / 16 sorties.

2. Quelle doit être la modification à apporter au décodeur 4 entrées / 16 sorties pour créerfacilement le décodeur 5 entrées ?

3. Concevez un décodeur binaire 8 entrées / 256 sorties en utilisant le décodeur 4 entrées / 16sorties précédemment modifié.

10.6 Génération de fonctionsUn transcodeur ou convertisseur est un circuit combinatoire à x entrées et y sorties. A chaque

code d’entrée de x bits correspond un code de sortie y bits. Les décodeurs que nous avons étudiésdans l’exercice précédent sont donc des cas particuliers de transcodeurs.

On désire réaliser la fonction de transcodage d’un code BCD vers un code « 2 parmi 5 ». Dansle code « 2 parmi 5 », il y a toujours deux bits à « 1 » et 3 bits à « 0 ». La table de vérité estindiquée ci-dessous dans la Tab. 10.3.

• i indique la valeur de la combinaison (ou minterme) en décimal,• les entrées sont a, b, c, d, e,• les sorties sont F4F3F2F1F0,• si i > 9 l’état des sorties est indifférent.

i d c b a F4 F3 F2 F1 F0

0 0 0 0 0 1 1 0 0 0

1 0 0 0 1 0 0 0 1 1

2 0 0 1 0 0 0 1 0 1

3 0 0 1 1 0 0 1 1 0

4 0 1 0 0 0 1 0 0 1

5 0 1 0 1 0 1 0 1 0

6 0 1 1 0 0 1 1 0 0

7 0 1 1 1 1 0 1 0 0

8 1 0 0 0 1 0 0 0 1

9 1 0 0 1 1 0 0 1 0

Tab. 10.3: Table de vérité de la fonction de conversion BCD → « 2 parmi 5 ».

1. Réalisez la fonction à l’aide :(a) D’un décodeur BCD et quelques portes.(b) De multiplexeurs.

Pour cela écrivez l’équation logique d’un multiplexeur 16 entrées (et donc 4 entrées de sélec-tion) et comparez à l’expression d’une fonction logique quelconque à 4 entrées.

Page 171: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

170 CHAPITRE 10. TD - FONCTIONS DE BASE

Page 172: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 11

TD - Opérateurs arithmétiques

Le but de ce TD est d’approfondir la représentation en complément à 2 (Exercice 11.1), ainsique l’arithmétique des nombres binaires (Exercice 11.2 sur l’addition, 11.3 sur la soustraction etcomparaison, 11.4 page suivante sur la multiplication).

11.1 Représentation en complément à 21. Donner la représentation en CA2 des nombres suivants : -8, +8, -30, -52, +15.2. Soit B un nombre codé en CA2 sur n bits : (bn−1, bn−2, · · · , b1, b0). Comment obtient-on la

valeur de B à partir de sa représentation lorsqu’il est positif ? lorsqu’il est négatif ?3. Donner la représentation en CA2 des nombres +15, -12 :• sur 5 bits,• sur 7 bits.

4. D’une façon générale, comment peut-on étendre la représentation d’un nombre codé en CA2sur n bits, à une représentation sur p bits, avec p plus grand que n ?

11.2 Addition en complément à 21. Quel est l’intervalle de variation d’un nombre codé en CA2 sur n bits ?2. Soient A et B deux nombres codés en CA2 sur n bits et S la somme de ces 2 nombres. Quel

est l’intervalle de variation de S ? En déduire le nombre de bits nécessaires à son codage.3. Réaliser en binaire les additions suivantes : 30 + 8, 30 + (-8), (-30) + 8, (-30) + (-8).

11.3 Soustraction et comparaisonOn désire réaliser un opérateur capable d’effectuer la comparaison de 2 nombres positifs A et

B codés sur 4 bits. La sortie S de l’opérateur vaut « 1 » si A est strictement inférieur à B, « 0 »sinon :

• S = 1 si A < B,• S = 0 si A > B ou A = B.1. Proposer une solution à l’aide d’un soustracteur.2. Une autre solution appelée « comparaison MSB en tête » consiste à comparer bit à bit les

nombres A et B en commençant par les bits de poids forts. L’algorithme utilisé est le suivant :

S = 1 SI (a3 < b3)

OU ((a3 = b3) ET (a2 < b2))

OU ((a3 = b3) ET (a2 = b2) ET (a1 < b1))

OU ((a3 = b3) ET (a2 = b2) ET (a1 = b1) ET (a0 < b0)) .

171

Page 173: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

172 CHAPITRE 11. TD - OPÉRATEURS ARITHMÉTIQUES

• Construire l’opérateur élémentaire à 2 entrées ai et bi dont les sorties Ii (Inférieur) et Ei

(Égal) vérifient :

Ii = 1 si ai < bi,

Ii = 0 sinon.

Ei = 1 si ai = bi,

Ei = 0 sinon.

• En utilisant l’opérateur construit précédemment, proposer le schéma complet du compa-rateur.

• Comment peut-on généraliser simplement ce comparateur à n bits ?

11.4 Multiplication1. Réaliser à la main l’opération : 1001× 1100 (9× 12).2. Proposer le schéma d’un multiplieur de 2 nombres positifs de 4 bits. On dispose pour cela

d’additionneurs 4 bits.3. Comment faut-il modifier ce schéma pour permettre la multiplication de 2 nombres en com-

plément à 2 ?

Page 174: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 12

TD - Analyse et synthèse en porteslogiques

12.1 Introduction

Le TD comprend 4 exercices portant sur l’analyse et la synthèse de portes logiques à partir detransistors CMOS Exercices

1. 12.2 Analyse d’une porte complexe

2. 12.3 page suivante Analyse de portes présentant des dysfonctionnements

3. 12.4 page suivante Synthèse de la fonction majorité

4. 12.5 page 175 Synthèse d’un additionneur 1 bit

12.2 Analyse d’une porte complexe

La figure 12.1 représente l’implantation (la réalisation) d’une fonction logique en utilisant lesprincipes de la logique complémentaire CMOS (réseau de tirage à "1" à base de transistors PMOSet réseau de tirage à "0" à base de transistors NMOS).

Fig. 12.1: Porte logique

12.2.1 Analyse de la fonction à l’aide du réseau de transistors P

1. En considérant que Y est à 1 uniquement si le réseau P est passant, donnez l’expression dela fonction logique Y en utilisant la structure du réseau de transistors P.

173

Page 175: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

174 CHAPITRE 12. TD - ANALYSE ET SYNTHÈSE EN PORTES LOGIQUES

12.2.2 Analyse de la fonction à l’aide du réseau de transistors N1. En considérant que Y est à O uniquement si le réseau N est passant, donnez l’expression de

la fonction logique Y en utilisant la structure du réseau de transistors N.2. Vérifiez que les fonctions obtenues à l’aide du réseau P puis du réseau N sont bien identiques.

12.2.3 L’implémentation est elle unique ?1. Dressez le tableau de Karnaugh de la fonction Y. En simplifiant la fonction trouvez une

alternative au réseau de transistors P.

12.3 Analyse de portes présentant des dysfonctionnementsUne seule de ces portes réalise correctement une fonction logique.

Fig. 12.2: Trois portes...

12.3.1 Quelle est la "bonne" ?1. En examinant la dualité des réseaux N et P (une structure de transistors série P correspond

à une structure parallèle N et vice versa), déduisez la bonne porte.2. Quelle est l’expression de sa fonction logique ?

12.3.2 Causes de dysfonctionnements1. Trouvez des combinaisons des entrées introduisant un problème pour les 2 portes défectueuses.

12.4 Synthèse de la fonction MajoritéSoit le complément de la fonction Majorité : Maj(A,B,C) = A ·B +B · C +A · C

12.4.1 Construction CMOS de la fonction Majorité complémentée1. En utilisant la dualité des réseaux P et N, établissez le schéma CMOS de la fonction Majorité

complémentée. Trouvez une structure minimisant le nombre de transistors.

12.4.2 Optimisation de la fonction Majorité complémentée1. Démontrer la relation suivante :Maj(A,B,C) = Maj(A,B,C)2. Déduisez une structure présentant une symétrie sur les réseaux P et N. Quels sont les intérêts

d’une telle structure ?

Page 176: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

12.5. SYNTHÈSE D’UN ADDITIONNEUR 1 BIT 175

12.5 Synthèse d’un Additionneur 1 bitCet exercice traite de l’additionneur 1 bit qui est la cellule de base de l’additionneur à propa-

gation de retenue.

Fig. 12.3: Table de vérité de l’Additionneur Complet 1 bit

12.5.1 Construction de la retenue Ri+1 en CMOS1. Proposez une structure de porte CMOS pour réaliser la fonction Ri+1

12.5.2 Construction de la sortie Si en CMOS1. Vérifier que Si peut s’exprimer sous la forme : Si = AiBiRi + Ri+1 (Ai +Bi +Ri) = Ai ⊕Bi ⊕Ri

2. En utilisant le même raisonnement que pour la fonction Majorité (exercice 12.4.2 page ci-contre) trouvez une structure optimale de la fonction Si

12.5.3 Évaluation de l’aire de la surface d’un additionneur1. Sachant qu’on utilise une technologie CMOS de densité 1 500 000tr ·mm−2, combien pouvons

nous intégrer d’additionneurs 32 bits dans 1cm2 ?

Page 177: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

176 CHAPITRE 12. TD - ANALYSE ET SYNTHÈSE EN PORTES LOGIQUES

Page 178: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 13

TD - Performances de la logiquecomplémentaire CMOS

13.1 Objectifs du TD

Ce TD est l’occasion d’une première mise en pratique des concepts de temps de propagation deportes logiques. Les différents exercices visent à mettre en évidence :

• l’usage de bibliothèques précaractérisées ;• le lien entre la structure des portes CMOS et leurs performances ;• le lien entre l’optimisation de fonctions booléennes et leurs performances.

13.2 Temps de propagation d’une fonction décodeur

Nous désirons réaliser la fonction LM 20 dont l’équation logique est la suivante :

LM 20 = A0 ·A1 ·A2 ·A3 ·A4 ·A5

Les effets parasites des fonctions logiques connectées en aval de la fonction LM 20 sont modé-lisés par une capacité d’utilisation Cu connectée en sortie de la fonction. La valeur de Cun’estpas connue. Un concepteur, utilisant les cellules d’une bibliothèque précaractérisée donnée en an-nexe 13.5 page 179, nous propose trois implantations illustrées dans la figure 13.1 (on supposedisponibles les entrées et leurs complémentaires) :

Fig. 13.1: Trois implantations alternatives de la fonction LM20

• Question 1 : Vérifier que les schémas de la figure 13.1 représentent tous la fonction LM 20 etcomparer ces solutions en terme de nombre de transistors utilisés.

• Question 2 : En supposant que la sortie de la fonction LM 20 charge une capacité d’utilisationégale à un multiple entier de la capacité de référence (Cu = N×Cr ) déterminer pour chacunedes solutions l’expression du temps de propagation de la fonction LM 20 en fonction de N etde tpr .

• Question 3 : Déterminer en fonction de N la solution donnant le temps de propagation leplus faible. Pouvait-on prévoir ces résultats ? (expliquer).

177

Page 179: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

178 CHAPITRE 13. TD - PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

13.3 Amélioration du décodeur par amplification logique

Nous avons maintenant fixé la valeur de la capacité d’utilisation Cu de la fonction LM 20 àCu = 175 × Cr . Nous décidons de reprendre la solution (3) modifiée suivant le schéma de lafigure 13.2, où INV 1 et INV 2 sont deux inverseurs de la bibliothèque.

Fig. 13.2: Solution (3) avec amplification logique

• Question 4 : Déterminer le temps de propagation de la fonction dans cette nouvelle configu-ration, et comparer de nouveau à la solution (1).

Nous décidons de nous affranchir des contraintes de la bibliothèque et décidons de remplacerl’inverseur INV 2 par un inverseur dont nous définissons nous même les dimensions. Pour cela nousmultiplions les largeurs W des deux transistors NMOS et PMOS de l’inverseur de la bibliothèquepar un même coefficient α.

• Question 5 : Déterminer, en fonction des caractéristiques de l’inverseur de la bibliothèque etdu coefficient α, la valeur des paramètres CeINV , tp0INV et dtpINV de l’inverseur INV 2.

• Question 6 : Déterminer de nouveau le temps de propagation de la fonction LM 20 en fonctiondu coefficient α.

• Question 7 : Montrer qu’il existe une valeur de α minimisant le temps de propagation de lafonction LM 20. Calculer cette valeur et déterminer le nouveau temps de propagation.

La valeur de Cu est en fait la capacité résultante de 25 entrées de diverses portes connectéesen sortie de la fonction LM 20.

• Question 8 : Imaginer une solution donnant le même résultat que précédemment mais évitantde créer une nouvelle cellule (nous ne sommes pas maitres de la bibliothèque...).

Dans la pratique, les concepteurs ne cherchent pas à minimiser les temps de propagation desfonctions combinatoires, mais plutôt à limiter ceux-ci à une valeur jugée acceptable pour le fonc-tionnement correct du circuit.

• Question 9 :Montrer que pour tout choix de temps de propagation supérieur au temps mini-mum, il existe une valeur de α minimisant l’aire du circuit réalisant la fonction LM 20.

13.4 Généralisation du principe de l’amplification logique

Le problème précédent peut être généralisé de la façon suivante : Considérant une capacité Cu

devant être chargée (ou déchargée) par de la logique CMOS, existe-t-il une structure de chaîned’inverseurs optimale minimisant le temps de propagation ?.

La chaîne totale considérée (voir figure 13.3 page suivante) sera composée de N inverseurs INV i

dont les largeurs des transistors sont multipliées par des coefficients αi par rapport à l’inverseur dela bibliothèque. Le coefficient α1 est figé à la valeur 1.

• Question 10 : Etablir l’expression du temps de propagation de la chaîne en fonction dunombre N d’inverseurs et des coefficients αi.

• Question 11 : Montrer que les coefficients αi doivent suivre une progression géométrique pourminimiser le temps de propagation de la chaîne. En déduire une nouvelle expression du tempsde propagation en fonction d’un coefficient unique α et de N.

• Question 12 :Montrer qu’il existe une valeur de α qui minimise le temps de propagation dela chaîne. Exprimer cette valeur en fonction de Cu Ce et N. En déduire une expression dutemps de propagation minimal ne dépendant plus que de Cu , CeINV et N.

Page 180: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

13.5. ANNEXE : BIBLIOTHÈQUE DE CELLULES PRÉCARACTÉRISÉES 179

Fig. 13.3: Amplification logique généralisée.

• Question 13 :Montrer qu’il existe une valeur de N qui minimise le temps de propagation de lachaîne. Exprimer cette valeur en fonction de Cu et Ce . En déduire une expression du tempsde propagation minimal ne dépendant plus que de Cu et CeINV .

13.5 Annexe : Bibliothèque de cellules précaractériséesLes sociétés de fonderies de Silicium, les "fondeurs", qui produisent des circuits intégrés nu-

mériques, proposent à leurs clients, des bibliothèques de portes logiques dites précaractérisées. Lesingénieurs de ces sociétés développent, dessinent et simulent le comportement et les performancesde chacune des portes logiques de la bibliothèque. Ils fournissent à leurs clients des tables de carac-téristiques permettant à ces derniers de concevoir des circuits intégrés et prédire leurs performancessans avoir à explorer des niveaux de détail allant jusqu’au transistor. Le tableau 13.1 propose unetelle bibliothèque.

Fonction Équation booléenne Cei tp0 dtp

Inverseur Y = A CeA = 7Cr 6tpr dtpr

Nand à 3 entrées Y = ABC ∀i ∈ A,B,CCei = 7Cr 42tpr 3dtpr

Nand à 6 entrées Y = ABCDEF ∀i ∈ A · · ·FCei = 7Cr 156tpr 6dtpr

Nor à 2 entrées Y = A+B ∀i ∈ A,BCei = 7Cr 16tpr 2dtpr

Nor à 6 entrées Y = A+B + C +D + E + F ∀i ∈ A · · ·FCei = 7Cr 96tpr 6dtpr

Tab. 13.1: Une bibliothèque précaractérisée simple.

Pour chaque cellule de la bibliothèque sont précisés :• La capacité d’entrée Cei de chaque entrée Ei de la cellule.• Le temps de propagation à vide tp0 ;• La dépendance capacitive (pente) du temps de propagation dtp .Rappelons que le temps de propagation d’une porte chargée par une capacité Cu est donné par

la formule :tp = tp0 + dtp × Cu

Nous avons simplifié les jeux de paramètres en ne distinguant notamment pas les temps depropagation en montée et en descente. Pour faciliter les quelques calculs numériques de ce TD,tous les paramètres sont définis comme des multiples entiers des valeurs de référence suivantes :

• Cr : capacité de référence• tpr : temps de propagation de référence• dtpr : dépendance capacitive de référenceCes trois paramètres sont liés par la relation suivante :

tpr = dtpr × Cr

Page 181: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

180 CHAPITRE 13. TD - PERFORMANCES DE LA LOGIQUE COMPLÉMENTAIRE CMOS

Page 182: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 14

TD - Utilisation des bascules

Le TD comprend des exercices portant sur la mise en oeuvre de bascules dans des applicationscourantes de l’électronique :

• 14.1 Mise en pipeline d’une fonction combinatoire• 14.2 page suivante Changement de format série ↔ Parallèle• 14.3 page 184 Calcul de parité.

14.1 Mise en pipeline d’une fonction combinatoire

La fonction électronique à étudier est illustrée par la figure 14.1. Il s’agit de traiter un flotcontinu de données arrivant à un certain rythme. La fréquence d’arrivée des données, et donc detraitement, doit être la plus grande possible.

Fig. 14.1: Circuit à étudier

14.1.1 Analyse de la fonction

1. Quelles sont les rôles respectifs des entrées SEL, RAZ et INV?

2. On considère que toutes les entrées sont issues de bascules ayant un temps de propagationtco de 1 ns et que les temps de prépositionnement tsu et tho des bascules sont négligeables.Quelle est la fréquence d’échantillonnage maximum fmax de la fonction ?

14.1.2 Augmentation de la fréquence de fonctionnement avec un étagede pipeline

Une barrière de registre est rajoutée comme indiqué dans la figure 14.2 page suivante. Le nouvelétage de pipeline ainsi généré permet d’augmenter la fréquence de fonctionnement.

181

Page 183: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

182 CHAPITRE 14. TD - UTILISATION DES BASCULES

Fig. 14.2: Circuit à étudier avec pipeline

1. Quelle est la nouvelle fréquence maximum fmax de fonctionnement ?2. Quels sont le retard et la latence du signal de sortie ?

14.1.3 Optimisation en performances1. Rajoutez un étage de pipeline permettant d’obtenir la meilleure fréquence possible.2. Quelle est la nouvelle valeur de la fréquence fmax ?

14.1.4 Compromis performances/surfaceLa table 14.1 indique la surface des portes logiques. L’unité est la surface de la porte ET.

ET MUX XOR DFF

1 2 2 6

Tab. 14.1: Surface des éléments

1. Calculez la surface pour les 3 cas étudiés ci-dessus. Analysez le rapport entre surface etfréquence maximale de fonctionnement.

2. Quelle conclusion peut-on en tirer ?

14.2 Changement de format série ↔ ParallèleCet exercice a pour but de concevoir une fonction de changement de format d’une donnée

arrivant en série et sortant en parallèle, et vice-versa. La structure de registre à décalage serautilisée à cette fin.

14.2.1 Conversion série → parallèle1. Concevez le composant D-EN dont le symbole est représenté par la figure 14.3 page suivante

et ayant les spécifications indiquées dans la table 14.2.

EN=0 Gel de la sortie Q

EN=1 bascule D avec entrées sur D et sortie sur Q

Tab. 14.2: Spécifications de D-EN

2. A l’aide du composant D-EN, concevez un convertisseur série=>parallèle SER-PAR dontl’entrée D arrive sur 1 bit au rythme de l’horloge H et les sortie S sortent sur sur 4 bits. Lesymbole est représenté par la figure 14.4 et les spécifications sont indiquées dans la table 14.3.

Page 184: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

14.3. CALCUL DE PARITÉ. 183

Fig. 14.3: Bascule D-EN

Fig. 14.4: Composant SER-PAR

DATA_OK=0 Gel de la sortie S

DATA_OK=1 La sortie S prend les 4 derniers bits de D

Tab. 14.3: Spécifications de SER-PAR

14.2.2 Conversion parallèle → série1. Concevez le composant D-EN-LD dont le symbole est représenté par la figure 14.5 et ayant

les spécifications indiquées dans la table 14.4.

Fig. 14.5: Bascule D-EN-LD

EN=0 gel de la sortie Q

EN=1 et LD =0 bascule D avec entrée sur D1 et sortie sur Q

EN=1 et LD =1 bascule D avec entrée sur D2 et sortie sur Q

Tab. 14.4: Spécifications de D-EN-LD

2. A l’aide du composant D-EN-LD, concevez un convertisseur parallèle=>série PAR-SER avecles entrées sur 4 bits et une sortie sur 1 bit changeant au rythme de l’horloge H. Le symboleest représenté par la figure 14.6 et les spécifications indiquées dans la table 14.5.

14.3 Calcul de parité.La parité d’un mot de n bits est vraie si le nombre de bits à 1 est pair. On se propose de réaliser

ce calcul sur une donnée de 8 bits.

Page 185: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

184 CHAPITRE 14. TD - UTILISATION DES BASCULES

Fig. 14.6: Composant PAR-SER

EN=0 Gel de la sortie S

EN=1 et DATA_OK=0 la sortie S sort d’une façon cyclique les 4 bits de D enregistrées

EN=1 et DATA_OK=1 Les entrées D sont enregistrées

Tab. 14.5: Spécifications de PAR-SER

14.3.1 Calcul de parité sur un mot parallèle1. Concevez un circuit calculant la parité d’un mot de 8 bits en parallèle, à partir exclusivement

de portes XOR et ayant un temps de propagation minimal.

14.3.2 Calcul de parité sur un mot sérieLes bits du mot arrivent maintenant en série et d’une manière synchrone avec une horloge CLK.

Le signal DEB est actif juste avant le premier bit. Le chronogramme de la donnée et de DEB estdonné en figure 14.7.

Fig. 14.7: Chronogramme des entrées du calculateur

Comme les bits arrivent séquentiellement, on peut utiliser une structure simple calculant laparité bit après bit et stockant le résultat dans une bascule D. La bascule doit être initialisée àl’aide du signal DEB et contient le résultat au bout des 8 bits.

1. Donnez l’équation de l’entrée D de la bascule par rapport à DATA, DEB et la sortie de labascule.

2. Déduisez la structure du circuit séquentiel correspondant.

Page 186: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 15

TD - Synthèse et utilisation desmachines à états synchrones

Ce TD comprend 2 exercices, permettant de reprendre et de mettre en oeuvre les notionsabordées dans la leçon sur les machines à états 8 page 125. Nous traiterons deux problèmes :

• Étude et conception d’un contrôleur de bus simple.• Prise en compte du problème de l’équité.Remarque : Vous pouvez, si vous le souhaitez, réaliser et intégrer les contrôleurs étudiés lors de

ce TD sur des circuits logiques programmables dans les salles de TP du département (A406-7).

15.1 Qu’est-ce qu’un bus de communication ?

Lorsque, au sein d’un système complexe, plusieurs dispositifs électroniques doivent communi-quer entre eux on peut imaginer de relier chaque élément à tous les autres. Cette situation, illustréepar la figure 15.1, est probablement la première qui vient à l’esprit. C’est aussi la plus puissantecar elle permet un nombre très important de communications simultanées.

Fig. 15.1: Liaisons point à point

185

Page 187: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

186CHAPITRE 15. TD - SYNTHÈSE ET UTILISATION DES MACHINES À ÉTATS SYNCHRONES

Malheureusement elle est aussi très coûteuse car le nombre de connexions nécessaires est trèsimportant. Il suffit d’imaginer pour s’en convaincre que les arcs du schéma ci-dessus véhiculentdes informations codées sur 32 bits. En outre elle n’offre pas une grande flexibilité car il n’est paspossible d’ajouter des éléments à notre réseau (le nombre d’entrées et de sorties de chaque élémentest fixé à la construction). Ce système n’est pas très plug and play. C’est dommage car le plug andplay est justement très à la mode. Une autre solution, plus raisonnable et aussi plus courante, estle bus central comme illustré dans la figure 15.2

Fig. 15.2: Bus central

Les possibilités d’échanges sont limitées mais chaque élément peut tout de même communiqueravec n’importe quel autre et le nombre de connexions est considérablement réduit. Il est en outrethéoriquement possible d’ajouter à l’infini de nouveaux éléments au système. La gestion d’une telleorganisation des communications nous servira de thème tout au long de ce TD.

15.2 Le contrôleur de bus simple.

Nous nous proposons de concevoir un contrôleur de bus de communication. Le système ausein duquel notre contrôleur doit s’intégrer comporte un arbitre de bus et un nombre indéterminémais potentiellement très grand de points d’accès au bus. Chaque point d’accès est composé d’uncontrôleur et d’un client. La figure 15.3 page suivante représente le système de communicationcomplet :

L’arbitre est chargé de répartir la ressource de communication (le bus) entre les différents pointsd’accès. En effet, le système n’admet pas que plusieurs points d’accès émettent simultanément desinformations sur le bus. Si cela se produisait il y aurait conflit et perte d’informations. La présenced’un arbitre est donc nécessaire. C’est lui qui autorise successivement les points d’accès à écrire surle bus en leur attribuant un "jeton". Le point d’accès possesseur du jeton peut écrire sur le bus.Les autres ne peuvent que lire. Lorsque le point d’accès a terminé sa transaction il rend le jeton àl’arbitre qui peut alors l’attribuer à un autre point d’accès. L’absence de conflit est garantie parl’unicité du jeton.

Les clients sont les utilisateurs du bus. Lorsqu’un client désire écrire sur le bus il en informeson contrôleur associé et attend que celui-ci obtienne le jeton et lui donne le feu vert.

Les contrôleurs servent d’interface entre l’arbitre et leur client. C’est l’un de ces contrôleurs quenous allons concevoir. Ses entrées - sorties sont décrites dans le schéma illustré en figure 15.4 pageci-contre et la table 15.1 page 188. A l’exception de l’horloge et du signal de reset toutes les entrées- sorties sont actives à ’1’.

15.2.1 Le graphe d’états.

1. Dessinez un chronogramme représentant une ou plusieurs transactions complètes entre uncontrôleur, son client et l’arbitre.

2. Le contrôleur est une machine à états de Moore. Imaginez et dessinez son graphe.

Page 188: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

15.2. LE CONTRÔLEUR DE BUS SIMPLE. 187

Fig. 15.3: Système de communication

Fig. 15.4: Contrôleur de communication

3. Vérifiez la cohérence du graphe en appliquant les méthodes du chapitre 2 de la leçon 6.4. Vérifiez que les spécifications du contrôleur sont respectées par votre graphe.

15.2.2 Une optimisation possible.Les échanges entre l’arbitre et le contrôleur (signaux TOK et PSS) présentent l’inconvénient

de ralentir inutilement les opérations et donc de gaspiller des cycles d’utilisation du bus. En effet,

Page 189: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

188CHAPITRE 15. TD - SYNTHÈSE ET UTILISATION DES MACHINES À ÉTATS SYNCHRONES

Nom Direction Description

CLK Entrée Horloge pour la synchronisation du contrôleur

RST Entrée Signal de reset asynchrone, actif à ’0’. Lorsque ce signal est à étatbas (’0’) le contrôleur est entièrement réinitialisé.

TOK Entrée Ce signal provient de l’arbitre et indique que le contrôleur peutdisposer du bus. Il signifie donc que l’arbitre offre le jeton aucontrôleur. Il n’est actif que pendant une période d’horloge. Si lecontrôleur n’a pas besoin du jeton il le rend (voir le signal PSS).Sinon il le garde jusqu’à ce qu’il n’en ait plus l’utilité.

REQ Entrée Ce signal est émis par le client et indique que ce dernier demandeà disposer du bus. Le client maintient ce signal jusqu’à la fin de satransaction sur le bus. Il ne le relache que lorsqu’il n’a plus besoindu bus.

ACK Entrée Ce signal provient du client et indique que le client a pris le bus etcommence sa transaction. Il n’est actif que pendant une périoded’horloge.

PSS Sortie Ce signal est destiné à l’arbitre et l’informe que le contrôleur rendle bus, soit parce que l’arbitre le lui a proposé alors qu’il n’en apas besoin, soit parce que la transaction du client est terminée. Ilsignifie donc que le contrôleur rend le jeton à l’arbitre qui pourraensuite en disposer et l’attribuer à un autre contrôleur, voire aumême. Il n’est actif que pendant une période d’horloge.

GNT Sortie Ce signal est destiné au client et l’informe qu’il peut disposer dubus. Il est maintenu tant que le client n’a pas répondu (par lesignal ACK) qu’il a pris le bus.

Tab. 15.1: Spécification du contrôleur

un cycle est perdu lorsqu’un contrôleur se voit proposer le jeton alors qu’il n’en a pas l’usage. Lechronogramme de la figure illustre 15.5 ce phénomène :

Fig. 15.5: Illustration de la perte d’un cycle

TOKA et TOKB sont les signaux TOK destinés à deux contrôleurs, A et B. PSSA est le signalPSS émis par le contrôleur A et indiquant qu’il rend le jeton que l’arbitre vient de lui confier etdont il n’a pas l’usage. On voit que l’arbitre, lui aussi synchrone sur front montant de CLK, nepeut pas proposer immédiatement le jeton à un autre contrôleur.

Pour améliorer les performances du système nous voudrions obtenir le chronogramme illustréen figure 15.6 page suivante :

1. Proposez des modifications du contrôleur permettant d’obtenir ce nouveau comportement.

Page 190: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

15.3. LE PROBLÈME DE L’ÉQUITÉ. 189

Fig. 15.6: Chronogramme optimisé

2. Discutez leurs mérites respectifs.3. Le contrôleur est-il toujours une machine à états ? Pourquoi ?

15.2.3 Réalisation.

1. Décrivez sous forme de schéma la structure du contrôleur optimisé. Vous ne détaillerez pasles parties combinatoires.

2. Décrivez, sous forme fonctionnelle symbolique, le comportement des parties combinatoires.Un exemple de description fonctionnelle symbolique est illustré en figure 15.7 :

Fig. 15.7: Description fonctionnelle symbolique

15.3 Le problème de l’équité.

15.3.1 Le contrôleur équitable.

Le contrôleur que nous venons de concevoir n’est pas entièrement satisfaisant car il n’est paséquitable. En d’autres termes, il ne garantit pas qu’un client n’accaparera pas le bus au détrimentdes autres. Il ne garantit même pas qu’un client, après avoir obtenu l’accès au bus, l’utiliseraeffectivement puis le relâchera. Il est en effet possible qu’un client ne réponde jamais au signalGNT de son contrôleur (ce qu’il est sensé faire à l’aide du signal ACK). Le système complet seraitalors bloqué par un "mauvais" client qui monopolise une ressource dont il n’a pas l’usage. Pourremédier à cet inconvénient il faut à nouveau modifier le contrôleur.

1. Imaginez des solutions afin de rendre équitable le contrôleur optimisé du premier exercice.2. Décrivez, sans entrer dans les détails, la structure de ce nouveau contrôleur. Vous séparerez les

registres et les parties combinatoires. Vous donnerez une description fonctionnelle symboliquedes parties combinatoires et vous expliciterez le comportement des registres.

Page 191: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

190CHAPITRE 15. TD - SYNTHÈSE ET UTILISATION DES MACHINES À ÉTATS SYNCHRONES

15.3.2 L’arbitre équitable.1. Pour obtenir que l’ensemble du système soit équitable, la modification du contrôleur seul ne

suffit pas. L’arbitre doit, lui aussi, adopter un comportement particulier. Pourquoi ? Donnezun exemple de comportement non équitable possible de l’arbitre et ses conséquences.

2. Imaginez et décrivez des comportements possibles de l’arbitre équitable.3. Comme précédemment, décrivez la structure de l’arbitre équitable.

Page 192: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Troisième partie

TP

191

Page 193: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans
Page 194: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 16

TP - Combinatoire dans un CLP

Le texte de ce TP n’est pour l’instant disponible qu’en ligne à l’adresse suivante :

http ://www.comelec.enst.fr/~danger/eni/TP-combi

193

Page 195: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

194 CHAPITRE 16. TP - COMBINATOIRE DANS UN CLP

Page 196: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 17

TP - Caractérisation du transistorMOS

17.1 Sommaire• Objectifs du TP,• Caractérisation d’un transistor NMOS,

– Transconductance : Ids = f(Vgs),– Extraction de Kn et de VT0N ,– Caractéristique de sortie : Ids = f(Vds), pour différents V gs.– Variation de la tension de seuil avec VBS : VT0N = f(VBS .– Régimes de fonctionnement du NMOS et du PMOS dans l’inverseur CMOS.

• Annexes et rappels– Description de la maquette expérimentale,– Utilisation sommaire de l’oscilloscope,– Modèles du courant des transistors MOS,– Modèles de la tension de seuil des transistors MOS.

17.2 ObjectifsLes objectifs de ce TP sont d’une part d’acquérir une première familiarisation avec les modèles

de comportement des transistors MOS et d’autre part de découvrir expérimentalement (par lamesure) la caractérisation d’un modèle simple de transistor.

L’utilisation de la maquette (voir le schéma du tableau 17.6 page 198) et celle de l’oscilloscopesont décrites en annexe.

17.3 Caractérisation d’un transistor NMOS

17.3.1 Transconductance : Ids = f(Vgs)

Il s’agit de vérifier expérimentalement la variation du courant Ids d’un transistor NMOS enfonction de la tension Vgs lorsque le transistor est en régime saturé grâce au montage du ta-bleau 17.1 page suivante.

Question 17.3.1 Montrer que le transistor passe alternativement du régime bloqué au régimesaturé. En déduire l’expression théorique de Ids fonction de Vgs, en négligeant l’effet de modulationde longueur de canal (effet Early).

Question 17.3.2 Réaliser le montage du tableau 17.1 page suivante et faire apparaître sur l’os-cilloscope en mode XY, la courbe Ve − Vds = R · Ids = f(Vgs), à l’aide des voies A et B connectéesselon le schéma.

195

Page 197: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

196 CHAPITRE 17. TP - CARACTÉRISATION DU TRANSISTOR MOS

• VSS = 0V : court-circuit entremasse (gnd) et VSS

• V e : signal triangulaire• Vmax = +10V• T = 10ms• MN1 = NMOS• R = 1kΩ

Tab. 17.1: Schéma du montage 1

Question 17.3.3 Extraire la valeur des paramètres Kn et VT0N du transistor, à partir de deuxmesures, genre Ids1 = 1mA pour Vgs1 et Ids2 = 4mA pour Vgs2 . Nous obtenons :

• VT =

√Ids2Ids1

Vgs1 − Vgs2√Ids2Ids1

− 1soit : VT = 2Vgs1 − Vgs2

• Kn =(√

Ids2 −√Ids2

(Vgs2 − Vgs1)

)2

soit : Kn = 1mA

(Vgs2−Vgs1)2

17.3.2 Caractéristique de sortie : Ids = f(Vds)

Il s’agit de vérifier expérimentalement le changement de forme de la courbe de variation ducourant Ids d’un transistor NMOS en fonction de la tension Vds lors du passage du régime saturéau régime quadratique (linéaire). Ce relevé sera obtenu pour différente valeurs de Vgs. Nous consta-terons ainsi que le modèle simple du courant saturé ne suffit pas à rendre compte de la forme dela caractéristique dans cette zone.

• VSS = 0V : court-circuit entremasse (gnd) et VSS

• VG = tension continue• V e = signal triangulaire• Vmax = +10V• T = 10ms• MN1 = NMOS• R = 1kΩ

Tab. 17.2: Schéma du montage 2

Question 17.3.4 Réaliser le montage du tableau 17.2 et faire apparaître sur l’oscilloscope de lamême manière que précédemment, la courbe Ve − Vds = R · Ids = f(Vds).

Question 17.3.5 Expliquer la forme du lieu de l’extémité : Mext (Idsmax , Vdsmax) de la courbelorsque Vgs varie.

Question 17.3.6 Tenter d’évaluer la pente de la courbe Ids = f(Vds) dans la zone de saturation.

17.3.3 Variation de la tension de seuil : VT = f(Vbs)

Il s’agit de vérifier expérimentalement l’influence de la tension Vbs sur la valeur de la tensionde seuil VT d’un transistor NMOS. Attention il faut utiliser le transistor MN2 pour lequel Sourceet Substrat ne sont pas court-circuités.

Page 198: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

17.3. CARACTÉRISATION D’UN TRANSISTOR NMOS 197

• VSS = [−5V, 0V ] :tension continue négative

• VG = [0V,+5V ] :tension continue positive

• V e : signal triangulaire• Vmax = +10V• T = 10ms• MN2 = NMOS• R = 1kΩ

Tab. 17.3: Schéma du montage 3

Question 17.3.7 En utilisant le montage du tableau 17.3, effectuer la mesure de l’intensité ducourant Ids dans les conditions spécifiées dans le tableau 17.4.

VG VSS @Vds Ids

+4V 0V +4V

+5V −1, 3V +4V

+6V −3, 0V +4V

Tab. 17.4: Conditions de mesures

Question 17.3.8 À l’aide des conditions de mesures, mais aussi de l’allure de la courbe Ids =f(Vds) aux points de mesure, vérifier que le transistor est en régime saturé. Comparer les valeursde VT extraites de ces mesures à celles du modèle graphique présenté en annexe, figure 17.3 page 201.

17.3.4 Étude des régimes de fonctionnement des transistors NMOS etPMOSLa fonction de transfert d’un inverseur CMOS : Vs = f(Ve)

Fig. 17.1: Schéma de l’inverseur CMOS

L’inverseur est un circuit actif, alimenté entre VSS = 0V et VDD par une tension continuepositive. Il réalise la fonction amplification-inversion qui est une fonction élémentaire de l’élec-tronique analogique (0V ≤ Ve ≤ VDD) comme de l’électronique numérique (Ve = 0V = ”0” ouVe = VDD = ”1”).

Page 199: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

198 CHAPITRE 17. TP - CARACTÉRISATION DU TRANSISTOR MOS

CMOS caractérise la technologie utilisée pour réaliser le circuit. Cette technologie permet deconstruire dans un même cristal semi-conducteur, des transistors MOS de type N et des transistorsMOS de type P.

La fonction de transfert est la caractéristique Vs = f(Ve) (graphe du tableau 17.5). La tensionnotée Vbasc correspond à la valeur de la tension d’entrée Ve au moment du basculement de l’inverseurd’un état statique à l’autre.

• VDD = +10V :tension continue

• VSS = 0V : court-circuit entre masse(gnd) et VSS

• V e : signal triangu-laire

• Vmax = +10V• T = 10ms

Tab. 17.5: Schéma du montage 4 et graphe de la fonction de transfert

Question 17.3.9 Réaliser le montage du tableau 17.5 pour relever à l’oscilloscope, la caractéris-tique de transfert de l’inverseur.

Question 17.3.10 Expliquer sa forme et retrouver les équations des droites définissant les diffé-rentes zones de fonctionnement des 2 transistors.

17.4 Annexes

17.4.1 Maquette experimentaleCâblage de la maquette

Le TP utilise une maquette expérimentale (schéma du tableau 17.6) permettant d’accéder à 3transistors NMOS et à 3 transistors PMOS organisés en deux rangées.

• S : Source• G : Grille• D : Drain• B : Bulk (suBstrat)

•Rangée du haut : PMOS

•Rangée du bas : NMOS

Tab. 17.6: Disposition des transistors sur la maquette

Pour que les transistors NMOS et PMOS fonctionnent correctement il convient de respecter lesrègles suivantes durant tout le TP :

Page 200: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

17.4. ANNEXES 199

• Le substrat des transistors PMOS (connexion nommée Vdd) doit toujours être à la tensionmaximum (la plus positive) du montage,

• Le substrat des transistors NMOS (connexion nommée Vss) doit toujours être à la tensionminimum (la plus négative) du montage.

Câblage des alimentations

1 tension continue 2 tensions continues 2 tensions symétriques

Tab. 17.7: Connexion des générateurs de tension continue

Câblage des éléments

Les Source, Grille et Drain de chacun des transistors sontaccessibles par des plots à l’exception des transistors NMOSet PMOS de la colonne de gauche (MN1 et MP1) dontles sources sont déja connectées à leurs substrats respectifs(voir schéma du tableau 17.6 page précédente).

Il est possible de placer des composants passifs de type résis-tance ou capacité entre deux plots de connexion marqués d’unsymbole rectangulaire.

Il est possible d’injecter ou de prélever un signal par lesdeux prises coaxiales (appelées aussi "BNC") situées sur lescotés de la maquette. Rappelons que dans de telles prisessont connectés à la fois le signal (ame du coaxial, c’est à direle fil central) et la masse (blindage du coaxial, connecté àl’équipotentielle "gnd").

Tab. 17.8: Câblage des différents éléments

Page 201: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

200 CHAPITRE 17. TP - CARACTÉRISATION DU TRANSISTOR MOS

17.4.2 Utilisation sommaire de l’oscilloscopePour la visualisation des signaux électriques, nous utiliserons un oscilloscope à 2 voies. Ces 2

voies, A et B, peuvent être affichées de différentes manières :• A ou B séparément : touche "A/B",• A et B simultanément : touche "A/B",• la voie B peut être inversée : touche "ADD INVERT",• A et B additionnées : touche "ADD INVERT",• A et B soustraites (A−B uniquement) : touche "ADD INVERT".En mode "normal" chacune de ces voies est visualisée en fonction du temps. Nous pouvons

utiliser le mode «X/Y» en utilisant la touche "X DEFL" et en sélectionnant la tension de deviationhorizontale par la touche "TRIG or X SOURCE".

17.4.3 Modèles statique et grand signalLa table 17.9 page ci-contre résume d’une part les conditions normales d’utilisation des tran-

sistors NMOS et PMOS et d’autre part les équations simplifiées du courant Ids entre le Drain etla Source, en fonction de leur conditions de fonctionnement. Les symboles utilisés sont :

• VDD : tension continue positive d’alimentation(circuit supposé être alimenté entre 0V et VDD),

• VT0N : tension de seuil du transistor NMOS : à Vbs = 0V , VT0N > 0V ,• VT0P : tension de seuil du transistor PMOS : à Vbs = 0V , VT0P < 0V ,• k : facteur de transconductance :kn = µ0n · C ′ox et kp = µ0p · C ′ox,

• K : coefficient de conduction :Kn = kn

2Wn

Lnet Kp = kp

2Wp

Lp,

• λ : coefficient de modulation de longueur de canal (effet Early) :λn = 1

VEn·Ln et λp = 1VEp·Lp

• VEG : tension effective de grille (pour le NMOS et pour le PMOS) :VEG = VGS − VT ,

• VDSsat : tension de pincement ou de saturation (pour le NMOS et pour le PMOS) :VDSsat = VGS − VT .

Fig. 17.2: Schéma du modèle statique et grand signal du transistor MOS

17.4.4 Modèles de la tension de seuil des transistors MOSLa valeur absolue de la tension de seuil VT augmente lorsque la valeur absolue de la tension Vbs

augmente. Le modèle comportemental de cette variation est : | VT |=| VT0 | + | f(Vbs |). La courbede cette fonction sera le plus souvent fournie comme dans la figure 17.3 page ci-contre.

La valeur de VT0 et celles des paramètres de la fonction f(Vbs), sont propres à une technologiede fabrication. Pour une même technologie, ces valeurs différent pour le NMOS et pour le PMOS.

Page 202: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

17.4. ANNEXES 201

Équations du transistor NMOS

régime conditions courant Ids

bloqué V gs ≤ VTn Ids = 0

ohmique

V gs > VTn

V ds→ 0 Ids = 2 Kn (V gs− VTn)V ds

quadratique V ds < V dssat Ids = 2 Kn(V gs− VTn − V ds

2

)V ds

pincement V ds = V dssat Idssat = Kn (V gs− VTn)2

saturation V ds > V dssat Ids = Idssat

(1 + λn (V ds− V dssat)

)effet de substrat V bsn < 0 VTn = VT0n + f(V bsn) (voir figure 17.3)

Équations du transistor PMOS

régime conditions courant Ids

bloqué V gs ≥ VTp Ids = 0

ohmique

V gs < VTp

V ds→ 0 Ids = −2 Kp (V gs− VTp)V ds

quadratique V ds > V dssat Ids = −2 Kp(V gs− VTp − V ds

2

)V ds

pincement V ds = V dssat Idssat = −Kp (V gs− VTp)2

saturation V ds < V dssat Ids = Idssat

(1− λp (V ds− V dssat)

)effet de substrat V bsp > 0 VTp = VT0p − f(V bsp) (voir figure 17.3)

Tab. 17.9: Équations des transistors MOS (voir schéma figure 17.2 page précédente)

Fig. 17.3: Variation de la tension de seuil

Page 203: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

202 CHAPITRE 17. TP - CARACTÉRISATION DU TRANSISTOR MOS

Page 204: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 18

TP - Caractérisation électrique deportes

18.1 Sommaire

• Objectifs du TP• Caractérisation de l’inverseur CMOS

– Fonction de transfert d’un inverseur : V s = f(V e),– Extraction des capacités d’entrée et de sortie de l’inverseur,– Détermination des temps de propagation de l’inverseur : tp0 et dtp.

• Annexes et rappels– Description de la maquette expérimentale,– Utilisation sommaire de l’oscilloscope,– Modèles du courant des transistors MOS,– Modèle du temps de propagation de l’inverseur CMOS.

18.2 Objectifs du TP

Les objectifs de ce TP sont d’une part d’acquérir une première familiarisation avec les modèles decomportement des transistors MOS, et d’autre part de vérifier (ou de découvrir) expérimentalementquelques résultats connus de la logique CMOS concernant ses caractéristiques en vitesse et enconsommation.

L’utilisation de la maquette (voir le schéma du tableau 18.3 page 206) et celle de l’oscilloscopesont décrites en annexe.

18.3 Caractérisation d’un inverseur CMOS

18.3.1 Étude des régimes de fonctionnement des transistors NMOS etPMOS : la fonction de transfert d’un inverseur CMOS

L’inverseur est un circuit actif, alimenté entre 0V et VDD par une tension continue posi-tive. Il réalise la fonction amplification-inversion qui est une fonction élémentaire de l’électro-nique analogique (0V ≤ V e ≤ V DD) comme de l’électronique numérique (V e = 0V = ”0” ouV e = V DD = ”1”).

“CMOS” caractérise la technologie utilisée pour réaliser le circuit. Cette technologie permet deconstruire dans un même cristal semi-conducteur, des transistors MOS de type N et des transistorsMOS de type P.

La fonction de transfert est la caractéristique V s = f(V e). La tension notée Vbasc correspondà la valeur de la tension d’entrée Ve au moment du basculement de l’inverseur d’un état statiqueà l’autre.

203

Page 205: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

204 CHAPITRE 18. TP - CARACTÉRISATION ÉLECTRIQUE DE PORTES

Fig. 18.1: l’inverseur CMOS

• VDD = +10V continu• VSS = 0V : court-circuit

entre masse (GND) et VSS

• V e : signal triangulaire• Vmax = +10V• T = 10ms

Tab. 18.1: Schéma du montage 2

Question 18.3.1 Réaliser le montage 2 pour relever à l’oscilloscope, la caractéristique de transfertde l’inverseur.

Question 18.3.2 Expliquer sa forme et retrouver les équations des droites définissant les diffé-rentes zones de fonctionnement des 2 transistors.

Question 18.3.3 Démontrer qu’au basculement (à V e = V basc) les deux transistors sont enrégime saturé.

Question 18.3.4 En tenant compte de la forme et de la fréquence du signal d’entrée, établirl’équation littérale reliant V basc aux paramètres VDD, Kn, Kp, VT0N et VT0P .

Nous supposerons que la tension de seuil du transistor PMOS est VT0P ≈ −1.1V , et nousreprendrons les valeurs de Kn et de VT0N caractérisées lors du TP sur le transistor MOS.

Question 18.3.5 En déduire la valeur de Kp.

Nous approximons le rapport des mobilités : µ0N/µ0P ≈ 3.

Question 18.3.6 Que penser de la géométrie (W/L) du PMOS par rapport à celle du NMOS ?

18.4 Extraction des capacités d’entrée et de sortie de l’inver-seur

La détermination des capacités d’entrée et de sortie est effectuée de manière indirecte par lamesure du courant dynamique. Compte tenu de la forme et de la fréquence du signal d’entrée, nous

Page 206: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

18.5. DÉTERMINATION DES TEMPS DE PROPAGATION DE L’INVERSEUR 205

supposons que la consommation est uniquement due à l’énergie utilisée pour charger et déchargerla capacité totale (CT = CU + Cs) présente sur le noeud de sortie. Nous rappellons que l’énergiefournie par l’alimentation lors d’un cycle de charge et de décharge de cette capacité est égale àCT ·V 2

DD. Le relevé du courant dans l’inverseur sera réalisé par l’insertion d’une résistance de faiblevaleur entre la source du transistor NMOS (MN2 ou MN3 sur la maquette) et la masse.

• VDD = +10V continu• VSS = 0V : court-circuit entre

masse (GND) et VSS

• R = 51Ω• Vmax = +10V• Cu = 10nF avec T = 1ms• Cu = 1nF avec T = 1ms• Cu = 10nF avec T = 0.1ms• Cu = 0nF avec T = 1µs• Cu = 0nF avec T = 0.5µs• Cu = Ceinv avec T =?

Tab. 18.2: Schéma du montage 3

Question 18.4.1 Calculer la valeur moyenne du courant dans la résitance R, en fonction de la fré-quence f du signal d’entrée, de la capacité CT sur le noeud de sortie, et de la tension d’alimentationVDD.

Effectuer le montage 3 : un seul inverseur chargé par une capacité CU .

Question 18.4.2 Dans les 3 premières configurations (CU et T ), relever à l’oscilloscope la formede la tension du point M, et justifier l’allure du signal observé. Mesurer la valeur moyenne de cettetension (multimètre en position “V DC” ou “V=”).

L’inverseur est utilisé seul (aucune charge sur sa sortie : CU = 0F ).

Question 18.4.3 Mesurer à l’aide du multimètre la valeur moyenne de la tension au point M,pour une fréquence du signal d’entrée de 1MHz, puis de 2MHz.

Question 18.4.4 Déduire de cette mesure la valeur du courant moyen. Comparer au modèlethéorique précédent et calculer la capacité de sortie de l’inverseur.

On connecte un deuxième inverseur en sortie du premier (CU = Ceinv).

Question 18.4.5 Effectuer à nouveau la mesure du courant moyen et déduire de cette mesure lavaleur de la capacité d’entrée de l’inverseur.

18.5 Détermination des temps de propagation de l’inverseurPour déterminer le temps de propagation de l’inverseur, nous allons étudier un oscillateur en

anneau.Un oscillateur en anneau est composé d’une chaîne d’inverseurs en nombre impair (supérieur à

un), fermée sur elle même. Nous nous limiterons à un anneau minimal constitué de trois inverseurs.L’inverseur est supposé reproduire parfaitement l’état logique complémentaire après un temps

de propagation τ (supposé identique en montée et en descente). Nous proposons ci-dessous lemontage 4 et le début de chronograme des différents signaux.

Question 18.5.1 Donner la suite du chronogramme sur deux périodes de l’oscillateur.

Question 18.5.2 Déterminer la période de l’oscillateur en fonction du temps de propagation del’inverseur.

Page 207: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

206 CHAPITRE 18. TP - CARACTÉRISATION ÉLECTRIQUE DE PORTES

Fig. 18.2: Montage 4 et chronogrammes

On désire vérifier pratiquement la fréquence d’oscillation.

Question 18.5.3 Est-il envisageable de réaliser simplement le montage, et de connecter directe-ment l’oscilloscope sur une des sorties de l’anneau d’inverseurs ?

Question 18.5.4 Établir un circuit de mesure inspiré du montage 3, et permettant cette mesureavec un minimum de perturbations.

Question 18.5.5 Effectuer la mesure et comparer à la valeur calculée. Justifier un éventuel écartpar rapport à la théorie.

18.6 Annexes

18.6.1 Maquette experimentaleCâblage de la maquette

Le TP utilise une maquette expérimentale (schéma du tableau 18.3) permettant d’accéder à 3transistors NMOS et à 3 transistors PMOS organisés en deux rangées.

• S : Source• G : Grille• D : Drain• B : Bulk (suBstrat)

•Rangée du haut : PMOS

•Rangée du bas : NMOS

Tab. 18.3: Disposition des transistors sur la maquette

Pour que les transistors NMOS et PMOS fonctionnent correctement il convient de respecter lesrègles suivantes durant tout le TP :

Page 208: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

18.6. ANNEXES 207

• Le substrat des transistors PMOS (connexion nommée Vdd) doit toujours être à la tensionmaximum (la plus positive) du montage,

• Le substrat des transistors NMOS (connexion nommée Vss) doit toujours être à la tensionminimum (la plus négative) du montage.

Câblage des alimentations

1 tension continue 2 tensions continues 2 tensions symétriques

Tab. 18.4: Connexion des générateurs de tension continue

Câblage des éléments

Les Source, Grille et Drain de chacun des transistors sontaccessibles par des plots à l’exception des transistors NMOSet PMOS de la colonne de gauche (MN1 et MP1) dontles sources sont déja connectées à leurs substrats respectifs(voir schéma du tableau 18.3 page précédente).

Il est possible de placer des composants passifs de type résis-tance ou capacité entre deux plots de connexion marqués d’unsymbole rectangulaire.

Il est possible d’injecter ou de prélever un signal par lesdeux prises coaxiales (appelées aussi "BNC") situées sur lescotés de la maquette. Rappelons que dans de telles prisessont connectés à la fois le signal (ame du coaxial, c’est à direle fil central) et la masse (blindage du coaxial, connecté àl’équipotentielle "gnd").

Tab. 18.5: Câblage des différents éléments

Page 209: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

208 CHAPITRE 18. TP - CARACTÉRISATION ÉLECTRIQUE DE PORTES

18.6.2 Utilisation sommaire de l’oscilloscope

Pour la visualisation des signaux électriques, nous utiliserons un oscilloscope à 2 voies. Ces 2voies, A et B, peuvent être affichées de différentes manières :

• A ou B séparément : touche "A/B",• A et B simultanément : touche "A/B",• la voie B peut être inversée : touche "ADD INVERT",• A et B additionnées : touche "ADD INVERT",• A et B soustraites (A−B uniquement) : touche "ADD INVERT".En mode "normal" chacune de ces voies est visualisée en fonction du temps. Nous pouvons

utiliser le mode «X/Y» en utilisant la touche "X DEFL" et en sélectionnant la tension de deviationhorizontale par la touche "TRIG or X SOURCE".

18.6.3 Modèles statique et grand signal

La table 18.6 page ci-contre résume d’une part les conditions normales d’utilisation des tran-sistors NMOS et PMOS et d’autre part les équations simplifiées du courant Ids entre le Drain etla Source, en fonction de leur conditions de fonctionnement. Les symboles utilisés sont :

• VDD : tension continue positive d’alimentation(circuit supposé être alimenté entre 0V et VDD),

• VT0N : tension de seuil du transistor NMOS : à Vbs = 0V , VT0N > 0V ,• VT0P : tension de seuil du transistor PMOS : à Vbs = 0V , VT0P < 0V ,• k : facteur de transconductance :kn = µ0n · C ′ox et kp = µ0p · C ′ox,

• K : coefficient de conduction :Kn = kn

2Wn

Lnet Kp = kp

2Wp

Lp,

• λ : coefficient de modulation de longueur de canal (effet Early) :λn = 1

VEn·Ln et λp = 1VEp·Lp

• VEG : tension effective de grille (pour le NMOS et pour le PMOS) :VEG = VGS − VT ,

• VDSsat : tension de pincement ou de saturation (pour le NMOS et pour le PMOS) :VDSsat = VGS − VT .

Fig. 18.3: Schéma du modèle statique et grand signal du transistor MOS

18.6.4 Rappels sur le modèle de temps de propagation de l’inverseurCMOS

Le temps de propagation Tp d’une porte logique est le temps écoulé entre un changement d’étatdu signal d’entrée (Sm) et le changement d’état correspondant du signal de sortie (Sv).

Une définition du changement d’état d’un signal est son passage à mi-chemin entre la tensionv0 (tension de l’état statique "0") et la tension v1 (tension de l’état statique "1").

On peut être amené à distinguer le temps de propagation en montée Tpm de celui en descenteTpd lorsque l’on s’intéresse aux transitions montantes ou descendentes de la sortie de la porte (voir

Page 210: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

18.6. ANNEXES 209

Équations du transistor NMOS

régime conditions courant Ids

bloqué V gs ≤ VTn Ids = 0

ohmique

V gs > VTn

V ds→ 0 Ids = 2 Kn (V gs− VTn)V ds

quadratique V ds < V dssat Ids = 2 Kn(V gs− VTn − V ds

2

)V ds

pincement V ds = V dssat Idssat = Kn (V gs− VTn)2

saturation V ds > V dssat Ids = Idssat

(1 + λn (V ds− V dssat)

)effet de substrat V bsn < 0 VTn = VT0n + f(V bsn) (voir figure ?? page ??)

Équations du transistor PMOS

régime conditions courant Ids

bloqué V gs ≥ VTp Ids = 0

ohmique

V gs < VTp

V ds→ 0 Ids = −2 Kp (V gs− VTp)V ds

quadratique V ds > V dssat Ids = −2 Kp(V gs− VTp − V ds

2

)V ds

pincement V ds = V dssat Idssat = −Kp (V gs− VTp)2

saturation V ds < V dssat Ids = Idssat

(1− λp (V ds− V dssat)

)effet de substrat V bsp > 0 VTp = VT0p − f(V bsp) (voir figure ?? page ??)

Tab. 18.6: Équations des transistors MOS (voir schéma figure 18.3 page précédente)

figure 18.4).

Fig. 18.4: Temps de propagation de l’inverseur MOS

Le temps de propagation de l’inverseur CMOS équilibré (dTpd = dTpm soit respectivementRDS0N = RDS0P ) peut être modélisé par l’ équation linéaire suivante : Tp = Tp0 + dTp ·Cu (voirfigure 18.5 page suivante).

• Tp0 : temps de propagation intrinsèque de l’inverseur• dTp : dépendance capacitive du temps de propagation (en s/F soit en Ohms)• Cu : capacité de charge connectée en sortie de l’inverseur.

Page 211: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

210 CHAPITRE 18. TP - CARACTÉRISATION ÉLECTRIQUE DE PORTES

Fig. 18.5: Modèle de l’inverseur MOS

Une valeur approximative du temps de propagation intrinsèque peut être obtenue en mesurantla capacité de sortie de l’inverseur CS : Tp0 = dTp · Cs

Enfin, une caractérisation complète de l’inverseur nécessite de mesurer la capacité d’entrée Ce.

Page 212: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 19

TP - Modélisation et caractérisationde transistors et d’opérateurslogiques CMOS

19.1 Sommaire

• Objectifs du TP• Caractérisation d’un transistor NMOS,

– Transconductance : Ids = f(Vgs),– Extraction de Kn et de VT0N

• Caractérisation de l’inverseur CMOS– Fonction de transfert d’un inverseur : V s = f(V e),– Extraction des capacités d’entrée et de sortie de l’inverseur,– Détermination des temps de propagation de l’inverseur : tp0 et dtp.

• Annexes et rappels– Description de la maquette expérimentale,– Utilisation sommaire de l’oscilloscope,– Modèles du courant des transistors MOS,– Modèle du temps de propagation de l’inverseur CMOS.

19.2 Objectifs du TP

Les objectifs de ce TP sont d’une part d’acquérir une première familiarisation avec les modèles decomportement des transistors MOS, et d’autre part de vérifier (ou de découvrir) expérimentalementquelques résultats connus de la logique CMOS concernant ses caractéristiques en vitesse et enconsommation.

L’utilisation de la maquette (voir le schéma du tableau 19.4 page 215) et celle de l’oscilloscopesont décrites en annexe.

19.3 Caractérisation d’un transistor NMOS

19.3.1 Transconductance : Ids = f(Vgs)

Il s’agit de vérifier expérimentalement la variation du courant Ids d’un transistor NMOS enfonction de la tension Vgs lorsque le transistor est en régime saturé grâce au montage du ta-bleau 19.1 page suivante.

Question 19.3.1 Avant de réaliser le montage, montrer que le transistor passe alternativementdu régime bloqué au régime saturé. En déduire l’expression théorique de Ids fonction de Vgs, en

211

Page 213: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

212CHAPITRE 19. TP - MODÉLISATION ET CARACTÉRISATION DE TRANSISTORS ET D’OPÉRATEURS LOGIQUES CMOS

• VSS = 0V : court-circuit entremasse (gnd) et VSS

• V e : signal triangulaire• Vmax = +10V• T = 10ms• MN1 = NMOS• R = 1kΩ

Tab. 19.1: Schéma du montage 1

négligeant l’effet de modulation de longueur de canal (effet Early).

Question 19.3.2 Réaliser le montage du tableau 19.1 et faire apparaître sur l’oscilloscope en modeXY, la courbe Ve − Vds = R · Ids = f(Vgs), à l’aide des voies A et B connectées selon le schéma.

Question 19.3.3 Extraire la valeur des paramètres Kn et VT0N du transistor, à partir de deuxmesures de IDS judicieusement choisies (par exemple Ids1 = 1mA pour Vgs1 et Ids2 = 4mA pourVgs2 ...). Nous obtenons :

• VT =

√Ids2Ids1

Vgs1 − Vgs2√Ids2Ids1

− 1soit : VT = 2Vgs1 − Vgs2

• Kn =(√

Ids2 −√Ids2

(Vgs2 − Vgs1)

)2

soit : Kn = 1mA

(Vgs2−Vgs1)2

19.4 Caractérisation d’un inverseur CMOS

19.4.1 Étude des régimes de fonctionnement des transistors NMOS etPMOS : la fonction de transfert d’un inverseur CMOS

L’inverseur est un circuit actif, alimenté entre 0V et VDD par une tension continue posi-tive. Il réalise la fonction amplification-inversion qui est une fonction élémentaire de l’électro-nique analogique (0V ≤ V e ≤ V DD) comme de l’électronique numérique (V e = 0V = ”0” ouV e = V DD = ”1”).

“CMOS” caractérise la technologie utilisée pour réaliser le circuit. Cette technologie permet deconstruire dans un même cristal semi-conducteur, des transistors MOS de type N et des transistorsMOS de type P.

Fig. 19.1: l’inverseur CMOS

Page 214: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

19.5. EXTRACTION DES CAPACITÉS D’ENTRÉE ET DE SORTIE DE L’INVERSEUR 213

La fonction de transfert est la caractéristique V s = f(V e). La tension notée Vbasc correspondà la valeur de la tension d’entrée Ve au moment du basculement de l’inverseur d’un état statiqueà l’autre.

• VDD = +10V continu• VSS = 0V : court-circuit

entre masse (GND) et VSS

• V e : signal triangulaire• Vmax = +10V• T = 10ms

Tab. 19.2: Schéma du montage 2

Question 19.4.1 Réaliser le montage 2 pour relever à l’oscilloscope, la caractéristique de transfertde l’inverseur.

Question 19.4.2 Expliquer sa forme et retrouver les équations des droites définissant les diffé-rentes zones de fonctionnement des 2 transistors.

Question 19.4.3 Démontrer qu’au basculement (à V e = V basc) les deux transistors sont enrégime saturé.

Question 19.4.4 En tenant compte de la forme et de la fréquence du signal d’entrée, établirl’équation littérale reliant V basc aux paramètres VDD, Kn, Kp, VT0N et VT0P .

Question 19.4.5 Sachant que la tension de seuil du transistor PMOS est VT0P ≈ −1.1V , endéduire la valeur de Kp.

Nous approximons le rapport des mobilités : µ0N/µ0P ≈ 3.

Question 19.4.6 Que penser de la géométrie (W/L) du PMOS par rapport à celle du NMOS ?

19.5 Extraction des capacités d’entrée et de sortie de l’inver-seur

La détermination des capacités d’entrée et de sortie est effectuée de manière indirecte par lamesure du courant dynamique. Compte tenu de la forme et de la fréquence du signal d’entrée, noussupposons que la consommation est uniquement due à l’énergie utilisée pour charger et déchargerla capacité totale (CT = CU + Cs) présente sur le noeud de sortie. Nous rappellons que l’énergiefournie par l’alimentation lors d’un cycle de charge et de décharge de cette capacité est égale àCT ·V 2

DD. Le relevé du courant dans l’inverseur sera réalisé par l’insertion d’une résistance de faiblevaleur entre la source du transistor NMOS (MN2 ou MN3 sur la maquette) et la masse.

Question 19.5.1 Calculer la valeur moyenne du courant dans la résitance R, en fonction de la fré-quence f du signal d’entrée, de la capacité CT sur le noeud de sortie, et de la tension d’alimentationVDD.

Effectuer le montage 3 : un seul inverseur chargé par une capacité CU .

Question 19.5.2 Dans les 3 premières configurations (CU et T ), relever à l’oscilloscope la formede la tension du point M, et justifier l’allure du signal observé. Mesurer la valeur moyenne de cettetension (multimètre en position “V DC” ou “V=”).

Page 215: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

214CHAPITRE 19. TP - MODÉLISATION ET CARACTÉRISATION DE TRANSISTORS ET D’OPÉRATEURS LOGIQUES CMOS

• VDD = +10V continu• VSS = 0V : court-circuit entre

masse (GND) et VSS

• R = 51Ω• Vmax = +10V• Cu = 10nF avec T = 1ms• Cu = 1nF avec T = 1ms• Cu = 10nF avec T = 0.1ms• Cu = 0nF avec T = 1µs• Cu = 0nF avec T = 0.5µs• Cu = Ceinv avec T =?

Tab. 19.3: Schéma du montage 3

L’inverseur est utilisé seul (aucune charge sur sa sortie : CU = 0F ).

Question 19.5.3 Mesurer à l’aide du multimètre la valeur moyenne de la tension au point M,pour une fréquence du signal d’entrée de 1MHz, puis de 2MHz.

Question 19.5.4 Déduire de cette mesure la valeur du courant moyen. Comparer au modèlethéorique précédent et calculer la capacité de sortie de l’inverseur.

On connecte un deuxième inverseur en sortie du premier (CU = Ceinv).

Question 19.5.5 Effectuer à nouveau la mesure du courant moyen et déduire de cette mesure lavaleur de la capacité d’entrée de l’inverseur.

19.6 Détermination des temps de propagation de l’inverseurPour déterminer le temps de propagation de l’inverseur, nous allons étudier un oscillateur en

anneau.Un oscillateur en anneau est composé d’une chaîne d’inverseurs en nombre impair (supérieur à

un), fermée sur elle même. Nous nous limiterons à un anneau minimal constitué de trois inverseurs.L’inverseur est supposé reproduire parfaitement l’état logique complémentaire après un temps

de propagation τ (supposé identique en montée et en descente). Nous proposons ci-dessous lemontage 4 et le début de chronograme des différents signaux.

Fig. 19.2: Montage 4 et chronogrammes

Question 19.6.1 Donner la suite du chronogramme sur deux périodes de l’oscillateur.

Question 19.6.2 Déterminer la période de l’oscillateur en fonction du temps de propagation del’inverseur.

Page 216: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

19.7. ANNEXES 215

On désire vérifier en pratique la fréquence d’oscillation.

Question 19.6.3 Est-il envisageable de réaliser simplement le montage, et de connecter directe-ment l’oscilloscope sur une des sorties de l’anneau d’inverseurs ?

Question 19.6.4 Établir un circuit de mesure inspiré du montage 3, et permettant cette mesureavec un minimum de perturbations.

Question 19.6.5 Effectuer la mesure et comparer à la valeur calculée. Justifier un éventuel écartpar rapport à la théorie.

19.7 Annexes

19.7.1 Maquette experimentaleCâblage de la maquette

Le TP utilise une maquette expérimentale (schéma du tableau 19.4) permettant d’accéder à 3transistors NMOS et à 3 transistors PMOS organisés en deux rangées.

• S : Source• G : Grille• D : Drain• B : Bulk (suBstrat)

•Rangée du haut : PMOS

•Rangée du bas : NMOS

Tab. 19.4: Disposition des transistors sur la maquette

Pour que les transistors NMOS et PMOS fonctionnent correctement il convient de respecter lesrègles suivantes durant tout le TP :

• Le substrat des transistors PMOS (connexion nommée Vdd) doit toujours être à la tensionmaximum (la plus positive) du montage,

• Le substrat des transistors NMOS (connexion nommée Vss) doit toujours être à la tensionminimum (la plus négative) du montage.

Câblage des alimentations

Câblage des éléments

19.7.2 Utilisation sommaire de l’oscilloscopePour la visualisation des signaux électriques, nous utiliserons un oscilloscope à 2 voies. Ces 2

voies, A et B, peuvent être affichées de différentes manières :• A ou B séparément : touche "A/B",• A et B simultanément : touche "A/B",• la voie B peut être inversée : touche "ADD INVERT",• A et B additionnées : touche "ADD INVERT",

Page 217: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

216CHAPITRE 19. TP - MODÉLISATION ET CARACTÉRISATION DE TRANSISTORS ET D’OPÉRATEURS LOGIQUES CMOS

1 tension continue 2 tensions continues 2 tensions symétriques

Tab. 19.5: Connexion des générateurs de tension continue

Les Source, Grille et Drain de chacun des transistors sontaccessibles par des plots à l’exception des transistors NMOSet PMOS de la colonne de gauche (MN1 et MP1) dontles sources sont déja connectées à leurs substrats respectifs(voir schéma du tableau 19.4 page précédente).

Il est possible de placer des composants passifs de type résis-tance ou capacité entre deux plots de connexion marqués d’unsymbole rectangulaire.

Il est possible d’injecter ou de prélever un signal par lesdeux prises coaxiales (appelées aussi "BNC") situées sur lescotés de la maquette. Rappelons que dans de telles prisessont connectés à la fois le signal (ame du coaxial, c’est à direle fil central) et la masse (blindage du coaxial, connecté àl’équipotentielle "gnd").

Tab. 19.6: Câblage des différents éléments

• A et B soustraites (A−B uniquement) : touche "ADD INVERT".En mode "normal" chacune de ces voies est visualisée en fonction du temps. Nous pouvons

utiliser le mode «X/Y» en utilisant la touche "X DEFL" et en sélectionnant la tension de deviationhorizontale par la touche "TRIG or X SOURCE".

19.7.3 Modèles statique et grand signal

La table 19.7 page suivante résume d’une part les conditions normales d’utilisation des transis-tors NMOS et PMOS et d’autre part les équations simplifiées du courant Ids entre le Drain et laSource, en fonction de leur conditions de fonctionnement. Les symboles utilisés sont :

• VDD : tension continue positive d’alimentation(circuit supposé être alimenté entre 0V et VDD),

Page 218: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

19.7. ANNEXES 217

• VT0N : tension de seuil du transistor NMOS : à Vbs = 0V , VT0N > 0V ,• VT0P : tension de seuil du transistor PMOS : à Vbs = 0V , VT0P < 0V ,• k : facteur de transconductance :kn = µ0n · C ′ox et kp = µ0p · C ′ox,

• K : coefficient de conduction :Kn = kn

2Wn

Lnet Kp = kp

2Wp

Lp,

• λ : coefficient de modulation de longueur de canal (effet Early) :λn = 1

VEn·Ln et λp = 1VEp·Lp

• VEG : tension effective de grille (pour le NMOS et pour le PMOS) :VEG = VGS − VT ,

• VDSsat : tension de pincement ou de saturation (pour le NMOS et pour le PMOS) :VDSsat = VGS − VT .

Équations du transistor NMOS

régime conditions courant Ids

bloqué V gs ≤ VTn Ids = 0

ohmique

V gs > VTn

V ds→ 0 Ids = 2 Kn (V gs− VTn)V ds

quadratique V ds < V dssat Ids = 2 Kn(V gs− VTn − V ds

2

)V ds

pincement V ds = V dssat Idssat = Kn (V gs− VTn)2

saturation V ds > V dssat Ids = Idssat

(1 + λn (V ds− V dssat)

)effet de substrat V bsn < 0 VTn = VT0n + f(V bsn) (voir figure ?? page ??)

Équations du transistor PMOS

régime conditions courant Ids

bloqué V gs ≥ VTp Ids = 0

ohmique

V gs < VTp

V ds→ 0 Ids = −2 Kp (V gs− VTp)V ds

quadratique V ds > V dssat Ids = −2 Kp(V gs− VTp − V ds

2

)V ds

pincement V ds = V dssat Idssat = −Kp (V gs− VTp)2

saturation V ds < V dssat Ids = Idssat

(1− λp (V ds− V dssat)

)effet de substrat V bsp > 0 VTp = VT0p − f(V bsp) (voir figure ?? page ??)

Tab. 19.7: Équations des transistors MOS (voir schéma figure 19.3)

Fig. 19.3: Schéma du modèle statique et grand signal du transistor MOS

Page 219: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

218CHAPITRE 19. TP - MODÉLISATION ET CARACTÉRISATION DE TRANSISTORS ET D’OPÉRATEURS LOGIQUES CMOS

19.7.4 Rappels sur le modèle de temps de propagation de l’inverseurCMOS

Le temps de propagation Tp d’une porte logique est le temps écoulé entre un changement d’étatdu signal d’entrée (Sm) et le changement d’état correspondant du signal de sortie (Sv).

Une définition du changement d’état d’un signal est son passage à mi-chemin entre la tensionv0 (tension de l’état statique "0") et la tension v1 (tension de l’état statique "1").

On peut être amené à distinguer le temps de propagation en montée Tpm de celui en descenteTpd lorsque l’on s’intéresse aux transitions montantes ou descendentes de la sortie de la porte (voirfigure 19.4).

Fig. 19.4: Temps de propagation de l’inverseur MOS

Le temps de propagation de l’inverseur CMOS équilibré (dTpd = dTpm soit respectivementRDS0N = RDS0P ) peut être modélisé par l’ équation linéaire suivante : Tp = Tp0 + dTp ·Cu (voirfigure 19.5).

Fig. 19.5: Modèle de l’inverseur MOS

• Tp0 : temps de propagation intrinsèque de l’inverseur• dTp : dépendance capacitive du temps de propagation (en s/F soit en Ohms)• Cu : capacité de charge connectée en sortie de l’inverseur.

Une valeur approximative du temps de propagation intrinsèque peut être obtenue en mesurantla capacité de sortie de l’inverseur CS : Tp0 = dTp · Cs

Enfin, une caractérisation complète de l’inverseur nécessite de mesurer la capacité d’entrée Ce.

Page 220: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 20

TP - Machines à états dans un CLP

Le texte de ce TP n’est pour l’instant disponible qu’en ligne à l’adresse suivante :

http ://www.comelec.enst.fr/tpsp/tp/poly/clp_seq/

219

Page 221: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

220 CHAPITRE 20. TP - MACHINES À ÉTATS DANS UN CLP

Page 222: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 21

TP - Nanoprocesseur

Le texte de ce TP n’est pour l’instant disponible qu’en ligne à l’adresse suivante :

http ://www.comelec.enst.fr/tpsp/tp/poly/clp_nano_proc/

221

Page 223: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

222 CHAPITRE 21. TP - NANOPROCESSEUR

Page 224: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Quatrième partie

Annexes

223

Page 225: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans
Page 226: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Chapitre 22

Rappels de physiques

22.1 Courant, conductivité, résistivité, résistance

22.1.1 Notion de courantUn courant électrique dans un matériau est un déplacement de charges libres. Il nécessite

l’existence de :• charges libres, c’est à dire non liées à la structure du matériau, donc libres de s’y déplacer,• d’une force capable de les entraîner.

22.1.2 DéfinitionsLa densité de courant (J , en A ·m−2) est la quantité de charges traversant une section d’aire

unitaire dans un intervalle de temps unitaire.L’intensité de courant (I, en A) est la quantité de charges traversant une section d’aire AS dans

un intervalle de temps unitaire : I = dQdt = ASJ

La conductivité σ (en Ω−1 ·m−1, ou S ·m−1) d’un matériau est égale à : σ = n · q · µ.où :• n est la densité (concentration par unité de volume, en m−3) des charges libres dans ce

matériau,• µ, leur mobilité (en m−2V −1s−1) dans ce matériau,• La charge de l’électron est qe− ≈ −0, 16aC, (a = 10−18),• q est la charge unitaire (en C, Coulomb) : q = |qe−|.La résistivité ρ (en Ω ·m) est égale à : ρ = 1

σLa résistance (en Ω) d’un tube de longueur L et dont l’aire de la section est AS , dans un

matériau de résistivité ρ est :

R = ρ LAS

22.2 Champ électrique et potentielPour simplifier, il existe deux types de courant : le courant de diffusion et celui de conduction.La force de diffusion est due à un gradient de concentration de charges. Elle entraîne les porteurs

libres vers les régions de moindre concentration, créant ainsi un courant de diffusion. C’est cellequi est utilisée pour la modélisation du courant dans la jonction PN (voir plus loin) et dans cellede l’effet bipolaire (voir la Leçon 4 page 59). Nous ne reviendrons par sur ce type de courant.

225

Page 227: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

226 CHAPITRE 22. RAPPELS DE PHYSIQUES

Le champ électrique (E = −dVdx , en V · m−1), engendre une force (~F = q · ~E, en N) sur un

porteur libre de charge q, qui ainsi se déplace à la vitesse ~v (~v = µ · ~E, en m · s−1).Le courant de conduction ainsi créé, a une densité J , égale à : J = σ · E = n · q · µ · E.Le travail fourni pour déplacer cette charge du point A au point B, contre l’effet de ce champ,

est égal au produit de la charge par la différence de potentiel (en V) : q · VBA = −q ·∫ xB

xAE dx.

Le champ électrique est orienté du plus fort potentiel vers le plus faible. De ce fait les électrons,de charge négative, "remontent" ils le potentiel, mais le courant conventionnel est de même sensque le champ électrique.

Ainsi nous pouvons modéliser un courant en connaissant :• le matériau par :

– la mobilité de ses porteurs libres (µ),– leur densité dans la région active (n),

• la charge unitaire de ces porteurs (q),• l’action appliquée : ici le champ électrique (E).

22.3 Conducteur, isolant, semi-conducteurPour simplifier, seuls les électrons de la couche périphérique d’un atome, peuvent être soit :• libres, c’est à dire non liés à un atome fixe. Ils sont appelés électrons de conduction car il

peuvent alors, participer à un courant de conduction tel que défini plus haut. Ces électrons nesont pas localisés, mais, macroscopiquement (à l’intérieur d’un volume suffisamment grand)la neutralité électrique est conservée entre ions métalliques et électrons libres.

• liés à un atome fixe, et participer avec les électrons des atomes voisins, à la structure dumatériau. Ils sont appelés électrons de valence. Ils ne peuvent participer à aucun courantdans les conditions normales.

Nous allons calculer la résistance d’un même tube de longueur L, et de section AS dans 4 typesde matériau :

• un conducteur, métallique,• un semi-conducteur pur, le silicium,• du silicium dopé N,• du silicium dopé P.

22.3.1 ConducteurDans un matériau conducteur (métal), une grande partie des électrons périphériques est libre.

Mais, à la température normale (T = 300˚K, soit teta = 27˚C), l’agitation thermique et laprobabilité de collision des électrons mobiles avec des ions métalliques, sont telles que leur vitessesous l’action d’un champ électrique est faible. Pour cette raison et pour simplifier, nous considéronsque, à la température normale, chaque atome fournit 1 électron libre.

Supposons que le matériau utilisé soit un métal dont la densité atomique est Nm = 50 ·10+27m−3, et dans lequel la mobilité des électrons et µ = 0, 15 · m−2V −1s−1. La densité desélectrons libres est : nm = Nm.

Rappelons que la charge unitaire de l’électron est qe− = −0, 16 · aC = −0, 16 · 10−18C. Poursimplifier l’écriture nous notons qe = |qe−|.

Nous allons calculer la résistance d’un tube de longueur L = 10mm, de section AS = 1mm−2.La résistance du tube métallique est :

R = ρL

AS=

1σ· LAS

=1

n · qµ· LAS

=1

N · qeµ· LAS

22.3.2 IsolantDans un matériau isolant, l’oxyde de silicium (SiO2) par exemple, il faut une énergie importante

pour rendre un électron périphérique libre. Cette énergie Eg, est appelée le gap. Pour l’oxyde desilicium Eg = 8, 8eV . Ainsi, à la température normale, aucun électron n’est libre. Aucun courant

Page 228: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

22.3. CONDUCTEUR, ISOLANT, SEMI-CONDUCTEUR 227

Dimensions Technologie Constante Résistance

L = 10mm

AS = 1mm−2

Nm = 50 · 10+27 ·m−3

µ = 0, 15m−2V −1s−1qe = 0, 16aC R = 1

N ·qeµ ·L

AS≈ 8µΩ

Tab. 22.1: En résumé, pour un métal conducteur (T = 300˚K)

ne peut circuler au travers d’un isolant, si le potentiel appliqué n’est pas extrêmement fort, et ceciau risque de le détruire. La résistance du tube d’isolant est infinie.

22.3.3 Semi-conducteur pur

Un matériau semi-conducteur, le silicium (Si) par exemple, appartient à la colonne IV de laclassification périodique des éléments. A l’état solide, il forme un cristal de structure tétraédrique :chaque atome Si est relié à ses 4 plus proches voisins par l’intermédiaire des 4 électrons de sacouche périphérique.

Le semi-conducteur est un isolant à la température du zéro absolu (0˚K).Le gap du silicium est Eg = 1, 12eV , donc très faible par rapport à celui d’un isolant, mais

cependant non nul. À la température normale, l’énergie thermique fournie est telle qu’une partiedes électrons périphériques est libre. La densité d’électrons libres ainsi créés (à T = 300˚K) est :ni = 15 · 10+15m−3. Cette densité est à comparer à la densité atomique du silicium cristallisé :N = 50 · 10+27m−3. Chaque électron libre laisse un ion Si+.

La proportion ni/N est extrêmement faible. L’ion Si+ a de fortes chances de capter un desélectrons périphériques de ses 4 atomes voisins, pour redevenir un atome Si (Si+ + e− = Si,c’est le phénomène de recombinaison). Ainsi un ion Si+ peut être considéré comme désolidarisé del’électron e−, qu’il a perdu.

L’ion Si+ est, comme l’ion e−, un porteur libre. L’ion Si+ est appelé trou (tr+). La densitépi des trous et la même que celle, ni, des électrons. L’indice i, signifie que le silicium est pur(intrinsèque).

Dans un semi-conducteur il existe donc deux types de courant : un courant d’électrons et uncourant de trous. Ce type de matériau est dit bipolaire. Du fait de leur processus de créationdifférents, électrons et trous ont des mobilités différentes, µn et µp. Notons enfin que la charge dutrou est égale à l’opposé de celle de l’électron : qtr+ = −qe− = qe.

En utilisant les mêmes dimensions qu’au paragrahe 22.3.1 page ci-contre, nous calculons larésistance du tube de silicium pur :

R =1σSi

· LAS

=1

(σn + σp)· LAS

1(ni · qeµn + pi · qtrµp)

· LAS

=1

ni · qe (µn + µp)· LAS

Les valeurs des paramètres de technologie, données dans le tableau 22.2 page suivante, sontcelles rencontrées typiquement pour une technologie CMOS Silicium 0, 5µm.

22.3.4 Semi-conducteur dopé N

Le dopage N consiste à substituer un certain nombre d’atomes de silicium par des d’atomesdonneurs, c’est à dire des atomes possédant 5 électrons sur leur couche périphérique. Ce typed’atome (phosphore, arsenic et vieilles dentelles) appartient à la colonne V de la classificationpériodique des éléments.

Quatre des cinq électrons périphériques des atomes donneurs participent aux liaisons covalentesavec les 4 atomes de silicium voisins. Il suffit d’une énergie très faible (0,05 eV) pour que le 5meélectron se libère. Le dopant N est ainsi un donneur (D) d’électron libre. A température normaletous les 5eélectrons sont libérés, et la concentration en électrons libres nN du silicium dopé N estpratiquement égale à la concentration du dopant ND.

La densité de dopage des substrats de technologie CMOS que nous allons utiliser dans lasuite du module, est ND = 70 · 10+21m−3, soit environ un atome donneur pour 700 000 atomesde Si. Ceci est à comparer avec la concentration intrinsèque (dans le silicium pur) des porteurs

Page 229: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

228 CHAPITRE 22. RAPPELS DE PHYSIQUES

Principe

Si+ θ = Si+ + e− = tr+ + e−

Dimensions Technologie Constante Résistance

L = 10mmNSi = 50 · 10+27m−3

ni = pi = 15 · 10+15m−3qe = 0, 16aC R =

1ni · qe (µn + µp)

· LAS

AS = 1mm2 µn = 0, 015 ·m−2V −1s−1

µp = 0, 006 ·m−2V −1s−1

Tab. 22.2: En résumé, pour le silicium intrinsèque (T = 300˚K, θ = 27˚C)

libres : ni = pi = 15 · 10+15m−3, et à la concentration d’atomes dans le mono-cristal de Silicium :NSi = 50 · 10+27m−3.

La “Loi d’action de masse” dont la théorie ne sera pas développée ici, précise que dans unsemi-conducteur à l’équilibre, le produit des concentrations des porteurs libres positifs et négatifsest constant quel que soit le dopage effectué : p · n = n2

i . La concentration en trous pN du siliciumdopé N est donc très inférieure à la concentration intrinsèque ni :

nN ≈ ND = 70 · 10+21 ≫ pN ≈ n2i

ND= 3, 2 · 10+9

Les électrons sont les porteurs majoritaires. Les trous sont les porteurs minoritaires.Attention : les atomes dopant sont fixes (par leurs 4 liaisons de valence) dans la structure

cristalline. A température normale ils sont tous ionisés (ionD+) est sont des charges électrostatiquesfixes.

Calculons la résistance du tube de silicium dopé N :

R =1σN

· LAS

=1

(σnN + σpN )· LAS

1(nN · qeµn + pN · qtrµp)

· LAS

≈ 1ND · qeµn

· LAS

Les valeurs des paramètres de technologie, données dans le tableau 22.3 page ci-contre, sontcelles rencontrées typiquement pour une technologie CMOS Silicium 0, 5µm.

22.3.5 Semi-conducteur dopé PLe dopage P consiste à substituer un certain nombre d’atomes de silicium par des atomes

accepteurs, c’est à dire des atomes possédant 3 électrons sur leur couche périphérique. Ce typed’atome (bore, indium) appartient à la colonne III de la classification périodique des éléments.

Quatre places sont disponibles pour les liaisons covalentes de la maille élémentaire. Trois élec-trons périphériques des atomes accepteurs participent à ces liaisons. Il suffit d’une énergie trèsfaible pour que le 4eélectron soit emprunté à un atome de silicium voisin, qui se trouve ainsi ioniséSi+, c’est à dire transformé en trou libre. Le dopant P est ainsi un accepteur (A) d’électron, unfournisseur de trou libre. A température normale tous les atomes dopants accepteurs ont capté

Page 230: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

22.4. INTRODUCTION AUX COMPOSANTS ACTIFS À SEMI-CONDUCTEUR 229

Principe

Équation

D + θ = D+ + e−

Concentration des majoritaires

et des minoritaires

θ = 300K ⇒ nN ≈ ND ≫ pN ≈ n2i

ND

Dimensions Technologie Constante Résistance

L = 10mm ND = 70 · 10+21m−3 qe = 0, 16aC R ≈ 1ND · qeµN

· LAS

≈ 60Ω

AS = 1mm2 µN = 0, 015 ·m−2V −1s−1

Tab. 22.3: En résumé, pour le silicium dopé N (T = 300˚K, θ = 27˚C)

leur 4eélectron, et produit un trou. La concentration en trous libres pP du silicium dopé P estpratiquement égale à la concentration du dopant NA.

Les ordres de grandeur des densités de dopage sont les mêmes que précédemment. La Loid’action de masse nous permet de calculer la concentration en électrons nP du silicium dopé P,qui est donc très inférieure à la concentration intrinsèque ni :

pP ≈ NA = 70 · 10+21 ≫ nP ≈ n2i

NA= 3, 2 · 10+9

Les électrons sont les porteurs minoritaires. Les trous sont les porteurs majoritaires.Attention : les atomes dopant sont fixes (par leurs 4 liaisons de valence) dans la structure

cristalline. A température normale ils sont tous ionisés (ion A−) est sont des charges électrostatiquesfixes.

Calculons la résistance du tube de silicium dopé P :

R =1σP

· LAS

=1

(σnP + σpP )· LAS

1(nP · qeµn + pP · qtrµp)

· LAS

≈ 1NA · qeµn

· LAS

Les valeurs des paramètres de technologie, données dans le tableau 22.4 page suivante, sontcelles rencontrées typiquement pour une technologie CMOS Silicium 0, 5µm.

22.4 Introduction aux composants actifs à semi-conducteur

Les matériaux que nous avons étudiés, nous permettent de créer des dipôles, de résistance fixe,une fois choisie leur technologie et déterminées leurs dimensions. Si un potentiel est appliqué à leursbornes et qu’il ne produit pas un champ électrique trop élevé (environ 5MV ·m−1, soit 5V ·µm−1)la loi d’Ohm, V = RI, peut s’appliquer et permettre de calculer le courant traversant le dipôle.

22.4.1 La jonction PN

Pour créer un composant actif une solution a été de "coller" deux zones semi-conductricesdopées de manière opposée. Un tel dispositif est appelé une jonction PN, ou diode. L’anode (A)correspond à la zone dopée P, la cathode (K) à la zone dopée N.

Page 231: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

230 CHAPITRE 22. RAPPELS DE PHYSIQUES

Principe

Équation

A+ Si+ θ = A− + Si+ = A− + tr+

Concentration des majoritaires

et des minoritaires

θ = 300K ⇒ pP ≈ NA ≫ nP ≈ n2i

NA

Dimensions Technologie Constante Résistance

L = 10mm NA = 70 · 10+21m−3 qe = 0, 16aC R ≈ 1NA · qeµP

· LAS

≈ 150Ω

AS = 1mm2 µP = 0, 006 ·m−2V −1s−1

Tab. 22.4: En résumé, pour le silicium dopé P (T = 300˚K, θ = 27˚C)

Modèle de courant

Le modèle qui décrit le courant IJ dans la diode est le modèle de Shockley, fondé sur le calculde la somme des courants de diffusion des minoritaires de chaque zone dopée (voir ci dessous).

Les valeurs des paramètres de technologie, données dans le tableau 22.5, sont celles rencontréestypiquement pour une technologie CMOS Silicium 0, 5µm.

Coupe technologique Symbole

Dimensions Technologie Constante Modèle

W,L densité du courant de sa-turation inverse

Vth = kTqe

= 26mVIJ = AJ · JS (exp (VPN/Vth)− 1)

AJ = W · L JS = 5µA · m−2 = 5aA ·µm−2

à T=300˚K

Tab. 22.5: la jonction PN : modèle du courant (direct et inverse)

La jonction PN en direct

Lorsque la tension VPN , appliquée aux bornes de la diode, est positive, la diode est polariséeen direct. Chacune des bornes du générateur VPN injecte des porteurs majoritaires dans une zonedopée :

• la borne Positive de VPN injecte des trous dans la zone P de la jonction PN,

Page 232: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

22.4. INTRODUCTION AUX COMPOSANTS ACTIFS À SEMI-CONDUCTEUR 231

• la borne Négative de VPN injecte des électrons dans la zone N de la jonction PN,Le courant IJ qui la traverse croît de manière exponentielle avec VPN .

La jonction PN en inverse

Lorsque la tension VPN est négative la diode est polarisée en inverse. D’après le modèle deShockley, le courant IJ est extrêmement faible. En effet, pour VPN ≤ −4 ·Vth ≈ −100mV, IJ ≈−IS = −AJ · JS (pour les valeurs numériques : voir le tableau 22.5 page précédente).

En polarisation inverse, ce sont des porteurs minoritaires qui sont injectés par VPN dans chaquezone dopée. Il se crée, autour de l’interface de ces deux zones (la jonction proprement dite) unerégion dite déserte, où la densité de porteurs libres est pratiquement nulle. La zone déserte secomporte quasiment comme un isolant. L’épaisseur de cette région est très faible et augmentelorsque VPN devient plus négative.

De ce point de vue, la jonction se comporte comme un condensateur CJ , dont le diélectrique estla zone de silicium désertée, et dont la capacité varie en fonction de sa polarisation. Cette propriétéest utilisée dans les diodes “Varicap” qui sont employées dans les Oscillateurs Commandés enTension (VCO).

Les valeurs des paramètres de technologie, données dans le tableau 22.6, sont celles rencontréestypiquement pour une technologie CMOS Silicium 0, 5µm.

Coupe technologique Schéma équivalent

Dimensions Technologie Modèle

AJ = W · L JS = 5µAm−2 = 5aAµm−2 IJ ≈ −AJ · JS

Wcapacité surfacique

de la jonction à VPN = 0V :

C ′J0 = 0, 8 ·mF ·m−2 = 0, 8 · fF · µm−2

CJ = AJ · C ′J01r

1−VPNψj

L potentiel de jonction

ψj = 0, 6V

Tab. 22.6: la jonction PN en inverse (VPN ≤ 0V ) : modèle de courant et de capacité

Page 233: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

232 CHAPITRE 22. RAPPELS DE PHYSIQUES

Dans le module ENI, nous ne rencontrerons pratiquement que des jonctions à polarisationnulle ou inverse. Nous négligerons ainsi le courant inverse, et nous maximiserons la valeur ducondensateur équivalent en prenant la capacité surfacique à polarisation nulle (voir tableau 22.7).

Les valeurs des paramètres de technologie, données dans le tableau 22.7, sont celles rencontréestypiquement pour une technologie CMOS Silicium 0, 5µm.

Coupe technologique Schéma équivalent

Dimensions Technologie Modèle

AJ = W · L C ′J0 = 0, 8fF · µm−2 CJ = AJ · C ′J0

Tab. 22.7: la jonction PN en inverse (VPN ≤ 0V )

22.5 BibliographiePour en savoir plus...• Physics of Semiconductors Devices, S. M. SZE (Wiley Interscience Publication, 1981).• Principles of CMOS VLSI Design, Neil WESTE and Kanrar ESHRAGHIAN, (Addison Wes-

lay Publishing, 1985).• Dispositifs et Circuits Intégrés Semiconducteurs, André VAPAILLE and René CASTAGNÉ

(Éditions Dunod, 1987).• Digital Integrated Circuits, a design perspective, Jan RABAEY (Prentice Hall International

Editions, 1996).• MosFet modeling and Bsim3 user’s guide, Yuhua CHENG and Chenming HU (Kluwer Aca-

demic Publishers, 1999).Index

Page 234: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

Index

A

Additionneur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

B

Bascules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122point mémoire. . . . . . . . . . . . . . . . . . . . . . . . .114registre à décalage . . . . . . . . . . . . . . . . . . . . .119RS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115Setup, Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Binaireopérateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 26, 29

C

CA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Chemin critique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69, 86

consommation . . . . . . . . . . . . . . . . . . . . . . . . . 106Codage

BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52Gray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52p parmi n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53parité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53simple de position . . . . . . . . . . . . . . . . . . . . . . 49

Codage binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Comparateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44Complémentarité. . . . . . . . . . . . . . . . . . . . . . . . . . . .86Composants MOS. . . . . . . . . . . . . . . . . . . . . . . . . . .66Compteur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120Conducteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226Conduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Consommation. . . . . . . . . . . . . . . . . . . . . . . . . . . . .106

circuit CMOS . . . . . . . . . . . . . . . . . . . . . . . . . 107porte CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . 106

Conversions entre bases . . . . . . . . . . . . . . . . . . . . . 50Courant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61, 225

D

Diffusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Dimensionnement . . . . . . . . . . . . . . . . . . . . . . . . . . 105Diode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65, 229

fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . 65modèle capacitif . . . . . . . . . . . . . . . . . . . . . . . . 66modèle du courant. . . . . . . . . . . . . . . . . . . . . .65

Dopage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62, 227Drain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

E

effetEarly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

F

Flip flop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117Fonction logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Fonctions arithmétiques . . . . . . . . . . . . . . . . . . . . . 53Forme

algébrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36canonique conjonctive . . . . . . . . . . . . . . . . . . 38canonique disjonctive . . . . . . . . . . . . . . . . . . . 37conjonctive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37disjonctive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36

G

Graphe d’état . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .126

I

Interrupteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Isolant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

J

Jonction PN . . . . . . . . . . . . . . . . . . . . . . . . . . . 65, 229

K

Karnaugh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40construction du tableau . . . . . . . . . . . . . . . . 40fonctions non complètement définies . . . . 42simplification . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

L

Latch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116Logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

233

Page 235: BCI - TPSP - Électronique Numérique Intégrée numérique/eni.pdf · TD5 TD5 Utilisation et synthèse des machines à états (chapitre 15 page 185) TP11 Machines à états dans

234 INDEX

fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35fonctions, représentation . . . . . . . . . . . . . . . . 36représentation schématique . . . . . . . . . . . . . 43

Logique séquentielle . . . . . . . . . . . . . . . . . . . . . . . .111construction . . . . . . . . . . . . . . . . . . . . . . . . . . . 112principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

M

Machines à états . . . . . . . . . . . . . . . . . . . . . . . . . . . 125état futur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

adjacent . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135aléatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135one hot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

graphe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126registre d’état . . . . . . . . . . . . . . . . . . . . . . . . . 131sorties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132

Multiplexeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

O

Opérateur binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

P

Pincement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75Pipeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122Polarisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Portes logiques

additionneur . . . . . . . . . . . . . . . . . . . . . . . . . . . 53comparateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 44complexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88ET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43multiplexeur. . . . . . . . . . . . . . . . . . . . . . . . . . . .44NON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43NON-ET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43NON-OU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43OU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43OUEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44soustracteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

Propagation, temps deinverseur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

R

Régimequadratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Registre à décalage . . . . . . . . . . . . . . . . . . . . . . . . 119Représentation

complément à 2 . . . . . . . . . . . . . . . . . . . . . . . . 51des nombres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49signe et valeur absolue . . . . . . . . . . . . . . . . . . 51

Représentation des nombres . . . . . . . . . . . . . . . . . 49

S

Saturation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

Schéma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Semi

conducteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62Semi-conducteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

dopé N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227dopé P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

Signalélectrique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Soustracteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55Système numérique . . . . . . . . . . . . . . . . . . . . . . . . . 21

T

Table de vérité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35Temps de propagation . . . . . . . . . . . . . . . . . . . . . . 93Transistor MOS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

CMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69dimensionnement . . . . . . . . . . . . . . . . . . . . . . 105fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . 68modélisation des capacités . . . . . . . . . . . . . . 78modèle électrique . . . . . . . . . . . . . . . . . . . . . . . 70modèle en interrupteur . . . . . . . . . . . . . . . . . 83NMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68PMOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76source, drain . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

V

Vitesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93

Z

Zone déserte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231