Está en la página 1de 19

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

Tcnicas de Reduccin de Funciones Lgicas


En este captulo se presentan las tcnicas tradicionales para la simplificacin de funciones
lgicas en forma manual, es decir, el uso de los Mapas de Karnaugh. Previo a la presentacin de los Mapas de Karnaugh a partir de Diagramas de Venn se introducen las definiciones de mintrminos y maxtrminos, as como las Formas Cannicas PS y SP, terminologas que se usarn desde aqu hasta el final de este curso. 6.1.- INTRODUCCIN La herramienta fundamental para la simplificacin 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 mtodo sistemtico (no hay un algoritmo paso a paso a seguir). No es fcil saber cuando la expresin ya est lo ms reducida posible. Es fcil cometer errores y es difcil revisar el procedimiento.
Por ello, es importante contar con un mtodo como el que se presentar aqu, el cual es un mtodo sistemtico y adems grfico, por lo cual es ms sencillo y poderoso para la simplificacin de funciones booleanas. Sin embargo, previamente a la presentacin del mtodo se requieren algunas definiciones que se usarn de aqu en adelante. 6.2.- FORMAS CANNICAS

O Trmino Producto.- Se llama trmino producto una expresin booleana que solamente incluye
operaciones AND entre sus variables (afirmadas o negadas) Ejemplos de trminos producto:
AB, ABC, BC, ABCD, B, etc.

O Forma SP.- Una funcin booleana se dice que esta en la forma de suma de productos (SP) si est
formada exclusivamente por la suma (OR) de trminos producto. Ejemplos de funciones en forma SP son:
f 1 (A, B, C, D) = ABC + B D + ACD f 2 (x 1 , x 2 , x 3 ) = x 1 x 3 + x 2 x 3 + x 1 x 2 x 3 , etc.

O Mintrmino.- Es un trmino producto que contiene todas las variables de la funcin.

61

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas


ABCD, ABCD, ABCD, etc.

Ejemplos de mintrminos para una funcin de 4 variables A, B, C, D:

O Forma Cannica SP.- Si los trminos producto de una funcin booleana en la forma SP son todos
mintrminos, se dice que est en la forma cannica SP. Ejemplos de funciones en forma cannica SP son:
f 3 (A, B , C) = ABC + ABC + ABC + ABC f 4 (A, B, C, D, E) = ABCDE + ABC DE + ABCDE

, etc.

O Trmino Suma.- Se llama trmino suma a una expresin booleana que solamente incluye
operaciones OR entre sus variables (afirmadas o negadas) Ejemplos de trminos suma:
A+B, A+B+C, B+C, A +B+C+D, B, etc.

O Forma PS.- Una funcin booleana se dice que esta en la forma de producto de sumas (PS) si est
formada exclusivamente por el producto (AND) de trminos suma. Ejemplos de funciones en forma PS son:
f 5 (A, B, C, D) = (A + B + C)( B + D)(A + C + D) f 6 (x 1 , x 2 , x 3 ) = (x 1 + x 3 )( x 2 + x 3 )( x 1 + x 2 + x 3 ) , etc.

O Maxtrminos.- Son trminos suma que contienen todas las variables de la funcin.
Ejemplos de maxtrminos para una funcin de 4 variables A, B, C, D son:
A+B+C+D, A+B +C+D, A+B+C+D, etc.

O Forma Cannica PS.- Si los trminos suma de una funcin booleana en la forma PS son todos
maxtrminos, se dice que est en la forma cannica PS. Ejemplos de funciones en forma cannica PS son:
f 7 (A, B, C) = ( A + B + C)( A + B + C)(A + B + C)(A + B + C) f 8 (A, B, C, D, E) = (A + B + C + D + E)(A + B + C + D + E)(A + B + C + D + E)

, etc.

@ Notacin
Una manera de simplificar la escritura de las funciones en forma cannica consiste en representar sus trminos por nmeros bianrios, en base a la siguiente convencin Mintrmino Variable afirmada Variable negada 1 0 Maxtrmino 0 1

