Altifigence Academy

7 / 63 · Konzept

Boolesche Algebra, Äquivalenzumformungen und Implementierungskosten

Schaltungen mit De Morgan und Faktorisierung umformen; logische Äquivalenz von Timing unterscheiden.

Äquivalente Ausdrücke liefern für alle Eingaben dieselben Ausgaben

Kombinatorische Logik zu vereinfachen bedeutet mehr, als eine Formel zu verkürzen. Bei gleicher Funktion sind Logikstufen, Fan-in, Fan-out und verfügbare Bibliothekszellen zu berücksichtigen. Zunächst lesen wir ++ und Multiplikation in der booleschen AlgebraBoolesche Algebra Algebra mit 0,1, AND, OR und NOT. Das Pluszeichen bedeutet meist OR und folgt anderen Regeln als Ganzzahladdition. als OR und AND.

A+AB=A,A+A‾B=A+BA+AB=A,\qquad A+\overline A B=A+B

Die zweite Gleichung lässt sich nach Fällen prüfen: Bei A=1A=1 sind beide Seiten 1, bei A=0A=0 sind beide BB. Auch nach Anwendung einer gelernten Identität sollten Sie ihre Bedeutung erklären können.

NAND- und NOR-Strukturen mit De Morgan lesen

AB‾=A‾+B‾,A+B‾=A‾ B‾\overline{AB}=\overline A+\overline B,\qquad \overline{A+B}=\overline A\,\overline B

So ist Y=AB+ACY=AB+AC gleich A(B+C)A(B+C). Die erste Form benötigt in einer direkten Zeichnung zwei ANDs und ein OR, die zweite ein OR und ein AND. Wegen unterschiedlicher Ankunftszeiten und Lasten ist eine Schaltung mit weniger Gattern jedoch nicht unbedingt schneller.

Auch der Konsenssatz ist nützlich:

AB+A‾C+BC=AB+A‾CAB+\overline A C+BC=AB+\overline A C

Wenn BC=1BC=1 gilt, ist bei A=0A=0 bereits A‾C=1\overline A C=1 und bei A=1A=1 bereits AB=1AB=1. Der Term BCBC ist deshalb für die stationäre Funktion redundant. Ihn zu entfernen kann allerdings Hazards während eines Übergangs verändern. Dies behandeln wir später bei Verzögerungen.

Jede Spalte steht für eine ABC-Eingangskombination, nicht für einen Zeitabschnitt. Prüfen Sie, ob beide Ausgänge in jeder Spalte gleich sind. Trotz anderer Gatterzahl und Pfade ist die Funktion für stabile 0/1-Eingänge identisch.

Äquivalenz von AB + AC und A(B + C)
Wellenformdaten anzeigen
Wellenformdaten: Jedes Zeichen steht für ein Intervall, ein Punkt hält den vorherigen Zustand und p ist ein Taktzyklus.
SignalWellenformBuswerte
ABC23452345000 → 001 → 010 → 011 → 100 → 101 → 110 → 111
AB+AC0....1..
A(B+C)0....1..

Maßstab für Äquivalenzprüfungen

Bezeichnen Sie die ursprüngliche und optimierte Variante als y_ref und y_opt und vergleichen Sie bei kleinen Eingaberäumen alle Kombinationen. Ein oder zwei bestandene Beispiele beweisen keine Äquivalenz.

SystemVerilog
assign y_ref = (a & b) | (a & c);
assign y_opt = a & (b | c);
assign mismatch = y_ref ^ y_opt;

Für alle acht 0/1-Kombinationen muss mismatch stets 0 sein. Vierzustandssimulation mit X/Z und die Äquivalenz sequenzieller Schaltungen benötigen weitere Bedingungen. Den tatsächlich bewiesenen Geltungsbereich ausdrücklich anzugeben gehört zu einer soliden Entwurfsprüfung.

Selbst ausprobieren

Vereinfachen Sie F=A‾B+AB+AB‾F=\overline A B+AB+A\overline B und nennen Sie die Anzahl zu prüfender Eingangskombinationen.

Erklärung lesen

Die ersten beiden Terme sind B(A‾+A)=BB(\overline A+A)=B, also F=B+AB‾=A+BF=B+A\overline B=A+B. Zwei Variablen ergeben vier Kombinationen. Äquivalente Ausdrücke bedeuten keine gleichen Laufzeiten beider Implementierungen.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.