La logique combinatoire

La logique combinatoire est une branche essentielle de l'électronique numérique qui repose sur des circuits dont la sortie dépend uniquement des valeurs actuelles des entrées, sans tenir compte des valeurs précédentes. Ces circuits, sans mémoire, sont entièrement déterminés par les entrées à un instant donné et peuvent être modélisés par des fonctions logiques, des tables de vérité et des diagrammes de Karnaugh. Contrairement à la logique séquentielle, où la sortie dépend aussi de l'état précédent, la logique combinatoire se concentre sur l'instantanéité des entrées et de la sortie. L'algèbre de Boole, fondée par Georges Boole en 1854, formalise des opérations logiques pour résoudre des raisonnements à deux valeurs (vrai et faux), et est cruciale pour la conception des circuits numériques et les systèmes électroniques modernes.

Le schéma ci-dessous résume la modélisation de ce système numérique:

Schéma générique d’un circuit combinatoireHistorique de l'algèbre de Boole

Cette algèbre de Boole introduit en effet une nouvelle méthode de raisonnement logique proposée par ce logicien et publiée dans son ouvrage intitulé "The Laws of Thought". Ce modèle logique repose sur le principe des variables booléennes qui ne prennent que deux valeurs : 0 (faux) et 1 (vrai); appelées aussi variables binaires, et ne fournit que des réponses possibles: 0 (faux) et 1 (vrai). Il s'appuie également sur quelques opérateurs logiques permettant de les manipuler.

