19
Técnicas de Reducción de Funciones Lógicas En este capítulo se presentan las técnicas tradicionales para la simplificación de funciones lógicas en forma manual, es decir, el uso de los Mapas de Karnaugh. Previo a la presentación de los Mapas de Karnaugh a partir de Diagramas de Venn se introducen las definiciones de mintérminos y maxtérminos, así como las Formas Canónicas PS y SP, terminologías que se usarán desde aquí hasta el final de este curso. 6.1.- INTRODUCCIÓN La herramienta fundamental para la simplificación de funciones booleanas es y seguirá siendo el álgebra de Boole; sin embargo, como ya lo ha mostrado la experiencia, el álgebra de Boole tiene las siguientes desventajas: No es un método sistemático (no hay un algoritmo paso a paso a seguir). No es fácil saber cuando la expresión ya está lo más reducida posible. Es fácil cometer errores y es difícil revisar el procedimiento. Por ello, es importante contar con un método como el que se presentará aquí, el cual es un método sistemático y además gráfico, por lo cual es más sencillo y poderoso para la simplificación de funciones booleanas. Sin embargo, previamente a la presentación del método se requieren algunas definiciones que se usarán de aquí en adelante. 6.2.- FORMAS CANÓNICAS Término Producto.- Se llama término producto una expresión booleana que solamente incluye operaciones AND entre sus variables (afirmadas o negadas) Ejemplos de términos producto: , etc. A B, AB C, BC, ABC D, B Forma SP.- Una función booleana se dice que esta en la forma de suma de productos (SP) si está formada exclusivamente por la suma (OR) de términos producto. Ejemplos de funciones en forma SP son: , etc. Mintérmino.- Es un término producto que contiene todas las variables de la función. Capítulo 6 Técnicas de Reducción de Funciones Lógicas 61 f 1 (A, B, C, D = A BC B D AC D f 2 (x 1 , x 2 , x 3 = x 1 x 3 x 2 x 3 x 1 x 2 x 3

Alg Boole Karnough Bien Explicado

Embed Size (px)

Citation preview

Page 1: Alg Boole Karnough Bien Explicado

�� Técnicas de Reducción de Funciones Lógicas

⌦ En este capítulo se presentan las técnicas tradicionales para la simplificación de funcioneslógicas en forma manual, es decir, el uso de los Mapas de Karnaugh. Previo a la presentación delos Mapas de Karnaugh a partir de Diagramas de Venn se introducen las definiciones demintérminos y maxtérminos, así como las Formas Canónicas PS y SP, terminologías que seusarán desde aquí hasta el final de este curso.

6.1.- INTRODUCCIÓN

La herramienta fundamental para la simplificación de funciones booleanas es y seguirá siendo elálgebra de Boole; sin embargo, como ya lo ha mostrado la experiencia, el álgebra de Boole tiene lassiguientes desventajas:

û No es un método sistemático (no hay un algoritmo paso a paso a seguir).û No es fácil saber cuando la expresión ya está lo más reducida posible.û Es fácil cometer errores y es difícil revisar el procedimiento.

Por ello, es importante contar con un método como el que se presentará aquí, el cual es un métodosistemático y además gráfico, por lo cual es más sencillo y poderoso para la simplificación defunciones booleanas.

Sin embargo, previamente a la presentación del método se requieren algunas definiciones que seusarán de aquí en adelante.

6.2.- FORMAS CANÓNICAS

O Término Producto.- Se llama término producto una expresión booleana que solamente incluyeoperaciones AND entre sus variables (afirmadas o negadas)

Ejemplos de términos producto:

, etc.AB, ABC, BC, ABCD, B

O Forma SP.- Una función booleana se dice que esta en la forma de suma de productos (SP) si estáformada exclusivamente por la suma (OR) de términos producto.

Ejemplos de funciones en forma SP son:

, etc.

O Mintérmino.- Es un término producto que contiene todas las variables de la función.

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

61

f1(A,B,C, D) = ABC + B D + ACD

f2(x1,x2,x3) = x1x3 + x2x3 + x1x2x3

Page 2: Alg Boole Karnough Bien Explicado

Ejemplos de mintérminos para una función de 4 variables A, B, C, D:

ABCD, ABCD, ABCD, etc.

O Forma Canónica SP.- Si los términos producto de una función booleana en la forma SP son todosmintérminos, se dice que está en la forma canónica SP.

Ejemplos de funciones en forma canónica SP son:

, etc.

O Término Suma.- Se llama término suma a una expresión booleana que solamente incluyeoperaciones OR entre sus variables (afirmadas o negadas)

Ejemplos de términos suma:

, etc.A+B, A+B+C, B+C, A +B+C+D, B

O Forma PS.- Una función booleana se dice que esta en la forma de producto de sumas (PS) si estáformada exclusivamente por el producto (AND) de términos suma.

Ejemplos de funciones en forma PS son:

, etc.

O Maxtérminos.- Son términos suma que contienen todas las variables de la función.

Ejemplos de maxtérminos para una función de 4 variables A, B, C, D son:

A+B+C+D, A+B +C+D, A+B+C+D, etc.

O Forma Canónica PS.- Si los términos suma de una función booleana en la forma PS son todosmaxtérminos, se dice que está en la forma canónica PS.

Ejemplos de funciones en forma canónica PS son:

, etc.

f7(A,B,C) = ( A + B + C)( A + B + C)(A + B + C)(A + B + C)

f8(A,B,C,D,E) = (A + B + C + D + E)(A + B + C + D + E)(A + B + C + D + E)

@ Notación

Una manera de simplificar la escritura de las funciones en forma canónica consiste en representarsus términos por números bianrios, en base a la siguiente convención

10Variable negada

01Variable afirmada

MaxtérminoMintérmino

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

62

f3(A,B,C) = ABC + ABC + ABC + ABC

f4(A,B,C,D,E) = ABCDE + ABC DE + ABCDE

f5(A,B,C, D) = (A + B + C)( B + D)(A + C + D)

f6(x1,x2,x3) = (x1 + x3 )( x2 + x3 )( x1 + x2 + x3)

Page 3: Alg Boole Karnough Bien Explicado

Por ejemplo, usando esta notación la función f3(A,B,C) puede escribirse como

f3(A,B,C) = ABC + ABC + ABC + ABC

= 010 + 110 + 011 + 111 = m2 + m6 + m3 + m7

O en forma más compacta: f3(A,B,C) = ΣΣ m(2,3,6,7)

A la representación anterior se le llama notación en Lista de mintérminos.

En forma similar, la función f7(A,B,C) puede escribirse como

f7(A,B,C) = ( A + B + C)( A + B + C)(A + B + C)(A + B + C) = ( 1 0 1 ) ( 0 0 1 ) ( 1 0 0 ) ( 0 0 0 )

= M5 M1 M4 M0

O en forma más compacta: f7(A,B,C) = ΠΠ M(0,1,4,5)

A la representación anterior se le llama notación en Lista de maxtérminos.

F Observación: El orden de las variables en la notación anterior debe coincidir con el orden en que están especificadas, es decir, f(A,B,C) g f(B,C,A) g f(A,C,B), etc.

6.2.1.- RELACIÓN ENTRE MINTÉRMINOS Y MAXTÉRMINOS

Usando el teorema de D’Morgan podemos obtener la equivalencia entre mintérminos y maxtérminoscomo sigue. Tomemos como ejemplo el mintérmino m2 de la función f3(A,B,C) y obtengamos sucomplemento:

m2 = AB C = A + B + C = M2

Lo anterior se cumple para cualquier mintérmino, es decir, en general el complemento de unmintérmino es el maxtérmino correspondiente: m i = M i

Al analizar la tabla de verdad encontraremos una relación aún más general

6.2.2.- OBTENCIÓN DE FORMAS CANÓNICAS CON ÁLGEBRA BOOLEANA

Obtención de la forma canónica SP.- Partiendo de una expresión booleana cualesquiera se puedeseguir el siguiente procedimiento

1) Escribir la expresión en forma SP2) A cada término producto multiplicarlo por 1 escrito en términos de la variable faltante.Hacer esto tantas veces como variables falten al término producto3) Aplicar distributividad del producto sobre la suma.4) Aplicar idempotencia a términos semejantes.