62

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

Por ejemplo, usando esta notacin la funcin f3(A,B,C) puede escribirse como
f 3 (A, B, C) = ABC + ABC + ABC + ABC

O en forma ms compacta:

= 010 + 110 + 011 + 111 = m2 + m6 + m3 + m7 f3(A,B,C) = m(2,3,6,7)

A la representacin anterior se le llama notacin en Lista de mintrminos. En forma similar, la funcin f7(A,B,C) puede escribirse como
f 7 (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) = M 5 M1 M4 M0 O en forma ms compacta: f7(A,B,C) = M(0,1,4,5)

A la representacin anterior se le llama notacin en Lista de maxtrminos.

F Observacin: El orden de las variables en la notacin anterior debe coincidir con el orden en
que estn especificadas, es decir, f(A,B,C) g f(B,C,A) g f(A,C,B), etc.

6.2.1.- RELACIN ENTRE MINTRMINOS Y MAXTRMINOS Usando el teorema de DMorgan podemos obtener la equivalencia entre mintrminos y maxtrminos como sigue. Tomemos como ejemplo el mintrmino m2 de la funcin f3(A,B,C) y obtengamos su complemento:
m 2 = AB C = A + B + C = M 2

Lo anterior se cumple para cualquier mintrmino, es decir, en general el complemento de un mintrmino es el maxtrmino correspondiente: m i = M i Al analizar la tabla de verdad encontraremos una relacin an ms general 6.2.2.- OBTENCIN DE FORMAS CANNICAS CON LGEBRA BOOLEANA Obtencin de la forma cannica SP.- Partiendo de una expresin booleana cualesquiera se puede seguir el siguiente procedimiento 1) Escribir la expresin en forma SP 2) A cada trmino producto multiplicarlo por 1 escrito en trminos de la variable faltante. Hacer esto tantas veces como variables falten al trmino producto 3) Aplicar distributividad del producto sobre la suma. 4) Aplicar idempotencia a trminos semejantes. Ejemplo. Escribir la funcin f1(A,B,C) en forma cannica SP. En este caso el primer paso ya ha sido realizado, es decir, f1 ya est en forma SP. A continuacin se escribe el segundo paso:

63

Captulo 6
aplicando distributividad, obtenemos

Tcnicas de Reduccin de Funciones Lgicas


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

f 1 (A, B, C, D) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

eliminando trminos semejantes


f 1 (A, B, C, D) = ABCD + ABCD + ABCD + ABCD + ABCD + ABCD

con lo cual se tienen los mintrminos m11, m10, m8, m2, m0, m6 y por lo tanto f1(A,B,C,D) = S m(0,2,6,8,10,11) Obtencin de la forma cannica PS.- Partiendo de una expresin booloeana cualesquiera se puede seguir el siguiente procedimiento 1) Escribir la expresin en forma PS 2) A cada trmino suma sumarle 0 escrito en trminos de la variable faltante. Hacer esto tantas veces como variables falten al trmino suma 3) Aplicar distributividad de la suma sobre el producto 4) Aplicar idempotencia a trminos semejantes. Ejemplo. Escribir la funcin f5(A,B,C,D) en forma cannica PS. En este caso el primer paso ya ha sido realizado, es decir, f5 ya est en forma PS. A continuacin se escribe el segundo paso:
f 5 (A, B, C, D) = (A + B + C + DD)( AA + B + CC + D)(A + BB + C + D)

aplicando distributividad, obtenemos


