r61677

download r61677

of 19

Transcript of r61677

  • Tcnicas de Reduccin de Funciones Lgicas

    En este captulo se presentan las tcnicas tradicionales para la simplificacin de funcioneslgicas en forma manual, es decir, el uso de los Mapas de Karnaugh. Previo a la presentacin delos Mapas de Karnaugh a partir de Diagramas de Venn se introducen las definiciones demintrminos y maxtrminos, as como las Formas Cannicas PS y SP, terminologas que seusarn desde aqu hasta el final de este curso.

    6.1.- INTRODUCCIN

    La herramienta fundamental para la simplificacin de funciones booleanas es y seguir siendo ellgebra de Boole; sin embargo, como ya lo ha mostrado la experiencia, el lgebra de Boole tiene lassiguientes 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 mtodosistemtico y adems grfico, por lo cual es ms sencillo y poderoso para la simplificacin defunciones booleanas.

    Sin embargo, previamente a la presentacin del mtodo se requieren algunas definiciones que seusarn de aqu en adelante.

    6.2.- FORMAS CANNICAS

    O Trmino Producto.- Se llama trmino producto una expresin booleana que solamente incluyeoperaciones AND entre sus variables (afirmadas o negadas)

    Ejemplos de trminos producto:

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

    O Forma SP.- Una funcin booleana se dice que esta en la forma de suma de productos (SP) si estformada exclusivamente por la suma (OR) de trminos producto.

    Ejemplos de funciones en forma SP son:

    , etc.

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

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    61

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

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

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

    ABCD, ABCD, ABCD, etc.

    O Forma Cannica SP.- Si los trminos producto de una funcin booleana en la forma SP son todosmintrminos, se dice que est en la forma cannica SP.

    Ejemplos de funciones en forma cannica SP son:

    , etc.

    O Trmino Suma.- Se llama trmino suma a una expresin booleana que solamente incluyeoperaciones OR entre sus variables (afirmadas o negadas)

    Ejemplos de trminos suma:

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

    O Forma PS.- Una funcin booleana se dice que esta en la forma de producto de sumas (PS) si estformada exclusivamente por el producto (AND) de trminos suma.

    Ejemplos de funciones en forma PS son:

    , 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 todosmaxtrminos, se dice que est en la forma cannica PS.

    Ejemplos de funciones en forma cannica 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)

    @ Notacin

    Una manera de simplificar la escritura de las funciones en forma cannica consiste en representarsus trminos por nmeros bianrios, en base a la siguiente convencin

    10Variable negada

    01Variable afirmada

    MaxtrminoMintrmino

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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)

  • Por ejemplo, usando esta notacin la funcin 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 ms compacta: f3(A,B,C) = SS 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

    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 M0O en forma ms compacta: f7(A,B,C) = PP 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 maxtrminoscomo sigue. Tomemos como ejemplo el mintrmino m2 de la funcin f3(A,B,C) y obtengamos sucomplemento:

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

    Lo anterior se cumple para cualquier mintrmino, es decir, en general el complemento de unmintrmino 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 puedeseguir el siguiente procedimiento

    1) Escribir la expresin en forma SP2) A cada trmino producto multiplicarlo por 1 escrito en trminos de la variable faltante.Hacer esto tantas veces como variables falten al trmino producto3) 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 continuacinse escribe el segundo paso:

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    63

  • 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 trminos semejantes

    f1(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 puedeseguir el siguiente procedimiento

    1) Escribir la expresin en forma PS2) A cada trmino suma sumarle 0 escrito en trminos de la variable faltante. Hacer estotantas veces como variables falten al trmino suma3) Aplicar distributividad de la suma sobre el producto4) 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 continuacinse 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 trminos 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 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 formacannica se puede utilizar la relacin existente entre mintrminos y maxtrminos 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

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    64

  • f1(A,B,C, D) = m0.m2.m6.m8.m10.m11De la relacin entre mintrminos y maxtrminos

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

    f1(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,

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

    6.2.3.- RELACIN ENTRE LAS FORMAS CANNICAS Y LA TABLA DE VERDAD

    Analizaremos la tabla de verdad de la funcin = 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 CRengln

    Es fcil ver en la tabla que los renglones en los que la funcin vale 1 coinciden con los mintrminosque contiene la funcin. Aplicando este razonamiento a la funcin complemento, esta debercontener los mintrminos faltantes en la funcin original, es decir,

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

    Esto nos da un mtodo para convertir f3, ya que los mintrminos de son los maxtrminos de f3,f3es decir,

    f3(A,B,C) = P M(0,1,4,5)

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

    S m(todos los posibles mintrminos) = 1

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

    P M(todos los posibles mxtrminos) = 0

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    65

  • En la siguiente figura se resume la relacin entre la tabla de verdad de una funcin, sucomplemento y las formas cannicas (se ilustra para la funcin f3 del ejemplo anterior)

    f3(A,B,C) = S m(2, 3, 6, 7) (A,B,C) = S 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 CRengln

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

    F En Resumen: Los mintrminos de una funcin coinciden con los renglones de la tabla de verdaden donde la funcin vale 1, mientras que los maxtrminos coinciden con los renglones en dondela funcin vale 0

    6.3.- PLANTEAMIENTO DE UN CIRCUITO LGICO

    A partir de los conceptos y definiciones anteriores ya estamos en condiciones de plantear algunosdiseos sencillos de circuitos lgicos. Podemos ordenar el procedimiento para esto de acuerdo a lossiguientes pasos:

    1.- Planteamiento de la funcin que debe hacer el circuito en una tabla de verdad.2.- Obtencin de la funcin en lista de mintrminos o de maxtrminos.3.- Simplificacin de la funcin lgica4.- 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 oprimiendoun botn 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 funcin que realiza lo deseado es

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

    Usando lgebra booleana podemos simplificar la funcin como

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    66

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

    En la siguiente figura se muestra la implementacin 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 simplificacin de la funcin). A continaucin sepresenta 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 unatarea difcil, ya que en el lgebra booleana no existe un procedimiento claro a seguir, uno debebuscar el camino para la simplificacin en base a la intuicin y la experiencia. Para realizar lasimplificacin 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 reduccinmanual 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 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 mintrminos , es decir, los mintrminosA.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 comn) y cada regin est identificada por un mintrmino. Porotro lado, nada nos obliga a dibujar los conjuntos A y B redondos y el conjunto universo cuadrado,

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    67

    A

    B

    CL

    ABAB AB AB

    A B

    ABAB AB AB

    A B A B

    mo

    m1m2 m3

  • una manera ms cmoda de representar el mismo diagrama con slo conjuntos rectangulares escomo se muestra en la siguiente figura

    Sin embargo, la representacin anterior an se puede mejorar eliminando las letras m yobservando que se puede tabular en forma horizontal la pertenencia o no pertenencia de una reginal 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 (mintrminos), uno de 3 tiene8, etc. de manera que un mapa de n variables poseer 2n celdas, sin embargo los mapas tienenlimitaciones y resulta imprctico trabajar con mapas de ms de 5 variables como el que se muestraen la siguiente figura

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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

  • 6.4.2.- REPRESENTACIN 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 mintrmino posible, ascomo una tabla de verdad posee un rengln por cada mintrmino posible. De manera que larepresentacin de funciones booleanas expresadas en forma cannica es directa, por ejemplo,consideremos la funcin siguiente

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

    Para representarla en un M. K., simplemente transcribimos la tabla de verdad de la funcincolocando unos en las celdas correspondientes a los mintrminos 0, 3 y 5, considerando que lasceldas vacas tienen ceros:

    Sin embargo, si la funcin no est escrita en forma cannica, podemos recurrir al hecho de que elM.K. no es ms que un diagrama de Venn, entonces, podemos ubicar los trminos producto comointersecciones 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 conjuntosA,B y y las marcamos con 1s en este caso corresponde a las celdas 12 y 13, en forma similar seCprocede para el segundo y tercer trminos, obteniendo el M.K. siguiente

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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

  • 6.4.3.- SIMPLIFICACION DE FUNCIONES USANDO MAPAS DE KARNAUGH

    La simplificacin de funciones booleanas mediante Mapas de Karnaugh est basada en el conceptode adyacencia lgica.

    O Dos mintrminos se dicen adyacentes (desde el punto de vista lgico) si difieren solamente en unavariable, por ejemplo, los siguientes pares de mintrminos para una funcin de las cuatro variables:A, B, C, D

    m11 = ABCD, m10 = ABCD

    m11 = ABCD, m9 = ABCD

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

    La propiedad ms interesante de los mintrminos adyacentes es que al sumarlos se simplifican enun trmino 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 tambin puede haber cuartetos de mintrminos adyacentes,cuando, de manera que al sumarlos se eliminen 2 variables, por ejemplo, los cuatro mintrminos:

    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.

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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

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

    F Observacin.- 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 simplificacin de funciones usando M.K. es labsqueda de grupos de celdas adyacentes entre los mintrminos de la funcin (los unos delmapa). De hecho el mtodo de simplificacin usando Mapas de Karnaugh se puede resumiren:

    1) Formar los grupos de unos del mximo tamao posible (el nmero de celdas por grupodebe ser potencia de 2) .

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

    A continuacin se dan varios ejemplos de simplificacin usando M.K., sin embargo, para dominar elmtodo no hay otro camino que relizar un buen nmero de ejercicios por uno mismo.

    Ejemplos:

    a).- Dada la funcin f(A,B,C,D) = S 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 funcin

    Para encontrar las expresiones denotadas en la figura para cada grupo en el mapa usamos suinterpretacin como diagrama de Venn y expresamos los grupos en trminos de intersecciones delos conjuntos involucrados), de esta manera, obtenemos la funcin simplificada sumando lasexpresiones as obtenidas, es decir,

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

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

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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

  • 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 2y 3 y posteriormente formar los grupos 2,6 y 1,3 obteniendo entonces 3 grupos y por lo tantouna funcin con tres trminos producto que no sera mnima.

    O 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 unamanera.

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

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

    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 loson, pero obsrvese que hay varias alternativas para agruparlos, por ello no lo son.

    d).- Simplificar la funcin f(A,B,C,D) = S m(5,7-15). En este caso la notacin 7-15 significa que lafuncin contiene los mintrminos consecutivos 7,8,9,10,11,12,13,14,15. el M.K. correspondientese muestra a continuacin.

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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

  • 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) = S 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 idntica a los de un mapa de cuatrovariables, pero ahora hay que considerar la posibilidad de ms 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 razn por la cual los mintrminos (1,3,9,11,17,19,25,27) forman un solo grupo de 8. enforma 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

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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

  • 6.4.4.- EL PROCEDIMIENTO DE DISEO

    Aunque en principio, al abordar el problema de diseo de un circuito podemos usar nuestraexperiencia, intuicin, inventiva y sentido comn, todos estos elementos no nos garantizan unasolucin ptima. Sin pretender coartar la creatividad e imaginacin del estudiante, se propone elsiguiente 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 desconocidointeriormente an, pero su exterior debe estar bien especificado, es decir, debe poseer un conjuntode entradas (variables independientes) y salidas (variables dependientes o funciones a disear).

    Segundo paso.- Interpretar en el enunciado las relaciones de dependencia lgica entre entradas ysalidas y representarlas en una Tabla de Verdad. Este paso debe realizarse cuidadosamente, dado laambigedad 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 lasoperaciones 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 nosotrosmismos 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 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 lgicas mnimas para cada variable de salida usando losmapas del paso anterior.

    Quinto paso.- Dibujar la implementacin con puertas lgicas procurando usar el mnimo de circuitosintegrados.

    F En este paso hay que tener presente que una expresin lgica mnima NO garantiza unaimplementacin mnima en trminos de circuitos integrados. Para ello, se puede recurrir al usode puertas lgicas de un slo tipo , ya que esta estrategia permite aprovechar todas las puertaslgicas 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 continuacin estos pasos se ilustrarn con un ejemplo.

    Ejemplo.- Disear un circuito para controlar el encendido y apagado de la lmpara de un jardndomstico, la cual deber encender siempre que sea de noche, o la iluminacin ambiental sea muybaja, 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 denoche), El indicador de iluminacin ambiental es una seal L controlada por una fotocelda (L=1indica que an hay luz ambiental) y el usuario utiliza un par de switches A,B para indicar si deseaahorrar energa, de manera que si ambos estn desactivados (AB=00) no se ahorrar energa, sislo uno de los dos se activa bloquear el encendido debido a L y, finalmente si ambos estnactivados la luz del jardn no podr encenderse.

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    74

  • Solucin.- 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)= S m(0,2,3,6,7,10,11)

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

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    75

    Entr

    adas

    Salida

    ABN

    L

    FCircuito

    a

    Disear

    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

  • 5) Para obtener una implementacin con el mnimo de circuitos integrados, transformamos laexpresin anterior por involucin y usando el teorema de DMorgan, para obtener

    F= ABL . AN . BNCon lo cual podemos implementar la funcin utilizando slo puertas NAND como se muestra en lasiguiente figura

    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 especificarcomo responder el circuito o funcin lgica que se pretende implementar. Es decir, una funcinlgica puede valer 1 para ciertos mintrminos, cero para otros y los mintrminos restantes puedenser opcionales.

    O Un mintrmino opcional es llamado condicin sin cuidado, ya que representa una condicin delcircuito 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 eldiseo de un circuito o funcin lgica:

    w Especificacin incompleta de la funcinw 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, segn convenga.

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

    Solucin.- Nuevamente aplicamos paso a paso el procedimiento de diseo:

    1) Diagrama de bloques

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    76

    A

    B

    N

    L

    F

  • 2) Tabla de Verdad.- Como el dato BCD slo 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 continuacin

    *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)= S 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 ms grandes.

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    77

    SalidaDato

    BC

    D DCB

    A

    FCircuito

    a

    Disear

    (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

  • 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 siguientefigura

    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 utilizandosolamente formas SP y los mintrminos de la tabla de verdad. Para realizar el diseo utilizandoformas PS el procedimiento slo cambia en los pasos 4 y 5 como se ilustrar repitiendo el ltimoejemplo para obtener una implementacin usando formas PS.

    Ejemplo.- Aplicar el procedimiento de diseo para el ejemplo anterior, para obtener una formamnima 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) = P M(0-6)*d(10-15),cuyo Mapa de Karnaugh tambin es idntico, sin embargo, se dibuja nuevamente para ilustrar laminimizacin de la funcin (slo que en esta ocasin se marcan los ceros y no los unos).

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    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

  • 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 lascondiciones sin cuidado fueron usadas de manera diferente en ambos casos

    Obsrvese 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 trminos suma y no trminos producto3.- 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 variablesse complementan (en lugar de X se obtiene y viceversa).X

    5) Para realizar una implementacin con el menor nmero de circuitos integrados, reescribimos lafuncin 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 muestraen la siguiente figura

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

    Captulo 6 Tcnicas de Reduccin de Funciones Lgicas

    79

    D

    C

    B

    A

    N