Warum überhaupt minimieren?
Ein direkt aus einer Wahrheitstabelle abgeleiteter Boolescher Ausdruck (Summe-von-Produkten-Form) ist immer korrekt, aber selten minimal. Weniger Literale und Terme bedeuten weniger Gatter, geringere Signallaufzeit und niedrigeren Energieverbrauch — entscheidend, wenn eine Schaltung Millionen Mal auf einem Chip wiederholt wird.
Wie ein Karnaugh-Diagramm funktioniert
Ein Karnaugh-Diagramm (K-Diagramm) ordnet jede Zeile einer Wahrheitstabelle in einem Raster an, in dem sich benachbarte Zellen um genau ein Bit unterscheiden. Dadurch lässt sich jede Gruppe von 2, 4, 8 ... benachbarten Einsen zu einem einzigen, einfacheren Produktterm zusammenfassen, da das sich ändernde Bit aus dem Ausdruck verschwindet.
- Raster zeichnen: 2 Variablen → 2×2, 3 Variablen → 2×4, 4 Variablen → 4×4.
- Einsen und Nullen aus der Wahrheitstabelle eintragen, mit Gray-Code-Reihenfolge auf den Achsen, damit Nachbarn sich immer um ein Bit unterscheiden.
- Die größtmöglichen rechteckigen Gruppen von Einsen einkreisen (Größen müssen Zweierpotenzen sein).
- Jede eingekreiste Gruppe wird zu einem Term des vereinfachten Ausdrucks; das ODER aller Terme ist die Antwort.
Ein kleines Beispiel
Für eine 2-Eingangs-Funktion, deren Ausgang bei A=0,B=1 und A=1,B=1 (Zeilen 01 und 11) 1 ist, teilen sich beide Zellen B=1 und unterscheiden sich nur in A. Werden sie zusammen eingekreist, verschwindet A vollständig, und der vereinfachte Ausdruck lautet: F = B.
Vom Diagramm zur Schaltung
Sobald der minimierte Ausdruck vorliegt, verdrahten Sie ihn direkt in Boolflow mit den entsprechenden AND/OR/NOT-Gattern. Nutzen Sie das Wahrheitstabellen-Werkzeug, um zu prüfen, dass die vereinfachte Schaltung noch der ursprünglichen Spezifikation entspricht, bevor Sie nach Verilog, VHDL oder C++ exportieren.