Está en la página 1de 9

SIMPLIFICACIÓN DE FUNCIONES DE BOOLE

Supongamos que tenemos un circuito donde "F" es la respuesta (salida) del mismo
en función de las señales A, B, y C (entradas): F = A*B*C + A'*B*C + B*C
Esta función puede ser simplificable aplicando las propiedades del álgebra de
Boole. En primer lugar aplicamos la propiedad distributiva:
F = B*C*(A+A') + B*C
Ahora aplicamos las leyes de idempotencia: F = B*C + B*C = B*C
Se puede simplificar la función y el circuito sin que ello afecte al resultado.
TABLA DE VERDAD
Las tablas de verdad para las compuertas lógicas AND, OR y NOT, son respectivamente idénticas a las
correspondientes proposiciones de conjunción
(p ^ q), disyunción (p v q) y negación (¬p). La única diferencia entre las tablas de
verdad de las compuertas y las proposiciones es que se usa el 1 y 0, en vez de V y
F. Las compuertas lógicas satisfacen las mismas leyes de las proposiciones, y así forman un álgebra de Boole.
La tabla de verdad es la herramienta que debemos emplear para obtener la forma canónica de la función del
circuito, para así poder simplificar y conseguir la función más óptima.

Ejercicios Resueltos
1)Escribir (xy’ + xz)’ + x' en F.N.D
( xy’ + xz)’ + x' = (xy’)’(xz)’ + x'
= (x’ + y) (x’ + z’) + x’
= (x’ + y) x’ + (x’ + y) z’ + x’
= x’ + x’y + x’z’ + yz’ + x’
= x’ + yz’
= x’ (y + y’)(z + z’) + yz’(x + x’)
= x’ y z + x’ y z’ + x’ y’ z + x’ y’ z’ + x y z’
2) Sea f(x,y) = x’ y + x’ y’ + x y + x y’. Si se asigna a x el valor de 0 y a y el valor 1
entonces se tendrá:
F (x,y) = 1.1 + 1.0 + 0.1 + 0.0 = 1 + 0 + 0 + 0 = 1.
3) Encuentre y simplifique la expresión booleana especificada por la siguiente tabla.

fila x y z f(x,y,z)

1 0 0 0 0

2 0 0 1 0

3 0 1 0 0

4 0 1 1 0

5 1 0 0 1

6 1 0 1 0

7 1 1 0 1

8 1 1 1 0

La expresión booleana tendrá dos términos que se obtienen de las filas 5 y 7 donde la expresión booleana
vale 1.
f(x,y,z) = x y' z' + x y z' = x z' (y + y') = x z’.
4) Escribir la función E= (x y' + x z)' + x' en F.N.C.
Solución:
E = (x y' + xz)' + x'
E = (x' + y) (x' + z') + x'
= (x' + x' + y) (x' + x' + z' )
= (x' + y) (x' + z' )
= (x' + y + z z' ) (x' + z' + yy' ) = (x' + y + z ) (x' + y + z' ) (x' + y' + z ) (x' + y' + z' )
Ejercicios Propuestos
1) Exprese cada una de las siguientes funciones en F.N.D en el menor número
posible de variables.
a)(u + v + w)(uv + u’w)’ b)(x + y)(x + y’)( x’ + z’) c)xyz + (x + y)(x +z)
2) Escriba los términos de la F.N.D completa en x,y,z. Determine que término es igual a 1 si x = 1 ∧ y = z = 0.
3) Encuentre el complemento de las siguientes funciones: x’z + xz’ xy + x’y + x’y’
4) Escriba la función de las tres variables x, y, z que vale 1 si x = y = 1 y z = 0 o si x = z = 1 ∧ y = 0 y que vale 0
para los demás casos en F.N.D y F.N.C.
5) Hallar el complemento de la F.N.D del ejemplo anterior, simplifique si es posible.
6) Exprese en F.N.D y F.N.C en el menor número de variables, a) f= xyz + (x + y)’ b)(u + v)’ + u v
7) Encuentre el complemento de las siguientes funciones:
a) ( x + y + z)(x’ + y’ + z’) b) xy + x’y + x’y’
8) Simplifique las siguientes expresiones usando teoremas del álgebra booleana. a) xy + (x + y)z’ + y
b) x + y + (x’ + y + z)’ c) yz + wx + z + wz(xy + wz) d) xyz + x’yz + x’y’z’ + x’y’z + xy’z + xy’z’.
9) Halle los complementos de las expresiones booleanas del ejercicio número 8.
10) A partir de la siguiente tabla de verificación, encuentre la expresión booleana correspondiente en F.N.D y
en F.N.C.
x y z f(x,y,z)

