← Zurück zum BlogBoolesche Algebra – Grundlagen · 3/4

Produkt von Summen (POS): Boolesche Form für effiziente Logik

Das Produkt von Summen (POS) ist das Dual von SOP und wird aus den Nullen einer Wahrheitstabelle gebildet. Maxterme herleiten, ODER-UND-Schaltungen bauen und POS mit SOP vergleichen.

DennyDenny
8 Min. Lesezeit
Chalkboard feature illustration for “Produkt von Summen (POS): Boolesche Form für effiziente Logik”

Kurz gesagt: Die kanonische Form des Produkts von Summen (POS) verknüpft für jede Nullzeile einen Maxterm mit UND; die kanonische Summe von Produkten (SOP) verknüpft für jede Einszeile einen Minterm mit ODER. Die Zahl der Nullzeilen sagt die Zahl der kanonischen Terme voraus, nicht die beste minimierte Schaltung. Vergleichen Sie minimierte SOP und POS, nachdem Sie beide auf die Zieltechnologie abgebildet haben.

Die Sum-of-Products-Form (SOP) ist für die meisten Entwerfenden der natürliche Ausgangspunkt: Man betrachtet die Einsen einer Wahrheitstabelle, schreibt Minterme und verknüpft sie mit ODER. Doch SOP ist nur die halbe Geschichte. Ihr algebraisches Dual, das Produkt von Summen (POS), geht das Problem aus der entgegengesetzten Richtung an – es betrachtet die Nullen statt der Einsen.

Wenn eine Wahrheitstabelle weniger Nullen als Einsen enthält, hat ihre kanonische POS-Form weniger Klauseln als ihre kanonische SOP-Form Minterme. Durch Minimierung kann sich dieser Vergleich ändern, und weniger niedergeschriebene Terme bedeuten nach der Synthese nicht automatisch weniger Fläche, Verzögerung oder Leistung. POS bildet sich natürlich in einer ODER-UND- oder NOR-NOR-Struktur ab; SOP in einer UND-ODER- oder NAND-NAND-Struktur.

Das Produkt von Summen zerlegen

Im Kern ist ein Ausdruck des Produkts von Summen (POS) genau das, was sein Name sagt: ein logisches Produkt (UND) aus einem oder mehreren Summen-Termen (ODER).

Betrachten Sie die allgemeine Form:

Y=(A+B)⋅(A‾+C)⋅(B+C‾)Y = (A + B) \cdot (\overline{A} + C) \cdot (B + \overline{C})

In diesem Ausdruck ist jeder Term in Klammern – etwa (A+B)(A + B) – ein „Summen-Term“. Diese einzelnen Summen-Terme werden anschließend „multipliziert“ (logisch mit UND verknüpft), um den endgültigen Ausgang YY zu erzeugen.

ODER-Gatter-Komponente

Diese Struktur bildet sich natürlich auf eine zweistufige ODER-UND-Schaltung ab. Die erste Stufe besteht aus ODER-Gattern, die die Summen-Terme erzeugen; ihre Ausgänge führen zu einem einzelnen UND-Gatter für das Endprodukt.

Der grundlegende Baustein eines kanonischen POS-Ausdrucks ist der Maxterm. Ein Maxterm ist ein Summen-Term, der jede Variable der Funktion in ihrer direkten oder komplementierten Form enthält. Während ein Minterm (SOP) eine einzelne „1“ in einer Wahrheitstabelle darstellt, repräsentiert ein Maxterm eine einzelne „0“.

ODER-Gatter-Komponente erkunden

Die Maxterm-Konvention: die entscheidende Falle

Hier stolpern die meisten Lernenden. Beim Übergang von SOP zu POS dreht sich die Konvention für die Bedeutung jedes Bits in einer Wahrheitstabelle vollständig um.

In der SOP- (Minterm-)Konvention gilt:

  • Eine „1“ bedeutet, dass die Variable in ihrer direkten Form (AA) vorkommt.
  • Eine „0“ bedeutet, dass die Variable komplementiert ist (A‾\overline{A}).

In der POS- (Maxterm-)Konvention ist es genau umgekehrt:

  • Eine „0“ bedeutet, dass die Variable in ihrer direkten Form (AA) vorkommt.
  • Eine „1“ bedeutet, dass die Variable komplementiert ist (A‾\overline{A}).

