Upraszczenie algebry Boole’a

Używaj A, B, C... jako zmiennych. Operatory: & (AND), | (OR), ! (NOT), ^ (XOR), ( )

Dla wyrażenia boolowskiego — A·B + A·¬B + ¬A·B albo tabeli prawdy z mintermami — ten simplifier zwraca minimalną postać sum-of-products przy użyciu algorytmu Quine-McCluskey, plus wizualizację mapy Karnaugha dla maksymalnie sześciu zmiennych. Pokazuje każdy krok (prime implicants, essential prime implicants, tabela pokrycia), więc jest przydatny nie tylko do zadań domowych, ale też do audytu decyzji minimizera w narzędziu syntezy.

Jak przebiega upraszczanie boolowskie

  1. 1

    Wpisz wyrażenie albo mintermy

    Użyj operatorów · (AND), + (OR), ' lub ¬ (NOT), ⊕ (XOR). Albo wklej indeksy mintermów, np. m(0,1,3,7).

  2. 2

    Generowana jest tabela prawdy

    Każde przypisanie zmiennych zostaje obliczone, a wynik funkcji zapisany w tabeli.

  3. 3

    Quine-McCluskey znajduje prime implicants

    Mintermy są grupowane i iteracyjnie łączone. Sąsiednie grupy (różniące się jedną zmienną) łączą się, aż dalsza redukcja nie jest możliwa.

  4. 4

    Essential implicants pokrywają funkcję

    Tabela pokrycia metodą Petricka wybiera minimalny zestaw prime implicants. Wynikiem jest uproszczona postać SOP. Postać POS jest wyprowadzana z dopełnienia.

Obsługiwana notacja operatorów

Operacja Akceptowane symbole
AND ·, *, &, , spacja
OR +, |,
NOT \', ¬, !, ~, nadkreślenie (A z nadkreśleniem renderuje się jako A\')
XOR , ^
Stałe 0, 1

Przykład

Wejście: A·B + A·¬B + ¬A·B

Tabela prawdy:

A B F
0 0 0
0 1 1
1 0 1
1 1 1

Mintermy: m(1, 2, 3). Minimalna postać SOP redukuje się do A + B (OR dwóch zmiennych). Simplifier przechodzi przez:

  1. Grupowanie mintermów według liczby jedynek
  2. Łączenie sąsiednich par: (1,3) → -B, (2,3) → A-
  3. Tabela pokrycia pokazuje, że oba są essential — postać końcowa: A + B

Po co minimalizować

  • Mniej bramek: każdy składnik AND/OR kosztuje krzem albo LUT-y FPGA.
  • Krótsza ścieżka krytyczna: mniejsza logika zwykle oznacza niższe opóźnienie propagacji.
  • Niższy pobór mocy: mniej przełączających się węzłów.

Ograniczenia algorytmu

  • Liczba zmiennych: Quine-McCluskey skaluje się w najgorszym przypadku jak O(3^n / n). Narzędzie wygodnie obsługuje do 8 zmiennych; powyżej tego użyj minimizerów heurystycznych w stylu Espresso (nie dostaniesz gwarantowanej minimalności, ale będzie to wykonalne).
  • Don’t-care terms: dodaj je składnią d(indices), żeby uzyskać mniejsze wyniki, gdy pewne kombinacje wejść nie mogą wystąpić.

Najczęściej zadawane pytania

Sum-of-products to OR-of-ANDs (np. AB + CD); product-of-sums to AND-of-ORs (np. (A+B)(C+D)). Ta sama funkcja, inna struktura. Simplifier zwraca obie — wybierz tę, która pasuje do dalszego narzędzia.

Tak. Wpisz je jako d(index1, index2, ...) obok mintermów. Minimizer traktuje je jako „wolne” do przypisania takiej wartości, która da mniejszy wynik.

Oba podejścia dają minimalny koszt, jeśli grupy zostaną dobrane poprawnie, ale K-mapy zależą od tego, czy człowiek zauważy największe możliwe grupy. Quine-McCluskey jest deterministyczny i zawsze znajduje optimum.

XOR jest rozwijany do AND/OR/NOT przed minimalizacją. Dostaniesz równoważną postać SOP, ale struktura XOR zostanie utracona. Do optymalizacji zachowującej XOR potrzebny jest inny algorytm (Reed-Muller).

Powiązane narzędzia