Está en la página 1de 24

04/09/2018

Universidad Nacional Mayor de San Marcos


Facultad de Ingeniería de Sistemas e Informática

Sistemas Digitales

Simplificación de Funciones Lógicas:


Álgebra de Boole, Mapas Karnaugh, Método
Quine-McCluskey, Espresso
Ing. Armando Fermín Pérez

2018-2

Simplificación de Funciones Lógicas

Simplificar una función


o Consiste en hallar una expresión algebraica equivalente a la
original, pero de menor tamaño (menos términos, términos
con menos variables)
o El objetivo es reducir al máximo el circuito con el que se
implementa una función lógica.

Metodología
o Algebraica. Aplicación de axiomas y propiedades del
álgebra de Boole
o Elemento complementario, elemento neutro, distributiva y
asociativa
o Gráfica. Mapas de Karnaugh
o Computacional. Quine-McCluskey, Espresso.

1
04/09/2018

Simplificación Algebraica de Funciones Lógicas

Ejercicios
ALGEBRA DE BOOLE
1. Dadas las siguientes funciones lógicas:

a) Indíquese el número de puertas necesarias para


implementar cada una de las funciones si
únicamente se dispone de puertas NAND de dos
entradas.
b) Indíquese el número de puertas necesarias para
implementar cada una de las funciones si
únicamente se dispone de puertas NOR de dos
entradas.

2
04/09/2018

Ejercicios

Ejercicios

3
04/09/2018

4
04/09/2018

Ejercicios

Ejercicios

5
04/09/2018

6
04/09/2018

7
04/09/2018

19.- Se desea implementar un circuito que controle el encendido de las


luces intermitentes de un auto. El sistema dispone de una palanca que
cuando se encuentra en posición subida genera una señal "PS" que activa el
encendido de las luces intermitentes derechas ("LD"). Si se encuentra en
posición bajada genera una señal "PB" que activa el encendido de las luces
intermitentes izquierdas ("LI"). Si la palanca se encuentra en una posición
intermedia (ni subida ni bajada) no se genera ninguna señal y por lo tanto no
se enciende ninguna luz.
Para que el sistema tenga el funcionamiento descrito es necesario que se
introduzca la llave de encendido del motor y se encuentre en la posición de
contacto, generando de esta manera la señal "C".
El sistema dispone de una entrada adicional avería que cuando se encuentra
activa genera la señal "A" activando los cuatro intermitentes
independientemente de que el contacto se encuentre dado o no.
Se pide:
a) Tabla de verdad
b) Simplificación de las funciones
c) Si sólo se dispusiese de puertas NAND. Indíquese el número mínimo de
puertas para implementar todo el circuito.

8
04/09/2018

20.- Se desea implementar un circuito combinacional para intentar


mantener entre dos valores la temperatura de una habitación. Para ello se
dispone de un aparato de aire acondicionado, dos interruptores de acción
manual y dos sensores de temperatura (ver figura).
Cada sensor tiene asociada una señal que se activa cuando se alcanza la
temperatura programada en dicho sensor. El sensor A activa la señal
“T_Min” cuando la temperatura ambiente es superior a la mínima requerida,
y el sensor B activa la señal “T_Max” cuando la temperatura ambiente es
superior a la máxima requerida.
Igualmente cada interruptor también tiene asociada una señal. Cuando se
acciona el interruptor A se activa la señal “calor” y cuando se acciona el
interruptor B se activa la señal “frio”.

El circuito a implementar indicará el modo de funcionamiento del


aparato de aire acondicionado mediante la activación de las señales
“Aire_frío” (indica que debe expulsarse aire frío) o “Aire_caliente”
(indica que debe expulsarse aire caliente). Para ello deben cumplirse los
siguientes criterios:
o Cuando la temperatura ambiente no supere la temperatura mínima
requerida deberá expulsarse aire caliente excepto cuando esté activa la
señal “frío” que, en dicho caso, no se expulsará ni aire caliente ni frío
o Cuando la temperatura ambiente esté entre los valores permitidos no se
expulsará ni aire frío ni caliente excepto cuando esté activa la señal
“frío” que se expulsará aire frío o la señal “calor” que se expulsará aire
caliente
o Cuando la temperatura ambiente supere la temperatura máxima
requerida deberá expulsarse aire frío excepto cuando esté activa la
señal “calor” que, en dicho caso, no se expulsará ni aire frío ni caliente
o En el caso de que las señales “frío” y “calor” se activen a la vez
deberán ser ignoradas, el modo de funcionamiento será el mismo que si
no estuvieran activadas