Warum diese Umkehrung? Sie wirkt kontraintuitiv, bis man das Ziel erkennt. Ein kanonischer POS-Ausdruck wird aus den Zeilen gebildet, in denen der Funktionsausgang 0 ist. Jeder Maxterm soll für seine spezifische Eingangskombination eine „0“ und nur für diese Kombination erzeugen.

Betrachten wir den 3-Variablen-Maxterm M5M_5, der dem Binäreingang 101101 (A=1,B=0,C=1A=1, B=0, C=1) entspricht. Damit dieser Maxterm den Wert 00 annimmt, müssen wir eine Summe konstruieren, in der jedes Literal für genau diesen Eingang den Wert 00 annimmt.

  • Für A=1A=1 müssen wir das Komplement A‾\overline{A} verwenden, das 0 ist.
  • Für B=0B=0 müssen wir die direkte Form BB verwenden, die 0 ist.
  • Für C=1C=1 müssen wir das Komplement C‾\overline{C} verwenden, das 0 ist.

Der resultierende Maxterm ist M5=A‾+B+C‾M_5 = \overline{A} + B + \overline{C}. Für den Eingang 101101 ergibt das 0+0+0=00 + 0 + 0 = 0. Für jede andere Eingangskombination ist mindestens eines der Literale 1, wodurch der gesamte Maxterm 1 wird. Das ist der „Aha!“-Moment: Das abschließende UND-Gatter gibt nur dann eine 0 aus, wenn mindestens einer seiner ODER-Gatter-Eingänge auf 0 fällt.

Von der Wahrheitstabelle zum POS-Ausdruck

Der Prozess zum Herleiten eines POS-Ausdrucks ist systematisch. Betrachten wir ein praktisches Beispiel. Angenommen, eine Logikfunktion YY ist durch folgende Wahrheitstabelle definiert:

ABCYMaxterm
0001-
0010M1=A+B+C‾M_1 = A + B + \overline{C}
0101-
0111-
1000M4=A‾+B+CM_4 = \overline{A} + B + C
1011-
1100M6=A‾+B‾+CM_6 = \overline{A} + \overline{B} + C
1111-

Schritt 1: Die Nullen identifizieren

Ermitteln Sie alle Eingangskombinationen der Wahrheitstabelle, für die der Ausgang YY gleich 0 ist. Wird 000 als Index 0 gezählt, lauten die Eingangsindizes und Maxtermnummern 1, 4 und 6; in der dargestellten Tabelle sind dies die zweite, fünfte und siebte Zeile.

Schritt 2: Den Maxterm für jede Null schreiben

Wenden Sie die Maxterm-Konvention an (0 = direkt, 1 = komplementiert):

  • Index 1 (001): A=0,B=0,C=1→(A+B+C‾)A=0, B=0, C=1 \rightarrow (A + B + \overline{C})
  • Index 4 (100): A=1,B=0,C=0→(A‾+B+C)A=1, B=0, C=0 \rightarrow (\overline{A} + B + C)
  • Index 6 (110): A=1,B=1,C=0→(A‾+B‾+C)A=1, B=1, C=0 \rightarrow (\overline{A} + \overline{B} + C)

Schritt 3: Die Maxterme mit UND verknüpfen

Der endgültige POS-Ausdruck ist das logische Produkt:

Y=(A+B+C‾)⋅(A‾+B+C)⋅(A‾+B‾+C)Y = (A + B + \overline{C}) \cdot (\overline{A} + B + C) \cdot (\overline{A} + \overline{B} + C)

Dies wird oft in kompakter Pi-Notation (Π\Pi) geschrieben:

Y=∏M(1,4,6)Y = \prod M(1, 4, 6)

Der kanonische Vergleich lautet: drei Maxterme gegenüber fünf Mintermen. Das ist noch nicht die beste Implementierung. Die Zeilen 4 (100) und 6 (110) unterscheiden sich nur in B, daher können ihre Nullzellen gruppiert werden:

Y=(A+B+C‾)(A‾+C)Y=(A+B+\overline C)(\overline A+C)

Diese minimierte POS-Form hat zwei Klauseln. Eine minimierte SOP-Form für dieselbe Funktion benötigt eine andere Überdeckung. Vergleichen Sie die minimierten Formen und bilden Sie sie anschließend auf tatsächliche Zellen oder LUTs ab, bevor Sie einen Vorteil bei Fläche, Verzögerung oder Leistung behaupten.