f 5 = (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 trminos semejantes


f 5 = (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 maxtrminos M4, M13, M7, M15, M9, M5 y por lo tanto f5(A,B,C,D) = P M(4,5,7,9,13,15) Formas cannicas para el complemento de una funcin.- Cuando una funcin ya est en forma cannica se puede utilizar la relacin existente entre mintrminos y maxtrminos para expresar su complemento. 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
f 1 (A, B, C, D) = m 0 + m 2 + m 6 + m 8 + m 10 + m 11

por el Teorema de D Morgan

64

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

f 1 (A, B, C, D) = m 0 .m 2 .m 6 .m 8 .m 10 .m 11 De la relacin entre mintrminos y maxtrminos f 1 (A, B, C, D) = M 0 .M 2 .M 6 .M 8 .M 10 .M 11

es decir,

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

o sea, los mintrminos que contiene f los contiene como maxtrminos su complemento. Aplicando este razonamiento a f5, ya que esta funcin contiene los maxtrminos 4,5,7,9,13,15, ser complemento de la que contiene stos como mintrminos, es decir,
f 5 (A,B,C,D)= m(4,5,7,9,13,15)

6.2.3.- RELACIN ENTRE LAS FORMAS CANNICAS Y LA TABLA DE VERDAD Analizaremos la tabla de verdad de la funcin f 3 (A, B, C) = ABC + ABC + ABC + ABC = S m(2,3,6,7) y la de su complemento
Rengln

A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

ABC

ABC

ABC

ABC 0 0 0 0 0 0 0 1

f3 0 0 1 1 0 0 1 1

f3

0 1 2 3 4 5 6 7

0 0 1 0 0 0 0 0

0 0 0 0 0 0 1 0

0 0 0 1 0 0 0 0

1 1 0 0 1 1 0 0

Es fcil ver en la tabla que los renglones en los que la funcin vale 1 coinciden con los mintrminos que contiene la funcin. Aplicando este razonamiento a la funcin complemento, esta deber contener los mintrminos faltantes en la funcin original, es decir,
f 3 (A,B,C) = m(0,1,4,5)

Esto nos da un mtodo para convertir f3, ya que los mintrminos de f 3 son los maxtrminos de f3, es decir, f3(A,B,C) = M(0,1,4,5) Por otro lado, como la funcin constante 1 tiene una tabla de verdad con unos en todos sus renglones, se tiene que m(todos los posibles mintrminos) = 1 En forma similar, como la funcin constante 0 tiene una tabla de verdad con ceros en todos sus renglones, se tiene que M(todos los posibles mxtrminos) = 0

65

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

En la siguiente figura se resume la relacin entre la tabla de verdad de una funcin, su complemento y las formas cannicas (se ilustra para la funcin f3 del ejemplo anterior) f3(A,B,C) = m(2, 3, 6, 7) f 3 (A,B,C) = m(0, 1, 4, 5) Rengln A B C f3 f3 0 1 2 3 4 5 6 7 000 001 010 011 100 101 110 111 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 0 f3(A,B,C) = M(0, 1, 4, 5)
f 3 (A,B,C) = M(2, 3, 6, 7)

F En Resumen: Los mintrminos de una funcin coinciden con los renglones de la tabla de verdad
en donde la funcin vale 1, mientras que los maxtrminos coinciden con los renglones en donde la funcin vale 0 6.3.- PLANTEAMIENTO DE UN CIRCUITO LGICO A partir de los conceptos y definiciones anteriores ya estamos en condiciones de plantear algunos diseos sencillos de circuitos lgicos. Podemos ordenar el procedimiento para esto de acuerdo a los siguientes pasos: 1.2.3.4.Planteamiento de la funcin que debe hacer el circuito en una tabla de verdad. Obtencin de la funcin en lista de mintrminos o de maxtrminos. Simplificacin de la funcin lgica Implementacin mediante compuertas lgicas de la funcin simplificada

Ejemplo: Un jurado est formado por tres jueces A, B, C, cada juez emite su voto a favor oprimiendo un botn enfrente de l. Se desea construir un circuito que encienda una luz que indique si la mayor parte del jurado vot a favor y no la encienda en cualquier otro caso. Tabla de verdad Jueces ABC 000 001 010 011 100 101 110 111 La funcin que realiza lo deseado es L(A,B,C) = m(3,5,6,7) Usando lgebra booleana podemos simplificar la funcin como Luz L 0 0 0 1 0 1 1 1

66

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas


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

En la siguiente figura se muestra la implementacin usando puertas AND y OR A B L C

Como habr podido advertirse, en el procedimiento anterior, los nicos paso que no han sido completamente sistematizados son el 1 y el 3 (la simplificacin de la funcin). A continaucin se presenta un mtodo sistemtico para realizar este paso.

6.4..- MINIMIZACION DE FUNCIONES BOOLEANAS Como ya se ha visto, la simplificacin de funciones mediante el lgebra booleana puede ser una tarea difcil, ya que en el lgebra booleana no existe un procedimiento claro a seguir, uno debe buscar el camino para la simplificacin en base a la intuicin y la experiencia. Para realizar la simplificacin de funciones eficientemente, presentaremos un mtodo, llamado Mapas de Karnaugh, el cual es un mtodo grfico que proporciona una tcnica estndar y sistemtica en la reduccin manual de funciones booleanas. 6.4.1.- MAPAS DE KARNAUGH Los Mapas de Karnaugh (MK) no son ms que una extensin de los conceptos de tablas de verdad, diagramas de Venn y mintrminos. A continuacin se ilustrar la manera en que estos tres conceptos 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 o regiones correspondientes a los cuatro mintrminos A.B, AB, AB y AB , es decir, los mintrminos m0, m1, m2 y m3.

AB AB AB AB B A

mo m2 m3 m1 B

Como puede verse, Todo el diagrama de Venn se puede particionar en estas cuatro regiones independientes (no tienen puntos en comn) y cada regin est identificada por un mintrmino. Por otro lado, nada nos obliga a dibujar los conjuntos A y B redondos y el conjunto universo cuadrado,

67

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

una manera ms cmoda de representar el mismo diagrama con slo conjuntos rectangulares es como se muestra en la siguiente figura Universo

mo

m1

m2

m3

Sin embargo, la representacin anterior an se puede mejorar eliminando las letras m y observando que se puede tabular en forma horizontal la pertenencia o no pertenencia de una regin al conjunto A y en forma vertical a B como se muestra en la siguiente figura

A B 0
2 0

0
1

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

AB

AB 00 01 11 C 12 4 0 0
C

10
8 9

CD 00
D

00
0 1 3 2

01 11
4 5 7 6 12 13 15 14

10
8 9 11 10 C

13

01 11

10

Mapa de 3 variables

B Mapa de 4 variables

Como puede observarse, un mapa de 2 variables posee cuatro celdas (mintrminos), uno de 3 tiene 8, etc. de manera que un mapa de n variables poseer 2n celdas, sin embargo los mapas tienen limitaciones y resulta imprctico trabajar con mapas de ms de 5 variables como el que se muestra en la siguiente figura

68

Captulo 6 ABC 000 DE 0 00 01


E 1 3 2 B

Tcnicas de Reduccin de Funciones Lgicas


A B

001
4 5 7 6

011 010
12 13 15 14 8 9 11 10

ABC 100 DE 16 00 01 11 10
17 19 18

101
20 21 23 22

111
28 29 31 30

110
24 25 27 D 26

11 10

6.4.2.- REPRESENTACIN DE FUNCIONES EN MAPAS DE KARNAUGH Como habr podido advertirse, los Mapas de Karnaugh (M. K.) vienen siendo versiones modificadas de las tablas de verdad, ya que poseen una celda por cada mintrmino posible, as como una tabla de verdad posee un rengln por cada mintrmino posible. De manera que la representacin de funciones booleanas expresadas en forma cannica es directa, por ejemplo, consideremos la funcin siguiente f(A,B,C) = m(0,3,4,5,) Para representarla en un M. K., simplemente transcribimos la tabla de verdad de la funcin colocando unos en las celdas correspondientes a los mintrminos 0, 3 y 5, considerando que las celdas vacas tienen ceros:

AB C 0 1 1 0

00

01 2 3 6 7

11

10 4 5

1 1

Sin embargo, si la funcin no est escrita en forma cannica, podemos recurrir al hecho de que el M.K. no es ms que un diagrama de Venn, entonces, podemos ubicar los trminos producto como intersecciones de los conjuntos correspondientes. Ejemplo: Dibujar sobre un MK la funcin siguiente

f(A, B, C, D) = ABC + BC + A CD
Para el primer trmino localizamos en el M.K. las celdas que forman la interseccin de los conjuntos A,B y C y las marcamos con 1s en este caso corresponde a las celdas 12 y 13, en forma similar se procede para el segundo y tercer trminos, obteniendo el M.K. siguiente

69

Captulo 6 AB

Tcnicas de Reduccin de Funciones Lgicas


A

00 CD 0 00 01
D 1 3 2

01
4 5 7 6

11
12 13 15 14

10
8 9 11 10

ABC

1 1

BC

11 10

1 1

1
C

1
ACD

6.4.3.- SIMPLIFICACION DE FUNCIONES USANDO MAPAS DE KARNAUGH La simplificacin de funciones booleanas mediante Mapas de Karnaugh est basada en el concepto de adyacencia lgica.

O Dos mintrminos se dicen adyacentes (desde el punto de vista lgico) si difieren solamente en una
variable, por ejemplo, los siguientes pares de mintrminos para una funcin de las cuatro variables: A, B, C, D
m 11 = ABCD, m 10 = ABCD m 11 = ABCD, m 9 = ABCD m 9 = ABCD, m 14 = ABCD, ... etc

La propiedad ms interesante de los mintrminos adyacentes es que al sumarlos se simplifican en un trmino producto que no contiene la variable que cambia de uno a otro, por ello se le llama variable redundante; por ejemplo:
m 10 + m 11 = ABCD + ABCD = ABC(D + D) = ABC

En forma similar a los pares adyacentes tambin puede haber cuartetos de mintrminos adyacentes, cuando, de manera que al sumarlos se eliminen 2 variables, por ejemplo, los cuatro mintrminos:
m 10 = ABCD, m 11 = ABCD, m 14 = ABCD, m 15 = 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 eliminar 3, 4 variables, etc.

70

Captulo 6 O

Tcnicas de Reduccin de Funciones Lgicas

La principal propiedad de los mintrminos adyacentes es que al representarlos en un Mapa de Karnaugh forman un grupo de celdas que resultan adyacentes geomtricamente (es decir, resultan ser vecinos)

F Observacin.- En un Mapa de Karnaugh se considera que el todo el borde izquierdo es


adyacente con el derecho, as como el borde inferior lo es con el superior

De acuerdo con lo anterior, la clave para la simplificacin de funciones usando M.K. es la


bsqueda de grupos de celdas adyacentes entre los mintrminos de la funcin (los unos del mapa). De hecho el mtodo de simplificacin usando Mapas de Karnaugh se puede resumir en: 1) Formar los grupos de unos del mximo tamao posible (el nmero de celdas por grupo debe ser potencia de 2) . 2) Agrupar todos los unos del mapa usando el menor nmero posible de grupos. (Un uno puede ser usado tantas veces como sea necesario). A continuacin se dan varios ejemplos de simplificacin usando M.K., sin embargo, para dominar el mtodo no hay otro camino que relizar un buen nmero de ejercicios por uno mismo. Ejemplos: a).- Dada la funcin f(A,B,C,D) = m(1,2,4,6,9) el M.K. correspondiente es el que se muestra en la figura, en l se marcan los grupos formados para simplificar la funcin

