La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Enseignants: Fakhreddine GHAFFARI Olivier ROMAIN Année Universitaire 2012/2013 Fakhreddine.

Présentations similaires


Présentation au sujet: "Enseignants: Fakhreddine GHAFFARI Olivier ROMAIN Année Universitaire 2012/2013 Fakhreddine."— Transcription de la présentation:

1 Enseignants: Fakhreddine GHAFFARI (fakhreddine.ghaffari@u-cergy.fr) Olivier ROMAIN (olivier.romain@u-cergy.fr) Année Universitaire 2012/2013 Fakhreddine GHAFFARI Olivier ROMAIN Electronique Numérique 1 Electronique Numérique ENSL1 (S1) 1 ère année IUT GEII

2 Plan du cours Electronique Numérique 2 I. Chapitre 1: Introduction 1.Historique 2.Technologie 3.Bases de numération II. Chapitre 2: Lalgèbre de Boole et les fonctions logiques 1.Les lois et règles de lalgèbre binaire 2.Les fonctions binaires élémentaires 3.Ecriture et simplification des fonctions logiques III. Chapitre 3: Les circuits logiques 1.Les circuits dencodage et de décodage 2.Les circuits multiplexeurs et démultiplexeurs Fakhreddine GHAFFARI Olivier ROMAIN

3 Plan du cours Electronique Numérique 3 IV.Chapitre 4: Les circuits arithmétiques 1.Les circuits additionneurs 2.Les circuits multiplieurs/diviseurs V. Chapitre 5: La logique séquentielle 1.Lélément de base : la bascule Asynchrone 2.Les bascules Synchrones 3.Les registres Synchrones Fakhreddine GHAFFARI Olivier ROMAIN

4 Chapitre 1: Introduction Electronique Numérique 4 Quest ce que lélectronique Numérique ? Pourquoi et à quoi ça sert ? 2 grands types de systèmes électroniques : Les dispositifs électroniques ANALOGIQUES (amplification, filtrage, antennes, GSM, etc.) Les dispositifs électroniques NUMERIQUES (tous les autres systèmes, informatique, TNT, réception numérique, etc.) Dans les systèmes analogiques, on utilise les lois physiques du composant pour effectuer des opérations sur les grandeurs, exemple (qui doit devenir bien connu !) : Avantages : simplicité, rapidité et précision Inconvénients : peu de souplesse, pas de « programmation », forte sensibilité au bruit et aux variations Fakhreddine GHAFFARI Olivier ROMAIN

5 Introduction (suite) Fakhreddine GHAFFARI Philippe GUERINEAU Electronique Numérique 5 Dans les systèmes électroniques numériques, les grandeurs sont transformées en nombres et les composants sont plus facilement utilisables Tout se fait avec des Interrupteurs Les premiers ordinateurs ont été fabriqués, avec des lampes (ancêtre du transistor) et des relais électromécaniques (des interrupteurs commandés). Exemple : 1946 : Création de l'ENIAC (Electronic Numerical Integrator and Computer) La programmation de ce calculateur s'effectue en recablant entre eux, ses différents éléments. Composé de 19000 tubes, il pèse 30 tonnes, occupe une surface de 72 m2 et consomme 140 kilowatts. Horloge : 100 KHz. Vitesse : environ 330 multiplications par seconde, soit beaucoup moins bien quune simple calculatrice. Be carefull : On ne remplace pas tout, de lanalogique au numérique ! Certaines fonctions restent seulement réalisables en analogique (ex : les antennes, les applications damplifications et de hautes tensions, etc.)

6 Electronique Numérique 6 Lélectronique numérique : Avantages : souplesse, évolutivité, insensibilité au rayonnement et au bruit, Inconvénients : manque de précision (encore aujourdhui), pas assez rapide Les systèmes électroniques modernes savent intégrer des parties analogiques aux parties numériques, exp : processeur de calcul + tète RF analogique = téléphonie portable. Fakhreddine GHAFFARI Olivier ROMAIN

7 Un peu de Technologie Electronique Numérique 7 Un peu de technologie : La base de tous les systèmes électroniques numériques est le transistor, utilisé comme un interrupteur commandé (le remplaçant du relais électromécanique des années 1930). Il y a eu différentes technologies, et différents types de transistors. Aujourdhui, la technologie dominante sur le marché est la technologie MOS (Metal Oxyde Silicon) et CMOS (Complementary MOS). Le Transistor MOS: commande interrupteur drain source Grille En fonction de la tension électrique appliquée sur la grille, le transistor est équivalent (entre drain et source) à un interrupteur presque parfait, ouvert ou fermé. Fakhreddine GHAFFARI Olivier ROMAIN

8 Récapitulatif Electronique Numérique 8 => Un dispositif électronique numérique est constitué uniquement de transistors (les transistors complémentaires CMOS), qui sont utilisés comme des interrupteurs (entre source et drain) commandés par la tension appliquée sur la grille. => Remarque : la technologie CMOS évolue très rapidement en faisant diminuer dun facteur 2 la taille des transistors, tous les 18 mois, pour atteindre aujourdhui plusieurs milliards de transistors sur une seule « puce » de silicium de quelque centaines de mm² Toutes les grandeurs (tensions) à lintérieur dun système électronique numérique (les tensions de grille de commande ou les tensions de sortie qui, elles mêmes commandent dautres transistors) ne prennent que 2 états : - état « 0 » => tension VSS, (GND), 0V, = 0 - état « 1 » => tension VDD, (VCC), quelque Volts, = 1 => Un système à 2 états est un système BINAIRE, dans lequel on applique Une algèbre particulière => lalgèbre de BOOL avec ses lois spécifiques. Fakhreddine GHAFFARI Olivier ROMAIN

9 1) Représentation des nombres en binaire Electronique Numérique 9 Parmi la vaste quantité dobjets mathématiques sur lesquels on peut essayer de faire des calculs électroniquement, nous nous intéresserons quà deux catégories seulement : Les nombres entiers non signés : signés : ( 2, 50, 34, 10, 1, 123, … ) ( -2, 50, -34, -10, 1, -123, … ) Les nombres fractionnaires à virgule fixe ou à précision finie à virgule flottante ou nombres flottants ou, maladroitement, les nombres à précision infinie. Fakhreddine GHAFFARI Olivier ROMAIN Les bases de numération

10 Représentation des nombres entiers Electronique Numérique 10 Dune manière générale, un nombre entier (positif) N peut sécrire (se représenter) dans une base quelconque (B entier) de la manière suivante : => N est le nombre mathématique (abstrait), => B est la base de représentation, => Ci sont les coefficients de la représentation de N dans la base B, => n correspond au nombre maximum de coefficients utilisés pour représenter N. Fakhreddine GHAFFARI Olivier ROMAIN

11 Représentation dun nombre décimal Electronique Numérique 11 en base 10 (décimal ) en base 8 ( octal ) en base 2 (binaire ) Donc le nombre : se représente par : 145 en base 10 (décimal), 221 en base 8 (octal), 10010001 en base 2 (binaire). Fakhreddine GHAFFARI Olivier ROMAIN

12 Représentation en binaire Electronique Numérique 12 En binaire, on peut donc représenter nimporte quel entier N avec M bits : Sur M bits, les nombres entiers positifs représentables sont limités à : Exemple : Sur 4 bits => Sur 8 bits=> Sur 16 bits=> Fakhreddine GHAFFARI Olivier ROMAIN

13 Représentation en binaire (suite) Electronique Numérique 13 Cette représentation conduit naturellement au code binaire naturel : => on affecte à chaque indice de la base un poids, en partant du plus faible (à droite) pour atteindre le plus fort (à gauche), tout comme en décimale avec : les unités, les dizaines, les centaines, … C0 N (décimal) 0 1 0 (=0) 1 0 0 0 1 2 3 1 1 0 0 0 0 1 1 1 1 0 0 0 01 11 1 7 6 5 4 0 0 0 0 0 0 0 0 C3C2C1 0000 2 ….. Exemple : Soit N = 1010011 en binaire, quelle est sa valeur décimale ? N(2) = 1010011 Doù N(10) = 64+16+2+1=83 Fakhreddine GHAFFARI Olivier ROMAIN

14 Exemple en octal Electronique Numérique 14 De même, dans nimporte quelle base, exemple en octal : C0 N (décimal) 0 1 0 1 0 0 2 3 2 3 0 0 0 0 4 60 07 5 7 6 5 4 C1 01 8 11 21 9 9 Fakhreddine GHAFFARI Olivier ROMAIN

15 Représentation dans des bases multiples Electronique Numérique 15 Lorsque les nombres représentés en binaire sont un peu trop « longs », on prendra lhabitude de les représenter dans des bases multiples, afin de minimiser lexpression : 1 0 0 1 0 0 0 1en base 2 2 1 0 1en base 4 9 1en base 16 Fakhreddine GHAFFARI Olivier ROMAIN

16 Choix de la base Electronique Numérique 16 Nimporte quelle représentation binaire dun nombre peut se réécrire de façon plus compacte en regroupant les bits : 2 par 2 pour la représentation en base 4 = 3 par 3 pour la représentation en base 8 = 4 par 4 pour la représentation en base 16 = Par habitude, on utilise couramment les bases : 2 (binaire) et 16 (hexadécimal). En base 16, il faut « inventer » des chiffres compris entre : 0 et 15 : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F 10 11 1213 14 15 Fakhreddine GHAFFARI Olivier ROMAIN

17 Représentation des nombres fractionnaires Electronique Numérique 17 Pour représenter les nombres réels fractionnaires, se pose le problème (comme en décimal) de la précision de représentation => jusquà quelle décimale voulons nous représenter les nombres ? Autrement dit, quelle est la précision (le quantum) de nos calculs ? 2 possibilités précision fixée à lavance (virgule fixe) précision variable (virgule flottante => « précision infinie ») Fakhreddine GHAFFARI Olivier ROMAIN

18 Représentation en virgule fixe Electronique Numérique 18 On sinspire de la représentation décimale : Si on décide de toujours garder 3 chiffres après la virgule : on est en virgule fixe. La précision maximale de représentation est : Cette représentation est strictement équivalente à la représentation des entiers, à un facteur déchelle près. Nombre entierFacteur déchelle Fakhreddine GHAFFARI Olivier ROMAIN

19 Exemple dopération à virgule fixe Electronique Numérique 19 Addition entière En binaire, on utilise la même méthode : sur N bits :, avec : N = E + F E bitsF bits Partie entière sur E bits Partie fractionnaire sur F bits Fakhreddine GHAFFARI Olivier ROMAIN

20 Autre exemple Electronique Numérique 20 Partie entière sur 4 bitsPartie fractionnaire sur 5 bits Or : 13.65625 = 437 / 32 = 1101,10101 Ces 2 expressions sont rigoureusement identiques Fakhreddine GHAFFARI Olivier ROMAIN