Ejemplo. Escribir la función f1(A,B,C) en forma canónica SP.

En este caso el primer paso ya ha sido realizado, es decir, f1 ya está en forma SP. A continuaciónse escribe el segundo paso:

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

63

Page 4: Alg Boole Karnough Bien Explicado

f1(A,B,C, D) = ABC(D + D) + (A + A)B(C + C) D + A(B + B)CD

aplicando distributividad, obtenemos

f1(A,B,C, D) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

eliminando términos semejantes

f1(A,B,C, D) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

con lo cual se tienen los mintérminos m11, m10, m8, m2, m0, m6 y por lo tanto

f1(A,B,C,D) = S m(0,2,6,8,10,11)

Obtención de la forma canónica PS.- Partiendo de una expresión booloeana cualesquiera se puedeseguir el siguiente procedimiento

1) Escribir la expresión en forma PS2) A cada término suma sumarle 0 escrito en términos de la variable faltante. Hacer estotantas veces como variables falten al término suma3) Aplicar distributividad de la suma sobre el producto4) Aplicar idempotencia a términos semejantes.

Ejemplo. Escribir la función f5(A,B,C,D) en forma canónica PS.

En este caso el primer paso ya ha sido realizado, es decir, f5 ya está en forma PS. A continuaciónse escribe el segundo paso:

