Produit de sommes (POS) : une forme booléenne pour une logique efficace
Le produit de sommes (POS) est le dual du SOP, construit à partir des 0 d'une table de vérité. Déduisez les maxtermes, construisez des circuits OU-ET et comparez POS et SOP.
En bref : le produit de sommes canonique effectue un ET entre un maxterme pour chaque ligne nulle ; la somme de produits canonique effectue un OU entre un minterme pour chaque ligne à 1. Compter les lignes nulles prédit le nombre de termes canoniques, pas celui du meilleur circuit minimisé. Comparez les SOP et POS minimisés après leur mappage vers la technologie cible.
La forme somme de produits (SOP) est le point de départ naturel pour la plupart des concepteurs : on repère les 1 d’une table de vérité, on écrit les mintermes, puis on les relie par un OU. Mais le SOP ne raconte que la moitié de l’histoire. Son dual algébrique, le produit de sommes (POS), aborde le même problème dans l’autre sens — en regardant les 0 plutôt que les 1.
Lorsqu’une table de vérité contient moins de zéros que de uns, son POS canonique comporte moins de clauses que le SOP canonique ne compte de mintermes. La minimisation peut modifier cette comparaison, et moins de termes écrits ne signifie pas automatiquement moins de surface, de délai ou de puissance après synthèse. Le POS se traduit naturellement par une structure OU-ET ou NOR-NOR ; le SOP par une structure ET-OU ou NAND-NAND.
Décomposer le produit de sommes
À la base, une expression produit de sommes (POS) est exactement ce que son nom indique : un produit logique (ET) d’un ou plusieurs termes somme (OU).
Considérons la forme générale :
Dans cette expression, chaque terme entre parenthèses — comme — est un « terme somme ». Ces termes somme sont ensuite « multipliés » (reliés par ET logique) pour produire la sortie finale .

