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:
Historique 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.
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.
Les opérateurs logiques sont des outils de base qui permettent de manipuler les variables binaires. Les plus utilisés sont :
E = Entrée | S = Sortie |
0 | 1 |
1 | 0 |
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.
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é.
Les opérateurs logiques ET et OU possèdent certaines propriétés fondamentales qui facilitent la manipulation et la simplification des fonctions logiques :
Cela signifie que l'ordre des entrées n'affecte pas la sortie de la fonction.
Cela signifie que le regroupement des entrées n'affecte pas la sortie de la fonction.
A | B | S = A NAND B (sortie) |
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
A | B | S = A NORB (sortie) |
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
A | B | S = A XOR (sortie) |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
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égation, conjonction (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 :
\[ ¬(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.
\[ ¬(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.