00 CD 0 00 01
D 1 3 2

AB

ABD

01
4 5 7 6

11
12 13 15 14

10
8 9 BCD

1
C

11 10
ACD

11 10

B Para encontrar las expresiones denotadas en la figura para cada grupo en el mapa usamos su interpretacin como diagrama de Venn y expresamos los grupos en trminos de intersecciones de los conjuntos involucrados), de esta manera, obtenemos la funcin simplificada sumando las expresiones as obtenidas, es decir, f(A,B,C,D) = ACD + ABD + BCD b).- Simplificar la funcin f(A,B,C) = m(1,2,3,6). El M.K. correspondiente se muestra en la siguiente figura

71

Captulo 6 AB 00 C
0 1

Tcnicas de Reduccin de Funciones Lgicas


A

01
2 3

11
6 7

11
4 5 BC

0 1
AC

1 1

Entonces, la funcin simplificada queda f(A,B,C) = BC + AC

F Obsrvese que alguien con falta de experiencia podra haber comenzado agrupando las celdas 2
y 3 y posteriormente formar los grupos 2,6 y 1,3 obteniendo entonces 3 grupos y por lo tanto una funcin con tres trminos producto que no sera mnima.

Para evitar lo anterior los primeros mintrminos que se deben agrupar son los implicantes primos (IP) que se definen como aquellos mintrminos que no pueden ser agrupados mas que de una manera. Por ejemplo, en el problema anterior los mintrminos 6 y 1 son implicantes primos (IP) y deben ser los primeros en agruparse. En ese problema no se requieren ms de dos grupos porque con dos grupos quedan agrupados todos los IP. c).- f(A,B,C,D) = m(0,1,2,7,8,9,10,15)

