Você está na página 1de 65

Clase #3

Simplificación de funciones lógicas

Prof. David Leal

dleal@usb.ve

Prof. David Leal Clase #3 1 / 30


Simplificación de funciones lógicas Simplificación mediante el álgebra de Boole

Simplificación mediante el álgebra de Boole

Muchas veces, a la hora de aplicar el álgebra booleana, hay que reducir


una expresión a su forma más simple o cambiarla a una forma más
conveniente para conseguir una implementación más eficiente. El método
utiliza los postulados y teoremas del álgebra de Boole para manipular y
simplificar una expresión.
Ejemplos:
Simplificar la siguiente expresión utilizando técnicas del álgebra de Boole:

xy + x(y + z) + y(y + z)

Simplificar la siguiente expresión booleana:

[xy 0 (z + y) + x0 y 0 ]z

Prof. David Leal Clase #3 2 / 30


Simplificación de funciones lógicas Simplificación mediante el álgebra de Boole

Simplificación mediante el álgebra de Boole

Muchas veces, a la hora de aplicar el álgebra booleana, hay que reducir


una expresión a su forma más simple o cambiarla a una forma más
conveniente para conseguir una implementación más eficiente. El método
utiliza los postulados y teoremas del álgebra de Boole para manipular y
simplificar una expresión.
Ejemplos:
Simplificar la siguiente expresión utilizando técnicas del álgebra de Boole:

xy + x(y + z) + y(y + z)

Simplificar la siguiente expresión booleana:

[xy 0 (z + y) + x0 y 0 ]z

Prof. David Leal Clase #3 2 / 30


Simplificación de funciones lógicas Conversión de una expresión general a forma canónica

Conversión a formato suma de productos

Cualquier expresión lógica puede ser transformada a una expresión suma


de productos (Suma de minitérminos) aplicando el álgebra de Boole.
Por ejemplo, la expresión x(y + y 0 z) puede convertirse en una suma de
productos aplicando la ley distributiva:

x(y + y 0 z) = xy + xy 0 z

A esta función todavı́a le falta un variable al primer término (xy):

xy + xy 0 z = xy(z + z 0 ) + xy 0 z
= xy 0 z + xyz 0 + xyz
= m5 + m6 + m7

Prof. David Leal Clase #3 3 / 30


Simplificación de funciones lógicas Conversión de una expresión general a forma canónica

Conversión a formato suma de productos

Cualquier expresión lógica puede ser transformada a una expresión suma


de productos (Suma de minitérminos) aplicando el álgebra de Boole.
Por ejemplo, la expresión x(y + y 0 z) puede convertirse en una suma de
productos aplicando la ley distributiva:

x(y + y 0 z) = xy + xy 0 z

A esta función todavı́a le falta un variable al primer término (xy):

xy + xy 0 z = xy(z + z 0 ) + xy 0 z
= xy 0 z + xyz 0 + xyz
= m5 + m6 + m7

Prof. David Leal Clase #3 3 / 30


Simplificación de funciones lógicas Conversión de una expresión general a forma canónica

Conversión a formato suma de productos

Cualquier expresión lógica puede ser transformada a una expresión suma


de productos (Suma de minitérminos) aplicando el álgebra de Boole.
Por ejemplo, la expresión x(y + y 0 z) puede convertirse en una suma de
productos aplicando la ley distributiva:

x(y + y 0 z) = xy + xy 0 z

A esta función todavı́a le falta un variable al primer término (xy):

xy + xy 0 z = xy(z + z 0 ) + xy 0 z
= xy 0 z + xyz 0 + xyz
= m5 + m6 + m7

Prof. David Leal Clase #3 3 / 30


Simplificación de funciones lógicas Conversión de una expresión general a forma canónica

Conversión a formato producto de sumas


Cualquier expresión lógica puede ser transformada a una expresión
(Producto de maxitérminos) aplicando el álgebra de Boole.
Por ejemplo, Exprese la función booleana F = xy + x0 z en forma de
producto de maxitérminos. Primero, se convierte la función en términos
OR empleando la ley distributiva:
F = xy + x0 z = (xy + x0 )(xy + z)
= (x + x0 )(y + x0 )(x + z)(y + z)
= (y + x0 )(x + z)(y + z)
La función tiene tres variables, x, y y z. A cada término OR le falta una
variable; por tanto:
x0 + y = x0 + y + zz 0 = (x0 + y + z)(x0 + y + z 0 )
0
x + z = x + z + yy = (x + y + z)(x + y 0 + z)
y + z = y + z + xx0 = (x + y + z)(x0 + y + z)
Después de combinar todos los términos y eliminar los que aparecen más
de una vez, se obtiene:
F = (x + y + z)(x + y 0 + z)(x0 + y + z)(x0 + y + z 0 )
= M0 M2 M4 M5

Prof. David Leal Clase #3 4 / 30


Simplificación de funciones lógicas Conversión de una expresión general a forma canónica

Conversión a formato producto de sumas