21 Addition à virgule fixe Electronique Numérique 21 13,65625 + 22,12501101,10101 10110,00100 100011,11001 + = Problème : comment trouver la représentation, en virgule fixe la mieux adaptée au nombre réel donné ? 0,92 x 2 = 1.84 1 0,84 x 2 = 1.68 1 0,68 x 2 = 1.36 1 0,36 x 2 = 0.72 0 Exemple : 9,92La partie entière sur 4 bits : 1001 La partie fractionnaire sur 4 bits : 1110 Finalement : 9,92 va sécrire : 1001,1110 => donc sur codé sur 8 bits 1001,1110 est exactement égal à : 9,875 => cest la valeur arrondie à : près de 9,92 Fakhreddine GHAFFARI Olivier ROMAIN

22 Transcodage dune base B vers la base 10 Electronique Numérique 22 Il suffit de calculer en base 10 la somme totale des puissances pondérées de la base B. Fakhreddine GHAFFARI Olivier ROMAIN

23 Transcodage Décimal vers une base B Electronique Numérique 23 Méthode par soustractions successives Fakhreddine GHAFFARI Olivier ROMAIN Cette méthode utilise le développement polynomial Algorithme Dresser une table donnant les valeurs des différentes puissances de la base B dans laquelle on convertit le nombre décimal Au nombre décimal donné, retrancher la plus grande puissance de B possible Répéter le processus à partir des restes obtenus Remarque Cette méthode ne sapplique quaux nombres entiers

24 Transcodage Décimal vers une base B Electronique Numérique 24 Exemple Fakhreddine GHAFFARI Olivier ROMAIN Convertir 6718 (base 10) en octal:

25 Transcodage Décimal vers une base B Electronique Numérique 25 Méthode par divisions (ou multiplications) Fakhreddine GHAFFARI Olivier ROMAIN Méthode plus simple, plus rapide Convient aux nombres entiers et fractionnaires Tout nombre N, à priori non entier, sera converti en considérant: Dune part sa partie entière, à laquelle on appliquera la méthode des divisions successives Dautre part sa partie fractionnaire, à laquelle on appliquera la méthode des multiplications successives

26 Transcodage Décimal vers une base B Electronique Numérique 26 Fakhreddine GHAFFARI Olivier ROMAIN Conversion de la partie entière Diviser le nombre à convertir par la base du nouveau système Conserver le reste Répéter le processus à partir du nouveau quotient obtenu Arrêter si le quotient est nul Écrire les restes à partir du dernier et de gauche à droite pour btenir le nombre en base B Exemple: convertir 358(10) en base 8

27 Transcodage Décimal vers une base B Electronique Numérique 27 Fakhreddine GHAFFARI Olivier ROMAIN Autre exemple: Convertir 254(10) vers la base 2 et vers la base 16?

28 Transcodage Décimal vers une base B Electronique Numérique 28 Fakhreddine GHAFFARI Olivier ROMAIN Conversion de la partie fractionnaire: Multiplier le nombre à convertir par la base du nouveau système Soustraire et conserver sa partie entière Répéter le processus à partir de la nouvelle partie fractionnaire Arrêter quand la précision désirée est atteinte Exemple: convertir 0,732(10) en base 8

29 Transcodage du binaire vers une base 2 et vice versa Electronique Numérique 29 Fakhreddine GHAFFARI Olivier ROMAIN Binaire vers Octal: Algorithme: Grouper les bits par blocs de 3 à partir du bit de poids faibles Convertir ensuite directement ces blocs en octal Exemple: Octal vers Binaire: Algorithme: Traduire chaque chiffre du nombre en base 8 en nombre de 3 bits en base 2 Exemple:

30 Transcodage du binaire vers une base 2 et vice versa Electronique Numérique 30 Fakhreddine GHAFFARI Olivier ROMAIN Binaire vers Hexadécimal: Algorithme: Grouper les bits par blocs de 4 à partir du bit de poids faibles Convertir ensuite directement ces blocs en hexadécimal Exemple: Hexadécimal vers Binaire: Algorithme: Traduire chaque chiffre du nombre en base 16 en nombre de 4 bits en base 2 Exemple:

31 Transcodage du Base i vers Base j Electronique Numérique 31 Fakhreddine GHAFFARI Olivier ROMAIN Les bases i et j sont toutes les deux des puissances de 2. On utilise alors la base 2 comme base relais : Les bases i et j ne sont pas toutes les deux des puissances de 2. On utilise alors la base 10 comme base relais

32 Représentation binaire des nombres signés Electronique Numérique 32 Il existe plusieurs façons de représenter les nombres signés (positifs et négatifs) La 1 ière manière consiste à sinspirer de la représentation décimale (-5) en représentant le signe (+ ou -) suivi de la valeur absolue 1 0 1 1 0 1 3 => 11 => -2 => 10 => Le signe (+ ou -) qui est une information binaire, est représenté par 1 bit de plus (le bit de signe) avec le codage suivant : Bit de signe = 0 => nombre positif Bit de signe = 1 => nombre négatif Fakhreddine GHAFFARI Olivier ROMAIN

33 Nombres signés : 1 ière méthode Electronique Numérique 33 1 ière conséquence : il faut 1 bit supplémentaire pour représenter les nombres (quils soient positifs ou négatifs) Au lieu de : positifs : négatifs : Létendue des valeurs est divisée par 2 => la moitié pour les nombres positifs et lautre pour les nombres négatifs. 2 ième conséquence : il y a 2 représentations possibles du nombre : 0 => +0 ou -0 !!! Fakhreddine GHAFFARI Olivier ROMAIN

34 Nombres signés : 1 ière méthode (suite) Electronique Numérique 34 3 ième conséquence : toute larithmétique binaire s applique sans changements sur les nombres positifs, mais pas sur les nombres négatifs !!! Lors dune soustraction / addition, il faut dabord calculer le signe du résultat en comparant les bits de signe et les valeurs absolues, comme en décimal. (+5) + (-3) = + (5-3) (-10)+ (+5)= - (10-5) (-5)+(-10)= - (10+5) Cest assez compliqué !! Toutes ces conséquences font quon utilise jamais cette représentation Fakhreddine GHAFFARI Olivier ROMAIN

35 Représentation en « code complément à 2 » Electronique Numérique 35 Cette représentation exploite la règle élémentaire de lalgèbre de Boole : Lorsque le nombre A est codé sur N bits, cette règle devient : Doù : Or, ne se représente pas sur N bits (tous les nombres sont modulo 2) => Ou encore : Exemple : Résultat = 0 sur le format du mot (cest-à-dire : 4 bits) La représentation de : - 7 sur 4 bits est donc : Fakhreddine GHAFFARI Olivier ROMAIN

36 Calcul de CC2 Electronique Numérique 36 Calculer lopposé dun nombre en CC2 (code complément à 2) revient donc à calculer lopposé (bit à bit : cest le CC1) auquel il faut ajouter : 1 Cette règle (de calcul) sapplique aussi bien pour calculer lopposé dun nombre positif que pour calculer lopposé dun nombre négatif !! Exemple : calculons lopposé de : -7 On retrouve bien évidemment le nombre positif : +7 !! Fakhreddine GHAFFARI Olivier ROMAIN

37 Conséquence du CC2 Electronique Numérique 37 1 ière conséquence : il ny a quune seule représentation du « 0 » 2 ième conséquence : lorsque les nombres sont strictement positifs, toutes les opérations (addition, soustraction, multiplication, division) sappliquent normalement : 3 ième conséquence : les opérations (addition, soustraction, multiplication, division) sappliquent également sur les nombres négatifs : Fakhreddine GHAFFARI Olivier ROMAIN

38 Conséquence du CC2 (suite) Electronique Numérique 38 Là aussi, on utilise un bit de plus pour représenter le signe => réduction de la dynamique : On a : valeurs positives ou nulle, soit 8 valeurs dans un format 4 bits (7 valeurs strictement positives et la valeur nulle ) On a : valeurs négatives, soit 8 valeurs dans un format 4 bits Représentation du codage CC2 dans un format : 4 bits a0 Non signés 0 1 0 1 0 0 0 1 2 3 1 1 0 0 0 0 1 1 1 1 0 0 0 01 11 1 7 6 5 4 0 0 0 0 0 0 0 0 a3a2a1 00081 190 0 1 10 11 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 01 11 1 15 14 13 121 1 1 1 Signés CC2 0 1 2 3 7 6 5 4 -8 -7 -6 -5 -2 -3 -4 Fakhreddine GHAFFARI Olivier ROMAIN

39 CC2 : généralisation Electronique Numérique 39 Dune manière générale, sur N bits on peut représenter : en binaire naturel en Code Complément à 2 : CC2 Cette représentation est utilisée dans tous les ordinateurs pour représenter les entiers signés. Inconvénient : les relations dordre entre les entiers signés sont difficiles à établir, surtout autour du « 0 » 0 Ce nombre est proche de 0, pourtant tous les bits sont à 1 !! => Plus on séloigne de la représentation binaire naturelle du 0, plus la valeur représentée en est proche !! Fakhreddine GHAFFARI Olivier ROMAIN

40 Le binaire décalé Electronique Numérique 40 a0 CC2 0 1 0 1 0 0 0 1 2 3 1 1 0 0 0 0 1 1 1 1 0 0 0 01 11 1 7 6 5 4 0 0 0 0 0 0 0 0 a3a2a1 000-81 10 0 1 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 01 11 1 1 1 1 1 Signés CC2 0 1 2 3 7 6 5 4 -8 -7 -6 -5 -2 -3 -4 -8 -7 -6 -5 -2 -3 -4 0 1 2 3 7 6 5 4 Fakhreddine GHAFFARI Olivier ROMAIN

41 Calcul du CC2 : astuce Electronique Numérique 41 Pour calculer lopposé dun nombre => en partant de la droite, on recopie les bits du nombre jusquau 1 ier « 1 » rencontré, ensuite on inverse les bits restants. Exemple : calculons lopposé de : 2 20010 -21110 Sens de lecture Fakhreddine GHAFFARI Olivier ROMAIN

42 Electronique Numérique 42 Inventée par le mathématicien Georges BOOLE (1815-1864), lalgèbre de BOOLE définit les règles de calcul pour les opérations possibles sur des nombres binaires (à 2 états) Une variable BOOLEENNE ne peut prendre que 2 états : VRAI (TRUE) ou FAUX (FALSE) on parle de logique booléenne (ou de logique binaire), lorsquon associe des valeurs numériques aux états : VRAI est équivalent à « 1 », quon appelle souvent : niveau 1. FAUX est équivalent à « 0 », quon appelle souvent : niveau 0. Il nexiste que 3 opérations élémentaires dans la logique booléenne : - opération NON (NOT) : cette opération revient à fournir le complément de la valeur dentrée (on parle également dinversion) Si A = 1 alors S = 0 Si A = 0 alors S = 1 Chapitre 2: Algèbre de Boole et fonctions logiques Fakhreddine GHAFFARI Olivier ROMAIN

43 Opération OU (OR) Electronique Numérique 43 -opération OU (OR) : cette opération revient à fournir la somme logique des valeurs dentrée (on parle également dunion) : S = A + B => on prononce : S = A OU B (et non pas : S = A plus B) -Définition : S = 1 si au moins une des entrées est égale à 1, sinon S = 0 Correspondance électrique : Mise en parallèle Fakhreddine GHAFFARI Olivier ROMAIN

