Förenklare för boolesk algebra
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
Ange uttrycket eller minterms
Använd operatorerna · (AND), + (OR), ' eller ¬ (NOT), ⊕ (XOR). Eller klistra in minterm-index som m(0,1,3,7).
-
2
Sanningstabell genereras
Varje variabeltilldelning utvärderas och funktionens utdata tabelleras.
-
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
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:
- Gruppera minterms efter antal ettor
- Kombinera intilliggande par: (1,3) →
-B, (2,3) →A- - 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
JSON-formaterare
Klistra in JSON för att snyggformatera med 2 eller 4 mellanslag, minifiera till kompakt utdata eller snabbt kontrollera syntaxen innan du kopierar resultatet.
Slumpgenerator för bokstäver
Generera slumpade A-Z-bokstäver. Välj antal, versaler, gemener eller blandat läge och använd resultatet för spel, uppgifter eller klassrumsaktiviteter.
HEX-färgväljare
Välj en färg visuellt och få HEX-, RGB-, HSL-, HSV- och CMYK-värden samt kontrast mot vitt och svart.
Slumpmässig färggenerator
Generera 1 till 50 slumpmässiga HEX-färger med färgrutor som du kan förhandsvisa, kopiera och använda i CSS, tester eller palettskissning.
Färgpalettgenerator
Skapa monokromatiska, analoga, komplementära, triadiska eller tetradiska färgpaletter från en HEX-basfärg och exportera kopieringsklara CSS-variabler.
Generator för slumpmässiga färgpaletter
Skapa slumpmässiga färgpaletter med 2 till 15 färgrutor, välj en livlig, pastell, dämpad eller mörk stil och kopiera HEX-koder eller CSS-variabler.