Impleméntese dicho circuito con un costo mínimo.

9
04/09/2018

Ejercicios
Pregunta Solución
7 A
8 A
9 D
10 B
11 D
12 C
13 B
14 B
15 C
16 D
17 B
18 A

Simplificación Gráfica de Funciones Lógicas

Mapa de Karnaugh
o Representación matricial de una tabla de verdad
o Una celda del mapa de Karnaugh representa una fila
de la tabla de verdad
o En cada celda se coloca el valor de una salida de la
función
o La disposición espacial de las celdas es tal que los
términos adyacentes de la función lógica están en
celdas adyacentes
o Dos términos se dicen adyacentes si sus
valoraciones difieren en el valor de una sola variable
o Los bordes del mapa de Karnaugh deben
considerarse adyacentes

10
04/09/2018

Simplificación Gráfica de Funciones Lógicas


Método del Mapa de Karnaugh
Difícil dibujar cubos de más de 4 dimensiones

Mapa-K es un método alternativo de representar tablas de verdad


que ayudan a visualizar adyacencias de hasta 6 dimensiones

Más allá de eso, se necesitan métodos basados en computadoras


A
B 0 1 A
AB
2-variables CD 00 01 11 00
0
Mapa-K
0 2
00
1 0 4 12 8
1 3
01
1 5 13 9
A D
AB 11
C 00 01 11 10 3 7 15 11
C

3-variables 0 10
2 6 14 10
Mapa-K
0 2 6 4

1 B 4-variables
Mapa-K
1 3 7 5

Esquema de Numeración: 00, 01, 11, 10


Código Gray — sólo un bit cambia de celda a celda

Simplificación Gráfica de Funciones Lógicas

11
04/09/2018

Mapa-K para cuatro y cinco variables


AB
A
CD 00 01 11 10
0 4 12 8 0 4 12 8
00

1 5 13 9 1 5 13 9

01
3 7 15 11 3 7 15 11
D

11
2 6 14 10 C 2 7 14 10

10

B
(a) (b)
A
ABC
B B
DE 000 001 011 010 100 101 111 110
0 4 12 8 16 20 28 24 0 4 12 8 16 20 28 24
00

1 5 13 9 17 21 29 25 1 5 13 9 17 21 29 25

01
3 7 15 11 19 23 27 3 7 15 11 19 23 31 27
E

11
2 6 14 10 18 22 30 26
D 2 6 14 10 18 22 30 26

10

(c) C (d) C

Mapa-K para seis variables


B
BCD
C C
AEF 000 001 011 010 100 101 111 110
0 4 12 8 16 20 28 24 0 4 12 8 16 20 28 24
000

1 5 13 9 17 21 29 25 1 5 13 9 17 21 29 25

001
3 7 15 11 19 23 31 27 3 7 15 11 19 23 31 27 F

011
2 6 14 10 18 22 30 26
E 2 6 14 10 18 22 30 26

010

32 36 44 40 48 52 60 56 32 36 44 40 48 52 60 56
100

33 37 45 41 49 53 61 57 33 37 45 41 49 53 61 57

101
35 39 47 43 51 55 63 59 A 35 39 47 43 51 55 63 59 F

111
34 38 46 42 50 54 62 58
E 34 38 46 42 50 54 62 58

110

D D
(e) (f)

12
04/09/2018

Simplificación Gráfica empleando Mapas Karnaugh


Herramienta principal: Teorema de la Unicidad — A (B' + B) = A

A B F F = A B' + A B = A (B' + B) = A
0 0 0
0 1 0
1 0 1
1 1 1 Valores de B cambian en filas donde F=1 (ON)
B es eliminado, A permanece
Valores de A no cambian en filas donde F=1

A B G G = A' B' + A B' = (A' + A) B' = B'


0 0 1
0 1 0
1 0 1 Valores de B permanecen iguales en filas G=1
1 1 0 A es eliminado, B permanece
Valores de A cambian en filas donde G=1

Esencia de la Simplificación:
Hallar dos subconjuntos de elementos del conjunto ON donde sólo una
variable cambie su valor. Esta variable cambiante puede ser eliminada

Simplificación por Karnaugh de Funciones Lógicas