44 Opération ET (AND) Electronique Numérique 44 Mise en série -opération ET (AND) : cette opération revient à fournir le produit logique des valeurs dentrée (on parle également dintersection) : S = A B => on prononce : S = A ET B -Définition : S = 1 si toutes les entrées sont égales à 1, sinon S = 0 Correspondance électrique : Fakhreddine GHAFFARI Olivier ROMAIN

45 Lois et règles Electronique Numérique 45 Les opérations ET et OU sont commutatives : Les opérations ET et OU sont associatives : Lopération ET est distributive : Lopération OU est également distributive ! : Attention : comme vous le savez, la distributivité de la somme nest vrai Quen algèbre binaire !!! Fakhreddine GHAFFARI Olivier ROMAIN

46 Règles et axiomes Electronique Numérique 46 Fakhreddine GHAFFARI Olivier ROMAIN

47 Règles (suite) Electronique Numérique 47 Démonstration : en utilisant laxiome : A.1 = A A + A.B = (A.1) + (A.B) => on doit reconnaître la distributivité inverse du ET (A.1) + (A.B) = A. (1+B) = A => CQFD Démonstration : on doit reconnaître la distributivité du OU => CQFD Montrer que : (A + B). (A+C) = A+BC Fakhreddine GHAFFARI Olivier ROMAIN

48 Théorème de DE MORGAN Electronique Numérique 48 A et B sont 2 variables binaires : On a : ; « le complément du produit est égal à la somme des compléments » On a : ; « le complément de la somme est égal au produit des compléments » Application du théorème de DE MORGAN : Fakhreddine GHAFFARI Olivier ROMAIN

49 Les fonctions binaires élémentaires Electronique Numérique 49 Les N variables de la fonction Toutes les combinaisons Possibles des N variables La fonction à calculer La valeur de la fonction, pour chaque combinaison des N variables dentrée La table de vérité répertorie toutes les valeurs que peut prendre la fonction, en fonction de toutes les combinaisons possibles des N variables dentrée. La table de vérité: Fakhreddine GHAFFARI Olivier ROMAIN

50 Table de vérité, à 1 et 2 variables Electronique Numérique 50 AS 1 seule variable => 2 combinaisons => 2 lignes dans la table de vérité 0 1 2 Variables => 4 combinaisons => 4 lignes dans la table de vérité AS 0 1 B 0 0 0 1 1 1 Fakhreddine GHAFFARI Olivier ROMAIN

51 Table de vérité, à 3 et plus variables Electronique Numérique 51 3 Variables => 8 combinaisons => 8 lignes dans la table de vérité AS 0 1 B 0 0 0 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 Généralisation : une fonction binaire à N variables peut prendre valeurs distinctes (possibles) donc => lignes dans sa table de vérité Fakhreddine GHAFFARI Olivier ROMAIN

52 Comment construire une table de vérité? Electronique Numérique 52 On insère autant de colonnes que de variables dentrée de la fonction On insère autant de lignes que les : combinaisons. On implémente les variables dans la table, en commençant par la colonne de droite. On commence par la combinaison : « tout à 0 », sur la 1 ière ligne Fakhreddine GHAFFARI Olivier ROMAIN

53 Fonction : NON (NOT) Electronique Numérique 53 Table de vérité : Définition : réalise le complément logique de lentrée (on parle également dinversion logique). AS 0 1 1 0 1 variable => 2 lignes Désignation : on prononce S = A bar Symbole : AS Ancienne norme Schéma en transistors MOS : 1 SA Norme Européenne PMOS NMOS A S S = 1A =0A = 1S = 0 Fakhreddine GHAFFARI Olivier ROMAIN

54 Fonction : ET (AND) Electronique Numérique 54 Table de vérité : Définition : vrai si toutes les entrées sont vraies, sinon : faux. Désignation : S = A.B on prononce S = A ET B Symbole : A S Ancienne norme & S Norme Européenne AS 0 1 0 0 B 0 0 0 1 0 1 1 1 B A B Fakhreddine GHAFFARI Olivier ROMAIN

55 Fonction : OU (OR) Electronique Numérique 55 Table de vérité : Définition : vrai si au moins une des entrées est vraie, sinon : faux. Désignation : S = A + B on prononce S = A OU B Symbole : A S Ancienne norme 1 S Norme Européenne AS 0 1 0 1 B 0 0 0 1 1 1 1 1 B A B Fakhreddine GHAFFARI Olivier ROMAIN

56 Fonction : NON ET (NAND) Electronique Numérique 56 Table de vérité : Désignation : on prononce S = (A ET B) bar Symbole : A S Ancienne norme Schéma en transistors MOS ? : & S Norme Européenne AS 0 1 1 1 B 0 0 0 1 1 0 1 1 B A B A B B S Fakhreddine GHAFFARI Olivier ROMAIN

57 Fonction : NON OU (NOR) Electronique Numérique 57 Table de vérité : Désignation : on prononce S = (A OU B) bar Symbole : A S Ancienne norme Schéma en transistors MOS : 1 S Norme Européenne AS 0 1 1 0 B 0 0 0 1 0 0 1 1 B A B B S A A B Fakhreddine GHAFFARI Olivier ROMAIN

58 Fonction OU Exclusif (XOR) Electronique Numérique 58 Table de vérité : Symbole : A S Ancienne norme =1 S Norme Européenne AS 0 1 0 1 B 0 0 0 1 1 0 1 1 B A B Désignation : on prononce S = (A xor B) définition : VRAI si un nombre impair dentrées, VRAIE Application : La fonction est couramment utilisée pour connaître la parité de plusieurs variables binaires => nous verrons cet exemple un peu plus tard. Fakhreddine GHAFFARI Olivier ROMAIN

59 Fonction NON OU Exclusif (XNOR ) Electronique Numérique 59 Table de vérité : Symbole : A S Ancienne norme =1 S Norme Européenne AS 0 1 1 0 B 0 0 0 1 0 1 1 1 B A B Désignation : on prononce S = (A xor B) bar définition : VRAI si un nombre pair dentrées, VRAIE Fakhreddine GHAFFARI Olivier ROMAIN

60 « Lecture » dune fonction CMOS Electronique Numérique 60 Pour lire (ou réaliser) une fonction CMOS, réalisée à partir dun réseau de transistor NMOS et dun réseau de transistors PMOS S = (complément du réseau NMOS) ou bien (réseau PMOS directement ) Exemple : A B B S Réseau PMOS => Réseau NMOS => Doù : Fakhreddine GHAFFARI Olivier ROMAIN

61 Fonctions complémentées Electronique Numérique 61 Toutes les fonctions logiques (ou binaires) peuvent sexprimer à partir des fonctions élémentaires : NON, ET et OU. En technologie CMOS il est plus facile de réaliser les fonctions complémentées (NAND et NOR). A partir de ces fonctions élémentaires, on peut re-construire toutes les autres => en CMOS les portes NAND et NOR (surtout les NAND) sont des portes universelles NON ET OU Fakhreddine GHAFFARI Olivier ROMAIN

62 Fonctions à partir de NOR Electronique Numérique 62 NON OU ET Fakhreddine GHAFFARI Olivier ROMAIN

63 Equivalence des expressions et des représentations graphiques Electronique Numérique 63 Toutes les fonctions booléennes peuvent se représenter graphiquement en utilisant les symboles standards. Tout schéma avec des portes logiques peut sécrire sous la forme dune fonction logique Les deux représentations sont équivalentes. Exemple: Fakhreddine GHAFFARI Olivier ROMAIN

64 Symboles généraux Electronique Numérique 64 Remarque : On peut trouver, dans certains cas, des symboles plus généraux : A B C Permet une représentation graphique plus compacte Fakhreddine GHAFFARI Olivier ROMAIN

65 Formes décriture Electronique Numérique 65 Il existe 2 façons différentes décrire une fonction booléenne : Sous forme de somme de produits (SDP) Sous forme de produit de sommes (PDS) Ces 2 formes dexpression sont duales Exemple : => Somme de produits => Produit de sommes Fakhreddine GHAFFARI Olivier ROMAIN

66 Lecture : sdp ou pds Electronique Numérique 66 Lors de la construction dun système numérique, on se donne généralement la table de vérité de la fonction à réaliser A partir de la table de vérité, on peut extraire directement lexpression de la fonction sous forme dune somme de produit ou dun produit de somme Af 0 1 0 0 B 0 0 0 1 1 0 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 0 1 1 1 Fakhreddine GHAFFARI Olivier ROMAIN

67 Lecture sdp Electronique Numérique 67 Af 0 1 0 0 B 0 0 0 1 1 0 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 0 1 1 1 mintermes Cest une somme de produits standards car chaque terme contient toutes les variables du domaine de définition de la fonction : ce sont des mintermes Le principe de lecture sous forme dune somme de produits (sdp) est dénumérer les combinaisons dentrée qui rendent la fonction VRAIE. Dans une somme, si lun des termes est VRAI alors la somme est VRAIE Fakhreddine GHAFFARI Olivier ROMAIN

68 Lecture pds Electronique Numérique 68 Puisquil existe une relation de dualité entre les sommes et les produits (DE MORGAN), on peut exprimer aussi la fonction sous la forme dun produit de sommes, => On énumère les combinaisons dentrée qui rendent la fonction FAUSSE en complémentant les variables Revenons à notre exemple : A f 0 1 0 0 B 0 0 0 1 1 0 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 0 1 1 1 Cest un produit de sommes standards car chaque terme contient toutes les variables du domaine de définition de la fonction, ce sont des maxtermes. Fakhreddine GHAFFARI Olivier ROMAIN

69 Sdp pds Electronique Numérique 69 Les deux formes dexpression sont strictement équivalentes, on peut passer de lune à lautre par lapplication du théorème de DE MORGAN. Toutefois, le nombre de termes peut être différents …; cest le principe de la simplification des fonctions logiques. Exemple : Af 0 1 1 0 B 0 0 0 1 0 1 1 1 Lecture sdp : Lecture pds : Remarque : on se doit de reconnaître la fonction : XNOR Démonstration de léquivalence : On obtient bien : fpds = fsdp => CQFD Fakhreddine GHAFFARI Olivier ROMAIN

70 Représentation du XOR Electronique Numérique 70 Schéma à 5 portes Les 2 formes sont équivalentes et minimales Fakhreddine GHAFFARI Olivier ROMAIN

71 Fsdp (ou Fpds) table de vérité Electronique Numérique 71 On peut également passer dune somme de produits (ou dun produit de sommes) à une table de vérité : Exemple :Le domaine de définition est : A,B,C => Il faut transformer lexpression pour nutiliser que des mintermes Af 0 1 0 1 B 0 0 0 1 0 0 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 0 1 1 1 Fakhreddine GHAFFARI Olivier ROMAIN

72 Simplification Electronique Numérique 72 La simplification de lécriture dune fonction logique permet de la « réaliser » en utilisant plus ou moins de portes élémentaires (ET, OU, NON, etc…) Moins de portes : Moins de fils, moins de transistors, Moins de courant, moins de consommation, Moins de surface, plus rapide. Donc ASSUREMMENT GAGNANT !!! Il est donc important de réduire, simplifier, les fonctions logiques. La simplification dune fonction consiste à réduire le nombre de termes ou, dune façon générale, à réduire le nombre de variables dans les termes (maxtermes ou mintermes) La simplification dune fonction consiste à appliquer les règles de base de lalgèbre de boole et/ou le théorème de DE MORGAN Fakhreddine GHAFFARI Olivier ROMAIN

