Förenklare för boolesk algebra

Använd A, B, C... för variabler. Operatorer: & (AND), | (OR), ! (NOT), ^ (XOR), ( )

Givet ett booleskt uttryck — A·B + A·¬B + ¬A·B eller en sanningstabell med minterms — returnerar den här förenklaren minimal sum-of-products-form med Quine-McCluskey-algoritmen, plus en Karnaugh map-visualisering för upp till sex variabler. Den visar varje steg (prime implicants, essential prime implicants, täckningstabellen), så den är användbar inte bara för läxor utan också för att granska vad en minimiserare i ditt synthesis tool valde.

Så körs boolesk förenkling

  1. 1

    Ange uttrycket eller minterms

    Använd operatorerna · (AND), + (OR), ' eller ¬ (NOT), ⊕ (XOR). Eller klistra in minterm-index som m(0,1,3,7).

  2. 2

    Sanningstabell genereras

    Varje variabeltilldelning utvärderas och funktionens utdata tabelleras.

  3. 3

    Quine-McCluskey hittar prime implicants

    Minterms grupperas och kombineras iterativt. Intilliggande grupper (som skiljer sig i en variabel) slås ihop tills inga fler reduktioner är möjliga.

  4. 4

    Essential implicants täcker funktionen

    En täckningstabell med Petrick-method väljer minsta uppsättning prime implicants. Resultatet är förenklad SOP. POS-formen härleds från komplementet.

Operatornotation som stöds

Operation Accepterade symboler
AND ·, *, &, , blanksteg
OR +, |,
NOT \', ¬, !, ~, överstreck (A med överstreck visas som A\')
XOR , ^
Konstanter 0, 1

Exempel

Indata: A·B + A·¬B + ¬A·B

Sanningstabell:

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

Minterms: m(1, 2, 3). Minimal SOP reduceras till A + B (OR av de två variablerna). Förenklaren går igenom:

  1. Gruppera minterms efter antal ettor
  2. Kombinera intilliggande par: (1,3) → -B, (2,3) → A-
  3. Täckningstabellen visar att båda är essential — slutform: A + B

Varför minimera

  • Färre grindar: varje AND/OR-term kostar kisel eller FPGA LUTs.
  • Kortare kritisk väg: mindre logik betyder vanligtvis lägre propagation delay.
  • Lägre effekt: färre noder som switchar.

Algoritmgränser

  • Antal variabler: Quine-McCluskey skalar som O(3^n / n) i värsta fall. Verktyget hanterar upp till 8 variabler bekvämt; bortom det, använd Espresso-liknande heuristiska minimiserare (du får inte garanterad minimalitet men det är genomförbart).
  • Don’t-care terms: ta med dem med syntaxen d(indices) för att få mindre resultat när vissa indatakombinationer inte kan inträffa.

Vanliga frågor

Sum-of-products är OR-of-ANDs (som AB + CD); product-of-sums är AND-of-ORs (som (A+B)(C+D)). Samma funktion, olika struktur. Förenklaren returnerar båda — välj den som passar ditt downstream tool.

Ja. Ange dem som d(index1, index2, ...) tillsammans med minterms. Minimiseraren behandlar dem som “fria” att tilldela vilket värde som helst som ger ett mindre resultat.

Båda ger minimal kostnad om du väljer rätt, men K-maps beror på att personen hittar största möjliga grupper. Quine-McCluskey är deterministisk och hittar alltid ett optimum.

XOR expanderas till AND/OR/NOT före minimering. Du får en ekvivalent SOP men XOR-strukturen går förlorad. För XOR-bevarande optimering behövs en annan algoritm (Reed-Muller).

Relaterade verktyg