Cualquier expresión lógica puede ser transformada a una expresión
(Producto de maxitérminos) aplicando el álgebra de Boole.
Por ejemplo, Exprese la función booleana F = xy + x0 z en forma de
producto de maxitérminos. Primero, se convierte la función en términos
OR empleando la ley distributiva:
F = xy + x0 z = (xy + x0 )(xy + z)
= (x + x0 )(y + x0 )(x + z)(y + z)
= (y + x0 )(x + z)(y + z)
La función tiene tres variables, x, y y z. A cada término OR le falta una
variable; por tanto:
x0 + y = x0 + y + zz 0 = (x0 + y + z)(x0 + y + z 0 )
0
x + z = x + z + yy = (x + y + z)(x + y 0 + z)
y + z = y + z + xx0 = (x + y + z)(x0 + y + z)
Después de combinar todos los términos y eliminar los que aparecen más
de una vez, se obtiene:
F = (x + y + z)(x + y 0 + z)(x0 + y + z)(x0 + y + z 0 )
= M0 M2 M4 M5

Prof. David Leal Clase #3 4 / 30


Simplificación de funciones lógicas Conversión de una expresión general a forma canónica

Conversión a formato producto de sumas


Cualquier expresión lógica puede ser transformada a una expresión
(Producto de maxitérminos) aplicando el álgebra de Boole.
Por ejemplo, Exprese la función booleana F = xy + x0 z en forma de
producto de maxitérminos. Primero, se convierte la función en términos
OR empleando la ley distributiva:
F = xy + x0 z = (xy + x0 )(xy + z)
= (x + x0 )(y + x0 )(x + z)(y + z)
= (y + x0 )(x + z)(y + z)
La función tiene tres variables, x, y y z. A cada término OR le falta una
variable; por tanto:
x0 + y = x0 + y + zz 0 = (x0 + y + z)(x0 + y + z 0 )
0
x + z = x + z + yy = (x + y + z)(x + y 0 + z)
y + z = y + z + xx0 = (x + y + z)(x0 + y + z)
Después de combinar todos los términos y eliminar los que aparecen más
de una vez, se obtiene:
F = (x + y + z)(x + y 0 + z)(x0 + y + z)(x0 + y + z 0 )
= M0 M2 M4 M5

Prof. David Leal Clase #3 4 / 30


Simplificación de funciones lógicas Conversión de una expresión general a forma canónica

Conversión a formato producto de sumas


Cualquier expresión lógica puede ser transformada a una expresión
(Producto de maxitérminos) aplicando el álgebra de Boole.
Por ejemplo, Exprese la función booleana F = xy + x0 z en forma de
producto de maxitérminos. Primero, se convierte la función en términos
OR empleando la ley distributiva:
F = xy + x0 z = (xy + x0 )(xy + z)
= (x + x0 )(y + x0 )(x + z)(y + z)
= (y + x0 )(x + z)(y + z)
La función tiene tres variables, x, y y z. A cada término OR le falta una
variable; por tanto:
x0 + y = x0 + y + zz 0 = (x0 + y + z)(x0 + y + z 0 )
0
x + z = x + z + yy = (x + y + z)(x + y 0 + z)
y + z = y + z + xx0 = (x + y + z)(x0 + y + z)
Después de combinar todos los términos y eliminar los que aparecen más
de una vez, se obtiene:
F = (x + y + z)(x + y 0 + z)(x0 + y + z)(x0 + y + z 0 )
= M0 M2 M4 M5

Prof. David Leal Clase #3 4 / 30


El Método del Mapa Introduction

El Método del Mapa

El método del mapa ofrece un procedimiento sencillo y directo para


minimizar las funciones booleanas. Este método podrı́a considerarse como
una versión pictórica de la tabla de verdad. El método del mapa también
se conoce como mapa de Karnaugh o mapa K.
El mapa es un diagrama hecho de cuadrados, cada uno de los cuales
representa un minitérmino de la función. Puesto que cualquier función
booleana se puede expresar como una suma de minitérminos, toda función
booleana se reconocerá gráficamente en el mapa por el área delimitada por
los cuadrados cuyos minitérminos están incluidos en la función.

Prof. David Leal Clase #3 5 / 30


El Método del Mapa Mapa de dos variables

Mapa de dos variables

En la figura se presenta el mapa de dos variables. Hay cuatro minitérminos