73 Simplification : exemple Electronique Numérique 73 Af 0 1 1 0 B 0 0 0 1 1 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 1 1 0 0 Or, Fsdp peut se simplifier : Fakhreddine GHAFFARI Olivier ROMAIN

74 Simplification difficile ! Electronique Numérique 74 Malheureusement, appliquer les règles de lalgèbre de Boole sur des expressions très compliquées (plus de 4 ou 5 variables), peut devenir difficile, voire impossible et on est pas sûr darriver toujours à la meilleure simplification. Pour pallier ce problème on va utiliser la technique de réduction par les tableaux de KARNAUGH Fakhreddine GHAFFARI Olivier ROMAIN

75 Tableau de KARNAUGH Electronique Numérique 75 Dans une table de vérité, la simplification dune fonction consiste à supprimer une variable (exp : ) Cela consiste donc à regrouper les « 1 » de la table 2 par 2 (suppression d1 variable, 4 par 4 (suppression de 2 variables), 8 par 8, etc. Pour faciliter ces regroupements, on utilise une représentation différente : les tableaux de KARNAUGH Le tableau de Karnaugh est une représentation (comme son nom lindique), en 2 dimensions, cest-à-dire en lignes / colonnes. On distribuera les variables sur les lignes et les colonnes, de façon à ce quil ny ait quune seule variable qui change quand on passe dune case du tableau à une des cases adjacentes. Fakhreddine GHAFFARI Olivier ROMAIN

76 Construction tableau à : 1, 2 et 3 variables Electronique Numérique 76 A=0 A=1 f A=0 A=1 f B=0 B=1 A=0 B=0 A=1 B=0 f C=0 C=1 A=1 B=1 A=0 B=1 f C A Tableau à 1 variable => 2 cases Tableau à 2 variables => 4 cases Tableau à 3 variables =>8 cases Représentations identiques B Fakhreddine GHAFFARI Olivier ROMAIN

77 Construction tableau : généralisation Electronique Numérique 77 Si une fonction est définie à laide de N variables, la table de vérité comportera : lignes, le tableau de Karnaugh correspondant comportera cases. Doù la représentation pour une fonction définie avec 4 variables dentrée : Doù la représentation pour une fonction définie avec 5 variables dentrée : f E D C B A f C D A B Fakhreddine GHAFFARI Olivier ROMAIN

78 Exemple tableau de Karnaugh Electronique Numérique 78 Soit la fonction : 10 fsdp 00 C 11 11 B On remplit le tableau de Karnaugh avec les « 1 » de la fonction et on le complète avec des « 0 » On peut voir sur cet exemple que lon peut faire un groupement de 4 cases adjacentes => cela nous amènera à supprimer 2 variables dans lexpression de la fonction A Fakhreddine GHAFFARI Olivier ROMAIN

79 Groupements dans un tableau de Karnaugh Electronique Numérique 79 Nous lavons déjà dit : la simplification revient à supprimer un maximum de variables dans lexpression de la fonction, cest pour cela (faire des groupements) que le tableau de Karnaugh est très utile, un groupement de 2 cases reviendra à supprimer 1 variables, un groupement de 4 cases reviendra à supprimer 2 variables, un groupement de 8 cases reviendra à supprimer 3 variables, un groupement de 16 cases reviendra à supprimer 4 variables, un groupement de cases reviendra à supprimer K variables, Si une fonction est définie avec N variables, et que lon fait un groupement de : cases, alors la simplification fera que la fonction sexprimera en fonction de : N – K variables. Vous laurez compris, simplifier au maximum revient à chercher à faire des groupements de taille maximale. Fakhreddine GHAFFARI Olivier ROMAIN

80 Groupements dans un tableau de Karnaugh (suite) Electronique Numérique 80 pour faire tous les groupements possibles dans le tableau de Karnaugh, il faut considérer le tableau qui se replie sur lui-même, en horizontal comme en vertical, il faut systématiquement penser à ces 2 symétries cylindriques, on peut même parler, en généralisant de symétrie sphérique. Récapitulatif : Dans lobjectif darriver à la simplification optimale (la meilleure), il faut suivre la règle suivante : Faire un nombre minimal de groupements de taille maximale. Les groupements se font obligatoirement avec des cases adjacentes, donc pas en diagonale, la taille des groupements est en puissance de 2 (1 variable binaire = 2 états), Fakhreddine GHAFFARI Olivier ROMAIN

81 Exemple de groupements Electronique Numérique 81 Soit la fonction : f, définie à partir de 3 variables (A, B et C) 10 f 00 C 11 11 A Il reste des « 1 » (et tant que) il faut à nouveau chercher à faire un groupement de taille maximale => 4 cases : NON => 2 cases : OUI (grâce à la symétrie horizontale) => 1 groupement de 2 cases => expression en fonction de 2 variables (toujours le : N – K) => gr(2) = Dans ce cas la taille maximale est : 4 cases => expression du groupement en fonction de : 1 variable (rappelez vous du : N – K) Pour lire un groupement (donner son expression) : on liste les variables qui ne changent pas détat dans le groupement => ici cest la variable : B, qui ne change pas dans le groupement) => gr(4) = B Au final : F = B + B Fakhreddine GHAFFARI Olivier ROMAIN

82 Exemple (suite) Electronique Numérique 82 10 f 00 C 11 11 B Une autre idée : grouper les « 0 » => cela revient à exprimer le complément de la fonction Gr(2)1 = Gr(2)2 = Doù lexpression de : Donc : On trouve bien évidemment le même résultat, ce qui montre que cette idée peut se révéler efficace dans certains cas, peu de « 0 ». A Fakhreddine GHAFFARI Olivier ROMAIN

83 Exemple (suite) Electronique Numérique 83 10 f 00 C 11 11 A Gr(2)1 Gr(2)2 = On peut aussi retrouver avec les regroupements de « 0 » la Fpds => B Fakhreddine GHAFFARI Olivier ROMAIN

84 Autre exemple Electronique Numérique 84 11 f 01 C 00 01 A Gr(2)1 Gr(2)2 = Pas de groupement possible => cette case sexprime en fonction de toutes les variables Gr(1) B Fakhreddine GHAFFARI Olivier ROMAIN

85 Chevauchement des groupements Electronique Numérique 85 1 f 1 D 1 1 A 1 11 1 1 Les groupement peuvent se chevaucher, cest le cas ici avec le groupement de 4 cases (vert) et le groupement de 2 cases (bleu) Nous pouvons donc exprimer la fonction f: B C 0 0 0 0 00 0 Fakhreddine GHAFFARI Olivier ROMAIN

86 Cas indéterminés Electronique Numérique 86 Lorsque certaines combinaisons sont indifférentes, ou lorsque ces cas ne peuvent se produire, les valeurs correspondantes de la fonction sont ni « 0 », ni « 1 », elles sont notées : X Af 0 1 1 X B 0 0 0 1 1 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 X X 0 0 1X 00 C 11 XX f A Remarque : les valeurs indifférentes peuvent être considérées comme des « 0 » ou des « 1 » (mais pas les 2 !!!), selon les possibilités de groupements (le plus grand possible). Des lors quune valeur X aura été utilisée dans un groupement (de « 1 » pour une Fsdp, de « 0 » pour une Fpds), alors la valeur X est définitivement transformée dans tout le tableau B Fakhreddine GHAFFARI Olivier ROMAIN

87 Fonction à plusieurs variables Electronique Numérique 87 A S2 0 1 0 0 B 0 0 0 1 1 1 1 1 C 0 0 0 0 1 1 1 1 0 0 0 01 11 1 0 0 1 1 0 0 1 1 1 0 1 1 S1 Lorsque le cahier des charges (besoin du client !) donne un système contenant plusieurs sorties, définies avec les mêmes entrées, alors on ajoute autant de colonnes à droite que de variables de sorties supplémentaires à la table de vérité, et on créera autant de tableau de Karnaugh que de variables de sortie. 00 11 C 11 S1 A 00 00 11 C 11 S2 A 10 B B Fakhreddine GHAFFARI Olivier ROMAIN

88 Fonction à plusieurs sorties (suite) Electronique Numérique 88 00 11 C 11 S2 A 10 Dans cet exemple il y avait une autre possibilité de groupements : 1 & =1 S1 S2 C B A B Fakhreddine GHAFFARI Olivier ROMAIN

89 Exemples à reconnaître Electronique Numérique 89 01 f 10 C A 10 f 01 C A 01 10 C 01 f A 10 01 01 C 01 f A 01 B B Fakhreddine GHAFFARI Olivier ROMAIN

90 Exemples à reconnaître (suite 1) Electronique Numérique 90 00 11 C 11 f A 00 01 10 C 10 f A 01 11 00 C 00 f A 11 10 01 C 01 f A 10 B B B B Fakhreddine GHAFFARI Olivier ROMAIN

91 Exemples à reconnaître (suite 2) Electronique Numérique 91 1 f 1 D 1 1 A 1 1 1 1 0 f 0 D A 0 0 BB C C Fakhreddine GHAFFARI Olivier ROMAIN

92 Les circuits logiques Electronique Numérique 92 Maintenant que nous pouvons interpréter le cahier des charges dun système logique combinatoire (une table de vérité à 1 ou plusieurs sorties) et simplifier les expressions logiques (par les règles de lalgèbre de Boole ou par lutilisation des tableaux de Karnaugh) pour enfin dessiner (ou construire) le système à laide des portes élémentaires : ET, OU, …). Que peut-on faire avec ça ? => Tout simplement construire (concevoir, « designer ») des dispositifs de plus en plus complexes en associant des sous-ensembles entre eux : Sous-ens 1 Sous-ens 2 Sous-ens 3 etc … Fakhreddine GHAFFARI Olivier ROMAIN

93 Fonctions générales Electronique Numérique 93 Parmi ces sous-ensembles, certains réalisent des « fonctions » assez générales que lon va retrouver assez systématiquement : Les codeurs, Les décodeurs, Les multiplexeurs, Les démultiplexeurs. Fakhreddine GHAFFARI Olivier ROMAIN

94 Les circuits dencodage et de décodage Electronique Numérique 94 Dune façon générale, les codeurs (encodeurs) et les décodeurs se représentent de la façon suivante :... N entrées M sorties Les M sorties représentent le numéro de lentrée active considérée Exemple : Si lentrée numéro 5 est active (par exemple au niveau « 1 »), alors les sorties de lencodeur représentent la valeur : 5 Lencodeur Fakhreddine GHAFFARI Olivier ROMAIN

95 Le décodage Electronique Numérique 95... M entrées N sorties Dans le décodeur, cest la sortie correspondant au numéro présent à lentrée, qui sera active. Le décodeur On voit apparaître ici la notion de numéro, et donc de nombre, représenté par un certain nombre de signaux logiques. Il existe plusieurs manières de représenter les nombres en logique binaire : Le code binaire naturel, le code GRAY (ou binaire réfléchi), le code BCD (Décimal Codé Binaire). Fakhreddine GHAFFARI Olivier ROMAIN