00 CD 0 00 1 01
D 1 3 2

AB

01
4 5 7 6

11
12 13 15 14

10
8 9

1 1
BC

11 10

11 10

BCD C

1
BD

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

En este ejemplo los implicantes primos son el 7 y el 5. Podra pensarse que el 2 y el 10 tambin lo son, pero obsrvese que hay varias alternativas para agruparlos, por ello no lo son. d).- Simplificar la funcin f(A,B,C,D) = m(5,7-15). En este caso la notacin 7-15 significa que la funcin contiene los mintrminos consecutivos 7,8,9,10,11,12,13,14,15. el M.K. correspondiente se muestra a continuacin.

72

Captulo 6 AB

Tcnicas de Reduccin de Funciones Lgicas


A

00 CD 0 00 01
D 1 3 2

01
4 5 7 6

11
12 13 15 14

10
8 9 A

1 1

1 1

1 1
C

11 10

1 1

11 10

BD

La funcin 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)

ACDE

ABC 000 DE 0 00 01
E 1 3 2

A BE 8 9

001
4 5 7 6

011 010
12 13 15 14

ABC 100 DE 16 00 01 11 10
17 19 18

101
20 21 23 22

111
28 29 31 30

110
24 25 27 26 BE

1 1

1 1

1 1

1 1