f5(A,B,C, D) = (A + B + C + DD)( AA + B + CC + D)(A + BB + C + D)

aplicando distributividad, obtenemos

f5 = (A + B + C + D)(A + B + C + D)( A + B + C + D)(A + B + C + D)(A + B + C + D)(A + B + C + D)

(A + B + C + D)(A + B + C + D)

eliminando términos semejantes

f5 = (A + B + C + D)(A + B + C + D)(A + B + C + D)(A + B + C + D)(A + B + C + D)(A + B + C + D)

con lo cual se tienen los maxtérminos M4, M13, M7, M15, M9, M5 y por lo tanto

f5(A,B,C,D) = P M(4,5,7,9,13,15)

Formas canónicas para el complemento de una función.- Cuando una función ya está en formacanónica se puede utilizar la relación existente entre mintérminos y maxtérminos para expresar sucomplemento. para ello, tomemos como ejemplos las funciones f1 y f5 anteriores.

para f1 tenemos que f1(A,B,C,D) = S m(0,2,6,8,10,11). complementando

f1(A,B,C, D) = m0 + m2 + m6 + m8 + m10 + m11

por el Teorema de D’ Morgan

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

64

Page 5: Alg Boole Karnough Bien Explicado

f1(A,B,C, D) = m0.m2.m6.m8.m10.m11

De la relación entre mintérminos y maxtérminos

f1(A,B,C, D) = M0.M2.M6.M8.M10.M11

es decir,

f1(A,B,C, D) = P M(0,2,6, 8,10,11)

o sea, los mintérminos que contiene f los contiene como maxtérminos su complemento.

Aplicando este razonamiento a f5, ya que esta función contiene los maxtérminos 4,5,7,9,13,15,será complemento de la que contiene éstos como mintérminos, es decir,

(A,B,C,D)=Σ m(4,5,7,9,13,15)f5

6.2.3.- RELACIÓN ENTRE LAS FORMAS CANÓNICAS Y LA TABLA DE VERDAD

Analizaremos la tabla de verdad de la función = S m(2,3,6,7)f3(A,B,C) = ABC + ABC + ABC + ABCy la de su complemento

0110001 1 17

0100101 1 06

1000001 0 15

1000001 0 04

0101000 1 13

0100010 1 02

1000000 0 11

1000000 0 00

f3f3ABCABCABCABCA B CRenglón

Es fácil ver en la tabla que los renglones en los que la función vale 1 coinciden con los mintérminosque contiene la función. Aplicando este razonamiento a la función complemento, esta deberácontener los mintérminos faltantes en la función original, es decir,

(A,B,C) = Σ m(0,1,4,5)f3

Esto nos da un método para convertir f3, ya que los mintérminos de son los maxtérminos de f3,f3

es decir,f3(A,B,C) = Π M(0,1,4,5)

Por otro lado, como la función constante 1 tiene una tabla de verdad con unos en todos susrenglones, se tiene que

Σ m(todos los posibles mintérminos) = 1

En forma similar, como la función constante 0 tiene una tabla de verdad con ceros en todos susrenglones, se tiene que

Π M(todos los posibles máxtérminos) = 0

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

65

Page 6: Alg Boole Karnough Bien Explicado

En la siguiente figura se resume la relación entre la tabla de verdad de una función, sucomplemento y las formas canónicas (se ilustra para la función f3 del ejemplo anterior)

f3(A,B,C) = Σ m(2, 3, 6, 7) (A,B,C) = Σ m(0, 1, 4, 5)f3

011 1 17

011 1 06

101 0 15

101 0 04

010 1 13

010 1 02

100 0 11

100 0 00

f3f3A B CRenglón

f3(A,B,C) = Π M(0, 1, 4, 5) (A,B,C) = Π M(2, 3, 6, 7)f3

F En Resumen: Los mintérminos de una función coinciden con los renglones de la tabla de verdaden donde la función vale 1, mientras que los maxtérminos coinciden con los renglones en dondela función vale 0

6.3.- PLANTEAMIENTO DE UN CIRCUITO LÓGICO

A partir de los conceptos y definiciones anteriores ya estamos en condiciones de plantear algunosdiseños sencillos de circuitos lógicos. Podemos ordenar el procedimiento para esto de acuerdo a lossiguientes pasos:

