ELECTRONIQUE NUMÉRIQUE CIRCUITS COMBINATOIRES PDF
Document Details
Uploaded by InfallibleLead
Pr. H. RAYHANE
Tags
Summary
This document is about digital electronics, including topics such as number systems, coding, and logic functions. It covers fundamental concepts in digital electronics, including definitions, tables, and theorems.
Full Transcript
ELECTRONIQUE NUMÉRIQUE 1er tome CIRCUITS LOGIQUES Préparé par : Pr. H. RAYHANE CHAPITRE I : SYSTÈMES DE NUMÉRATION ET CODAGE................4 I. 1. Les systèmes de numération..........................................................
ELECTRONIQUE NUMÉRIQUE 1er tome CIRCUITS LOGIQUES Préparé par : Pr. H. RAYHANE CHAPITRE I : SYSTÈMES DE NUMÉRATION ET CODAGE................4 I. 1. Les systèmes de numération.........................................................................................4 I-1. Définition d’une base................................................................................................................................4 I-2. Le système décimal..................................................................................................................................5 I-3. Les systèmes binaire, hexadécimal et octal..............................................................................................6 I-4. Représentation des nombres fractionnaires..............................................................................................8 I-5. Représentation des nombres négatifs en binaire......................................................................................8 I-6. Opérations arithmétiques en binaire.........................................................................................................9 II. 2. Le codage....................................................................................................................11 II-1. 2.1. Codification des nombres entiers...................................................................................................11 II-2. Codification des nombres réels (norme lEEE 754)...............................................................................12 II-3. Code binaire réfléchi ou code GRAY...................................................................................................13 II-4. Code BCD (Binary Coded Decimal)....................................................................................................13 II-5. Code ASCII (American Standard Code for Information Interchange).................................................13 CHAPITRE II : PROPRIÉTÉS DES VARIABLES ET FONCTIONS LOGIQUES............................................................................. 16 I. Introduction.....................................................................................................................16 II. Propriétés de l’algèbre de Boole...................................................................................16 II-1. Définitions.............................................................................................................................................16 II-2. Table de vérité d’une fonction logique.................................................................................................16 II-3. Les fonctions logiques élémentaires.....................................................................................................17 II-4. Lois fondamentales...............................................................................................................................18 II-5. Les Théorèmes de l’algèbre de Boole :.................................................................................................19 II-6. Théorème de Morgan............................................................................................................................19 II-7. Relation de base....................................................................................................................................20 II-8. Opérateurs secondaires.........................................................................................................................20 2 III. Forme canonique d’une fonction................................................................................21 IV. Table de Karnaugh......................................................................................................22 IV-1. Définition.............................................................................................................................................22 V. Construction de la table de Karnaugh.........................................................................22 V-1. A partir de la table de vérité..................................................................................................................22 V-2. A partir de l’expression logique de la fonction.....................................................................................23 CHAPITRE III : SIMPLIFICATION DES FONCTIONS LOGIQUES......24 I. Simplification graphique à l’aide de la table de Karnaugh.........................................24 I-1. Principe...................................................................................................................................................24 I-2. Fonctions incomplètement définies........................................................................................................26 II. Simplification algébrique..............................................................................................27 III. Notion d’aléa de fonctionnement................................................................................27 CHAPITRE IV : SYNTHÈSE DES CIRCUITS COMBINATOIRES........29 I. Introduction.....................................................................................................................29 II. L’additionneur...............................................................................................................29 II-1. Le demi-additionneur............................................................................................................................29 II-2. L’additionneur complet.........................................................................................................................29 II-3. Réalisation d’un additionneur 4 bits.....................................................................................................30 III. Le comparateur............................................................................................................31 III-1. Définition.............................................................................................................................................31 III-2. Comparateur de deux nombres de 1 bit...............................................................................................32 III-3. Comparateur de deux nombres de n bits..............................................................................................32 III-4. Les opérateurs d’aiguillage..................................................................................................................33 III-5. Les codeurs..........................................................................................................................................36 III-6. Le décodeur.........................................................................................................................................39 IV. L’unité Arithmétique et Logique (UAL)....................................................................40 IV-1. VI.2. Réalisation d’une UAL de 2 bits................................................................................................40 CHAPITRE V : CIRCUIT SÉQUENTIELLE.....................................42 I. Introduction.....................................................................................................................42 I-1. Bascule RS.............................................................................................................................................44 I-2. Bascule RS synchrone ou bascule RSH.................................................................................................45 I-3. Bascule JK..............................................................................................................................................46 I-4. Synthèse..................................................................................................................................................47 I-5. Bascule JK active au front montant ou descendant................................................................................47 I-6.. Bascule D (Data)..................................................................................................................................48 I-7. Bascule T(Trigger).................................................................................................................................49 II. Synthèse des systèmes séquentiels, tables de transition des bascules.......................49 III. Les compteurs...............................................................................................................50 III-1. Définition.............................................................................................................................................50 III-2. Compteurs synchrones.........................................................................................................................51 III-3. Synthèse d’un compteur modulo 2......................................................................................................51 III-4. Compteur synchrone modulo m...........................................................................................................52 III-5. Compteurs asynchrones.......................................................................................................................55 III-6. Compteur asynchrone modulo.............................................................................................55 IV. Les registres..................................................................................................................58 IV-1. Définition.............................................................................................................................................58 IV-2. Les registres de mémorisation.............................................................................................................58 IV-3. Les registres à décalage.......................................................................................................................58 IV-4. Application des registres.....................................................................................................................59 CHAPITRE I : SYSTÈMES DE NUMÉRATION ET CODAGE I.1. LES SYSTÈMES DE NUMÉRATION Un système de numération est un ensemble de symboles et de règles permettant la représentation de n’importe quel élément d’un ensemble de nombres données. Exemple L système décimal permet d’écrire un nombre à l’aide de dix chiffres 0 à 9. Tout nombre est représenté par une combinaison de ces dix symboles. 4 I-1.Définition d’une base La base d’un système dg numération est la référence qui permet 1’ écriture d’un nombre. Dans le cas du système décimal, la base est 10. Exemple En généralisant, un nombre A peut être exprimé dans une base B par n chiffres ai: Remarque La notation (A)B signifie que A est exprimé dans la base B. I-2.Le système décimal C’est 1e système que nous utilisons dans la vie courante. Il est basé sur les dix chiffres 0 à 9. Si nous employons le système décimal avec aisance dans tous nos calculs, il n’en va pas de même pour les machines électroniques dans lesquelles ce système reste difficile à mettre en œuvre pour plusieurs raisons d’ordre technique. C’est un autre système, plus adapté, qui est implanté. Le problème de conversion se pose alors du moment que la machine et l’homme parlent deux langages différente La machine ne peut accepter un nombre décimal et de son côté reste incapable d’interpréter un résultat fourni par la machine dans sa base sans faire appel à un gymnastique lourde d’esprit. Par conséquent, les règles de passage entre la base décimale et n’import quelle base B ont été définies: I-2-1.Passage d’une base B à la base décimale Soit A un nombre exprimé dans un base B: La valeur décimale du nombre A st calculée par: Exemple Soit A un nombre exprimé en base 8: L’équivalent de A en décimal est: I-2-2.Passage de la base décimale à une base B Soit A un nombre exprimé dans le système décimal. L’équivalent de A dans une base B est calculé en divisant A par B, puis le quotient obtenu par B et ainsi de suite jusqu’à ce que le quotient soit nul. Les restes de divisions successives lus du bas vers le haut représentent le nombre A dans la base B. Exemple Vérifier ces résultats en appliquant les règles de passage. Remarque La base dans son propre système s’écrit toujours 10. I-3.Les systèmes binaire, hexadécimal et octal I-3-1.Le système binaire C’est la base 2. Elle est utilisée dans tous les systèmes électroniques où les deux états VRAI et FAUX sont facilement réalisables (interrupteur fermé ou ouvert, transistor bloqué ou saturé, lampe allumée ou éteinte,...). Cette base comporte uniquement les deux symboles 0 et 1. Ce sont les chiffres binaires appelés aussi bits (Binary digit) a s’appelle le MSB (Most Significant Bit) : Bit de poids le plus fort. a0 s’appelle le LSB (Least Significant Bit) : Bit de poids le plus faible. Vu l’importance de système, nous allons consacrer plusieurs paragraphes à l’étude de certains des ses aspects, notamment le calcul arithmétique (voir 1.6) et les nombres négatifs (voir 1.5). I-3-2.Le système hexadécimal L système hexadécimal comporte 16 symboles: les dix chiffres 0 à 9 et les six lettres A, B, C, D, E et F. C système et très répandu pour la simple raison que il permet de représenter les nombres binaires d’une manière plus compacte. 6 Table de correspondance Décimal /Binaire / Hexadécimal Exemples Soit en base hexadécimale: (A)16 = 2AB En décimal : Vérifiez les résultats suivants en appliquant les règles de conversion qu vous connaissez: Prenons le nombre (3E)16 et exprimons chaque chiffre hexadécimal en binaire sur 4 bits (cf. le tableau de conversion ci-dessus) Maintenant, mettons les groupes de bits ensemble en suivant l’ordre des chiffres : On voit bien que on retrouve le même résultat obtenu avec les règles de base. Règles de conversion Base 16 / Base 2 Pour passer de la base 16 à la base 2, on exprime chaque chiffre hexadécimal en binaire sur 4 bits. Pour faire la transformation inverse (Base 2 vers 16), il suffit de prendre les chiffres binaires 4 par 4 en partant de la droite et convertir chaque quartet en hexadécimal. Exemple Remarque Vu que le passage Base 2 / Base 16 est direct et que la représentation hexadécimal est plus compacte, on préfère toujours écrire les nombres binaires en hexadécimal. I-3-3.Le système octal Il contient 8 symboles : 0 à 7. Il est moins fréquemment utilisé dans la représentation des nombres binaires. Le passage du système binaire au système octal se fait par groupement de 3 bits. Exemple I-4. Représentation des nombres fractionnaires On isole la partie entière qu’on convertit selon les règles déjà connues. Ensuite, on mu1tip1i la partie fractionnaire (partie après la virgule) par la base et on répète l’opération sur la partie fractionnaire du produit jusqu’à ce qu’elle soit nulle (ou que la précision voulue soit atteint). Les parties entiers des produits obtenus représentent les chiffres des la partie fractionnaire du nombre converti. Exemple Trouver l’équivalent binaire du nombre décimal : 35, 125 Partie entière: (35) = (100011)2 Partie fractionnaire : D’où I-5.Représentation des nombres négatifs en binaire Il existe 3 modes de représentation des nombres signés en binaire: I-5-1. Représentation en valeur absolue et bit de signe On utilise un caractère binaire supplémentaire. Conventionnellement, on attribue la valeur 0 au signe (+) et la valeur 1 au signe (—). Exemple La valeur absolue de 12 est (1100)2: 8 Ce système de représentation n’est pas couramment employé car il n’est pas pratique dans les opérations arithmétiques. I-5-2.1.5.2. Représentation par complément à 1 L complément 1 d’un nombre binaire s’obtient en remplaçant les 1 par des 0 et vice-versa. Exemple Inconvénient Le nombre 0 peut être codé de deux manières : 0000 et 1111. I-5-3.Représentation en complément à 2 Le complément à 2 s’obtient en ajoutant 1 au complément à 1. Exemple + 7 —> en binaire naturel sur 4 bits: 0111 —> le complément à 1: 1000 auquel on ajoute 1: 1000 + 1 = 1001 (l’équivalent d’ (-7) en code complément à 2 sur 4 bits) Remarques L code complément à 2 est le plus utilisé car il est adapté aux opérations arithmétiques. Le MSB indique le signe du nombre: 1 —> (-) et 0 —> (+) On doit toujours spécifier le nombre de bits lorsqu’on travaille en complément à 2. Sur n bits, on peut représenter les nombres allant de -2n-1 à 2n-1-1. Sur 4 bits par exemple, on ne peut représenter que les nombres compris entre -7 et + 8: I-6.Opérations arithmétiques en binaire I-6-1.. L’addition Règles 0+0=0 1+0=1+0=1 1 + 1 = O avec retenue 1 + 1 + 1 = 1 avec retenue Exemple I-6-2.La soustraction Pour calculer (M-N), on calcule la somme de M et le complément à 2 de N. Exemple Pour calculer (7-5), on fait la somme de 0111 (7) et 1011 (complément à 2 de 5), d’où: 0111 + 1011 = 0010(2 en décimal) Remarque En général, les calculateurs travaillent avec tailles normalisées (8, 16, 32,... bits). Pour qu’une opération d’addition ou de soustraction sur n bits soit cohérente, il faut que le résultat soit compris entre -2n-1 et 2n-1-1. Si ce n’est pas le cas, il y a un dépassement de la capacité de calcul (Overflow). I-6-3. Multiplication Nous ne considérons que les opérations sur les nombres positifs, le traitement du signe est fait à part. Pour faire une multiplication en binaire, on suit les même règles que le système décimal : I-6-4.Division Elle est réalisée comme la division décimale: 10 II.2. LE CODAGE II-1.2.1. Codification des nombres entiers Le codage d’un nombre entier dans un ordinateur se fait sur un nombre fixe de bits (8, 16, 32, …) En binaire non signé (binaire naturel) sur n bits, les nombres sont compris entre 0 et 2n-1 En binaire signé (code complément à 2) sur n bits, les nombres sont compris entre -2n-1à 2n-1-1 Exemple A = -2 L’équivalent de A en binaire signé est : Remarque En langage C, les types utilisés occupent 1, 2 ou 4 octets A propos de signed et unsigned Prenons l’exemple du type char: Ce type occupe un octet dans la mémoire d’ordinateur. Lorsqu’on affect un valeur à une variable de type char, elle est toujours convertie en binaire avant d’être rangée en mémoire. Au moment de la lecture, la valeur binaire est interprétée en binaire naturel si la variable a été déclarée unsigned ou en binaire signé (code complément à 2) si la variable a été déclarée signed. Afin de mieux illustrer cette notion, nous allons analyser un petit programme écrit en C: Dans les systèmes 16 bits (DOS par exemple) un type int occupe 2 octets alors que dans les systèmes 32 bits il (*) occupe 4 octets. Il est donc plus prudent d’utiliser les types short et long pour s’assurer de la taille de la variable. On déclare deux variable x et y de type char ; y est définie unsigned. X=-1 ; On affecte la valeur -1 à x. En réalité, la valeur affectée à x est le complément à 2 du nombre 1, soit 11111111 en binaire (FF n hexadécimal). y=x ; Ici on affecte la valeur de x à y (c’est la valeur binaire FF qui est recopiée dans y) Les deux instructions printf servent à l’affichage de x et y n décimal (%d) puis en hexadécimal sur deux chiffre (%.2X). L résultat affiché par le programme est le suivant: (x) 10 = -1 ; (x) 16 = FF (y) 10 = 255 ; (y) 16 = FF Le contenu binaire de x et y est le même (FF), cependant, cette valeur est interprété -1 pour x qui a été définie comme un nombre signé et 255 pour y qui a été définie non signé (donc en binaire naturel). II-2.Codification des nombres réels (norme lEEE 754) Du moment que les nombres réels peuvent prendre des valeurs très grandes ou très petites, ils sont représentés en virgule flottante (floating point) selon le format normalisée IEEE. Il existe deux formats IEEE pour les nombres à virgule flottante : le format 32 bits (type single en C) et le format 64 bits (type double en C) : Format 32 bits Exemple Soit à représnter l nombre A = 8,25 sous la format IEEE 32 bits On commence par convertir la valeur absolue du nombre en binaire naturel : (8,25) = (1000,01)2 Ensuite, on écrit le nombre sous la forme : 1,...x 2m. On trouve pour notre exemple 1000,01 = 1,00001 x 23 Le format IEEE 32 bits se compose de 3 champs : Le bit de signe (bit 31) indique le signe du nombre: 1 —> (-) ; 0 —> (+) L’exposant est codé sur 8 bits (bits 23 à 30). Il est égal à m+ 127. La mantisse s’écrit sur 23 bits (bits 0 à 22). Elle représente la suite des bits après la virgule (dans notre cas : 00001) Ainsi, le format IEEE du nombre (8,25)10 est: 01000001000001000000000000000000 (soit 41040000 en hexa) Remarques L’exposant 00000000 signifie que le nombre est dénormalisé (trop petit) L’exposant 11111111 signifie un dépassement de capacité (nombre trop grand: NaN (Not a Number)) Par conséquent, le plus petit exposant possible est 01 (m=-126) et le plus grand est FE (m= + 127). 12 II-3.Code binaire réfléchi ou code GRAY C’est un code non pondéré. Il est différent du code binaire naturel. La particularité de ce code est que le passage d’un nombre au nombre suivant se traduit par le changement d’un seul bit : II-4.Code BCD (Binary Coded Decimal) On fait correspondre à chaque chiffre décimal un mot binaire codé sur 4 bits. Exemple (5873) = (0101100001110011) BCD Ce code est souvent employé dans les systèmes de comptage et dans certaines machines à calculer. Il permet de réaliser des opérations en décimal avec des chiffres binaires. II-5.Code ASCII (American Standard Code for Information Interchange) II-5-1.Définition L’homme utilise le plus souvent des informations sous forme de texte, de chiffres ou de symboles, c’est ce qu’on appelle en informatique des caractères (A,B,C,...,1,2,3,...,(,@,&,...). Cependant, la mémoire de l’ordinateur ainsi que les supports d’information ne peuvent supporter que les valeurs 0 et 1. Il a donc fallu trouver un codage qui permettrait de représenter n’importe quel caractère sous forme d’un nombre binaire afin de faciliter son stockage et sa transmission. Le code ASCII était parmi les premiers codes utilisés pour ce propos. C’est un code universel qui fait correspondre à chaque caractère un code sur 7 ou 8 bits. Sur la page suivante, vous trouverez une table détaillée du code ASCII. Dans sa première version, le code ASCII était codé sur 7 bits. Cette taille n’étant pas suffisante pour représenter tous les symboles, il a été étendu à 8 bits. 14 II-5-2.2.5.2. Codage d’une chaîne de caractères Un chaîne dg caractères est stockée sous forme d’ un suite dg codes ASCII représentant les caractères qui la constituent. Ces codes sont terminés par un indicateur de fin (en général, 1e caractèrg NUL (code ASCII: 0)) Exemple En langage C, le mot `’’Bonjour’’ sera stocké dans la mémoire de l’ordinateur sous forme de 7 octets suivis du caractère NUL : 42, 6F, 6E, 6A, 6F, 75, 72, 00 CHAPITRE II : PROPRIÉTÉS DES VARIABLES ET FONCTIONS LOGIQUES I.INTRODUCTION Le fonctionnement des systèmes numériques repose sur la manipulation de variables et fonctions dont les valeurs sont représentées par des grandeurs physiques dites binaires car ne pouvant prendre que deux valeurs (généralement notées 0 et 1). La structure mathématique permettant de formaliser les opérations de manipulation de ces grandeurs binaires est dite algèbre de commutation ou plus communément algèbre de Boole. Nous nous intéressons dans ce chapitre aux bases et aux propriétés fondamentales de l’algèbre de Boole indispensables à la compréhension du fonctionnement des systèmes numériques. II.PROPRIÉTÉS DE L’ALGÈBRE DE BOOLE II-1.Définitions Dans l’algèbre de commutation, une variable ne peut prendre que O ou 1 comme valeur possible. Une telle variable est dite variable logique, variable binaire, ou variable booléenne. De même, une fonction de n variables logiques ne peut prendre comme valeur que O ou 1. Elle est dite fonction logique, fonction binaire, ou fonction booléenne. II-2.Table de vérité d’une fonction logique C’est une table donnant l’état logique de la fonction pour chacune des combinaisons des états de ses variables. Une fonction de n variables est représentée par une table de vérité à n+1 colonnes et au plus 2n lignes. Le tableau 2.1 donne la forme générale d’une fonction de deux variables logiques. Tableau 2.1 : forme générale de la table de vérité d’une fonction de deux variables logiques 16 II-3.Les fonctions logiques élémentaires Trois fonctions suffisent pour définir une algèbre de Boole : la complémentation, le produit logique, et l’addition logique. II-3-1.La fonction de complémentation ou fonction NON Le complément de la variable A se note À (lire «A barre» ou «non A »). À vaut 1 (respectivement 0) si et seulement si A vaut 0 (respectivement 1). On parle encore de fonction d’inversion logique. Le tableau 2.2 donne la table de vérité de la fonction de complémentation. Les symboles usuellement utilisés pour représenter graphiquement l’opérateur correspondant, appelé inverseur, sont ceux de la figure 2.1. tableau 2.2 : table de vérité de la fonction NON figure 2.1 : symboles logiques d’un inverseur (a) notation usuelle (ancienne notation US) (b) notation normalisée IEEE (ancienne notation européenne) II-3-2.La fonction produit logique ou fonction ET Le produit logique de 2 variables se note A.B, AB, ou bien encore A^B (lire «A et B »). A.B vaut 1 si et seulement si A et B valent 1. Le tableau 2.3 donne la table de vérité de la fonction ET, et la figure 2.2 les symboles logiques de l’opérateur associé. tableau 2.3 : table de vérité de la fonction ET figure 2.2 : symboles logiques de l’opérateur ET. (a) notation usuelle (b) notation normalisée IEEE II-3-3.La fonction addition logique ou fonction OU L’addition logique de 2 variables se note A+B ou AvB (lire «A ou B »). A+B vaut O si et seulement si A et B valent O. Le tableau 2.4 donne la table de vérité de la fonction OU, et la figure 2.3 les symboles logiques de l’opérateur associé. tableau 2.4 : table de vérité de la fonction OU figure 2.3 : symboles logiques de l’opérateur OU. (a) notation usuelle (b) notation normalisée IEEE II-4.Lois fondamentales Soit A,b,C trois variable booléenne 18 II-5.Les Théorèmes de l’algèbre de Boole : II-6.Théorème de Morgan II-6-1.Enoncé La négation d’un produit de variables est égale la somme des négations de ces variables. La négation d’une somme de variables est égale au produit des négations de ces variables. Exercice : Démontrer ce théorème par table de vérité. II-6-2.Application du théorème Le théorème de DEMORGAN permet de transformer une somme de produits en un produit de sommes et inversement Exemple En appliquant le théorème de DE MORGAN: Grâce à ce théorème, on démontre que les opérateurs NOR et NAND sont des opérateurs universels, autrement dit, on peut réaliser n’importe quelle fonction logique uniquement avec l’un de ces opérateurs. Il suffit de démontrer que les opérateurs fondamentaux (NON, ET, OU) peuvent être remplacés par une combinaison de NOR ou de NAND. II-7.Relation de base d- Théorème du consensus: Le terme yz est le terme consensus. Il peut être simplifié. Exercice : Démontrer ces relations en vous basant sur les relations fondamentales. II-8.Opérateurs secondaires Dans les circuits logiques, on utilise également des opérateurs qui sont des combinaisons des fonctions ET, OU, et NON. II-8-1.La fonction NON ET ou NAND : La table de vérité de la fonction NON ET se déduit immédiatement de celle de la fonction ET par inversion du résultat (tableau 2.5). tableau 2.5 : table de vérité figure 2.4 : symboles logiques de l’opérateur NON ET. de la fonction NON ET (a) notation usuelle (b) notation normalisée IEEE II-8-2.La fonction NONOU ou NOR : La table de vérité de la fonction NON OU se déduit immédiatement de celle de la fonction OU par inversion du résultat (tableau 2.6). 20 tableau 2.6 : table de vérité de figure 2.5 : symboles logiques de l’opérateur NON OU la fonction NON OU (a) notation usuelle (b) notation normalisée IEEE II-8-3.La fonction OU exclusif (abrégé OUEX ou XOR): II-8-4.La fonction ET inclusif (abrégé XNOR) III.FORME CANONIQUE D’UNE FONCTION Toute fonction peut être représente sous sa forme canonique. Sous cette forme, chaque terme est constitué de toutes les variables de la fonction. Exemple 1ère forme canonique (somme de produits): On cherche dans la table de vérité toutes les combinaisons pour lesquelles S=1. A chacune de ces combinaisons on fait correspondre un produit dans lequel les variables ayant la valeur 0 sont complémentées et les variables avant la valeur 1 non complémentées. La fonction S est alors la somme de tous ces produits. Dans notre cas, S vaut 1 pour : x=0, y=1 —> terme et pour x=1, y=1 —> terme xy 2ème forme canonique (produit de sommes): On cherche cette fois les combinaisons pour lesquelles S=0. Chaque combinaison fait apparaître une somme dans laquelle les variables ayant la valeur 1 sont complémentes et celles avant la valeur 0 non complémentées. Dans notre cas, S vaut 0 pour : x=0, y=0 —>terme (x +y) et pour x=1, y=0—> terme IV.TABLE DE KARNAUGH IV-1. Définition La table de Karnaugh est une représentation plus compacte de la table de vérité. Pour une fonction à n variables, la table de Karnaugh comporte 2n cases. D’une case à la case voisine (verticalement ou horizontalement), une seule variable change d’état car les lignes et les colonnes sont repérées par le code binaire réfléchi. Les axes de symétrie de la table de Karnaugh sont les axes de symétrie du code binaire réfléchi. Les combinaisons correspondantes des cases symétriques par rapport l’un des axes sont adjacentes Exemple de fonction à 2 variables 22 1ère forme canonique : 2ème forme canonique : V.CONSTRUCTION DE LA TABLE DE KARNAUGH V-1.A partir de la table de vérité A chaque combinaison de la table de vérité correspond une case unique dans la table de Karnaugh. Cette case reçoit la valeur de la fonction. Table de vérité V-2.A partir de l’expression logique de la fonction Soit la fonction suivante : On déve1oppe la fonction sous forme de somme de produits: Chaque terme fait apparaître un certain nombre de “1” dans la table de Karnaugh : CHAPITRE III : SIMPLIFICATION DES FONCTIONS LOGIQUES Définition La simplification d’une fonction logique est son écriture sous forme d’une expression contenant le minimum de lettres et de termes. I.SIMPLIFICATION GRAPHIQUE À L’AIDE DE LA TABLE DE KARNAUGH I-1. Principe Soit une fonction logique définie par une table de Karnaugh. On peut simplifier la fonction en effectuant des groupements des cases adjacentes contenant la valeur 1 I-1-1.Groupement de 2 cases adjacentes 24 Les cases a et b sont adjacentes ainsi que c et d : Le groupement de deux cases adjacentes contenant la valeur 1 correspond i deux termes qui différent d’une variable complémente dans un terme et non complémente dans l’autre. Le terme résultant du groupement ne comporte pas cette variable qui change d’état. I-1-2.Groupement de 4 cases adjacentes le groupement de 4 cases adjacentes contenant la valeur 1 conduit à un terme réduit dans lequel deux variables disparaissent. D’une manière générale. Le groupement de 2 (2,4.8.16,...) cases adjacentes conduit à un terme réduite dans lequel n variables disparaissent. Principe de la simplification graphique La simplification graphique consiste à faire apparaître sur la table de Karnaugh des groupements en puissance de 2, aussi importants que possible, de cases adjacentes contenant la valeur “1”. Une même case peut faire partie de plusieurs groupements. L’écriture simplifiée de la fonction est la somme des termes engendrés par chaque groupement. Remarques. L’adjacence existe aussi sur les extrémités de la table Pour représenter la fonction sous forme de produits de sommes on procède par groupement des “0”. Exemple Ecrire la forme simplifiée de la fonction définie par la table de Karnaugh suivante : Solution Réalisation avec des portes NAND 26 I-2.Fonctions incomplètement définies Dans des cas pratiques, certaines combinaisons de variables n’ont aucun sens physique et n’apparaissent jamais dans la réalité. Il est donc inutile de spécifier la valeur de la fonction pour de telles combinaisons. Dans ce cas, le concepteur peut à sa convenance attribuer â ces cases la valeur 0 ou 1 de manière à obtenir le maximum de groupements. Exemple Pour obtenir la forme la plus simplifiée de la fonction, on attribue 1 à la case “a’ afin d’obtenir un groupement de quatre 1 et 0 aux cases “b” et “c’. D’une manière générale. Dans un groupement. il doit y avoir au moins un seul “1” n’appartenant à aucun autre groupement, sinon, le groupement est inutile (voir table de Karnaugh ci-dessus). II.SIMPLIFICATION ALGÉBRIQUE Cette méthode se base sur les lois et théorèmes fondamentaux de l’algèbre de Boole et en particulier l’absorption et le théorème de consensus. Exemple III.NOTION D’ALÉA DE FONCTIONNEMENT Soit la fonction S définie par sa table de Karnaugh Réalisation Les opérateurs n’ont pas un temps de réponse nul. Autrement dit, vis-à-vis des variations des entrées, la sortie ne réagit qu’après un temps de retard “td”. Exemple Examinons le comportement du circuit logique de la fonction S précédente au passage de la combinaison xyz 011 la combinaison xyz 001 (y passe de 1 à 0) : 28 Les chronogrammes montrent que la sortie S passe au niveau 0 pendant td lors du passage de la combinaison 011 à 001 alors qu’elle devait rester 1 d’après la table de Karnaugh. Si le récepteur relié à la variable S est rapide. Il peut prendre en compte cet aléa et entraîner un dysfonctionnement du système. Afin de supprimer l’aléa, on introduit un autre groupement permettant le passage de S2 à S3. Le terme reste à 1 au moment du passage de 011 à 001 et force S à 1. En général. Les termes anti-aléa ne sont ajoutés que si le système en aval est plus rapide que les opérateurs. CHAPITRE IV : SYNTHÈSE DES CIRCUITS COMBINATOIRES I.INTRODUCTION Un circuit combinatoire est un circuit dont l’état des sorties dépend uniquement de la combinaison d’état des entrées. La synthèse d’un système combinatoire passe par les étapes suivantes 1. Lecture et analyse du cahier des charges et définition des entres/sorties 2. Ecriture sous forme canonique ou représentation par table de vérité 3. Simplification des différentes sorties 4. Réalisation du logigramme II. L’ADDITIONNEUR II-1. Le demi-additionneur C’est un circuit qui réalise l’addition de 2 bits a et b. II-2. L’additionneur complet Soit à faire l’addition de deux nombres A et B de 4 bits : 30 Le demi-additionneur ne permet pas la prise en compte de la retenue de l’addition précédente. L’additionneur complet. qui sera utilisé comme cellule de base de l’addition, doit disposer d’une 3ème entrée recevant la retenue précédente. Synthèse de l’additionneur complet II-3.Réalisation d’un additionneur 4 bits On réalise un additionneur de n bits en connectant n additionneurs en cascade (voir ci- dessous). L’entrée de retenue du premier additionneur (Cin) est mise à 0. La sortie de retenue du dernier additionneur (Cout) représente la retenue de l’addition sur n bits. L’additionneur 4 bits est disponible sous forme d’un circuit intégré de référence : 7483. Exercice Réaliser un additionneur 6 bits à l’aide de deux circuits intégrés 7483. III.LE COMPARATEUR III-1.Définition Le comparateur est un circuit combinatoire susceptible de comparer deux nombres binaires A et B de n bits. En général, le résultat de la comparaison est fourni sur 3 sorties S>, S= et S< : Représentation symbolique 32 III-2.Comparateur de deux nombres de 1 bit III-3.Comparateur de deux nombres de n bits Principe Soit A et B deux nombres de 2 bits : La démarche de comparaison est la suivante : On commence par comparer les bits de poids fort et on ne passe aux bits de poids inférieur qu’en cas d’égalité. La cellule de base de comparaison doit donc disposer d’entrées permettant la prise en compte du résultat de la comparaison des bits de poids inférieur. Cellule de base I : Entrées recevant le résultat de la comparaison des bits de poids inférieur. D’après l’organigramme, les entrées I ne sont prises en compte qu’en cas d’égalité de a et b (s==1). Dans ce cas leur état est directement transmis vers les sorties S>, S= et S