para dos variables; por tanto, el mapa consiste en cuatro cuadrados, uno
para cada minitérmino.
y
y z }| {
0 1
x

m0 m1 0 x0 y 0 x0 y


m2 m3 x 1 xy 0 xy

Prof. David Leal Clase #3 6 / 30


El Método del Mapa Mapa de dos variables

Ejemplos

Tabla de la verdad Mapa de dos variables


y
y z }| {
0 1
x
x y x·y
0 0 0 ← m0
0 0 0
0 1 0 ← m1
1 0 0 ← m2 
1 1 1 ← m3 
x 1 0 1

F = xy

Prof. David Leal Clase #3 7 / 30


El Método del Mapa Mapa de dos variables

Ejemplos

Tabla de la verdad Mapa de dos variables


y
y z }| {
0 1
x
x y x·y
0 0 0 ← m0
0 0 0
0 1 0 ← m1
1 0 0 ← m2 
1 1 1 ← m3 
x 1 0 1

F = xy

Prof. David Leal Clase #3 7 / 30


El Método del Mapa Mapa de dos variables

Ejemplos

Tabla de la verdad Mapa de dos variables


y
y z }| {
0 1
x
x y x+y
0 0 0 ← m0
0 0 1
0 1 1 ← m1
1 0 1 ← m2 
1 1 1 ← m3 
x 1 1 1

F =x+y

Prof. David Leal Clase #3 8 / 30


El Método del Mapa Mapa de dos variables

Ejemplos

Tabla de la verdad Mapa de dos variables


y
y z }| {
0 1
x
x y x+y
0 0 0 ← m0
0 0 1
0 1 1 ← m1
1 0 1 ← m2 
1 1 1 ← m3 
x 1 1 1

F =x+y

Prof. David Leal Clase #3 8 / 30


El Método del Mapa Mapa de dos variables

Ejemplos

Tabla de la verdad Mapa de dos variables


y
y z }| {
0 1
x
x y x+y
0 0 0 ← m0
0 0 1
0 1 1 ← m1
1 0 1 ← m2 
1 1 1 ← m3 
x 1 1 1

F =x+y

Prof. David Leal Clase #3 8 / 30


El Método del Mapa Mapa de tres variables

Mapa de tres variables

En la figura se muestra un mapa de tres variables. Hay ocho minitérminos


para tres variables binarias; por tanto, el mapa consta de ocho cuadrados.
La caracterı́stica de esta sucesión es que sólo un bit cambia de valor entre
dos columnas adyacentes.
y
z }| {
yz
00 01 11 10
x

m0 m1 m3 m2 0 x0 y 0 z 0 x0 y 0 z x0 yz x0 yz 0


m4 m5 m7 m6 x 1 xy 0 z 0 xy 0 z xyz xyz 0

| {z }
z

Prof. David Leal Clase #3 9 / 30


El Método del Mapa Mapa de tres variables

Ejemplos

Función en miniterminos Mapa de dos variables


y
z }| {
yz
00 01 11 10
x

X 0 1
F (x, y, z) = (3, 4, 6, 7) 

x 1 1 1 1

| {z }
z

F = xz 0 + yz

Prof. David Leal Clase #3 10 / 30


El Método del Mapa Mapa de tres variables

Ejemplos

Función en miniterminos Mapa de dos variables


y
z }| {
yz
00 01 11 10
x

X 0 1
F (x, y, z) = (3, 4, 6, 7) 

x 1 1 1 1

| {z }
z

F = xz 0 + yz

Prof. David Leal Clase #3 10 / 30


El Método del Mapa Mapa de tres variables

Ejemplos

Función en miniterminos Mapa de dos variables


y
z }| {
yz
00 01 11 10
x

X 0 1
F (x, y, z) = (3, 4, 6, 7) 

x 1 1 1 1

| {z }
z

F = xz 0 + yz

Prof. David Leal Clase #3 10 / 30


El Método del Mapa Mapa de tres variables

Ejemplos

Función en miniterminos Mapa de dos variables


B
z }| {
BC
00 01 11 10
A

X 0 1 1 1
F (A, B, C) = (1, 2, 3, 5, 7) 

A 1 1 1

| {z }
C

F = C + A0 B

Prof. David Leal Clase #3 11 / 30


El Método del Mapa Mapa de tres variables

Ejemplos

Función en miniterminos Mapa de dos variables


B
z }| {
BC
00 01 11 10
A

X 0 1 1 1
F (A, B, C) = (1, 2, 3, 5, 7) 

A 1 1 1

| {z }
C

F = C + A0 B

Prof. David Leal Clase #3 11 / 30


El Método del Mapa Mapa de tres variables

Ejemplos

Función en miniterminos Mapa de dos variables


B
z }| {
BC
00 01 11 10
A

X 0 1 1 1
F (A, B, C) = (1, 2, 3, 5, 7) 

A 1 1 1

| {z }
C

F = C + A0 B

Prof. David Leal Clase #3 11 / 30


El Método del Mapa Mapa de cuatro variables

Mapa de cuatro variables


El mapa para las funciones booleanas de cuatro variables se ilustra en la
figura. Las filas y columnas se numeran en orden según el código Gray, de
modo que sólo un dı́gito cambie de valor entre dos filas o columnas
adyacentes.

y
z }| {
yz
00 01 11 10
wx

w 0 x0 y 0 z 0 w 0 x0 y 0 z w0 x0 yz w0 x0 yz 0
00

m0 m1 m3 m2
w0 xy 0 z 0 w0 xy 0 z w0 xyz w0 xyz 0

m4 m5 m7 m6 01 





m12 m13 m15 m14 x
wxy 0 z 0 wxy 0 z wxyz 0

11 wxyz
 


m8 m9 m11 m10

 

 
w


wx0 y 0 z 0 wx0 y 0 z wx0 yz wx0 yz 0


10

| {z }
z

Prof. David Leal Clase #3 12 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = y 0 + w0 z 0 + xz 0

01 1 1 1 


x
 
11 



 1 1 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 13 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = y 0 + w0 z 0 + xz 0

01 1 1 1 


x
 
11 



 1 1 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 13 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = y 0 + w0 z 0 + xz 0

01 1 1 1 


x
 
11 



 1 1 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 13 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 4, 5, 6, 8, 9, 12, 13, 14)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = y 0 + w0 z 0 + xz 0

