Warum funktioniert das Race Hazard Theorem?

12

Für diejenigen, die es nicht wissen, besagt das Race Hazard Theorem (RHT):

A x B + A 'x C = A x B + A' x C + B x C

Ich verstehe den anderen Teil des RHT, über Zeitverzögerungen und dergleichen, aber ich verstehe nicht, warum die obige logische Aussage wahr sein sollte. Kann mir jemand helfen, dies zu verstehen?

Alex Robinson
quelle

Antworten:

20

Wie andere betont haben, sind die Aussagen mathematisch genau gleich und der Zusatzbegriff ist "redundant". Es wäre für mich auch "überflüssig", ihre mathematischen Beweise hier zu kopieren.

Sie können auch leicht überprüfen, ob die Anweisungen äquivalent sind, indem Sie eine Wahrheitstabelle mit 8 Zeilen für die drei Eingabekombinationen erstellen.

    A B C           A*B + A'*C                       A*B + A'*C + B*C
    0 0 0               0                                    0
    0 0 1               1                                    1
    0 1 0               0                                    0
    0 1 1               1  ** hazard b/w states              1
    1 0 0               0                                    0
    1 0 1               0                                    0
    1 1 0               1                                    1
    1 1 1               1  ** hazard b/w states              1

Der Zweck des zusätzlichen Terms besteht darin, zu verhindern, dass A ein Umschalten verursacht, wenn sowohl B als auch C hoch sind.

Nehmen wir zum Beispiel an, es gibt eine endliche Zeitverzögerung zwischen A und A '(angemessen). Berücksichtigen Sie jetzt auch, dass sowohl B als auch C '1' sind. Wie Sie in den folgenden Wellenformen sehen können, liegt am Ausgang ein Fehler vor.

Gefahr

Vorausgesetzt, die Logik ist statisch CMOS, ist der Fehler behebbar. Wenn es sich jedoch um eine Form dynamischer Logik handeln würde, könnte der Fehler weitergegeben werden.

Die Hinzufügung des redundanten Terms ist eine Lösung, um die Panne abzudecken.

jbord39
quelle
2
Downvoting, weil dies nicht einmal versucht, die gestellte Frage zu beantworten. Es beantwortet eine andere Frage.
user253751
@immibis Offensichtlich ist der Fragesteller mit dieser Antwort einverstanden.
glglgl
@immibis Außerdem waren viele Dinge ohne diese Antwort nicht ganz offensichtlich.
glglgl
@glglgl Der Fragesteller sagt ausdrücklich, dass er diesen Teil bereits kennt.
User253751
4
@immibis: Um ehrlich zu sein, ist der Großteil der Antwort Hintergrund, aber der Kern ist im ersten Absatz: Schreibe die Wahrheitstabellen auf. Die beiden Seiten der Gleichung sind identisch, weil ihre Wahrheitstabellen identisch sind. Für alle 8 möglichen Werte von A, B und C sind left und right gleich. Der Rest der Antwort erklärt dann, warum wir in Wirklichkeit nicht davon ausgehen können, dass {A,A',B,C}es sich nur um 8 Werte handelt; es gibt diesen vorübergehenden A = A'-Zustand.
MSalters
9

Beweis durch Boolesche Algebra:

A x B + A 'x C [Linke Seite]
= A x B x 1 + A' x C x 1 [Nicht vereinfachen UND mit wahr]
= A x B x (1 + C) + A 'x C x ( 1 + B) [Wahr ODER irgendetwas]
= A x B x 1 + A x B x C + A 'x 1 x C + A' x B x C [Verteilen]
= A x B + A x B x C + A 'x C + A' x B x C [VEREINFACHEN UND mit wahr]
= A x B + A 'x C + A x B x C + A' x B x C [Begriffe neu anordnen]
= A x B + A 'x C + (A + A ') x B x C [Faktorisieren]
= A x B + A' x C + 1 x B x C [ODER Negation ist wahr]
= A x B + A 'x C + B x C [ Rechte Seite]

Beweis durch Fälle:

  • Angenommen, B x C ist wahr.
    Dann ist B wahr und C ist gleichzeitig wahr.
    Die rechte Seite wird also zu A x B + A 'x C + 1 x 1 = 1.
    Die linke Seite wird zu A x 1 + A' x 1, was 1 unabhängig von A ist.
    Daher ist LHS gleich RHS.
  • Angenommen, B x C ist falsch.
    Dann wird die rechte Seite zu A x B + A 'x C + 0 = A x B + A' x C, wodurch sie mit der LHS identisch ist.
    Daher ist die LHS gleich der RHS.

In allen Fällen entspricht die LHS der RHS. Daraus schließen wir, dass die beiden Formeln immer den gleichen Wert ergeben.

Verweise:

Nayuki
quelle
8

Betrachten Sie die LHS für sich:
A x B + A 'x C

Wenn sowohl B als auch C in dieser Aussage wahr sind, hat die Bedingung von A einen Einfluss auf das Ergebnis?
Nein - weil entweder (A x B) oder (A 'x C) wahr ist und ein Ergebnis von wahr erzeugt.

Wenn wir uns also die RHS ansehen, sind die ersten 2 AND-Terme einfach ein Duplikat der LHS, und der 3. AND-Term repräsentiert das, was wir gerade über B & C herausgefunden haben.

brhans
quelle
3

AB+AC+BC=AB+AC+(A+A)BC -- Multiply BC term by 1=AB+AC+ABC+ABC -- Distribute the term=(AB+ABC)+(AC+ABC) -- regroup=AB(1+C)+AC(1+B) -- factor=AB+AC -- Simplify

pgvoorhees
quelle
2

Werfen wir einen Blick auf die Karnaugh-Karte :

CBCBCBCBA0110A1100

ABACBC

ABACBC

Ratschenfreak
quelle