Jak zauważyli inni, twierdzenia matematyczne są dokładnie takie same, a dodatkowy termin to „zbędne”. Kopiowanie ich matematycznych dowodów tutaj byłoby również „zbędne”.
Można również łatwo sprawdzić, czy instrukcje są równoważne, tworząc 8-wierszową tabelę prawdy dla trzech kombinacji danych wejściowych.
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
Dodatkowy termin ma na celu zapobieganie przełączaniu się A, gdy B i C są wysokie.
Jako przykład załóżmy, że istnieje opóźnienie czasowe między A i A '(uzasadnione). Teraz rozważ również, że zarówno B, jak i C są „1”. Jak widać na poniższych przebiegach, na wyjściu występuje usterka.
Zakładając, że logika jest statyczna CMOS, usterkę można odzyskać. Ale gdyby były to niektóre formy dynamicznej logiki, mogłoby to propagować błąd.
Dodanie zbędnego terminu stanowi rozwiązanie problemu usterki.
{A,A',B,C}
są ograniczone tylko do 8 wartości; istnieje stan przejściowy A = A '.Dowód algebry boolowskiej:
A x B + A 'x C [Lewa strona]
= A x B x 1 + A' x C x 1 [Nie upraszczaj AND z prawdą]
= A x B x (1 + C) + A 'x C x ( 1 + B) [Prawda LUB cokolwiek]
= A x B x 1 + A x B x C + A 'x 1 x C + A' x B x C [Dystrybucja]
= A x B + A x B x C + A „x C + A” x B x C [Uprość AND z prawdą]
= A x B + A 'x C + A x B x C + A' x B x C [Zmień terminy]
= A x B + A 'x C + (A + A ') x B x C [Faktoryzuj]
= A x B + A' x C + 1 x B x C [LUB negacja jest prawdziwa]
= A x B + A 'x C + B x C [ Prawa strona]
Dowód według przypadków:
Wtedy B jest prawdziwe, a C jest prawdziwe jednocześnie.
Tak więc prawa strona staje się A x B + A 'x C + 1 x 1 = 1.
Lewa strona staje się A x 1 + A' x 1, czyli 1 niezależnie od A.
Stąd LHS równa się RHS.
Następnie prawa strona staje się A x B + A 'x C + 0 = A x B + A' x C, co czyni go identycznym z LHS.
Stąd LHS równa się RHS.
We wszystkich przypadkach LHS równa się RHS. Dlatego dochodzimy do wniosku, że te dwie formuły zawsze mają tę samą wartość.
Bibliografia:
źródło
Rozważ sam LHS:
A x B + A 'x C
Jeśli zarówno B, jak i C są prawdziwe w tym stwierdzeniu, to czy warunek A ma jakikolwiek wpływ na wynik?
Nie - ponieważ albo (A x B) albo (A 'x C) będzie prawdziwe, dając wynik true.
Patrząc teraz na RHS, pierwsze 2 terminy AND są po prostu duplikatem LHS, a trzeci termin AND reprezentuje to, co właśnie dowiedzieliśmy się o B&C.
źródło
źródło
Rzućmy okiem na mapę karnaugh :
Można wprowadzić 3 grupy po prawej stronie równania , i .A ′ ∧ C B ∧ CA∧B A′∧C B∧C
Na mapie karnaugh warunki wyścigu są pokazane przez sąsiednie, ale rozłączne regiony (przy liczeniu owijania toroidalnego). Jeśli weźmiesz tylko regiony i , otrzymasz 2 regiony, które sąsiadują, ale nie są połączone. Potrzebujesz terminu aby wypełnić lukę.A ′ ∧ C B ∧ CA∧B A′∧C B∧C
źródło