01 1 1 1 


x
 
11 



 1 1 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 13 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 5, 8, 10, 15)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = x0 z 0 + w0 y 0 z + wxyz

01 1 


x
 
11 



 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 14 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 5, 8, 10, 15)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = x0 z 0 + w0 y 0 z + wxyz

01 1 


x
 
11 



 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 14 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 5, 8, 10, 15)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = x0 z 0 + w0 y 0 z + wxyz

01 1 


x
 
11 



 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 14 / 30


El Método del Mapa Mapa de cuatro variables

Ejemplos

F (w, x, y, z) = (0, 1, 2, 5, 8, 10, 15)


y
z }| {
yz
00 01 11 10
wx

00 1 1 1

F = x0 z 0 + w0 y 0 z + wxyz

01 1 


x
 
11 



 1
w


10

1 1

| {z }
z

Prof. David Leal Clase #3 14 / 30


El Método del Mapa Mapa de cinco variables

Mapa de cinco variables

El mapa de cinco variables se muestra en la figura. Consta de dos mapas de cuatro variables con
las variables A, B, C, D y E. La variable A distingue a los dos mapas, como se indica en la
parte superior del diagrama. El mapa de cuatro variables de la izquierda representa los 16
cuadrados en los que A = 0; el otro representa los cuadrados en los que A = 1. Los
minitérminos 0 a 15 corresponden a A = 0 y los minitérminos 16 a 31 corresponden a A = 1.

A=0 A=1
z }| { z }| {
D D
z }| { z }| {
DE DE
00 01 11 10 00 01 11 10
BC BC

00 0 1 3 2 00 16 17 19 18
 
01 4 5 7 6 

 01 20 21 23 22 


C C
   
11 11

 



 12 13 15 14 

 28 29 31 30
B B

 

 10  10
8 9 11 10 24 25 27 26

| {z } | {z }
E E

Prof. David Leal Clase #3 15 / 30


El Método del Mapa Mapa de cinco variables

Ejemplos

F (A, B, C, D, E) = (0, 2, 4, 6, 9, 13, 21, 23, 25, 29, 31)


A=0 A=1
z }| { z }| {
D D
z }| { z }| {
DE DE
00 01 11 10 00 01 11 10
BC BC

00 1 1 00
 
01 1 1 

 01 1 1 


C C
   
11 11

 



 1 

 1 1
B B

 

 10  10
1 1

| {z } | {z }
E E

F = A0 B 0 E 0 + BD0 E + ACE

Prof. David Leal Clase #3 16 / 30


El Método del Mapa Mapa de cinco variables

Ejemplos

F (A, B, C, D, E) = (0, 2, 4, 6, 9, 13, 21, 23, 25, 29, 31)


A=0 A=1
z }| { z }| {
D D
z }| { z }| {
DE DE
00 01 11 10 00 01 11 10
BC BC

00 1 1 00
 
01 1 1 

 01 1 1 


C C
   
11 11

 



 1 

 1 1
B B

 

 10  10
1 1

| {z } | {z }
E E

F = A0 B 0 E 0 + BD0 E + ACE

Prof. David Leal Clase #3 16 / 30


El Método del Mapa Mapa de cinco variables

Ejemplos

F (A, B, C, D, E) = (0, 2, 4, 6, 9, 13, 21, 23, 25, 29, 31)


A=0 A=1
z }| { z }| {
D D
z }| { z }| {
DE DE
00 01 11 10 00 01 11 10
BC BC

00 1 1 00
 
01 1 1 

 01 1 1 


C C
   
11 11

 



 1 

 1 1
B B

 

 10  10
1 1

| {z } | {z }
E E

F = A0 B 0 E 0 + BD0 E + ACE

Prof. David Leal Clase #3 16 / 30


El Método del Mapa Mapa de cinco variables

Ejemplos

F (A, B, C, D, E) = (0, 2, 4, 6, 9, 13, 21, 23, 25, 29, 31)


A=0 A=1
z }| { z }| {
D D
z }| { z }| {
DE DE
00 01 11 10 00 01 11 10
BC BC

00 1 1 00
 
01 1 1 

 01 1 1 


C C
   
11 11

 



 1 

 1 1
B B

 

 10  10
1 1

| {z } | {z }
E E

F = A0 B 0 E 0 + BD0 E + ACE

Prof. David Leal Clase #3 16 / 30


El Método del Mapa Simplificación de producto de sumas

Simplificación de producto de sumas

Las funciones booleanas simplificadas que dedujimos del mapa en todos los ejemplos
anteriores se expresaron en la forma de suma de productos. El procedimiento para
obtener una función minimizada en forma de producto de sumas es consecuencia de las
propiedades básicas de las funciones booleanas.
Ejemplo: X
F (x, y, z) = (3, 4, 6, 7)

y
z }| { F = xz 0 + yz
yz
00 01 11 10
x

0 0 0 1 0
 F0 = x0 z 0 + y 0 z
0 0
(F ) = F = (x0 z 0 + y 0 z)0

x 1 1 0 1 1
 F = (x + z)(y + z 0 )
| {z }
z
Prof. David Leal Clase #3 17 / 30
El Método del Mapa Simplificación de producto de sumas

Simplificación de producto de sumas

Las funciones booleanas simplificadas que dedujimos del mapa en todos los ejemplos
anteriores se expresaron en la forma de suma de productos. El procedimiento para
obtener una función minimizada en forma de producto de sumas es consecuencia de las
propiedades básicas de las funciones booleanas.
Ejemplo: X
F (x, y, z) = (3, 4, 6, 7)

y
z }| { F = xz 0 + yz
yz
00 01 11 10
x

0 0 0 1 0
 F0 = x0 z 0 + y 0 z
0 0
(F ) = F = (x0 z 0 + y 0 z)0

x 1 1 0 1 1
 F = (x + z)(y + z 0 )
| {z }
z
Prof. David Leal Clase #3 17 / 30
El Método del Mapa Simplificación de producto de sumas

Simplificación de producto de sumas

Las funciones booleanas simplificadas que dedujimos del mapa en todos los ejemplos
anteriores se expresaron en la forma de suma de productos. El procedimiento para
obtener una función minimizada en forma de producto de sumas es consecuencia de las
propiedades básicas de las funciones booleanas.
Ejemplo: X
F (x, y, z) = (3, 4, 6, 7)

y
z }| { F = xz 0 + yz
yz
00 01 11 10
x

0 0 0 1 0
 F0 = x0 z 0 + y 0 z
0 0
(F ) = F = (x0 z 0 + y 0 z)0

x 1 1 0 1 1
 F = (x + z)(y + z 0 )
| {z }
z
Prof. David Leal Clase #3 17 / 30
El Método del Mapa Simplificación de producto de sumas

Simplificación de producto de sumas

Las funciones booleanas simplificadas que dedujimos del mapa en todos los ejemplos
anteriores se expresaron en la forma de suma de productos. El procedimiento para
obtener una función minimizada en forma de producto de sumas es consecuencia de las
propiedades básicas de las funciones booleanas.
Ejemplo: X
F (x, y, z) = (3, 4, 6, 7)

y
z }| { F = xz 0 + yz
yz
00 01 11 10
x

0 0 0 1 0
 F0 = x0 z 0 + y 0 z
0 0
(F ) = F = (x0 z 0 + y 0 z)0

x 1 1 0 1 1
 F = (x + z)(y + z 0 )
| {z }
z
Prof. David Leal Clase #3 17 / 30
El Método del Mapa Simplificación de producto de sumas

Simplificación de producto de sumas

Las funciones booleanas simplificadas que dedujimos del mapa en todos los ejemplos
anteriores se expresaron en la forma de suma de productos. El procedimiento para
obtener una función minimizada en forma de producto de sumas es consecuencia de las
propiedades básicas de las funciones booleanas.
Ejemplo: X
F (x, y, z) = (3, 4, 6, 7)

y
z }| { F = xz 0 + yz
yz
00 01 11 10
x

0 0 0 1 0
 F0 = x0 z 0 + y 0 z
0 0
(F ) = F = (x0 z 0 + y 0 z)0

x 1 1 0 1 1
 F = (x + z)(y + z 0 )
| {z }
z
Prof. David Leal Clase #3 17 / 30
El Método del Mapa Simplificación de producto de sumas

Simplificación de producto de sumas

Las funciones booleanas simplificadas que dedujimos del mapa en todos los ejemplos
anteriores se expresaron en la forma de suma de productos. El procedimiento para
obtener una función minimizada en forma de producto de sumas es consecuencia de las
propiedades básicas de las funciones booleanas.
Ejemplo: X
F (x, y, z) = (3, 4, 6, 7)

y
z }| { F = xz 0 + yz
yz
00 01 11 10
x

0 0 0 1 0
 F0 = x0 z 0 + y 0 z
0 0
(F ) = F = (x0 z 0 + y 0 z)0

x 1 1 0 1 1
 F = (x + z)(y + z 0 )
| {z }
z
Prof. David Leal Clase #3 17 / 30
El Método del Mapa Condiciones de indiferencia

Condiciones de indiferencia

En casi todas las aplicaciones, es irrelevante el valor que asuma la función


para los minitérminos no especificados. Por ello, se acostumbra llamar
condiciones de indiferencia (don’t care, en inglés) a los minitérminos no
especificados de una función. Conviene usar estas condiciones de
indiferencia en el mapa para simplificar aún más la expresión booleana.
Debe quedar claro que un minitérmino indiferente es una combinación de
variables cuyo valor lógico no está especificado. No podemos marcarlo con
1 en el mapa porque ello requerirı́a que la función siempre dé 1 para esa
combinación. Por lo mismo, si marcamos con 0 su cuadrado en el mapa,
estaremos exigiendo que la función sea 0. Para distinguir la condición de
indiferencia, usamos una d en lugar de unos y ceros. Ası́, una d en un
cuadrado del mapa indica que no nos importa si se asigna el valor de 0 o
de 1 a F para el minitérmino en cuestión.

Prof. David Leal Clase #3 18 / 30


El Método del Mapa Condiciones de indiferencia

Ejemplo
X
F (w, x, y, z) = (1, 3, 7, 11, 15)
que tiene las condiciones de indiferencia
X
d(w, x, y, z) = (0, 2, 5)
y y
z }| { z }| {
yz yz
00 01 11 10 00 01 11 10
wx wx

00 d 1 1 d 00 d 1 1 d

 
01 0 d 1 0 
 01 0 d 1 0 

 
x
   

 11 0 0 1 0

 
 11 0 0 1 0


 
w w

 

 10  10
0 0 1 0 0 0 1 0

| {z } | {z }
z z

F = yz + w0 x0 F = yz + w0 z

Prof. David Leal Clase #3 19 / 30


El Método del Mapa Condiciones de indiferencia

Ejemplo
X
F (w, x, y, z) = (1, 3, 7, 11, 15)
que tiene las condiciones de indiferencia
X
d(w, x, y, z) = (0, 2, 5)
y y
z }| { z }| {
yz yz
00 01 11 10 00 01 11 10
wx wx

00 d 1 1 d 00 d 1 1 d

 
01 0 d 1 0 
 01 0 d 1 0 

 
x
   

 11 0 0 1 0

 
 11 0 0 1 0


 
w w

 

 10  10
0 0 1 0 0 0 1 0

| {z } | {z }
z z

F = yz + w0 x0 F = yz + w0 z

Prof. David Leal Clase #3 19 / 30


El Método del Mapa Condiciones de indiferencia

Ejemplo
X
F (w, x, y, z) = (1, 3, 7, 11, 15)
que tiene las condiciones de indiferencia
X
d(w, x, y, z) = (0, 2, 5)
y y
z }| { z }| {
yz yz
00 01 11 10 00 01 11 10
wx wx

00 d 1 1 d 00 d 1 1 d

 
01 0 d 1 0 
 01 0 d 1 0 

 
x
   

 11 0 0 1 0

 
 11 0 0 1 0


 
w w

 

 10  10
0 0 1 0 0 0 1 0

| {z } | {z }
z z

F = yz + w0 x0 F = yz + w0 z

Prof. David Leal Clase #3 19 / 30


El Método del Mapa Condiciones de indiferencia

Ejemplo
X
F (w, x, y, z) = (1, 3, 7, 11, 15)
que tiene las condiciones de indiferencia
X
d(w, x, y, z) = (0, 2, 5)
y y
z }| { z }| {
yz yz
00 01 11 10 00 01 11 10
wx wx

00 d 1 1 d 00 d 1 1 d

 
01 0 d 1 0 
 01 0 d 1 0 

 
x
   

 11 0 0 1 0

 
 11 0 0 1 0


 
w w

 

 10  10
0 0 1 0 0 0 1 0

| {z } | {z }
z z

F = yz + w0 x0 F = yz + w0 z

Prof. David Leal Clase #3 19 / 30


Método de Tabulación Introducción

Método de Tabulación
El método de tabulación es un procedimiento especı́fico de paso a paso que está
garantizado para producir una expresión simplificada en forma estándar para una
función. Puede aplicarse a problemas con muchas variables y tiene la ventaja de
ser adecuado para computación por maquina.
El método de tabulación lo formuló por primera vez Quine y lo mejoró
posteriormente McCluskey. También se conoce como método de
Quine-McCluskey.
El método consta de dos partes:

Primera parte
La primera es encontrar por una búsqueda exhaustiva todos los términos que son
candidatos para su inclusión en la función simplificada. Estos términos se
denominan implicantes primos.

Segunda parte
La segunda operación es escoger entre los implicantes primos los que dan una
expresión con el menor número de literales.

Prof. David Leal Clase #3 20 / 30


Método de Tabulación Introducción

Método de Tabulación
El método de tabulación es un procedimiento especı́fico de paso a paso que está
garantizado para producir una expresión simplificada en forma estándar para una
función. Puede aplicarse a problemas con muchas variables y tiene la ventaja de
ser adecuado para computación por maquina.
El método de tabulación lo formuló por primera vez Quine y lo mejoró
posteriormente McCluskey. También se conoce como método de
Quine-McCluskey.
El método consta de dos partes:

Primera parte
La primera es encontrar por una búsqueda exhaustiva todos los términos que son
candidatos para su inclusión en la función simplificada. Estos términos se
denominan implicantes primos.

Segunda parte
La segunda operación es escoger entre los implicantes primos los que dan una
expresión con el menor número de literales.

Prof. David Leal Clase #3 20 / 30


Método de Tabulación Método de Tabulación

Ejemplo
P
Determine los implicantes primos de la función: F (w, x, y, z) = (1, 4, 6, 7, 8, 9, 10, 11, 15)

(a) (b) (c)


w x y z √ w x y z w x y z
1 0 0 0 1 √ 1, 9 − 0 0 1 8, 9, 10, 11 1 0 − −
4 0 1 0 0 √ 4, 6 0 1 − 0 √ 8, 10, 9, 11 1 0 − −
8 1 0 0 0 √ 8, 9 1 0 0 − √
6 0 1 1 0 √ 8, 10 1 0 − 0
9 1 0 0 1 √ 6, 7 0 1 1 − √
10 1 0 1 0 √ 9, 11 1 0 − 1 √
7 0 1 1 1 √ 10, 11 1 0 1 −
11 1 0 1 1 √ 7, 15 − 1 1 1
15 1 1 1 1 11, 15 1 − 1 1

Decimal w x y z Término
1, 9 − 0 0 1 x0 y 0 z
4, 6 0 1 − 0 w0 xz 0
6, 7 0 1 1 − w0 xy
7, 15 − 1 1 1 xyz
11, 15 1 − 1 1 wyz
8, 9, 10, 11 1 0 − − wx0

Prof. David Leal Clase #3 21 / 30


Método de Tabulación Método de Tabulación

Ejemplo
P
Determine los implicantes primos de la función: F (w, x, y, z) = (1, 4, 6, 7, 8, 9, 10, 11, 15)

(a) (b) (c)


w x y z √ w x y z w x y z
1 0 0 0 1 √ 1, 9 − 0 0 1 8, 9, 10, 11 1 0 − −
4 0 1 0 0 √ 4, 6 0 1 − 0 √ 8, 10, 9, 11 1 0 − −
8 1 0 0 0 √ 8, 9 1 0 0 − √
6 0 1 1 0 √ 8, 10 1 0 − 0
9 1 0 0 1 √ 6, 7 0 1 1 − √
10 1 0 1 0 √ 9, 11 1 0 − 1 √
7 0 1 1 1 √ 10, 11 1 0 1 −
11 1 0 1 1 √ 7, 15 − 1 1 1
15 1 1 1 1 11, 15 1 − 1 1

Decimal w x y z Término
1, 9 − 0 0 1 x0 y 0 z
4, 6 0 1 − 0 w0 xz 0
6, 7 0 1 1 − w0 xy
7, 15 − 1 1 1 xyz
11, 15 1 − 1 1 wyz
8, 9, 10, 11 1 0 − − wx0

Prof. David Leal Clase #3 21 / 30


Método de Tabulación Método de Tabulación

Ejemplo
P
Determine los implicantes primos de la función: F (w, x, y, z) = (1, 4, 6, 7, 8, 9, 10, 11, 15)

(a) (b) (c)


w x y z √ w x y z w x y z
1 0 0 0 1 √ 1, 9 − 0 0 1 8, 9, 10, 11 1 0 − −
4 0 1 0 0 √ 4, 6 0 1 − 0 √ 8, 10, 9, 11 1 0 − −
8 1 0 0 0 √ 8, 9 1 0 0 − √
6 0 1 1 0 √ 8, 10 1 0 − 0
9 1 0 0 1 √ 6, 7 0 1 1 − √
10 1 0 1 0 √ 9, 11 1 0 − 1 √
7 0 1 1 1 √ 10, 11 1 0 1 −
11 1 0 1 1 √ 7, 15 − 1 1 1
15 1 1 1 1 11, 15 1 − 1 1

Decimal w x y z Término
1, 9 − 0 0 1 x0 y 0 z
4, 6 0 1 − 0 w0 xz 0
6, 7 0 1 1 − w0 xy
7, 15 − 1 1 1 xyz
11, 15 1 − 1 1 wyz
8, 9, 10, 11 1 0 − − wx0

Prof. David Leal Clase #3 21 / 30


Método de Tabulación Método de Tabulación

Ejemplo
P
Determine los implicantes primos de la función: F (w, x, y, z) = (1, 4, 6, 7, 8, 9, 10, 11, 15)

Ahora para minimizar aún mas la función se deben seleccionar los implicantes primos mediante
una tabla de implicantes primos

1 4 6 7 8 9 10 11 15

√ x0 y 0 z 1, 9 X X
w0 xz 0 4, 6 X X
w0 xy 6, 7 X X
w0 xy 7, 15 X X
√ wyz 11, 15 X X
wx0 8, 9, 10, 11 √ √ √ X
√ X
√ X
√ X

F = x0 y 0 z + w0 xz 0 + wx0 + xyz

Prof. David Leal Clase #3 22 / 30


Método de Tabulación Método de Tabulación

Ejemplo
P
Determine los implicantes primos de la función: F (w, x, y, z) = (1, 4, 6, 7, 8, 9, 10, 11, 15)

Ahora para minimizar aún mas la función se deben seleccionar los implicantes primos mediante
una tabla de implicantes primos

1 4 6 7 8 9 10 11 15

√ x0 y 0 z 1, 9 X X
w0 xz 0 4, 6 X X
w0 xy 6, 7 X X
w0 xy 7, 15 X X
√ wyz 11, 15 X X
wx0 8, 9, 10, 11 √ √ √ X
√ X
√ X
√ X

F = x0 y 0 z + w0 xz 0 + wx0 + xyz

Prof. David Leal Clase #3 22 / 30


Método de Tabulación Método de Tabulación

Ejemplo
P
Determine los implicantes primos de la función: F (w, x, y, z) = (1, 4, 6, 7, 8, 9, 10, 11, 15)

Ahora para minimizar aún mas la función se deben seleccionar los implicantes primos mediante
una tabla de implicantes primos

1 4 6 7 8 9 10 11 15

√ x0 y 0 z 1, 9 X X
w0 xz 0 4, 6 X X
w0 xy 6, 7 X X
w0 xy 7, 15 X X
√ wyz 11, 15 X X
wx0 8, 9, 10, 11 √ √ √ X
√ X
√ X
√ X

F = x0 y 0 z + w0 xz 0 + wx0 + xyz

Prof. David Leal Clase #3 22 / 30


Implementación con NAND y NOR

Implementación con NAND y NOR

Muchos circuitos digitales se construyen con compuertas NAND y NOR en


lugar de con compuertas AND y OR. Las primeras son más fáciles de
fabricar con componentes electrónicos y son las compuertas básicas
empleadas en todas las familias de lógica de CI digitales. En virtud del
destacado papel que las compuertas NAND y NOR desempeñan en el
diseño de circuitos digitales, se han desarrollado reglas y procedimientos
para convertir funciones booleanas expresadas en términos de AND, OR y
NOT en diagramas lógicos NAND y NOR equivalentes.

Prof. David Leal Clase #3 23 / 30


Implementación con NAND y NOR Implementación con NAND

Circuitos NAND
Se dice que la compuerta NAND es una compuerta universal porque cualquier sistema
digital puede implementarse con ella. Para demostrar que cualquier función booleana se
puede implementar con compuertas NAND, basta con demostrar que las operaciones
lógicas AND, OR y complemento se pueden obtener exclusivamente con compuertas
NAND.
Operación NOT implementada con compuertas NAND

Operación AND implementada con compuertas NAND

Operación OR implementada con compuertas NAND

Prof. David Leal Clase #3 24 / 30


Implementación con NAND y NOR Implementación con NAND

Implementación con NAND

Una forma conveniente de implementar una función booleana con


compuertas NAND consiste en obtener la función booleana simplificada en
términos de operadores booleanos y luego convertir la función a lógica
NAND. La conversión de una expresión algebraica de AND, OR y
complemento a NAND se efectúa aplicando sencillas técnicas de
manipulación de circuitos que convierten los diagramas AND-OR en
diagramas NAND.
Para facilitar la conversión a lógica NAND, es conveniente definir un
sı́mbolo gráfico alterno para la compuerta.

AND-invertir Invertir-OR

Prof. David Leal Clase #3 25 / 30


Implementación con NAND y NOR Implementación con NAND

Ejemplo

Paso 1 Paso 2 Paso 3


Expresar la función en Sustituir las com-
forma de suma de pro- puertas AND por
ductos NAND y la OR por
NAND representada
por un sı́mbolo gráfico
invertir-OR

Prof. David Leal Clase #3 26 / 30


Implementación con NAND y NOR Implementación con NOR

Implementación con NOR


La operación NOR es el dual de la operación NAND. Por tanto, todos los
procedimientos y reglas para la lógica NOR son el dual de los procedimientos y reglas
correspondientes que se han desarrollado para la lógica NAND. La compuerta NOR es
otra compuerta universal que sirve para implementar cualquier función booleana.
Operación NOT implementada con compuertas NOR

Operación OR implementada con compuertas NOR

Operación AND implementada con compuertas NOR

Prof. David Leal Clase #3 27 / 30


Implementación con NAND y NOR Implementación con NOR

Implementación con NOR

Una forma conveniente de implementar una función booleana con


compuertas NOR consiste en obtener la función booleana simplificada en
términos de operadores booleanos y luego convertir la función a lógica
NOR.
Los dos sı́mbolos gráficos de la notación mixta se muestran en la figura. El
sı́mbolo OR-invertir define la operación NOR como un OR seguido de un
complemento. El sı́mbolo invertir-AND complementa cada una de las
entradas y luego realiza una operación AND. Los dos sı́mbolos designan la
misma operación NOR y son lógicamente idénticos por el teorema de
DeMorgan.

OR-invertir Invertir-AND

Prof. David Leal Clase #3 28 / 30


Implementación con NAND y NOR Implementación con NOR

Ejemplo

Paso 1 Paso 2 Paso 3


Expresar la función en Sustituir las com-
forma de producto de puertas OR por NOR
sumas y la AND por NOR
representada por
un sı́mbolo gráfico
invertir-AND

Prof. David Leal Clase #3 29 / 30


Referencias

Referencias

Mano, M (2003)
Diseño digital
Prentice-Hall Inc.
WAKERL, J. (2000)
Diseño Digital: Principios y Prácticas
Prentice-Hall Inc.
Floyd, T. (2000)
Fundamentos de sistemas digitales
Prentice-Hall Inc.

Prof. David Leal Clase #3 30 / 30