1 1 1

1 1
D

11 10

11 10

1
C

CE

ACDE

Los grupos en cada mitad del mapa se pueden formar en forma idntica a los de un mapa de cuatro variables, pero ahora hay que considerar la posibilidad de ms adyacencias imaginando que la mitad izquierda (celdas del 0 al 15) del mapa est encimada sobre la mitad derecha (celdas del 16 al 31), de manera que las celdas que as quedan una sobre otra, son adyacentes. Esa es la razn por la cual los mintrminos (1,3,9,11,17,19,25,27) forman un solo grupo de 8. en forma similar tambin son un grupo de 8 los mintrminos (9,11,13,15,25,27,29,31) Finalmente , la funcin simplificada queda f(A,B,C,D,E) = BE + CE + ACD.E + ACDE

73

Captulo 6
6.4.4.- EL PROCEDIMIENTO DE DISEO

Tcnicas de Reduccin de Funciones Lgicas

Aunque en principio, al abordar el problema de diseo de un circuito podemos usar nuestra experiencia, intuicin, inventiva y sentido comn, todos estos elementos no nos garantizan una solucin ptima. Sin pretender coartar la creatividad e imaginacin del estudiante, se propone el siguiente Procedimiento de Diseo de Circuitos Lgicos: Primer paso.- Identificar en el enunciado del problema las variables involucradas en el diseo, asignarles un smbolo y representarlas en un Diagrama de Bloques, el cual es un bloque desconocido interiormente an, pero su exterior debe estar bien especificado, es decir, debe poseer un conjunto de entradas (variables independientes) y salidas (variables dependientes o funciones a disear). Segundo paso.- Interpretar en el enunciado las relaciones de dependencia lgica entre entradas y salidas y representarlas en una Tabla de Verdad. Este paso debe realizarse cuidadosamente, dado la ambigedad propia del lenguaje que puede llevar a relaciones lgicas equivocadas. En este paso no debe olvidarse la relacin directa de los conectivos gramaticales Y, O con las operaciones AND, OR respectivamente, as como la negacin gramatical con el complemento lgico (NOT). Sin embargo, hay que ser cuidadoso de las interpretaciones gramaticales de O inclusivo (OR) y O exclusivo (EXOR). Esto ciertamente ser ms sencillo si el enunciado lo elaboramos nosotros mismos a partir de un problema real, pues nosotros sabremos exactamente lo que queremos decir, Sin embargo, en la mayora de los casos abordados por un estudiante, los enunciados de los problemas 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 de salida Cuarto Paso.- Obtener las expresiones lgicas mnimas para cada variable de salida usando los mapas del paso anterior. Quinto paso.- Dibujar la implementacin con puertas lgicas procurando usar el mnimo de circuitos integrados.