Método de simplificación
o Agrupar todas las celdas con el mismo valor, en uno o más grupos
o Cada grupo contendrá un número de celdas adyacentes potencia de 2
o Hacer los grupos lo más grande posibles
o El número de grupos debe ser mínimo
o Una celda puede estar en uno o más grupos

Fundamento del método


o Al tomar dos celdas adyacentes, sólo cambia el valor de una de las
variables entre los dos términos. Aplicando distribuidad, elemento
complementario y elemento neutro se elimina la variable que cambia de
valor

13
04/09/2018

Simplificación por 1´s


Método de simplificación por unos
o Agrupar las celdas de valor 1
o Cada grupo representa a un término producto (no minitérmino, puesto
que no aparecerán todas las variables de la función). Las variables de
valor cero aparecerán complementadas.
o Un grupo de 2k celdas elimina k variables del término resultante, y por
tanto tendrá n-k variables
o En cada grupo se eliminan las variables que cambian de valor de unas
celdas a otras

Simplificación por 1´s

14
04/09/2018

Simplificación por 1´s

Simplificación por 0´s


Método de simplificación por ceros
o Agrupar las celdas de valor cero
o Cada grupo representa un término suma (no maxitérmino, puesto que
no aparecerán todas las variables de la función). Las variables de valor
uno aparecerán complementadas
o Un grupo de 2k celdas elimina k variables del término resultante, y por
tanto tendrá n-k variables
o En cada grupo se eliminan las variables que cambian de valor de unas
celdas a otras

15
04/09/2018

Simplificación por 0´s

Ejemplos del Mapa-K: 4 variables

AB
A F(A,B,C,D) = Sm(0,2,3,5,6,7,8,10,11,14,15)
CD 00 01 11 10
F=
00 1 0 0 1

01 0 1 0 0
D
11 1 1 1 1
C
10 1 1 1 1

16
04/09/2018

F(A,B,C,D,E) =Sm (2, 5, 7, 8, 10,13, 15, 17, 19, 21, 23, 24, 29, 31) = CE + ABE + BCDE + ACDE

F(A,B,C,D,E,F) =Sm (2, 8, 10, 18, 24, 26, 34, 37, 42, 45, 50, 53,58, 61) = DEF+ ADEF+ACDF

17
04/09/2018

Ejemplo de Diseño: Comparador de 2 bits

A
B N1 F1 A B = C D
A
0
B C D
0 0 0
F1
1
F2
0
F3
0 Diagrama de
=, >, < F2 A B < C D 0 1 0 1 0 Bloques
C F3 A B > C D 1 0 0 1 0 Y
D N2
0
1 1
1 0 0
0
0
1
0
0
1
Tabla de Verdad
0 1 1 0 0
1 0 0 1 0
1 1 0 1 0 Un Mapa-K de 4-
Variables para c/u
1 0 0 0 0 0 1
0 1 0 0 1
1 0 1 0 0 de las 3 funciones
1 1 0 1 0 de salida
1 1 0 0 0 0 1
0 1 0 0 1
1 0 0 0 1
1 1 1 0 0

Ejemplo de Diseño: Comparador de 2 bits


A A A
AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 0 0 0 00 0 0 0 0 00 0 1 1 1

01 0 1 0 0 01 1 0 0 0 01 0 0 1 1
D D D
11 0 0 1 0 11 1 1 0 1 11 0 0 0 0
C C C
10 0 0 0 1 10 1 1 0 0 10 0 0 1 0

B B B
K-map for F1 K-map for F2 K-map for F3

F1 =

F2 =

F3 =

18
04/09/2018

Ejemplo de Diseño: Comparador de 2 bits


A A A
AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 1 0 0 0 00 0 0 0 0 00 0 1 1 1

01 0 1 0 0 01 1 0 0 0 01 0 0 1 1
D D D
11 0 0 1 0 11 1 1 0 1 11 0 0 0 0
C C C
10 0 0 0 1 10 1 1 0 0 10 0 0 1 0

B B B
K-map for F1 K-map for F2 K-map for F3

F1 = A' B' C' D' + A' B C' D + A B C D + A B' C D'

F2 = A' B' D + A' C

F3 = B C' D' + A C' + A B D'

A xnor B xnor C xnor D

Ejemplo de Diseño: Sumador de 2 bits