Cette structure correspond naturellement à un circuit OU-ET à deux niveaux. Le premier niveau est constitué de portes OU qui créent les termes somme ; leurs sorties alimentent une seule porte ET qui réalise le produit final.
Le bloc fondamental d’une expression POS canonique est le maxterme. Un maxterme est un terme somme qui contient chaque variable de la fonction, sous sa forme directe ou complémentée. Alors qu’un minterme (SOP) représente un seul « 1 » dans la table de vérité, un maxterme représente un seul « 0 ».
Explorer le composant porte OU
Convention des maxtermes : le piège essentiel
C’est ici que la plupart des débutants se trompent. En passant du SOP au POS, la convention de représentation des bits dans une table de vérité s’inverse complètement.
Dans la convention SOP (minterme) :
- Un « 1 » signifie que la variable est sous sa forme directe ().
- Un « 0 » signifie que la variable est complémentée ().
Dans la convention POS (maxterme), c’est exactement l’inverse :
- Un « 0 » signifie que la variable est sous sa forme directe ().
- Un « 1 » signifie que la variable est complémentée ().
Pourquoi cette inversion ? Elle semble contre-intuitive jusqu’à ce que l’on comprenne le but. Une expression POS canonique se construit à partir des lignes où la sortie de la fonction vaut 0. Chaque maxterme doit produire un « 0 » pour sa combinaison d’entrée particulière, et pour elle seule.
Prenons un maxterme à 3 variables, , correspondant à l’entrée binaire (). Pour que ce maxterme vaille 0, construisons une somme dans laquelle chaque littéral vaut 0 pour cette entrée précise.
- Pour , il faut utiliser son complément, , qui vaut 0.
- Pour , il faut utiliser sa forme directe, , qui vaut 0.
- Pour , il faut utiliser son complément, , qui vaut 0.
Le maxterme obtenu est . Pour l’entrée 101, il vaut . Pour toute autre combinaison d’entrée, au moins un littéral vaut 1, ce qui rend tout le maxterme égal à 1. C’est le déclic : la porte ET finale d’un circuit POS ne produit un 0 que si l’une de ses entrées issues d’une porte OU tombe à 0.
Passer de la table de vérité à l’expression POS
La déduction d’une expression POS est systématique. Prenons un exemple pratique. Supposons que la fonction logique soit définie par la table suivante :
| A | B | C | Y | Maxterme |
|---|---|---|---|---|
| 0 | 0 | 0 | 1 | - |
| 0 | 0 | 1 | 0 | |
| 0 | 1 | 0 | 1 | - |
| 0 | 1 | 1 | 1 | - |
| 1 | 0 | 0 | 0 | |
| 1 | 0 | 1 | 1 | - |
| 1 | 1 | 0 | 0 | |
| 1 | 1 | 1 | 1 | - |
Étape 1 : repérer les zéros
Parcourez la table de vérité et relevez toutes les combinaisons d’entrée pour lesquelles la sortie vaut 0. En numérotant 000 par l’indice 0, les indices d’entrée et numéros de maxtermes sont 1, 4 et 6 ; ils correspondent aux deuxième, cinquième et septième lignes affichées.
Étape 2 : écrire le maxterme de chaque zéro
Appliquez la convention des maxtermes (0 = direct, 1 = complément) :
- Indice 1 (001) :
- Indice 4 (100) :
- Indice 6 (110) :
Étape 3 : effectuer le ET des maxtermes
L’expression POS finale est le produit logique :
Elle s’écrit souvent avec la notation compacte Pi () :
La comparaison canonique est de trois maxtermes contre cinq mintermes. Ce n’est pas encore la meilleure implémentation. Les lignes 4 (100) et 6 (110) ne diffèrent que par B, leurs cellules nulles peuvent donc être regroupées :
Ce POS minimisé ne comporte que deux clauses. Un SOP minimisé de la même fonction exige un autre recouvrement. Comparez les formes minimisées, puis mappez-les vers les cellules ou les LUT réelles avant d’affirmer un gain de surface, de délai ou de puissance.
Implémenter le POS dans digisim.io
La structure OU-ET du POS est simple à construire sur le canevas digisim.io. Les mêmes idées de forme canonique apparaissent dans notre guide de la somme de produits et dans la minimisation par carte de Karnaugh.