En este paso hay que tener presente que una expresin lgica mnima NO garantiza una implementacin mnima en trminos de circuitos integrados. Para ello, se puede recurrir al uso de puertas lgicas de un slo tipo , ya que esta estrategia permite aprovechar todas las puertas lgicas de cada circuito integrado utilizado. Las puertas que permiten ser utilizadas de esta manera son las puertas NAND o NOR. Las primeras son adecuadas para formas SP y las segundas para formas PS.

A continuacin estos pasos se ilustrarn con un ejemplo. Ejemplo.- Disear un circuito para controlar el encendido y apagado de la lmpara de un jardn domstico, la cual deber encender siempre que sea de noche, o la iluminacin ambiental sea muy baja, a menos que se desee ahorrar energa. El indicador de horario nocturno es una seal (N) controlada por un reloj (N=1 indica que es de noche), El indicador de iluminacin ambiental es una seal L controlada por una fotocelda (L=1 indica que an hay luz ambiental) y el usuario utiliza un par de switches A,B para indicar si desea ahorrar energa, de manera que si ambos estn desactivados (AB=00) no se ahorrar energa, si slo uno de los dos se activa bloquear el encendido debido a L y, finalmente si ambos estn activados la luz del jardn no podr encenderse.

74

Captulo 6
1) Diagrama de bloques

Tcnicas de Reduccin de Funciones Lgicas

Solucin.- Procedemos de acuerdo al procedimiento planteado, paso a paso:

A B N L

Entradas

Circuito a Disear

F Salida

2) Tabla de Verdad
minterm

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

ABNL 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

F 1 0 1 1 0 0 1 1 0 0 1 1 0 0 0 0

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

00 NL 0 00 1 01
L 1 3 2

AB

ABL

01
4 5 7 6

11
12 13 15 14

10
8 9 11 10

AN

11 10

1 1

1 1
B

1
N

1
BN

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

75

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

5) Para obtener una implementacin con el mnimo de circuitos integrados, transformamos la expresin anterior por involucin y usando el teorema de DMorgan, para obtener F= ABL . AN . BN Con lo cual podemos implementar la funcin utilizando slo puertas NAND como se muestra en la siguiente figura

B N L

Esta implementacin se puede realizar con slo 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 especificar como responder el circuito o funcin lgica que se pretende implementar. Es decir, una funcin lgica puede valer 1 para ciertos mintrminos, cero para otros y los mintrminos restantes pueden ser opcionales.

Un mintrmino opcional es llamado condicin sin cuidado, ya que representa una condicin del circuito o funcin lgica enel que no importa como responda ste. Las condiciones sin cuidado se pueden deber a diversas situsciones que se pueden presentar en el diseo de un circuito o funcin lgica:

