MPSI/PCSI SI, cours sur la logique LOGIQUE COMBINATOIRE I. VARIABLE LOGIQUE. Rappel : structure d’une chaine fonctionnelle d’un système automatisé. Les ordres et les informations peuvent être : Analogique (par exemple une tension variable) Logique (0 ou 1, vrai ou faux) Numérique Exemple de système automatisé : Le portail automatisé. Pour simplifier, on s’intéresse aux éléments suivants : Les 2 portes Les 2 moteurs La télécommande La cellule photo électrique Entrées/sorties de la Partie commande (PC) du portail : (les entrées sont les informations, les sorties sont les ordres) Appui sur la télécommande Présence devant capteur PC du portail Ouvrir portes Fermer portes Les entrées et les sorties sont sous la forme tout ou rien (1 ou 0) (vrai ou faux), on les appelle des variables logiques. L’objet de ce chapitre est de modéliser le fonctionnement des PC 1/8 MPSI/PCSI II. SI, cours sur la logique ALGEBRE DE BOOLE. Il permet de traiter des problèmes de logique. 1. Opérateurs logiques de base. Table de vérité Opérateur égalité a 0 1 Equation logique : S = a Opérateur ET Table de vérité a 0 0 1 1 b 0 1 1 0 S 0 0 1 0 Table de vérité a 0 0 1 1 b 0 1 1 0 S 0 1 1 1 Equation logique : S = a.b Opérateur OU Equation logique : S = a + b Table de vérité Opérateur NON Equation logique : 2. S 0 1 S a Exemple de problème de logique. a 0 1 S 1 0 Etude d’un monte charge. Un monte-charge doit permettre le levage de masses comprises entre 20 et 80 kg. Pour cela, il comporte une plate-forme reposant sur des ressorts. Selon l'importance des charges à soulever, trois contacts réglables sont mis en circuit. Les contacts passent à 1 lorsque qu’ils sont en contact avec la cuve du monte-charge. Cahier des charges À vide, aucun des contacts n'est activé. le monte-charge peut fonctionner. 2/8 MPSI/PCSI SI, cours sur la logique Pour des charges comprises entre 5 et 20 kg, le monte-charge ne peut fonctionner. Le contact « a » est actionné. Pour les charges comprises entre 20 et 80 kg, le monte-charge doit fonctionner. « a » et « b » sont actionnés. Pour des charges supérieures à 80 kg, le monte-charge ne peut fonctionner. Les contacts « a », « b » et « c » sont actionnés. Problème posé : Il faut modéliser le comportement attendu en équations afin de réaliser la partie commande. Question : Déterminer l'équation booléenne de la sortie S assurant l’autorisation de fonctionnement de ce monte-charge. Le monte-charge doit fonctionner (S passe à 1) à vide (cas a=0 et b=0 et c=0) ou pour les charges comprises entre 20 et 80 kg (cas a=1 et b=1 et c=0) On peut écrire l’équation de la sortie S a .b .c a.b.c 3. Propriétés de l’algèbre de BOOLE. Commutativité Associativité Distributivité a.b b.a a.(b.c) (a.b).c a.(b c) a.b a.c a (b.c) (a b).(a c) a.1 a a.0 0 a0a a 11 a.a 0 a.a a a a 1 aaa a.b a b a b a .b Eléments neutres Elément absorbant Complément Idempotence Théorème de De Morgan ab ba a (b c) (a b) c Exemples d’utilisation de l’algèbre de Boole pour simplifier des expressions logiques. (c b).c c.c b.c c b.c c.(1 b) c a.(a b) a.a a.b a.b III. OPERATEURS LOGIQUES. 1. Opérateurs à une variable. a f(a) S=f(a) 3/8 MPSI/PCSI SI, cours sur la logique Représentons dans une table de vérité, tous les cas possibles d’une fonction Booléenne à une variable d’entrée. Variable a Fonction f(a) f1 0 0 0 1 f1 = 0 f2 = a f2 0 1 f3 1 0 f3 = a f4 = 1 mise à 0 identité f4 1 1 complément (fonction non) mise à 1 2. Opérateurs à deux variables. Etudions tous les cas possibles d’une fonction Booléenne à deux variables d’entrée. a S=f(a,b) f(a,b) b Remarque : il y a 16 fonctions possibles ( 2 Fonctions déjà vues : f1 = 0 f2 = 1 f3 = a f4 = a 2. n 4 =2 ) mise à 0 mise à 1 identité complément f5 = b identité f6 = b f7 = a + b f8 = a.b complément ou et Autres fonctions : Table de vérité « OU exclusif » f 9 a b a.b a .b « NAND » (non et) : Table de vérité (a implique b ) f 13 a b Si a=1 alors S=b Si a=0, b peut prendre les valeurs 0 ou 1 « Implication » S 0 1 0 1 (De Morgan) f 11 a.b a b f 12 a.b a .b « Implication » b 0 1 1 0 f 10 a b a .b « NOR » (non ou) : « Equivalence » a 0 0 1 1 (b implique a) : a 0 0 1 1 b 0 1 1 0 S 1 0 1 0 a b S 0 0 1 1 0 1 1 0 1 1 1 0 f 14 a b 4/8 MPSI/PCSI SI, cours sur la logique IV. SIMPLIFICATION DE FONCTION. Une expression combinatoire représente une fonction booléenne Pour n variables d’entrées, il existe : 2. n 2 fonctions différentes. Une infinité d’expressions combinatoires (certaines sont équivalentes). On recherche la forme la plus simple possible d’une expression combinatoire. Le but est de réaliser une fonction en utilisant le moins d’opérateurs logiques possibles. Méthode algébrique : On écrit les produits par ordre alphabétique afin de les comparer plus facilement et on utilise les propriétés de l’algèbre de Boole. S1 a b a .b a b.(1 a ) a b Exemples : S 2 a .(b .c b .c b.c) a .(b .(c c) b.c) a.(b b.c) Remarque : Certaines simplifications n’apparaissent pas, par exemple S 3 a a .b a a .b a.b S 3 a (a a).b a b On peut donc reprendre (on rajoute a.b ) a a.b a.(1 b) a S 2 a .(b c) Méthode graphique. Tableau de Karnaugh. Le tableau de Karnaugh est une table de vérité disposée de manière à faire apparaître les possibilités de regroupement de termes. Exemple 1 Une fonction S4 à trois entrées est représentée par une table de vérité. On va représenter cette fonction dans un tableau de Karnaugh et on va écrire son équation simplifiée. Tableau de Karnaugh a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 Equation simplifiée : c 0 1 0 1 0 1 0 1 S4 0 0 1 0 0 0 1 1 S4 a b c S 4 a.b b.c 5/8 MPSI/PCSI SI, cours sur la logique Exemple de fonctions S5 et S6 à 4 variables représentées par des tableaux de Karnaugh S5 c a b S6 a b 1 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 0 1 0 1 0 1 1 0 1 d c S 5 b .c a .b.d a .b .d a.b .d a.b.c.d d S 6 a b .d b.c.d Remarques : On forme les groupes de 1 (ou de 0) adjacents les plus gros possibles (d’un nombre de 2n de termes : 1, 2, 4, 8, 16,…) Les entrées sont organisées sous forme de code binaire réfléchi appelé aussi code Gray (2 cases adjacentes ne se distinguent que par le changement d’une seule variable). On utilise les nombreuses symétries. V. REPRESENTATION DES FONCTIONS LOGIQUES On peut représenter une fonction logique par : Une phrase (S est vrai si a et b sont vrais) Une équation logique (S = a.b) Une table de vérité. Un tableau de Karnaugh. Un chronogramme 1. Schémas électriques. Ils sont réalisés par des contacts électriques commandés manuellement (poussoir) ou électriquement (relais). Exemple 1. 6/8 MPSI/PCSI SI, cours sur la logique On distingue deux sortes de contacts : « à ouverture » (Non) » et « à fermeture » (Oui). Si c = 1, le courant passe dans le contact. Si c = 0, le courant ne passe pas. Si a = 0, le courant passe dans le contact. Si a = 1, le courant ne passe pas. La fonction représentée est : L c.(a b ) La fonction « et » est réalisée par des contacts en série. La fonction « ou » est réalisée par des contacts en parallèles. Exemple 2. La fonction représentée est : Remarque : L b.(c a .d ) b .d .(a c) Les contacts a et a électriquement indépendants sont commandés par la même action « a ». 2. Logigrammes. Un logigramme est une association d’opérateurs logiques décrivant une équation logique. Liste (non exhaustive) des opérateurs logiques : Symbole Equation Opérateur S=a Symbole Equation Opérateur Identité S a Non S = a.b ET S a.b NAND S=a+b OU S ab NOR S a b OU exclusif S a b a implique b Le logigramme d’une fonction logique n’est pas unique. Il dépend des contraintes technologiques imposées. 7/8 MPSI/PCSI Exemple : SI, cours sur la logique On veut réaliser la fonction S a.b Solution 1 : En utilisant toutes Solution 2 : En utilisant uniquement les fonctions de les fonctions logiques disponibles base ET, OU, NON Dans certains cas, on se voit imposer l’utilisation unique des cellules NOR ou NAND En effet, toute fonction peut être réalisée en utilisant uniquement des cellules NOR ou NAND (cellules dites universelles). Cela permet de réaliser une fonction logique en utilisant qu’un seul ________ de cellules. Il faut alors réorganiser la fonction (en utilisant le théorème de De Morgan) pour faire apparaître que des NOR ou que des NAND. Remarques. Pour avoir un NON avec un NAND Pour avoir un NON avec un NOR Solution 1 : En utilisant que des NAND. S a.b a.b a.(b.b) Solution 2 : En utilisant que des NOR. S a.b a.b a b S (a a) b 8/8