1 1 1 1

1 1 0 0

1 0 1 0

1 0 0 1

0 1 1 0

0 1 0 1

0 0 1 0

0 0 0 1

CONVERSIÓN NAND Y NOR


Son puertas universales, es decir cualquier función lógica puede expresarse usando solo puertas Nand o solo
Nor. Para diseños de circuitos con puertas NAND realizamos una conversión de funciones lógicas a
productos negados, mientras que para circuitos con puertas NOR se convierte la función lógica a sumas
negadas.

Construcción de puertas básicas con puertas NAND y NOR.

TÉCNICA NAND
Cada una de las operaciones NOT, AND Y OR se expresa en términos de sólo
NAND, de la siguiente manera: NOT: x´ = (x.x)´
AND: xy = [ (xy)´]´ = [ (xy)´ (xy)´]´ OR: x + y = [ (x + y)´]´ = ( x´. y´) ´
X+y ;[ (X+Y)´]´ = {[ [ (x+y) ]´]´}´ ( x´)´ = x { [(x´)´]´}´ = x
TÉCNICA NOR
Cada una de las tres operaciones NOT, AND Y OR se transforma a sólo NOR en la siguiente forma:

NOT: x´ = (x + x )´ ; AND: xy = [ (x y)´]´ = [ x´ + y´ ]´ ;


OR : x + y = [ ( x + y )´ ]´ = [ ( x + y )´ + ( x + y )´ ]´

Ejemplo Sea F = x´y +x´ y´


1) F = x´y +x´ y´ SOLO NAND
(F´)´ = [ (x´y + x´ y´ )´ ]´ = [ ( x´.y ) ´. ( x´. y´ )´ ]´
2) Solo NOR
(f´)´ = [ ( x´.y ) ´. ( x´. y´ )´ ]´
F= [ ( x+y´ ) . ( x+ y ) ]´
F= ( x+y´ )´ + ( x+ y )´ Nuevamente con doble compto. F= { [( x+y´ )´ + ( x+ y )´ ]´ }´
(f´)´ = [ (( x´)´ + y´ ) . (( x´)´+ y ) ]´
(f´)´ = { [ (( x´)´ + y´ )´ + (( x´)´+ y )´ ]´ }´ F = { [ ( x + y´ )´ + ( x + y )´ ]´ }´

3) Implementar la función lógica f = A(C+B.D) empleando únicamente puertas NAND. Repetir el ejercicio
empleando únicamente puertas NOR.
a)Se aplica una doble negación a toda la expresión y además se niega dos veces la suma:

Aplicamos ahora el teorema de Morgan a una de las negaciones de la


suma y obtenemos:
b) Ahora utilizando puertas NOR.
Negamos dos veces toda la expresión y el producto interior del paréntesis:

Aplicando el teorema de DeMorgan por un lado a una de las negaciones que abarca a toda la expresión y por
otro al producto interior, tendremos:

Nota:
Expresiones Booleanas para lectura complementaria:
*http://www.monografias.com/trabajos104/algebra-booleana-y-
circuitos-logicos/algebra-booleana-y-circuitos- logicos.shtml#ixzz3rhN1r600
*Matemática Digital de Carlos Barco Gómez y otros. Mac. Graw

*Hill Oliverio J, Santana. Sistemas Digitales. Curso 2006- 2007