w Especificacin incompleta de la funcin w 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 tratadas como unos o como ceros, segn convenga. Ejemplo: Disear el circuito para generar la seal N del ejemplo anterior: Se cuenta con un reloj con salida BCD para indicar las horas, la seal N se deber activar cuando la hora sea mayor o igual que siete. Solucin.- Nuevamente aplicamos paso a paso el procedimiento de diseo: 1) Diagrama de bloques

76

Captulo 6
(MSB)

Tcnicas de Reduccin de Funciones Lgicas D C B A


(LSB)

Dato BCD

Circuito a Disear

F Salida

2) Tabla de Verdad.- Como el dato BCD slo puede tomar valores de 0 a 9 (00002 a 10012), los renglones de la tabla de verdad del 10 al 15 (del 10102 al 11112) nunca pueden ocurrir y por lo tanto, son condiciones sin cuidado que en este caso se representan con un asterisco como se muestra a continuacin
minterm

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

DCBA 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

N 0 0 0 0 0 0 0 1 1 1 * * * * * *

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

00 BA 0 00 01
A 1 3 2

DC

01
4 5 7 6

11
12

10
8

11 10

* 13 9 * 1 15 11 * * 14 10 * *
C

CBA

En este caso todas las condiciones sin cuidado conviene tomarlas como unos, ya que contribuyen a formar grupos ms grandes.

77

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

4) Funcin simplificada.- De acuerdo con el M.K. anterior, obtenemos N= D+CBA 5) Para usar slo puertas NAND, reescribimos la funcin como N= D . CBA Con lo cual la implementacin utilizando slo puertas NAND queda como se muestra en la siguiente figura

D N C B A Esta implementacin 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 diseo se circuitos lgicos utilizando solamente formas SP y los mintrminos de la tabla de verdad. Para realizar el diseo utilizando formas PS el procedimiento slo cambia en los pasos 4 y 5 como se ilustrar repitiendo el ltimo ejemplo para obtener una implementacin usando formas PS. Ejemplo.- Aplicar el procedimiento de diseo para el ejemplo anterior, para obtener una forma mnima PS. Solucin.- Los pasos 1, 2 y 3 son idnticos, de manera que slo se ilustrarn los pasos 4 y 5 4) Como la tabla de verdad es idntica, la funcin a disear es N(D,C,B,A) = M(0-6)*d(10-15), cuyo Mapa de Karnaugh tambin es idntico, sin embargo, se dibuja nuevamente para ilustrar la minimizacin de la funcin (slo que en esta ocasin se marcan los ceros y no los unos).

00 BA 0 00 0 01
A 1 3 2

DC

D+C

01
4

11
12

10
8

C+B

0
5 7 6

0 0 0

11 10

0
C

* 9 * 15 11 * * 14 10 * *
13 B+A

78

Captulo 6

Tcnicas de Reduccin de Funciones Lgicas

La funcin mnima es N(D,C,B,A) = (D + C)(B + A)(C + B )

F Obsrvese que la funcin obtenida NO es equivalente a la funcin en la forma SP, ya que las
condiciones sin cuidado fueron usadas de manera diferente en ambos casos Obsrvese que los grupos de celdas adyacentes se forman de igual manera que se hizo anteriormente con los unos del mapa, salvo que: 1.- Se agrupan los ceros en lugar de los unos 2.- Las expresiones obtenidas son trminos suma y no trminos producto 3.- Para obtener las variables que debern aparecer en la expresin correspondiente a cada grupo del mapa se procede igual que como se hizo para formas SP, slo que las variables se complementan (en lugar de X se obtiene X y viceversa). 5) Para realizar una implementacin con el menor nmero de circuitos integrados, reescribimos la funcin mnimizada usando doble negacin y el teorema de DMorgan para obtener F(D,C,B,A) =(D + C) + (B + A) + (C + B) La expresin anterior puede ser implementada utilizando solamente puertas NOR como se muestra en la siguiente figura

D C N B

A
En adelante se usarn principalmente formas SP, sin embargo, ocasionalmente es til tener en cuenta la alternativa de las formas PS que en ocasiones nos pueden llevar a implementaciones ms ptimas.

79