1.- Planteamiento de la función que debe hacer el circuito en una tabla de verdad.2.- Obtención de la función en lista de mintérminos o de maxtérminos.3.- Simplificación de la función lógica4.- Implementación mediante compuertas lógicas de la función simplificada

Ejemplo: Un jurado está formado por tres jueces A, B, C, cada juez emite su voto a favor oprimiendoun botón enfrente de él. Se desea construir un circuito que encienda una luz que indique si la mayorparte del jurado votó a favor y no la encienda en cualquier otro caso.

Tabla de verdad

11 1 111 1 011 0 101 0 010 1 100 1 000 0 100 0 0

LuzL

Jueces A B C

La función que realiza lo deseado es

L(A,B,C) = Σ m(3,5,6,7)

Usando álgebra booleana podemos simplificar la función como

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

66

Page 7: Alg Boole Karnough Bien Explicado

L(A,B,C) = AB+AC+BC

En la siguiente figura se muestra la implementación usando puertas AND y OR

Como habrá podido advertirse, en el procedimiento anterior, los únicos paso que no han sidocompletamente sistematizados son el 1 y el 3 (la simplificación de la función). A continaución sepresenta un método sistemático para realizar este paso.

6.4..- MINIMIZACION DE FUNCIONES BOOLEANAS

Como ya se ha visto, la simplificación de funciones mediante el álgebra booleana puede ser unatarea difícil, ya que en el álgebra booleana no existe un procedimiento claro a seguir, uno debebuscar el camino para la simplificación en base a la intuición y la experiencia. Para realizar lasimplificación de funciones eficientemente, presentaremos un método, llamado Mapas de Karnaugh,el cual es un método gráfico que proporciona una técnica estándar y sistemática en la reducciónmanual de funciones booleanas.

6.4.1.- MAPAS DE KARNAUGH

Los Mapas de Karnaugh (MK) no son más que una extensión de los conceptos de tablas de verdad,diagramas de Venn y mintérminos. A continuación se ilustrará la manera en que estos tresconceptos se entrelazan para obtener lo que llamaremos un Mapa de Karnaugh. Para ello,consideremos el Diagrama de Venn de dos conjuntos A y B y localicemos en el los subconjuntos oregiones correspondientes a los cuatro mintérminos , es decir, los mintérminosA.B, AB, AB y ABm0, m1, m2 y m3.

Como puede verse, Todo el diagrama de Venn se puede particionar en estas cuatro regionesindependientes (no tienen puntos en común) y cada región está identificada por un mintérmino. Porotro lado, nada nos obliga a dibujar los conjuntos A y B redondos y el conjunto universo cuadrado,

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

67

A

B

CL

ABAB AB AB

A B

ABAB AB AB

A B A B

mo

m1m2 m3

Page 8: Alg Boole Karnough Bien Explicado

una manera más cómoda de representar el mismo diagrama con sólo conjuntos rectangulares escomo se muestra en la siguiente figura

Sin embargo, la representación anterior aún se puede mejorar eliminando las letras “m” yobservando que se puede tabular en forma horizontal la pertenencia o no pertenencia de una regiónal conjunto A y en forma vertical a B como se muestra en la siguiente figura

La figura anterior se denomina Mapa de Karnaugh de las variables A y B. En forma similar sepueden obtener los Mapas de tres y cuatro variables, correspondientes a diagramas de Venn de tresy cuatro conjuntos, como se muestra en la siguiente figura

Como puede observarse, un mapa de 2 variables posee cuatro celdas (mintérminos), uno de 3 tiene8, etc. de manera que un mapa de n variables poseerá 2n celdas, sin embargo los mapas tienenlimitaciones y resulta impráctico trabajar con mapas de más de 5 variables como el que se muestraen la siguiente figura

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

68

A

B

Universo

mo m1

m2 m3

AB

0 1

0

1

0 1

2 3

ABCD 00 01 11 10

00

01

11

10

3

2 6

7

14 10

11

913

15

12 80

1

4

5

A

B

C

D

ABC 00 01 11 10

0

1 913

12 80

1

4

5

A

C

B

Mapa de 3 variables

Mapa de 4 variables

Page 9: Alg Boole Karnough Bien Explicado

6.4.2.- REPRESENTACIÓN DE FUNCIONES EN MAPAS DE KARNAUGH

Como habrá podido advertirse, los Mapas de Karnaugh (M. K.) vienen siendo versionesmodificadas de las tablas de verdad, ya que poseen una celda por cada mintérmino posible, asícomo una tabla de verdad posee un renglón por cada mintérmino posible. De manera que larepresentación de funciones booleanas expresadas en forma canónica es directa, por ejemplo,consideremos la función siguiente