Guide de construction
- Entrées : placez trois composants INPUT_SWITCH pour , et .
- Inversion : utilisez des portes NON pour créer les compléments , et .
- Niveau OU : pour notre expression , placez trois portes OU sur le canevas.
- Reliez la première porte OU à , et .
- Reliez la deuxième à , et .
- Reliez la troisième à , et .
- Niveau ET : placez une porte ET à 3 entrées.
- Connexion finale : reliez les sorties des trois portes OU aux entrées de la porte ET. Reliez un OUTPUT_LIGHT à la sortie ET finale.
- Minimisation : construisez à côté du circuit canonique et vérifiez les huit lignes.
Ouvrir le modèle de logique universelle
Vérifier avec l’oscilloscope
Pour inspecter le timing d’un circuit POS, utilisez OSCILLOSCOPE_8CH. Reliez les trois premiers canaux à vos entrées () et le quatrième à la sortie finale .
Lorsque vous basculez les interrupteurs, Y est bas pour 001, 100 et 110. Notez les huit couples entrée/sortie plutôt que de vous fier à l’impression visuelle que le POS « filtre les états interdits » : ce sont simplement les lignes nulles de cette fonction précise.
Piège courant : entrées flottantes et délai de propagation
Lorsqu’ils construisent un circuit POS, les débutants oublient souvent qu’une porte ET dont une entrée flotte peut se comporter de façon imprévisible. Dans digisim.io, assurez-vous que toutes les entrées sont reliées à une CONSTANT ou à un INPUT_SWITCH.
Dans un circuit POS conceptuel à deux niveaux, le chemin de données traverse un niveau OU, un niveau ET et les éventuelles inversions d’entrée. Le timing physique inclut aussi le délai des cellules, le fan-in, le routage, la charge, le slew de l’entrée et les exigences de sortie. Selon la cible, une implémentation SOP, POS, factorisée ou par LUT peut être la meilleure. Utilisez une analyse temporelle plutôt que d’additionner un délai générique de porte OU et de porte ET.
Applications réelles : là où le POS excelle
Pourquoi utiliser le POS quand le SOP est « plus simple » ? Parce que dans le monde réel, nous définissons souvent les systèmes par leurs défaillances ou leurs exceptions.
1. Logique d’adressage et d’éligibilité
Les fonctions de sélection d’adresse peuvent s’exprimer à partir de régions correspondantes ou de régions exclues. Le POS est pratique lorsqu’un petit nombre de conditions nulles se combine proprement ; les comparaisons de préfixes et les décodeurs factorisés sont souvent plus clairs pour les plages. La meilleure implémentation dépend de la carte et de la cible, pas d’une règle datant de l’Intel 8086.
2. Logique d’autorisation
Une autorisation logique peut exiger plusieurs clauses, par exemple :
C’est un produit de conditions à un seul littéral. De façon équivalente, shutdown = high_pressure OR high_temperature OR e_stop et RUN = NOT shutdown. Ces équations booléennes sont utiles pour la spécification, mais un interverrouillage certifié de sécurité nécessite aussi la détection des pannes, un comportement hors tension défini, des diagnostics, du matériel validé et le respect des normes de sécurité applicables. La notation POS seule n’offre aucune de ces garanties.
Le lien POS-NOR-NOR
De même que le SOP se mappe naturellement sur une logique NAND-NAND, le POS se mappe sur une logique NOR-NOR. La conversion utilise les lois de De Morgan et suit le même motif.
En partant de notre exemple :
Appliquons la double négation :
Appliquons De Morgan à la barre extérieure (le produit devient une somme et chaque facteur est complémenté) :
Chaque est une opération NOR (après prise en compte des entrées complémentées), et l’expression extérieure est elle aussi un NOR. Le résultat est un circuit NOR-NOR à deux niveaux.
L’idée structurelle est essentielle : le SOP peut être mappé en NAND-NAND et le POS en NOR-NOR par les lois de De Morgan. Cela n’impose pas l’implémentation. Une bibliothèque peut privilégier certaines cellules et la synthèse peut factoriser ou remapper l’expression.
SOP ou POS : lequel choisir ?
| Critère | SOP (somme de produits) | POS (produit de sommes) |
|---|---|---|
| Dérivé des | Lignes où la sortie = 1 | Lignes où la sortie = 0 |
| Bloc de base | Mintermes (termes ET) | Maxtermes (termes OU) |
| Structure du circuit | ET-OU (ou NAND-NAND) | OU-ET (ou NOR-NOR) |
| Moins de termes quand | La table comporte peu de 1 | La table comporte peu de 0 |
| Question de conception | « Quand la sortie doit-elle être active ? » | « Quand la sortie doit-elle être inactive ? » |
Dans l’exemple, le POS canonique compte trois maxtermes et le SOP canonique cinq mintermes. Après minimisation, le POS ne compte plus que deux clauses. Il est donc intéressant pour cette fonction, sous réserve du mappage vers la cible et du timing.
Conclusion
Le produit de sommes apprend à regarder les zéros d’un problème — les exceptions, les erreurs et les états interdits. En maîtrisant POS et SOP, vous gagnez la liberté de choisir l’implémentation la plus efficace pour chaque fonction : moins de portes, délai de propagation inférieur ou meilleure adéquation avec la technologie cible.
Dans la suite de cette série, simplifiez visuellement n’importe quelle fonction avec les cartes de Karnaugh, ou ouvrez la référence du composant porte OU et câblez le circuit OU-ET de cet article.