POS auf digisim.io implementieren

Die ODER-UND-Struktur von POS lässt sich einfach auf der digisim.io-Arbeitsfläche bauen. Dieselben Ideen der kanonischen Form erscheinen in unserem Leitfaden zur Summe von Produkten und bei der Minimierung mit Karnaugh-Karten.

UND-Gatter-Komponente

Bauanleitung

  1. Eingänge: Platzieren Sie drei INPUT_SWITCH-Komponenten für AA, BB und CC.
  2. Invertierung: Verwenden Sie NICHT-Gatter, um die Komplemente A‾\overline{A}, B‾\overline{B} und C‾\overline{C} zu erzeugen.
  3. Die ODER-Ebene: Ziehen Sie für unseren Ausdruck Y=∏M(1,4,6)Y = \prod M(1, 4, 6) drei ODER-Gatter auf die Arbeitsfläche.
  • Verbinden Sie das erste ODER mit AA, BB und C‾\overline{C}.
  • Verbinden Sie das zweite ODER mit A‾\overline{A}, BB und CC.
  • Verbinden Sie das dritte ODER mit A‾\overline{A}, B‾\overline{B} und CC.
  1. Die UND-Ebene: Ziehen Sie ein 3-Eingangs-UND-Gatter auf die Arbeitsfläche.
  2. Letzte Verbindung: Verbinden Sie die Ausgänge der drei ODER-Gatter mit den Eingängen des UND-Gatters. Schließen Sie einen OUTPUT_LIGHT an den endgültigen UND-Ausgang an.
  3. Minimieren: Bauen Sie (A+B+C‾)(A‾+C)(A+B+\overline C)(\overline A+C) neben der kanonischen Schaltung und prüfen Sie, dass alle acht Zeilen übereinstimmen.

Universelle Logikvorlage öffnen

Mit dem Oszilloskop verifizieren

Um das Timing einer POS-Schaltung zu untersuchen, verwenden Sie OSCILLOSCOPE_8CH. Verbinden Sie die ersten drei Kanäle mit Ihren Eingängen (A,B,CA, B, C) und den vierten Kanal mit dem endgültigen Ausgang YY.

Wenn Sie die Schalter umlegen, ist Y für 001, 100 und 110 Low. Zeichnen Sie alle acht Eingangs-/Ausgangspaare auf, statt sich auf den visuellen Eindruck zu verlassen, POS „filtere verbotene Zustände“; es handelt sich einfach um die Nullzeilen dieser spezifizierten Funktion.

Häufige Falle: offene Eingänge und Ausbreitungsverzögerung

Beim Bau von POS-Schaltungen vergessen Einsteiger häufig, dass ein UND-Gatter mit einem offenen Eingang unvorhersehbar reagieren kann. Stellen Sie auf digisim.io sicher, dass alle Eingänge mit einem CONSTANT oder einem INPUT_SWITCH verbunden sind.

In einer konzeptionellen zweistufigen POS-Schaltung durchläuft ein Datenpfad eine ODER- und eine UND-Ebene sowie jede erforderliche Eingangsinvertierung. Das physische Timing umfasst außerdem Zellverzögerung, Fan-in, Routing, Last, Eingangsslew und Ausgangsanforderungen. Eine abgebildete SOP-, POS-, faktorisierte oder LUT-Implementierung kann je nach Ziel gewinnen. Verwenden Sie Timing-Analyse, statt eine beliebige generische ODER- und UND-Verzögerung zu addieren.

Anwendungen in der Praxis: Wo POS glänzt

Warum POS verwenden, wenn SOP „einfacher“ ist? Weil wir Systeme in der Praxis oft anhand ihrer Fehler oder Ausnahmen definieren.

1. Adress- und Berechtigungslogik

Adressauswahlfunktionen können aus passenden oder ausgeschlossenen Bereichen ausgedrückt werden. POS ist praktisch, wenn sich wenige Nullbedingungen sauber kombinieren lassen; Präfixvergleiche und faktorisierte Decoder sind für Bereiche oft verständlicher. Die beste Implementierung hängt von Karte und Ziel ab, nicht von einer Regel aus der Ära des Intel 8086.

2. Berechtigungslogik