96 Codage des nombres en binaire Electronique Numérique 96 Lorsque nous utilisons plusieurs variables Booléennes (ou binaires) pour représenter un nombre, on parle de codage en bits (Binary elements). Par convention, les bits sont numérotés et sécrivent de la façon suivante : : un nombre codé par 4 bits Bit de poids le plus fort (MSB) Bit de poids le plus faible (LSB) Comme en décimal Fakhreddine GHAFFARI Olivier ROMAIN

97 Le code binaire naturel Electronique Numérique 97 a0 Nombre équivalent 0 1 0 1 0 0 0 1 2 3 1 1 0 0 0 0 1 1 1 1 0 0 0 01 11 1 7 6 5 4 …… 0 0 0 0 0 0 0 0 a3a2a1 00081 Cest la numérotation utilisée par défaut dans les tables de vérité. Le nombre représente le n° de la ligne dans la table. Fakhreddine GHAFFARI Olivier ROMAIN

98 Le code de GRAY (binaire réfléchi) Electronique Numérique 98 a0 Nombre équivalent 0 1 0 1 0 0 1 0 2 3 1 1 0 0 0 0 1 1 1 1 1 1 0 10 00 1 7 6 5 4 …… 0 0 0 0 0 0 0 0 a3a2a1 10081 Cest le code utilisé dans les tableaux de Karnaugh, car entre chaque ligne de la table, seulement une variable change, on a ainsi créé des cases adjacentes dans le tableau de Karnaugh. Règle de formation du code de Gray : Soit un nombre N en binaire pur, pour obtenir son équivalent : n en binaire réfléchi, il suffit deffectuer lopération suivante : Fakhreddine GHAFFARI Olivier ROMAIN

99 Construction du code de Gray Electronique Numérique 99 Règle de formation du code de Gray : Soit un nombre N en binaire pur, pour obtenir son équivalent : n en binaire réfléchi, il suffit deffectuer lopération suivante : Exemple : Soit N : 0111, nous avons alors : 2N = 1110, On effectue le ou exclusif : 0111 1110 ------- 1001 On effectue la division par 2 : Nous avons alors, pour N = 0111 en binaire pur, n = 0100 en binaire réfléchi. Remarque : multiplier par 2 revient à décaler dun rang vers la gauche, tandis que diviser par 2 revient à décaler dun rang vers la droite Fakhreddine GHAFFARI Olivier ROMAIN

100 Codage en BCD Electronique Numérique 100 Le codage en BCD (Binary Coded Decimal), décimale codé en binaire, consiste à ne représenter que les nombres décimaux par paquet de 4 bits (quartet) : a0 Nombre décimal 0 1 0 1 0 0 0 1 2 3 1 1 0 0 0 0 1 1 1 1 0 0 0 01 11 1 7 6 5 4 0 0 0 0 0 0 0 0 a3a2a1 00081 190 0 1 X (10) X (11) 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 01 11 1 X (15) X (14) X (13) X (12)1 1 1 1 Puisque nous utilisons 4 bits pour coder, nous avons 16 possibilités de nombre distincts, et en décimale nous nen utilisons que 10, cest pourquoi les 6 dernières sont interdites dans le code BCD 6 combinaisons interdites Fakhreddine GHAFFARI Olivier ROMAIN