Définitions de base

  • Variable logique: une variable est une quantité numérique pouvant prendre les valeurs 0 ou 1, ou les deux formes interrupteur ouvert ou fermé. Il peut s'agir d'une information électrique sous forme de tension continue de 5 V (1,5 V ou 12 V ou autre), ou de 0 V (ou d'une forme négative). Cette quantité est représentée par un identificateur, comme une lettre ou un nom.
  • Algèbre de Boole: Il s'agit d'un système algébrique dans lequel les éléments sont des variables à 2 états (0 ou 1), et les opérations logiques de base sont NONET, et OU. Ces opérations sont utilisées pour manipuler des fonctions logiques et créer des circuits combinatoires.
  • Fonction logique de n variables binaires: est une expression dans laquelle plusieurs variables binaires sont reliées par des opérateurs logiques (NONETOU). La sortie de la fonction dépend des valeurs de ces variables à un moment donné.

La table de vérité

Une table de vérité est un outil qui regroupe toutes les combinaisons possibles des valeurs d'entrée (0 et 1) pour une fonction logique. Elle permet de déterminer la sortie en fonction des différentes valeurs d'entrée. Par exemple, pour une fonction logique à deux variables, la table de vérité pourrait ressembler à ceci :

x y S = Sortie
0 0 1
0 1 1
1 0 0
1 1 0

 

Cette table décrit le comportement d'une fonction logique (par exemple, une porte ET) en fonction des différentes valeurs d'entrée.

Opérateurs logiques fondamentaux

Les opérateurs logiques sont des outils de base qui permettent de manipuler les variables binaires. Les plus utilisés sont :

  • Opérateur "NON" (NOT): la valeur de la sortie est l'inverse de la valeur à l'entrée de la fonction: si la variable est à 0, la sortie sera 1, et vice versa. La table de vérité se résume comme suit:
E = Entrée S = Sortie
0 1
1 0

 

  • Opérateur "ET" (AND): la sortie est à 1 si toutes les entrées de la fonctions sont à 1, sinon la sortie reste à 0. La table de vérité se résume comme suit:
A B S = A.B (sortie)
0 0 0
0 1 0
1 0 0
1 1 1

 

Dans la pratique, une fonction ET pourrait correspondre à un circuit où une lampe qui s'allume uniquement lorsque tous les interrupteurs sont fermés simultanément.

  • Opérateur "OU" (OR) : la sortie est à 1 si au moins une des variables est à 1. La table de vérité se résume comme suit :
A B S = A+B (sortie)
0 0 0
0 1 1
1 0 1
1 1 1

 

Dans la pratique, une fonction OU pourrait correspondre à une lampe qui s'allume si au moins un interrupteur est fermé.

Propriétés des opérateurs "ET" et "OU"

Les opérateurs logiques ET et OU possèdent certaines propriétés fondamentales qui facilitent la manipulation et la simplification des fonctions logiques :

  • Commutativité :
    • ET : \( A⋅B=B⋅AA⋅B=B⋅A \)
    • OU : \( A+B=B+AA+B=B+A \)

Cela signifie que l'ordre des entrées n'affecte pas la sortie de la fonction.

  • Associativité:
    • ET : \( (A⋅B)⋅C=A⋅(B⋅C) \)
    • OU : \( (A+B)+C=A+(B+C) \)

Cela signifie que le regroupement des entrées n'affecte pas la sortie de la fonction.

  • Distributivité :
    • OU par rapport à ET : \( A+(B⋅C)=(A+B)⋅(A+C) \)
    • ET par rapport à OU : \( A⋅(B+C)=(A⋅B)+(A⋅C) \)
  • Éléments neutres :
    • ET : \( A⋅1=A \)
    • OU : \( A+0=A \)

Autres opérateurs logiques

  • Opérateur "NON ET" (NAND) : la sortie est à 0 seulement si toutes les entrées sont à 1. Il s'agit de l'inverse de l'opérateur ET. La table de vérité se résume comme suit :
A B S = A NAND B (sortie)
0 0 1
0 1 1
1 0 1
1 1 0

 

  • Opérateur "NON OU" (NOR) : la sortie est à 1 seulement si toutes les entrées sont à 0. Il s'agit de l'inverse de l'opérateur OU. La table de vérité se résume comme suit :
A B S = A NORB (sortie)
0 0 1
0 1 0
1 0 0
1 1 0

 

  • Opérateur "OU Exclusif" (XOR) : la sortie est à 1 si une seule des entrées est égale à 1 (mais pas les deux). La table de vérité se résume comme suit :
A B S = A XOR (sortie)
0 0 0
0 1 1
1 0 1
1 1 0

 

  • Opérateur "NON OU Exclusif" (XNOR) : la sortie est à 1 si les entrées sont identiques (c'est-à-dire soit les deux sont à 0, soit les deux sont à 1). La table de vérité se résume comme suit :
A B S = A XNOR (sortie)
0 0 1
0 1 0
1 0 0
1 1 1

 

Lois de De Morgan

Les lois de De Morgan sont des règles fondamentales en logique booléenne qui permettent de simplifier les expressions logiques en modifiant l'opérateur logique. Elles concernent les opérations logiques de négationconjonction (ET), et disjonction (OU), et sont particulièrement utiles pour simplifier les circuits logiques et les expressions complexes dans l'algèbre de Boole. Les deux lois de De Morgan sont exprimées ainsi :

  • La première loi stipule que la négation de la disjonction de deux variables est équivalente à la conjonction des négations de ces variables :

\[ ¬(A∨B)=¬A∧¬B \]

Autrement dit, la négation d'une opération OU entre A et B est égale à la combinaison de deux négations de A et B reliées par une opération ET.

  • La deuxième loi stipule que la négation de la conjonction de deux variables est équivalente à la disjonction des négations de ces variables :

\[ ¬(A∧B)=¬A∨¬B \]

Cela signifie que la négation d'une opération ET entre A et B est égale à la combinaison de deux négations de A et B reliées par une opération OU.

Ces lois sont importantes car elles permettent de transformer une expression logique dans un format qui peut être plus facile à manipuler ou à implémenter dans des circuits logiques. Elles sont souvent utilisées dans la conception de circuits électroniques pour minimiser le nombre de portes logiques nécessaires ou pour simplifier les équations dans des systèmes plus complexes.

Dans le contexte de l'algèbre de Boole, ces lois permettent de manipuler des fonctions logiques de plusieurs variables binaires, qui sont souvent utilisées pour représenter des circuits combinatoires. Par exemple, dans une situation où une fonction logique implique des opérateurs ET et OU, les lois de De Morgan permettent de réécrire l'expression de manière à réduire la complexité ou à la rendre plus compatible avec une implémentation pratique, comme dans les circuits à portes NAND ou NOR. En utilisant ces lois, les concepteurs peuvent simplifier des expressions booléennes complexes en d'autres formes équivalentes qui sont plus faciles à travailler, que ce soit pour les calculs théoriques ou pour la conception matérielle de circuits.