f(A,B,C) =Σ m(0,3,4,5,)

Para representarla en un M. K., simplemente transcribimos la tabla de verdad de la funcióncolocando unos en las celdas correspondientes a los mintérminos 0, 3 y 5, considerando que lasceldas vacías tienen ceros:

Sin embargo, si la función no está escrita en forma canónica, podemos recurrir al hecho de que elM.K. no es más que un diagrama de Venn, entonces, podemos ubicar los términos producto comointersecciones de los conjuntos correspondientes.

Ejemplo: Dibujar sobre un MK la función siguiente

f(A, B, C, D) = ABC + BC + A CD

Para el primer término localizamos en el M.K. las celdas que forman la intersección de los conjuntosA,B y y las marcamos con 1’s en este caso corresponde a las celdas 12 y 13, en forma similar seCprocede para el segundo y tercer términos, obteniendo el M.K. siguiente

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

69

000 001 011 010 100 101 111 110ABC ABC

DE DE00

01

11

10

00

01

11

10

0 4 12 8 16 20 28 24

1 5 13 9 17 21 29 25

3 7 15 11 19 23 31 27

2 6 14 10 18 22 30 26

AB B

C C

D

E

ABC

00 01 11 10

0

157

6 40

1

2

3

1

1 1

1

Page 10: Alg Boole Karnough Bien Explicado

6.4.3.- SIMPLIFICACION DE FUNCIONES USANDO MAPAS DE KARNAUGH

La simplificación de funciones booleanas mediante Mapas de Karnaugh está basada en el conceptode adyacencia lógica.

O Dos mintérminos se dicen adyacentes (desde el punto de vista lógico) si difieren solamente en unavariable, por ejemplo, los siguientes pares de mintérminos para una función de las cuatro variables:A, B, C, D

m11 = ABCD, m10 = ABCD

m11 = ABCD, m9 = ABCD

m9 = ABCD,m14 = ABCD, ... etc

La propiedad más interesante de los mintérminos adyacentes es que al sumarlos se simplifican enun término producto que no contiene la variable que cambia de uno a otro, por ello se le llamavariable redundante; por ejemplo:

m10 + m11 = ABCD + ABCD = ABC(D + D) = ABC

En forma similar a los pares adyacentes también puede haber cuartetos de mintérminos adyacentes,cuando, de manera que al sumarlos se eliminen 2 variables, por ejemplo, los cuatro mintérminos:

m10 = ABCD,m11 = ABCD,m14 = ABCD,m15 = ABCD

son adyacentes, ya que al sumarlos, se eliminan dos variables

ABCD + ABCD + ABCD + ABCD = AC(BD + BD + BD + BD)

= AC(B(D + D) + B(D + D)) = AC(B + B) = AC

En forma similar se pueden encontrar grupos de 8, 16, etc. (potencias de 2) que permiten eliminar3, 4 variables, etc.

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

70

00 01 11 10 AB

CD00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

A

B

D

C

1

1

1 1

1 1

1

ABC

BC

ACD

Page 11: Alg Boole Karnough Bien Explicado

O La principal propiedad de los mintérminos adyacentes es que al representarlos en un Mapa deKarnaugh forman un grupo de celdas que resultan adyacentes geométricamente (es decir, resultanser vecinos)

F Observación.- En un Mapa de Karnaugh se considera que el todo el borde izquierdo esadyacente con el derecho, así como el borde inferior lo es con el superior

¯ De acuerdo con lo anterior, la clave para la simplificación de funciones usando M.K. es labúsqueda de grupos de celdas adyacentes entre los mintérminos de la función (los unos delmapa). De hecho el método de simplificación usando Mapas de Karnaugh se puede resumiren:

1) Formar los grupos de unos del máximo tamaño posible (el número de celdas por grupodebe ser potencia de 2) .

2) Agrupar todos los unos del mapa usando el menor número posible de grupos. (Un unopuede ser usado tantas veces como sea necesario).

A continuación se dan varios ejemplos de simplificación usando M.K., sin embargo, para dominar elmétodo no hay otro camino que relizar un buen número de ejercicios por uno mismo.

Ejemplos:

a).- Dada la función f(A,B,C,D) = Σ m(1,2,4,6,9) el M.K. correspondiente es el que se muestra enla figura, en él se marcan los grupos formados para simplificar la función

Para encontrar las expresiones denotadas en la figura para cada grupo en el mapa usamos suinterpretación como diagrama de Venn y expresamos los grupos en términos de intersecciones delos conjuntos involucrados), de esta manera, obtenemos la función simplificada sumando lasexpresiones así obtenidas, es decir,