101 Codage BCD à plusieurs chiffres Electronique Numérique 101 Pour représenter un nombre décimal à 2 chiffres en BCD, on utilisera 2 paquets de 4 bits (2 quartets) Exemple : 3 4 décimal 00110100 Ce codage est surtout utilisé pour laffichage des nombres des nombres décimaux, son efficacité nest pas grande puisquil nutilise pas toutes les possibilités du codage) Lorsquun nombre est représenté par N valeurs binaires, on dit quil est codé sur : N bits. On le représente de la façon suivante : N Nombre Il y a N bits, => donc N signaux binaires => donc N fils électriques En binaire naturel comme en code gray, un nombre codé sur N bits peut prendre toutes les valeurs comprises entre : 0 et, (soit nombres différents, on en verra un peu plus sur les nombres codés en binaire … Fakhreddine GHAFFARI Olivier ROMAIN

102 La fonction décodage Electronique Numérique 102...... N entrées sorties Le circuit décodeur : N Code binaire naturel On peut donc maintenant établir la table de vérité dun décodeur (binaire) Fakhreddine GHAFFARI Olivier ROMAIN

103 Décodeur à 1 et 2 entrées Electronique Numérique 103 0 1 e s0 s1 e0 0 1 0 0 0 1 1 1 e1 e 0 1 s1 0 1 s0 1 0 Doù : 0 3 e s0 s3 2 1 s1 2 s2 0 0 0 0 1 0 0 1 s3s0 1 0 0 1 0 0 0 0 s1 Doù : Décodeur à 1 entrée et 2 sorties Décodeur à 2 entrées et 4 sorties => On peut, bien sur, construire nimporte quel décodeur de la même manière, dailleurs une définition usuelle du décodeur est : 1 sortie active parmi les : possibles. Fakhreddine GHAFFARI Olivier ROMAIN

104 Les circuits dencodage Electronique Numérique 104...... entrées N sorties Lencodeur Le circuit dencodage (lencodeur) réalise la fonction inverse du décodeur : Fakhreddine GHAFFARI Olivier ROMAIN

105 Encodeurs à 1 et 2 sorties Electronique Numérique 105 e1 s0 0 1 0 0 0 1 1 1 s1 s 0 1 e1 0 1 e0 1 0 e2 0 0 0 0 1 0 0 1 e3e0 1 0 0 1 0 0 0 0 e1 encodeur à 2 entrées et 1 sortie e0 s encodeur à 4 entrées et 2 sorties e3 e0 s e1 e2 2 Attention : Attention : ne pas représenter toutes les combinaisons possibles ! Fakhreddine GHAFFARI Olivier ROMAIN

106 Encodeur prioritaire Electronique Numérique 106 Lencodeur prioritaire a été créé pour pallier le fait que plusieurs entrées peuvent être actives simultanément : s0 0 1 0 0 0 1 1 1 s1 e2 0 0 0 0 1 X 0 1 e3e0 1 X 0 1 X X X X e1 X : signifie que lon ne tient pas compte de cette valeur (dont care) Lentrée : e1 est prioritaire sur : e0 Lentrée : e3 est la plus prioritaire 000000 Il peut exister la combinaison : aucune entrée active. Dans ce cas, cest le constructeur qui décide de la valeur des sorties Fakhreddine GHAFFARI Olivier ROMAIN

107 Multiplexage et démultiplexage Electronique Numérique 107 Ces circuits très largement utilisés permettent de réaliser des opérations daiguillage. e0 e1 sel s Si sel = 0 alors s = e0 Si sel = 1 alors s = e1 Ceci est un multiplexeur : 2 vers 1 Pour réaliser la fonction multiplexeur élémentaire, on utilise 2 propriétés intéressantes des portes : ET et OU. - la valeur 0 est lélément nul de la fonction ET - la valeur 0 est lélément neutre de la fonction OU - la valeur 1 est lélément neutre de la fonction ET Fakhreddine GHAFFARI Olivier ROMAIN

108 Élément neutre Electronique Numérique 108 Si sel = 0 alors s = 0 Si sel = 1 alors s = e & e sel s 0 0 0 1 se 0 1 0 0 0 1 1 1 1 e0 e1 s 0 1 1 1 se0 0 1 0 0 0 1 1 1 e1 Si e0 = 0 alors s = e1 Si e1 = 0 alors s = e0 Fakhreddine GHAFFARI Olivier ROMAIN

109 Multiplexeur 2 vers 1 Electronique Numérique 109 0 1 0 1 s sel 0 0 0 0 e0 0 1 0 0 0 1 1 1 e1 0 0 1 1 1 1 1 1 0 1 0 0 0 1 1 1 On peut écrire cette table plus simplement : 0 1 0 1 s sel 0 0 1 1 e0 0 1 X X X X 0 1 e1 Encore plus simplement : e0e0 e1 s 0 1 sel Tableau de Karnaugh associé : 01 00 sel 10 s e1 11 e0 & e1 & e0 1 s 1 sel La porte ET sert dinterrupteur (de sélecteur) Fakhreddine GHAFFARI Olivier ROMAIN

110 Multiplexeurs N vers 1 Electronique Numérique 110 e0 en bits de sélection s N entrées 1 seule sortie e1...... Dans le cas général (simple), N est une puissance de 2, ce qui donne : - Pour 4 entrées => 2 bits de sélection - Pour 8 entrées => 3 bits de sélection - Pour 16 entrées => 4 bits de sélection Fakhreddine GHAFFARI Olivier ROMAIN

111 Multiplexeurs 4 vers 1 Electronique Numérique 111 e0 e3 s e1 e2 00 01 10 11 sel0sel1 e0 e1 e2 e3 s sel0 0 1 0 1 e0 X X X X X X X e1 sel1 0 0 1 1 e2 X e1 X X e2 X X e3 S = e0 si sel[1.0] = 00 S = e1 si sel[1.0] = 01 S = e2 si sel[1.0] = 10 S = e3 si sel[1.0] = 11 On peut réaliser facilement ce multiplexeur avec des portes ET, 1 porte OU et 1 décodeur 2 entrées 4 sorties Fakhreddine GHAFFARI Olivier ROMAIN

112 Réalisation du multiplexeur 4 vers 1 Electronique Numérique 112 & & & & 1 0 1 2 3 s sel1 e0 e1 e2 e3 Le décodeur et les portes ET permettent la sélection de lentrée, tandis que la porte OU assure le mélange sel0 Fakhreddine GHAFFARI Olivier ROMAIN

113 Démultiplexeurs 1 vers N Electronique Numérique 113 s0 sn bits de sélection N sorties 1 seule entrée s1...... Lentrée est dirigée vers la sortie correspondant au numéro présent sur les entrées de sélection. Fakhreddine GHAFFARI Olivier ROMAIN

114 Démultiplexeurs 1 vers 4 Electronique Numérique 114 s0 sn sel0 e s1 s3 s2 sel1 0 0 0 0 s3 sel0 0 0 1 1 e 0 1 0 1 sel1 0 0 0 0 0 0 0 0 s2 0 0 0 1 s1 0 1 0 0 s0 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 En plus compact : 0 0 0 e s3 sel0 0 0 1 1 sel1 0 0 0 0 0 0 e 0 s2 0 e 0 0 s1 e 0 0 0 s0 Fakhreddine GHAFFARI Olivier ROMAIN

115 Démultiplexeurs 1 vers 4 (suite) Electronique Numérique 115 & & & & 0 1 2 3 s0 sel1 e s1 s2 s3 sel0 Fakhreddine GHAFFARI Olivier ROMAIN

116 Multiplexeurs / démultiplexeurs parallèles Electronique Numérique 116 On a vu les équations et les schémas des circuits mux/demux travaillant sur des signaux binaires à 1 bit. Dans certains cas, on désire réaliser les fonctions mux/demux travaillant sur des mots de plusieurs bits : A sel0 E B D C sel1 N N N N N E est un mot dentrée de N bits, cest-à-dire composé des bits : EN, …., E2, E1, E0 A est un mot de sortie de N bits, cest-à-dire composé des bits : AN, …., A2, A1, A0 Il en est de même pour les mots de sortie : B, C et D 0 0 0 e s3 sel0 0 0 1 1 sel1 0 0 0 0 0 0 e 0 s2 0 e 0 0 s1 e 0 0 0 s0 Rappel: 1 demux 1 vers 4 sur 1 bit, Fakhreddine GHAFFARI Olivier ROMAIN

117 Electronique Numérique 117 0 0 0 E D sel0 0 0 1 1 sel1 0 0 0 0 0 0 E 0 C 0 E 0 0 B E 0 0 0 A Dans ce cas, le démultiplexeur possède la table de vérité suivante : Se traduit par : Fakhreddine GHAFFARI Olivier ROMAIN

118 Démultiplexeur 1 vers 4 mots de N bits Électronique Numérique 118 Un démultiplexeur 1 vers 4 à 4 bits est construit avec 4 démultiplexeurs 1 vers 4 à 1 bit en parallèle (les entrées de sélection étant les mêmes). sel0 sel1 D3 C3 B3 A3 sel0 sel1 D2 C2 B2 A2 sel0 sel1 D1 C1 B1 A1 sel0 sel1 D0 C0 B0 A0 E3E2E1E0 E D3 D2D1D0 D C3 C2C1C0 C B3 B2B1B0 B A3 A2A1A0 A Ce qui est vrai pour le circuit démultiplexeur est valable de la même manière avec les multiplexeurs. 1 Mux 16 bits 8 vers 1 = 16 Mux 1 bit 8 vers 1. Fakhreddine GHAFFARI Olivier ROMAIN

119 Chapitre 3 : les circuits arithmétiques Electronique Numérique 119 Lalgèbre de Boole (algèbre binaire) et les portes logiques élémentaires permettent la réalisation des circuits qui effectuent des calculs sur des nombres. => cest le cas, naturellement, de nimporte quel microprocesseur dont le rôle, entre autre, est deffectuer des calculs. => Ces calculs seffectuent sur des nombres mathématiques quil est donc nécessaire de représenter en binaire. Fakhreddine GHAFFARI Olivier ROMAIN

120 Calculs algébriques sur entiers positifs Electronique Numérique 120 Sur les représentations binaires naturelles des entiers positifs tous les calculs algébriques sont possibles : Addition, soustraction, multiplication et division Exemple : Problème : En base 2, le chiffre 2 nexiste pas, pour pallier ce problème, on va propager vers la gauche une éventuelle retenue => cest ainsi que vous avez appris à compter à lécole primaire ! Fakhreddine GHAFFARI Olivier ROMAIN

121 Exemple daddition Electronique Numérique 121 0 1 1 0 1 1 1 0 0 111 0 1 1 0 00 37 => 100101 => 23 => 010111 => 001111 Retenue => + = Méthode : faire laddition bit à bit, en commençant par le LSB et en propageant sil y a lieu, la retenue sur le rang supérieur. Effectuer lopération : a + b = c revient à faire lopération suivante : (a + b) + ri = ri + b + a = c Fakhreddine GHAFFARI Olivier ROMAIN

122 Opération de multiplication Electronique Numérique 122 0 1 1 0 1 1 0 00 101 101 * = 000 + + 11011 000 Exemple : 3=> *5=> Remarque : Si A et B sont au format : N bits, alors le produit A*B sera au format : 2N bits Fakhreddine GHAFFARI Olivier ROMAIN

123 Opération de soustraction Electronique Numérique 123 0 1 1 0 1 1 0 10 5 => 101 => 3 => 011 => 010 Retenue => - = La retenue de soustraction qui se propage vers le rang supérieur nomme : borrow Nous verrons plus tard, la réalisation de la division des entiers … Lorsquon réalise des soustractions, il se peut que le résultat soit négatif, => Problème => comment coder des nombres négatifs ? Effectuer lopération : a - b = c revient à faire lopération suivante : (a - b) - ri = a - b - ri = c Fakhreddine GHAFFARI Olivier ROMAIN

124 Le circuit additionneur Electronique Numérique 124 Ladditionneur élémentaire (demi additionneur) On veut faire lopération : a + b = c, cela donne la table de vérité suivante : 0 1 1 ? c b 0 1 0 0 0 1 1 1 a Pour la dernière ligne de cette table de vérité, on voit que le résultat nest pas suffisant => il faut rajouter une sortie qui représente la retenue, a propager sur le rang dindice supérieur 0 0 0 1 r b 0 1 0 0 0 1 1 1 a 0 1 1 0 c On doit donc rajouter la sortie : retenue (r), ce qui donne la table de vérité suivante : Fakhreddine GHAFFARI Olivier ROMAIN

125 Demi additionneur Electronique Numérique 125 A partir de la table de vérité, on obtient aisément les équations du circuit : Doù le schéma de portes : =1 a b c & r Remarque : ce circuit est un demi additionneur 1 bit, cest pourquoi on va dès maintenant indicer les entrées et les sorties =1 & Ce circuit possède une retenue sortante, pour construire un additionneur Nbits, ce circuit doit donc posséder une retenue entrante, doù le nom dadditionneur complet. Fakhreddine GHAFFARI Olivier ROMAIN

126 Additionneur 1 bit complet Electronique Numérique 126 Lopération effectuée est maintenant : Table de vérité : 0 0 0 1 ri+1 aiai 0 1 0 0 0 1 1 1 bibi 0 1 1 0 i 0 1 1 1 0 1 0 0 0 1 1 1 1 0 0 1 riri 0 0 0 0 1 1 1 1 01 10 ri 01 i ai 10 bi 00 01 ri 10 ri+ 1 ai 11 bi La règle de Karnaugh na pas été utilisée entièrement, de façon a réutiliser une porte existante dans lautre sortie et ainsi optimiser le circuit final Fakhreddine GHAFFARI Olivier ROMAIN

127 Schéma de ladditionneur 1 bit complet Electronique Numérique 127 =1 >=1 =1 & & Doù le symbole générique : Add1bit Fakhreddine GHAFFARI Olivier ROMAIN

128 Additionneur Nbits Electronique Numérique 128 Pour réaliser un additionneur N bits, il suffit dutiliser N additionneurs 1 bit (complet) Add1bit ….. « 0 » Remarque : dans un additionneur Nbits, on ne peut pas calculer la dernière sortie (bit de poids fort) sans avoir au préalable calculer toutes les autres sorties !!! => Le chemin parcouru par la retenue propagée est le chemin critique Fakhreddine GHAFFARI Olivier ROMAIN

129 soustracteur Electronique Numérique 129 Ladditionneur complet fonctionne indifféremment avec des nombres strictement positifs comme avec des nombres signés en CC2. Cette particularité nous permet donc de faire des soustractions à partir dadditionneurs. Or : -B en CC2 sexprime sous la forme :(CC2 = CC1 + 1) Faire la soustraction : A – B revient à faire : Pour faire une soustraction, il suffit donc de rentrer une retenue (la 1 ière ) à « 1 » et dinverser tous les bits du 2 ième opérande Fakhreddine GHAFFARI Olivier ROMAIN

130 soustracteur N bits Electronique Numérique 130 Add1bit ….. « 1 » Fakhreddine GHAFFARI Olivier ROMAIN

131 Additionneur / soustracteur N bits Electronique Numérique 131 Lobjectif maintenant est dobtenir un opérateur programmable, cest capable de faire addition ou soustraction à la demande. Pour cela on va utiliser des portes XOR, pour les entrées du 2 ième opérande et la retenue entrante =1 a ADD/sous c C = a si la cde ADD/sous est à « 0 » C = si la cde ADD/sous est à « 1 » Fakhreddine GHAFFARI Olivier ROMAIN

132 Additionneur / soustracteur N bits Electronique Numérique 132 Add1bit =1 Add1bit =1 Add1bit =1 ADD/sous « 0 » Fakhreddine GHAFFARI Olivier ROMAIN

133 Le circuit multiplicateur Electronique Numérique 133 Une multiplication, en binaire, peut se faire comme en décimal, par des additions avec décalages successifs : 0 1 1 0 1 1 0 00 101 101 * = 000 + + 11011 000 5 3 0 00 Insertion d1 zéro à droite => correspond à un décalage gauche pour le rang : Insertion de 2 zéros à droite => correspond à 2 décalage gauche pour le rang : Retenue propagée, de laddition Fakhreddine GHAFFARI Olivier ROMAIN

134 La multiplication, dune manière générale Electronique Numérique 134 Soient les mots de 3 bits : A[2..0] et B[2..0], alors le produit : Cest bien une somme à 3 termes (mots de 3 bits) : - Chaque terme est égal au multiplicande si bi = « 1 » à « 0 » si bi = « 0 » - Chaque terme est multiplié par : => ceci correspond à un décalage gauche Fakhreddine GHAFFARI Olivier ROMAIN

135 Exemple de multiplicateur 3 bits Electronique Numérique 135 +++ +++ Fakhreddine GHAFFARI Olivier ROMAIN

136 Multiplicateur en valeur signée Electronique Numérique 136 +++ +++ Fakhreddine GHAFFARI Olivier ROMAIN

137 La logique séquentielle Electronique Numérique 137 Fakhreddine GHAFFARI Olivier ROMAIN

138 La logique séquentielle Electronique Numérique 138 Les circuits que nous avons vu jusquà maintenant sont des circuits que lon dit « combinatoires », cest-a-dire que leurs sorties ne dépendent que des entrées Circuit combinatoire E0 E1 ….. S = f(ei) Ces circuits ne suffisent pas à réaliser tous les systèmes, quelquefois nous avons besoin de fabriquer des circuits dont les sorties dépendent des entrées ET de létat précédent du système. Circuit séquentiel A B S S = 1 si A change avant B S = 0 si B change avant A En général, la sortie dépend des entrées et des valeurs précédentes de la sortie elle-même. Fakhreddine GHAFFARI Olivier ROMAIN

139 Logique séquentielle (suite) Electronique Numérique 139 Circuit séquentiel A B S => Les sorties sont rebouclées en entrée ! Bien évidemment, les sorties rebouclées représentent létat précédent du système, notez que ce rebouclage ne peut pas être instantané, cest pourquoi on peut représenter un système séquentiel comme cela : Circuit séquentiel A B S Delta T Ce delta T, indique le décalage temporel obligatoire entre la sortie à un instant donné, et cette même sortie à un instant précédent. Fakhreddine GHAFFARI Olivier ROMAIN

140 Lélément de base : la bascule asynchrone Electronique Numérique 140 Définition : Une bascule est définie par les 3 fonctionnalités suivantes : - Une fonctionnalité qui traduit la mise à « 0 » de la sortie, notée : MA0, - Une fonctionnalité qui traduit la mise à « 1 » de la sortie, notée : MA1, - Une fonctionnalité de mémorisation de la sortie, notée : MEMO, dans ce cas létat de la sortie à 1 instant donné : Qt est égal à létat précédent : Qt-1 Ces fonctionnalités seront mises en œuvre en fonction des informations présentes sur les entrées Une bascule possède 2 sorties ( ) qui doivent être complémentaires, alors que la mémoire nen possède quune. Fakhreddine GHAFFARI Olivier ROMAIN

141 Bascule R/S Nand Electronique Numérique 141 Schéma : Avant de faire la table de vérité, détaillant le fonctionnement, on peut remarquer que si les entrées A et B sont à : "0", alors les sorties Q1 et Q2 seront au même état ("1") et n'auront aucune influence sur le fonctionnement de cette bascule. On dit, dans ce cas que le niveau actif des entrées est : 0, en conséquence de quoi on notera les entrées barrées. 1 1 0 0 Q1 B 0 1 0 0 0 1 1 1 A 1 0 1 1 Q2 1 1 1 1 0 1 0 0 Q1=Q2 => état interdit Fonction : MA1 (sur Q1) Fonction : MA0 (sur Q1) Fonction : MEMO observations Fonction : MA1 Fonction : MEMO Affectation des entrées : Quand A = 0, alors il y a : MA1, on attribue cette fonction à lentrée A et on la note : S/ ( S/ car entrée active à "0" ). Quand B = 0, alors il y a : MA0, on attribue cette fonction à lentrée B et on la note : R/ ( R/ car entrée active à "0" ). Fakhreddine GHAFFARI Olivier ROMAIN

142 Récapitulatif : bascule R/S/ (nand) Electronique Numérique 142 Pour représenter le fonctionnement de la bascule, on utilise très fréquemment les chronogrammes R/ S/ Q Q/ Etat non défini : UNDEFINED (U) MA0MA1 On doit remarquer que lon a jamais ensemble les entrées actives (ici : à « 0 ») Fakhreddine GHAFFARI Olivier ROMAIN

143 Bascule RS (nor) Electronique Numérique 143 Schéma : Avant de faire la table de vérité, détaillant le fonctionnement, on peut remarquer que si les entrées A et B sont à : « 1 », alors les sorties Q1 et Q2 seront au même état (« 0 ») et n'auront aucune influence sur le fonctionnement de cette bascule. On dit, dans ce cas que le niveau actif des entrées est : 1, en conséquence de quoi on notera les entrées vraies. 0 1 0 0 Q1 B 1 1 1 0 0 0 1 0 A 0 0 1 1 Q2 1 1 1 0 0 0 0 0 Q1=Q2 => état interdit Fonction : MA1 (sur Q1) Fonction : MA0 (sur Q1) Fonction : MEMO observations Fonction : MA1 Fonction : MEMO Affectation des entrées : Quand A = 1, alors il y a : MA0, on attribue cette fonction à lentrée A et on la note : R Quand B = 1, alors il y a : MA1, on attribue cette fonction à lentrée B et on la note : S Fakhreddine GHAFFARI Olivier ROMAIN

144 Récapitulatif : bascule RS (nor) Electronique Numérique 144 Pour représenter le fonctionnement de la bascule, on utilise très fréquemment les chronogrammes R S Q Q/ Etat non défini : UNDEFINED (U) MA0MA1 On doit remarquer que lon a jamais ensemble les entrées actives (ici : à « 1 ») Fakhreddine GHAFFARI Olivier ROMAIN

145 Le cas interdit => dommage ! Electronique Numérique 145 Pour éviter davoir à se poser la question sur létat interdit, on va créer une nouvelle bascule, dont létat interdit sera remplacé par une nouvelle fonctionnalité : TOOGLE (changement détat) => cest la bascule JK Schéma : Q Q/ K J >=1 & & Les portes : AND, en entrée, permettent déviter les combinaisons interdites en entrée de la bascule RS Fakhreddine GHAFFARI Olivier ROMAIN

146 La bascule JK Electronique Numérique 146 Q Q/ K J >=1 & & Rint Sint 0 0 0 1 Rint J 1 1 0 0 1 1 1 1 K 1 0 1 0 0 1 0 0 1 1 0 0 Sint Qt/ 0 0 1 1 0 1 1 0 Qt 1 1 0 0 0 1 0 1 Qt-1 0 1 0 0 0 0 0 0 0 0 MA1 MEMO MA1 MA0 fonction MEMO MA0 MEMO 1 1 0 0 0 1 On peut voir dans cette table de vérité, que les entrées internes de la bascule RS ne sont jamais simultanément égales à « 1 », même dans le cas ou les entrées (J et K) de la bascule JK le sont ! On doit également remarquer, que dans le cas ou les entrées J et K sont actives (à « 1 »), la sortie Qt devient le complément delle même à linstant précédent (Qt-1) On a donc remplacé, dans la bascule JK, létat interdit de la bascule RS, par un changement détat => Qt = (Qt-1)/ Fakhreddine GHAFFARI Olivier ROMAIN

147 La bascule T Electronique Numérique 147 Si on relie ensemble les entrées J et K, dune bascule JK, on obtient la bascule : T (Toggle) 0 1 T Qt/ Qt-1 Qt Qt-1/ Qt-1 fonction MEMO TOGGLE Q Q/ T >=1 & & Fakhreddine GHAFFARI Olivier ROMAIN

148 Les bascules synchrones Electronique Numérique 148 Les systèmes séquentiels introduisent la notion détat futur et détat passé => donc la notion du temps. On est donc amené à introduire le concept dhorloge => cest le rythme du système 0 1 Horloge période Une horloge est un signal binaire dont les changements détat sont réguliers dans le temps (périodique => notion de fréquence et de période). La période de lhorloge donne lunité de temps élémentaire, du système. Les systèmes électroniques séquentiels synchrones sont des systèmes dont les changements sont « alignés » (synchronisés) sur une horloge Fakhreddine GHAFFARI Olivier ROMAIN

149 La bascule « D Latch » Electronique Numérique 149 Q Q/ H D >=1 & & 1 si H = 0 alors les entrées de la bascule RS sont à 0 => la fonction de la bascule est : mémorisation (Qt = Qt-1) Q Q/ Symbole : D H >=1 si H = 1 alors on utilise la bascule RS comme un dispositif à changement détat X 0 D Qt/ Qt-1 Qt 0 Qt-1/ 1 fonction MEMO MA0 0 1 H 1 10 MA1 1 La sortie recopie lentrée : D, lorsque le signal dhorloge est à « 1 », sinon elle mémorise létat précédent Ce sont les valeurs (0 ou 1) de lhorloge qui valident le fonctionnement de la bascule => bascule active sur un niveau Fakhreddine GHAFFARI Olivier ROMAIN

150 Bascule synchronisée sur front Electronique Numérique 150 Pour réaliser une bascule qui réagit sur front (montant ou descendant) de lhorloge, on va cascader 2 bascules D Latch, qui réagiront sur des niveaux différents de lhorloge, comme indiqué ci-après : H D >=1 & & 1 Q Q/ >=1 & & 1 maitreesclave Une bascule D maitre, sensible au niveau 0 de H Une bascule D esclave, sensible au niveau 1 de H Une bascule D, qui réagit sur front montant Fakhreddine GHAFFARI Olivier ROMAIN

151 Bascule D « positive Edge Triggered », avec portes Nand Electronique Numérique 151 H D & & 1 Q Q/ & & 1 maitreesclave & & & & D Q1 Q2 0 1 H La sortie Q1 recopie lentrée D lorsque H = 0, La sortie Q2 recopie Q1 lorsque H = 1 Fakhreddine GHAFFARI Olivier ROMAIN

152 Entrées de forçage asynchrone Electronique Numérique 152 On trouve très souvent sur les bascules synchrones, des entrées de forçage, qui permettent de mettre à « 1 » ou à « 0 », en priorité sur lhorloge, cest pourquoi on parle dentrées de forçage asynchrone => pour cela il faut agir sur les portes de sortie des bascules (et non pas sur les portes de synchronisation), => - l entrée de forçage à « 0 » sappelle : RESET - l entrée de forçage à « 1 » sappelle : SET H D & & 1 Q Q/ & 1 maitreesclave & & & & & RESET/ SET/ Q Q/ Symbole : D H Set/ Reset/ Attention : il ne faut pas rendre actives simultanément les entrées de forçage asynchrones Fakhreddine GHAFFARI Olivier ROMAIN

153 Synthèse bascule D sur front Electronique Numérique 153 Q Q/ D H Q D H X 0 D Qt/ Qt-1 Qt 0 Qt-1/ 1 fonction MEMO MA0 0 H 1 10 MA1 X Qt-1Qt-1/ MEMO 1 Par verrouillage esclave Par verrouillage maitre X 0 D Qt/ Qt-1 Qt 0 Qt-1/ 1 fonction MEMO MA0 0 H 1 10 MA1 X Qt-1Qt-1/ MEMO 1 Par verrouillage maitre Par verrouillage esclave Active sur front montant Active sur front Descendant Fakhreddine GHAFFARI Olivier ROMAIN

154 Bascule JK sur front Electronique Numérique 154 0 0 K Qt/ Qt-1 Qt 0 Qt-1/ 1 fonction MA0 0 1 J 1 10 MA1 1 1 Qt-1/ Qt-1 TOGGLE 0 Par verrouillage maitre Par verrouillage esclave Q Q/ J H K 0 H 1 MEMO X Qt-1 Qt-1/ X X X 0 1 1 0 MEMO Qt-1Qt-1/ MEMO Fakhreddine GHAFFARI Olivier ROMAIN

155 Application : diviseur de fréquence par 2 Electronique Numérique 155 La figure suivante montre le montage à effectuer pour transformer une bascule D sur front (Edge Triggered), en diviseur de fréquence par 2 : Q Q/ D H clock Q/ Q La donnée D mémorisée en sortie Q lors dun front montant de lhorloge est Q/ (Q/ reliée à D) => Quelque soit létat logique de la sortie Q avant le top dhorloge, la bascule passera à létat complémentaire lors du front montant dhorloge Q/,D Q 0 1 H Fakhreddine GHAFFARI Olivier ROMAIN

156 Chronogrammes des systèmes synchrones Electronique Numérique 156 Comme on peut le voir sur les chronogrammes précédents, il faut respecter certaines conditions pour que le système fonctionne correctement. Ces conditions sont : -Le pré-positionnement (setup time) de la donnée avant le front actif => temps pendant lequel la donnée doit rester stable. -Le maintien de la donnée (hold time) après le front actif => temps pendant lequel la donnée doit être maintenue au même niveau D Q 0 1 H ts td th Zoom sur une transition :Ts : temps de pré- positionnement de la donnée : Tsetup Th : temps de maintien de la donnée : Thold Td : temps de propagation (retard) de la sortie : Tdelay Fakhreddine GHAFFARI Olivier ROMAIN

157 Les registres Electronique Numérique 157 Un registre est un élément de mémorisation. Le registre possède une entrée horloge qui synchronise ses changements détats : QD H La bascule D est un élément de mémorisation sur front dhorloge, de la valeur de lentrée : D Ce registre recopie, sur tous les fronts montant de lhorloge H les valeurs de D présents avant les fronts Pour une utilisation programmable, il faut pouvoir sélectionner les fronts qui seront actifs, pour cela : QD H & H CE On ajoute une entrée (CE : Clock Enable), afin de valider lentrée Horloge (H) Fakhreddine GHAFFARI Olivier ROMAIN

158 Registre avec validation Electronique Numérique 158 Si CE = 0 => pas de fronts dhorloge Si CE = 1 => fonctionnement normal D CE 0 1 H Q Fakhreddine GHAFFARI Olivier ROMAIN

159 Registre N bits Electronique Numérique 159 On réalise des registres N bits, en utilisant N bascules en parallèle, avec : -même horloge, -même entrée de validation (CE) QD H CE QD H QD H QD H ….. D0 D1 D2 Dn-1 Q0 Q1 Q2 Qn-1 H CE => cest de cette manière que sont réalisés les éléments de mémorisation à lintérieur dun microprocesseur (les registres) Fakhreddine GHAFFARI Olivier ROMAIN

160 Registre à décalage Electronique Numérique 160 Un registre à décalage est un ensemble de N bascules D (synchrones, sur front), associées en série (en cascade), selon le schéma suivant : QD H QD H QD H QD H D H ……………… Q0Q1 Q2 Qn-1 Lentrée : D, va propager de bascule en bascule, à chaque top dhorloge Fakhreddine GHAFFARI Olivier ROMAIN

161 Exemple : Registre à décalage droite 4 bits Electronique Numérique 161 QD H QD H Q D H QD H D H Q0Q1 Q2 Q3 Q0 Q1 0 1 D Q2 0 1 H Q3 val 01248 Fakhreddine GHAFFARI Olivier ROMAIN

162 Exemple : Registre à décalage gauche 4 bits Electronique Numérique 162 QD H QD H QD H QD H D H Q0 Q1 Q2 Q3 Q2 0 1 D Q1 0 1 H Q0 val 08421 Fakhreddine GHAFFARI Olivier ROMAIN

163 Les compteurs Electronique Numérique 163 Un compteur est un circuit séquentiel qui permet de dénombrer des impulsions appliquées sur son entrée dhorloge et de transférer aux sortie linformation binaire à chaque impulsion : changement détat, entre 2 impulsions : état stable Q3 MR H CE Q2 Q1 Q0 Symbole dun compteur 4 bits -MR : Master Reset -CE : Count Enable => sert à valider le circuit ou à interrompre le comptage Fakhreddine GHAFFARI Olivier ROMAIN

164 Compteur asynchrone Electronique Numérique 164 La particularité des compteurs asynchrones est que la sortie d'une bascule devient en même temps une entrée de la bascule suivante, d'où un temps de propagation mal déterminé, qui se cumule sur la dernière sortie et de plus il est possible de passer par des états interdits lors d'un changement détat désiré. Q Q/ D H Q D H Q D H ……. Q0Q1Qn-1Qn-2 CK En conséquence, nous nétudierons pas la synthèse des compteurs asynchrones, ceux-ci étant de moins en moins utilisés dans l'industrie (vous aurez confirmation de cela dans le cours : FPGA). 78467 CK Q0 Q1 Q2 Q3 val Loupe sur la transition : 7=>8 Fakhreddine GHAFFARI Olivier ROMAIN

165 Compteur synchrone Electronique Numérique 165 Structure dun compteur synchrone : -N bascules pour N sorties, -Les entrées des bascules sont calculées en fonction des sorties à létat précédent -Bien sur, toutes les bascules réagissent avec la même horloge Q Q/ J H K ?? …. Q Q/ J H K ?? …. Qi Qi+1 H Fakhreddine GHAFFARI Olivier ROMAIN

166 Synthèse dun compteur synchrone Electronique Numérique 166 Exemple d'un compteur binaire -> décimal -> Il y a donc une séquence de : 10, il y aura donc 4 bascules ( il reste 6 cases dans le tableau de Karnaugh, que l'on pourra utiliser comme on veut ( 0 ou 1 ), on note d'ailleurs : dans cette case ). -> on exprime les Ji et Ki en fonction de lévolution désirée des sorties : QA… QD. Sachant que : X représente nimporte quelle valeur, il nest peut être pas nécessaire de faire un tableau de Karnaugh pour JA et KA JA = KA = 1 Fakhreddine GHAFFARI Olivier ROMAIN

167 Synthèse (suite) Electronique Numérique 167 01 JB 01 D xx xx A 00 B C xx KB xx D 10 10 A xx B C 00 JC xx D 10 xx A 00 B C xx KC 00 D xx 10 A xx B C Fakhreddine GHAFFARI Olivier ROMAIN

168 Synthèse (suite 2) Electronique Numérique 168 00 JD 00 D 00 10 A xx B C xx KD xx D xx xx A 01 B C Q Q/ J H K Q J H K & QAQB H 1 1 Q Q/ J H K QC Q Q/ J H K & QD & Fakhreddine GHAFFARI Olivier ROMAIN

169 Autre méthode de synthèse Electronique Numérique 169 La méthode de MARCUS, consiste à introduire une variable de commutation, notée : Xi, qui prendra la valeur « 1 » en cas de changement, sinon « 0 » QtQt+1Xi 000 011 101 110 Xi est donc formé d'un OU exclusif entre Qt et Qt+1. -> on choisit de faire la synthèse du compteur ˆ l'aide de bascules JK Qt+1 = JQt/ + K/Qt -> on ramène tout ˆ l'instant : t. Xi = Qt Qt+1/ + Qt/Qt+1 = Qt ( JQt/ + K/Qt )/ + Qt/( JQt/ + K/Qt ) = Qt ( (JQt/)/ (K/Qt)/ ) + JQt/ = Qt ( J/+Qt) (K+Qt/) ) + JQt/ = ( J/Qt + Qt ) (K+Qt/) + JQt/ = J/QtK + QtK + JQt/ Xi = KQt + JQt/ Méthode ( dite de : MARCUS ) -> en fonction de la séquence désirée, remplir un tableau des : Xi = f(Qi) -> ne pas forcément simplifier l'expression des Xi, il faut veiller à avoir dans l'expression de Xi, la variable : Qi et également la variable : Qi/ Exemple : on va refaire par cette méthode le compteur binaire => décimal Fakhreddine GHAFFARI Olivier ROMAIN

170 Synthèse par la méthode de MARCUS Electronique Numérique 170 XAXA 0 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 1 0 1 QB QA 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 QD QC 1 1 1 1 1 1 1 1 1 1 1 XBXB 0 1 0 1 0 1 0 1 0 0 XCXC 0 0 0 1 0 0 0 1 0 0 XDXD 0 0 0 0 0 0 0 1 0 1 XA = 1 Xi = KQt + JQt/ XA = KAQA + JAQA/ JA = KA = 1 XB = QA Xi = KQt + JQt/ XB = QAQB + QAQB/ JB = KB = QA Fakhreddine GHAFFARI Olivier ROMAIN

171 Synthèse Marcus (suite) Electronique Numérique 171 00 XC 00 D 10 10 A 00 B C 00 KD 00 D 00 10 A 01 B C Bien évidemment le schéma est rigoureusement identique => on aura pu observer une plus grande efficacité et rapidité ! Fakhreddine GHAFFARI Olivier ROMAIN

172 Compteur en anneau Electronique Numérique 172 Cest un compteur spécifique, utilisant la structure dun registre à décalage, afin de propager un « 1 » Un compteur en anneau, composé de N bascules pourra générer N états distincts. Attention : un tel compteur doit être initialisé sur une des valeurs du cycle. QD H QD H QD H QD H H Q0Q1 Q2 Q3 La séquence de ce compteur sera : 0001 (1), 0010 (2), 0100 (4), 1000 (8). >=1 Q1 Q2 Q3 Fakhreddine GHAFFARI Olivier ROMAIN

173 Electronique Numérique 173 Compteur Jonhson Electronique Numérique 173 Cest un compteur spécifique, utilisant la structure dun registre à décalage, afin de propager un « 0 » Un compteur Jonhson, composé de N bascules pourra générer 2.N états distincts. Attention : un tel compteur doit être initialisé sur une des valeurs du cycle. QD H QD H QD H QD H H Q0Q1 Q2 Q3 La séquence de ce compteur sera : 0001, 0011, 0111, 1111, 1110, 1100, 1000, 0000. Q3 Q2 Q1 0 1 CK Q0 val 013715141280 Q/ Fakhreddine GHAFFARI Olivier ROMAIN

174 Système de prise en compte événementielle Electronique Numérique 174 Ce système doit se déclencher sur un événement (asynchrone), et doit perdurer jusquà ce quun autre événement (interne au système) se produise. Exemple : quand un événement externe se produit, un signal reste valide tant que 5 « coups dhorloge » ne sont pas apparus. Signal 0 1 CK event Fakhreddine GHAFFARI Olivier ROMAIN

175 Prise en compte de lévénement Electronique Numérique 175 Lévénement est par définition asynchrone, il faut donc commencer par le synchroniser sur lhorloge de référence du système, pour cela 2 possibilités : QD H event CK Qsynchro Cette méthode peut poser des problèmes, de setup time ou de hold time Cest pourquoi il vaut mieux privilégier cette 2 ième méthode : QD H CK Qsynchro « 1 » QD H Fakhreddine GHAFFARI Olivier ROMAIN

176 Validité par comptage interne Electronique Numérique 176 Une fois que lévénement est synchronisé il faut autoriser un compteur et des que le compteur a atteint la valeur désirée => il y a reset de la bascule de prise en compte de lévénement et du compteur Compteur 4 bits Bloc combinatoire ( = 5) MR CE H Q0 Q3 CK Qsynchro « 0 » FinCpt Fakhreddine GHAFFARI Olivier ROMAIN

177 Prise en compte événement (suite) Electronique Numérique 177 event QD H CK Qsynchro « 1 » QD H Compteur 4 bits Bloc combinatoire ( = 5) MR CE H Q0 Q3 CK FinCpt reset Qsynchro 0 1 CK event FinCpt Fakhreddine GHAFFARI Olivier ROMAIN

178 Verrouillage événement interne Electronique Numérique 178 On peut voir sur ces chronogrammes, que le signal FinCpt, ne dure que très peu (1 temps de propagation), ceci nest jamais très bon dans un système séquentiel, aussi il vaut mieux verrouiller ce signal : CK QD H FinCpt QD H reset Vers : compteur et bascules Attention : dans ce cas, limpulsion de reset dure quasiment un période dhorloge => comptage – 1 !! Fakhreddine GHAFFARI Olivier ROMAIN

179 Système complet Electronique Numérique 179 event QD H CK Qsynchro « 1 » QD H Compteur 4 bits Bloc combinatoire ( = 5) MR CE H Q0 Q3 CK FinCpt reset Q D H Q D H CK Fakhreddine GHAFFARI Olivier ROMAIN

180 Système événementiel : autre solution Electronique Numérique 180 Dans ce système, lévénement interne déclenchant la fin de la séquence est réalisé à partir dun compteur => on peut très bien imaginer un registre à décalage, pour dénombrer les périodes dhorloge nécessaires, de plus dans ce cas, les signaux intermédiaires sont disponibles pour une utilisation … event QD H CK Qsynchro « 1 » QD H registre à décalage MR Din H Q0 Qn-1 CK FinCpt reset Q D H Q D H CK Signaux internes Fakhreddine GHAFFARI Olivier ROMAIN

181 En bref : Electronique Numérique 181 A vous de « jouer » Fakhreddine GHAFFARI Olivier ROMAIN


Télécharger ppt "Enseignants: Fakhreddine GHAFFARI Olivier ROMAIN Année Universitaire 2012/2013 Fakhreddine."

Présentations similaires


Annonces Google