Eine logische Berechtigung kann mehrere Klauseln erfordern, zum Beispiel:

RUN=(pressure_ok)(temperature_ok)(guard_closed)RUN=(pressure\_ok)(temperature\_ok)(guard\_closed)

Äquivalent gilt shutdown = high_pressure OR high_temperature OR e_stop und RUN = NOT shutdown. Diese Booleschen Gleichungen sind für die Spezifikation nützlich, doch eine sicherheitsbewertete Verriegelung benötigt zusätzlich Fehlererkennung, definiertes spannungsloses Verhalten, Diagnose, validierte Hardware und die Einhaltung geltender Sicherheitsnormen. Die POS-Notation allein bietet keine dieser Garantien.

Die Verbindung von POS zu NOR-NOR

So wie SOP sich natürlich auf NAND-NAND-Logik abbildet, bildet sich POS auf NOR-NOR-Logik ab. Die Umwandlung verwendet die Gesetze von De Morgan und folgt demselben Muster.

Ausgehend von unserem Beispiel:

Y=(A+B+C‾)⋅(A‾+B+C)⋅(A‾+B‾+C)Y = (A + B + \overline{C}) \cdot (\overline{A} + B + C) \cdot (\overline{A} + \overline{B} + C)

Doppelte Negation anwenden:

Y=(A+B+C‾)⋅(A‾+B+C)⋅(A‾+B‾+C)‾‾Y = \overline{\overline{(A + B + \overline{C}) \cdot (\overline{A} + B + C) \cdot (\overline{A} + \overline{B} + C)}}

De Morgans Gesetz auf den äußeren Überstrich anwenden (Produkt wird zur Summe, jeder Faktor wird komplementiert):

Y=(A+B+C‾)‾+(A‾+B+C)‾+(A‾+B‾+C)‾‾Y = \overline{\overline{(A + B + \overline{C})} + \overline{(\overline{A} + B + C)} + \overline{(\overline{A} + \overline{B} + C)}}

Jedes (A+B+C‾)‾\overline{(A + B + \overline{C})} ist eine NOR-Operation (nach Berücksichtigung der komplementierten Eingänge), und auch der äußere Ausdruck ist ein NOR. Das Ergebnis ist eine zweistufige NOR-NOR-Schaltung.

Die strukturelle Zuordnung ist die wichtigste Erkenntnis: SOP kann sich nach De Morgans Gesetzen auf NAND-NAND und POS auf NOR-NOR abbilden. Sie erzwingt die Implementierung nicht. Eine Bibliothek kann bestimmte Zellen bevorzugen, und die Synthese kann den Ausdruck faktorisieren oder neu abbilden.

SOP vs. POS: Wann welche Form verwenden?

KriteriumSOP (Summe von Produkten)POS (Produkt von Summen)
Hergeleitet ausZeilen mit Ausgang = 1Zeilen mit Ausgang = 0
BausteinMinterme (UND-Terme)Maxterme (ODER-Terme)
SchaltungsstrukturUND-ODER (oder NAND-NAND)ODER-UND (oder NOR-NOR)
Weniger Terme, wennDie Wahrheitstabelle wenige 1en enthältDie Wahrheitstabelle wenige 0en enthält
Denkweise beim Entwurf„Wann soll der Ausgang EIN sein?“„Wann soll der Ausgang AUS sein?“

Für das Beispiel hat die kanonische POS-Form drei Maxterme und die kanonische SOP-Form fünf Minterme. Nach der Minimierung hat POS zwei Klauseln. Das macht POS für diese Funktion attraktiv, vorbehaltlich Zielabbildung und Timing.

Fazit

Das Produkt von Summen lehrt Sie, auf die Nullen eines Problems zu schauen – die Ausnahmen, Fehler und verbotenen Zustände. Wenn Sie sowohl POS als auch SOP beherrschen, können Sie für jede Funktion die effizienteste Implementierung wählen, sei es durch weniger Gatter, eine geringere Ausbreitungsverzögerung oder eine bessere Anpassung an die Zieltechnologie.

Als Nächstes in dieser Serie: Vereinfachen Sie jede Funktion visuell mit Karnaugh-Karten, oder öffnen Sie die Referenz zur ODER-Gatter-Komponente und verdrahten Sie die ODER-UND-Schaltung aus diesem Artikel.

Machen Sie aus der Idee eine funktionierende Schaltung.