I. Définitions I.1. Variable binaire / Bit LOGIQUE ET FONCTIONS COMBINATOIRES On appelle variable binaire (ou logique), une variable prenant ses valeurs dans l ensemble {0, 1}. Il s'agit d'un bit (Binary Digit). Exemples technologiques affectés au codage 0/1 : interrupteur ouvert/fermé, tension basse/haute, pôle Nord/Sud, zone optique blanche/noire... La proposition logique faux/vrai est associée à l'état 0/1. I.2. Equation logique On appelle équation logique une combinaison de plusieurs variables logiques donnant l état d une variable dite de sortie associée. Cette combinaison est réalisée à l aide d opérations logiques. S = a + b se lit "S = a ou b". S est vrai si a ou b est vrai. I.3. Table de vérité La table de vérité représente l état de la variable de sortie pour chacune des combinaisons des n variables d entrée elle comprend 2 n lignes (voir plus loin). I.4. Logique positive et négative Fig. 1 0 volt 0 volt 1 1 0 0 1 1 0 0 Logique positive Logique négative SORTIE 3 ETATS : Un certain nombre de circuits comporte un état supplémentaire haute impédance (HZ) auquel il ne correspond ni 0 ni 1. Il équivaut à un circuit ouvert, cet état permet de ne pas "polluer" la valeur sur la liaison auquel il est connecté. II. Les opérations logiques élémentaires Les opérateurs logiques sont disponibles sous forme discrète (circuits intégrés) ou programmés au cœur d unités de calcul ou de circuits programmables (ASIC, FPGA, CPLD ). Les fonctions combinatoires évoluées (multiplexeur, comparateur ) reposent sur l association de ces fonctions élémentaires qu il est donc indispensable de bien connaître. lien : http://fr.wikipedia.org/wiki/fonction_logique II.1. Opérateur OUI L opération (ou opérateur) OUI ne s applique qu à un seul opérande. Elle affecte à la variable de sortie l état logique de la variable d entrée. On la rencontre parfois avec le rôle d amplification ou buffer. Equation : x est la l entrée, S la sortie : S = x. 1 IEC, International Electrotechnical Commission (CEI en français). 2 IEEE, Institute of Electrical and Electronics Engineers. CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 1 sur 10
II.2. Opérateur NON L opération (ou opérateur) NON est la fonction qui affecte à la variable de sortie l état complémentaire de la variable d entrée. Equation : A est la l entrée, S la sortie : S A prononcer «A barre» II.3. Opérateur ET L opération ET est le produit logique. Le signe est celui de la multiplication (un point), mais on lit «ET». C est un opérateur binaire qui affecte à la variable de sortie l état 1 si et seulement si les variables d entrée sont à 1 simultanément. Equation : x et y les entrées, S la sortie, S x. y II.4. Opérateur OU L opération OU est la somme logique. Le signe est celui de l addition (+), mais on lit «ou». C est un opérateur binaire qui affecte à la variable de sortie l état 1 si et seulement si une variable d entrée est à 1. Cette définition induit directement le symbole 1. Equation : x et y les entrées, S la sortie, S x + y III. Les opérations logiques induites III.1. L opération NON ET ou NAND Cette fonction logique est le résultat de l association d un NON et d un ET. C est un opérateur binaire qui affecte à la variable de sortie l état 0 si et seulement si les variables d entrée sont à 1 simultanément Equation : x et y les entrées, S la sortie, S x. y CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 2 sur 10
III.2. L opération NON OU ou NOR Cette fonction logique est le résultat de l association d un NON et d un OU. C est un opérateur binaire qui affecte à la variable de sortie l état 1 si et seulement si les variables d entrée sont à 0 simultanément. Equation : x et y les entrées, S la sortie, S x y III.3. L opération OU EXCLUSIF ou XOR Pour 2 entrées, cet opérateur logique ne prend la valeur 1 que si une seule des entrées est à 1. Equation : x et y les entrées, S la sortie, S x y. Généralisation : L opérateur XOR se généralise à un ensemble de n variables d entrée de la façon suivante : La sortie vaut 1 si et seulement si le nombre d entrées à 1 est impair. Cet opérateur peut donc aisément faire fonction de contrôleur de parité impair (ou d imparité). III.4. L opération NON OU EXCLUSIF ou XNOR (IDENTITE par abus de langage...) Pour 2 entrées, cet opérateur logique ne prend la valeur 1 que si les deux entrées sont identiques. Equation : x et y les entrées, S la sortie, S x y CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 3 sur 10
Généralisation : L opérateur XNOR se généralise à un ensemble de n variables d entrée de la façon suivante : La sortie vaut 1 si et seulement si le nombre d entrées à 1 est pair. Cet opérateur peut donc aisément faire fonction de contrôleur de parité pair. On remarque que le nom "IDENTITE" est abusif pour plus de 2 variables. CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 4 sur 10
IV. Les expressions logiques et leur simplification Tous les opérateurs précédents permettent de combiner des variables pour en construire de nouvelles IV.1. Propriétés Commutativité a + b = b + a a.b = b.a Associativité Distributivité a + (b + c) = (a + b) + c = a + b + c (ab)c = a(bc) = abc (commutativité de l opération OU) (commutativité de l opération ET) (associativité de l opération OU) (associativité de l opération ET) (a + b).c = ac + bc (distributivité du produit logique sur la somme logique) ab + c = (a + c).(b + c) Les parenthèses imposent une priorité supérieure. IV.2. Autres propriétés a est une variable logique (distributivité de la somme logique sur le produit logique) a a 1 a 0 a a 1 1 a a a a. a 0 a. 0 0 a. 1 a a. a a IV.3. Exemples IV.4. Théorèmes de De Morgan But : exprimer les opérateurs ET, OU et NON exclusivement à l aide d opérateurs NOR seuls ou NAND seuls. On dit que les opérateurs NOR et NAND sont universels ou complets. Premier théorème: a. b a b Second théorème : a b a. b CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 5 sur 10
V. Synthèse des systèmes logiques combinatoires V.1 Extraction d une équation logique à partir d une table de vérité A partir du cahier des charges d un système, on construit sa table de vérité. Une table de vérité recense l ensemble des états d une sortie pour toutes les combinaisons possibles des variables d entrée. Pour trouver une expression de l équation logique des variables de sortie, on peut appliquer deux méthodes. 1) Donner l équation sous forme d une somme de produits des variables d entrée (ou mintermes) puis simplifier en utilisant les propriétés de l algèbre de Boole. On trouve finalement Y = AB + BC + AC 2) Construire un tableau de Karnaught et en tirer l équation de la variable de sortie. Les regroupements doivent comprendre un nombre de cases correspondant à une puissance de 2 la plus élevée possible pour minimiser l'équation logique finale (1, 2, 4, 8 cases...). Le chevauchement des différents groupements doit éliminer les aléas de fonctionnement lors des transitions d'un groupe vers un autre. Exemples : Fonction complètement définie : Toutes les combinaisons les variables d'entrées correspondent à un état défini, on effectue des groupements de 1 qui répondent aux conditions précédentes. Fonction incomplètement définie: Certaines combinaisons n'existant pas physiquement pour le système étudié, les cases correspondantes sont remplies d'un x (état indifférent), elles peuvent être considérées à 0 ou 1 pour réaliser les groupements les plus intéressants, afin d'obtenir l'équation la plus simple de la fonction. Cette stratégie permet d éviter les aléas de fonctionnement lors des commutations des entrées (capteurs TOR, sorties logiques ). Fournir plusieurs équations possibles de F2 CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 6 sur 10
V.2 Réalisation à partir d opérateurs logiques (logigrammes) A B 1 Y = AB + BC + AC C V.3 Réalisation à partir d opérateurs type NAND (ou NOR) Y = A.B + B.C + A.C = A. B B. C AC. A. B. B. C. AC. ( A B) ( B C) ( A C) A B Y C V.4 Réalisation à l aide de multiplexeurs L adresse de l entrée choisie est donnée par le poids binaire présent sur le sélecteur. Exemple : S 1 S 2 S 3 = 010 = 2 10 sélectionne l entrée I 2 X Ici S S ) est réalisée par le câblage des différentes entrées du multiplexeur, les 3 variables d entrées étant.( 0 1 2 S reliées au sélecteur. Toute fonction logique de n variables est réalisable avec un multiplexeur de 2 n vers 1. CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 7 sur 10
VI. Fonctions combinatoires évoluées VI.1. Décodeurs et transcodeurs Un transcodeur permet de convertir une combinaison de n bits en une autre de p bits. La différence entre un transcodeur et un décodeur réside dans l application plutôt que dans la fonction réalisée. Par exemple, on parle plutôt de transcodeur Gray/binaire mais on utilise un décodeur pour un système d affichage sept segments. Parmi les composants les plus courants retenons ceux-ci : binaire vers décimal (4 vers 10), BCD vers décimal ou binaire vers hexadécimal. (4 vers 16). Un décodeur 7 segments permet, à partir d une combinaison sur 4 bits, de piloter un afficheur sept segments en décimal (digits de 0 à 9) ou en hexadécimal (digits de 0 à F). VI.2. Multiplexeurs et démultiplexeurs Un multiplexeur (multiplexer) (Figure 2) permet de transmettre en sortie un bit de donnée dont le rang est indiqué par un mot de sélection de n bits (le sélecteur), parmi les 2n bits d entrée. C est une sorte d aiguillage de 2 n vers 1 voie. Un démultiplexeur (demultiplexer) (Figure 3) effectue l opération inverse en assignant à la sortie de rang indiqué par le sélecteur, le bit de donnée en entrée. C est une sorte d aiguillage 1 voie vers 2 n voies. Figure 2 : symbole d un multiplexeur. VI.3. Les opérations logiques sur mots binaires Figure 3 : symbole d un démultiplexeur. L opérateur logique, réalise une fonction ou opération logique entre deux mots binaires codés sur n bits. Ce sont : la complémentation Exemple : NON(1011001110) = NON(0000001011001110)= NON($02CE) = 1111110100110001 = $FD31. Remarque : On ajoute des zéros en tête pour atteindre un codage sur un nombre de bits fixé, ici mots de 16 bits. La somme logique (ou) Exemple : 101110010+1010010001 (lire... ou...) = 1111110011 soit $172 + $291 = $3F3 Le produit logique (et) Exemple : 101110010.1010010001 (lire... et...) = 10000 soit $172. $291 = $10 La somme exclusive logique (xor) Exemple : 101110010 1010010001 (lire... xor...) = 1111100011 soit $172 $291 = $3E3 VI.4. Opérateurs arithmétiques Ils réalisent sous forme combinatoire une opération arithmétique entre deux mots binaires de n bits (codage pondéré). Les opérations arithmétiques de base sont l addition et la multiplication, la soustraction est obtenue par l addition en code complément à 2. L additionneur (adder) numérique réalise la somme de deux nombres de n bits en tenant compte éventuellement d une retenue extérieure. Le résultat est fourni sur n + 1 bits, le dernier bit est la retenue ou carry. Le multiplicateur (multiplier) numérique réalise le produit de deux nombres de n bits en tenant compte d une retenue extérieure. Le résultat est fourni sur 2.n bits. Une unité arithmétique et logique (UAL ou ALU, Arithmetic and Logic Unit en anglo-américain) permet tous les types d opérations logiques et arithmétiques. A partir de 2 mots binaires de n bits, le mot binaire de sortie apparaît en sortie sur 2.n bits. Exemple : ALU 4 bits et générateur de fonction 74181. VI.5. Autres fonctions : comparateurs Le comparateur d égalité indique si deux mots binaires de n bits en entrée sont identiques (au bit près). Le comparateur arithmétique est une généralisation du comparateur d égalité mais indiquant, grâce à deux sorties supplémentaires, la position relative d un mot d entrée (A) par rapport à l autre (B). Cet opérateur possède donc trois sorties (A < B), (A = B) et (A > B). CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 8 sur 10
EXEMPLES de circuits réalisant des fonctions combinatoires Multiplexeur 8 vers 1 type 54151A Comparateur binaire de 2 mots de 4 bits CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 9 sur 10
CI7_1 Information logique et fonctions combinatoires (JC Rolin Lycée Eiffel Dijon) Page 10 sur 10