f(A,B,C,D) = ACD + ABD + BCD

b).- Simplificar la función f(A,B,C) = Σ m(1,2,3,6). El M.K. correspondiente se muestra en lasiguiente figura

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

71

00 01 11 10 AB

CD

00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

A

B

D

C

1

1

1

1

1

BCD

ACD

ABD

Page 12: Alg Boole Karnough Bien Explicado

Entonces, la función simplificada queda f(A,B,C) = BC + AC

F Obsérvese que alguien con falta de experiencia podría haber comenzado agrupando las celdas 2y 3 y posteriormente formar los grupos 2,6 y 1,3 obteniendo entonces 3 grupos y por lo tantouna función con tres términos producto que no sería mínima.

O Para evitar lo anterior los primeros mintérminos que se deben agrupar son los implicantes primos(IP) que se definen como aquellos mintérminos que no pueden ser agrupados mas que de unamanera.

Por ejemplo, en el problema anterior los mintérminos 6 y 1 son implicantes primos (IP) y deben serlos primeros en agruparse. En ese problema no se requieren más de dos grupos porque con dosgrupos quedan agrupados todos los IP.

c).- f(A,B,C,D) = Σ m(0,1,2,7,8,9,10,15)

La función simplificada queda f(A,B,C,D) = BC + BD + BCD

En este ejemplo los implicantes primos son el 7 y el 5. Podría pensarse que el 2 y el 10 también loson, pero obsérvese que hay varias alternativas para agruparlos, por ello no lo son.

d).- Simplificar la función f(A,B,C,D) = Σ m(5,7-15). En este caso la notación 7-15 significa que lafunción contiene los mintérminos consecutivos 7,8,9,10,11,12,13,14,15. el M.K. correspondientese muestra a continuación.

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

72

ABC

00 01 11 11

0

1

0

1

2

3

4

5

6

7

A

B

C1

1

1

1BC

AC

00 01 11 10 AB

CD

00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

A

B

D

C

1

1

1

1

1

1

1

1

BC

BCD

BD

Page 13: Alg Boole Karnough Bien Explicado

La función simplificada queda f(A,B,C,D) = A + BD.

finalmente consideremos el siguiente ejemplo de 5 variables.

e).- f(A,B,C,D,E) = Σ m(1,3,4,9,11-13,15,17,19,22,25,27,29,30,31)

Los grupos en cada mitad del mapa se pueden formar en forma idéntica a los de un mapa de cuatrovariables, pero ahora hay que considerar la posibilidad de más adyacencias “imaginando” que lamitad izquierda (celdas del 0 al 15) del mapa está “encimada” sobre la mitad derecha (celdas del 16al 31), de manera que las celdas que así quedan una sobre otra, son adyacentes.

Esa es la razón por la cual los mintérminos (1,3,9,11,17,19,25,27) forman un solo grupo de 8. enforma similar también son un grupo de 8 los mintérminos (9,11,13,15,25,27,29,31)

Finalmente , la función simplificada queda f(A,B,C,D,E) = BE + CE + ACD.E + ACDE

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

73

00 01 11 10 AB

CD

00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

A

B

D

C

1

1

1

1

1

1

1

1

1

1

A

BD

000 001 011 010 100 101 111 110ABC ABC

DE DE00

01

11

10

00

01

11

10

0 4 12 8 16 20 28 24

1 5 13 9 17 21 29 25

3 7 15 11 19 23 31 27

2 6 14 10 18 22 30 26

AB B

C C

D

E

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

BE

ACDE

ACDE

CE

BE

Page 14: Alg Boole Karnough Bien Explicado

6.4.4.- EL PROCEDIMIENTO DE DISEÑO

Aunque en principio, al abordar el problema de diseño de un circuito podemos usar nuestraexperiencia, intuición, inventiva y sentido común, todos estos elementos no nos garantizan unasolución óptima. Sin pretender coartar la creatividad e imaginación del estudiante, se propone elsiguiente Procedimiento de Diseño de Circuitos Lógicos:

Primer paso.- Identificar en el enunciado del problema las variables involucradas en el diseño,asignarles un símbolo y representarlas en un Diagrama de Bloques, el cual es un bloque desconocidointeriormente aún, pero su exterior debe estar bien especificado, es decir, debe poseer un conjuntode entradas (variables independientes) y salidas (variables dependientes o funciones a diseñar).

Segundo paso.- Interpretar en el enunciado las relaciones de dependencia lógica entre entradas ysalidas y representarlas en una Tabla de Verdad. Este paso debe realizarse cuidadosamente, dado laambigüedad propia del lenguaje que puede llevar a relaciones lógicas equivocadas.