TALLER DE ESTUDIO
Del circuito siguiente obtener:
1) La ecuación de la salida en suma de productos
2) La tabla de verdad del circuito
3) Hacer el mapa de Karnaugh
4) Obtener a partir del mapa de Karnaugh la ecuación simplificada en suma de productos y productos de
sumas.
5) Dibujar el esquema en puertas de las ecuaciones en suma de productos y producto de sumas simplificadas

Solución:
F = A + C´B + A´B´C completamos las variables : A.1 = A pero 1 = B+B´

F = A.1.1 + C´B.1 + A´B´C

F =[ A.(B + B´) ] . (C + C´) + C´B.(A + A´) + A´B´C Prop. distrib.

F =[ A.B + A.B´ ] . (C + C´) + C´B.A + C´B. A´ + A´B´C Prop. conmutiv. F = (C + C´) . [ A.B + A.B´ ] + C´B.A +
C´B. A´ + A´B´C Prop. distrib.
F = (C+C´). A.B + (C+C´). A.B´ + C´B.A + C´B. A´ + A´B´C Prop. conmutiv. F = AB(C+C´) + AB´( C + C´) + C´B.A +
C´B. A´ + A´B´C Prop. distrib.
F= ABC + ABC´+ AB´C + AB´C´+ C´B.A + C´B. A´ + A´B´C Ley de idempot. F= ABC + ABC´+ AB´C + AB´C´+ C´B. A´
+ A´B´C
Tabla de verdad

A B C A´ B´ C´ ABC ABC´ AB´C AB´C´ A´BC´ A´B´C F


1 1 1 0 0 0 1 0 0 0 0 0 1
1 1 0 0 0 1 0 1 0 0 0 0 1
1 0 1 0 1 0 0 0 1 0 0 0 1
1 0 0 0 1 1 0 0 0 1 0 0 1
O 1 1 1 0 0 0 0 0 0 0 0 0
O 1 0 1 0 1 0 0 0 0 1 0 1
O 0 1 1 1 0 0 0 0 0 0 1 1
O 0 0 1 1 1 0 0 0 0 0 0 0

FNC = (A+B´+C´) . (A+B+C ) pasamos a la FND con (F´)´

Como se quiere utilizar el mapa k, tomamos los UNOS.

A B C F
1 1 1 1
1 1 0 1
1 0 1 1
1 0 0 1
O 1 1 0
O 1 0 1
0 0 1 1
0
0 0 0 0
2) Diseñar una máquina que produzca las siguientes salidas:

Esta máquina se puede lograr juntando los productos básicos ABC´, AB´C, A´BC y ABC, se trata de construir una
máquina sencilla. La salida correspondiente a la misma máquina pero construida de una manera más sencilla
será: Salida = AB + AC + BC
Esta máquina puede ser vista como una máquina analizadora de votos, puesto que la salida
será "1" cuando una mayoría de las entradas A, B, C sean "1". Y el principio de la misma puede
ser extendido a más de tres entradas.

3) Dibujar el circuito de la función dada:

4) Escribir la función booleana y la correspondiente table de verdad, en forma de sumas de productos a) F = ( x + y


+ z ) ( x‫ ﹸ‬+ z ) b) F = ( x y‫ﹸ‬z )‫ﹸ‬. ( x‫ﹸ‬y z ) ‫ ﹸ‬c) F = ( x‫ﹸ‬+y + z )‫ﹸ‬. ( y‫ﹸ‬+ z )

SIMPLIFICACIÓN DE EXPRESIONES BOOLEANAS - MAPAS DE KARNAUGH