A A B C D X Y Z
B N1 X 0 0 0 0 0 0 0 Diagrama de
+ N3 Y 0 1
1 0
0 0 1
0 1 0
Bloques
Y
C Z
D N2 1 1 0 1 1
0 1 0 0 0 0 1 Tabla de Verdad
0 1 0 1 0
1 0 0 1 1
1 1 1 0 0 Un Mapa K de 4-
1 0 0 0 0 1 0 Variables para c/u
0 1
1 0
0 1 1
1 0 0
de las 3 funciones
1 1 1 0 1 de salida
1 1 0 0 0 1 1
0 1 1 0 0
1 0 1 0 1
1 1 1 1 0

19
04/09/2018

Ejemplo de Diseño: Sumador de 2 bits ...


A A A
AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 0 0 0 0 00 0 0 1 1 00 0 1 1 0

01 0 0 1 0 01 0 1 0 1 01 1 0 0 1
D D D
11 0 1 1 1 11 1 0 1 0 11 1 0 0 1
C C C
10 0 0 1 1 10 1 1 0 0 10 0 1 1 0

B B B
K-map for X K-map for Y K-map for Z

X=

Z=

Y=

Ejemplo de Diseño: Sumador de 2 bits ...


A A A
AB AB AB
CD 00 01 11 10 CD 00 01 11 10 CD 00 01 11 10

00 0 0 0 0 00 0 0 1 1 00 0 1 1 0

01 0 0 1 0 01 0 1 0 1 01 1 0 0 1
D D D
11 0 1 1 1 11 1 0 1 0 11 1 0 0 1
C C C
10 0 0 1 1 10 1 1 0 0 10 0 1 1 0

B B B
K-map for X K-map for Y K-map for Z

X=AC + BCD + ABD


1's en diagonal sugieren XOR!
Z = B D' + B' D = B xor D Mapa-K de Y no mínimo

Y = A' B' C + A B' C' + A' B C' D + A' B C D' + A B C' D' + A B C D

= B' (A xor C) + A' B (C xor D) + A B (C xnor D) Número de puertas


se reduce si se
= B' (A xor C) + B (A xor B xor C) implementa con XOR

20
04/09/2018

Ejemplo de Diseño: Sumador de 2 bits ...


\A \B \C \D
Dos implementaciones
A

B
de Y con y sin XOR

D
Y1 Nota:
1 XOR típicamente
requiere 4 NAND !
X

X XOR Y

Y2

Simplificación de Funciones Lógicas con Entradas Indiferentes


Entradas indiferentes
o Aquellas combinaciones de valores de entrada para las que no
importa el valor de la salida, por
o tratarse de una combinación de las entradas para la que no se ha
especificado el comportamiento del circuito
o tratarse de una combinación de las entradas que es imposible
o En la tabla de verdad, la salida para estas combinaciones es x
o En las formas canónicas, estas combinaciones se agrupan por
separado en sumatorios o productorios del conjunto vacío Φ
o En la simplificación por Karnaugh, estas celdas se toman como
si tuvieran valor uno o valor cero, como mejor convenga para
maximizar la simplificación.
o No todas las celdas “x” tienen que tomarse como 0 ó 1, sólo las que
interese.
o Hacer un grupo nuevo que sólo contenga “x” o “x” y celdas que ya
se han agrupado en otros grupos es innecesario y redunda en un
circuito que no es el más sencillo posible.

21
04/09/2018

Simplificación de Funciones Lógicas con Entradas Indiferentes

Simplificación de Funciones Lógicas con Entradas Indiferentes

22
04/09/2018

Simplificación de Funciones Lógicas con Entradas Indiferentes


Errores más comunes
o Hacer grupos innecesarios para agrupar
celdas “x” en la simplificación de Karnaugh
o Multiplicar sumatorios o sumar
productorios
o Expresar las formas canónicas olvidando
los términos indiferentes ()
o Incluir los términos indiferentes como si
fueran minitérminos o maxitérminos en las
formas canónicas correspondientes

Simplificación de Funciones Lógicas con Entradas Indiferentes


Ejemplo: Visualizador de 7 segmentos
Toma como entrada un dígito BCD (D,C,B,A) y obtiene como salida
un código de encendido de 7 segmentos (a, b, c, d, e, f, g) para
iluminar un visualizador.

23
04/09/2018

Simplificación de Funciones Lógicas con Entradas Indiferentes

24

También podría gustarte