En este paso no debe olvidarse la relación directa de los conectivos gramaticales Y, O con lasoperaciones AND, OR respectivamente, así como la negación gramatical con el complemento lógico(NOT). Sin embargo, hay que ser cuidadoso de las interpretaciones gramaticales de O inclusivo (OR)y O exclusivo (EXOR). Esto ciertamente será más sencillo si el enunciado lo elaboramos nosotrosmismos a partir de un problema real, pues nosotros sabremos exactamente lo que queremos decir,Sin embargo, en la mayoría de los casos abordados por un estudiante, los enunciados de losproblemas los ha elaborado otra persona (el autor de un libro, o el profesor de la materia).

Tercer paso.- Obtener de la tabla de verdad los Mapas de Karnaugh, un mapa por cada variable desalida

Cuarto Paso.- Obtener las expresiones lógicas mínimas para cada variable de salida usando losmapas del paso anterior.

Quinto paso.- Dibujar la implementación con puertas lógicas procurando usar el mínimo de circuitosintegrados.

F En este paso hay que tener presente que una expresión lógica mínima NO garantiza unaimplementación mínima en términos de circuitos integrados. Para ello, se puede recurrir al usode puertas lógicas de un sólo tipo , ya que esta estrategia permite aprovechar todas las puertaslógicas de cada circuito integrado utilizado. Las puertas que permiten ser utilizadas de estamanera son las puertas NAND o NOR. Las primeras son adecuadas para formas SP y lassegundas para formas PS.

A continuación estos pasos se ilustrarán con un ejemplo.

Ejemplo.- Diseñar un circuito para controlar el encendido y apagado de la lámpara de un jardíndoméstico, la cual deberá encender siempre que sea de noche, o la iluminación ambiental sea muybaja, a menos que se desee ahorrar energía. El indicador de horario nocturno es una señal (N) controlada por un reloj (N=1 indica que es denoche), El indicador de iluminación ambiental es una señal L controlada por una fotocelda (L=1indica que aún hay luz ambiental) y el usuario utiliza un par de switches A,B para indicar si deseaahorrar energía, de manera que si ambos están desactivados (AB=00) no se ahorrará energía, sisólo uno de los dos se activa bloqueará el encendido debido a L y, finalmente si ambos estánactivados la luz del jardín no podrá encenderse.

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

74

Page 15: Alg Boole Karnough Bien Explicado

Solución.- Procedemos de acuerdo al procedimiento planteado, paso a paso:

1) Diagrama de bloques

2) Tabla de Verdad

01 1 1 11501 1 1 0 1401 1 0 11301 1 0 01211 0 1 11111 0 1 01001 0 0 1901 0 0 0810 1 1 1710 1 1 0600 1 0 1500 1 0 0410 0 1 1310 0 1 0200 0 0 1110 0 0 00FA B N Lminterm

3) Mapa de Karnaugh para F(A,B,N,L)= Σ m(0,2,3,6,7,10,11)

4) Función simplificada.- De acuerdo con el M.K. anterior, obtenemos F= ABL + AN + BN

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

75

Ent

rada

s

Salida

ABN

L

FCircuito

a

Diseñar

00 01 11 10 AB

NL00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

A

B

L

N

1

1

1

1

1

1

1

AN

BN

ABL

Page 16: Alg Boole Karnough Bien Explicado

5) Para obtener una implementación con el mínimo de circuitos integrados, transformamos laexpresión anterior por involución y usando el teorema de D’Morgan, para obtener

F= ABL . AN . BNCon lo cual podemos implementar la función utilizando sólo puertas NAND como se muestra en lasiguiente figura

Esta implementación se puede realizar con sólo dos circuitos integrados: el 7400 y el 7410

6.4.5.- CONDICIONES SIN CUIDADO

En ocasiones bajo algunas combinaciones de las variables independientes, no se puede especificarcomo responderá el circuito o función lógica que se pretende implementar. Es decir, una funciónlógica puede valer 1 para ciertos mintérminos, cero para otros y los mintérminos restantes puedenser opcionales.

O Un mintérmino opcional es llamado condición sin cuidado, ya que representa una condición delcircuito o función lógica enel que no importa como responda éste.

Las condiciones sin cuidado se pueden deber a diversas situsciones que se pueden presentar en eldiseño de un circuito o función lógica:

w Especificación incompleta de la funciónw Combinaciones imposibles de las variables independientes (entradas)w Combinaciones prohibidas de las entradas

Las condiciones sin cuidado incrementan la versatilidad de los M.K., ya que pueden ser tratadascomo unos o como ceros, según convenga.