Para simplificar funciones algebraicas booleanas además de las leyes del álgebra lógica, se emplea un método
llamado mapas de Karnaugh o mapas k.
Un mapa de Karnaugh también conocido como tabla de Karnaugh o diagrama de Veitch, abreviado como K-
Mapa, fue inventado en 1.950 por Maurice Karnaugh (4-Octubre de 1.924) un físico y matemático
estadounidense de los laboratorios Bell.
Los mapas de Karnaaugh son una herramienta utilizada para la simplificación de circuitos lógicos. Son
diagramas rectangulares, que tienen 2n compartimentos o celdas, dónde n es el número de
variables lógicas consideradas. (cada celda representa un valor binario de las entradas) Las celdas se
distribuyen de manera que simplificar una determinada expresión consiste en agrupar adecuadamente algunas
de las celdas. En estos mapas se pude trabajar con términos minimales, llenando los
compartimentos correspondientes a los unos, que aparezcan en la tabla de verdad de la función
considerada, o con
términos maximales con los ceros, de la tabla de verdad. Los mapas k, se pueden utilizar para funciones de hasta
6 variables.
MAPAS DE KARNAUGH PARA DOS VARIABLES
Una expresión booleana con dos variables f(x,y), tiene una tabla de verdad de cuatro filas y un mapa k de 4
casillas.
Si dos casillas contiguas horizontal o verticalmente, pero no en diagonal, tienen unos, se dice que forman
una adyacencia. Por ejemplo:

FND:unos x´y´ + x´y + xy

MAPAS DE KARNAUGH PARA TRES VARIABLES


Un mapa K para tres variables, es una tabla de 2.4, con 8 compartimentos.

Pueden distinguirse seis regiones: Región de x: columnas 3 y 4


Región de x´: columnas 1 y 2
Región de y: columnas 2 y 3
Región y´: columnas 1 y 4
Región de z: fila 2
Región de z´: fila 1
Pueden ocurrir adyacencias de dos, cuatro y ocho unos. Tambien se consideran adyacencias entre la primera y
cuarta columna, como si el mapa k fuera dibujado sobre un cilindro. Las adyacencias pueden estar en una sola
fila o formando un cuadrado. Por ejemplo:

MAPAS DE KARNAUGH PARA CUATRO VARIABLES

Un mapa K para funciones booleanas de cuatro variables, tiene la siguiente forma:


Como en el caso anterior, pueden distinguirse ocho regiones, así: Región de x: columnas 3 y 4
Región de x´: columnas 1 y 2
Región de y: columnas 2 y 3
Región de y´: columnas 1 y 4
Región de z: filas 3 y 4
Región de z´: filas 1 y 2
Región de w: filas 2 y 3
Región de w´: filas 1 y 4
Aquí pueden ocurrir adyacencias de dos, cuatro, ocho, o dieciséis unos, que eliminan una, dos, tres o cuatro
variables, respectivamente. Se consideran adyacencias entre la primera y cuarta columna
y también entre la primera y cuarta fila. Por ejemplo:

Ejemplo
Simplificar la función booleana cuyo mapa k asociado es:

se simplifica a y´

PRUEBA:
f(x,y,z,w) = x´y´z´w´ + x´y´z´w + x´y´zw + x´y´z w´ + xy´z´w´ + xy´z´w +
xy´zw + xy´zw´
f(x,y,z,w) = (x´y´z´w´ + x´y´z´w ) + ( x´y´zw + x´y´z w´ ) + (xy´z´w´ + xy´z´w ) + (xy´zw + xy´zw´) aplicamos
propiedad asociativa.
f(x,y,z,w) = x´y´z´(w+w´) + x´y´z ( w+w´) + xy´z´( w´+w) + xy´z(w+w´) Prop. distrib. f(x,y,z,w) = (x´y´z´ + x´y´z ) + (
xy´z´ + xy´z ) Asociamos
f(x,y,z,w) = x´y´ (z´ + z ) + xy´ (z´ + z ) Prop. distributiva
f(x,y,z,w) = x´y´ + xy´ factorizamos y´ ; f(x,y,z,w) = y´ ( x´+ x ) ; f(x,y,z,w) = y´

Ejemplo
Toda función lógica puede expresarse con la combinación de estas tres compuertas. Sin embargo se utilizan
también: NAND, NOR, XOR Y XNOR.

EJERCICIOS

