De la Taula de Veritat al Circuit Lògic

De la Taula de Veritat al Circuit Lògic

Enunciat del problema: Un sistema activa una sortida (F) segons les condicions següents de la taula de la veritat.

1. Creació de la Taula de Veritat

La taula de veritat conté totes les combinacions possibles de les entrades i els seus resultats:

A B C D F(A, B, C, D)
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 1
1 0 0 0 1
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1

2. Creació del Mapa de Karnaugh

Es col·loquen els valors de la taula de veritat en un mapa de Karnaugh per identificar agrupacions:

Els grups es formen amb potències de 2 (1, 2, 4, 8...). Agrupem els 1s adjacents per simplificar l'expressió.

2.1. Simplificació parcial

Mapa de Karnaugh per a F(A, B, C, D)
CD
AB 00 01 11 10
00 1 0 0 1
01 0 1 1 0
11 0 1 1 0
10 1 0 0 1

2.2 Simplificació Major amb Karnaugh

Mapa de Karnaugh corregit (amb les 4 cantonades agrupades)
CD
AB 00 01 11 10
00 1 0 0 1
01 0 1 1 0
11 0 1 1 0
10 1 0 0 1

Combinant els termes simplificats, l'expressió resultant és:

F(A, B, C, D) = BCD + BC'D + B'D'

El següent pas és construir el circuit utilitzant:

El circuit resultant és més eficient i requereix menys portes lògiques.

2.3. Simplificació Total amb regles Booleanes després de Karnaugh

Encara es pot simplificar més l'expressió booleana:

\[F(A, B, C, D) = BCD + BC'D + B'D'\]

Pas 1: Factorització per termes comuns

Observem que podem agrupar termes:

\[F = BCD + BC'D + B'D'\]

Agrupem els dos primers termes:

\[F = B D (C + C') + B'D'\]

Com que \( C + C' = 1 \), es redueix a:

\[F = BD + B'D'\]

Pas 2: Aplicació de la propietat XNOR

L'expressió final es pot escriure com:

\[F = B \odot D\]

Així doncs, la simplificació final de l'expressió és:

\[F(A, B, C, D) = B \odot D\]

Fixa't que podríem haver fet l'agrupació de 4 "1" interna i l'agrupació de les 4 cantonades de la taula de Karnaugh (recorda que és un toroide de taula) i ja ho tenim tot simplificat.

Toroide

Simplificació de Funcions Lògiques

En l'àlgebra de Boole, la simplificació de funcions lògiques permet reduir el nombre de termes per optimitzar circuits digitals.

Regles bàsiques

Definicions de portes lògiques

Definició de NOT

NOT (¯): La sortida és la inversa del valor d'entrada.

Regla booleana: Y = A'

Taula de veritat NOT

A A'
0 1
1 0

Definició de AND

AND (·): La sortida és 1 si totes les entrades són 1.

Regla booleana: A · B = AB

Taula de veritat AND

A B A · B
0 0 0
0 1 0
1 0 0
1 1 1

Definició de OR

OR (+): La sortida és 1 si almenys una de les entrades és 1.

Regla booleana: A + B

Taula de veritat OR

A B A + B
0 0 0
0 1 1
1 0 1
1 1 1

Definició de NAND

NAND: La sortida és 0 només si totes les entrades són 1.

Regla booleana: A NAND B = (A · B)'

Taula de veritat NAND

A B A NAND B
0 0 1
0 1 1
1 0 1
1 1 0

Definició de NOR

NOR: La sortida és 1 només si totes les entrades són 0.

Regla booleana: A NOR B = (A + B)'

Taula de veritat NOR

A B A NOR B
0 0 1
0 1 0
1 0 0
1 1 0

Definició de XOR i XNOR

XOR (⊕): La sortida és 1 si exactament un dels valors d'entrada és 1.

Regla booleana: A ⊕ B = (A · B') + (A' · B)

XNOR (⊙): La sortida és 1 si els valors d'entrada són iguals.

Regla booleana: A ⊙ B = (A · B) + (A' · B')

Taula de veritat XOR

A B A ⊕ B
0 0 0
0 1 1
1 0 1
1 1 0

Taula de veritat XNOR

A B A ⊙ B
0 0 1
0 1 0
1 0 0
1 1 1
Taula de Veritat Portes Lògiques

Pots trobar si has fet la simplificació de portes lògiques correcta introduint la teva funció lògica no simplificada en un Google Colab del professor que ha implementat l'algorisme de Quine–McCluskey de la biblioteca python simpliqm. (Clica Open in Colab emprant el teu compte personal de Gmail per executar el codi python ja que no funciona amb email de centre).

Explicació senzilla de l'algorisme Quine-McCluskey.