Ejemplo: Diseñar el circuito para generar la señal N del ejemplo anterior: Se cuenta con un reloj consalida BCD para indicar las horas, la señal N se deberá activar cuando la hora sea mayor o igual quesiete.

Solución.- Nuevamente aplicamos paso a paso el procedimiento de diseño:

1) Diagrama de bloques

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

76

A

B

N

L

F

Page 17: Alg Boole Karnough Bien Explicado

2) Tabla de Verdad.- Como el dato BCD sólo puede tomar valores de 0 a 9 (00002 a 10012), losrenglones de la tabla de verdad del 10 al 15 (del 10102 al 11112) nunca pueden ocurrir y por lotanto, son condiciones sin cuidado que en este caso se representan con un asterisco como semuestra a continuación

*1 1 1 115*1 1 1 0 14*1 1 0 113*1 1 0 012*1 0 1 111*1 0 1 01011 0 0 1911 0 0 0810 1 1 1700 1 1 0600 1 0 1500 1 0 0400 0 1 1300 0 1 0200 0 0 1100 0 0 00ND C B Aminterm

3) Mapa de Karnaugh para N(D,C,B,A)= Σ m(7,8,9)+d(10,11,12,13,14,15)

En este caso todas las condiciones sin cuidado conviene tomarlas como unos, ya que contribuyen aformar grupos más grandes.

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

77

SalidaDat

o B

CD D

CB

A

FCircuito

a

Diseñar

(MSB)

(LSB)

00 01 11 10 DC

BA00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

D

C

A

B1

1

1

**

**

**

D

CBA

Page 18: Alg Boole Karnough Bien Explicado

4) Función simplificada.- De acuerdo con el M.K. anterior, obtenemos N= D+CBA

5) Para usar sólo puertas NAND, reescribimos la función como

N= D . CBA

Con lo cual la implementación utilizando sólo puertas NAND queda como se muestra en la siguientefigura

Esta implementación se puede realizar con dos circuitos integrados: el 7400 y el 7410.

6.4.6.- FORMAS PS Y MAPAS DE KARNAUGH

En las secciones anteriores se ha ilustrado el procedimiento de diseño se circuitos lógicos utilizandosolamente formas SP y los mintérminos de la tabla de verdad. Para realizar el diseño utilizandoformas PS el procedimiento sólo cambia en los pasos 4 y 5 como se ilustrará repitiendo el últimoejemplo para obtener una implementación usando formas PS.

Ejemplo.- Aplicar el procedimiento de diseño para el ejemplo anterior, para obtener una formamínima PS.

Solución.- Los pasos 1, 2 y 3 son idénticos, de manera que sólo se ilustrarán los pasos 4 y 5

4) Como la tabla de verdad es idéntica, la función a diseñar es N(D,C,B,A) = Π M(0-6)*d(10-15),cuyo Mapa de Karnaugh también es idéntico, sin embargo, se dibuja nuevamente para ilustrar laminimización de la función (sólo que en esta ocasión se marcan los ceros y no los unos).

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

78

D

CBA

N

00 01 11 10 DC

BA00

01

11

10

0 4 12 8

1 5 13 9

3 7 15 11

2 6 14 10

D

C

A

B

**

****

0

0

0

0

0

0

0

C+B

B+A

D+C

Page 19: Alg Boole Karnough Bien Explicado

La función mínima es N(D,C,B,A) = (D + C)(B + A)(C + B)

F Obsérvese que la función obtenida NO es equivalente a la función en la forma SP, ya que lascondiciones sin cuidado fueron usadas de manera diferente en ambos casos

Obsérvese que los grupos de celdas adyacentes se forman de igual manera que se hizoanteriormente con los unos del mapa, salvo que:

1.- Se agrupan los ceros en lugar de los unos2.- Las expresiones obtenidas son términos suma y no términos producto3.- Para obtener las variables que deberán aparecer en la expresión correspondiente a cada

grupo del mapa se procede igual que como se hizo para formas SP, sólo que las variablesse complementan (en lugar de X se obtiene y viceversa).X

5) Para realizar una implementación con el menor número de circuitos integrados, reescribimos lafunción mínimizada usando doble negación y el teorema de D’Morgan para obtener

F(D,C,B,A) =(D + C) + (B + A) + (C + B)

La expresión anterior puede ser implementada utilizando solamente puertas NOR como se muestraen la siguiente figura

En adelante se usarán principalmente formas SP, sin embargo, ocasionalmente es útil tener encuenta la alternativa de las formas PS que en ocasiones nos pueden llevar a implementaciones másóptimas.

Capítulo 6 Técnicas de Reducción de Funciones Lógicas

79

D

C

B

A

N