1) Determinar los valores de entrada que se necesitan para producir f = 1 en el siguiente circuito.
f (x,y,z) = ( x ⊕ y) (y⊕z)´.z´ Función que representa el circuito.

x y z Z´ x⊕y y⊕ 𝒛 (y⊕ z)´ f


0 0 0 1 0 0 1 0
0 0 1 0 0 1 0 0
0 1 0 1 1 1 0 0
0 1 1 0 1 0 1 0
1 0 0 1 1 0 1 1
1 0 1 0 1 1 0 0
1 1 0 1 0 1 0 0
1 1 1 0 0 0 1 0

f = 1 si x = 1, y = 0, z = 0 Rta.

2) Dadas las siguientes formas de onda de entrada: X = 100100110 y = 011101001


a) Determinar las formas de onda de salida de una compuerta XOR

y x ⊕ 𝑦 = x y´+ x´y

x ⊕ 𝑦 = 100100110 011011001
100010110 + 011101001

100000110 + 011001001 = 111001111 111001111 onda de salida

b) Hallar la salida si la entrada Y se mantiene en el nivel bajo. c) Hallar la salida si la entrada Y se mantiene en el
nivel alto. d) Repetir el proceso con la compuerta XNOR
3) Escribir en la forma normal disyuntiva y normal conjunctiva en tres variables x,y,z cada expresión:
a) x´+y b) xy´+y c) (x+y) (x´+y´) d) x
4) Construir el circuito lógico para cada función dada empleando compuertas :
i) f = ( x + yz´ )´ ii) f = xy´ ( z+ y )´ iii) f= (x+yz+ z´w´)´ + xy´ zw´
a) and y or. b) Utilizando compuertas nand y nor, usar inversores si es necesario.
c) Escribir la función de salida del circuito, elaborar la tabla de verdad y simplificar usando las leyes y el mapa k.
d)Graficar los circitos iniciales y simplificados.

EJERCICIOS GUIA
1) Dominio y rango de la función lógica: f(x,y) = x y´+ x´y´ Variables

x y f(x,y) = x y´+ x´y´


0 0 1
0 1 0
1 0 1
1 1 0

Si se calcula el valor de f en cada par (x, y) = x y´+ x´y´ se tiene:


(0,0) = 0.0´+ 0´.0´= 0.1 + 1. 1 = 0 + 1 = 1 (0,1) = 0.1´ + 0´. 1´ = 0. 0 + 1.0 = 0 + 0 = 0
(1,0) = 1. 0´ + 1´.0´ = 1.1 + 0.1 = 1 + 0 = 1 (1,1) = 1.1´ + 1´. 1´ = 1. 0 + 0 .0 = 0 + 0 = 0
Por tanto el rango de la función f(x,y) = { 0,1 }
El dominio de cualquier función booleana en dos variables f(x,y) es el conjunto: { (0,0), (0,1), (1,0), (1,1) }

2) Sea f(x) = x + x´
La variable x puede tener dos valores posibles 0 y 1 ; el dominio de la función es { 0,1 }
Ahora el rango de f(x) = x + x´ Para x = 0 : f(0) = 0 + 0´= 0 + 1 = 1
Para x = 1 : f(1) = 1 + 1´= 1 + 0 = 1 Por tanto el rango de f (x) es el conjunto {1}

3) Hallar el dominio y rango de la función lógica: f(x,y,z) = x y z´ + x´y´z


Dominio de f(x,y z) = { ( 0,0,0), …..(1,1,1) }
x y z
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Ahora el rango:
Si (0,0,0) en F = x y z´ + x´y´z = 0.0.0´ + 0´0´0 = 0.1 + 1.1.0 = 0
Si ( 0x, 1y , 1z) en F = x y z´ + x´y´z = 0.1.1´ + 0´1´1 = 0 + 1.0.1 = 0
Si (1,1,1,) en f = x y z´ + x´y´z = 1.1.1´+ 1´1´1 = 1.0 + 0.1 = 0 …….
Rango de la función es el { 0,1 }

También podría gustarte